Przeglądaj źródła

TASK #5479 代码debug check in

Tony Kang 1 dzień temu
rodzic
commit
7909dcbd0a

+ 26 - 31
app/controller/report_controller.js

@@ -543,7 +543,7 @@ module.exports = app => {
                 for (const prjAcc of prjAccList) {
                     prjAcc.account_group = prjAcc.company;
                 }
-                const cust_select_keys = JSON.stringify(['common_safe', 'customize_safe']); // 因其他地方也有可能保存用户报表的显示选择项,因当初设计问题,不好改数据库结构了,但可以调节内部json来满足需求,安全生产费没有这个,就过了
+                const cust_select_keys = JSON.stringify(['common', 'customize']); // 因其他地方也有可能保存用户报表的显示选择项,因当初设计问题,不好改数据库结构了,但可以调节内部json来满足需求,安全生产费没有这个,就过了
                 const rpt_tpl_items = { customize: [], common: [] };
                 commonArrs.forEach(item => {
                     rpt_tpl_items.common.push(item.name);
@@ -626,7 +626,7 @@ module.exports = app => {
             }
         }
 
-        async indexForStageSafe(ctx) {
+        async indexForSafeCalc(ctx) {
             // 安全计量入口
             try {
                 await this._getStageAuditViewData(ctx);
@@ -636,8 +636,8 @@ module.exports = app => {
                 const tenderId = ctx.params.tid;
                 const sp_id = ctx.params.id;
                 // const paymentAuditorList = await ctx.service.paymentDetailAudit.getAuditors(paymentDetail_id);
-                const tender = ctx.paymentTender;
-                const { treeNodes, commonArrs, custCfg } = await this._createNodes(ctx, sourceTypeConst.sourceType.safe_stage, tender.pid);
+                const tender = ctx.tender;
+                const { treeNodes, commonArrs, custCfg } = await this._createNodes(ctx, sourceTypeConst.sourceType.safe_stage, tender.data.project_id);
                 const stageList = [];
                 const unitList = await ctx.service.constructionUnit.getAllDataByCondition({ where: { pid: tender.pid } }); // 找公司章用的
                 const isAdmin = ctx.session.sessionUser.is_admin;
@@ -658,28 +658,25 @@ module.exports = app => {
                     reportConst.rptDataType[JV.NODE_CUS_MATERIAL_SELECT]);
 
                 const materialList = await ctx.service.material.getValidMaterials();
-                /*
-
-                const stage_id = -100;
-                let stage_order = -1;
-                let sorder = -1;
-                let stage_times = -1;
-                let stage_status = -1;
-
-                const paymentDetailList = await ctx.service.paymentDetail.getDetail(paymentDetail_id);
-                if (paymentDetailList && paymentDetailList.length > 0) {
-                    const payment = paymentDetailList[0];
-                    stage_status = payment.status;
-                    stage_order = payment.order;
-                    sorder = stage_order;
-                    stage_times = payment.times;
-                    stageList.push({ id: stage_id, user_id: payment.uid, status: payment.status });
-                }
+                const stage_id = -150;
+                const stage_order = ctx.params.sorder;
+                const sorder = ctx.params.sorder;
+                const stage_times = -1;
+                const stage_status = -1;
 
+                // const paymentDetailList = await ctx.service.paymentDetail.getDetail(paymentDetail_id);
+                // if (paymentDetailList && paymentDetailList.length > 0) {
+                //     const payment = paymentDetailList[0];
+                //     stage_status = payment.status;
+                //     stage_order = payment.order;
+                //     sorder = stage_order;
+                //     stage_times = payment.times;
+                //     stageList.push({ id: stage_id, user_id: payment.uid, status: payment.status });
+                // }
                 for (const prjAcc of prjAccList) {
                     prjAcc.account_group = prjAcc.company;
                 }
-                const cust_select_keys = JSON.stringify(['common_safe', 'customize_safe']); // 因其他地方也有可能保存用户报表的显示选择项,因当初设计问题,不好改数据库结构了,但可以调节内部json来满足需求,安全生产费没有这个,就过了
+                const cust_select_keys = JSON.stringify(['common_stage', 'customize_stage']); // 因其他地方也有可能保存用户报表的显示选择项,因当初设计问题,不好改数据库结构了,但可以调节内部json来满足需求,安全生产费没有这个,就过了
                 const rpt_tpl_items = { customize: [], common: [] };
                 commonArrs.forEach(item => {
                     rpt_tpl_items.common.push(item.name);
@@ -687,9 +684,8 @@ module.exports = app => {
 
                 // 获取所有项目参与者
                 const { accountList, newAccountGroup, advance } = await this._getInvolveAcc(ctx, tenderId);
-                let sp_id = -1;
-                if (this.ctx.subProject) sp_id = this.ctx.subProject.id;
-
+                // let sp_id = -1;
+                // if (this.ctx.subProject) sp_id = this.ctx.subProject.id;
 
                 const renderData = {
                     accountGroup: newAccountGroup,
@@ -703,7 +699,8 @@ module.exports = app => {
                     all_indivi_tpl_data: JSON.stringify([]),
                     cust_select_keys,
                     cust_cfg: JSON.stringify(custCfg),
-                    project_id: tender.pid,
+                    // project_id: tender.pid,
+                    project_id: tender.data.project_id,
                     tender_id: tenderId,
                     tender_name: tender.name,
                     detail_id: -1,
@@ -746,17 +743,15 @@ module.exports = app => {
                     prePay: JSON.stringify(advance),
                     OSS_PATH: ctx.app.config.fujianOssPath,
                     viewPmData: PermissionCheck.viewPmData(this.ctx.session.sessionUser.permission),
-                    source_type: 101,
+                    source_type: 40,
                     bglObj: 'null',
                     changes: 'null',
                     otherChangeList: 'null',
                     otherHintName: '',
                     permissions: '[]',
                 };
-                */
-                /*
-                //*/
-                // await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
+
+                await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
             } catch (err) {
                 this.log(err);
                 // ctx.redirect('/tender/' + ctx.tender.id + '/measure/stage');

+ 7 - 4
app/lib/rm/safe_stage.js

@@ -30,6 +30,9 @@ class rptMemChange extends RptMemBase {
     }
 
     async doBeforeLoadReport(params) {
+        // console.log(`this.ctx.safeStage.tid: ${this.ctx.safeStage.tid}`);
+        console.log(`params.safe_stage_id1: ${params.safe_stage_id}`);
+        // console.log(`params.safe_stage_id1: ${this.ctx.safeStage.id}`);
         await this.doCheckSafeStage(params.safe_stage_id);
         await this.doCheckTender(this.ctx.safeStage.tid);
     }
@@ -53,8 +56,8 @@ class rptMemChange extends RptMemBase {
         billsTree.calculateAll();
         return billsTree.getDefaultDatas();
     }
-    _analysisCompareData(datas, roles){
-        const findHis = function (role, history) {
+    _analysisCompareData(datas, roles) {
+        const findHis = function(role, history) {
             let his = null;
             for (const h of history) {
                 if (h.times < role.times || (h.audit_times === role.audit_times && h.active_order <= role.active_order)) {
@@ -101,7 +104,7 @@ class rptMemChange extends RptMemBase {
             fullPath: 'tree_full_path',
             rootId: -1,
         };
-        setting.calcFields = roles.map(x => { return `r_tp_${x.order}`});
+        setting.calcFields = roles.map(x => { return `r_tp_${x.order}`; });
         setting.calcFields.push('pre_tp');
         const compareTree = new Ledger.billsTree(this.ctx, setting);
         compareTree.loadDatas(bills);
@@ -131,4 +134,4 @@ class rptMemChange extends RptMemBase {
     }
 }
 
-module.exports = rptMemChange;
+module.exports = rptMemChange;

+ 6 - 1
app/public/report/js/rpt_main.js

@@ -509,7 +509,12 @@ let zTreeOprObj = {
         } else {
             params.needWaterMark = false;
         }
-        const url = (STAGE_ID === -600) ? '/contract/report_api/getReport' : '/tender/report_api/getReport';
+        let url = '/tender/report_api/getReport';
+        if (STAGE_ID === -600) url =  '/contract/report_api/getReport';
+        if (STAGE_ID === -150) {
+            url =  '/safe_calc/report_api/getReport';
+            params.tid = params.tender_id;
+        }
         $.bootstrapLoading.start();
         CommonAjax.postXsrfEx(url, params, 300000, true, getCookie('csrfToken_j'),
             async function(result){

+ 3 - 1
app/router.js

@@ -515,7 +515,7 @@ module.exports = app => {
     app.post('/sp/:id/safe/tender/:tid/stage/save', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, 'safeController.saveStage');
     app.post('/sp/:id/safe/tender/:tid/stage/auditors', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, 'safeController.loadAuditors');
     // app.get('/sp/:id/payment/:pid/safe/:did/report', sessionAuth, subProjectCheck, paymentTenderCheck, paymentDetailCheck, 'reportController.indexForPaymentSafe'); // org
-    // app.get('/sp/:id/safe/tender/:tid/stage/:sorder/report', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, safeStageCheck, 'reportController.indexForMeasureSafe');
+    app.get('/sp/:id/safe/tender/:tid/stage/:sorder/report', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, safeStageCheck, 'reportController.indexForSafeCalc');
     app.get('/sp/:id/safe/tender/:tid/stage/:sorder/bills', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, safeStageCheck, 'safeController.safeBills');
     app.get('/sp/:id/safe/tender/:tid/stage/:sorder/compare', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, safeStageCheck, 'safeController.safeCompare');
     app.post('/sp/:id/safe/tender/:tid/stage/:sorder/load', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, safeStageCheck, 'safeController.safeLoad');
@@ -893,6 +893,8 @@ module.exports = app => {
     app.get('/individualReport/:size', sessionAuth, 'reportController.showIndividualPage');
     app.post('/tender/report_api/getReport', sessionAuth, subProjectCheck, 'reportController.getReport');
     app.post('/contract/report_api/getReport', sessionAuth, 'reportController.getReport');
+    // app.post('/safe_calc/report_api/getReport', sessionAuth, subProjectCheck, tenderCheck, tenderPermissionCheck, safeStageCheck, 'reportController.getReport');
+    app.post('/safe_calc/report_api/getReport', sessionAuth, subProjectCheck, tenderCheck, 'reportController.getReport');
     app.post('/report_api/getReport', sessionAuth, 'reportController.getReport');
     app.post('/report_api/getReportTemplate', sessionAuth, 'reportController.getReportTemplate');
     app.post('/report_api/updateReportTemplate', sessionAuth, 'reportController.updateReportTemplate');

+ 7 - 5
app/view/report/index.ejs

@@ -2,6 +2,8 @@
     <% include ../tender/tender_sub_menu.ejs %>
 <% } else if (stg_id === -100) { %>
     <% include ../payment_safe/sub_menu.ejs %>
+<% } else if (stg_id === -150) { %>
+    <% include ../safe_calc/sub_menu.ejs %>
 <% } else if (stg_id === -200) { %>
     <% include ../budget/sub_menu.ejs %>
 <% } else if ([-300, -301, -302, -303].includes(stg_id)) { %>
@@ -16,7 +18,7 @@
         <div class="title-main d-flex">
             <% if(stg_id === -1) { %>
                 <% include ../tender/tender_sub_mini_menu.ejs %>
-            <% } else if ([-100, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
+            <% } else if ([-100, -150, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
             <% } else { %>
                 <% include ../stage/stage_sub_mini_menu.ejs %>
             <% } %>
@@ -48,7 +50,7 @@
                     </div>
                 </div>
                 <% } %>
-                <% if (false || ![-100, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
+                <% if (false || ![-100, -150, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
                 <div class="d-inline-block" id="divSelectableBizs_up">
                     <div class="dropdown" id="divSelectableStages">
                         <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="btnCurrentStage" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"></button>
@@ -64,7 +66,7 @@
                     </div>
                 </div>
                 <% } %>
-                <% if (stg_id === -200 || ![-100, -300, -301, -302, -303, -600].includes(stg_id)) { %>
+                <% if (stg_id === -200 || ![-100, -150, -300, -301, -302, -303, -600].includes(stg_id)) { %>
                 <div class="d-inline-block" id="report_selects_div">
                     <ul class="nav nav-pills m-0" id="report_selects_ul">
                         <% if (ctx.session.sessionUser.is_admin || ctx.session.sessionProject.page_show.isCommonSetup) { %>
@@ -106,7 +108,7 @@
                     <% } %>
                 </div>
                 <% } %>
-                <% if (false || ![-100, -200, -300, -301, -302, -303].includes(stg_id)) { %>
+                <% if (false || ![-100, -150, -200, -300, -301, -302, -303].includes(stg_id)) { %>
                 <% if (ctx.session.sessionProject.page_show.isPreset) { %>
                 <div class="d-inline-block">
                     <div class="dropdown" id="divPresets">
@@ -695,7 +697,7 @@
         current_stage_status = STAGE_LIST[STAGE_LIST.length - 1].status;
     }
 
-    <% if (false || ![-100, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
+    <% if (false || ![-100, -150, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
     buildStageSelection();
     <% } %>
     setupSignature();

+ 2 - 2
app/view/report/rpt_all_popup.ejs

@@ -814,7 +814,7 @@
     </div>
 </div>
 
-<% if (![-100, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
+<% if (![-100, -150, -200, -300, -301, -302, -303, -600].includes(stg_id)) { %>
 <% include ../stage/audit_modal.ejs %>
 <% } %>
 
@@ -822,7 +822,7 @@
     zTreeOprObj.getCustomerCfg();
     zTreeOprObj.iniFontCfgDom(CUST_CFG);
     
-    <% if (![-100, -300, -301, -302, -303, -600].includes(stg_id)) { %>
+    <% if (![-100, -150, -300, -301, -302, -303, -600].includes(stg_id)) { %>
     buildCustRptCommon('report_cust_group_common', ORG_TOP_TREE_NODES[1], CUST_TREE_NODES.common, 'true');
     buildCustRptCommon('report_cust_group_individual', ORG_TOP_TREE_NODES[0], CUST_TREE_NODES.customize, 'false');
     <% } %>

+ 1 - 1
app/view/safe_calc/sub_menu_list.ejs

@@ -1,5 +1,5 @@
 <nav-menu title="返回" url="/sp/<%- ctx.subProject.id %>/safe/tender/<%- ctx.tender.id  %>/stage" tclass="text-primary" ml="1" icon="fa-chevron-left"></nav-menu>
 <nav-menu title="安全生产费" url="/sp/<%- ctx.subProject.id %>/safe/tender/<%- ctx.tender.id %>/stage/<%= ctx.safeStage.stage_order %>/bills" ml="3" active="<%= ctx.url.indexOf('bills') %>"></nav-menu>
 <nav-menu title="审核比较" url="/sp/<%- ctx.subProject.id %>/safe/tender/<%- ctx.tender.id %>/stage/<%= ctx.safeStage.stage_order %>/compare" ml="3" active="<%= ctx.url.indexOf('compare') %>"></nav-menu>
-<!-- <nav-menu title="输出报表" url="/sp/<%- ctx.subProject.id %>/safe/tender/<%- ctx.tender.id %>/stage/<%= ctx.safeStage.stage_order %>/report" ml="3" active="<%= ctx.url.indexOf('report') %>"></nav-menu> -->
+<nav-menu title="输出报表" url="/sp/<%- ctx.subProject.id %>/safe/tender/<%- ctx.tender.id %>/stage/<%= ctx.safeStage.stage_order %>/report" ml="3" active="<%= ctx.url.indexOf('report') %>"></nav-menu>
 <% include ./audit_btn.ejs %>