From 605d5137e1ed581fccbb67262741d0ff8dd1e367 Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Wed, 26 Mar 2025 16:25:14 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(all):=20=E6=88=91=E4=B9=90=E5=B7=A5?= =?UTF-8?q?=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 修改我乐工厂回传逻辑 --- .../olo/entity/FactoryNodePushEntity.java | 5 +++ .../olo/mq/NodeDataPushListener.java | 40 +++++++++++-------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/entity/FactoryNodePushEntity.java b/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/entity/FactoryNodePushEntity.java index 11b05d506..005076a28 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/entity/FactoryNodePushEntity.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/entity/FactoryNodePushEntity.java @@ -79,6 +79,11 @@ public class FactoryNodePushEntity extends BaseEntity { */ @ApiModelProperty(value = "订单号") private String orderCode; + /** + * 包条码 + */ + @ApiModelProperty(value = "包条码") + private String packageCode; /** * 运单号 */ diff --git a/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mq/NodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mq/NodeDataPushListener.java index 4b9d6061f..847565949 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mq/NodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/mq/NodeDataPushListener.java @@ -173,22 +173,30 @@ public class NodeDataPushListener { // value 按包件分组 包含则数量+1 // 分拨中心回传所有包件,其他节点回传当前操作的包件 if (isArrival) { - List collect2 = factoryList.stream() - .filter(data -> data.getCrmSo().equals(orderCode)) - .filter(data -> data.getShipmentSplitNo().equals(shipmentSplitNo)) - .collect(Collectors.toList()); - snMap = collect2.stream().collect(Collectors.toMap(DeliveryNoteEntity::getSn, s -> Convert.toInt(s.getQty()))); - FactoryNodePushEntity entity1 = FactoryNodePushEntity.builder() - .orderCode(orderCode).statusName(needSendNode.getStatus()).opTime(entries.getStr("operatorTime")).content(needSendNode.getValue()) - .waybillCode(waybillNumber).siteLevel(needSendNode.getSiteLecel(isArrival)).warehouse(sendData.getWarehouseName()) - .receiveOrSend(needSendNode.getReceiveOrSend()) - .shipmentSpitCode(shipmentSplitNo).shipmentCode(collect.get(sendData.getPackageCode() + sendData.getOrderCode()).get(0).getShipmentNo()) - .receivable(0).receipts(0) - .type(needSendNode.getValue()) - .typeCode(needSendNode.getCode()) - .build(); - pushEntities.add(entity1); - factoryNodeAllPushEntity.setPackageCode(collect2.stream().map(DeliveryNoteEntity::getSn).collect(Collectors.joining(","))); + // List collect2 = factoryList.stream() + // .filter(data -> data.getCrmSo().equals(orderCode)) + // .filter(data -> data.getShipmentSplitNo().equals(shipmentSplitNo)) + // .collect(Collectors.toList()); + List checkList = deliveryNoteService.list(Wrappers.lambdaQuery() + .select(DeliveryNoteEntity::getSn, DeliveryNoteEntity::getQty) + .eq(DeliveryNoteEntity::getShipmentSplitNo, shipmentSplitNo) + .eq(DeliveryNoteEntity::getCrmSo, orderCode) + ); + snMap = checkList.stream().collect(Collectors.toMap(DeliveryNoteEntity::getSn, s -> Convert.toInt(s.getQty()))); + for (DeliveryNoteEntity deliveryNoteEntity : checkList) { + FactoryNodePushEntity entity1 = FactoryNodePushEntity.builder() + .orderCode(orderCode).statusName(needSendNode.getStatus()).opTime(entries.getStr("operatorTime")).content(needSendNode.getValue()) + .waybillCode(waybillNumber).siteLevel(needSendNode.getSiteLecel(isArrival)).warehouse(sendData.getWarehouseName()) + .receiveOrSend(needSendNode.getReceiveOrSend()) + .shipmentSpitCode(shipmentSplitNo).shipmentCode(collect.get(sendData.getPackageCode() + sendData.getOrderCode()).get(0).getShipmentNo()) + .receivable(0).receipts(0) + .type(needSendNode.getValue()) + .typeCode(needSendNode.getCode()) + .packageCode(deliveryNoteEntity.getSn()) + .build(); + pushEntities.add(entity1); + } + factoryNodeAllPushEntity.setPackageCode(checkList.stream().map(DeliveryNoteEntity::getSn).collect(Collectors.joining(","))); } else { for (PushData data : value) { if (snMap.containsKey(data.getPackageCode())) { From 21f714e173fe72f5c65ae22954f824ea4bda22da Mon Sep 17 00:00:00 2001 From: zhenghaoyu Date: Wed, 26 Mar 2025 16:44:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1.=E5=B9=B2=E7=BA=BFbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasicdataFactoryCategoryImporter.java | 7 ++-- .../controller/ReportTimeController.java | 34 ------------------- .../logpm/report/mapper/ReportTimeMapper.xml | 34 ++++++++++++++----- .../report/vo/ReportOpenTimeDetailVO.java | 4 +++ .../controller/AdvanceDetailController.java | 9 +++-- .../logpm/trunkline/dto/PackageCodeDTO.java | 13 +++++++ .../ITrunklineAdvanceDetailService.java | 3 +- .../TrunklineAdvanceDetailServiceImpl.java | 23 +++++++------ .../impl/TrunklineCarsLoadServiceImpl.java | 19 +++++++++++ 9 files changed, 85 insertions(+), 61 deletions(-) create mode 100644 blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java index eda5a0231..0588eb70d 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/excel/BasicdataFactoryCategoryImporter.java @@ -248,6 +248,9 @@ public class BasicdataFactoryCategoryImporter implements ExcelImporter '2024-10-22 00:00:00' - and waw.business_line = #{param.businessLine} - and lta.brand = #{param.brand} - and lta.warehouse_id = #{param.warehouseId} + + and waw.business_line = #{param.businessLine} + + + and lta.brand = #{param.brand} + + + and lta.warehouse_id = #{param.warehouseId} + and waw.business_line in @@ -1788,6 +1799,7 @@ lta.store_name storeName, lta.warehouse_id warehouseId, lta.warehouse_name warehouseName, + min(ltad.incoming_time) incomingTime, GROUP_CONCAT(DISTINCT ltad.incoming_warehouse_name) incomingWarehouseName, lta.site_name siteName, lta.brand brand, @@ -1832,9 +1844,15 @@ left join logpm_warehouse_waybill lww on lww.waybill_no = lta.waybill_no left join logpm_trunkline_advance_detail ltad on ltad.advance_id = lta.id where lta.create_time > '2024-10-22 00:00:00' - and waw.business_line = #{param.businessLine} - and lta.brand = #{param.brand} - and lta.warehouse_id = #{param.warehouseId} + + and waw.business_line = #{param.businessLine} + + + and lta.brand = #{param.brand} + + + and lta.warehouse_id = #{param.warehouseId} + and waw.business_line in diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java index b4715a865..664c8ddaf 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportOpenTimeDetailVO.java @@ -30,6 +30,10 @@ public class ReportOpenTimeDetailVO implements Serializable { private Long warehouseId; @ExcelProperty(value = "导入仓库") private String warehouseName; + + @ExcelProperty(value = "入库时间") + @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date incomingTime; @ExcelProperty(value = "入库仓库") private String incomingWarehouseName; diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java index 7206534b1..fe13f6648 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/AdvanceDetailController.java @@ -8,6 +8,7 @@ import com.logpm.basicdata.feign.IBasicdataWarehouseClient; import com.logpm.distribution.vo.OrderPackgeCodeDataVO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; +import com.logpm.trunkline.dto.PackageCodeDTO; import com.logpm.trunkline.service.ITrunklineAdvanceDetailService; import com.logpm.trunkline.vo.TrunklineAdvanceDetailVO; import io.swagger.annotations.Api; @@ -17,10 +18,8 @@ import lombok.extern.slf4j.Slf4j; import org.springblade.common.exception.CustomerException; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.*; -import springfox.documentation.annotations.ApiIgnore; import java.util.List; -import java.util.Map; import java.util.Objects; @Slf4j @@ -62,14 +61,14 @@ public class AdvanceDetailController { } - @GetMapping("/showAdvancePackgeCode") + @PostMapping("/showAdvancePackgeCode") @ApiOperationSupport(order = 2) @ApiOperation(value = "返回模板和模板内容") - public R showAdvancePackgeCode(@ApiIgnore @RequestParam Map params){ + public R showAdvancePackgeCode(@RequestBody PackageCodeDTO packageCodeDTO){ OrderPackgeCodeDataVO orderPackgeCodeDataVo= null; try { - orderPackgeCodeDataVo = advanceDetailService.showAdvancePackgeCode(params); + orderPackgeCodeDataVo = advanceDetailService.showAdvancePackgeCode(packageCodeDTO); } catch (Exception e) { return R.fail(e.getMessage()); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java new file mode 100644 index 000000000..b4ac476ee --- /dev/null +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/dto/PackageCodeDTO.java @@ -0,0 +1,13 @@ +package com.logpm.trunkline.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class PackageCodeDTO implements Serializable { + + private List orderPackageCodes; + +} diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java index 84b0e0f72..9be8e14e1 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineAdvanceDetailService.java @@ -6,6 +6,7 @@ import com.logpm.distribution.vo.OrderPackgeCodeDataVO; import com.logpm.trunkline.dto.AdvanceDTO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; +import com.logpm.trunkline.dto.PackageCodeDTO; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.vo.*; import com.logpm.warehouse.entity.WarehouseWaybillEntity; @@ -41,7 +42,7 @@ public interface ITrunklineAdvanceDetailService extends BaseService params) throws Exception; + OrderPackgeCodeDataVO showAdvancePackgeCode(PackageCodeDTO packageCodeDTO) throws Exception; List findListByAdvanceId(Long advanceId); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java index b6c8b4bb7..9b807483e 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceDetailServiceImpl.java @@ -6,7 +6,6 @@ import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.logpm.basic.entity.BasicPrintTemplateEntity; @@ -17,6 +16,7 @@ import com.logpm.distribution.vo.OrderPackgeCodeDataVO; import com.logpm.trunkline.dto.AdvanceDTO; import com.logpm.trunkline.dto.AdvanceDetailDTO; import com.logpm.trunkline.dto.OrderDetailsDTO; +import com.logpm.trunkline.dto.PackageCodeDTO; import com.logpm.trunkline.entity.ReportPackageBasicEntity; import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity; import com.logpm.trunkline.entity.TrunklineAdvanceEntity; @@ -35,6 +35,7 @@ import org.springblade.common.constant.broadcast.FanoutConstants; import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant; import org.springblade.common.enums.BizOperationEnums; import org.springblade.common.enums.PackageTypeEnums; +import org.springblade.common.exception.CustomerException; import org.springblade.common.model.FanoutMsg; import org.springblade.common.model.NodeFanoutMsg; import org.springblade.common.model.PackageData; @@ -157,7 +158,7 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl params) throws Exception { + public OrderPackgeCodeDataVO showAdvancePackgeCode(PackageCodeDTO packageCodeDTO) throws Exception { log.info("----------------------------------------111111111"); OrderPackgeCodeDataVO orderPackgeCodeDataVO = new OrderPackgeCodeDataVO(); List data = new ArrayList<>(); @@ -170,15 +171,10 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl orderPackageCodes = packageCodeDTO.getOrderPackageCodes(); - String[] idArray = orderPackageCodes.split(","); - if (ObjectUtils.isNull(idArray)) { - throw new ServiceException("参数错误"); - - } log.info("----------------------------------------333333333"); - for (String orderPackageCode : idArray) { + orderPackageCodes.forEach(orderPackageCode -> { DistributionStockArticleQRCodeVO vo = new DistributionStockArticleQRCodeVO(); log.info("----------------------------------------444444444444444444"); TrunklineAdvanceDetailEntity advanceDetailEntity = baseMapper.findEntityByOrderPackageCodelimit1(orderPackageCode); @@ -241,9 +237,14 @@ public class TrunklineAdvanceDetailServiceImpl extends BaseServiceImpl updateStockArticleList = new ArrayList<>(); groupedByLoadId.keySet().forEach(loadId -> { + TrunklineCarsLoadLineEntity loadLineEntity = trunklineCarsLoadLineService.findEntityByLoadIdAndNodeId(loadId, warehouseId); + if (Objects.isNull(loadLineEntity)) { + log.warn("##################removeCarsLoadScan: 配载计划不存在 loadId={}", loadId); + throw new CustomerException(405,"配载计划不存在"); + } + + String nodeStatus = loadLineEntity.getNodeStatus(); + if("20".equals(nodeStatus)){ + log.warn("##################removeCarsLoadScan: 当前节点已发车 loadId={} warehouseId={}", loadId,warehouseId); + throw new CustomerException(405,"当前节点已发车"); + } + if("0".equals(nodeStatus)){ + log.warn("##################removeCarsLoadScan: 当前节点未到达 loadId={} warehouseId={}", loadId,warehouseId); + throw new CustomerException(405,"当前节点未到达"); + } + List loadScanEntityList = groupedByLoadId.get(loadId); if(CollUtil.isNotEmpty(loadScanEntityList)){ //把loadScanEntityList通过fromNodeId进行分组