Showing
1 changed file
with
62 additions
and
0 deletions
xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/shipments/ShipmentsOrderInfoServiceImpl.java
| ... | ... | @@ -30,12 +30,14 @@ import com.lframework.xingyun.sc.handlers.MessageHandler; |
| 30 | 30 | import com.lframework.xingyun.sc.service.ledger.ReceiptLedgerInfoService; |
| 31 | 31 | import com.lframework.xingyun.sc.service.order.PurchaseOrderInfoService; |
| 32 | 32 | import com.lframework.xingyun.sc.service.order.PurchaseOrderLineService; |
| 33 | +import com.lframework.xingyun.sc.service.sample.SampleResultTrackingService; | |
| 33 | 34 | import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanDetailService; |
| 34 | 35 | import com.lframework.xingyun.sc.service.shipments.ShipmentsPlanService; |
| 35 | 36 | import com.lframework.xingyun.sc.service.shipments.car.CarRequestPlanService; |
| 36 | 37 | import com.lframework.xingyun.sc.service.shipments.car.DraftRequestCarTicketService; |
| 37 | 38 | import com.lframework.xingyun.sc.service.shipments.car.RequestCarTicketService; |
| 38 | 39 | import com.lframework.xingyun.sc.utils.CommonUtil; |
| 40 | +import com.lframework.xingyun.sc.vo.sample.tracking.CreateSampleResultTrackingVo; | |
| 39 | 41 | import com.lframework.xingyun.sc.vo.shipments.car.CreateCarRequestPlanVo; |
| 40 | 42 | import com.lframework.xingyun.sc.vo.shipments.car.CreateDraftRequestCarTicketVo; |
| 41 | 43 | import com.lframework.xingyun.sc.vo.shipments.car.CreateRequestCarTicketVo; |
| ... | ... | @@ -95,6 +97,8 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr |
| 95 | 97 | private ReceiptLedgerInfoService receiptLedgerInfoService; |
| 96 | 98 | @Resource |
| 97 | 99 | private SysUserRoleService sysUserRoleService; |
| 100 | + @Resource | |
| 101 | + private SampleResultTrackingService sampleResultTrackingService; | |
| 98 | 102 | |
| 99 | 103 | |
| 100 | 104 | @Override |
| ... | ... | @@ -454,6 +458,64 @@ public class ShipmentsOrderInfoServiceImpl extends BaseMpServiceImpl<ShipmentsOr |
| 454 | 458 | // 生成应收款台账明细数据 |
| 455 | 459 | receiptLedgerInfoService.generateLedgerInfo(Collections.singletonList(orderInfo)); |
| 456 | 460 | } |
| 461 | + //生成产品试样结果跟踪单 | |
| 462 | + if (CollectionUtils.isNotEmpty(orderIds)) { | |
| 463 | + Map<Object, List<ShipmentsPlanDetail>> map = shipmentsOrderDetailList.stream() | |
| 464 | + .collect(Collectors.groupingBy(ShipmentsPlanDetail::getOrderId)); | |
| 465 | + for (String orderId : orderIds) { | |
| 466 | + CreateSampleResultTrackingVo vo1 = new CreateSampleResultTrackingVo(); | |
| 467 | + PurchaseOrderInfo info = purchaseOrderInfoService.findById(orderId); | |
| 468 | + if (!info.isSampleOrder()) { | |
| 469 | + continue; | |
| 470 | + } | |
| 471 | + vo1.setDeptId(info.getDeptId()); | |
| 472 | + vo1.setCustomerId(orderInfo.getCustomerId()); | |
| 473 | + vo1.setWorkshopId(orderInfo.getWorkshopId()); | |
| 474 | + vo1.setOrderId(orderId); | |
| 475 | + | |
| 476 | + List<SampleFeedbackTrackingDetail> details = new ArrayList<>(); | |
| 477 | + List<ShipmentsPlanDetail> shipmentsPlanDetails = map.get(orderId); | |
| 478 | + if (CollectionUtils.isNotEmpty(shipmentsPlanDetails)) { | |
| 479 | + List<String> ids = shipmentsPlanDetails.stream().map(ShipmentsPlanDetail::getId).collect(Collectors.toList()); | |
| 480 | + QueryShipmentsPlanDetailVo vo2 = new QueryShipmentsPlanDetailVo(); | |
| 481 | + vo2.setIds(ids); | |
| 482 | + List<ShipmentsPlanDetail> query = shipmentsPlanDetailService.query(vo2); | |
| 483 | + if (CollectionUtils.isNotEmpty(query)) { | |
| 484 | + SampleFeedbackTrackingDetail detail = new SampleFeedbackTrackingDetail(); | |
| 485 | + String userId = SecurityUtil.getCurrentUser().getId(); | |
| 486 | + for (ShipmentsPlanDetail shipmentsPlanDetail : query) { | |
| 487 | + detail.setId(IdUtil.getId()); | |
| 488 | + detail.setOrderId(orderId); | |
| 489 | + detail.setOrderSpecId(shipmentsPlanDetail.getOrderSpecId()); | |
| 490 | + detail.setShipmentOrderId(shipmentsPlanDetail.getShipmentOrderId()); | |
| 491 | + detail.setShipmentDetailId(shipmentsPlanDetail.getId()); | |
| 492 | + detail.setBrand(shipmentsPlanDetail.getBrand()); | |
| 493 | + detail.setThickness(shipmentsPlanDetail.getThickness()); | |
| 494 | + detail.setThicknessTolPos(shipmentsPlanDetail.getThicknessTolPos()); | |
| 495 | + detail.setThicknessTolNeg(shipmentsPlanDetail.getThicknessTolNeg()); | |
| 496 | + detail.setWidth(shipmentsPlanDetail.getWidth()); | |
| 497 | + detail.setWidthTolPos(shipmentsPlanDetail.getWidthTolPos()); | |
| 498 | + detail.setWidthTolNeg(shipmentsPlanDetail.getWidthTolNeg()); | |
| 499 | + detail.setLength(shipmentsPlanDetail.getLength()); | |
| 500 | + detail.setLengthTolPos(shipmentsPlanDetail.getLengthTolPos()); | |
| 501 | + detail.setLengthTolNeg(shipmentsPlanDetail.getLengthTolNeg()); | |
| 502 | + detail.setStatus(shipmentsPlanDetail.getStatus()); | |
| 503 | + detail.setShipmentDate(shipmentsPlanDetail.getShipmentsDate()); | |
| 504 | + detail.setQuantity(shipmentsPlanDetail.getActualShipmentQuantity()); | |
| 505 | + detail.setYieldBatchNo(shipmentsPlanDetail.getYieldBatchNo()); | |
| 506 | + detail.setCreateById(userId); | |
| 507 | + detail.setCreateTime(LocalDateTime.now()); | |
| 508 | + detail.setUpdateById(userId); | |
| 509 | + detail.setUpdateTime(LocalDateTime.now()); | |
| 510 | + details.add(detail); | |
| 511 | + } | |
| 512 | + } | |
| 513 | + } | |
| 514 | + vo1.setSampleFeedbackTrackingDetailList(details); | |
| 515 | + | |
| 516 | + sampleResultTrackingService.create(vo1); | |
| 517 | + } | |
| 518 | + } | |
| 457 | 519 | } |
| 458 | 520 | |
| 459 | 521 | @Override | ... | ... |