Forráskód Böngészése

Merge branch 'dev' of http://192.168.1.41:3000/maixinrong/Calculation into dev

TonyKang 4 éve
szülő
commit
1d7aa0303b

+ 2 - 2
app/public/js/material_file.js

@@ -216,8 +216,8 @@ $(document).ready(function () {
             // 只判断当前期,因为以往期都是只读的
             // 只判断当前期,因为以往期都是只读的
             if (file.mid === parseInt(mid) && file.tid === parseInt(tid) && file.user_id === parseInt(cur_uid)) {
             if (file.mid === parseInt(mid) && file.tid === parseInt(tid) && file.user_id === parseInt(cur_uid)) {
                 if (!curAuditor) {
                 if (!curAuditor) {
-                    material.status === auditConst.status.uncheck && parseInt(cur_uid) === material.user_id && (showDel = true)
-                    material.status === auditConst.status.checkNo && parseInt(cur_uid) === material.user_id && (showDel = true)
+                    materialStatus === auditConst.status.uncheck && parseInt(cur_uid) === materialUid && (showDel = true)
+                    materialStatus === auditConst.status.checkNo && parseInt(cur_uid) === materialUid && (showDel = true)
                 } else {
                 } else {
                     curAuditor.aid === parseInt(cur_uid) && (showDel = true)
                     curAuditor.aid === parseInt(cur_uid) && (showDel = true)
                 }
                 }

+ 1 - 1
app/service/material_exponent.js

@@ -234,7 +234,7 @@ module.exports = app => {
                 const calc = this._.find(calcBase, function(item) {
                 const calc = this._.find(calcBase, function(item) {
                     return bq.code === item.code;
                     return bq.code === item.code;
                 });
                 });
-                const oldcalc = old_ex_calc ? this._.find(JSON.parse(old_ex_calc), function(item) {
+                const oldcalc = old_ex_calc ? this._.find(old_ex_calc, function(item) {
                     return bq.code === item.code;
                     return bq.code === item.code;
                 }) : null;
                 }) : null;
                 bq.value = calc.value;
                 bq.value = calc.value;

+ 11 - 15
app/service/stage_bills.js

@@ -407,21 +407,17 @@ module.exports = app => {
          * @return {Promise<void>}
          * @return {Promise<void>}
          */
          */
         async getStagesData(tid, stage_id_list) {
         async getStagesData(tid, stage_id_list) {
-            let stage_id_listSql = '';
-            stage_id_list = stage_id_list.indexOf(',') !== -1 ? stage_id_list.split(',') : stage_id_list;
-            if (stage_id_list) {
-                if (stage_id_list instanceof Array) {
-                    stage_id_listSql = stage_id_list.length > 0 ? ' And sid in (' + this.ctx.helper.getInArrStrSqlFilter(stage_id_list) + ')' : '';
-                } else {
-                    stage_id_listSql = ' And sid in (' + this.db.escape(stage_id_list) + ')';
-                }
-            }
-            const sql = 'SELECT `lid`, `tid`, `sid`, SUM(`contract_qty`) as `contract_qty`, SUM(`contract_tp`) as `contract_tp`, ' +
-                'SUM(`qc_qty`) as `qc_qty`, SUM(`qc_tp`) as `qc_tp` FROM ' + this.tableName + ' WHERE `tid` = ? ' +
-                stage_id_listSql + ' GROUP BY `lid`';
-            const sqlParam = [tid];
-            const result = await this.db.query(sql, sqlParam);
-            console.log('result', result);
+            const whereSql = this.ctx.helper.whereSql({tid: tid, sid: stage_id_list.split(',')});
+            const sql = 'SELECT Bills.lid, Bills.tid, Bills.sid,' +
+                '    Sum(Bills.contract_qty) As contract_qty, Sum(Bills.contract_tp) As contract_tp,' +
+                '    Sum(Bills.qc_qty) As qc_qty, Sum(Bills.qc_tp) As qc_tp' +
+                '  FROM ' + this.tableName + ' As Bills ' +
+                '  INNER JOIN ( ' +
+                '    SELECT MAX(`times` * ' + timesLen + ' + `order`) As `progress`, `tid`, `lid`, `sid` From ' + this.tableName + whereSql + ' GROUP BY `lid`, `sid`' +
+                '  ) As MaxFilter ' +
+                '  ON (Bills.times * ' + timesLen + ' + `order`) = MaxFilter.progress And Bills.tid = MaxFilter.tid And Bills.lid = MaxFilter.lid And Bills.`sid` = MaxFilter.`sid`' +
+                '  GROUP BY Bills.lid';
+            const result = await this.db.query(sql);
             return result;
             return result;
         }
         }
 
 

+ 8 - 8
app/view/material/exponent.ejs

@@ -53,16 +53,16 @@
                                 <tr><th rowspan="2"></th><th colspan="2" class="text-center">信息价</th><th colspan="2" class="text-center">价格指数</th></tr>
                                 <tr><th rowspan="2"></th><th colspan="2" class="text-center">信息价</th><th colspan="2" class="text-center">价格指数</th></tr>
                                 <tr class="text-center"><th>本期金额</th><th>截止本期金额</th><th>本期金额</th><th>截止本期金额</th></tr>
                                 <tr class="text-center"><th>本期金额</th><th>截止本期金额</th><th>本期金额</th><th>截止本期金额</th></tr>
                                 <tr id="tp_set"><td>材料价差费用</td>
                                 <tr id="tp_set"><td>材料价差费用</td>
-                                    <td><%= material.m_tp !== null ? ctx.helper.round(material.m_tp, 2) : null %></td>
-                                    <td><%= material.m_tp !== null || material.pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.pre_tp, material.m_tp), 2) : null %></td>
-                                    <td><%= material.ex_tp !== null ? ctx.helper.round(material.ex_tp, 2) : null %></td>
-                                    <td><%= material.ex_tp !== null || material.ex_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.ex_pre_tp, material.ex_tp), 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(material.m_tp, 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null || material.pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.pre_tp, material.m_tp), 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(material.ex_tp, 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null || material.ex_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.ex_pre_tp, material.ex_tp), 2) : null %></td>
                                 </tr>
                                 </tr>
                                 <tr id="rate_set"><td>材料价差费用(含税)</td>
                                 <tr id="rate_set"><td>材料价差费用(含税)</td>
-                                    <td><%= material.m_tp !== null ? ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2) : null %></td>
-                                    <td><%= material.m_tp !== null || pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2)), 2) : null %></td>
-                                    <td><%= material.ex_tp !== null ? ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2) : null %></td>
-                                    <td><%= material.ex_tp !== null || ex_pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(ex_pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2)), 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null || pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2)), 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null || ex_pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(ex_pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2)), 2) : null %></td>
                                 </tr>
                                 </tr>
                             </table>
                             </table>
                         </div>
                         </div>

