Commit c57660c2b3ffad982e1bfd0bf3bfb62d7bd9b5c6
1 parent
dd85ff37
合同变更:未锁规合同只有在锁规完成后才能变更,和锁规延期申请不会同时进行(未锁规的才能进行锁规延期申请),所以多余的判断逻辑去除
Showing
4 changed files
with
1 additions
and
81 deletions
| ... | ... | @@ -24,7 +24,6 @@ import com.lframework.xingyun.sc.entity.ContractDistributorStandard; |
| 24 | 24 | import com.lframework.xingyun.sc.entity.SpecLockDelayApplication; |
| 25 | 25 | import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; |
| 26 | 26 | import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService; |
| 27 | -import com.lframework.xingyun.sc.service.contract.ContractChangeApplicationService; | |
| 28 | 27 | import com.lframework.xingyun.sc.service.contract.SpecLockDelayApplicationService; |
| 29 | 28 | import com.lframework.xingyun.sc.vo.contract.createVo.CreateSpecLockDelayApplicationVo; |
| 30 | 29 | import com.lframework.xingyun.sc.vo.contract.queryVo.QuerySpecLockDelayApplicationVo; |
| ... | ... | @@ -66,8 +65,6 @@ public class SpecLockDelayApplicationController extends DefaultBaseController { |
| 66 | 65 | private CustomerService customerService; |
| 67 | 66 | @Autowired |
| 68 | 67 | private WorkshopService workshopService; |
| 69 | - @Autowired | |
| 70 | - private ContractChangeApplicationService contractChangeApplicationService; | |
| 71 | 68 | |
| 72 | 69 | public static final String AUDIT_STATUS_DIC_CODE = "AUDIT_STATUS"; // 审核状态 |
| 73 | 70 | |
| ... | ... | @@ -228,11 +225,6 @@ public class SpecLockDelayApplicationController extends DefaultBaseController { |
| 228 | 225 | if (contractDistributorStandard == null) { |
| 229 | 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 | 229 | QuerySpecLockDelayApplicationVo vo = new QuerySpecLockDelayApplicationVo(); |
| 238 | 230 | vo.setContractId(id); | ... | ... |
| ... | ... | @@ -9,7 +9,6 @@ import com.lframework.starter.bpm.service.FlowInstanceWrapperService; |
| 9 | 9 | import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo; |
| 10 | 10 | import com.lframework.starter.common.exceptions.impl.DefaultClientException; |
| 11 | 11 | import com.lframework.starter.common.utils.Assert; |
| 12 | -import com.lframework.starter.common.utils.ObjectUtil; | |
| 13 | 12 | import com.lframework.starter.web.core.annotations.oplog.OpLog; |
| 14 | 13 | import com.lframework.starter.web.core.components.resp.PageResult; |
| 15 | 14 | import com.lframework.starter.web.core.components.security.SecurityUtil; |
| ... | ... | @@ -31,7 +30,6 @@ import com.lframework.xingyun.sc.entity.ContractChangeApplication; |
| 31 | 30 | import com.lframework.xingyun.sc.entity.ContractDistributorLine; |
| 32 | 31 | import com.lframework.xingyun.sc.entity.ContractDistributorStandard; |
| 33 | 32 | import com.lframework.xingyun.sc.entity.ContractStdProcessingLine; |
| 34 | -import com.lframework.xingyun.sc.entity.SpecLockDelayApplication; | |
| 35 | 33 | import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; |
| 36 | 34 | import com.lframework.xingyun.sc.mappers.ContractChangeApplicationMapper; |
| 37 | 35 | import com.lframework.xingyun.sc.mappers.ContractDistributorStandardMapper; |
| ... | ... | @@ -53,10 +51,8 @@ import org.springframework.beans.factory.annotation.Autowired; |
| 53 | 51 | import org.springframework.cache.annotation.CacheEvict; |
| 54 | 52 | import org.springframework.stereotype.Service; |
| 55 | 53 | import org.springframework.transaction.annotation.Transactional; |
| 56 | - | |
| 57 | 54 | import javax.annotation.Resource; |
| 58 | 55 | import java.io.Serializable; |
| 59 | -import java.time.LocalDateTime; | |
| 60 | 56 | import java.util.ArrayList; |
| 61 | 57 | import java.util.Arrays; |
| 62 | 58 | import java.util.Collections; |
| ... | ... | @@ -87,8 +83,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont |
| 87 | 83 | @Resource |
| 88 | 84 | private ContractStdProcessingLineService contractStdProcessingLineService; |
| 89 | 85 | @Resource |
| 90 | - private SpecLockDelayApplicationMapper specLockDelayApplicationMapper; | |
| 91 | - @Resource | |
| 92 | 86 | private WorkshopService workshopService; |
| 93 | 87 | @Resource |
| 94 | 88 | private SysDeptService sysDeptService; |
| ... | ... | @@ -126,6 +120,7 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont |
| 126 | 120 | Wrappers.lambdaQuery(ContractChangeApplication.class) |
| 127 | 121 | .like(StringUtils.isNotBlank(vo.getContractCode()), ContractChangeApplication::getContractCode, vo.getContractCode()) |
| 128 | 122 | .eq(StringUtils.isNotBlank(vo.getContractType()), ContractChangeApplication::getContractType, vo.getContractType()) |
| 123 | + .eq(StringUtils.isNotBlank(vo.getContractStage()), ContractChangeApplication::getContractStage, vo.getContractStage()) | |
| 129 | 124 | .eq(StringUtils.isNotBlank(vo.getApprovalStatus()), ContractChangeApplication::getApprovalStatus, vo.getApprovalStatus()); |
| 130 | 125 | if (CollectionUtils.isNotEmpty(buyerIds)) { |
| 131 | 126 | List<String> finalBuyerIds = buyerIds; |
| ... | ... | @@ -480,9 +475,6 @@ public class ContractChangeApplicationServiceImpl extends BaseMpServiceImpl<Cont |
| 480 | 475 | if (hasUnfinishedApplication(rootContractId)) { |
| 481 | 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 | 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 | 608 | * @param application 变更申请单 | ... | ... |
| ... | ... | @@ -32,7 +32,6 @@ import com.lframework.xingyun.sc.entity.SpecLockDelayApplication; |
| 32 | 32 | import com.lframework.xingyun.sc.enums.CustomerDevelopStatus; |
| 33 | 33 | import com.lframework.xingyun.sc.handlers.TransactorHandler; |
| 34 | 34 | import com.lframework.xingyun.sc.mappers.SpecLockDelayApplicationMapper; |
| 35 | -import com.lframework.xingyun.sc.service.contract.ContractChangeApplicationService; | |
| 36 | 35 | import com.lframework.xingyun.sc.service.HolidaysService; |
| 37 | 36 | import com.lframework.xingyun.sc.service.contract.ContractDistributorStandardService; |
| 38 | 37 | import com.lframework.xingyun.sc.service.contract.SpecLockDelayApplicationService; |
| ... | ... | @@ -80,8 +79,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL |
| 80 | 79 | private SysDeptService sysDeptService; |
| 81 | 80 | @Resource |
| 82 | 81 | private TransactorHandler transactorHandler; |
| 83 | - @Resource | |
| 84 | - private ContractChangeApplicationService contractChangeApplicationService; | |
| 85 | 82 | |
| 86 | 83 | @Override |
| 87 | 84 | public PageResult<SpecLockDelayApplication> query(Integer pageIndex, Integer pageSize, QuerySpecLockDelayApplicationVo vo) { |
| ... | ... | @@ -134,7 +131,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL |
| 134 | 131 | @Transactional(rollbackFor = Exception.class) |
| 135 | 132 | @Override |
| 136 | 133 | public String create(CreateSpecLockDelayApplicationVo vo) throws Exception { |
| 137 | - checkNoUnfinishedContractChange(vo.getContractId()); | |
| 138 | 134 | checkSpecLockDateLimit(vo.getApplicationCount(), vo.getContractId(), vo.getSpecLockDate()); |
| 139 | 135 | |
| 140 | 136 | SpecLockDelayApplication data = new SpecLockDelayApplication(); |
| ... | ... | @@ -185,7 +181,6 @@ public class SpecLockDelayApplicationServiceImpl extends BaseMpServiceImpl<SpecL |
| 185 | 181 | @Transactional(rollbackFor = Exception.class) |
| 186 | 182 | @Override |
| 187 | 183 | public void update(UpdateSpecLockDelayApplicationVo vo) throws Exception { |
| 188 | - checkNoUnfinishedContractChange(vo.getContractId()); | |
| 189 | 184 | checkSpecLockDateLimit(vo.getApplicationCount(), vo.getContractId(), vo.getSpecLockDate()); |
| 190 | 185 | |
| 191 | 186 | SpecLockDelayApplication data = getBaseMapper().selectById(vo.getId()); |
| ... | ... | @@ -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 | 289 | public void sendDelaySpecLockMessage() { |
| 314 | 290 | log.info("开始执行延迟锁规消息发送任务"); |
| 315 | 291 | ... | ... |
| ... | ... | @@ -56,17 +56,6 @@ |
| 56 | 56 | WHERE cca.root_contract_id = IFNULL(NULLIF(tb.parent_id, ''), tb.id) |
| 57 | 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 | 59 | ORDER BY tb.create_time DESC |
| 71 | 60 | </select> |
| 72 | 61 | </mapper> | ... | ... |