|
@@ -116,7 +116,7 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
* 计算新合同的剩余数量
|
|
|
*/
|
|
|
for(ContractProduct newCp:newContractProductList){
|
|
|
-
|
|
|
+ newCp.setExpendQuantity(newCp.getQuantity());
|
|
|
if(ObjectUtil.isNotEmpty(newCp.getId())){//如果新合同产品ID不为空
|
|
|
//取出旧合同
|
|
|
ContractProduct oldContractProduct = oldContractProductMap.getOrDefault(newCp.getId(),null).get(0);
|
|
@@ -160,18 +160,20 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
if (oldContract == null) {
|
|
|
throw new ServiceException("原合同不存在");
|
|
|
}
|
|
|
- long temOldId = IdWorker.getId();
|
|
|
+ //替换新数据ID为临时ID
|
|
|
long temNewId = IdWorker.getId();
|
|
|
- Contract temOldUpContract = new Contract();
|
|
|
- temOldUpContract.setId(temOldId);
|
|
|
- temOldUpContract.setUpId(oldContractId);
|
|
|
Contract temNewUpContract = new Contract();
|
|
|
temNewUpContract.setId(temNewId);
|
|
|
temNewUpContract.setUpId(businessId);
|
|
|
- //替换新旧数据ID为临时ID
|
|
|
- contractService.updateContract(temOldUpContract);
|
|
|
contractService.updateContract(temNewUpContract);
|
|
|
|
|
|
+ long temOldId = IdWorker.getId();
|
|
|
+ Contract temOldUpContract = new Contract();
|
|
|
+ temOldUpContract.setId(temOldId);
|
|
|
+ temOldUpContract.setUpId(oldContractId);
|
|
|
+ contractService.updateContract(temOldUpContract);
|
|
|
+
|
|
|
+
|
|
|
//查询新数据产品、收费、出货
|
|
|
List<Long> newContractProductIds = contractProductService.list(Wrappers.<ContractProduct>query().lambda().select(ContractProduct::getId).eq(ContractProduct::getContractId,businessId)).stream().map(ContractProduct::getId).collect(Collectors.toList());
|
|
|
List<Long> newContractProjectIds = contractProjectService.list(Wrappers.<ContractProject>query().lambda().select(ContractProject::getId).eq(ContractProject::getContractId,businessId)).stream().map(ContractProject::getId).collect(Collectors.toList());
|
|
@@ -212,7 +214,7 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
oldContract.setId(businessId);
|
|
|
oldContract.setStatus(FlowStatusEnum1.UPDATE.getKey());
|
|
|
oldContract.setIsChange("1");
|
|
|
- newContract.setUpId(temOldId);
|
|
|
+ oldContract.setUpId(temOldId);
|
|
|
contractService.updateContract(oldContract);
|
|
|
//修改合同产品相关数据
|
|
|
if(CollectionUtils.isNotEmpty(oldContractProductIds)){
|
|
@@ -228,6 +230,7 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
//修改合同出货相关数据
|
|
|
contractShipmentService.update(Wrappers.<ContractShipment>update().lambda().set(ContractShipment::getContractId,businessId).in(ContractShipment::getId,oldContractShipmentIds));
|
|
|
}
|
|
|
+ ObsFileUtil.exchangeBusinessId(oldContractId,businessId);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -251,6 +254,7 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
List<ContractProduct> contractProductList = contract.getContractProductList();
|
|
|
if (CollectionUtils.isNotEmpty(contractProductList)) {
|
|
|
for (ContractProduct c : contractProductList) {
|
|
|
+ c.setId(IdWorker.getId());
|
|
|
c.setContractId(contract.getId());
|
|
|
// ObsFileUtil.saveFile(c.getFileList(), c.getId());
|
|
|
}
|
|
@@ -261,6 +265,7 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
List<ContractProject> contractProjectList = contract.getContractProjectList();
|
|
|
if (CollectionUtils.isNotEmpty(contractProjectList)) {
|
|
|
for (ContractProject c : contractProjectList) {
|
|
|
+ c.setId(IdWorker.getId());
|
|
|
c.setContractId(contract.getId());
|
|
|
}
|
|
|
contractProjectService.saveBatch(contractProjectList);
|
|
@@ -270,6 +275,7 @@ public class ContractUpdateFlow extends FlowDelegate {
|
|
|
List<ContractShipment> contractShipmentList = contract.getContractShipmentList();
|
|
|
if (CollectionUtils.isNotEmpty(contractShipmentList)) {
|
|
|
for (ContractShipment c : contractShipmentList) {
|
|
|
+ c.setId(IdWorker.getId());
|
|
|
c.setContractId(contract.getId());
|
|
|
}
|
|
|
contractShipmentService.saveBatch(contractShipmentList);
|