Browse Source

更新用户签名表结构及相关操作

Tony Kang 1 year ago
parent
commit
47bf5ad1c7

+ 7 - 7
app/const/rpt_archive.js

@@ -9,12 +9,12 @@
  */
  */
 
 
 const BusinessType = [
 const BusinessType = [
-    { stageId: -100, type: 'payment_safe'},
-    { stageId: -200, type: 'budget'},
-    { stageId: -300, type: 'change'},
-    { stageId: -301, type: 'change_plan'},
-    { stageId: -302, type: 'change_project'},
-    { stageId: -303, type: 'change_apply'},
+    { stageId: -100, type: 'payment_safe' },
+    { stageId: -200, type: 'budget' },
+    { stageId: -300, type: 'change' },
+    { stageId: -301, type: 'change_plan' },
+    { stageId: -302, type: 'change_project' },
+    { stageId: -303, type: 'change_apply' },
 ];
 ];
 const getBusinessType = function(stageId) {
 const getBusinessType = function(stageId) {
     const sid = parseInt(stageId);
     const sid = parseInt(stageId);
@@ -34,4 +34,4 @@ module.exports = {
     BusinessType,
     BusinessType,
     getBusinessType,
     getBusinessType,
     BusinessStageId,
     BusinessStageId,
-};
+};

+ 9 - 0
app/const/source_type.js

@@ -22,8 +22,17 @@ const sourceType = (function(data) {
     return result;
     return result;
 })(sourceTypeData);
 })(sourceTypeData);
 
 
+const sourceTypeKey = (function(data) {
+    const result = {};
+    for (const d of data) {
+        result[d.id] = d.key;
+    }
+    return result;
+})(sourceTypeData);
+
 module.exports = {
 module.exports = {
     sourceType,
     sourceType,
+    sourceTypeKey,
     sourceTypeData,
     sourceTypeData,
     defaultSourceType: sourceTypeData[0].id,
     defaultSourceType: sourceTypeData[0].id,
 };
 };

+ 8 - 5
app/controller/signature_controller.js

@@ -3,6 +3,7 @@
  * Created by Tony on 2019/9/26.
  * Created by Tony on 2019/9/26.
  */
  */
 const fs = require('fs');
 const fs = require('fs');
