From 6f25935e24fb1ba17b73649e638fe3152e6ddc09 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Fri, 2 Aug 2024 10:04:22 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E6=A2=A6=E5=A4=A9?= =?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../factory/mt/controller/MtFactoryDataController.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java index 01f76ad73..77bfdf1fc 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/controller/MtFactoryDataController.java @@ -108,7 +108,8 @@ public class MtFactoryDataController extends BladeController { @PostMapping("/data") @ApiOperationSupport(order = 1) @ApiOperation(value = "通常数据推送", notes = "传入factoryOrderDTO") - public R data(@Validated @RequestBody MtFactoryDataDTO mtFactoryDataDTO, HttpServletRequest request) { +// public R data(@Validated @RequestBody MtFactoryDataDTO mtFactoryDataDTO, HttpServletRequest request) { + public R data(@Validated @RequestBody Map mtFactoryDataDTO, HttpServletRequest request) { log.info("############data:{} ", mtFactoryDataDTO); String corpId = request.getHeader("corpId"); @@ -120,8 +121,10 @@ public class MtFactoryDataController extends BladeController { orderStatusLog.setBrand("梦天"); orderStatusLogService.save(orderStatusLog); try { + // 解析 map 为 MtFactoryDataDTO 对象 + MtFactoryDataDTO dto = JSONObject.parseObject(JSONObject.toJSONString(mtFactoryDataDTO), MtFactoryDataDTO.class); //数据存入数据库 - R r = mtFactoryDataService.dealWithData(mtFactoryDataDTO); + R r = mtFactoryDataService.dealWithData(dto); int code = r.getCode(); Map map = (Map) r.getData(); From 804071e8e878ac045baa5b8cbfa966685d6e7c0f Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" Date: Fri, 2 Aug 2024 15:43:17 +0800 Subject: [PATCH 2/3] =?UTF-8?q?add:1.=E5=A2=9E=E5=8A=A0=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=8D=95=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/DistributionTypeConstant.java | 11 ++ .../WarehouseWarehousingEntryServiceImpl.java | 176 ++++++++++++++---- 2 files changed, 152 insertions(+), 35 deletions(-) diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/DistributionTypeConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/DistributionTypeConstant.java index fd15d84a5..2c7035341 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/DistributionTypeConstant.java +++ b/blade-biz-common/src/main/java/org/springblade/common/constant/DistributionTypeConstant.java @@ -1,5 +1,7 @@ package org.springblade.common.constant; +import org.springblade.common.constant.driver.DriverApprovedDrivingModelConstant; + /** * 配送类型枚举 * 对应码表 distribution_type @@ -43,4 +45,13 @@ public enum DistributionTypeConstant { public void setValue(String value) { this.value = value; } + + public static String getName(String value) { + for (DistributionTypeConstant t : DistributionTypeConstant.values()) { + if (t.getValue().equals(value)) { + return t.getName(); + } + } + return null; + } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java index 87e94a938..47051787c 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java @@ -19,6 +19,7 @@ package com.logpm.warehouse.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; @@ -58,16 +59,22 @@ import com.logpm.warehouse.service.IWarehouseWarehousingEntryService; import com.logpm.warehouse.vo.WarehouseWarehousingEntryVO; import lombok.AllArgsConstructor; import lombok.extern.log4j.Log4j2; +import org.jetbrains.annotations.NotNull; +import org.springblade.common.constant.DistributionTypeConstant; import org.springblade.common.constant.printTemplate.PrintTemplateStatusConstant; import org.springblade.common.exception.CustomerException; +import org.springblade.common.utils.TemplateUtil; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.support.Condition; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.system.entity.DictBiz; +import org.springblade.system.entity.User; import org.springblade.system.feign.IDictBizClient; +import org.springblade.system.feign.IUserClient; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -101,6 +108,7 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>>>>>>>>入库单录入》》》》》》》》》》loadingType:{}",warehousingDetail.getLoadingType()); - log.info(">>>>>>>>>>>>>>>>>>>>>>入库单录入》》》》》》》》》》allocationId:{}",warehousingDetail.getAllocationId()); - if (loadingType.equals(1)){ + if (Func.isNotEmpty(loadingType)) { + log.info(">>>>>>>>>>>>>>>>>>>>>>入库单录入》》》》》》》》》》loadingType:{}", warehousingDetail.getLoadingType()); + log.info(">>>>>>>>>>>>>>>>>>>>>>入库单录入》》》》》》》》》》allocationId:{}", warehousingDetail.getAllocationId()); + if (loadingType.equals(1)) { //上架至库位 List list = new ArrayList<>(); UpShelfStockDTO upShelfStockDTO = new UpShelfStockDTO(); @@ -395,8 +403,8 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl printBatch(String ids, Integer type) { - BasicPrintTemplateEntity printTemplate = basicPrintTemplateClient.getPrintTemplate(PrintTemplateStatusConstant.stock_import_1.getValue()); - if (ObjectUtils.isNull(printTemplate)){ - throw new ServiceException("打印模板不存在!"); + + try { + List printPreviewVOList = new ArrayList<>(); + BasicPrintTemplateEntity printTemplate = basicPrintTemplateClient.getPrintTemplate(PrintTemplateStatusConstant.stock_import_1.getValue()); + String html = TemplateUtil.getTemplateByUrl(printTemplate.getTemplateUrl()); + if (ObjectUtils.isNull(printTemplate)) { + throw new ServiceException("打印模板不存在!"); + } + + String[] idsArr = ids.split(","); + + List list = baseMapper.selectBatchIds(Arrays.asList(idsArr)); + + // 根据入库ID查询 库存品详情 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(WarehouseWarehousingDetailEntity::getWarehousingEntryId, Arrays.asList(idsArr)); + queryWrapper.eq(WarehouseWarehousingDetailEntity::getIsDeleted, "0"); + List detailList = warehouseWarehousingDetailService.list(queryWrapper); + // 按照入库ID分组 + Map> detailMap = detailList.stream().collect(Collectors.groupingBy(WarehouseWarehousingDetailEntity::getWarehousingEntryId)); + + + if (Func.isNotEmpty(list)) { + + for (WarehouseWarehousingEntryEntity warehouseWarehousingEntryEntity : list) { + // 查询子表明细 + List warehouseWarehousingDetailEntities = detailMap.get(warehouseWarehousingEntryEntity.getId()); + + PrintPreviewVO printPreviewVO = buildPrintPreviewVO(warehouseWarehousingEntryEntity, warehouseWarehousingDetailEntities, printTemplate, html); + + + printPreviewVOList.add(printPreviewVO); + + + } + + } + + return printPreviewVOList; + } catch (Exception e) { + log.error("打印入库单异常", e); + throw new ServiceException("服务器异常,请联系管理员"); + } + + } + + /** + * 构建入库单信息 + * + * @param warehouseWarehousingEntryEntity + * @param warehouseWarehousingDetailEntities + * @param printTemplate + * @return + */ + private PrintPreviewVO buildPrintPreviewVO(WarehouseWarehousingEntryEntity warehouseWarehousingEntryEntity, List warehouseWarehousingDetailEntities, BasicPrintTemplateEntity printTemplate, String html) throws Exception { + + Map map = new HashMap<>(); + + map.put("入库时间", DateUtil.DATE_FORMAT.format(warehouseWarehousingEntryEntity.getReceiptDate())); + map.put("入库批次", warehouseWarehousingEntryEntity.getReceiptBatch()); + map.put("客户名称", warehouseWarehousingEntryEntity.getCustomerName()); + map.put("客户编码", warehouseWarehousingEntryEntity.getCustomerCode()); + map.put("门店名称", warehouseWarehousingEntryEntity.getStoreName()); + map.put("物流公司", warehouseWarehousingEntryEntity.getLogisticsCompany()); + map.put("物流运单号", warehouseWarehousingEntryEntity.getTrainNumber()); + map.put("入库车牌", warehouseWarehousingEntryEntity.getLicensePlate()); + map.put("订单号", warehouseWarehousingEntryEntity.getOrderNumber()); + map.put("所在仓库", warehouseWarehousingEntryEntity.getWarehouse()); + map.put("服务类型", DistributionTypeConstant.getName(warehouseWarehousingEntryEntity.getServiceType())); + map.put("备注", warehouseWarehousingEntryEntity.getRemark()); + R userR = userClient.userInfoById(warehouseWarehousingEntryEntity.getCreateUser()); + if (userR.isSuccess() && userR.getData() != null) { + map.put("制单人", userR.getData().getName()); } + map.put("制单时间", DateUtil.DATETIME_FORMAT.format(warehouseWarehousingEntryEntity.getCreateTime())); - return null; + List> dataList = new ArrayList<>(); + for (WarehouseWarehousingDetailEntity warehouseWarehousingDetailEntity : warehouseWarehousingDetailEntities) { + Map dataMap = buildDataMap(warehouseWarehousingDetailEntity); + dataList.add(dataMap); + } + map.put("入库明细", dataList); + + String popHtml = TemplateUtil.popTemplate("入库单打印", map, html); + PrintPreviewVO printPreviewVO = new PrintPreviewVO(); + printPreviewVO.setTemplateId(printTemplate.getId()); + printPreviewVO.setTemplateHtml(popHtml); + + return printPreviewVO; + + } + @NotNull + private static Map buildDataMap(WarehouseWarehousingDetailEntity warehouseWarehousingDetailEntity) { + Map dataMap = new HashMap<>(); + dataMap.put("SKU", warehouseWarehousingDetailEntity.getSku()); + dataMap.put("物料编码", warehouseWarehousingDetailEntity.getProductCode()); + dataMap.put("物科名称", warehouseWarehousingDetailEntity.getProductName()); + dataMap.put("物料单位", warehouseWarehousingDetailEntity.getProductUnit()); + dataMap.put("包装数据", warehouseWarehousingDetailEntity.getPackagingNumber()); + dataMap.put("品牌", warehouseWarehousingDetailEntity.getBrandName()); + dataMap.put("托盘名称", warehouseWarehousingDetailEntity.getTrayName()); + dataMap.put("预计入库件数", warehouseWarehousingDetailEntity.getCreateInventory()); + dataMap.put("实际入库件数", warehouseWarehousingDetailEntity.getActualReceipt()); + return dataMap; } } From 34a18ff0b6fc8588a7fc30e6bc05c1a14057920c Mon Sep 17 00:00:00 2001 From: zhaoqiaobo <583671871@qq.com> Date: Fri, 2 Aug 2024 15:56:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat(all):=20=E4=BF=AE=E6=94=B9=E6=A2=A6?= =?UTF-8?q?=E5=A4=A9=E6=96=B0=E8=80=81=E6=8E=A5=E5=8F=A3=E5=9B=9E=E4=BC=A0?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/logpm/factory/mt/dto/MtPushDataDTO.java | 2 ++ .../java/com/logpm/factory/mt/entity/MtFactoryOrderMain.java | 3 +++ .../logpm/factorydata/mengtian/mq/NodeDataPushListener.java | 4 ++++ .../logpm/factorydata/mengtian/vo/CentralStkInConfirmVO.java | 3 +++ .../com/logpm/factorydata/mengtian/vo/CentralStkInVO.java | 4 ++++ .../factorydata/mengtian/vo/SignForConfirmPackageVO.java | 4 ++++ .../java/com/logpm/factorydata/mengtian/vo/SignForVO.java | 4 ++++ .../java/com/logpm/factory/mt/dto/MtFactoryOrderMainDTO.java | 4 ++++ .../com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml | 1 + 9 files changed, 29 insertions(+) diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/dto/MtPushDataDTO.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/dto/MtPushDataDTO.java index 1b8883bbf..32fb6584d 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/dto/MtPushDataDTO.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/dto/MtPushDataDTO.java @@ -9,6 +9,8 @@ public class MtPushDataDTO implements Serializable { /** 发货单编号 */ private String senderCode; + /** OMS */ + private String oms; /** 订单编号 */ private String orderCode; /** 包件码 */ diff --git a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/entity/MtFactoryOrderMain.java b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/entity/MtFactoryOrderMain.java index 912c16b92..09cfc3a3b 100644 --- a/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/entity/MtFactoryOrderMain.java +++ b/blade-service-api/logpm-factory-api/src/main/java/com/logpm/factory/mt/entity/MtFactoryOrderMain.java @@ -20,6 +20,9 @@ public class MtFactoryOrderMain extends BaseEntity { @ApiModelProperty(value = "供应基地") private String siteName; + @ApiModelProperty(value = "OMS") + private String oms; + //@JsonProperty("发货单编号") @ApiModelProperty(value = "发货单编号") private String invoiceOrderCode; diff --git a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java index a5275a53a..de950d14f 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java @@ -111,6 +111,7 @@ public class NodeDataPushListener { .dealerName(mtPushDataDTO.getDealerName()) .inWarehouseType(finalInWarehouseType) .operatingTime(operatorTime) + .oms(mtPushDataDTO.getOms()) .operatingWarehouseName(warehouse) .orderCode(pushData.getOrderCode()) .outWarehouseType(mtPushDataDTO.getOutWarehouseType()) @@ -161,6 +162,7 @@ public class NodeDataPushListener { // 按包件分组 CentralStkInConfirmVO confirmVO = CentralStkInConfirmVO.builder() .senderCode(senderCode) + .oms(mtPushDataDTOS1.get(0).getOms()) .operatingTime(operatorTime) .operatingWarehouseName(warehouse) .inWarehouseType(inWarehouseType) @@ -217,6 +219,7 @@ public class NodeDataPushListener { MtPushDataDTO mtPushDataDTO = mtPushDataDTOMap.get(pushData.getPackageCode()); if (ObjectUtil.isNotEmpty(mtPushDataDTO)) { return SignForVO.builder() + .oms(mtPushDataDTO.getOms()) .sendTaskId(entries1.getStr("boId")) .senderCode(mtPushDataDTO.getSenderCode()) .orderCode(pushData.getOrderCode()) @@ -278,6 +281,7 @@ public class NodeDataPushListener { .packageVOS(content.stream().map( pushData -> { return SignForConfirmPackageVO.builder() + .oms(mtPushDataDTOMap.get(pushData.getPackageCode()).getOms()) .orderCode(pushData.getOrderCode()) .outWarehouseType(mtPushDataDTOMap.get(pushData.getPackageCode()).getOutWarehouseType()) .packageCode(pushData.getPackageCode()) diff --git a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInConfirmVO.java b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInConfirmVO.java index d82abc436..2b0db7456 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInConfirmVO.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInConfirmVO.java @@ -23,6 +23,9 @@ public class CentralStkInConfirmVO implements Serializable { @ApiModelProperty("发货单编号") @JsonProperty("发货单编号") private String senderCode; + @ApiModelProperty("OMS") + @JsonProperty("OMS") + private String oms; @ApiModelProperty("确认收货时间") @JsonProperty("确认收货时间") diff --git a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInVO.java b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInVO.java index 81b2f214f..092657d99 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInVO.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/CentralStkInVO.java @@ -23,6 +23,10 @@ public class CentralStkInVO implements Serializable { @JsonProperty("发货单编号") private String senderCode; + @ApiModelProperty("OMS") + @JsonProperty("OMS") + private String oms; + @ApiModelProperty("订单编号") @JsonProperty("订单编号") private String orderCode; diff --git a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForConfirmPackageVO.java b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForConfirmPackageVO.java index 1525311dd..335591825 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForConfirmPackageVO.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForConfirmPackageVO.java @@ -27,6 +27,10 @@ public class SignForConfirmPackageVO implements Serializable { @JsonProperty("订单编号") private String orderCode; + @ApiModelProperty("OMS") + @JsonProperty("OMS") + private String oms; + @ApiModelProperty("工厂出库方式") @JsonProperty("工厂出库方式") private String outWarehouseType; diff --git a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForVO.java b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForVO.java index 1f7bc0ef4..4bfb1c7e0 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForVO.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/vo/SignForVO.java @@ -27,6 +27,10 @@ public class SignForVO implements Serializable { @JsonProperty("发货单编号") private String senderCode; + @ApiModelProperty("OMS") + @JsonProperty("OMS") + private String oms; + @ApiModelProperty("订单编号") @JsonProperty("订单编号") private String orderCode; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtFactoryOrderMainDTO.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtFactoryOrderMainDTO.java index 29f47fae8..2c57a3bfa 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtFactoryOrderMainDTO.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/dto/MtFactoryOrderMainDTO.java @@ -24,6 +24,10 @@ public class MtFactoryOrderMainDTO implements Serializable { @ApiModelProperty(value = "发货单编号") private String invoiceOrderCode; + @JsonProperty("OMS") + @ApiModelProperty(value = "OMS") + private String oms; + @JsonProperty("中心仓编号") @ApiModelProperty(value = "中心仓编号") private String centerWarehouseCode; diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml index 402b6c3fe..53f034a3b 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/mapper/MtFactoryOrderMainMapper.xml @@ -104,6 +104,7 @@