|
@@ -27,7 +27,9 @@ import com.fjhx.purchase.service.subscribe.SubscribeDetailService;
|
|
import com.fjhx.sale.entity.contract.dto.ContractDto;
|
|
import com.fjhx.sale.entity.contract.dto.ContractDto;
|
|
import com.fjhx.sale.entity.contract.po.Contract;
|
|
import com.fjhx.sale.entity.contract.po.Contract;
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
import com.fjhx.sale.entity.contract.po.ContractProduct;
|
|
|
|
+import com.fjhx.sale.entity.contract.po.ContractProductBom;
|
|
import com.fjhx.sale.entity.contract.po.ContractProject;
|
|
import com.fjhx.sale.entity.contract.po.ContractProject;
|
|
|
|
+import com.fjhx.sale.service.contract.ContractProductBomService;
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
import com.fjhx.sale.service.contract.ContractProductService;
|
|
import com.fjhx.sale.service.contract.ContractProjectService;
|
|
import com.fjhx.sale.service.contract.ContractProjectService;
|
|
import com.fjhx.sale.service.contract.ContractService;
|
|
import com.fjhx.sale.service.contract.ContractService;
|
|
@@ -80,6 +82,8 @@ public class ContractFlow extends FlowDelegate {
|
|
private ISysDeptService deptService;
|
|
private ISysDeptService deptService;
|
|
@Autowired
|
|
@Autowired
|
|
private ProductStockInfoService productStockInfoService;
|
|
private ProductStockInfoService productStockInfoService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private ContractProductBomService contractProductBomService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public String getFlowKey() {
|
|
public String getFlowKey() {
|
|
@@ -165,20 +169,29 @@ public class ContractFlow extends FlowDelegate {
|
|
// 保存合同产品
|
|
// 保存合同产品
|
|
List<ContractProduct> contractProductList = contract.getContractProductList();
|
|
List<ContractProduct> contractProductList = contract.getContractProductList();
|
|
contractProductList = ObjectUtil.isEmpty(contractProductList) ? new ArrayList<>() : contractProductList;
|
|
contractProductList = ObjectUtil.isEmpty(contractProductList) ? new ArrayList<>() : contractProductList;
|
|
- for (ContractProduct c : contractProductList) {
|
|
|
|
|
|
+ for (ContractProduct cp : contractProductList) {
|
|
//对新数据创建id
|
|
//对新数据创建id
|
|
- c.setId(ObjectUtil.isEmpty(c.getId()) ? IdWorker.getId() : c.getId());
|
|
|
|
|
|
+ cp.setId(ObjectUtil.isEmpty(cp.getId()) ? IdWorker.getId() : cp.getId());
|
|
//赋值合同Id
|
|
//赋值合同Id
|
|
- c.setContractId(contract.getId());
|
|
|
|
|
|
+ cp.setContractId(contract.getId());
|
|
//保存设计稿图
|
|
//保存设计稿图
|
|
- ObsFileUtil.editFile(c.getFileList(), c.getId());
|
|
|
|
|
|
+ ObsFileUtil.editFile(cp.getFileList(), cp.getId());
|
|
//保存生产源文件
|
|
//保存生产源文件
|
|
- String prodFilePath = c.getProdFilePath();
|
|
|
|
|
|
+ String prodFilePath = cp.getProdFilePath();
|
|
if (ObjectUtil.isNotEmpty(prodFilePath) && prodFilePath.startsWith("/temp")) {
|
|
if (ObjectUtil.isNotEmpty(prodFilePath) && prodFilePath.startsWith("/temp")) {
|
|
- String targetFolderPath = String.format("/contractProduct/%s", c.getId());
|
|
|
|
|
|
+ String targetFolderPath = String.format("/contractProduct/%s", cp.getId());
|
|
com.alibaba.fastjson2.JSONObject prodFile = ftpFileService.moveFolder(prodFilePath, targetFolderPath);
|
|
com.alibaba.fastjson2.JSONObject prodFile = ftpFileService.moveFolder(prodFilePath, targetFolderPath);
|
|
- c.setProdFilePath(prodFile.getString("path"));
|
|
|
|
|
|
+ cp.setProdFilePath(prodFile.getString("path"));
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //赋值产品BOM信息
|
|
|
|
+ List<ContractProductBom> contractProductBomList = cp.getContractProductBomList();
|
|
|
|
+ for (ContractProductBom contractProductBom : contractProductBomList) {
|
|
|
|
+ contractProductBom.setContractProductId(cp.getId());
|
|
|
|
+ contractProductBom.setProductId(cp.getProductId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ contractProductBomService.editLinked(contractProductBomList, ContractProductBom::getContractProductId, cp.getId());
|
|
}
|
|
}
|
|
contractProductService.editLinked(contractProductList, ContractProduct::getContractId, contract.getId());
|
|
contractProductService.editLinked(contractProductList, ContractProduct::getContractId, contract.getId());
|
|
|
|
|