+const sourceTypeConst = require('../const/source_type');
 
 
 module.exports = app => {
 module.exports = app => {
     class ReportController extends app.BaseController {
     class ReportController extends app.BaseController {
@@ -48,7 +49,9 @@ module.exports = app => {
         async updateRoleRel(ctx) {
         async updateRoleRel(ctx) {
             const params = JSON.parse(ctx.request.body.params);
             const params = JSON.parse(ctx.request.body.params);
             // console.log(params);
             // console.log(params);
-            const rst = await ctx.service.roleRptRel.updateRoleRelationship(params.id, params.tender_id, params.rpt_id, params.stage_id, params.rel_content);
+            const bzId = params.business_id;
+            const srcKey = sourceTypeConst.sourceTypeKey[params.source_type];
+            const rst = await ctx.service.roleRptRel.updateRoleRelationship(params.id, params.tender_id, params.rpt_id, params.stage_id, bzId, srcKey, params.rel_content);
             const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_id, params.stage_id);
             const roleRel = await ctx.service.roleRptRel.getRoleRptRelByDetailIds(params.tender_id, params.rpt_id, params.stage_id);
             // const roleRel = params.rel_content;
             // const roleRel = params.rel_content;
             await encodeSignatureDataUri(roleRel, this.app.baseDir);
             await encodeSignatureDataUri(roleRel, this.app.baseDir);
@@ -81,12 +84,12 @@ module.exports = app => {
         async updateCrossTendersRoleRelationship(ctx) {
         async updateCrossTendersRoleRelationship(ctx) {
             const params = JSON.parse(ctx.request.body.params);
             const params = JSON.parse(ctx.request.body.params);
             const conParams = params.selectedTenders;
             const conParams = params.selectedTenders;
-            // conParams.push([params.tender_id, params.stage_id, params.rpt_id]); // 传过来的数据是额外项目的,还需要加上自己一个
             const roleRel = params.rel_content;
             const roleRel = params.rel_content;
-            // updateMultiRoleRelationship
+            const bzId = params.business_id;
+            const srcKey = sourceTypeConst.sourceTypeKey[params.source_type];
             // console.log(params.rel_content);
             // console.log(params.rel_content);
-            await ctx.service.roleRptRel.updateRoleRelationship(params.id, params.tender_id, params.rpt_id, params.stage_id, params.rel_content); // 传过来的数据是额外项目的,还需要单独处理当前的
-            const rst = await ctx.service.roleRptRel.updateMultiRoleRelationship(conParams, roleRel);
+            await ctx.service.roleRptRel.updateRoleRelationship(params.id, params.tender_id, params.rpt_id, params.stage_id, bzId, srcKey, params.rel_content); // 传过来的数据是额外项目的,还需要单独处理当前的
+            const rst = await ctx.service.roleRptRel.updateMultiRoleRelationship(conParams, bzId, srcKey, roleRel);
             ctx.body = { data: rst };
             ctx.body = { data: rst };
             ctx.status = 201;
             ctx.status = 201;
         }
         }

+ 9 - 9
app/public/report/js/rpt_main.js

@@ -328,9 +328,9 @@ let zTreeOprObj = {
             params.detail_id = DETAIL_ID;
             params.detail_id = DETAIL_ID;
             params.change_id = CHNAGE_ID;
             params.change_id = CHNAGE_ID;
             params.change_times = CHANGE_TIMES;
             params.change_times = CHANGE_TIMES;
-            params.change_plan_id = BUSINESS_ID;
-            params.change_project_id = BUSINESS_ID;
-            params.change_apply_id = BUSINESS_ID;
+            params.change_plan_id = CHNAGE_PLAN_ID;
+            params.change_project_id = CHNAGE_PROJECT_ID;
+            params.change_apply_id = CHNAGE_APPLY_ID;
             _getSplitAmendmentParam(params, treeNode);
             _getSplitAmendmentParam(params, treeNode);
         
         
             rptArchiveObj.toggleBtn(false);
             rptArchiveObj.toggleBtn(false);
@@ -418,9 +418,9 @@ let zTreeOprObj = {
             params.detail_id = DETAIL_ID;
             params.detail_id = DETAIL_ID;
             params.change_id = CHNAGE_ID;
             params.change_id = CHNAGE_ID;
             params.change_times = CHANGE_TIMES;
             params.change_times = CHANGE_TIMES;
-            params.change_plan_id = BUSINESS_ID;
-            params.change_project_id = BUSINESS_ID;
-            params.change_apply_id = BUSINESS_ID;
+            params.change_plan_id = CHNAGE_PLAN_ID;
+            params.change_project_id = CHNAGE_PROJECT_ID;
+            params.change_apply_id = CHNAGE_APPLY_ID;
             _getSplitAmendmentParam(params, me.currentNode);
             _getSplitAmendmentParam(params, me.currentNode);
             localStorage[CUST_NAME + '_custCfg'] = JSON.stringify(CUST_CFG);
             localStorage[CUST_NAME + '_custCfg'] = JSON.stringify(CUST_CFG);
 
 
@@ -747,9 +747,9 @@ let rptControlObj = {
         rst.detail_id = DETAIL_ID;
         rst.detail_id = DETAIL_ID;
         rst.change_id = CHNAGE_ID;
         rst.change_id = CHNAGE_ID;
         rst.change_times = CHANGE_TIMES;
         rst.change_times = CHANGE_TIMES;
-        rst.change_plan_id = BUSINESS_ID;
-        rst.change_project_id = BUSINESS_ID;
-        rst.change_apply_id = BUSINESS_ID;
+        rst.change_plan_id = CHNAGE_PLAN_ID;
+        rst.change_project_id = CHNAGE_PROJECT_ID;
+        rst.change_apply_id = CHNAGE_APPLY_ID;
     // rst.amendmentType = 
     // rst.amendmentType = 
         return rst;
         return rst;
     },
     },

+ 4 - 0
app/public/report/js/rpt_signature.js

@@ -491,6 +491,8 @@ let rptSignatureHelper = {
         params.id = CURRENT_ROLE_REL_ID;
         params.id = CURRENT_ROLE_REL_ID;
         params.tender_id = TENDER_ID;
         params.tender_id = TENDER_ID;
         params.stage_id = getStageId();
         params.stage_id = getStageId();
+        params.business_id = BUSINESS_ID;
+        params.source_type = SOURCE_TYPE;
         params.rpt_id = zTreeOprObj.currentNode.refId;
         params.rpt_id = zTreeOprObj.currentNode.refId;
         params.rel_content = ROLE_REL_LIST;
         params.rel_content = ROLE_REL_LIST;
         params.selectedTenders = selectedTenders;
         params.selectedTenders = selectedTenders;
@@ -557,6 +559,8 @@ let rptSignatureHelper = {
         params.id = CURRENT_ROLE_REL_ID;
         params.id = CURRENT_ROLE_REL_ID;
         params.tender_id = TENDER_ID;
         params.tender_id = TENDER_ID;
         params.stage_id = getStageId();
         params.stage_id = getStageId();
+        params.business_id = BUSINESS_ID;
+        params.source_type = SOURCE_TYPE;
         params.rpt_id = zTreeOprObj.currentNode.refId;
         params.rpt_id = zTreeOprObj.currentNode.refId;
         params.rel_content = ROLE_REL_LIST;
         params.rel_content = ROLE_REL_LIST;
         params.rel_content = [];
         params.rel_content = [];

+ 11 - 10
app/service/role_rpt_rel.js

@@ -105,7 +105,7 @@ module.exports = app => {
             return list;
             return list;
         }
         }
 
 
-        async createRoleRelationship(tender_id, rpt_id, sid, relArr) {
+        async createRoleRelationship(tender_id, rpt_id, sid, business_id, source_type, relArr) {
             let rst = null;
             let rst = null;
             this.transaction = await this.db.beginTransaction();
             this.transaction = await this.db.beginTransaction();
             try {
             try {
@@ -113,6 +113,8 @@ module.exports = app => {
                     tender_id,
                     tender_id,
                     rpt_id,
                     rpt_id,
                     sid,
                     sid,
+                    business_id,
+                    source_type,
                     rel_content: JSON.stringify(relArr),
                     rel_content: JSON.stringify(relArr),
                 };
                 };
                 // console.log(data);
                 // console.log(data);
@@ -145,20 +147,19 @@ module.exports = app => {
                         }
                         }
                     }
                     }
                 }
                 }
-                // rst.push(await this.createRoleRelationship(tender_id, rptRoleRel.rpt_id, stage.id, newRelList));
-                await this.createRoleRelationship(tender_id, rptRoleRel.rpt_id, stage.id, newRelList); // 暂时用不到,就先不返回结果
+                await this.createRoleRelationship(tender_id, rptRoleRel.rpt_id, stage.id, '', 'tender', newRelList); // 暂时用不到,就先不返回结果
             }
             }
             return rst;
             return rst;
         }
         }
 
 
-        async updateRoleRelationship(id, tender_id, rpt_id, sid, relArr) {
+        async updateRoleRelationship(id, tender_id, rpt_id, sid, business_id, source_type, relArr) {
             let rst = null;
             let rst = null;
             if (id < 0) {
             if (id < 0) {
-                rst = await this.createRoleRelationship(tender_id, rpt_id, sid, relArr);
+                rst = await this.createRoleRelationship(tender_id, rpt_id, sid, business_id, source_type, relArr);
             } else {
             } else {
                 this.transaction = await this.db.beginTransaction();
                 this.transaction = await this.db.beginTransaction();
                 try {
                 try {
-                    const data = { id, tender_id, rpt_id, sid, rel_content: JSON.stringify(relArr) };
+                    const data = { id, tender_id, rpt_id, sid, business_id, source_type, rel_content: JSON.stringify(relArr) };
                     rst = await this.transaction.update(this.tableName, data);
                     rst = await this.transaction.update(this.tableName, data);
                     await this.transaction.commit();
                     await this.transaction.commit();
                 } catch (ex) {
                 } catch (ex) {
@@ -170,7 +171,7 @@ module.exports = app => {
             return rst;
             return rst;
         }
         }
 
 
-        async updateMultiRoleRelationship(orgParams, newRelArr) {
+        async updateMultiRoleRelationship(orgParams, bzId, srcKey, newRelArr) {
             for (let idx = 0; idx < orgParams.length; idx++) {
             for (let idx = 0; idx < orgParams.length; idx++) {
                 const param = orgParams[idx];
                 const param = orgParams[idx];
                 const data = { tender_id: param[0], sid: param[1], rpt_id: param[2] };
                 const data = { tender_id: param[0], sid: param[1], rpt_id: param[2] };
@@ -178,7 +179,7 @@ module.exports = app => {
                 try {
                 try {
                     await this.transaction.delete(this.tableName, data);
                     await this.transaction.delete(this.tableName, data);
                     this.transaction.commit();
                     this.transaction.commit();
-                    await this.createRoleRelationship(param[0], param[2], param[1], newRelArr);
+                    await this.createRoleRelationship(param[0], param[2], param[1], bzId, srcKey, newRelArr);
                 } catch (ex) {
                 } catch (ex) {
                     console.log(ex.toString());
                     console.log(ex.toString());
                     // 回滚
                     // 回滚
@@ -189,7 +190,7 @@ module.exports = app => {
         }
         }
 
 
         async checkSignDate(transaction, stage, curAudit, time) {
         async checkSignDate(transaction, stage, curAudit, time) {
-            const rptRole = await this.getAllDataByCondition({ where: { sid: stage.id }});
+            const rptRole = await this.getAllDataByCondition({ where: { sid: stage.id } });
             const period = stage.period.split(' ~ ');
             const period = stage.period.split(' ~ ');
 
 
             const updateData = [];
             const updateData = [];
@@ -211,7 +212,7 @@ module.exports = app => {
                         bChange = true;
                         bChange = true;
                     }
                     }
                 }
                 }
-                if (bChange) updateData.push({ id: rc.id, rel_content: JSON.stringify(roleContent)});
+                if (bChange) updateData.push({ id: rc.id, rel_content: JSON.stringify(roleContent) });
             }
             }
             if (updateData.length > 0) await transaction.updateRows(this.tableName, updateData);
             if (updateData.length > 0) await transaction.updateRows(this.tableName, updateData);
         }
         }

+ 0 - 61
app/service/rpt_archive.js

@@ -121,67 +121,6 @@ module.exports = app => {
             return rst;
             return rst;
         }
         }
 
 
-        // async addInitialStageData(tender_id, stage, preStage) {
-        //     // 在加stage的时候需要挂上这个,copy之前的签名人
-        //     const rst = [];
-        //     const preRoleRelList = await this.getRoleRptRelByTenderId(tender_id, preStage.id);
-        //     for (const rptRoleRel of preRoleRelList) {
-        //         const relList = JSON.parse(rptRoleRel.rel_content);
-        //         // const newRptRoleRel = {tender_id: tender_id, rpt_id: rptRoleRel.rpt_id, sid: stage.id, rel_content: ''};
-        //         const newRelList = [];
-        //         for (const role of relList) {
-        //             const newRole = {};
-        //             newRelList.push(newRole);
-        //             for (const key in role) {
-        //                 if (key !== 'sign_date') {
-        //                     newRole[key] = role[key];
-        //                 } else {
-        //                     newRole[key] = '';
-        //                 }
-        //             }
-        //         }
-        //         // rst.push(await this.createRoleRelationship(tender_id, rptRoleRel.rpt_id, stage.id, newRelList));
-        //         await this.createRoleRelationship(tender_id, rptRoleRel.rpt_id, stage.id, newRelList); // 暂时用不到,就先不返回结果
-        //     }
-        //     return rst;
-        // }
-
-        // async updateRoleRelationship(id, tender_id, rpt_id, sid, relArr) {
-        //     let rst = null;
-        //     if (id < 0) {
-        //         rst = await this.createRoleRelationship(tender_id, rpt_id, sid, relArr);
-        //     } else {
-        //         this.transaction = await this.db.beginTransaction();
-        //         try {
-        //             const data = { id, tender_id, rpt_id, sid, rel_content: JSON.stringify(relArr) };
-        //             rst = await this.transaction.update(this.tableName, data);
-        //             await this.transaction.commit();
-        //         } catch (ex) {
-        //             console.log(ex);
-        //             // 回滚
-        //             await this.transaction.rollback();
-        //         }
-        //     }
-        //     return rst;
-        // }
-        //
-        // async updateMultiRoleRelationship(orgParams, newRelArr) {
-        //     for (let idx = 0; idx < orgParams.length; idx++) {
-        //         const param = orgParams[idx];
-        //         const data = { tender_id: param[0], sid: param[1], rpt_id: param[2] };
-        //         this.transaction = await this.db.beginTransaction();
-        //         try {
-        //             await this.transaction.delete(this.tableName, data);
-        //             this.transaction.commit();
-        //             await this.createRoleRelationship(param[0], param[2], param[1], newRelArr);
-        //         } catch (ex) {
-        //             console.log(ex.toString());
-        //             // 回滚
-        //             await this.transaction.rollback();
-        //         }
-        //     }
-        //     return true;
-        // }
     }
     }
     return RptArchive;
     return RptArchive;
 };
 };

+ 3 - 0
app/view/report/index.ejs

@@ -401,6 +401,9 @@
     const CHNAGE_ID = '<%- changeId %>';
     const CHNAGE_ID = '<%- changeId %>';
     const CHANGE_TIMES = <%- change_times %>;
     const CHANGE_TIMES = <%- change_times %>;
     const BUSINESS_ID = '<%- businessId %>';
     const BUSINESS_ID = '<%- businessId %>';
+    const CHNAGE_PLAN_ID = '<%- cPlanId %>';
+    const CHNAGE_PROJECT_ID = '<%- cPrjId %>';
+    const CHNAGE_APPLY_ID = '<%- cAplId %>';
     const SP_ID = '<%- sp_id %>';
     const SP_ID = '<%- sp_id %>';
     const SOURCE_TYPE = <%- source_type %>;
     const SOURCE_TYPE = <%- source_type %>;
     const ALL_CHANGES = <%- changes %>;
     const ALL_CHANGES = <%- changes %>;