From 4b7929416857ce4d58bd6f229af71cdd4fb37292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 21 Apr 2026 16:52:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?PDA=E6=8A=84=E7=A0=81=E6=8B=A3=E8=B4=A7?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockOutTaskOrderApplicationService.java | 2 + .../repository/po/CopyCodeReferencePO.java | 4 +- .../PickingMaterialDetailImpl.java | 32 +++++++ .../StockOutTaskOrderAssembler.java | 83 +++++++++++++------ .../TaskPickingMaterialDetailDTO.java | 12 +++ .../stockOutTaskOrderAppApi.java | 8 +- .../StockReceiptOrderAppApi.java | 12 ++- .../InMaterialDetailMapper.xml | 2 +- 8 files changed, 118 insertions(+), 37 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java index 4d9b6a9eb..d243ce1a2 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockOutTaskOrder/StockOutTaskOrderApplicationService.java @@ -237,6 +237,8 @@ public class StockOutTaskOrderApplicationService { returnTaskPickingMaterialDetailDO.setTotalGrossWeight(taskPickingMaterialDetailDO.getTotalGrossWeight()); returnTaskPickingMaterialDetailDO.setTotalVolume(taskPickingMaterialDetailDO.getTotalVolume()); returnTaskPickingMaterialDetailDO.setTotalArea(taskPickingMaterialDetailDO.getTotalArea()); + // 抄码拣货:PDA 提交的抄码 id 需透传,assembleParam 从 DB 重建 DO 时否则会丢失 + returnTaskPickingMaterialDetailDO.setPickedCopyCodeReferenceIds(taskPickingMaterialDetailDO.getPickedCopyCodeReferenceIds()); //是否开启了序列号管理 if (taskPickingMaterialDetailPO.getSerialNumberManage() == 1){ if (CollectionUtils.isEmpty(taskPickingMaterialDetailDO.getMaterialDetailSerialNumberList())){ diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/copyCodeReference/repository/po/CopyCodeReferencePO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/copyCodeReference/repository/po/CopyCodeReferencePO.java index d595faffb..191a402b3 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/copyCodeReference/repository/po/CopyCodeReferencePO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/copyCodeReference/repository/po/CopyCodeReferencePO.java @@ -15,8 +15,8 @@ public class CopyCodeReferencePO extends BaseVOEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty("id") - private Integer id; + @ApiModelProperty("抄码对照主键 id(PDA 提交 pickedCopyCodeReferenceIds 用)") + private Long id; @ApiModelProperty("序号") private Integer serialNumber; diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java index cfa917231..324dd000e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/pickingMaterialDetail/repository/persistence/PickingMaterialDetailImpl.java @@ -1,11 +1,13 @@ package com.mhd.wms.domain.pickingMaterialDetail.repository.persistence; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mhd.common.core.exception.ServiceException; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.model.LoginUser; +import com.mhd.wms.domain.copyCodeReference.service.CopyCodeReferenceDomainService; import com.mhd.wms.domain.copyCodeReference.entity.CopyCodeReference; import com.mhd.wms.domain.copyCodeReference.repository.facade.ICopyCodeReferenceService; import com.mhd.wms.domain.outMaterialDetail.repository.mapper.OutMaterialDetailMapper; @@ -339,6 +341,36 @@ public class PickingMaterialDetailImpl extends ServiceImpl pmdList = pickingMaterialDetailDOByUpdate.getPickingMaterialDetailList(); + if (!CollectionUtils.isEmpty(pmdList)) { + List uniqueIds = pmdList.stream() + .map(PickingMaterialDetailDO::getUniqueId) + .filter(Objects::nonNull) + .distinct() + .collect(Collectors.toList()); + if (!uniqueIds.isEmpty()) { + List rows = list(new LambdaQueryWrapper() + .in(PickingMaterialDetail::getUniqueId, uniqueIds) + .eq(PickingMaterialDetail::getDelFlag, 1)); + // HashMap.merge 不允许 value 为 null;picked_copy_code_reference_ids 未拣过时可能为 null + Map pickedInDb = rows.stream() + .filter(r -> r.getUniqueId() != null) + .collect(Collectors.toMap( + PickingMaterialDetail::getUniqueId, + r -> Objects.toString(r.getPickedCopyCodeReferenceIds(), ""), + (a, b) -> a)); + for (PickingMaterialDetailDO item : pmdList) { + if (item.getUniqueId() == null) { + continue; + } + String dbCsv = pickedInDb.get(item.getUniqueId()); + String merged = CopyCodeReferenceDomainService.mergeCommaSeparatedUniqueIds( + dbCsv, item.getPickedCopyCodeReferenceIds()); + item.setPickedCopyCodeReferenceIds(merged); + } + } + } int count = pickingMaterialDetailMapper.addQuantity(pickingMaterialDetailDOByUpdate); if (count == 0){ throw new ServiceException("更新拣货单拣货数量失败"); diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutTaskOrder/StockOutTaskOrderAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutTaskOrder/StockOutTaskOrderAssembler.java index d88604626..bb5f2769e 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutTaskOrder/StockOutTaskOrderAssembler.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/stockOutTaskOrder/StockOutTaskOrderAssembler.java @@ -10,11 +10,18 @@ import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.stockOutTaskOrder.repository.todo.StockOutTaskOrderDO; import com.mhd.wms.domain.taskPickingMaterialDetail.repository.todo.TaskPickingMaterialDetailDO; import com.mhd.wms.interfaces.dto.stockOutTaskOrder.StockOutTaskOrderDTO; +import com.mhd.wms.interfaces.dto.stockOutTaskOrder.TaskMaterialDTO; +import com.mhd.wms.interfaces.dto.stockOutTaskOrder.TaskStorageDTO; +import com.mhd.wms.interfaces.dto.taskPickingMaterialDetail.TaskPickingMaterialDetailDTO; import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * 拣货作业单Assembler @@ -81,41 +88,63 @@ public class StockOutTaskOrderAssembler { } /** - * 按库位拣货 转换实体 + * 提交拣货:按库位、按物料共用。从 taskStorageList、taskMaterialList 扁平化拣货任务明细(含抄码 id)。 */ - public StockOutTaskOrderDO toDOPickingByStorageLocation(StockOutTaskOrderDTO stockOutTaskOrderDTO) { + public StockOutTaskOrderDO toDOPicking(StockOutTaskOrderDTO stockOutTaskOrderDTO) { StockOutTaskOrderDO stockOutTaskOrderDO = new StockOutTaskOrderDO(); - // 拷贝 BeanUtils.copyProperties(stockOutTaskOrderDTO, stockOutTaskOrderDO, IgnoreNullUtil.getNullPropertyNames(stockOutTaskOrderDTO)); - List taskPickingMaterialDetailList = new ArrayList<>(); - stockOutTaskOrderDTO.getTaskStorageList().forEach(taskStorageDTO -> { - taskStorageDTO.getTaskPickingMaterialDetailList().forEach(taskPickingMaterialDetailDTO -> { - TaskPickingMaterialDetailDO taskPickingMaterialDetailDO = new TaskPickingMaterialDetailDO(); - BeanUtils.copyProperties(taskPickingMaterialDetailDTO, taskPickingMaterialDetailDO, IgnoreNullUtil.getNullPropertyNames(taskPickingMaterialDetailDTO)); - taskPickingMaterialDetailList.add(taskPickingMaterialDetailDO); - }); - }); - stockOutTaskOrderDO.setTaskPickingMaterialDetailList(taskPickingMaterialDetailList); + stockOutTaskOrderDO.setTaskPickingMaterialDetailList(collectTaskPickingMaterialDetailDOList(stockOutTaskOrderDTO)); return stockOutTaskOrderDO; } + private List collectTaskPickingMaterialDetailDOList(StockOutTaskOrderDTO dto) { + List out = new ArrayList<>(); + if (!CollectionUtils.isEmpty(dto.getTaskStorageList())) { + for (TaskStorageDTO taskStorage : dto.getTaskStorageList()) { + if (taskStorage == null || CollectionUtils.isEmpty(taskStorage.getTaskPickingMaterialDetailList())) { + continue; + } + for (TaskPickingMaterialDetailDTO row : taskStorage.getTaskPickingMaterialDetailList()) { + out.add(toTaskPickingMaterialDetailDO(row)); + } + } + } + if (!CollectionUtils.isEmpty(dto.getTaskMaterialList())) { + for (TaskMaterialDTO taskMaterial : dto.getTaskMaterialList()) { + if (taskMaterial == null || CollectionUtils.isEmpty(taskMaterial.getTaskPickingMaterialDetailList())) { + continue; + } + for (TaskPickingMaterialDetailDTO row : taskMaterial.getTaskPickingMaterialDetailList()) { + out.add(toTaskPickingMaterialDetailDO(row)); + } + } + } + return out; + } + + private static TaskPickingMaterialDetailDO toTaskPickingMaterialDetailDO(TaskPickingMaterialDetailDTO taskPickingMaterialDetailDTO) { + TaskPickingMaterialDetailDO taskPickingMaterialDetailDO = new TaskPickingMaterialDetailDO(); + BeanUtils.copyProperties(taskPickingMaterialDetailDTO, taskPickingMaterialDetailDO, IgnoreNullUtil.getNullPropertyNames(taskPickingMaterialDetailDTO)); + applyPickedCopyCodeReferenceIds(taskPickingMaterialDetailDTO, taskPickingMaterialDetailDO); + return taskPickingMaterialDetailDO; + } + /** - * 按物料拣货 转换实体 + * 保证抄码 id 进入 DO:显式覆盖 BeanUtils 遗漏;未传时从 weightList[].id 拼接。 */ - public StockOutTaskOrderDO toDOPickingByMaterial(StockOutTaskOrderDTO stockOutTaskOrderDTO) { - StockOutTaskOrderDO stockOutTaskOrderDO = new StockOutTaskOrderDO(); - // 拷贝 - BeanUtils.copyProperties(stockOutTaskOrderDTO, stockOutTaskOrderDO, IgnoreNullUtil.getNullPropertyNames(stockOutTaskOrderDTO)); - List taskPickingMaterialDetailList = new ArrayList<>(); - stockOutTaskOrderDTO.getTaskMaterialList().forEach(taskMaterialDTO -> { - taskMaterialDTO.getTaskPickingMaterialDetailList().forEach(taskPickingMaterialDetailDTO -> { - TaskPickingMaterialDetailDO taskPickingMaterialDetailDO = new TaskPickingMaterialDetailDO(); - BeanUtils.copyProperties(taskPickingMaterialDetailDTO, taskPickingMaterialDetailDO, IgnoreNullUtil.getNullPropertyNames(taskPickingMaterialDetailDTO)); - taskPickingMaterialDetailList.add(taskPickingMaterialDetailDO); - }); - }); - stockOutTaskOrderDO.setTaskPickingMaterialDetailList(taskPickingMaterialDetailList); - return stockOutTaskOrderDO; + private static void applyPickedCopyCodeReferenceIds(TaskPickingMaterialDetailDTO src, TaskPickingMaterialDetailDO dest) { + String picked = src.getPickedCopyCodeReferenceIds(); + if (!StringUtils.hasText(picked) && src.getWeightList() != null && !src.getWeightList().isEmpty()) { + picked = src.getWeightList().stream() + .filter(Objects::nonNull) + .map(m -> m.get("id")) + .filter(Objects::nonNull) + .map(Object::toString) + .collect(Collectors.joining(",")); + } + if (StringUtils.hasText(picked)) { + dest.setPickedCopyCodeReferenceIds(picked); + } } } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/taskPickingMaterialDetail/TaskPickingMaterialDetailDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/taskPickingMaterialDetail/TaskPickingMaterialDetailDTO.java index 1188578e0..2db64f71c 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/taskPickingMaterialDetail/TaskPickingMaterialDetailDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/taskPickingMaterialDetail/TaskPickingMaterialDetailDTO.java @@ -1,6 +1,7 @@ package com.mhd.wms.interfaces.dto.taskPickingMaterialDetail; +import com.fasterxml.jackson.annotation.JsonAlias; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.mhd.common.core.annotation.Excel; @@ -12,6 +13,7 @@ import lombok.Data; import java.math.BigDecimal; import java.util.List; +import java.util.Map; /** * 拣货作业单物料明细对象 task_picking_material_detail @@ -229,4 +231,14 @@ public class TaskPickingMaterialDetailDTO extends BaseVOEntity { @ApiModelProperty("总面积(SQM)") private BigDecimal totalArea; + + @JsonAlias({"picked_copy_code_reference_ids"}) + @ApiModelProperty("本次已拣抄码对照id(逗号分隔,抄码拣货提交必填,对应拣货单明细 picked_copy_code_reference_ids)") + private String pickedCopyCodeReferenceIds; + + /** + * 与 getInfoByMaterial 回显结构一致;若未传 pickedCopyCodeReferenceIds,服务端可从每项 id 拼成逗号串。 + */ + @ApiModelProperty("抄码待拣/已选列表(可选,用于从 id 推导 pickedCopyCodeReferenceIds)") + private List> weightList; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java index 9e9eb0985..fdd9a7574 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockOutTaskOrder/stockOutTaskOrderAppApi.java @@ -63,9 +63,7 @@ public class stockOutTaskOrderAppApi extends BaseController { @PostMapping("/pickingByStorageLocation") public AjaxResult pickingByStorageLocation(@RequestBody StockOutTaskOrderDTO stockOutTaskOrderDTO) { - //转换实体 - StockOutTaskOrderDO stockOutTaskOrderDO = stockOutTaskOrderAssembler.toDOPickingByStorageLocation(stockOutTaskOrderDTO); - //拆成最小颗粒 + StockOutTaskOrderDO stockOutTaskOrderDO = stockOutTaskOrderAssembler.toDOPicking(stockOutTaskOrderDTO); return AjaxResult.success(stockOutTaskOrderApplicationService.pickingByMaterial(stockOutTaskOrderDO)); } @@ -86,9 +84,7 @@ public class stockOutTaskOrderAppApi extends BaseController { @PostMapping("/pickingByMaterial") public AjaxResult pickingByMaterial(@RequestBody StockOutTaskOrderDTO stockOutTaskOrderDTO) { - //转换实体 - StockOutTaskOrderDO stockOutTaskOrderDO = stockOutTaskOrderAssembler.toDOPickingByMaterial(stockOutTaskOrderDTO); - //拆成最小颗粒 + StockOutTaskOrderDO stockOutTaskOrderDO = stockOutTaskOrderAssembler.toDOPicking(stockOutTaskOrderDTO); return AjaxResult.success(stockOutTaskOrderApplicationService.pickingByMaterial(stockOutTaskOrderDO)); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockReceiptOrder/StockReceiptOrderAppApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockReceiptOrder/StockReceiptOrderAppApi.java index c3de72056..eb3951d06 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockReceiptOrder/StockReceiptOrderAppApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApp/stockReceiptOrder/StockReceiptOrderAppApi.java @@ -5,6 +5,9 @@ import com.mhd.common.core.web.controller.BaseController; import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.core.web.page.TableDataInfoApi; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; +import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; +import com.mhd.system.api.model.LoginUser; import com.mhd.wms.application.service.stockReceiptOrder.StockReceiptOrderApplicationService; import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO; import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO; @@ -54,7 +57,14 @@ public class StockReceiptOrderAppApi extends BaseController { //转换实体 StockReceiptOrderDO stockReceiptOrderDO = stockReceiptOrderAssembler.toDO(stockReceiptOrderDTO); startPage(); - stockReceiptOrderDO.setOperatorsBy(SecurityUtils.getLoginUser().getUserPo().getUserId()); + LoginUser loginUser = SecurityUtils.getLoginUser(); + stockReceiptOrderDO.setOperatorsBy(loginUser.getUserPo().getUserId()); + // 与 PDA 出库复核列表一致:按当前用户关联仓库过滤(见 StockOutOrderAppApi#list) + AssociationWarehouseCacheDO associationWarehouseCacheDO = + SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (associationWarehouseCacheDO != null) { + stockReceiptOrderDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); + } List list = stockReceiptOrderApplicationService.queryList(stockReceiptOrderDO); return getDataTableApi(list); } diff --git a/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml b/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml index ea2509216..c3afd64e1 100644 --- a/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml +++ b/mhd_wms/src/main/resources/mapper/inMaterialDetail/InMaterialDetailMapper.xml @@ -114,7 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" a.SPECIFICATION_MODEL, a.SKU_CODE, a.INVOICE_NO, a.LITER, a.DIMENSIONS, a.DECLARATION_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO, a.ORIGIN_COUNTRY, a.BOX_PALLET_NO, a.CURRENCY, a.UNIT, a.DECLARED_QUANTITY, a.BOX_COUNT, a.PIECE_COUNT, a.INBOUND_QUANTITY, a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_PRICE, - a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4 + a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE, a.EXT_ATTR_1, a.EXT_ATTR_2, a.EXT_ATTR_3, a.EXT_ATTR_4, a.OMS_IN_MATERIAL_DETAIL ,CASE WHEN (a.quantity - a.receipt_quantity) < 0 THEN 0 From 838a7d6acda7f4e274896b83be130281539fb9e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 21 Apr 2026 16:56:19 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=AD=A3=E5=BC=8F?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mhd-user-center/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_oms/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_product/src/main/resources/bootstrap.yml | 16 ++++++++-------- mhd_wms/src/main/resources/bootstrap.yml | 16 ++++++++-------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/mhd-user-center/src/main/resources/bootstrap.yml b/mhd-user-center/src/main/resources/bootstrap.yml index 90cf188c9..ca12007b7 100644 --- a/mhd-user-center/src/main/resources/bootstrap.yml +++ b/mhd-user-center/src/main/resources/bootstrap.yml @@ -20,17 +20,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 file-extension: yml #默认properties # 共享配置 diff --git a/mhd_oms/src/main/resources/bootstrap.yml b/mhd_oms/src/main/resources/bootstrap.yml index d1078b7b2..721ea37d6 100644 --- a/mhd_oms/src/main/resources/bootstrap.yml +++ b/mhd_oms/src/main/resources/bootstrap.yml @@ -18,17 +18,17 @@ spring: discovery: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 - # server-addr: 10.102.192.5:6848 - # username: nacos - # password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 config: # server-addr: 127.0.0.1:8848 # 线上测试环境配置 容器名+端口号 - server-addr: 10.33.0.129:6010 - # server-addr: 10.102.192.5:6848 - # username: nacos - # password: manhuoda@2023 +# server-addr: 10.33.0.129:6010 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 锁定server端的配置文件(读取它的配置项) diff --git a/mhd_product/src/main/resources/bootstrap.yml b/mhd_product/src/main/resources/bootstrap.yml index a6edc6d14..af8ac0130 100644 --- a/mhd_product/src/main/resources/bootstrap.yml +++ b/mhd_product/src/main/resources/bootstrap.yml @@ -19,20 +19,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.33.0.129:6010 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.33.0.129:6010 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 diff --git a/mhd_wms/src/main/resources/bootstrap.yml b/mhd_wms/src/main/resources/bootstrap.yml index 51545071f..0f3f546c5 100644 --- a/mhd_wms/src/main/resources/bootstrap.yml +++ b/mhd_wms/src/main/resources/bootstrap.yml @@ -14,20 +14,20 @@ spring: nacos: discovery: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 config: # server-addr: 127.0.0.1:8848 - server-addr: 10.33.0.129:6010 +# server-addr: 10.33.0.129:6010 # 线上测试环境配置 容器名+端口号 -# server-addr: 10.102.192.5:6848 -# username: nacos -# password: manhuoda@2023 + server-addr: 10.102.192.5:6848 + username: nacos + password: manhuoda@2023 #线上正式环境 # server-addr: 10.102.192.105:6848 # 配置文件格式 From afe1cd5011f72661013a5da779a5f57f13f0bc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 21 Apr 2026 17:41:53 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E6=9C=AA=E6=8C=89=E7=85=A7=E4=BB=93=E5=BA=93=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InOrderAbnormalApplicationService.java | 10 ++++++++-- .../OutOrderAbnormalApplicationService.java | 10 ++++++++++ .../dto/inOrderAbnormal/InOrderAbnormalDTO.java | 2 ++ .../dto/outOrderAbnormal/OutOrderAbnormalDTO.java | 8 ++++++++ .../mapper/outOrderAbnormal/OutOrderAbnormalMapper.xml | 6 +++--- 5 files changed, 31 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java index a9547a025..16738fa25 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/inOrderAbnormal/InOrderAbnormalApplicationService.java @@ -37,8 +37,14 @@ public class InOrderAbnormalApplicationService { if (topOrganizationId != null && topOrganizationId != 1){ inOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); } - AssociationWarehouseCacheDO associationWarehouseCacheDO = SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); - inOrderAbnormalDO.setWarehouseId(associationWarehouseCacheDO.getWarehouseId()); + // 请求未带 warehouseId 时用用户关联仓库;带了则以请求为准(与出库异常一致) + if (inOrderAbnormalDO.getWarehouseId() == null) { + AssociationWarehouseCacheDO cache = + SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (cache != null && cache.getWarehouseId() != null) { + inOrderAbnormalDO.setWarehouseId(cache.getWarehouseId()); + } + } } return inOrderAbnormalDomainService.queryList(inOrderAbnormalDO); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java index fa7ea2f63..0fb1aa5e6 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/outOrderAbnormal/OutOrderAbnormalApplicationService.java @@ -1,6 +1,8 @@ package com.mhd.wms.application.service.outOrderAbnormal; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO; +import com.mhd.system.api.domain.cache.SystemServiceCacheUtil; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.outOrderAbnormal.repository.po.OutOrderAbnormalPO; import com.mhd.wms.domain.outOrderAbnormal.repository.todo.OutOrderAbnormalDO; @@ -35,6 +37,14 @@ public class OutOrderAbnormalApplicationService { if (topOrganizationId != null && topOrganizationId != 1){ outOrderAbnormalDO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); } + // 请求未带 warehouseId 时用用户关联仓库;带了则以请求为准(与入库异常一致) + if (outOrderAbnormalDO.getWarehouseId() == null) { + AssociationWarehouseCacheDO cache = + SystemServiceCacheUtil.getAssociationWarehouseCache(loginUser.getUserid()); + if (cache != null && cache.getWarehouseId() != null) { + outOrderAbnormalDO.setWarehouseId(cache.getWarehouseId()); + } + } } return outOrderAbnormalDomainService.queryList(outOrderAbnormalDO); } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inOrderAbnormal/InOrderAbnormalDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inOrderAbnormal/InOrderAbnormalDTO.java index 7f3b04279..ca738269b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inOrderAbnormal/InOrderAbnormalDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/inOrderAbnormal/InOrderAbnormalDTO.java @@ -82,6 +82,8 @@ public class InOrderAbnormalDTO extends BaseVOEntity { @Excel(name = "备注") private String remark; + @ApiModelProperty("仓库id(列表筛选,关联 stock_in_order)") + private Long warehouseId; @ApiModelProperty(name = "组织ID集合") private List organizationIdList; diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/outOrderAbnormal/OutOrderAbnormalDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/outOrderAbnormal/OutOrderAbnormalDTO.java index 3048e6c1c..30f15c850 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/outOrderAbnormal/OutOrderAbnormalDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/outOrderAbnormal/OutOrderAbnormalDTO.java @@ -78,6 +78,14 @@ public class OutOrderAbnormalDTO extends BaseVOEntity { @Excel(name = "备注") private String remark; + @ApiModelProperty("仓库id(列表筛选,关联 stock_out_order)") + private Long warehouseId; + + @ApiModelProperty("货主id(列表筛选,关联 stock_out_order)") + private Long shipperId; + + @ApiModelProperty("出库单类型编码(列表筛选,关联 stock_out_order)") + private String orderTypeCode; @ApiModelProperty(name = "组织ID集合") private List organizationIdList; diff --git a/mhd_wms/src/main/resources/mapper/outOrderAbnormal/OutOrderAbnormalMapper.xml b/mhd_wms/src/main/resources/mapper/outOrderAbnormal/OutOrderAbnormalMapper.xml index c40d0fb1d..1244b2790 100644 --- a/mhd_wms/src/main/resources/mapper/outOrderAbnormal/OutOrderAbnormalMapper.xml +++ b/mhd_wms/src/main/resources/mapper/outOrderAbnormal/OutOrderAbnormalMapper.xml @@ -92,14 +92,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + and b.warehouse_id = #{warehouseId} - + and b.shipper_id = #{shipperId} - and a.order_type_code = #{orderTypeCode} + and b.order_type_code = #{orderTypeCode} and b.del_flag = #{delFlag}