From ba65a8ba87c236d97dec1da5fd59c0f16fdee320 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期四, 12 六月 2025 10:38:50 +0800 Subject: [PATCH] 工具管理-修复使用MapStruct做属性复制存在的问题 --- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java | 10 +++++++++- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/PreparationOrderConvert.java | 9 ++++++++- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java | 6 ++++-- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java | 4 +++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java index 96d0f66..f369fd9 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java @@ -2,17 +2,25 @@ import org.jeecg.modules.tms.entity.OutboundOrder; import org.jeecg.modules.tms.entity.dto.OutboundOrderAndDetailDto; +import org.mapstruct.BeanMapping; import org.mapstruct.Mapper; +import org.mapstruct.NullValuePropertyMappingStrategy; +import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * 浣跨敤 MapStruct 鏂瑰紡杩涜灞炴�у鍒� * 娉ㄦ剰涓嶈兘鏀惧湪 mybatis鎵弿鐨刴apper鍖呬笅闈紝鍚﹀垯浼氭姤閿� */ -@Mapper +@Mapper( + unmappedTargetPolicy = ReportingPolicy.IGNORE, // 蹇界暐鐩爣涓湭琚槧灏勭殑瀛楁 + componentModel = "spring" // 濡傛灉浣跨敤 Spring锛屽彲鐢熸垚 Spring 绠$悊鐨� Bean +) public interface OutboundOrderConvert { + OutboundOrderConvert INSTANCE = Mappers.getMapper(OutboundOrderConvert.class); + @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)// 蹇界暐 null 瀛楁 OutboundOrder convert(OutboundOrderAndDetailDto dto); } diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/PreparationOrderConvert.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/PreparationOrderConvert.java index 561a4f2..8e88a03 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/PreparationOrderConvert.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/PreparationOrderConvert.java @@ -2,17 +2,24 @@ import org.jeecg.modules.tms.entity.PreparationOrder; import org.jeecg.modules.tms.entity.dto.PreparationOrderAndDetailDto; +import org.mapstruct.BeanMapping; import org.mapstruct.Mapper; +import org.mapstruct.NullValuePropertyMappingStrategy; +import org.mapstruct.ReportingPolicy; import org.mapstruct.factory.Mappers; /** * 浣跨敤 MapStruct 鏂瑰紡杩涜灞炴�у鍒� * 娉ㄦ剰涓嶈兘鏀惧湪 mybatis鎵弿鐨刴apper鍖呬笅闈紝鍚﹀垯浼氭姤閿� */ -@Mapper +@Mapper( + unmappedTargetPolicy = ReportingPolicy.IGNORE, // 蹇界暐鐩爣涓湭琚槧灏勭殑瀛楁 + componentModel = "spring" // 濡傛灉浣跨敤 Spring锛屽彲鐢熸垚 Spring 绠$悊鐨� Bean +) public interface PreparationOrderConvert { PreparationOrderConvert INSTANCE = Mappers.getMapper(PreparationOrderConvert.class); + @BeanMapping(nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE)// 蹇界暐 null 瀛楁 PreparationOrder convert(PreparationOrderAndDetailDto dto); } diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java index cc05fae..3befbbf 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java @@ -83,6 +83,8 @@ private OutboundOrderMapper outboundOrderMapper; @Autowired private OutboundDetailMapper outboundDetailMapper; + @Autowired + private OutboundOrderConvert outboundOrderConvert; @Override @Transactional(rollbackFor = Exception.class) @@ -103,7 +105,7 @@ @Override @Transactional(rollbackFor = Exception.class) public void addTotal(OutboundOrderAndDetailDto outboundOrder) { - OutboundOrder order = OutboundOrderConvert.INSTANCE.convert(outboundOrder); + OutboundOrder order = outboundOrderConvert.convert(outboundOrder); order.setHandler(Objects.requireNonNull(getCurrentUser()).getId()); order.setOutNum(businessCodeRuleService.generateBusinessCodeSeq("outBoundOrder")); order.setOrderStatus(OutBillStatus.DRAFT.getValue()); @@ -155,7 +157,7 @@ //鍒犻櫎鎵�鏈夋槑缁� outboundDetailService.remove(new LambdaQueryWrapper<OutboundDetail>() .eq(OutboundDetail::getOutStorehouseId, outboundOrder.getId())); - OutboundOrder outboundOrderUpdate = OutboundOrderConvert.INSTANCE.convert(outboundOrder); + OutboundOrder outboundOrderUpdate = outboundOrderConvert.convert(outboundOrder); outboundOrderMapper.updateById(outboundOrderUpdate); List<OutboundDetail> detailList = CollectionUtil.newArrayList(); outboundOrder.getOutboundDetailList().forEach(item->{ diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java index 0fb2bcc..6bb0dfc 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/PreparationOrderServiceImpl.java @@ -54,6 +54,8 @@ private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired private IBaseToolsService baseToolsService; + @Autowired + private PreparationOrderConvert preparationOrderConvert; @Override @Transactional(rollbackFor = Exception.class) @@ -77,7 +79,7 @@ //鍏堝垹闄ゆ墍鏈夋槑缁� preparationOrderDetailMapper.delete(new LambdaQueryWrapper<PreparationOrderDetail>() .eq(PreparationOrderDetail::getPreparationOrderId, preparationOrderAndDetailDto.getId())); - PreparationOrder preparationOrder = PreparationOrderConvert.INSTANCE.convert(preparationOrderAndDetailDto); + PreparationOrder preparationOrder = preparationOrderConvert.convert(preparationOrderAndDetailDto); updateById(preparationOrder); List<PreparationOrderDetail> detailUpdateList = CollectionUtil.newArrayList(); preparationOrderAndDetailDto.getPreparationOrderDetailList().forEach(item->{ -- Gitblit v1.9.3