Browse Source

预付款、材差签名继承

Tony Kang 10 tháng trước cách đây
mục cha
commit
d021ac39b8

+ 7 - 0
app/controller/advance_controller.js

@@ -225,7 +225,14 @@ module.exports = app => {
         async create(ctx) {
             const type = parseInt(ctx.params.type);
             try {
+                // 参考变更令的做法,在创建新一期预付款时,需要copy前一个预付款报表的签名信息
+                const lastAdvance = await ctx.service.advance.getLastestAdvance(ctx.tender.id, type, true);
                 const record = await ctx.service.advance.createRecord(type);
+                if (lastAdvance && record) {
+                    // 这里advance list是所有类型的合在一起,不会有重复的id
+                    await ctx.service.roleRptRel.createRoleRelationshipFromOtherBz(ctx.tender.id, '-400', record.id, lastAdvance.id);
+                }
+
                 if (!record) {
                     throw '数据错误';
                 }

+ 6 - 1
app/controller/material_controller.js

@@ -245,10 +245,15 @@ module.exports = app => {
                 if (doingMaterial) {
                     throw '存在待上报或审批中的调差期,请勿重复生成';
                 }
+                // 参考变更令的做法,在创建新一期预付款时,需要copy前一个预付款报表的签名信息
+                const lastMaterial = await ctx.service.material.getLastestMaterial(ctx.tender.id, true);
                 const newMaterial = await ctx.service.material.addMaterial(ctx.tender.id, data);
                 if (!newMaterial) {
                     throw '新增材料调差期失败,请重试';
                 }
+                if (lastMaterial) {
+                    await ctx.service.roleRptRel.createRoleRelationshipFromOtherBz(ctx.tender.id, '-500', newMaterial.id, lastMaterial.id);
+                }
                 // ctx.redirect('/tender/' + ctx.tender.id + '/measure/material/' + newMaterial.order);
                 ctx.body = { err: 0, msg: '', data: newMaterial };
             } catch (err) {
@@ -645,7 +650,7 @@ module.exports = app => {
                     const materialListData = await ctx.service.materialList.getMaterialData(ctx.tender.id, lastMaterial.id);
                     const hadBillsList = [];
                     for (const ml of materialListData) {
-                        const hb = _.find(hadBillsList, {gcl_id: ml.gcl_id, mb_id: ml.mb_id});
+                        const hb = _.find(hadBillsList, { gcl_id: ml.gcl_id, mb_id: ml.mb_id });
                         if (!hb) {
                             hadBillsList.push({
                                 gcl_id: ml.gcl_id,