diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderAssembler.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderAssembler.java index efe87076d..062359a10 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderAssembler.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionStockInOrder/service/ExecutionStockInOrderAssembler.java @@ -78,6 +78,16 @@ public class ExecutionStockInOrderAssembler { // 最后使用username(账号)作为兜底 userRealName = loginUser.getUsername(); } + // 单据类型跟随业务类型:页面唯一的类型选择项是"业务类型"(只提交businessType), + // 编辑时前端回显提交的orderTypeCode/orderTypeName是旧值,若以回显值为准会导致编辑改类型不生效; + // 系统内businessType与orderTypeCode同值域(pu_tong_ru_ku/tui_huo_ru_ku),以businessType为准保持三者一致 + if (stockInOrderDO.getBusinessType() != null && stockInOrderDO.getBusinessType().trim().length() > 0) { + stockInOrderDO.setOrderTypeCode(stockInOrderDO.getBusinessType().trim()); + } else if (stockInOrderDTO.getInOrderId() == null + && (stockInOrderDO.getOrderTypeCode() == null || stockInOrderDO.getOrderTypeCode().trim().length() == 0)) { + // 仅新增且无业务类型时兜底普通入库;编辑时两字段都为空则不覆盖(updateById跳过null字段) + stockInOrderDO.setOrderTypeCode("pu_tong_ru_ku"); + } if(stockInOrderDTO.getInOrderId() != null){ stockInOrderDO.setUpdateBy(userId); stockInOrderDO.setUpdateByName(userRealName); @@ -91,16 +101,6 @@ public class ExecutionStockInOrderAssembler { stockInOrderDO.setCreateByName(userRealName); stockInOrderDO.setCreateTime(new Date()); stockInOrderDO.setDelFlag(1); - // 新增入库单时,如果入库单类型为空,默认设置为普通入库 - // 前端新增只传业务类型(businessType)不传单据类型时,先用业务类型回填单据类型编码, - // 否则退货单会被兜底成pu_tong_ru_ku,再被setDataDict按字典反查覆盖成"普通入库" - if (stockInOrderDO.getOrderTypeCode() == null || stockInOrderDO.getOrderTypeCode().trim().length() == 0) { - if (stockInOrderDO.getBusinessType() != null && stockInOrderDO.getBusinessType().trim().length() > 0) { - stockInOrderDO.setOrderTypeCode(stockInOrderDO.getBusinessType().trim()); - } else { - stockInOrderDO.setOrderTypeCode("pu_tong_ru_ku"); - } - } String orderTypeName = stockInOrderDO.getOrderTypeName(); if (orderTypeName == null || orderTypeName.trim().length() == 0) { stockInOrderDO.setOrderTypeName("普通入库单"); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java index 801e6acf8..9e5049c8f 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderApplicationService.java @@ -1948,11 +1948,6 @@ public class ReservationStockInOrderApplicationService { } stockInOrderDO.setOrderTypeName(documentTypeData.getDictLabel()); } - String businessType = stockInOrderDO.getBusinessType(); - if ("tui_huo_ru_ku".equals(businessType)) { - stockInOrderDO.setOrderTypeCode("tui_huo_ru_ku"); - stockInOrderDO.setOrderTypeName("退货入库"); - } //翻译优先级别类型 if (StringUtils.isNotBlank(stockInOrderDO.getPriorityLevelCode())){ AjaxResult priorityLevelResult = systemServiceFeign.selectListByDictType(DictCode.PRIORITY_LEVEL.getCode()); diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderAssembler.java b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderAssembler.java index c82183cd1..2c47a724a 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderAssembler.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/reservationStockInOrder/service/ReservationStockInOrderAssembler.java @@ -78,6 +78,16 @@ public class ReservationStockInOrderAssembler { // 最后使用username(账号)作为兜底 userRealName = loginUser.getUsername(); } + // 单据类型跟随业务类型:页面唯一的类型选择项是"业务类型"(只提交businessType), + // 编辑时前端回显提交的orderTypeCode/orderTypeName是旧值,若以回显值为准会导致编辑改类型不生效; + // 系统内businessType与orderTypeCode同值域(pu_tong_ru_ku/tui_huo_ru_ku),以businessType为准保持三者一致 + if (stockInOrderDO.getBusinessType() != null && stockInOrderDO.getBusinessType().trim().length() > 0) { + stockInOrderDO.setOrderTypeCode(stockInOrderDO.getBusinessType().trim()); + } else if (stockInOrderDTO.getInOrderId() == null + && (stockInOrderDO.getOrderTypeCode() == null || stockInOrderDO.getOrderTypeCode().trim().length() == 0)) { + // 仅新增且无业务类型时兜底普通入库;编辑时两字段都为空则不覆盖(updateById跳过null字段) + stockInOrderDO.setOrderTypeCode("pu_tong_ru_ku"); + } if(stockInOrderDTO.getInOrderId() != null){ stockInOrderDO.setUpdateBy(userId); stockInOrderDO.setUpdateByName(userRealName); @@ -91,11 +101,6 @@ public class ReservationStockInOrderAssembler { stockInOrderDO.setCreateByName(userRealName); stockInOrderDO.setCreateTime(new Date()); stockInOrderDO.setDelFlag(1); - // 新增入库单时,如果入库单类型为空,默认设置为普通入库 - String orderTypeCode = stockInOrderDO.getOrderTypeCode(); - if (orderTypeCode == null || orderTypeCode.trim().length() == 0) { - stockInOrderDO.setOrderTypeCode("pu_tong_ru_ku"); - } String orderTypeName = stockInOrderDO.getOrderTypeName(); if (orderTypeName == null || orderTypeName.trim().length() == 0) { stockInOrderDO.setOrderTypeName("普通入库单");