MaiXinRong 3 роки тому
батько
коміт
0ab39bcd71

+ 3 - 3
app/controller/ledger_controller.js

@@ -116,12 +116,12 @@ module.exports = app => {
             const ledgerColumn = [
                 'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',
                 'code', 'b_code', 'name', 'unit', 'unit_price', 'quantity', 'total_price',
-                'sgfh_qty', 'sgfh_expr', 'sgfh_tp', 'memo', 'drawing_code'];
+                'sgfh_qty', 'sgfh_expr', 'sgfh_tp', 'memo', 'drawing_code', 'node_type'];
             if (tender.data.measure_type === measureType.gcl.value) ledgerColumn.push('deal_qty', 'deal_tp');
             if (tender.info.display.ledger.dgnQty) ledgerColumn.push('dgn_qty1', 'dgn_qty2');
             if (tender.info.display.ledger.clQty) ledgerColumn.push('sjcl_qty', 'qtcl_qty', 'sjcl_expr', 'qtcl_expr', 'sjcl_tp', 'qtcl_tp');
-            const posColumn = ['id', 'tid', 'lid', 'name', 'position', 'porder', 'sgfh_qty', 'sgfh_expr', 'add_stage_order', 'drawing_code'];
-            if (tender.info.display.ledger.clQty) posColumn.push('sjcl_qty', 'qtcl_qty', 'sjcl_expr', 'qtcl_expr', 'quantity');
+            const posColumn = ['id', 'tid', 'lid', 'name', 'position', 'porder', 'sgfh_qty', 'sgfh_expr', 'add_stage_order', 'drawing_code', 'quantity'];
+            if (tender.info.display.ledger.clQty) posColumn.push('sjcl_qty', 'qtcl_qty', 'sjcl_expr', 'qtcl_expr');
             for (const field of sjsRela.ledgerCol) {
                 if (field.show) {
                     ledgerColumn.push(field.field);

+ 1 - 1
app/controller/stage_controller.js

@@ -226,7 +226,7 @@ module.exports = app => {
             const ledgerColumn = [
                 'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',
                 'code', 'b_code', 'name', 'unit', 'unit_price',
-                'quantity', 'total_price', 'memo', 'drawing_code', 'is_tp'];
+                'quantity', 'total_price', 'memo', 'drawing_code', 'is_tp', 'node_type'];
             if (this.ctx.session.sessionProject.gxby) ledgerColumn.push('gxby_status', 'gxby_url', 'gxby_limit');
             if (this.ctx.session.sessionProject.dagl) ledgerColumn.push('dagl_status', 'dagl_url', 'dagl_limit');
             if (tender.data.measure_type === measureType.gcl.value) ledgerColumn.push('deal_qty', 'deal_tp');

+ 1 - 2
app/lib/analysis_excel.js

@@ -548,8 +548,7 @@ class AnalysisExcelTree {
             node.unit = this.ctx.helper.replaceReturn(row[this.colsDef.unit]);
             node.dgn_qty1 = aeUtils.toNumber(row[this.colsDef.dgn_qty1]);
             node.dgn_qty2 = aeUtils.toNumber(row[this.colsDef.dgn_qty2]);
-            // 2022-6-9 曾沛文要求不导入金额
-            //node.total_price = this.ctx.helper.round(aeUtils.toNumber(row[this.colsDef.total_price]), this.decimal.tp);
+            node.total_price = this.ctx.helper.round(aeUtils.toNumber(row[this.colsDef.total_price]), this.decimal.tp);
             node.drawing_code = this.ctx.helper.replaceReturn(row[this.colsDef.drawing_code]);
             node.memo = this.ctx.helper.replaceReturn(row[this.colsDef.memo]);
             return this.cacheTree.addXmjNode(node);

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

@@ -21,7 +21,7 @@ $(document).ready(() => {
     if (cca !== null && cca !== undefined) {
         $('#customCheck1').prop('checked', cca !== 'false');
     }
-    changeSpreadSheet.setColumnVisible(2,$('#customCheck1').is(':checked'), GC.Spread.Sheets.SheetArea.viewport);
+    changeSpreadSheet.setColumnVisible(5,$('#customCheck1').is(':checked'), GC.Spread.Sheets.SheetArea.viewport);
     // 变更详情展示和隐藏
     $('.change-detail-checkbox').on('click', function (e) {
         if($(e.target).is('label')){
@@ -29,7 +29,7 @@ $(document).ready(() => {
         }
         // // 设置用户项目本地记录展示和隐藏情况
         setLocalCache('change-checkbox-account-'+ accountId, $(this).is(':checked'));
-        changeSpreadSheet.setColumnVisible(2,$(this).is(':checked'), GC.Spread.Sheets.SheetArea.viewport);
+        changeSpreadSheet.setColumnVisible(5,$(this).is(':checked'), GC.Spread.Sheets.SheetArea.viewport);
     });
 
     // 计算最新的变更总额和change的total_price是否一致,不一致则更新

+ 1 - 1
app/public/js/change_information_approval.js

@@ -21,10 +21,10 @@ $(document).ready(() => {
         cols: [
             {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 80, formatter: '@', readOnly: true},
             {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 120, formatter: '@', readOnly: true},
-            {title: '变更详情', colSpan: '1', rowSpan: '2', field: 'detail', hAlign: 0, width: 120, formatter: '@', readOnly: true},
             {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: true},
             {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.unit_price', readOnly: true},
             {title: '变更部位', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 120, formatter: '@', readOnly: true},
+            {title: '变更详情', colSpan: '1', rowSpan: '2', field: 'detail', hAlign: 0, width: 120, formatter: '@', readOnly: true},
             {title: '原设计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'oamount', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.oamount', readOnly: true},
             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'oa_tp', hAlign: 2, width: 80, type: 'Number', getValue: 'getValue.oa_tp', readOnly: true},
             {title: '申请变更增(+)减(-)|数量', colSpan: '2|1', rowSpan: '1|1', field: 'camount', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.camount', readOnly: true},

+ 4 - 4
app/public/js/change_information_set.js

@@ -96,10 +96,10 @@ $(document).ready(() => {
         cols: [
             {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 80, formatter: '@', readOnly: 'readOnly.isEdit2'},
             {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 120, formatter: '@', readOnly: 'readOnly.isEdit2'},
-            {title: '变更详情', colSpan: '1', rowSpan: '2', field: 'detail', hAlign: 0, width: 120, formatter: '@', readOnly: false},
             {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@', readOnly: 'readOnly.isEdit2', cellType: 'unit', comboItems: changeUnits, comboEdit: true},
             {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number', readOnly: 'readOnly.isEdit2', getValue: 'getValue.unit_price'},
             {title: '变更部位', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 120, formatter: '@', readOnly: 'readOnly.isEdit2'},
+            {title: '变更详情', colSpan: '1', rowSpan: '2', field: 'detail', hAlign: 0, width: 120, formatter: '@', readOnly: false},
             {title: '原设计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'oamount', hAlign: 2, width: 60, type: 'Number', readOnly: 'readOnly.isEdit', getValue: 'getValue.oamount'},
             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'oa_tp', hAlign: 2, width: 80, type: 'Number', readOnly: true, getValue: 'getValue.oa_tp'},
             {title: '申请变更增(+)减(-)|数量', colSpan: '2|1', rowSpan: '1|1', field: 'camount', hAlign: 2, width: 60, type: 'Number', readOnly: false, getValue: 'getValue.camount'},
@@ -521,7 +521,7 @@ $(document).ready(() => {
                 for (let iCol = 0; iCol < range.colCount; iCol++) {
                     const curCol = range.col + iCol;
                     let colSetting = info.sheet.zh_setting.cols[curCol];
-                    if ((needColAdd && curCol > 2) || (needCopyIgnore && curCol === 2)) { // 要判断是否已隐藏了变更详情,是则变更详情后面的curCol要+1
+                    if ((needColAdd && curCol > 5) || (needCopyIgnore && curCol === 5)) { // 要判断是否已隐藏了变更详情,是则变更详情后面的curCol要+1
                         const newCurCol = curCol + 1;
                         needColAdd = true;
                         colSetting = info.sheet.zh_setting.cols[newCurCol];
@@ -1557,8 +1557,8 @@ function checkChangeFrom() {
         returnFlag = true;
     } else {
         for (const [i,cl] of changeList.entries()) {
-            if (cl.code === '' || cl.name === '' || cl.oamount === '') {
-                toastr.error('变更清单第' + (i+1) + '行未完整填写数据(变更部位、变更详情、单位、单价可空)');
+            if (cl.name === '') {
+                toastr.error('变更清单第' + (i+1) + '行未完整填写数据(名称不可为空)');
                 returnFlag = true;
             }
         }

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

@@ -12,10 +12,10 @@ $(document).ready(() => {
         cols: [
             {title: '清单编号', colSpan: '1', rowSpan: '2', field: 'code', hAlign: 0, width: 80, formatter: '@'},
             {title: '名称', colSpan: '1', rowSpan: '2', field: 'name', hAlign: 0, width: 120, formatter: '@'},
-            {title: '变更详情', colSpan: '1', rowSpan: '2', field: 'detail', hAlign: 0, width: 120, formatter: '@'},
             {title: '单位', colSpan: '1', rowSpan: '2', field: 'unit', hAlign: 1, width: 60, formatter: '@'},
             {title: '单价', colSpan: '1', rowSpan: '2', field: 'unit_price', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.unit_price'},
             {title: '变更部位', colSpan: '1', rowSpan: '2', field: 'bwmx', hAlign: 0, width: 120, formatter: '@'},
+            {title: '变更详情', colSpan: '1', rowSpan: '2', field: 'detail', hAlign: 0, width: 120, formatter: '@'},
             {title: '原设计|数量', colSpan: '2|1', rowSpan: '1|1', field: 'oamount', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.oamount'},
             {title: '|金额', colSpan: '|1', rowSpan: '|1', field: 'oa_tp', hAlign: 2, width: 80, type: 'Number', getValue: 'getValue.oa_tp'},
             {title: '申请变更增(+)减(-)|数量', colSpan: '2|1', rowSpan: '1|1', field: 'camount', hAlign: 2, width: 60, type: 'Number', getValue: 'getValue.camount'},
@@ -121,7 +121,7 @@ $(document).ready(() => {
             for (const j in aidList) {
                 for(let i = 0; i <= rowCount - 1; i++){
                     const data = {
-                        unit_price: changeSpreadSheet.getValue(i, 5),
+                        unit_price: changeSpreadSheet.getValue(i, 3),
                         amount: parseFloat(changeSpreadSheet.getValue(i, 12 + parseInt(j)*2)),
                     };
                     const sum = ZhCalc.round(ZhCalc.mul(data.unit_price, data.amount), totalPriceUnit);

+ 3 - 1
app/public/js/ledger_check.js

@@ -76,7 +76,9 @@ const ledgerCheckUtil = {
                     calcData[f] = ZhCalc.add(calcData[f], np[f]) || 0;
                 }
             }
-            if (!_.isMatch(checkData, calcData)) error.push(node);
+            if (!_.isMatch(checkData, calcData)) {
+                error.push(node);
+            }
         }
         return error;
     },

+ 4 - 2
app/service/ledger.js

@@ -712,14 +712,16 @@ module.exports = app => {
                         drawing_code: node.drawing_code,
                         node_type: node.node_type,
                     };
+                    // 项目节不导入金额
+                    // todo 最底层项目节其实应该导入,但是由于目前项目节不能输入金额,也不能计量,导入金额就会有矛盾,故暂时不导入
                     if (this.ctx.tender.data.measure_type === measureType.tz.value) {
                         data.sgfh_qty = node.quantity;
                         data.sgfh_tp = node.total_price;
                         data.quantity = node.quantity;
-                        data.total_price = node.total_price;
+                        data.total_price = node.b_code ? node.total_price : 0;
                     } else if (this.ctx.tender.data.measure_type === measureType.gcl.value) {
                         data.deal_qty = node.quantity;
-                        data.deal_tp = node.total_price;
+                        data.deal_tp = node.b_code ? node.total_price : 0;
                     }
                     datas.push(data);
                 }

+ 1 - 1
app/view/wap/dashboard.ejs

@@ -79,7 +79,7 @@
                                 <table class="table table-sm table-bordered">
                                     <tr><th width="90">修订时间</th><td class="text-right"><%- ctx.moment(revise.in_time).format('YYYY-MM-DD') %></td></tr>
                                     <tr><th>修订人</th><td class="text-right"><%- revise.yb_name %></td></tr>
-                                    <tr><th>修订详情</th><td class=""><% if (revise.content.length <= 22) { %><%- revise.content %><% } else { %><%- revise.content.substring(0,22) %><a class="show-content" data-content="<%- revise.content %>" href="javascript:void(0);">展开更多</a><% } %></td></tr>
+                                    <tr><th>修订详情</th><td class=""><% if (!revise.content || revise.content.length <= 22) { %><%- revise.content %><% } else { %><%- revise.content.substring(0,22) %><a class="show-content" data-content="<%- revise.content %>" href="javascript:void(0);">展开更多</a><% } %></td></tr>
                                 </table>
                             </div>
                             <div class="">

+ 0 - 133
sql/update.sql

@@ -1,133 +0,0 @@
-ALTER TABLE `zh_budget`
-ADD COLUMN `final_time`  timestamp NULL DEFAULT NULL COMMENT '生成动态决算时间' AFTER `decimal`,
-ADD COLUMN `final_id`  int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `final_time`;
-
-CREATE TABLE `zh_budget_final_list` (
-  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
-  `bid` int(11) unsigned NOT NULL COMMENT '动态决算id',
-  `uid` int(11) unsigned NOT NULL COMMENT '生成决算人id',
-  `u_name` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-名字(缓存)',
-  `u_role` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-角色(缓存)',
-  `u_company` varchar(60) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-单位(缓存)',
-  `u_mobile` varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-电话',
-  `u_login` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '生成决算人-登录方式',
-  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
-  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
-  `tender` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '关联标段id('',''分隔)',
-  `tender_info` text COLLATE utf8_unicode_ci COMMENT '关联标段信息(json)',
-  `status` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '0: 取消, 1: 等待, 2: 进行中, 3: 完成',
-  PRIMARY KEY (`id`),
-  KEY `idx_bid` (`bid`,`create_time`) USING BTREE
-) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-CREATE TABLE `zh_budget_final` (
-  `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
-  `bid` int(11) unsigned NOT NULL COMMENT '概算投资项目id',
-  `final_id` bigint(11) unsigned NOT NULL COMMENT '决算id',
-  `tree_id` int(11) unsigned NOT NULL COMMENT '树结构id',
-  `tree_pid` int(11) NOT NULL COMMENT '树结构父id',
-  `level` int(11) unsigned NOT NULL COMMENT '层级',
-  `order` int(11) unsigned NOT NULL COMMENT '同级排序',
-  `full_path` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '层级定位辅助字段parent.full_path.ledger_id',
-  `is_leaf` tinyint(1) NOT NULL COMMENT '是否叶子节点,界面显示辅助字段',
-  `code` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '节点编号',
-  `name` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '名称',
-  `unit` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '单位',
-  `gu_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-设计数量1',
-  `gu_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-设计数量1',
-  `gu_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '估算-设计数量1/设计数量2',
-  `gu_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-经济指标',
-  `gu_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-金额',
-  `gai_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-设计数量1',
-  `gai_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-设计数量1',
-  `gai_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '概算-设计数量1/设计数量2',
-  `gai_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-经济指标',
-  `gai_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-金额',
-  `yu_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-设计数量1',
-  `yu_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-设计数量1',
-  `yu_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '预算-设计数量1/设计数量2',
-  `yu_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-经济指标',
-  `yu_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-金额',
-  `dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-设计数量1',
-  `dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-设计数量1',
-  `total_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-经济指标',
-  `dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-经济指标',
-  `dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '决算-台账-设计数量1/设计数量2',
-  `final_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-设计数量1',
-  `final_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-设计数量1',
-  `final_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-金额',
-  `final_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-经济指标',
-  `final_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '决算-设计数量1/设计数量2',
-  `grow_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '增幅%-设计数量1',
-  `grow_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '增幅%-设计数量1',
-  `grow_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '增幅%-金额',
-  `grow_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '增幅%-设计数量1/设计数量2',
-  PRIMARY KEY (`id`),
-  KEY `idx_fid` (`final_id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-ALTER TABLE `zh_material_list_gcl` ADD `old_quantity` DECIMAL(30,8) NULL DEFAULT NULL COMMENT '数量,用于复原数据' AFTER `expr`,
-ADD `old_expr` VARCHAR(255) NULL DEFAULT NULL COMMENT '公式,用于复原数据' AFTER `old_quantity`;
-
-UPDATE `zh_material_list_gcl` SET `old_quantity`=`quantity`,`old_expr`=`expr`;
-
-ALTER TABLE `zh_material` ADD `exponent_rate` TINYINT(3) NULL DEFAULT '0' COMMENT '材料税税率' AFTER `rate`;
-
-UPDATE `zh_material` SET `exponent_rate`=`rate`;
-
-ALTER TABLE `zh_material_list` ADD `is_self` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否为单独添加的工料清单关联' AFTER `is_join`;
-
-UPDATE `zh_material_list` SET `mx_id`= '' WHERE `mx_id` is null;
-
-ALTER TABLE `zh_material_list_notjoin` CHANGE `mx_id` `mx_id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '部位明细id';
-
-UPDATE `zh_material_list_notjoin` SET `mx_id`= '' WHERE `mx_id` is null;
-
-CREATE TABLE `zh_material_list_self`  (
-  `id` int(11) NOT NULL AUTO_INCREMENT,
-  `tid` int(11) NOT NULL COMMENT '标段id',
-  `mid` int(11) NOT NULL COMMENT '调差期id',
-  `gcl_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '清单id',
-  `xmj_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '项目节id',
-  `mx_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '部位明细id',
-  `in_time` datetime NOT NULL COMMENT '添加时间',
-  PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = '单独调差的清单表';
-
-ALTER TABLE `zh_advance_pay`
-ADD COLUMN `selected`  tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '报表用,是否选择' AFTER `id`;
-
-ALTER TABLE `zh_stage_change_final`
-ADD COLUMN `sorder`  int(11) UNSIGNED NOT NULL AFTER `sid`;
-
-Update zh_stage_change_final scf Join zh_stage s on scf.sid = s.id Set scf.sorder = s.`order`;
-
-ALTER TABLE `zh_change` ADD `order_by` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '清单排序规则,默认按清单编号排(0),自定义排序(1)' AFTER `is_revise`;
-ALTER TABLE `zh_change_audit_list` ADD `order` INT NULL DEFAULT NULL COMMENT '排序序号(自定义规则时使用)' AFTER `spamount`;
-
-ALTER TABLE `zh_stage_change`
-ADD COLUMN `minus`  tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否负变更' AFTER `qty`;
-
-ALTER TABLE `zh_stage_change_final`
-ADD COLUMN `minus`  tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否负变更' AFTER `qty`;
-
-CREATE TABLE `zh_stage_stash` (
-  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
-  `pid` int(11) unsigned NOT NULL COMMENT '项目id',
-  `tid` int(11) unsigned NOT NULL COMMENT '标段id',
-  `sid` int(11) unsigned NOT NULL COMMENT '期id',
-  `sorder` int(11) unsigned NOT NULL COMMENT '期序号',
-  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
-  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-  `uid` int(11) unsigned NOT NULL COMMENT '保存人',
-  `uname` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '保存人姓名',
-  `filepath` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'oss保存路径',
-  `valid` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '是否可用',
-  `info` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '相关信息',
-  `remark` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '备注',
-  PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-Update zh_stage_change sc Left Join zh_change_audit_list cal ON sc.cbid = cal.id Set sc.minus = 1 WHERE sc.minus = 0 and cal.spamount < 0;
-
-Update zh_stage_change_final sc Left Join zh_change_audit_list cal ON sc.cbid = cal.id Set sc.minus = 1 WHERE sc.minus = 0 and cal.spamount < 0;

+ 134 - 0
sql/update20220624.sql

@@ -0,0 +1,134 @@
+ALTER TABLE `zh_budget`
+ADD COLUMN `final_time`  timestamp NULL DEFAULT NULL COMMENT '生成动态决算时间' AFTER `decimal`,
+ADD COLUMN `final_id`  int(11) UNSIGNED NOT NULL DEFAULT 0 AFTER `final_time`;
+
+CREATE TABLE `zh_budget_final_list` (
+  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+  `bid` int(11) unsigned NOT NULL COMMENT '动态决算id',
+  `uid` int(11) unsigned NOT NULL COMMENT '生成决算人id',
+  `u_name` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-名字(缓存)',
+  `u_role` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-角色(缓存)',
+  `u_company` varchar(60) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-单位(缓存)',
+  `u_mobile` varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '生成决算人-电话',
+  `u_login` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0' COMMENT '生成决算人-登录方式',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
+  `tender` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '关联标段id('',''分隔)',
+  `tender_info` text COLLATE utf8_unicode_ci COMMENT '关联标段信息(json)',
+  `status` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '0: 取消, 1: 等待, 2: 进行中, 3: 完成',
+  PRIMARY KEY (`id`),
+  KEY `idx_bid` (`bid`,`create_time`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+CREATE TABLE `zh_budget_final` (
+  `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
+  `bid` int(11) unsigned NOT NULL COMMENT '概算投资项目id',
+  `final_id` bigint(11) unsigned NOT NULL COMMENT '决算id',
+  `tree_id` int(11) unsigned NOT NULL COMMENT '树结构id',
+  `tree_pid` int(11) NOT NULL COMMENT '树结构父id',
+  `level` int(11) unsigned NOT NULL COMMENT '层级',
+  `order` int(11) unsigned NOT NULL COMMENT '同级排序',
+  `full_path` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '层级定位辅助字段parent.full_path.ledger_id',
+  `is_leaf` tinyint(1) NOT NULL COMMENT '是否叶子节点,界面显示辅助字段',
+  `code` varchar(50) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '节点编号',
+  `name` varchar(255) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '名称',
+  `unit` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '' COMMENT '单位',
+  `gu_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-设计数量1',
+  `gu_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-设计数量1',
+  `gu_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '估算-设计数量1/设计数量2',
+  `gu_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-经济指标',
+  `gu_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '估算-金额',
+  `gai_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-设计数量1',
+  `gai_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-设计数量1',
+  `gai_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '概算-设计数量1/设计数量2',
+  `gai_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-经济指标',
+  `gai_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '概算-金额',
+  `yu_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-设计数量1',
+  `yu_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-设计数量1',
+  `yu_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '预算-设计数量1/设计数量2',
+  `yu_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-经济指标',
+  `yu_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '预算-金额',
+  `dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-设计数量1',
+  `dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-设计数量1',
+  `total_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-经济指标',
+  `dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-台账-经济指标',
+  `dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '决算-台账-设计数量1/设计数量2',
+  `final_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-设计数量1',
+  `final_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-设计数量1',
+  `final_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-金额',
+  `final_dgn_price` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '决算-经济指标',
+  `final_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '决算-设计数量1/设计数量2',
+  `grow_dgn_qty1` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '增幅%-设计数量1',
+  `grow_dgn_qty2` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '增幅%-设计数量1',
+  `grow_tp` decimal(24,8) NOT NULL DEFAULT '0.00000000' COMMENT '增幅%-金额',
+  `grow_dgn_qty` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '增幅%-设计数量1/设计数量2',
+  PRIMARY KEY (`id`),
+  KEY `idx_fid` (`final_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+ALTER TABLE `zh_material_list_gcl` ADD `old_quantity` DECIMAL(30,8) NULL DEFAULT NULL COMMENT '数量,用于复原数据' AFTER `expr`,
+ADD `old_expr` VARCHAR(255) NULL DEFAULT NULL COMMENT '公式,用于复原数据' AFTER `old_quantity`;
+
+ALTER TABLE `zh_material` ADD `exponent_rate` TINYINT(3) NULL DEFAULT '0' COMMENT '材料税税率' AFTER `rate`;
+
+ALTER TABLE `zh_material_list` ADD `is_self` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否为单独添加的工料清单关联' AFTER `is_join`;
+
+ALTER TABLE `zh_material_list_notjoin` CHANGE `mx_id` `mx_id` VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '部位明细id';
+
+CREATE TABLE `zh_material_list_self`  (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `tid` int(11) NOT NULL COMMENT '标段id',
+  `mid` int(11) NOT NULL COMMENT '调差期id',
+  `gcl_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '清单id',
+  `xmj_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '项目节id',
+  `mx_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT '' COMMENT '部位明细id',
+  `in_time` datetime NOT NULL COMMENT '添加时间',
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci COMMENT = '单独调差的清单表';
+
+ALTER TABLE `zh_advance_pay`
+ADD COLUMN `selected`  tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '报表用,是否选择' AFTER `id`;
+
+ALTER TABLE `zh_stage_change_final`
+ADD COLUMN `sorder`  int(11) UNSIGNED NOT NULL AFTER `sid`;
+
+ALTER TABLE `zh_change` ADD `order_by` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '清单排序规则,默认按清单编号排(0),自定义排序(1)' AFTER `is_revise`;
+ALTER TABLE `zh_change_audit_list` ADD `order` INT NULL DEFAULT NULL COMMENT '排序序号(自定义规则时使用)' AFTER `spamount`;
+
+ALTER TABLE `zh_stage_change`
+ADD COLUMN `minus`  tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否负变更' AFTER `qty`;
+
+ALTER TABLE `zh_stage_change_final`
+ADD COLUMN `minus`  tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否负变更' AFTER `qty`;
+
+CREATE TABLE `zh_stage_stash` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `pid` int(11) unsigned NOT NULL COMMENT '项目id',
+  `tid` int(11) unsigned NOT NULL COMMENT '标段id',
+  `sid` int(11) unsigned NOT NULL COMMENT '期id',
+  `sorder` int(11) unsigned NOT NULL COMMENT '期序号',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `uid` int(11) unsigned NOT NULL COMMENT '保存人',
+  `uname` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '保存人姓名',
+  `filepath` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'oss保存路径',
+  `valid` tinyint(4) unsigned NOT NULL DEFAULT '1' COMMENT '是否可用',
+  `info` varchar(1000) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '相关信息',
+  `remark` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '' COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
+
+
+Update zh_stage_change_final scf Join zh_stage s on scf.sid = s.id Set scf.sorder = s.`order`;
+
+UPDATE `zh_material_list_notjoin` SET `mx_id`= '' WHERE `mx_id` is null;
+
+UPDATE `zh_material_list` SET `mx_id`= '' WHERE `mx_id` is null;
+
+UPDATE `zh_material` SET `exponent_rate`=`rate`;
+
+UPDATE `zh_material_list_gcl` SET `old_quantity`=`quantity`,`old_expr`=`expr`;
+
+Update zh_stage_change sc Left Join zh_change_audit_list cal ON sc.cbid = cal.id Set sc.minus = 1 WHERE sc.minus = 0 and cal.spamount < 0;
+
+Update zh_stage_change_final sc Left Join zh_change_audit_list cal ON sc.cbid = cal.id Set sc.minus = 1 WHERE sc.minus = 0 and cal.spamount < 0;