diff --git a/2019-12-31/rxlsx/confirmation-201912270900(1).XLSX b/2019-12-31/rxlsx/confirmation-201912270900(1).XLSX
index 3fe8c490a4c0ce75524a2b80605eb2a155cbeb12..68df4c5f9f1ea4532a20c4dbe6340e5bd2d12621 100644
Binary files a/2019-12-31/rxlsx/confirmation-201912270900(1).XLSX and b/2019-12-31/rxlsx/confirmation-201912270900(1).XLSX differ
diff --git a/2019-12-31/scott/config.json b/2019-12-31/scott/config.json
index 24a6052fff87c220f47a1a3978f85a2f86aa7fd6..61b2105e3ae02136a9b35bad91987c1684af7b55 100644
--- a/2019-12-31/scott/config.json
+++ b/2019-12-31/scott/config.json
@@ -1 +1 @@
-{"dirPath":"../xlsx","isUseing":false,"rdir":"../rxlsx","dbconfig":{"database_type":"pg","database_host":"139.196.104.13:5433","database_name":"PMO_TRAINING","database_user":"toplinker","database_pwd":"TopLinker0510"},"dataKeys":{"135aa36437beb6571531ca8e898ad57a":{"name":"Order\n生管投料单号","dbkey":"order_no"},"a1deefe94c73d05d2a3b247c23362042":{"name":"Confirmation\n总数量","dbkey":"confirmation"},"c46b4eb1d67a08b863072b33b646a810":{"name":"Plant\n厂别","dbkey":"plant"},"e5018abee57b7f610ef8bb4d9eecc112":{"name":"Material\n批号","dbkey":"material"},"f19e926ffab820b96d5a6aabf9aae616":{"name":"Material Description\n批次说明","dbkey":"material_description"},"7e51e12322207097a84891f9d7445ad4":{"name":"Posting Date\n生产时间","dbkey":"posting_date"},"8dba6faf3484a91f3b3940bb2e9ea459":{"name":"Confirmation Entry Time\n确认时间","dbkey":"confirmation_entry_time"},"ecfc2dffe568c10a67dbc6d3724cfde2":{"name":"Activity","dbkey":"activity"},"657a1d49f3e92290e56b692ff58a0a2d":{"name":"Work Center\n生产站别","dbkey":"work_center"},"62f5f57f24ea1d0bc12aa535d6add05d":{"name":"Confirmed Yield (GMEIN)","dbkey":"confirmed_yield"},"7c8590875b72ce8eca3c92f76b2c451b":{"name":"Base Unit of Measure (=GMEIN)","dbkey":"base_unit"},"37c9b123cc9f488d3f7f8480146795e9":{"name":"Confirmed scrap (MEINH)\n报废数量","dbkey":"confirmed_scrap"},"91b8b2e603be16c0a94658f0ced49c0b":{"name":"Reason for Variance\n报废代码","dbkey":"reason_for_variance"},"55979da7be6e74a5ce14bd81cd31028d":{"name":"Rework\n重工数量","dbkey":"rework"},"e820bdb5f699f28fb15c5d5e759f164b":{"name":"Confirmation text","dbkey":"confirmation_text"},"da01091b1f5ddb363d498e844449a961":{"name":"Entered by User","dbkey":"entered_by_user"},"664152bb1a151874f332b55ec47bc54d":{"name":"Ind.Final Confirmation","dbkey":"ind_final_confirmation"},"196c6ed505a0dabe34f0aed4e2800535":{"name":"Milestone confirmed","dbkey":"milestone_confirmed"},"0b9bf2967b86c25513ff839bcf3eab83":{"name":"Ind. delete doc.","dbkey":"ind_delete_doc"},"attr_data":{"95ece258f033995937cbb19bef459b59":{"name":"yalie","dbkey":"yalie_95ece258f0"}}}}
\ No newline at end of file
+{"dirPath":"../xlsx","isUseing":false,"rdir":"../rxlsx","dbconfig":{"database_type":"pg","database_host":"139.196.104.13:5433","database_name":"PMO_TRAINING","database_user":"toplinker","database_pwd":"TopLinker0510"},"dataKeys":{"135aa36437beb6571531ca8e898ad57a":{"name":"Order\n生管投料单号","dbkey":"order_no"},"a1deefe94c73d05d2a3b247c23362042":{"name":"Confirmation\n总数量","dbkey":"confirmation"},"c46b4eb1d67a08b863072b33b646a810":{"name":"Plant\n厂别","dbkey":"plant"},"e5018abee57b7f610ef8bb4d9eecc112":{"name":"Material\n批号","dbkey":"material"},"f19e926ffab820b96d5a6aabf9aae616":{"name":"Material Description\n批次说明","dbkey":"material_description"},"7e51e12322207097a84891f9d7445ad4":{"name":"Posting Date\n生产时间","dbkey":"posting_date"},"8dba6faf3484a91f3b3940bb2e9ea459":{"name":"Confirmation Entry Time\n确认时间","dbkey":"confirmation_entry_time"},"ecfc2dffe568c10a67dbc6d3724cfde2":{"name":"Activity","dbkey":"activity"},"657a1d49f3e92290e56b692ff58a0a2d":{"name":"Work Center\n生产站别","dbkey":"work_center"},"62f5f57f24ea1d0bc12aa535d6add05d":{"name":"Confirmed Yield (GMEIN)","dbkey":"confirmed_yield"},"7c8590875b72ce8eca3c92f76b2c451b":{"name":"Base Unit of Measure (=GMEIN)","dbkey":"base_unit"},"37c9b123cc9f488d3f7f8480146795e9":{"name":"Confirmed scrap (MEINH)\n报废数量","dbkey":"confirmed_scrap"},"91b8b2e603be16c0a94658f0ced49c0b":{"name":"Reason for Variance\n报废代码","dbkey":"reason_for_variance"},"55979da7be6e74a5ce14bd81cd31028d":{"name":"Rework\n重工数量","dbkey":"rework"},"e820bdb5f699f28fb15c5d5e759f164b":{"name":"Confirmation text","dbkey":"confirmation_text"},"da01091b1f5ddb363d498e844449a961":{"name":"Entered by User","dbkey":"entered_by_user"},"664152bb1a151874f332b55ec47bc54d":{"name":"Ind.Final Confirmation","dbkey":"ind_final_confirmation"},"196c6ed505a0dabe34f0aed4e2800535":{"name":"Milestone confirmed","dbkey":"milestone_confirmed"},"0b9bf2967b86c25513ff839bcf3eab83":{"name":"Ind. delete doc.","dbkey":"ind_delete_doc"},"attr_data":{}}}
\ No newline at end of file
diff --git a/2019-12-31/scott/index.js b/2019-12-31/scott/index.js
index b0e8b373577a540cef53a5bee4579878e41ba539..d5cda1df1df692f4a9632a48d388ab880003f842 100644
--- a/2019-12-31/scott/index.js
+++ b/2019-12-31/scott/index.js
@@ -118,15 +118,15 @@ Main.prototype.paytionType = function(props){  // 处理数据
     if(!dbDatas){return}
     console.log("数据库的数据数量:" + dbDatas.length)
     if(this.newkeys.length === 0){ // 不存在新的字段 只要新增就行
+        // console.log(this.query.deleteRow({
+        //     table:'sec_production_order_confirmation_2',
+        //     where: ["id >= 0"]
+        // }))   // 删除所有数据
         console.log("插入操作");
         var res = this.filterOldData(props.datalist,dbDatas)  // 数据过滤
         var newData = res.newData // 获取要插入的数据
         console.log("新的数据:"+newData.length);
         console.log(newData[0]);
-        // console.log(this.query.deleteRow({
-        //     table:'sec_production_order_confirmation_2',
-        //     where: ["id >= 0"]
-        // }))   // 删除所有数据
         if(newData.length === 0) {return}
         this.insertAny(newData)  // 插入数据库操作
     } else {  // 对旧的数据执行更新操作 对新的数据执行添加
@@ -205,17 +205,22 @@ Main.prototype.filterOldData = function (datas,dbdatas, type){
             var updateData = {}
             if(type === "newkey"){
                 updateData["attr_data"] = v["attr_data"]
-                // this.UpdateKeys({"attr_data":},dbdatas[dbI.indexOf(dataI)]["id"]) // æ›´æ–°
             }
             // 判断老数据是否更新了
             for(var key in v){
                 if(key==="attr_data"){
-                    if(JSON.stringify(v[key]) !== JSON.stringify(dbdatas[dbI.indexOf(dataI)][key])){
-                    updateData["attr_data"] = v["attr_data"]
-                }
+                    var tempflag = false
+                    for(var tempdbkey in dbdatas[dbI.indexOf(dataI)][key]){
+                        if(v[key][tempdbkey] && dbdatas[dbI.indexOf(dataI)][key][tempdbkey] != v[key][tempdbkey]){
+                            tempflag = true
+                        }
+                    }
+                    if(tempflag){
+                        updateData["attr_data"] = v["attr_data"]
+                    }
                 } else {
                     if(v[key] != dbdatas[dbI.indexOf(dataI)][key]) {
-                        updateData[key] = v[key]
+                    updateData[key] = v[key]
                     }
                 }