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扫描的mapper包下面,否则会报错 */ @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); } 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扫描的mapper包下面,否则会报错 */ @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); } 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->{ 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->{