+ 2 - 1
app/view/material/file.ejs

@@ -101,7 +101,8 @@
 <script>
 <script>
   const auditors = JSON.parse('<%- JSON.stringify(auditors) %>');
   const auditors = JSON.parse('<%- JSON.stringify(auditors) %>');
   const curAuditor = JSON.parse('<%- JSON.stringify(ctx.material.curAuditor) %>');
   const curAuditor = JSON.parse('<%- JSON.stringify(ctx.material.curAuditor) %>');
-  const material = JSON.parse('<%- JSON.stringify(ctx.material) %>');
+  const materialStatus = '<%- ctx.material.status %>';
+  const materialUid = '<%- ctx.material.user_id %>';
   const auditConst = JSON.parse('<%- JSON.stringify(auditConst) %>');
   const auditConst = JSON.parse('<%- JSON.stringify(auditConst) %>');
   const tid = '<%- ctx.tender.id %>';
   const tid = '<%- ctx.tender.id %>';
   const mid = '<%- ctx.material.id %>';
   const mid = '<%- ctx.material.id %>';

+ 6 - 6
app/view/material/index.ejs

@@ -25,16 +25,16 @@
                         <th class="text-center" rowspan="2">计量期</th>
                         <th class="text-center" rowspan="2">计量期</th>
                         <th class="text-center" colspan="2">信息价调差</th>
                         <th class="text-center" colspan="2">信息价调差</th>
                         <th class="text-center" colspan="2">指数法调差</th>
                         <th class="text-center" colspan="2">指数法调差</th>
