Showing
1 changed file
with
14 additions
and
7 deletions
| ... | ... | @@ -180,7 +180,7 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont |
| 180 | 180 | data.setAfterDataJson(JsonUtil.toJsonString(afterData)); |
| 181 | 181 | data.setApprovalStatus(CustomerDevelopStatus.AUDIT.name()); |
| 182 | 182 | |
| 183 | - fillFlowVariables(data, contract); | |
| 183 | + fillFlowVariables(data, contract, afterData); | |
| 184 | 184 | getBaseMapper().insert(data); |
| 185 | 185 | |
| 186 | 186 | OpLogUtil.setVariable("id", data.getId()); |
| ... | ... | @@ -204,18 +204,16 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont |
| 204 | 204 | } |
| 205 | 205 | |
| 206 | 206 | ContractDistributorStandard contract = getContractOrThrow(data.getContractId()); |
| 207 | - UpdateContractDistributorStandardVo beforeData = buildContractData(contract); | |
| 208 | 207 | UpdateContractDistributorStandardVo afterData = normalizeContractData(contract, vo.getContractData(), vo.getChangeReason()); |
| 209 | 208 | |
| 210 | 209 | Wrapper<ContractChangeApplication> wrapper = Wrappers.lambdaUpdate(ContractChangeApplication.class) |
| 211 | 210 | .set(ContractChangeApplication::getChangeReason, StringUtils.defaultIfBlank(vo.getChangeReason(), afterData.getChangeReason())) |
| 212 | - .set(ContractChangeApplication::getBeforeDataJson, JsonUtil.toJsonString(beforeData)) | |
| 213 | 211 | .set(ContractChangeApplication::getAfterDataJson, JsonUtil.toJsonString(afterData)) |
| 214 | 212 | .set(ContractChangeApplication::getApprovalStatus, CustomerDevelopStatus.AUDIT.name()) |
| 215 | 213 | .eq(ContractChangeApplication::getId, vo.getId()); |
| 216 | 214 | update(wrapper); |
| 217 | 215 | |
| 218 | - fillFlowVariables(data, contract); | |
| 216 | + fillFlowVariables(data, contract, afterData); | |
| 219 | 217 | data.setAfterDataJson(JsonUtil.toJsonString(afterData)); |
| 220 | 218 | data.setChangeReason(StringUtils.defaultIfBlank(vo.getChangeReason(), afterData.getChangeReason())); |
| 221 | 219 | flowInstanceWrapperService.startInstance(BPM_FLAG, data.getId(), BPM_FLAG, data); |
| ... | ... | @@ -577,15 +575,24 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont |
| 577 | 575 | * |
| 578 | 576 | * @param data 申请单 |
| 579 | 577 | * @param contract 合同 |
| 578 | + * @param afterData 变更后数据 | |
| 580 | 579 | */ |
| 581 | - private void fillFlowVariables(ContractChangeApplication data, ContractDistributorStandard contract) { | |
| 580 | + private void fillFlowVariables(ContractChangeApplication data, ContractDistributorStandard contract, | |
| 581 | + UpdateContractDistributorStandardVo afterData) { | |
| 582 | 582 | if (data == null || contract == null) { |
| 583 | 583 | return; |
| 584 | 584 | } |
| 585 | 585 | |
| 586 | - Workshop workshop = workshopService.findById(contract.getWorkshopId()); | |
| 586 | + String workshopId = afterData == null || StringUtils.isBlank(afterData.getWorkshopId()) | |
| 587 | + ? contract.getWorkshopId() | |
| 588 | + : afterData.getWorkshopId(); | |
| 589 | + String deptId = afterData == null || StringUtils.isBlank(afterData.getDeptId()) | |
| 590 | + ? contract.getDeptId() | |
| 591 | + : afterData.getDeptId(); | |
| 592 | + | |
| 593 | + Workshop workshop = workshopService.findById(workshopId); | |
| 587 | 594 | data.setWorkshopCode(workshop == null ? "" : workshop.getCode()); |
| 588 | - SysDept sysDept = sysDeptService.findById(contract.getDeptId()); | |
| 595 | + SysDept sysDept = sysDeptService.findById(deptId); | |
| 589 | 596 | data.setDeptCode(sysDept == null ? "" : sysDept.getCode()); |
| 590 | 597 | } |
| 591 | 598 | ... | ... |