|
@@ -32,6 +32,7 @@ import com.sunxung.factoring.service.sys.dto.AttachmentDto;
|
|
|
import com.sunxung.factoring.service.sys.flowable.FlowableService;
|
|
|
import com.sunxung.factoring.service.tradingPlatform.PlatformService;
|
|
|
import com.sunxung.factoring.service.tradingPlatform.TradingPlatformInvoiceInfoService;
|
|
|
+import org.apache.bcel.generic.IF_ACMPEQ;
|
|
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
|
|
import org.apache.pdfbox.util.PDFTextStripper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -222,6 +223,9 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
//获取合同补充信息
|
|
|
PurchContractReplenishInfo replenishInfo = purchContractReplenishInfoService
|
|
|
.lambdaQuery().eq(PurchContractReplenishInfo::getPurchContractApprovalId, purchContractApproval.getId()).one();
|
|
|
+ if (replenishInfo == null){
|
|
|
+ replenishInfo = new PurchContractReplenishInfo();
|
|
|
+ }
|
|
|
replenishInfo.setContractName(purchContractBasicInfo.getContractName());
|
|
|
replenishInfo.setContractNumber(purchContractBasicInfo.getContractNumber());
|
|
|
purchContractApprovalVo.setPurchContractReplenishInfo(replenishInfo);
|
|
@@ -297,7 +301,7 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
|
|
|
|
|
|
//补充信息
|
|
|
- PurchContractReplenishInfo replenishInfo = new PurchContractReplenishInfo();
|
|
|
+ PurchContractReplenishInfo replenishInfo = null;
|
|
|
|
|
|
//需方收货人(该业务对应的供应商用户的项目经理)
|
|
|
List<User> userList = new ArrayList<>();
|
|
@@ -382,9 +386,9 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
user.setIdCard(c.getIdCard());
|
|
|
user.setName(c.getName());
|
|
|
users.add(user);
|
|
|
- purchContractApprovalVo.setUserList(users);
|
|
|
});
|
|
|
}
|
|
|
+ purchContractApprovalVo.setUserList(users);
|
|
|
|
|
|
|
|
|
//增值税要求
|
|
@@ -431,6 +435,9 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
purchContractApprovalVo.getPurchContractApproval().setUploadPurchContracts(list);
|
|
|
}
|
|
|
}
|
|
|
+ if (replenishInfo == null){
|
|
|
+ replenishInfo = new PurchContractReplenishInfo();
|
|
|
+ }
|
|
|
replenishInfo.setContractName(purch.getContractName());
|
|
|
replenishInfo.setContractNumber(purch.getContractNumber());
|
|
|
|
|
@@ -465,7 +472,7 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
//删除之前的审批信息
|
|
|
PurchContractApproval oldApproval = getLatestPurchContractApproval(purch.getId(), 0);
|
|
|
|
|
|
- if (oldApproval != null) {
|
|
|
+ if (oldApproval != null && purchContractApproval.getApprovalConclusion().equals("pass")) {
|
|
|
//删除之前上传的合同信息
|
|
|
List<UploadPurchContract> oldUploadContracts = uploadPurchContractService.lambdaQuery().eq(UploadPurchContract::getPurchContractApprovalId, oldApproval.getId()).list();
|
|
|
if (CollectionUtil.isNotEmpty(oldUploadContracts)) {
|
|
@@ -544,62 +551,65 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
}
|
|
|
|
|
|
|
|
|
- //添加合同补充信息
|
|
|
- if (purchContractApprovalVo.getPurchContractReplenishInfo() != null) {
|
|
|
- PurchContractReplenishInfo replenishInfo = purchContractApprovalVo.getPurchContractReplenishInfo();
|
|
|
- replenishInfo.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- purchContractReplenishInfoService.save(replenishInfo);
|
|
|
- }
|
|
|
+ if (purchContractApproval.getApprovalConclusion().equals("pass")) {
|
|
|
+ //添加合同补充信息
|
|
|
+ if (purchContractApprovalVo.getPurchContractReplenishInfo() != null) {
|
|
|
+ PurchContractReplenishInfo replenishInfo = purchContractApprovalVo.getPurchContractReplenishInfo();
|
|
|
+ replenishInfo.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ purchContractReplenishInfoService.save(replenishInfo);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- //添加质量与验收
|
|
|
- if (purchContractApprovalVo.getPurchContractQualityAccept() != null) {
|
|
|
- PurchContractQualityAccept qualityAccept = purchContractApprovalVo.getPurchContractQualityAccept();
|
|
|
- qualityAccept.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- purchContractQualityAcceptService.save(qualityAccept);
|
|
|
- }
|
|
|
+ //添加质量与验收
|
|
|
+ if (purchContractApprovalVo.getPurchContractQualityAccept() != null) {
|
|
|
+ PurchContractQualityAccept qualityAccept = purchContractApprovalVo.getPurchContractQualityAccept();
|
|
|
+ qualityAccept.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ purchContractQualityAcceptService.save(qualityAccept);
|
|
|
+ }
|
|
|
|
|
|
- //结算与付款
|
|
|
- if (purchContractApprovalVo.getApprovalSettlePayment() != null) {
|
|
|
- PurchContractApprovalSettlePayment approvalSettlePayment = purchContractApprovalVo.getApprovalSettlePayment();
|
|
|
- approvalSettlePayment.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- approvalSettlePaymentService.save(approvalSettlePayment);
|
|
|
- }
|
|
|
+ //结算与付款
|
|
|
+ if (purchContractApprovalVo.getApprovalSettlePayment() != null) {
|
|
|
+ PurchContractApprovalSettlePayment approvalSettlePayment = purchContractApprovalVo.getApprovalSettlePayment();
|
|
|
+ approvalSettlePayment.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ approvalSettlePaymentService.save(approvalSettlePayment);
|
|
|
+ }
|
|
|
|
|
|
- //添加交货规定
|
|
|
- if (purchContractApprovalVo.getPurchContractDeliverClause() != null) {
|
|
|
- PurchContractDeliverClause deliverClause = purchContractApprovalVo.getPurchContractDeliverClause();
|
|
|
- deliverClause.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- purchContractDeliverClauseService.save(deliverClause);
|
|
|
- }
|
|
|
+ //添加交货规定
|
|
|
+ if (purchContractApprovalVo.getPurchContractDeliverClause() != null) {
|
|
|
+ PurchContractDeliverClause deliverClause = purchContractApprovalVo.getPurchContractDeliverClause();
|
|
|
+ deliverClause.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ purchContractDeliverClauseService.save(deliverClause);
|
|
|
+ }
|
|
|
|
|
|
- //结算周期
|
|
|
- if (purchContractApprovalVo.getApprovalSettleCycle() != null) {
|
|
|
- PurchContractApprovalSettleCycle approvalSettleCycle = purchContractApprovalVo.getApprovalSettleCycle();
|
|
|
- approvalSettleCycle.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- approvalSettleCycleService.save(approvalSettleCycle);
|
|
|
- }
|
|
|
+ //结算周期
|
|
|
+ if (purchContractApprovalVo.getApprovalSettleCycle() != null) {
|
|
|
+ PurchContractApprovalSettleCycle approvalSettleCycle = purchContractApprovalVo.getApprovalSettleCycle();
|
|
|
+ approvalSettleCycle.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ approvalSettleCycleService.save(approvalSettleCycle);
|
|
|
+ }
|
|
|
|
|
|
- //需方收货人
|
|
|
- if (CollectionUtil.isNotEmpty(purchContractApprovalVo.getUserList())) {
|
|
|
- for (User user : purchContractApprovalVo.getUserList()) {
|
|
|
- PurchContractNeedUserRel needUserRel = new PurchContractNeedUserRel();
|
|
|
- needUserRel.setName(user.getName());
|
|
|
- needUserRel.setIdCard(user.getIdCard());
|
|
|
- needUserRel.setMobile(user.getMobile());
|
|
|
- needUserRel.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- needUserRel.setSysUserId(user.getId());
|
|
|
- purchContractNeedUserRelService.save(needUserRel);
|
|
|
+ //需方收货人
|
|
|
+ if (CollectionUtil.isNotEmpty(purchContractApprovalVo.getUserList())) {
|
|
|
+ for (User user : purchContractApprovalVo.getUserList()) {
|
|
|
+ PurchContractNeedUserRel needUserRel = new PurchContractNeedUserRel();
|
|
|
+ needUserRel.setName(user.getName());
|
|
|
+ needUserRel.setIdCard(user.getIdCard());
|
|
|
+ needUserRel.setMobile(user.getMobile());
|
|
|
+ needUserRel.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ needUserRel.setSysUserId(user.getId());
|
|
|
+ purchContractNeedUserRelService.save(needUserRel);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- //增值税要求
|
|
|
- if (purchContractApprovalVo.getApprovalVatInfo() != null) {
|
|
|
- PurchContractApprovalVatInfo approvalVatInfo = purchContractApprovalVo.getApprovalVatInfo();
|
|
|
- approvalVatInfo.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
- approvalVatInfoService.save(approvalVatInfo);
|
|
|
+ //增值税要求
|
|
|
+ if (purchContractApprovalVo.getApprovalVatInfo() != null) {
|
|
|
+ PurchContractApprovalVatInfo approvalVatInfo = purchContractApprovalVo.getApprovalVatInfo();
|
|
|
+ approvalVatInfo.setPurchContractApprovalId(purchContractApproval.getId());
|
|
|
+ approvalVatInfoService.save(approvalVatInfo);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//添加其他条款
|
|
|
if (purchContractApprovalVo.getPurchContractOtherClause() != null && purchContractApprovalVo.getPurchContractOtherClause().size() > 0) {
|
|
|
int i = 0;
|
|
@@ -611,13 +621,12 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
purchContractOtherClauseService.saveBatch(purchContractApprovalVo.getPurchContractOtherClause());
|
|
|
}
|
|
|
if (purchContractApprovalVo.getVisible().equals(1)) {
|
|
|
- if (purchContractApproval.getUpload() != null && purchContractApproval.getUpload() == 1) {
|
|
|
+ if (purchContractApproval.getUpload() != null && purchContractApproval.getUpload() == 1 && purchContractApproval.getApprovalConclusion().equals("pass")) {
|
|
|
List<UploadPurchContract> uploadPurchContracts = purchContractApprovalVo.getPurchContractApproval().getUploadPurchContracts();
|
|
|
if (CollectionUtil.isEmpty(uploadPurchContracts)) {
|
|
|
throw new ValidatorException(CodeUtil.FAIL, "请上传合同文件!!!");
|
|
|
}
|
|
|
}
|
|
|
- //添加历史
|
|
|
Map<String, Object> procVariables = new HashMap<>(1);
|
|
|
|
|
|
Dictionary firstApprovalDict = dictService.getByCode(PurchContractStatusDict.ChildEnum.FIRST_APPROVAL.getCode());
|
|
@@ -642,12 +651,17 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
//变更货物
|
|
|
SalesContractSupplementGoodsInfo salesContractSupplementGoods =
|
|
|
salesContractSupplementGoodsInfoService.getById(purchContractGoodsInfo.getSalesContractGoodsInfoId());
|
|
|
- salesContractSupplementGoodsInfoService.lambdaUpdate().eq(SalesContractSupplementGoodsInfo::getId, salesContractSupplementGoods.getId())
|
|
|
- .set(SalesContractSupplementGoodsInfo::getOccupy, 0).update();
|
|
|
+ if (salesContractSupplementGoods != null) {
|
|
|
+ salesContractSupplementGoodsInfoService.lambdaUpdate().eq(SalesContractSupplementGoodsInfo::getId, salesContractSupplementGoods.getId())
|
|
|
+ .set(SalesContractSupplementGoodsInfo::getOccupy, 0).update();
|
|
|
+ }
|
|
|
+
|
|
|
} else {
|
|
|
CSalesContractGoodsInfo salesContractGoods = salesContractGoodsInfoService.getById(purchContractGoodsInfo.getSalesContractGoodsInfoId());
|
|
|
- salesContractGoodsInfoService.lambdaUpdate().eq(CSalesContractGoodsInfo::getId, salesContractGoods.getId())
|
|
|
- .set(CSalesContractGoodsInfo::getOccupy, 0).update();
|
|
|
+ if (salesContractGoods != null) {
|
|
|
+ salesContractGoodsInfoService.lambdaUpdate().eq(CSalesContractGoodsInfo::getId, salesContractGoods.getId())
|
|
|
+ .set(CSalesContractGoodsInfo::getOccupy, 0).update();
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@@ -713,7 +727,7 @@ public class PurchContractApprovalServiceImpl extends ServiceImpl<PurchContractA
|
|
|
|| contractApproval == null) {
|
|
|
//贸易平台的信息
|
|
|
Platform platform = platformService.getById(purch.getTradingPlatformId());
|
|
|
- if (purchContractApprovalVo.getPurchContractReplenishInfo().getProjectAmountCategory() != null && platform.getAuthStatus().equals(1) && platform.isAutoSignStatus() && purchContractApprovalVo.getPurchContractApproval().getSignMode().equals(1)) {
|
|
|
+ if (purchContractApprovalVo.getPurchContractReplenishInfo().getProjectAmountCategory() != null && platform.getAuthStatus() == 1 && platform.isAutoSignStatus() && purchContractApprovalVo.getPurchContractApproval().getSignMode()== 1) {
|
|
|
//制作合同
|
|
|
File outFile = purchContractElectronicInfoService.makePurchContractDocx(purchContractManagement, purch);
|
|
|
//将docx转为pdf
|