cuilei
2025-05-30 4cd4e691d4f959d71bf118f7006de0fc0e2b95e4
工具管理-引入mapstruct优化出库单申请新增接口中,属性复制过慢问题
已添加1个文件
已修改2个文件
55 ■■■■■ 文件已修改
lxzn-module-tms/pom.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-tms/pom.xml
@@ -25,6 +25,38 @@
            <artifactId>lxzn-module-flowable</artifactId>
            <version>${jeecgboot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>1.5.2.Final</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <annotationProcessorPaths>
                        <!-- Lombok æ”¾å‰é¢ -->
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>1.18.22</version>
                        </path>
                        <!-- MapStruct æ”¾åŽé¢ -->
                        <!-- å¯ç”¨ MapStruct æ³¨è§£å¤„理器 -->
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>1.5.2.Final</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/convert/OutboundOrderConvert.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package org.jeecg.modules.tms.convert;
import org.jeecg.modules.tms.entity.OutboundOrder;
import org.jeecg.modules.tms.entity.dto.OutboundOrderAndDetailDto;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
/**
 * ä½¿ç”¨ MapStruct æ–¹å¼è¿›è¡Œå±žæ€§å¤åˆ¶
 * æ³¨æ„ä¸èƒ½æ”¾åœ¨ mybatis扫描的mapper包下面,否则会报错
 */
@Mapper
public interface OutboundOrderConvert {
    OutboundOrderConvert INSTANCE = Mappers.getMapper(OutboundOrderConvert.class);
    OutboundOrder convert(OutboundOrderAndDetailDto dto);
}
lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java
@@ -2,7 +2,6 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -21,7 +20,6 @@
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness;
import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService;
import org.jeecg.modules.flowable.apithird.business.service.impl.FlowMyBusinessServiceImpl;
import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI;
import org.jeecg.modules.flowable.apithird.service.FlowCommonService;
import org.jeecg.modules.flowable.service.IFlowDefinitionService;
@@ -37,6 +35,7 @@
import org.jeecg.modules.tms.enums.OutStorehouseType;
import org.jeecg.modules.tms.enums.ToolCirculationStatus;
import org.jeecg.modules.tms.mapper.OutboundDetailMapper;
import org.jeecg.modules.tms.convert.OutboundOrderConvert;
import org.jeecg.modules.tms.mapper.OutboundOrderMapper;
import org.jeecg.modules.tms.service.*;
import org.springframework.stereotype.Service;
@@ -104,7 +103,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void addTotal(OutboundOrderAndDetailDto outboundOrder) {
        OutboundOrder order = BeanUtil.copyProperties(outboundOrder, OutboundOrder.class);
        OutboundOrder order = OutboundOrderConvert.INSTANCE.convert(outboundOrder);
        order.setHandler(Objects.requireNonNull(getCurrentUser()).getId());
        order.setOutNum(businessCodeRuleService.generateBusinessCodeSeq("outBoundOrder"));
        order.setOrderStatus(OutBillStatus.DRAFT.getValue());