Ver código fonte

Merge branch 'dev' into uat

MaiXinRong 3 anos atrás
pai
commit
113dfcfc73

+ 2 - 1
app/public/js/material.js

@@ -821,7 +821,6 @@ $(document).ready(() => {
             // SpreadJsObj.resetFieldReadOnly(materialSpread.getActiveSheet(), 'msg_spread', 'm_spread', 'm_tp', 'pre_tp', readOnly);
         }
     };
-    materialSpreadObj.refreshActn();
     materialSpread.bind(spreadNS.Events.SelectionChanged, materialSpreadObj.selectionChanged);
     materialSpread.bind(spreadNS.Events.ClipboardPasted, materialSpreadObj.clipboardPasted);
     SpreadJsObj.addDeleteBind(materialSpread, materialSpreadObj.deletePress);
@@ -829,6 +828,7 @@ $(document).ready(() => {
     materialSpread.bind(spreadNS.Events.ButtonClicked, materialSpreadObj.buttonClicked);
     const sheet = materialSpread.getActiveSheet();
     sheet.suspendPaint();
+    // materialSpreadObj.refreshActn();
     // const basic_range = sheet.getRange(-1, 8, -1, 1);
     // basic_range.cellType(new DatePickerCellType());
     // basic_range.formatter("yyyy-MM-dd");
@@ -1156,6 +1156,7 @@ $(document).ready(() => {
     SpreadJsObj.initSheet(materialSpread.getActiveSheet(), materialSpreadSetting);
     materialSpreadObj.getMaterialBillsData();
     SpreadJsObj.loadSheetData(materialSpread.getActiveSheet(), SpreadJsObj.DataType.Data, materialBillsData);
+    materialSpreadObj.refreshActn();
 
     materialMonthSpread.bind(spreadNS.Events.ClipboardPasted, materialMonthSpreadObj.clipboardPasted);
     SpreadJsObj.addDeleteBind(materialMonthSpread, materialMonthSpreadObj.deletePress);

+ 1 - 1
app/service/material_bills.js

@@ -83,7 +83,7 @@ module.exports = app => {
             if (!this.ctx.tender || !this.ctx.material) {
                 throw '数据错误';
             }
-            const newOrder = order ? parseInt(order) + 1 : await this._getMaxOrder(this.ctx.tender.id);
+            const newOrder = this._.isNumber(order) ? parseInt(order) + 1 : await this._getMaxOrder(this.ctx.tender.id);
             const transaction = await this.db.beginTransaction();
             try {
                 // order以下的工料+1

+ 27 - 5
app/service/report_memory.js

@@ -107,7 +107,11 @@ module.exports = app => {
                 rootId: -1,
                 keys: ['id', 'tender_id', 'ledger_id'],
                 stageId: 'id',
-                calcFields: calcFields || ['deal_tp', 'total_price', 'contract_tp', 'qc_tp', 'contract_pc_tp', 'qc_pc_tp', 'pc_tp', 'gather_tp', 'pre_contract_tp', 'pre_qc_tp', 'pre_gather_tp', 'final_1_tp'],
+                calcFields: calcFields || ['deal_tp', 'total_price',
+                    'contract_tp', 'qc_tp', 'contract_pc_tp', 'qc_pc_tp', 'pc_tp', 'gather_tp',
+                    'pre_contract_tp', 'pre_qc_tp', 'pre_gather_tp', 'final_1_tp',
+                    'end_contract_pc_tp', 'end_qc_pc_tp', 'end_pc_tp',
+                ],
                 calc: function (node, helper, decimal) {
                     if (node.children && node.children.length === 0) {
                         node.pre_gather_qty = helper.add(node.pre_contract_qty, node.pre_qc_qty);
@@ -410,9 +414,18 @@ module.exports = app => {
                 this.ctx.helper.assignRelaData(billsData, [
                     { data: curStage, fields: ['contract_qty', 'contract_tp', 'contract_expr', 'qc_qty', 'qc_tp', 'qc_minus_qty', 'postil'], prefix: '', relaId: 'lid' },
                     { data: preStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp', 'qc_minus_qty'], prefix: 'pre_', relaId: 'lid' },
-                    { data: bpcStage, fields: ['contract_pc_tp', 'qc_pc_tp', 'pc_tp'], prefix: '', relaId: 'lid' },
-                    { data: endBpcStage, fields: ['end_contract_pc_tp', 'end_qc_pc_tp', 'end_pc_tp'], prefix: '', relaId: 'lid' },
+                    { data: bpcStage, fields: ['contract_pc_tp', 'qc_pc_tp', 'pc_tp', 'org_price'], prefix: '', relaId: 'lid' },
+                    { data: endBpcStage, fields: ['end_contract_pc_tp', 'end_qc_pc_tp', 'end_pc_tp', 'org_price_his'], prefix: '', relaId: 'lid' },
                 ]);
+                billsData.forEach(x => {
+                    if (x.org_price_his && x.org_price_his.length > 0) {
+                        for (const prop of x.org_price_his) {
+                            x[`org_price_${prop}`] = x.org_price_his[prop];
+                        }
+                    } else {
+                        x.org_price_0 = x.unit_price;
+                    }
+                });
 
                 const billsTree = this._getNewBillsTree();
                 billsTree.loadDatas(billsData);
@@ -561,9 +574,18 @@ module.exports = app => {
 
                 this.ctx.helper.assignRelaData(billsData, [
                     {data: preStage, fields: ['contract_qty', 'contract_tp', 'qc_qty', 'qc_tp', 'qc_minus_qty'], prefix: 'pre_', relaId: 'lid'},
-                    { data: bpcStage, fields: ['contract_pc_tp', 'qc_pc_tp', 'pc_tp'], prefix: '', relaId: 'lid' },
-                    { data: endBpcStage, fields: ['end_contract_pc_tp', 'end_qc_pc_tp', 'end_pc_tp'], prefix: '', relaId: 'lid' },
+                    { data: bpcStage, fields: ['contract_pc_tp', 'qc_pc_tp', 'pc_tp', 'org_price'], prefix: '', relaId: 'lid' },
+                    { data: endBpcStage, fields: ['end_contract_pc_tp', 'end_qc_pc_tp', 'end_pc_tp', 'org_price_his'], prefix: '', relaId: 'lid' },
                 ]);
+                billsData.forEach(x => {
+                    if (x.org_price_his && x.org_price_his.length > 0) {
+                        for (const prop of x.org_price_his) {
+                            x[`org_price_${prop}`] = x.org_price_his[prop];
+                        }
+                    } else {
+                        x.org_price_0 = x.unit_price;
+                    }
+                });
                 const billsTree = this._getNewBillsTree();
                 billsTree.loadDatas(billsData);
 

+ 6 - 1
app/service/stage_bills_pc.js

@@ -46,9 +46,14 @@ module.exports = app => {
         }
 
         async getEndStageData(stage) {
-            const sql = 'SELECT lid, SUM(contract_pc_tp) AS end_contract_pc_tp, SUM(qc_pc_tp) AS end_qc_pc_tp, SUM(pc_tp) AS end_pc_tp, Sum(`positive_qc_pc_tp`) As `positive_qc_pc_tp`, Sum(`negative_qc_pc_tp`) As `negative_qc_pc_tp`' +
+            const sql = 'SELECT lid, SUM(contract_pc_tp) AS end_contract_pc_tp, SUM(qc_pc_tp) AS end_qc_pc_tp,' +
+                '    SUM(pc_tp) AS end_pc_tp, Sum(`positive_qc_pc_tp`) As `positive_qc_pc_tp`, Sum(`negative_qc_pc_tp`) As `negative_qc_pc_tp`,' +
+                '    GROUP_CONCAT(org_price) AS org_price_his' +
                 '  FROM ' + this.tableName + ' WHERE tid = ? and sorder <= ? GROUP BY lid';
             const result = await this.db.query(sql, [stage.tid, stage.order]);
+            result.forEach(r => {
+                r.org_price_his = r.org_price_his.split(',');
+            });
             return result;
         }
 

+ 2 - 2
sql/update.sql

@@ -482,10 +482,10 @@ ADD COLUMN `negative_qc_qty`  decimal(24,8) NOT NULL DEFAULT 0 AFTER `positive_q
 ALTER TABLE `zh_stage`
 ADD COLUMN `positive_qc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '本期-正-变更金额' AFTER `his_id`,
 ADD COLUMN `pre_positive_qc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '截止上期-正-变更金额' AFTER `positive_qc_tp`,
-ADD COLUMN `positive_qc_pc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '本期-正-变更金额' AFTER `pre_positive_qc_tp`,
+ADD COLUMN `positive_qc_pc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '本期-正-变更补差金额' AFTER `pre_positive_qc_tp`,
 ADD COLUMN `negative_qc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '本期-负-变更金额' AFTER `pre_positive_qc_tp`,
 ADD COLUMN `pre_negative_qc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '截止上期-负-变更金额' AFTER `negative_qc_tp`,
-ADD COLUMN `negative_qc_pc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '本期-负-变更金额' AFTER `pre_negative_qc_tp`;
+ADD COLUMN `negative_qc_pc_tp`  decimal(24,8) NULL DEFAULT 0 COMMENT '本期-负-变更补差金额' AFTER `pre_negative_qc_tp`;
 
 ALTER TABLE `zh_stage_change`
 ADD COLUMN `unit_price`  decimal(24,8) NOT NULL DEFAULT 0 COMMENT '清单单价' AFTER `no_value`;