Showing
5 changed files
with
27 additions
and
54 deletions
xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/contract/GetContractDistributorStandardBo.java
| @@ -497,23 +497,6 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor | @@ -497,23 +497,6 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor | ||
| 497 | @ApiModelProperty(value = "是否可拆分") | 497 | @ApiModelProperty(value = "是否可拆分") |
| 498 | private Boolean canSplit; | 498 | private Boolean canSplit; |
| 499 | 499 | ||
| 500 | - /** | ||
| 501 | - * 是否可发起合同变更 | ||
| 502 | - */ | ||
| 503 | - @ApiModelProperty(value = "是否可发起合同变更") | ||
| 504 | - private Boolean canCreateChange; | ||
| 505 | - | ||
| 506 | - /** | ||
| 507 | - * 是否可锁规 | ||
| 508 | - */ | ||
| 509 | - @ApiModelProperty(value = "是否可锁规") | ||
| 510 | - private Boolean canSpecLock; | ||
| 511 | - | ||
| 512 | - /** | ||
| 513 | - * 是否可发起锁规延期申请 | ||
| 514 | - */ | ||
| 515 | - @ApiModelProperty(value = "是否可发起锁规延期申请") | ||
| 516 | - private Boolean canCreateSpecLockDelay; | ||
| 517 | 500 | ||
| 518 | /** | 501 | /** |
| 519 | * 是否可锁价 | 502 | * 是否可锁价 |
| @@ -271,24 +271,6 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut | @@ -271,24 +271,6 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut | ||
| 271 | private Boolean canSplit; | 271 | private Boolean canSplit; |
| 272 | 272 | ||
| 273 | /** | 273 | /** |
| 274 | - * 是否可发起合同变更 | ||
| 275 | - */ | ||
| 276 | - @ApiModelProperty(value = "是否可发起合同变更") | ||
| 277 | - private Boolean canCreateChange; | ||
| 278 | - | ||
| 279 | - /** | ||
| 280 | - * 是否可锁规 | ||
| 281 | - */ | ||
| 282 | - @ApiModelProperty(value = "是否可锁规") | ||
| 283 | - private Boolean canSpecLock; | ||
| 284 | - | ||
| 285 | - /** | ||
| 286 | - * 是否可发起锁规延期申请 | ||
| 287 | - */ | ||
| 288 | - @ApiModelProperty(value = "是否可发起锁规延期申请") | ||
| 289 | - private Boolean canCreateSpecLockDelay; | ||
| 290 | - | ||
| 291 | - /** | ||
| 292 | * 是否可锁价 | 274 | * 是否可锁价 |
| 293 | */ | 275 | */ |
| 294 | @ApiModelProperty(value = "是否可锁价") | 276 | @ApiModelProperty(value = "是否可锁价") |
| @@ -379,24 +379,6 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { | @@ -379,24 +379,6 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { | ||
| 379 | private Boolean canSplit; | 379 | private Boolean canSplit; |
| 380 | 380 | ||
| 381 | /** | 381 | /** |
| 382 | - * 是否可发起合同变更 | ||
| 383 | - */ | ||
| 384 | - @TableField(exist = false) | ||
| 385 | - private Boolean canCreateChange; | ||
| 386 | - | ||
| 387 | - /** | ||
| 388 | - * 是否可锁规 | ||
| 389 | - */ | ||
| 390 | - @TableField(exist = false) | ||
| 391 | - private Boolean canSpecLock; | ||
| 392 | - | ||
| 393 | - /** | ||
| 394 | - * 是否可发起锁规延期申请 | ||
| 395 | - */ | ||
| 396 | - @TableField(exist = false) | ||
| 397 | - private Boolean canCreateSpecLockDelay; | ||
| 398 | - | ||
| 399 | - /** | ||
| 400 | * 是否可锁价 | 382 | * 是否可锁价 |
| 401 | */ | 383 | */ |
| 402 | @TableField(exist = false) | 384 | @TableField(exist = false) |
| @@ -1367,6 +1367,10 @@ public class ContractDistributorStandardServiceImpl extends | @@ -1367,6 +1367,10 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 1367 | throw new DefaultClientException("合同不存在!"); | 1367 | throw new DefaultClientException("合同不存在!"); |
| 1368 | } | 1368 | } |
| 1369 | 1369 | ||
| 1370 | + if(hasUnfinishedContractChange(data)){ | ||
| 1371 | + throw new DefaultClientException("合同变更中,无法锁价!"); | ||
| 1372 | + } | ||
| 1373 | + | ||
| 1370 | List<UpdateContractDistributorLineVo> lineVoList = vo.getContractDistributorLineList(); | 1374 | List<UpdateContractDistributorLineVo> lineVoList = vo.getContractDistributorLineList(); |
| 1371 | if (CollectionUtils.isEmpty(lineVoList)) { | 1375 | if (CollectionUtils.isEmpty(lineVoList)) { |
| 1372 | throw new DefaultClientException("合同行数据为空!"); | 1376 | throw new DefaultClientException("合同行数据为空!"); |
| @@ -1495,6 +1499,10 @@ public class ContractDistributorStandardServiceImpl extends | @@ -1495,6 +1499,10 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 1495 | throw new DefaultClientException("合同不存在!"); | 1499 | throw new DefaultClientException("合同不存在!"); |
| 1496 | } | 1500 | } |
| 1497 | 1501 | ||
| 1502 | + if(hasUnfinishedContractChange(data)){ | ||
| 1503 | + throw new DefaultClientException("合同变更中,无法锁规!"); | ||
| 1504 | + } | ||
| 1505 | + | ||
| 1498 | List<UpdateContractDistributorLineVo> lineVoList = vo.getContractDistributorLineList(); | 1506 | List<UpdateContractDistributorLineVo> lineVoList = vo.getContractDistributorLineList(); |
| 1499 | if (CollectionUtils.isEmpty(lineVoList)) { | 1507 | if (CollectionUtils.isEmpty(lineVoList)) { |
| 1500 | throw new DefaultClientException("合同行数据为空!"); | 1508 | throw new DefaultClientException("合同行数据为空!"); |
| @@ -1582,6 +1590,20 @@ public class ContractDistributorStandardServiceImpl extends | @@ -1582,6 +1590,20 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 1582 | // createPurchaseOrderInfo(data, "PRODUCTION"); | 1590 | // createPurchaseOrderInfo(data, "PRODUCTION"); |
| 1583 | } | 1591 | } |
| 1584 | 1592 | ||
| 1593 | + /** | ||
| 1594 | + * 是否存在未结束的合同变更 | ||
| 1595 | + * | ||
| 1596 | + * @param data 合同 | ||
| 1597 | + * @return 是否存在未结束的合同变更 | ||
| 1598 | + */ | ||
| 1599 | + private boolean hasUnfinishedContractChange(ContractDistributorStandard data) { | ||
| 1600 | + if (data == null) { | ||
| 1601 | + return false; | ||
| 1602 | + } | ||
| 1603 | + String rootContractId = StringUtils.isBlank(data.getParentId()) ? data.getId() : data.getParentId(); | ||
| 1604 | + return contractChangeApplicationService.hasUnfinishedApplication(rootContractId); | ||
| 1605 | + } | ||
| 1606 | + | ||
| 1585 | private String buildSpecificationLockContractCode(String contractCode, String contractType, int lockBatchNo) { | 1607 | private String buildSpecificationLockContractCode(String contractCode, String contractType, int lockBatchNo) { |
| 1586 | if (!isOpenSpecContract(contractType) || StringUtils.isBlank(contractCode)) { | 1608 | if (!isOpenSpecContract(contractType) || StringUtils.isBlank(contractCode)) { |
| 1587 | return contractCode; | 1609 | return contractCode; |
| @@ -65,6 +65,8 @@ | @@ -65,6 +65,8 @@ | ||
| 65 | <result column="standardized_at" property="standardizedAt"/> | 65 | <result column="standardized_at" property="standardizedAt"/> |
| 66 | <result column="title" property="title"/> | 66 | <result column="title" property="title"/> |
| 67 | <result column="change_reason" property="changeReason"/> | 67 | <result column="change_reason" property="changeReason"/> |
| 68 | + <result column="price_lock_user_id" property="priceLockUserId"/> | ||
| 69 | + <result column="changed" property="changed"/> | ||
| 68 | </resultMap> | 70 | </resultMap> |
| 69 | 71 | ||
| 70 | <sql id="ContractDistributorStandard_sql"> | 72 | <sql id="ContractDistributorStandard_sql"> |
| @@ -129,7 +131,9 @@ | @@ -129,7 +131,9 @@ | ||
| 129 | tb.formalized_at, | 131 | tb.formalized_at, |
| 130 | tb.standardized_at, | 132 | tb.standardized_at, |
| 131 | tb.title, | 133 | tb.title, |
| 132 | - tb.change_reason | 134 | + tb.change_reason, |
| 135 | + tb.price_lock_user_id, | ||
| 136 | + tb.changed | ||
| 133 | FROM tbl_contract_distributor_standard AS tb | 137 | FROM tbl_contract_distributor_standard AS tb |
| 134 | </sql> | 138 | </sql> |
| 135 | 139 |