Commit 573c26a32bcab9a717fd524e8e84c8dce19ce237

Authored by 房远帅
1 parent fd247d7e

试样订单:跟踪单-生成跟踪单

... ... @@ -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
... ...