-                        <th class="text-center" rowspan="2">合计(含税)</th>
-                        <th class="text-center" rowspan="2">合计</th>
+                        <th class="text-center" width="110" rowspan="2">合计(含税)</th>
+                        <th class="text-center" width="110" rowspan="2">合计</th>
                         <th class="text-center" rowspan="2">审批进度</th>
                         <th class="text-center" rowspan="2">审批进度</th>
                         <th class="text-center" rowspan="2" width="140">操作</th>
                         <th class="text-center" rowspan="2" width="140">操作</th>
                     </tr>
                     </tr>
                     <tr>
                     <tr>
-                        <th class="text-center">价差费用(含税)</th>
-                        <th class="text-center">价差费用</th>
-                        <th class="text-center">价差费用(含税)</th>
-                        <th class="text-center">价差费用</th>
+                        <th class="text-center" width="110">价差费用(含税)</th>
+                        <th class="text-center" width="110">价差费用</th>
+                        <th class="text-center" width="110">价差费用(含税)</th>
+                        <th class="text-center" width="110">价差费用</th>
                     </tr>
                     </tr>
                     </thead>
                     </thead>
                     <tbody>
                     <tbody>

+ 8 - 8
app/view/material/info.ejs

@@ -55,16 +55,16 @@
                                 <tr><th rowspan="2"></th><th colspan="2" class="text-center">信息价</th><th colspan="2" class="text-center">价格指数</th></tr>
                                 <tr><th rowspan="2"></th><th colspan="2" class="text-center">信息价</th><th colspan="2" class="text-center">价格指数</th></tr>
                                 <tr class="text-center"><th>本期金额</th><th>截止本期金额</th><th>本期金额</th><th>截止本期金额</th></tr>
                                 <tr class="text-center"><th>本期金额</th><th>截止本期金额</th><th>本期金额</th><th>截止本期金额</th></tr>
                                 <tr id="tp_set"><td>材料价差费用</td>
                                 <tr id="tp_set"><td>材料价差费用</td>
-                                    <td><%= material.m_tp !== null ? ctx.helper.round(material.m_tp, 2) : null %></td>
-                                    <td><%= material.m_tp !== null || material.pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.pre_tp, material.m_tp), 2) : null %></td>
-                                    <td><%= material.ex_tp !== null ? ctx.helper.round(material.ex_tp, 2) : null %></td>
-                                    <td><%= material.ex_tp !== null || material.ex_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.ex_pre_tp, material.ex_tp), 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(material.m_tp, 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null || material.pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.pre_tp, material.m_tp), 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(material.ex_tp, 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null || material.ex_pre_tp !== null ? ctx.helper.round(ctx.helper.add(material.ex_pre_tp, material.ex_tp), 2) : null %></td>
                                 </tr>
                                 </tr>
                                 <tr id="rate_set"><td>材料价差费用(含税)</td>
                                 <tr id="rate_set"><td>材料价差费用(含税)</td>
-                                    <td><%= material.m_tp !== null ? ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2) : null %></td>
-                                    <td><%= material.m_tp !== null || pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2)), 2) : null %></td>
-                                    <td><%= material.ex_tp !== null ? ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2) : null %></td>
-                                    <td><%= material.ex_tp !== null || ex_pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(ex_pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2)), 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null ? ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2) : null %></td>
+                                    <td class="text-center"><%= material.m_tp !== null || pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.m_tp, 1+material.rate/100), 2)), 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null ? ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2) : null %></td>
+                                    <td class="text-center"><%= material.ex_tp !== null || ex_pre_tp_hs !== null ? ctx.helper.round(ctx.helper.add(ex_pre_tp_hs, ctx.helper.round(ctx.helper.mul(material.ex_tp, 1+material.rate/100), 2)), 2) : null %></td>
                                 </tr>
                                 </tr>
                             </table>
                             </table>
                         </div>
                         </div>

