bug修改

This commit is contained in:
赵辉
2026-07-03 22:05:37 +08:00
parent fb4c508873
commit 553e0eebee
5 changed files with 40 additions and 7 deletions
@@ -759,6 +759,10 @@ public class ContractManageApplicationService {
}
//根据合同编码查询保存合同信息
ContractManagePO contractManagePO = contractManageDomainService.getInfoByCode1(contractManageDO.getOriginalContractNumber());
//修改时,不管前端是否传明细,都需要先删除该合同原有的明细,避免明细为空时老明细仍在
if (!isInsert) {
contractManageDetailMapper.delete(new LambdaQueryWrapper<ContractManageDetail>().eq(ContractManageDetail::getContractManageId, contractManageDO.getContractManageId()));
}
//保存合同详情科目
List<ContractManageDetailDTO> contractManageDetailDTOList = contractManageDO.getContractManageDetailDTOList();
if(null != contractManageDetailDTOList && contractManageDetailDTOList.size()>0){
@@ -830,8 +834,9 @@ public class ContractManageApplicationService {
if (isInsert) {
// 新增/复制时使用新插入的合同ID
contractManageDetailDO.setContractManageId(contractManageDO.getContractManageId());
} else if(null != contractManagePO){
contractManageDetailDO.setContractManageId(contractManagePO.getContractManageId());
} else {
// 修改时使用当前正在修改的合同ID,不能用 getInfoByCode1 查到的(避免多条合同 originalContractNumber 相同导致明细错绑)
contractManageDetailDO.setContractManageId(contractManageDO.getContractManageId());
}
contractManageDetailDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
contractManageDetailDO.setOrganizationId(loginUser.getUserPo().getOrganizationId());