Commit de5cf25ab50843ddc79f68c41dd4c02be4989b92
Merge branch 'master_after0506_tmp' into master_after0506
Showing
7 changed files
with
105 additions
and
1 deletions
xingyun-sc/src/main/java/com/lframework/xingyun/sc/bo/contract/GetContractDistributorStandardBo.java
| 1 | 1 | package com.lframework.xingyun.sc.bo.contract; |
| 2 | 2 | |
| 3 | +import com.baomidou.mybatisplus.annotation.TableField; | |
| 3 | 4 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 4 | 5 | import com.lframework.starter.common.constants.StringPool; |
| 5 | 6 | import com.lframework.starter.web.core.bo.BaseBo; |
| ... | ... | @@ -480,6 +481,12 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor |
| 480 | 481 | private Boolean canSplit; |
| 481 | 482 | |
| 482 | 483 | /** |
| 484 | + * 是否可锁价 | |
| 485 | + */ | |
| 486 | + @ApiModelProperty(value = "是否可锁价") | |
| 487 | + private Boolean canPriceLock; | |
| 488 | + | |
| 489 | + /** | |
| 483 | 490 | * 创建人 |
| 484 | 491 | */ |
| 485 | 492 | @ApiModelProperty(value = "创建人") | ... | ... |
| ... | ... | @@ -240,6 +240,12 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut |
| 240 | 240 | @ApiModelProperty(value = "是否可拆分") |
| 241 | 241 | private Boolean canSplit; |
| 242 | 242 | |
| 243 | + /** | |
| 244 | + * 是否可锁价 | |
| 245 | + */ | |
| 246 | + @ApiModelProperty(value = "是否可锁价") | |
| 247 | + private Boolean canPriceLock; | |
| 248 | + | |
| 243 | 249 | |
| 244 | 250 | public QueryContractDistributorStandardBo() { |
| 245 | 251 | ... | ... |
| ... | ... | @@ -266,6 +266,11 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> { |
| 266 | 266 | @ApiModelProperty("合同类型") |
| 267 | 267 | private String contractType; |
| 268 | 268 | |
| 269 | + /** | |
| 270 | + * 订货单状态 | |
| 271 | + */ | |
| 272 | + @ApiModelProperty("订货单状态") | |
| 273 | + private String status; | |
| 269 | 274 | |
| 270 | 275 | public OrderChangeRecordBo() { |
| 271 | 276 | ... | ... |
xingyun-sc/src/main/java/com/lframework/xingyun/sc/controller/order/OrderChangeRecordController.java
| ... | ... | @@ -107,6 +107,7 @@ public class OrderChangeRecordController extends DefaultBaseController { |
| 107 | 107 | result.setContractType(contractDistributorStandard.getType()); |
| 108 | 108 | } |
| 109 | 109 | } |
| 110 | + result.setStatus(purchaseOrderInfo.getStatus()); | |
| 110 | 111 | } |
| 111 | 112 | |
| 112 | 113 | return InvokeResultBuilder.success(result); |
| ... | ... | @@ -442,9 +443,17 @@ public class OrderChangeRecordController extends DefaultBaseController { |
| 442 | 443 | return true; |
| 443 | 444 | } |
| 444 | 445 | return "UPDATE".equals(line.getType()) && (line.getBrandChange() |
| 446 | + || line.getIndustryChange() | |
| 447 | + || line.getQualityChange() | |
| 445 | 448 | || line.getLengthChange() |
| 449 | + || line.getLengthTolNegChange() | |
| 450 | + || line.getLengthTolPosChange() | |
| 446 | 451 | || line.getWidthChange() |
| 452 | + || line.getWidthTolNegChange() | |
| 453 | + || line.getWidthTolPosChange() | |
| 447 | 454 | || line.getThicknessChange() |
| 455 | + || line.getThicknessTolNegChange() | |
| 456 | + || line.getThicknessTolPosChange() | |
| 448 | 457 | || line.getStatusChange() |
| 449 | 458 | || line.getQuantityChange() |
| 450 | 459 | || line.getSalesPriceChange() | ... | ... |
| ... | ... | @@ -369,6 +369,12 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { |
| 369 | 369 | private Boolean canSplit; |
| 370 | 370 | |
| 371 | 371 | /** |
| 372 | + * 是否可锁价 | |
| 373 | + */ | |
| 374 | + @TableField(exist = false) | |
| 375 | + private Boolean canPriceLock; | |
| 376 | + | |
| 377 | + /** | |
| 372 | 378 | * 剩余锁规数量 |
| 373 | 379 | */ |
| 374 | 380 | @TableField(exist = false) | ... | ... |
| ... | ... | @@ -219,6 +219,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 219 | 219 | |
| 220 | 220 | List<ContractDistributorStandard> datas = getBaseMapper().query(vo); |
| 221 | 221 | CollectionUtils.emptyIfNull(datas).forEach(data -> data.setCanSplit(isCanSplit(data))); |
| 222 | + fillCanPriceLock(datas); | |
| 222 | 223 | return datas; |
| 223 | 224 | } |
| 224 | 225 | |
| ... | ... | @@ -239,6 +240,7 @@ public class ContractDistributorStandardServiceImpl extends |
| 239 | 240 | } |
| 240 | 241 | data.setCanEdit(canEdit); |
| 241 | 242 | fillRemainingQuantity(data); |
| 243 | + fillCanPriceLock(data); | |
| 242 | 244 | |
| 243 | 245 | // 获取当前人员的待办任务数据 |
| 244 | 246 | List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId()); |
| ... | ... | @@ -308,6 +310,73 @@ public class ContractDistributorStandardServiceImpl extends |
| 308 | 310 | return true; |
| 309 | 311 | } |
| 310 | 312 | |
| 313 | + /** | |
| 314 | + * 批量回填是否可锁价 | |
| 315 | + * | |
| 316 | + * @param datas 合同列表 | |
| 317 | + */ | |
| 318 | + private void fillCanPriceLock(List<ContractDistributorStandard> datas) { | |
| 319 | + if (CollectionUtils.isEmpty(datas)) { | |
| 320 | + return; | |
| 321 | + } | |
| 322 | + | |
| 323 | + List<ContractDistributorStandard> inventoryContracts = CollectionUtils.emptyIfNull(datas).stream() | |
| 324 | + .filter(Objects::nonNull) | |
| 325 | + .filter(this::isInventoryContract) | |
| 326 | + .collect(Collectors.toList()); | |
| 327 | + if (CollectionUtils.isEmpty(inventoryContracts)) { | |
| 328 | + CollectionUtils.emptyIfNull(datas).stream() | |
| 329 | + .filter(Objects::nonNull) | |
| 330 | + .forEach(data -> data.setCanPriceLock(false)); | |
| 331 | + return; | |
| 332 | + } | |
| 333 | + | |
| 334 | + CollectionUtils.emptyIfNull(datas).stream() | |
| 335 | + .filter(Objects::nonNull) | |
| 336 | + .forEach(data -> data.setCanPriceLock( | |
| 337 | + isCanPriceLock(data))); | |
| 338 | + } | |
| 339 | + | |
| 340 | + /** | |
| 341 | + * 回填是否可锁价 | |
| 342 | + * | |
| 343 | + * @param data 合同 | |
| 344 | + */ | |
| 345 | + private void fillCanPriceLock(ContractDistributorStandard data) { | |
| 346 | + if (data == null || StringUtils.isBlank(data.getId())) { | |
| 347 | + return; | |
| 348 | + } | |
| 349 | + | |
| 350 | + data.setCanPriceLock(isCanPriceLock(data)); | |
| 351 | + } | |
| 352 | + | |
| 353 | + /** | |
| 354 | + * 判断是否可锁价 | |
| 355 | + * | |
| 356 | + * @param data 合同 | |
| 357 | + * @return 是否可锁价 | |
| 358 | + */ | |
| 359 | + private boolean isCanPriceLock(ContractDistributorStandard data) { | |
| 360 | + if (!isInventoryContract(data)) { | |
| 361 | + return false; | |
| 362 | + } | |
| 363 | + if (Boolean.TRUE.equals(data.getPriceSpecLocked())) { | |
| 364 | + return false; | |
| 365 | + } | |
| 366 | + return true; | |
| 367 | + } | |
| 368 | + | |
| 369 | + /** | |
| 370 | + * 判断是否为库存合同 | |
| 371 | + * | |
| 372 | + * @param data 合同 | |
| 373 | + * @return 是否为库存合同 | |
| 374 | + */ | |
| 375 | + private boolean isInventoryContract(ContractDistributorStandard data) { | |
| 376 | + return data != null && ("DIST_STOCK_CONTRACT".equals(data.getType()) | |
| 377 | + || "INTL_INVENTORY_AGMT".equals(data.getType())); | |
| 378 | + } | |
| 379 | + | |
| 311 | 380 | @OpLog(type = OtherOpLogType.class, name = "新增合同,ID:{}", params = {"#id"}) |
| 312 | 381 | @Transactional(rollbackFor = Exception.class) |
| 313 | 382 | @Override | ... | ... |
| ... | ... | @@ -409,6 +409,7 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR |
| 409 | 409 | List<PurchaseOrderLine> afterChangeSpecList = record.getAfterChangeSpecList(); |
| 410 | 410 | if (CollectionUtils.isNotEmpty(afterChangeSpecList)) { |
| 411 | 411 | orderInfo.setStockUpCompanyName(purchaseOrderInfo.getStockUpCompanyName()); |
| 412 | + orderInfo.setType(purchaseOrderInfo.getType()); | |
| 412 | 413 | for (PurchaseOrderLine line : afterChangeSpecList) { |
| 413 | 414 | createOrderDetailReport(line, orderDetailReport, orderInfo, standard, null |
| 414 | 415 | , purchaseOrderInfo.getContractCreateById()); |
| ... | ... | @@ -514,6 +515,7 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR |
| 514 | 515 | PurchaseOrderInfo orderInfo, ContractDistributorStandard standard, String type1, |
| 515 | 516 | String contractCreateById) { |
| 516 | 517 | CreateOrderDetailReportVo vo = new CreateOrderDetailReportVo(); |
| 518 | + vo.setOrderingUnitName(orderDetailReport.getOrderingUnitName()); | |
| 517 | 519 | if ("offset".equals(type1)) { |
| 518 | 520 | vo.setPurchaseOrderLineId(line.getId()); |
| 519 | 521 | vo.setQuantity(line.getQuantity().negate()); |
| ... | ... | @@ -524,13 +526,13 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR |
| 524 | 526 | vo.setPurchaseOrderLineId(line.getId()); |
| 525 | 527 | } |
| 526 | 528 | vo.setQuantity(line.getQuantity()); |
| 529 | + vo.setOrderingUnitName(orderInfo.getOrderingUnitName()); | |
| 527 | 530 | } |
| 528 | 531 | vo.setOrderNo(orderDetailReport.getOrderNo()); |
| 529 | 532 | vo.setOrderDate(orderDetailReport.getOrderDate()); |
| 530 | 533 | vo.setWorkshopId(orderDetailReport.getWorkshopId()); |
| 531 | 534 | vo.setDeptName(orderDetailReport.getDeptName()); |
| 532 | 535 | vo.setRegionName(orderDetailReport.getRegionName()); |
| 533 | - vo.setOrderingUnitName(orderDetailReport.getOrderingUnitName()); | |
| 534 | 536 | vo.setIndustry(line.getIndustry()); |
| 535 | 537 | vo.setBrand(line.getBrand()); |
| 536 | 538 | vo.setThickness(line.getThickness()); | ... | ... |