Просмотр исходного кода

台账分解,更新后,显示未成功更新数据

MaiXinRong 3 лет назад
Родитель
Сommit
edade1b1ef

+ 4 - 2
app/lib/sum_load.js

@@ -124,7 +124,7 @@ class loadLedgerGclTree extends loadGclBaseTree {
     }
 
     getUpdateData() {
-        const update = {id: this.parent.id, is_leaf: false};
+        const update = [{id: this.parent.id, ledger_id: this.parent.ledger_id, is_leaf: 0}];
         const create = [];
         for (const i of this.items) {
             create.push({
@@ -196,12 +196,13 @@ class updateReviseGclTree extends loadGclBaseTree {
 
                 if (bn.sjcl_qty < bn.org_sjcl_qty || bn.qtcl_qty < bn.org_qtcl_qty || bn.sgfh_qty < bn.org_sgfh_qty) {
                     result.errors.push({
+                        ledger_id: bn.ledger_id,
                         b_code: bn.b_code, name: bn.name, unit: bn.unit,
                         sgfh_qty: bn.sgfh_qty, sjcl_qty: bn.sjcl_qty, qtcl_qty: bn.qtcl_qty, qty: bn.quantity, type: 'less',
                     });
                 } else if (bn.sjcl_qty !== bn.org_sjcl_qty || bn.qtcl_qty !== bn.org_qtcl_qty || bn.sgfh_qty !== bn.org_sgfh_qty) {
                     result.update.push({
-                        id: bn.id, sgfh_qty: bn.sgfh_qty, sjcl_qty: bn.sjcl_qty, qtcl_qty: bn.qtcl_qty, qty: bn.quantity
+                        id: bn.id, sgfh_qty: bn.sgfh_qty, sjcl_qty: bn.sjcl_qty, qtcl_qty: bn.qtcl_qty, quantity: bn.quantity
                     })
                 }
             }
@@ -290,6 +291,7 @@ class gatherStageGclTree extends loadGclBaseTree {
             if (bn.change_detail && bn.change_detail.length > 0) {
                 for (const cd of bn.change_detail) {
                     result.errors.push({
+                        ledger_id: bn.ledger_id,
                         b_code: bn.b_code, name: bn.name, unit: bn.unit,
                         c_code: cd.c_code, qty: cd.qty, type: 'qc',
                     });

+ 39 - 54
app/public/js/revise.js

@@ -93,6 +93,17 @@ $(document).ready(() => {
             if (posSpread) posSpread.refresh();
         },
     });
+    const sumLoadMiss = $.sumLoadMiss({
+        tabSelector: '#sum-load-miss-tab',
+        selector: '#sum-load-miss',
+        relaSpread: billsSpread,
+        storeKey: 'revise-slm-' + window.location.pathname.split('/')[2] + '-' + window.location.pathname.split('/')[4],
+        id: 'revise-slm',
+        afterShow: function () {
+            billsSpread.refresh();
+            if (posSpread) posSpread.refresh();
+        },
+    });
 
     // 初始化 节点树结构
     const treeSetting = {
@@ -1264,6 +1275,12 @@ $(document).ready(() => {
                 const refreshNode = billsTree.loadPostData(result);
                 billsTreeSpreadObj.refreshTree(billsSheet, refreshNode);
                 billsTreeSpreadObj.refreshOperationValid(billsSheet);
+                if (result.sumLoadHis.errors.length > 0) {
+                    sumLoadMiss.loadMissData(result.sumLoadHis.errors);
+                    sumLoadMiss.show();
+                } else {
+                    sumLoadMiss.clearMissData();
+                }
             }
         });
         billsContextMenuOptions.items.importGclBills2Xmj = {
@@ -2305,30 +2322,15 @@ $(document).ready(() => {
         select: '#revise-right-spr',
         callback: function () {
             billsSpread.refresh();
-            if (posSpread) {
-                posSpread.refresh();
-            }
-            if (stdXmj) {
-                stdXmj.spread.refresh();
-            }
-            if (stdGcl) {
-                stdGcl.spread.refresh();
-            }
-            if (dealBills) {
-                dealBills.spread.refresh();
-            }
-            if (bgBills) {
-                bgBills.spread.refresh();
-            }
-            if (searchLedger) {
-                searchLedger.spread.refresh();
-            }
-            if (errorList) {
-                errorList.spread.refresh();
-            }
-            if (checkList) {
-                checkList.spread.refresh();
-            }
+            if (posSpread) posSpread.refresh();
+            if (stdXmj) stdXmj.spread.refresh();
+            if (stdGcl) stdGcl.spread.refresh();
+            if (dealBills) dealBills.spread.refresh();
+            if (bgBills) bgBills.spread.refresh();
+            if (searchLedger) searchLedger.spread.refresh();
+            if (errorList) errorList.spread.refresh();
+            if (checkList) checkList.spread.refresh();
+            if (sumLoadMiss) sumLoadMiss.spread.refresh();
         }
     });
     $.subMenu({
@@ -2346,30 +2348,15 @@ $(document).ready(() => {
             }
             autoFlashHeight();
             billsSpread.refresh();
-            if (posSpread) {
-                posSpread.refresh();
-            }
-            if (stdXmj) {
-                stdXmj.spread.refresh();
-            }
-            if (stdGcl) {
-                stdGcl.spread.refresh();
-            }
-            if (dealBills) {
-                dealBills.spread.refresh();
-            }
-            if (bgBills) {
-                bgBills.spread.refresh();
-            }
-            if (searchLedger) {
-                searchLedger.spread.refresh();
-            }
-            if (errorList) {
-                errorList.spread.refresh();
-            }
-            if (checkList) {
-                checkList.spread.refresh();
-            }
+            if (posSpread) posSpread.refresh();
+            if (stdXmj) stdXmj.spread.refresh();
+            if (stdGcl) stdGcl.spread.refresh();
+            if (dealBills) dealBills.spread.refresh();
+            if (bgBills) bgBills.spread.refresh();
+            if (searchLedger) searchLedger.spread.refresh();
+            if (errorList) errorList.spread.refresh();
+            if (checkList) checkList.spread.refresh();
+            if (sumLoadMiss) sumLoadMiss.spread.refresh();
         }
     });
 
@@ -2377,9 +2364,7 @@ $(document).ready(() => {
     $('#xd-content').addClass('active');
     showSideTools(true);
     billsSpread.refresh();
-    if (posSpread) {
-        posSpread.refresh();
-    }
+    if (posSpread) posSpread.refresh();
 
     const stdLibCellDoubleClick = function (e, info) {
         const stdSheet = info.sheet;
@@ -2552,6 +2537,8 @@ $(document).ready(() => {
                 errorList.spread.refresh();
             } else if (tab.attr('content') === '#check-list') {
                 checkList.spread.refresh();
+            } else if (tab.attr('content') === '#sum-load-miss') {
+                sumLoadMiss.spread.refresh();
             }
         }
         else {// 收起工具栏
@@ -2560,9 +2547,7 @@ $(document).ready(() => {
             showSideTools(tab.hasClass('active'));
         }
         billsSpread.refresh();
-        if (posSpread) {
-            posSpread.refresh();
-        }
+        if (posSpread) posSpread.refresh();
     });
 
     if (!readOnly) {

+ 1 - 1
app/public/js/shares/cs_tools.js

@@ -944,7 +944,7 @@ const showSelectTab = function(select, spread, afterShow) {
                     {
                         title: '类型', field: 'type', width: 100, getValue: function (x) {
                             switch (x.type) {
-                                case 'less': return '数量变';
+                                case 'less': return '数量变';
                                 case 'miss': return '找不到清单';
                                 case 'qc': return '变更';
                                 case 'miss-qc': return '变更(找不到清单)';

+ 1 - 1
app/public/js/shares/export_excel.js

@@ -35,7 +35,7 @@ const SpreadExcelObj = (function() {
     const exportSimpleXlsxSheet = function (setting, data, file) {
         const div = _createHideSpread();
 
-        const spread = SpreadJsObj.createNewSpread(div);
+        const spread = SpreadJsObj.createNewSpread(div, true);
         const sheet = spread.getActiveSheet();
 
         SpreadJsObj.beginMassOperation(sheet);

+ 2 - 1
app/public/js/spreadjs_rela/spreadjs_zh.js

@@ -74,8 +74,9 @@ const SpreadJsObj = {
      * @param obj 用于创建spreadjs的Dom元素
      * @returns {GC.Spread.Sheets.Workbook}
      */
-    createNewSpread: function (obj) {
+    createNewSpread: function (obj, hidden) {
         const spread = new spreadNS.Workbook(obj, {sheetCount: 1});
+        if (hidden) return spread;
         spread.options.tabStripVisible = false;
         spread.options.scrollbarMaxAlign = true;
         spread.options.cutCopyIndicatorVisible = false;

+ 2 - 2
app/service/ledger.js

@@ -778,8 +778,8 @@ module.exports = app => {
             try {
                 this._cacheMaxLid(this.ctx.tender.id, loadTree.keyNodeId);
                 await this.ctx.service.sumLoadHistory.saveLedgerHistory(this.ctx.tender.id, lid, tenders);
-                await conn.update(this.tableName, result.update);
-                await conn.insert(this.tableName, result.create);
+                if (result.update.length > 0) await conn.updateRows(this.tableName, result.update);
+                if (result.create.length > 0) await conn.insert(this.tableName, result.create);
                 await conn.commit();
                 return result;
             } catch (err) {

+ 1 - 1
app/service/sum_load_history.js

@@ -67,7 +67,7 @@ module.exports = app => {
                 tenders: JSON.stringify(tenders), errors: errors ? JSON.stringify(errors) : '',
             };
             await this.db.insert(this.tableName, data);
-            data.tenders = tender;
+            data.tenders = tenders;
             data.errors = errors;
             return data;
         }

+ 5 - 0
app/view/revise/info.ejs

@@ -183,6 +183,8 @@
                     </div>
                     <div id="check-list" class="tab-pane">
                     </div>
+                    <div id="sum-load-miss" class="tab-pane tab-select-show">
+                    </div>
                 </div>
             </div>
         </div>
@@ -214,6 +216,9 @@
                 <li class="nav-item">
                     <a class="nav-link" content="#check-list" id="check-list-tab" href="javascript: void(0);" style="display: none;">数据检查</a>
                 </li>
+                <li class="nav-item">
+                    <a class="nav-link" content="#sum-load-miss" id="sum-load-miss-tab" href="javascript: void(0);" style="display: none;">导入信息</a>
+                </li>
             </ul>
         </div>
     </div>