Commit c57660c2b3ffad982e1bfd0bf3bfb62d7bd9b5c6

Authored by 房远帅
1 parent dd85ff37

合同变更:未锁规合同只有在锁规完成后才能变更,和锁规延期申请不会同时进行(未锁规的才能进行锁规延期申请),所以多余的判断逻辑去除

@@ -24,7 +24,6 @@ import com.lframework.xingyun.sc.entity.ContractDistributorStandard; @@ -24,7 +24,6 @@ import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
24 import com.lframework.xingyun.sc.entity.SpecLockDelayApplication; 24 import com.lframework.xingyun.sc.entity.SpecLockDelayApplication;
25 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; 25 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus;
26 import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService; 26 import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService;
27 -import com.lframework.xingyun.sc.service.contract.ContractChangeApplicationService;  
28 import com.lframework.xingyun.sc.service.contract.SpecLockDelayApplicationService; 27 import com.lframework.xingyun.sc.service.contract.SpecLockDelayApplicationService;
29 import com.lframework.xingyun.sc.vo.contract.createVo.CreateSpecLockDelayApplicationVo; 28 import com.lframework.xingyun.sc.vo.contract.createVo.CreateSpecLockDelayApplicationVo;
30 import com.lframework.xingyun.sc.vo.contract.queryVo.QuerySpecLockDelayApplicationVo; 29 import com.lframework.xingyun.sc.vo.contract.queryVo.QuerySpecLockDelayApplicationVo;
@@ -66,8 +65,6 @@ public class SpecLockDelayApplicationController extends DefaultBaseController { @@ -66,8 +65,6 @@ public class SpecLockDelayApplicationController extends DefaultBaseController {
66 private CustomerService customerService; 65 private CustomerService customerService;
67 @Autowired 66 @Autowired
68 private WorkshopService workshopService; 67 private WorkshopService workshopService;
69 - @Autowired  
70 - private ContractChangeApplicationService contractChangeApplicationService;  
71 68
72 public static final String AUDIT_STATUS_DIC_CODE = "AUDIT_STATUS"; // 审核状态 69 public static final String AUDIT_STATUS_DIC_CODE = "AUDIT_STATUS"; // 审核状态
73 70
@@ -228,11 +225,6 @@ public class SpecLockDelayApplicationController extends DefaultBaseController { @@ -228,11 +225,6 @@ public class SpecLockDelayApplicationController extends DefaultBaseController {
228 if (contractDistributorStandard == null) { 225 if (contractDistributorStandard == null) {
229 throw new DefaultClientException("对应锁价无规格合同不存在!"); 226 throw new DefaultClientException("对应锁价无规格合同不存在!");
230 } 227 }
231 - String rootContractId = StringUtils.isBlank(contractDistributorStandard.getParentId())  
232 - ? contractDistributorStandard.getId() : contractDistributorStandard.getParentId();  
233 - if (contractChangeApplicationService.hasUnfinishedApplication(rootContractId)) {  
234 - throw new DefaultClientException("该合同存在未结束的合同变更流程,不允许发起锁规延期申请!");  
235 - }  
236 228
237 QuerySpecLockDelayApplicationVo vo = new QuerySpecLockDelayApplicationVo(); 229 QuerySpecLockDelayApplicationVo vo = new QuerySpecLockDelayApplicationVo();
238 vo.setContractId(id); 230 vo.setContractId(id);
@@ -9,7 +9,6 @@ import com.lframework.starter.bpm.service.FlowInstanceWrapperService; @@ -9,7 +9,6 @@ import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
9 import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo; 9 import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo;
10 import com.lframework.starter.common.exceptions.impl.DefaultClientException; 10 import com.lframework.starter.common.exceptions.impl.DefaultClientException;
11 import com.lframework.starter.common.utils.Assert; 11 import com.lframework.starter.common.utils.Assert;
12 -import com.lframework.starter.common.utils.ObjectUtil;  
13 import com.lframework.starter.web.core.annotations.oplog.OpLog; 12 import com.lframework.starter.web.core.annotations.oplog.OpLog;
14 import com.lframework.starter.web.core.components.resp.PageResult; 13 import com.lframework.starter.web.core.components.resp.PageResult;
15 import com.lframework.starter.web.core.components.security.SecurityUtil; 14 import com.lframework.starter.web.core.components.security.SecurityUtil;
@@ -31,7 +30,6 @@ import com.lframework.xingyun.sc.entity.ContractChangeApplication; @@ -31,7 +30,6 @@ import com.lframework.xingyun.sc.entity.ContractChangeApplication;
31 import com.lframework.xingyun.sc.entity.ContractDistributorLine; 30 import com.lframework.xingyun.sc.entity.ContractDistributorLine;
32 import com.lframework.xingyun.sc.entity.ContractDistributorStandard; 31 import com.lframework.xingyun.sc.entity.ContractDistributorStandard;
33 import com.lframework.xingyun.sc.entity.ContractStdProcessingLine; 32 import com.lframework.xingyun.sc.entity.ContractStdProcessingLine;
34 -import com.lframework.xingyun.sc.entity.SpecLockDelayApplication;  
35 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; 33 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus;
36 import com.lframework.xingyun.sc.mappers.ContractChangeApplicationMapper; 34 import com.lframework.xingyun.sc.mappers.ContractChangeApplicationMapper;
37 import com.lframework.xingyun.sc.mappers.ContractDistributorStandardMapper; 35 import com.lframework.xingyun.sc.mappers.ContractDistributorStandardMapper;
@@ -53,10 +51,8 @@ import org.springframework.beans.factory.annotation.Autowired; @@ -53,10 +51,8 @@ import org.springframework.beans.factory.annotation.Autowired;
53 import org.springframework.cache.annotation.CacheEvict; 51 import org.springframework.cache.annotation.CacheEvict;
54 import org.springframework.stereotype.Service; 52 import org.springframework.stereotype.Service;
55 import org.springframework.transaction.annotation.Transactional; 53 import org.springframework.transaction.annotation.Transactional;
56 -  
57 import javax.annotation.Resource; 54 import javax.annotation.Resource;
58 import java.io.Serializable; 55 import java.io.Serializable;
59 -import java.time.LocalDateTime;  
60 import java.util.ArrayList; 56 import java.util.ArrayList;
61 import java.util.Arrays; 57 import java.util.Arrays;
62 import java.util.Collections; 58 import java.util.Collections;
@@ -87,8 +83,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont @@ -87,8 +83,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont
87 @Resource 83 @Resource
88 private ContractStdProcessingLineService contractStdProcessingLineService; 84 private ContractStdProcessingLineService contractStdProcessingLineService;
89 @Resource 85 @Resource
90 - private SpecLockDelayApplicationMapper specLockDelayApplicationMapper;  
91 - @Resource  
92 private WorkshopService workshopService; 86 private WorkshopService workshopService;
93 @Resource 87 @Resource
94 private SysDeptService sysDeptService; 88 private SysDeptService sysDeptService;
@@ -126,6 +120,7 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont @@ -126,6 +120,7 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont
126 Wrappers.lambdaQuery(ContractChangeApplication.class) 120 Wrappers.lambdaQuery(ContractChangeApplication.class)
127 .like(StringUtils.isNotBlank(vo.getContractCode()), ContractChangeApplication::getContractCode, vo.getContractCode()) 121 .like(StringUtils.isNotBlank(vo.getContractCode()), ContractChangeApplication::getContractCode, vo.getContractCode())
128 .eq(StringUtils.isNotBlank(vo.getContractType()), ContractChangeApplication::getContractType, vo.getContractType()) 122 .eq(StringUtils.isNotBlank(vo.getContractType()), ContractChangeApplication::getContractType, vo.getContractType())
  123 + .eq(StringUtils.isNotBlank(vo.getContractStage()), ContractChangeApplication::getContractStage, vo.getContractStage())
129 .eq(StringUtils.isNotBlank(vo.getApprovalStatus()), ContractChangeApplication::getApprovalStatus, vo.getApprovalStatus()); 124 .eq(StringUtils.isNotBlank(vo.getApprovalStatus()), ContractChangeApplication::getApprovalStatus, vo.getApprovalStatus());
130 if (CollectionUtils.isNotEmpty(buyerIds)) { 125 if (CollectionUtils.isNotEmpty(buyerIds)) {
131 List<String> finalBuyerIds = buyerIds; 126 List<String> finalBuyerIds = buyerIds;
@@ -480,9 +475,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont @@ -480,9 +475,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont
480 if (hasUnfinishedApplication(rootContractId)) { 475 if (hasUnfinishedApplication(rootContractId)) {
481 throw new DefaultClientException("该合同存在未结束的合同变更流程,不允许重复发起变更!"); 476 throw new DefaultClientException("该合同存在未结束的合同变更流程,不允许重复发起变更!");
482 } 477 }
483 - if (hasUnfinishedSpecLockDelay(rootContractId)) {  
484 - throw new DefaultClientException("该合同存在未结束的锁规延期申请,不允许发起合同变更!");  
485 - }  
486 } 478 }
487 479
488 /** 480 /**
@@ -611,35 +603,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont @@ -611,35 +603,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont
611 } 603 }
612 604
613 /** 605 /**
614 - * 是否存在未结束的锁规延期申请  
615 - *  
616 - * @param rootContractId 根合同ID  
617 - * @return 是否存在未结束的锁规延期申请  
618 - */  
619 - private boolean hasUnfinishedSpecLockDelay(String rootContractId) {  
620 - if (StringUtils.isBlank(rootContractId)) {  
621 - return false;  
622 - }  
623 -  
624 - Wrapper<ContractDistributorStandard> contractWrapper = Wrappers.lambdaQuery(ContractDistributorStandard.class)  
625 - .select(ContractDistributorStandard::getId)  
626 - .eq(ContractDistributorStandard::getId, rootContractId)  
627 - .or()  
628 - .eq(ContractDistributorStandard::getParentId, rootContractId);  
629 - List<ContractDistributorStandard> contractList = contractDistributorStandardMapper.selectList(contractWrapper);  
630 - List<String> contractIds = contractList.stream().map(ContractDistributorStandard::getId).collect(Collectors.toList());  
631 - if (!contractIds.contains(rootContractId)) {  
632 - contractIds.add(rootContractId);  
633 - }  
634 -  
635 - Wrapper<SpecLockDelayApplication> wrapper = Wrappers.lambdaQuery(SpecLockDelayApplication.class)  
636 - .in(SpecLockDelayApplication::getContractId, contractIds)  
637 - .notIn(SpecLockDelayApplication::getApprovalStatus,  
638 - Arrays.asList(CustomerDevelopStatus.PASS.name(), CustomerDevelopStatus.CANCEL.name()));  
639 - return specLockDelayApplicationMapper.selectCount(wrapper) > 0;  
640 - }  
641 -  
642 - /**  
643 * 应用合同变更 606 * 应用合同变更
644 * 607 *
645 * @param application 变更申请单 608 * @param application 变更申请单
@@ -32,7 +32,6 @@ import com.lframework.xingyun.sc.entity.SpecLockDelayApplication; @@ -32,7 +32,6 @@ import com.lframework.xingyun.sc.entity.SpecLockDelayApplication;
32 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; 32 import com.lframework.xingyun.sc.enums.CustomerDevelopStatus;
33 import com.lframework.xingyun.sc.handlers.TransactorHandler; 33 import com.lframework.xingyun.sc.handlers.TransactorHandler;
34 import com.lframework.xingyun.sc.mappers.SpecLockDelayApplicationMapper; 34 import com.lframework.xingyun.sc.mappers.SpecLockDelayApplicationMapper;
35 -import com.lframework.xingyun.sc.service.contract.ContractChangeApplicationService;  
36 import com.lframework.xingyun.sc.service.HolidaysService; 35 import com.lframework.xingyun.sc.service.HolidaysService;
37 import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService; 36 import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService;
38 import com.lframework.xingyun.sc.service.contract.SpecLockDelayApplicationService; 37 import com.lframework.xingyun.sc.service.contract.SpecLockDelayApplicationService;
@@ -80,8 +79,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL @@ -80,8 +79,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL
80 private SysDeptService sysDeptService; 79 private SysDeptService sysDeptService;
81 @Resource 80 @Resource
82 private TransactorHandler transactorHandler; 81 private TransactorHandler transactorHandler;
83 - @Resource  
84 - private ContractChangeApplicationService contractChangeApplicationService;  
85 82
86 @Override 83 @Override
87 public PageResult<SpecLockDelayApplication> query(Integer pageIndex, Integer pageSize, QuerySpecLockDelayApplicationVo vo) { 84 public PageResult<SpecLockDelayApplication> query(Integer pageIndex, Integer pageSize, QuerySpecLockDelayApplicationVo vo) {
@@ -134,7 +131,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL @@ -134,7 +131,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL
134 @Transactional(rollbackFor = Exception.class) 131 @Transactional(rollbackFor = Exception.class)
135 @Override 132 @Override
136 public String create(CreateSpecLockDelayApplicationVo vo) throws Exception { 133 public String create(CreateSpecLockDelayApplicationVo vo) throws Exception {
137 - checkNoUnfinishedContractChange(vo.getContractId());  
138 checkSpecLockDateLimit(vo.getApplicationCount(), vo.getContractId(), vo.getSpecLockDate()); 134 checkSpecLockDateLimit(vo.getApplicationCount(), vo.getContractId(), vo.getSpecLockDate());
139 135
140 SpecLockDelayApplication data = new SpecLockDelayApplication(); 136 SpecLockDelayApplication data = new SpecLockDelayApplication();
@@ -185,7 +181,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL @@ -185,7 +181,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL
185 @Transactional(rollbackFor = Exception.class) 181 @Transactional(rollbackFor = Exception.class)
186 @Override 182 @Override
187 public void update(UpdateSpecLockDelayApplicationVo vo) throws Exception { 183 public void update(UpdateSpecLockDelayApplicationVo vo) throws Exception {
188 - checkNoUnfinishedContractChange(vo.getContractId());  
189 checkSpecLockDateLimit(vo.getApplicationCount(), vo.getContractId(), vo.getSpecLockDate()); 184 checkSpecLockDateLimit(vo.getApplicationCount(), vo.getContractId(), vo.getSpecLockDate());
190 185
191 SpecLockDelayApplication data = getBaseMapper().selectById(vo.getId()); 186 SpecLockDelayApplication data = getBaseMapper().selectById(vo.getId());
@@ -291,25 +286,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL @@ -291,25 +286,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL
291 286
292 } 287 }
293 288
294 - /**  
295 - * 校验不存在未结束的合同变更  
296 - *  
297 - * @param contractId 合同ID  
298 - */  
299 - private void checkNoUnfinishedContractChange(String contractId) {  
300 - if (StringUtils.isBlank(contractId)) {  
301 - return;  
302 - }  
303 - ContractDistributorStandard contract = contractDistributorStandardService.findById(contractId);  
304 - if (contract == null) {  
305 - return;  
306 - }  
307 - String rootContractId = StringUtils.isBlank(contract.getParentId()) ? contract.getId() : contract.getParentId();  
308 - if (contractChangeApplicationService.hasUnfinishedApplication(rootContractId)) {  
309 - throw new DefaultClientException("该合同存在未结束的合同变更流程,不允许发起锁规延期申请!");  
310 - }  
311 - }  
312 -  
313 public void sendDelaySpecLockMessage() { 289 public void sendDelaySpecLockMessage() {
314 log.info("开始执行延迟锁规消息发送任务"); 290 log.info("开始执行延迟锁规消息发送任务");
315 291
@@ -56,17 +56,6 @@ @@ -56,17 +56,6 @@
56 WHERE cca.root_contract_id = IFNULL(NULLIF(tb.parent_id, ''), tb.id) 56 WHERE cca.root_contract_id = IFNULL(NULLIF(tb.parent_id, ''), tb.id)
57 AND cca.approval_status NOT IN ('PASS', 'CANCEL') 57 AND cca.approval_status NOT IN ('PASS', 'CANCEL')
58 ) 58 )
59 - AND NOT EXISTS (  
60 - SELECT 1  
61 - FROM tbl_spec_lock_delay_application sda  
62 - LEFT JOIN tbl_contract_distributor_standard rel  
63 - ON rel.id = sda.contract_id  
64 - WHERE sda.approval_status NOT IN ('PASS', 'CANCEL')  
65 - AND (  
66 - sda.contract_id = IFNULL(NULLIF(tb.parent_id, ''), tb.id)  
67 - OR rel.parent_id = IFNULL(NULLIF(tb.parent_id, ''), tb.id)  
68 - )  
69 - )  
70 ORDER BY tb.create_time DESC 59 ORDER BY tb.create_time DESC
71 </select> 60 </select>
72 </mapper> 61 </mapper>