|
@@ -1265,23 +1265,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
|
|
|
ContractPdfInfoVo contractPdfInfoVo = new ContractPdfInfoVo();
|
|
|
|
|
|
- String contractType = contract.getContractType();
|
|
|
- if (contractType == null) {
|
|
|
- throw new ServiceException("销售合同类型为空");
|
|
|
- }
|
|
|
-
|
|
|
- switch (contractType) {
|
|
|
- // 外销合同
|
|
|
- case "1":
|
|
|
- setExportContractInfo(contractPdfInfoVo, contract);
|
|
|
- break;
|
|
|
- // 内销合同
|
|
|
- case "2":
|
|
|
- // todo 内销合同实现逻辑
|
|
|
- break;
|
|
|
- default:
|
|
|
- throw new ServiceException("未知销售合同类型");
|
|
|
- }
|
|
|
+ setExportContractInfo(contractPdfInfoVo, contract);
|
|
|
|
|
|
return contractPdfInfoVo;
|
|
|
}
|
|
@@ -1792,16 +1776,8 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
* @param contract 合同信息
|
|
|
*/
|
|
|
private void setExportContractInfo(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
-
|
|
|
SecurityContext context = SecurityContextHolder.getContext();
|
|
|
|
|
|
- // 赋值卖方公司基本信息
|
|
|
- CompletableFuture<Void> setSellCorporationInfoFuture = CompletableFuture.runAsync(
|
|
|
- () -> {
|
|
|
- SecurityContextHolder.setContext(context);
|
|
|
- setSellCorporationInfo(contractPdfInfoVo, contract);
|
|
|
- }, threadPoolExecutor);
|
|
|
-
|
|
|
// 赋值买方公司基本信息
|
|
|
CompletableFuture<Void> setBuyCorporationFuture = CompletableFuture.runAsync(
|
|
|
() -> {
|
|
@@ -1809,7 +1785,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
setBuyCorporation(contractPdfInfoVo, contract);
|
|
|
}, threadPoolExecutor);
|
|
|
|
|
|
- // 赋值买卖方公司地址
|
|
|
+ // 赋值买方公司地址
|
|
|
CompletableFuture<Void> setAreaFuture = CompletableFuture.runAsync(
|
|
|
() -> {
|
|
|
SecurityContextHolder.setContext(context);
|
|
@@ -1823,24 +1799,14 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
setProductList(contractPdfInfoVo, contract);
|
|
|
}, threadPoolExecutor);
|
|
|
|
|
|
- // 设置收款账号
|
|
|
- CompletableFuture<Void> setAccountManagementFuture = CompletableFuture.runAsync(
|
|
|
- () -> {
|
|
|
- SecurityContextHolder.setContext(context);
|
|
|
- setAccountManagement(contractPdfInfoVo, contract);
|
|
|
- }, threadPoolExecutor);
|
|
|
-
|
|
|
// 赋值合同基本信息
|
|
|
setInfo(contractPdfInfoVo, contract);
|
|
|
|
|
|
CompletableFuture.allOf(
|
|
|
- setSellCorporationInfoFuture,
|
|
|
setBuyCorporationFuture,
|
|
|
setAreaFuture,
|
|
|
- setProductListFuture,
|
|
|
- setAccountManagementFuture
|
|
|
+ setProductListFuture
|
|
|
).join();
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1857,9 +1823,6 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
}
|
|
|
wrapper.in(Contract::getBuyCorporationId, authIdList);
|
|
|
}
|
|
|
-// //销售跟单权限过滤
|
|
|
-// List<Long> authUserIdList = UserUtil.getAuthUserIdList();
|
|
|
-// wrapper.in(Contract::getCreateUser, authUserIdList);
|
|
|
|
|
|
wrapper.like(Contract::getCode, bo.getCode());
|
|
|
wrapper.eq(Contract::getCreateUser, bo.getUserId());
|
|
@@ -1886,39 +1849,39 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 赋值卖方公司基本信息
|
|
|
- */
|
|
|
- private void setSellCorporationInfo(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
- // 卖方公司信息
|
|
|
- Corporation corporation = corporationService.getById(contract.getSellCorporationId());
|
|
|
- if (corporation == null) {
|
|
|
- throw new ServiceException("卖方公司信息为空");
|
|
|
- }
|
|
|
- contractPdfInfoVo.setSellCorporationId(contract.getSellCorporationId());
|
|
|
- contractPdfInfoVo.setSellCorporationNameEn(corporation.getNameEn());
|
|
|
- contractPdfInfoVo.setSellCorporationName(corporation.getName());
|
|
|
- contractPdfInfoVo.setSellContactName(contract.getSellContactName());
|
|
|
- contractPdfInfoVo.setSellContactNumber(contract.getSellContactNumber());
|
|
|
-
|
|
|
- //赋值地址中文信息
|
|
|
- List<Long> areaIdList = Arrays.asList(
|
|
|
- corporation.getCountryId(),
|
|
|
- corporation.getProvinceId(),
|
|
|
- corporation.getCityId()
|
|
|
- );
|
|
|
- Map<Long, String> areaMap = CustomizeAreaUtil.getAreaMapByIds(areaIdList);
|
|
|
- contractPdfInfoVo.setSellCountryName(areaMap.get(corporation.getCountryId()));
|
|
|
- contractPdfInfoVo.setSellProvinceName(areaMap.get(corporation.getProvinceId()));
|
|
|
- contractPdfInfoVo.setSellCityName(areaMap.get(corporation.getCityId()));
|
|
|
- contractPdfInfoVo.setSellDetailedAddress(corporation.getAddress());
|
|
|
-
|
|
|
- //赋值英文名地址信息
|
|
|
- contractPdfInfoVo.setSellCountryNameEn(corporation.getCountryEnStr());
|
|
|
- contractPdfInfoVo.setSellProvinceNameEn(corporation.getProvinceEnStr());
|
|
|
- contractPdfInfoVo.setSellCityNameEn(corporation.getCityEnStr());
|
|
|
- contractPdfInfoVo.setSellDetailedAddressEn(corporation.getAddressEn());
|
|
|
- }
|
|
|
+// /**
|
|
|
+// * 赋值卖方公司基本信息
|
|
|
+// */
|
|
|
+// private void setSellCorporationInfo(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
+// // 卖方公司信息
|
|
|
+// Corporation corporation = corporationService.getById(contract.getSellCorporationId());
|
|
|
+// if (corporation == null) {
|
|
|
+// throw new ServiceException("卖方公司信息为空");
|
|
|
+// }
|
|
|
+// contractPdfInfoVo.setSellCorporationId(contract.getSellCorporationId());
|
|
|
+// contractPdfInfoVo.setSellCorporationNameEn(corporation.getNameEn());
|
|
|
+// contractPdfInfoVo.setSellCorporationName(corporation.getName());
|
|
|
+// contractPdfInfoVo.setSellContactName(contract.getSellContactName());
|
|
|
+// contractPdfInfoVo.setSellContactNumber(contract.getSellContactNumber());
|
|
|
+//
|
|
|
+// //赋值地址中文信息
|
|
|
+// List<Long> areaIdList = Arrays.asList(
|
|
|
+// corporation.getCountryId(),
|
|
|
+// corporation.getProvinceId(),
|
|
|
+// corporation.getCityId()
|
|
|
+// );
|
|
|
+// Map<Long, String> areaMap = CustomizeAreaUtil.getAreaMapByIds(areaIdList);
|
|
|
+// contractPdfInfoVo.setSellCountryName(areaMap.get(corporation.getCountryId()));
|
|
|
+// contractPdfInfoVo.setSellProvinceName(areaMap.get(corporation.getProvinceId()));
|
|
|
+// contractPdfInfoVo.setSellCityName(areaMap.get(corporation.getCityId()));
|
|
|
+// contractPdfInfoVo.setSellDetailedAddress(corporation.getAddress());
|
|
|
+//
|
|
|
+// //赋值英文名地址信息
|
|
|
+// contractPdfInfoVo.setSellCountryNameEn(corporation.getCountryEnStr());
|
|
|
+// contractPdfInfoVo.setSellProvinceNameEn(corporation.getProvinceEnStr());
|
|
|
+// contractPdfInfoVo.setSellCityNameEn(corporation.getCityEnStr());
|
|
|
+// contractPdfInfoVo.setSellDetailedAddressEn(corporation.getAddressEn());
|
|
|
+// }
|
|
|
|
|
|
/**
|
|
|
* 赋值买方公司基本信息
|
|
@@ -1930,6 +1893,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
}
|
|
|
contractPdfInfoVo.setBuyCorporationId(contract.getBuyCorporationId());
|
|
|
contractPdfInfoVo.setBuyCorporationName(customer.getName());
|
|
|
+ contractPdfInfoVo.setBuyCorporationFax(customer.getFax());
|
|
|
contractPdfInfoVo.setBuyContactName(contract.getBuyContactName());
|
|
|
contractPdfInfoVo.setBuyContactNumber(contract.getBuyContactNumber());
|
|
|
}
|
|
@@ -1947,11 +1911,6 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
|
|
|
Map<Long, String> areaMap = CustomizeAreaUtil.getAreaMapByIds(areaIdList);
|
|
|
|
|
|
-// contractPdfInfoVo.setSellCountryName(contract.getSellCountryName());
|
|
|
-// contractPdfInfoVo.setSellProvinceName(contract.getSellProvinceName());
|
|
|
-// contractPdfInfoVo.setSellCityName(contract.getSellCityName());
|
|
|
-// contractPdfInfoVo.setSellDetailedAddress(contract.getSellAddress());
|
|
|
-
|
|
|
contractPdfInfoVo.setBuyCountryName(areaMap.get(contract.getBuyCountryId()));
|
|
|
contractPdfInfoVo.setBuyProvinceName(areaMap.get(contract.getBuyProvinceId()));
|
|
|
contractPdfInfoVo.setBuyCityName(areaMap.get(contract.getBuyCityId()));
|
|
@@ -1963,22 +1922,25 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
*/
|
|
|
private void setInfo(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
contractPdfInfoVo.setContractCode(contract.getCode());
|
|
|
- contractPdfInfoVo.setCreateTimeEn(sdf.format(contract.getCreateTime()));
|
|
|
- contractPdfInfoVo.setTransportRemark(contract.getTransportRemark());
|
|
|
- contractPdfInfoVo.setTradeMethods(contract.getTradeMethods());
|
|
|
- contractPdfInfoVo.setRemark(contract.getRemark());
|
|
|
- contractPdfInfoVo.setCurrency(contract.getCurrency());
|
|
|
- contractPdfInfoVo.setDeliveryTime(contract.getDeliveryTime());
|
|
|
- contractPdfInfoVo.setTransportMethod(contract.getTransportMethod());
|
|
|
- contractPdfInfoVo.setShroffAccountId(contract.getShroffAccountId());
|
|
|
- contractPdfInfoVo.setAdvanceRatio(contract.getAdvanceRatio());
|
|
|
+// contractPdfInfoVo.setCreateTimeEn(sdf.format(contract.getCreateTime()));
|
|
|
+ contractPdfInfoVo.setCreateTime(contract.getCreateTime());
|
|
|
+// contractPdfInfoVo.setTransportRemark(contract.getTransportRemark());
|
|
|
+// contractPdfInfoVo.setTradeMethods(contract.getTradeMethods());
|
|
|
+// contractPdfInfoVo.setRemark(contract.getRemark());
|
|
|
+// contractPdfInfoVo.setCurrency(contract.getCurrency());
|
|
|
+// contractPdfInfoVo.setDeliveryTime(contract.getDeliveryTime());
|
|
|
+// contractPdfInfoVo.setTransportMethod(contract.getTransportMethod());
|
|
|
+// contractPdfInfoVo.setShroffAccountId(contract.getShroffAccountId());
|
|
|
+// contractPdfInfoVo.setAdvanceRatio(contract.getAdvanceRatio());
|
|
|
+ contractPdfInfoVo.setPaymentMethod(contract.getPaymentMethod());
|
|
|
+
|
|
|
|
|
|
//赋值创建人名称
|
|
|
Map<Long, SysUser> nickNameMapByIds = UserUtil.getMapByIds(Arrays.asList(contract.getCreateUser()));
|
|
|
SysUser sysUser = nickNameMapByIds.get(contract.getCreateUser());
|
|
|
if (ObjectUtil.isNotEmpty(sysUser)) {
|
|
|
- contractPdfInfoVo.setCreateUserName(sysUser.getNickName());//中文名
|
|
|
- contractPdfInfoVo.setCreateUserNameEn(sysUser.getNickNameEn());//英文名
|
|
|
+ contractPdfInfoVo.setCreateUserName(sysUser.getNickName());//联系人名称
|
|
|
+ contractPdfInfoVo.setCreateUserPhone(sysUser.getPhonenumber());//联系方式
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1990,7 +1952,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
contractPdfInfoVo.setTotalAmount(contract.getAmount());
|
|
|
|
|
|
List<ContractProject> contractProjectList = contractProjectService.list(q -> q.eq(ContractProject::getContractId, contract.getId()));
|
|
|
- contractPdfInfoVo.setContractProjectList(contractProjectList);
|
|
|
+// contractPdfInfoVo.setContractProjectList(contractProjectList);
|
|
|
|
|
|
List<ContractProduct> contractProductList = contractProductService.list(q -> q.eq(ContractProduct::getContractId, contract.getId()));
|
|
|
if (contractProductList.size() == 0) {
|
|
@@ -1998,63 +1960,70 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
|
|
|
}
|
|
|
|
|
|
List<Long> pids = contractProductList.stream().map(ContractProduct::getProductId).collect(Collectors.toList());
|
|
|
- Map<Long, ProductInfo> productInfoMap = productInfoService.mapKEntity(ProductInfo::getId, q -> q.in(ProductInfo::getId, pids));
|
|
|
+ List<ProductInfo> productInfoList0 = productInfoService.list(q -> q.in(ProductInfo::getId, pids));
|
|
|
+ Map<Long, ProductInfo> productInfoMap = productInfoList0.stream().collect(Collectors.toMap(ProductInfo::getId, Function.identity()));
|
|
|
+ //获取原材料信息
|
|
|
+ List<Long> rawMaterialIds = productInfoList0.stream().map(ProductInfo::getRawMaterialId).collect(Collectors.toList());
|
|
|
+ Map<Long, ProductInfo> rawMaterialMap = productInfoService.mapKEntity(ProductInfo::getId, q -> q.in(ProductInfo::getId, rawMaterialIds));
|
|
|
|
|
|
List<ContractPdfInfoVo.ProductInfo> productInfoList = contractProductList.stream().map(item -> {
|
|
|
ProductInfo productInfo = productInfoMap.get(item.getProductId());
|
|
|
+ ProductInfo rawMaterial = rawMaterialMap.get(productInfo.getRawMaterialId());
|
|
|
|
|
|
ContractPdfInfoVo.ProductInfo productIndo = new ContractPdfInfoVo.ProductInfo();
|
|
|
+ //赋值合同产品信息
|
|
|
productIndo.setProductId(item.getProductId());
|
|
|
+// productIndo.setProductName(item.getProductName());
|
|
|
+// productIndo.setProductLength(item.getProductLength());
|
|
|
+// productIndo.setProductWidth(item.getProductWidth());
|
|
|
+// productIndo.setProductHeight(item.getProductHeight());
|
|
|
+ productIndo.setProductRemark(item.getRemark());
|
|
|
productIndo.setProductQuantity(item.getQuantity());
|
|
|
productIndo.setProductPrice(item.getPrice());
|
|
|
productIndo.setAmount(item.getAmount());
|
|
|
- productIndo.setProductName(item.getProductName());
|
|
|
-
|
|
|
- productIndo.setProductModel(item.getProductModel());
|
|
|
-
|
|
|
-// JSONObject ehsdJson = JSONObject.parseObject(item.getEhsdJson());
|
|
|
-// if (ObjectUtil.isNotEmpty(ehsdJson)) {
|
|
|
-// productIndo.setPackMethod(ehsdJson.getString("packMethod"));
|
|
|
-// }
|
|
|
-
|
|
|
+ //赋值物料信息
|
|
|
+ if (ObjectUtil.isNotEmpty(rawMaterial)) {
|
|
|
+ productIndo.setFrontalTexture(rawMaterial.getFrontalTexture());
|
|
|
+ productIndo.setReverseTexture(rawMaterial.getReverseTexture());
|
|
|
+ productIndo.setProductColor(rawMaterial.getColor());
|
|
|
+ productIndo.setProductUnit(rawMaterial.getUnit());
|
|
|
+ }
|
|
|
+ //赋值产品信息
|
|
|
if (ObjectUtil.isNotEmpty(productInfo)) {
|
|
|
- productIndo.setProductRemark(productInfo.getRemark());
|
|
|
- productIndo.setProductSpec(productInfo.getSpec());
|
|
|
+// productIndo.setProductSpec(productInfo.getSpec());
|
|
|
+ productIndo.setProductName(productInfo.getName());
|
|
|
+ productIndo.setProductLength(productInfo.getLength());
|
|
|
+ productIndo.setProductWidth(productInfo.getWidth());
|
|
|
+ productIndo.setProductHeight(productInfo.getHeight());
|
|
|
}
|
|
|
|
|
|
return productIndo;
|
|
|
}).collect(Collectors.toList());
|
|
|
|
|
|
contractPdfInfoVo.setProductInfoList(productInfoList);
|
|
|
-
|
|
|
- // 产品属性
|
|
|
- productInfoService.attributeAssign(productInfoList, ContractPdfInfoVo.ProductInfo::getProductId, (item, product) -> {
|
|
|
- item.setProductUnit(product.getUnit());
|
|
|
- });
|
|
|
-
|
|
|
}
|
|
|
|
|
|
- private void setAccountManagement(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
-// Long shroffAccountId = contract.getShroffAccountId();
|
|
|
-// AccountManagement accountManagement = accountManagementService.getById(shroffAccountId);
|
|
|
-// if (accountManagement == null) {
|
|
|
-// return;
|
|
|
-// }
|
|
|
-
|
|
|
-// contractPdfInfoVo.setBeneficiaryName(accountManagement.getBeneficiaryName());
|
|
|
-// contractPdfInfoVo.setBeneficiaryBank(accountManagement.getBeneficiaryBank());
|
|
|
-// contractPdfInfoVo.setBeneficiaryBankAddress(accountManagement.getBeneficiaryBankAddress());
|
|
|
-// contractPdfInfoVo.setBeneficiaryAccountNumber(accountManagement.getBeneficiaryAccountNumber());
|
|
|
-// contractPdfInfoVo.setSwiftCode(accountManagement.getSwiftCode());
|
|
|
-// contractPdfInfoVo.setBeneficiaryAddress(accountManagement.getBeneficiaryAddress());
|
|
|
-
|
|
|
- contractPdfInfoVo.setBeneficiaryName(contract.getBeneficiaryName());
|
|
|
- contractPdfInfoVo.setBeneficiaryBank(contract.getBeneficiaryBank());
|
|
|
- contractPdfInfoVo.setBeneficiaryBankAddress(contract.getBeneficiaryBankAddress());
|
|
|
- contractPdfInfoVo.setBeneficiaryAccountNumber(contract.getBeneficiaryAccountNumber());
|
|
|
- contractPdfInfoVo.setSwiftCode(contract.getSwiftCode());
|
|
|
- contractPdfInfoVo.setBeneficiaryAddress(contract.getBeneficiaryAddress());
|
|
|
- }
|
|
|
+// private void setAccountManagement(ContractPdfInfoVo contractPdfInfoVo, Contract contract) {
|
|
|
+//// Long shroffAccountId = contract.getShroffAccountId();
|
|
|
+//// AccountManagement accountManagement = accountManagementService.getById(shroffAccountId);
|
|
|
+//// if (accountManagement == null) {
|
|
|
+//// return;
|
|
|
+//// }
|
|
|
+//
|
|
|
+//// contractPdfInfoVo.setBeneficiaryName(accountManagement.getBeneficiaryName());
|
|
|
+//// contractPdfInfoVo.setBeneficiaryBank(accountManagement.getBeneficiaryBank());
|
|
|
+//// contractPdfInfoVo.setBeneficiaryBankAddress(accountManagement.getBeneficiaryBankAddress());
|
|
|
+//// contractPdfInfoVo.setBeneficiaryAccountNumber(accountManagement.getBeneficiaryAccountNumber());
|
|
|
+//// contractPdfInfoVo.setSwiftCode(accountManagement.getSwiftCode());
|
|
|
+//// contractPdfInfoVo.setBeneficiaryAddress(accountManagement.getBeneficiaryAddress());
|
|
|
+//
|
|
|
+// contractPdfInfoVo.setBeneficiaryName(contract.getBeneficiaryName());
|
|
|
+// contractPdfInfoVo.setBeneficiaryBank(contract.getBeneficiaryBank());
|
|
|
+// contractPdfInfoVo.setBeneficiaryBankAddress(contract.getBeneficiaryBankAddress());
|
|
|
+// contractPdfInfoVo.setBeneficiaryAccountNumber(contract.getBeneficiaryAccountNumber());
|
|
|
+// contractPdfInfoVo.setSwiftCode(contract.getSwiftCode());
|
|
|
+// contractPdfInfoVo.setBeneficiaryAddress(contract.getBeneficiaryAddress());
|
|
|
+// }
|
|
|
|
|
|
// 添加时间的查询条件
|
|
|
private void selectTime(QueryWrapper<Contract> query, ContractDto dto) {
|