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 | package com.lframework.xingyun.sc.bo.contract; | 1 | package com.lframework.xingyun.sc.bo.contract; |
| 2 | 2 | ||
| 3 | +import com.baomidou.mybatisplus.annotation.TableField; | ||
| 3 | import com.fasterxml.jackson.annotation.JsonFormat; | 4 | import com.fasterxml.jackson.annotation.JsonFormat; |
| 4 | import com.lframework.starter.common.constants.StringPool; | 5 | import com.lframework.starter.common.constants.StringPool; |
| 5 | import com.lframework.starter.web.core.bo.BaseBo; | 6 | import com.lframework.starter.web.core.bo.BaseBo; |
| @@ -480,6 +481,12 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor | @@ -480,6 +481,12 @@ public class GetContractDistributorStandardBo extends BaseBo<ContractDistributor | ||
| 480 | private Boolean canSplit; | 481 | private Boolean canSplit; |
| 481 | 482 | ||
| 482 | /** | 483 | /** |
| 484 | + * 是否可锁价 | ||
| 485 | + */ | ||
| 486 | + @ApiModelProperty(value = "是否可锁价") | ||
| 487 | + private Boolean canPriceLock; | ||
| 488 | + | ||
| 489 | + /** | ||
| 483 | * 创建人 | 490 | * 创建人 |
| 484 | */ | 491 | */ |
| 485 | @ApiModelProperty(value = "创建人") | 492 | @ApiModelProperty(value = "创建人") |
| @@ -240,6 +240,12 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut | @@ -240,6 +240,12 @@ public class QueryContractDistributorStandardBo extends BaseBo<ContractDistribut | ||
| 240 | @ApiModelProperty(value = "是否可拆分") | 240 | @ApiModelProperty(value = "是否可拆分") |
| 241 | private Boolean canSplit; | 241 | private Boolean canSplit; |
| 242 | 242 | ||
| 243 | + /** | ||
| 244 | + * 是否可锁价 | ||
| 245 | + */ | ||
| 246 | + @ApiModelProperty(value = "是否可锁价") | ||
| 247 | + private Boolean canPriceLock; | ||
| 248 | + | ||
| 243 | 249 | ||
| 244 | public QueryContractDistributorStandardBo() { | 250 | public QueryContractDistributorStandardBo() { |
| 245 | 251 |
| @@ -266,6 +266,11 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> { | @@ -266,6 +266,11 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> { | ||
| 266 | @ApiModelProperty("合同类型") | 266 | @ApiModelProperty("合同类型") |
| 267 | private String contractType; | 267 | private String contractType; |
| 268 | 268 | ||
| 269 | + /** | ||
| 270 | + * 订货单状态 | ||
| 271 | + */ | ||
| 272 | + @ApiModelProperty("订货单状态") | ||
| 273 | + private String status; | ||
| 269 | 274 | ||
| 270 | public OrderChangeRecordBo() { | 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,6 +107,7 @@ public class OrderChangeRecordController extends DefaultBaseController { | ||
| 107 | result.setContractType(contractDistributorStandard.getType()); | 107 | result.setContractType(contractDistributorStandard.getType()); |
| 108 | } | 108 | } |
| 109 | } | 109 | } |
| 110 | + result.setStatus(purchaseOrderInfo.getStatus()); | ||
| 110 | } | 111 | } |
| 111 | 112 | ||
| 112 | return InvokeResultBuilder.success(result); | 113 | return InvokeResultBuilder.success(result); |
| @@ -442,9 +443,17 @@ public class OrderChangeRecordController extends DefaultBaseController { | @@ -442,9 +443,17 @@ public class OrderChangeRecordController extends DefaultBaseController { | ||
| 442 | return true; | 443 | return true; |
| 443 | } | 444 | } |
| 444 | return "UPDATE".equals(line.getType()) && (line.getBrandChange() | 445 | return "UPDATE".equals(line.getType()) && (line.getBrandChange() |
| 446 | + || line.getIndustryChange() | ||
| 447 | + || line.getQualityChange() | ||
| 445 | || line.getLengthChange() | 448 | || line.getLengthChange() |
| 449 | + || line.getLengthTolNegChange() | ||
| 450 | + || line.getLengthTolPosChange() | ||
| 446 | || line.getWidthChange() | 451 | || line.getWidthChange() |
| 452 | + || line.getWidthTolNegChange() | ||
| 453 | + || line.getWidthTolPosChange() | ||
| 447 | || line.getThicknessChange() | 454 | || line.getThicknessChange() |
| 455 | + || line.getThicknessTolNegChange() | ||
| 456 | + || line.getThicknessTolPosChange() | ||
| 448 | || line.getStatusChange() | 457 | || line.getStatusChange() |
| 449 | || line.getQuantityChange() | 458 | || line.getQuantityChange() |
| 450 | || line.getSalesPriceChange() | 459 | || line.getSalesPriceChange() |
| @@ -369,6 +369,12 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { | @@ -369,6 +369,12 @@ public class ContractDistributorStandard extends BaseEntity implements BaseDto { | ||
| 369 | private Boolean canSplit; | 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 | @TableField(exist = false) | 380 | @TableField(exist = false) |
| @@ -219,6 +219,7 @@ public class ContractDistributorStandardServiceImpl extends | @@ -219,6 +219,7 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 219 | 219 | ||
| 220 | List<ContractDistributorStandard> datas = getBaseMapper().query(vo); | 220 | List<ContractDistributorStandard> datas = getBaseMapper().query(vo); |
| 221 | CollectionUtils.emptyIfNull(datas).forEach(data -> data.setCanSplit(isCanSplit(data))); | 221 | CollectionUtils.emptyIfNull(datas).forEach(data -> data.setCanSplit(isCanSplit(data))); |
| 222 | + fillCanPriceLock(datas); | ||
| 222 | return datas; | 223 | return datas; |
| 223 | } | 224 | } |
| 224 | 225 | ||
| @@ -239,6 +240,7 @@ public class ContractDistributorStandardServiceImpl extends | @@ -239,6 +240,7 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 239 | } | 240 | } |
| 240 | data.setCanEdit(canEdit); | 241 | data.setCanEdit(canEdit); |
| 241 | fillRemainingQuantity(data); | 242 | fillRemainingQuantity(data); |
| 243 | + fillCanPriceLock(data); | ||
| 242 | 244 | ||
| 243 | // 获取当前人员的待办任务数据 | 245 | // 获取当前人员的待办任务数据 |
| 244 | List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId()); | 246 | List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId()); |
| @@ -308,6 +310,73 @@ public class ContractDistributorStandardServiceImpl extends | @@ -308,6 +310,73 @@ public class ContractDistributorStandardServiceImpl extends | ||
| 308 | return true; | 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 | @OpLog(type = OtherOpLogType.class, name = "新增合同,ID:{}", params = {"#id"}) | 380 | @OpLog(type = OtherOpLogType.class, name = "新增合同,ID:{}", params = {"#id"}) |
| 312 | @Transactional(rollbackFor = Exception.class) | 381 | @Transactional(rollbackFor = Exception.class) |
| 313 | @Override | 382 | @Override |
| @@ -409,6 +409,7 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR | @@ -409,6 +409,7 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR | ||
| 409 | List<PurchaseOrderLine> afterChangeSpecList = record.getAfterChangeSpecList(); | 409 | List<PurchaseOrderLine> afterChangeSpecList = record.getAfterChangeSpecList(); |
| 410 | if (CollectionUtils.isNotEmpty(afterChangeSpecList)) { | 410 | if (CollectionUtils.isNotEmpty(afterChangeSpecList)) { |
| 411 | orderInfo.setStockUpCompanyName(purchaseOrderInfo.getStockUpCompanyName()); | 411 | orderInfo.setStockUpCompanyName(purchaseOrderInfo.getStockUpCompanyName()); |
| 412 | + orderInfo.setType(purchaseOrderInfo.getType()); | ||
| 412 | for (PurchaseOrderLine line : afterChangeSpecList) { | 413 | for (PurchaseOrderLine line : afterChangeSpecList) { |
| 413 | createOrderDetailReport(line, orderDetailReport, orderInfo, standard, null | 414 | createOrderDetailReport(line, orderDetailReport, orderInfo, standard, null |
| 414 | , purchaseOrderInfo.getContractCreateById()); | 415 | , purchaseOrderInfo.getContractCreateById()); |
| @@ -514,6 +515,7 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR | @@ -514,6 +515,7 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR | ||
| 514 | PurchaseOrderInfo orderInfo, ContractDistributorStandard standard, String type1, | 515 | PurchaseOrderInfo orderInfo, ContractDistributorStandard standard, String type1, |
| 515 | String contractCreateById) { | 516 | String contractCreateById) { |
| 516 | CreateOrderDetailReportVo vo = new CreateOrderDetailReportVo(); | 517 | CreateOrderDetailReportVo vo = new CreateOrderDetailReportVo(); |
| 518 | + vo.setOrderingUnitName(orderDetailReport.getOrderingUnitName()); | ||
| 517 | if ("offset".equals(type1)) { | 519 | if ("offset".equals(type1)) { |
| 518 | vo.setPurchaseOrderLineId(line.getId()); | 520 | vo.setPurchaseOrderLineId(line.getId()); |
| 519 | vo.setQuantity(line.getQuantity().negate()); | 521 | vo.setQuantity(line.getQuantity().negate()); |
| @@ -524,13 +526,13 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR | @@ -524,13 +526,13 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR | ||
| 524 | vo.setPurchaseOrderLineId(line.getId()); | 526 | vo.setPurchaseOrderLineId(line.getId()); |
| 525 | } | 527 | } |
| 526 | vo.setQuantity(line.getQuantity()); | 528 | vo.setQuantity(line.getQuantity()); |
| 529 | + vo.setOrderingUnitName(orderInfo.getOrderingUnitName()); | ||
| 527 | } | 530 | } |
| 528 | vo.setOrderNo(orderDetailReport.getOrderNo()); | 531 | vo.setOrderNo(orderDetailReport.getOrderNo()); |
| 529 | vo.setOrderDate(orderDetailReport.getOrderDate()); | 532 | vo.setOrderDate(orderDetailReport.getOrderDate()); |
| 530 | vo.setWorkshopId(orderDetailReport.getWorkshopId()); | 533 | vo.setWorkshopId(orderDetailReport.getWorkshopId()); |
| 531 | vo.setDeptName(orderDetailReport.getDeptName()); | 534 | vo.setDeptName(orderDetailReport.getDeptName()); |
| 532 | vo.setRegionName(orderDetailReport.getRegionName()); | 535 | vo.setRegionName(orderDetailReport.getRegionName()); |
| 533 | - vo.setOrderingUnitName(orderDetailReport.getOrderingUnitName()); | ||
| 534 | vo.setIndustry(line.getIndustry()); | 536 | vo.setIndustry(line.getIndustry()); |
| 535 | vo.setBrand(line.getBrand()); | 537 | vo.setBrand(line.getBrand()); |
| 536 | vo.setThickness(line.getThickness()); | 538 | vo.setThickness(line.getThickness()); |