+ 1 - 1
app/view/tender/detail_modal.ejs

@@ -819,7 +819,7 @@
                 }
                 }
             } else {
             } else {
                 if (prop.decimal.extra) {
                 if (prop.decimal.extra) {
-                    toastr.warning('第一期已审批完成,合同支付不可单独设置');
+                    toastr.warning('第一期已审批完成,其他台账不可单独设置');
                     return;
                     return;
                 }
                 }
             }
             }

+ 3 - 3
sql/update.sql

@@ -31,7 +31,7 @@ ADD COLUMN `tid`  int(11) NULL COMMENT '标段id' AFTER `add_sid`;
 Update zh_stage_jgcl LEFT JOIN zh_stage ON zh_stage_jgcl.sid = zh_stage.id Set zh_stage_jgcl.tid = zh_stage.tid
 Update zh_stage_jgcl LEFT JOIN zh_stage ON zh_stage_jgcl.sid = zh_stage.id Set zh_stage_jgcl.tid = zh_stage.tid
 
 
 -- 指数调差
 -- 指数调差
-ALTER TABLE `zh_material` ADD `ex_tp` DECIMAL(30,8) NULL DEFAULT NULL COMMENT '指数本期金额' AFTER `pre_tp`, ADD `ex_pre_tp` DECIMAL(30,8) NULL DEFAULT NULL COMMENT '指数截止上期金额' AFTER `ex_tp`, ADD `ex_expr` VARCHAR(3000) NULL DEFAULT NULL COMMENT '指数调差结果公式' AFTER `ex_pre_tp`, ADD `ex_base_selested` VARCHAR(255) NULL DEFAULT NULL COMMENT '已选调差基数值' AFTER `ex_expr`;
+ALTER TABLE `zh_material` ADD `ex_tp` DECIMAL(30,8) NULL DEFAULT NULL COMMENT '指数本期金额' AFTER `pre_tp`, ADD `ex_pre_tp` DECIMAL(30,8) NULL DEFAULT NULL COMMENT '指数截止上期金额' AFTER `ex_tp`, ADD `ex_expr` VARCHAR(5000) NULL DEFAULT NULL COMMENT '指数调差结果公式' AFTER `ex_pre_tp`, ADD `ex_calc` VARCHAR(1000) NULL DEFAULT NULL COMMENT '调差基数值json' AFTER `ex_expr`;
 
 
 CREATE TABLE `zh_material_exponent` (
 CREATE TABLE `zh_material_exponent` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `id` int(11) NOT NULL AUTO_INCREMENT,
@@ -47,7 +47,7 @@ CREATE TABLE `zh_material_exponent` (
   `m_price` decimal(30,8) DEFAULT NULL COMMENT '现行价格指数',
   `m_price` decimal(30,8) DEFAULT NULL COMMENT '现行价格指数',
   `calc_num` decimal(30,8) DEFAULT NULL COMMENT '计算值',
   `calc_num` decimal(30,8) DEFAULT NULL COMMENT '计算值',
   `remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
   `remark` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '备注',
-  `is_summary` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否汇总,默认为0否',
+  `is_summary` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否汇总,默认为1是',
   `in_time` datetime NOT NULL COMMENT '添加时间',
   `in_time` datetime NOT NULL COMMENT '添加时间',
   PRIMARY KEY (`id`)
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='指数调差表';
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='指数调差表';
@@ -64,6 +64,6 @@ CREATE TABLE `zh_material_exponent_history` (
   `basic_times` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '本期基准时间',
   `basic_times` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '本期基准时间',
   `m_price` decimal(30,8) DEFAULT NULL COMMENT '本期现行价格指数',
   `m_price` decimal(30,8) DEFAULT NULL COMMENT '本期现行价格指数',
   `calc_num` decimal(30,8) DEFAULT NULL COMMENT '计算值',
   `calc_num` decimal(30,8) DEFAULT NULL COMMENT '计算值',
-  `is_summary` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否汇总',
+  `is_summary` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否汇总',
   PRIMARY KEY (`id`)
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='指数调差清单历史表';
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='指数调差清单历史表';