新火炬后端单体项目初始化代码
zhangherong
5 天以前 383cee5937b1f10e800ca30743a78a96c34d5123
art: 生产订单同步任务,同时插入物料基本信息
已修改4个文件
77 ■■■■■ 文件已修改
src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncUpdateJob.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/org/jeecg/modules/lsw/service/ILswMaterialService.java
@@ -3,11 +3,10 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.lsw.entity.LswMaterial;
import org.jeecg.modules.lsw.entity.LswMaterialInventory;
import org.jeecg.modules.mes.entity.MesProductionOrder;
import org.jeecg.modules.sap.dto.OrderBomDTO;
import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -36,4 +35,11 @@
     */
    LswMaterial queryByMaterialNumber(String materialNumber);
    
    /**
     * 批量保存物料基本信息
     * @param orderMap
     * @param orderBomDTOList
     * @return
     */
    boolean saveOrUpdateMaterial(Map<String, MesProductionOrder> orderMap, List<OrderBomDTO> orderBomDTOList);
}
src/main/java/org/jeecg/modules/lsw/service/impl/LswMaterialServiceImpl.java
@@ -13,16 +13,17 @@
import org.jeecg.modules.lsw.mapper.LswMaterialInventoryMapper;
import org.jeecg.modules.lsw.mapper.LswMaterialMapper;
import org.jeecg.modules.lsw.service.ILswMaterialService;
import org.jeecg.modules.mes.entity.MesProductionOrder;
import org.jeecg.modules.pms.entity.PmsProcessBillMaterials;
import org.jeecg.modules.sap.dto.OrderBomDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Description: 线边库物料信息
@@ -84,4 +85,41 @@
        return list.get(0);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean saveOrUpdateMaterial(Map<String, MesProductionOrder> orderMap, List<OrderBomDTO> orderBomDTOList) {
        List<LswMaterial> addList = new ArrayList<>();
        for (Map.Entry<String, MesProductionOrder> entry : orderMap.entrySet()) {
            MesProductionOrder order = entry.getValue();
            LswMaterial material = queryByMaterialNumber(order.getMaterialNumber());
            if (material == null) {
                //新增物料
                material = new LswMaterial();
                material.setMaterialStatus(CommonConstant.STATUS_1);
                material.setMaterialNumber(order.getMaterialNumber());
                material.setMaterialName(order.getMaterialName());
                material.setMaterialUnit(order.getProductionUnit());
                material.setDelFlag(CommonConstant.DEL_FLAG_0);
                addList.add(material);
            }
        }
        for (OrderBomDTO bomDTO : orderBomDTOList) {
            LswMaterial material = queryByMaterialNumber(bomDTO.getMATNR());
            if (material == null) {
                //新增物料
                material = new LswMaterial();
                material.setMaterialStatus(CommonConstant.STATUS_1);
                material.setMaterialNumber(bomDTO.getMATNR());
                material.setMaterialName(bomDTO.getMAKTX());
                material.setMaterialUnit(bomDTO.getMEINS());
                material.setDelFlag(CommonConstant.DEL_FLAG_0);
                addList.add(material);
            }
        }
        if (CollectionUtil.isEmpty(addList)) {
            super.saveBatch(addList);
        }
        return true;
    }
}
src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncCreationJob.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mes.job;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.lsw.service.ILswMaterialService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.util.ThrowableUtil;
import org.jeecg.modules.mes.entity.MesProductionOrder;
@@ -87,6 +88,8 @@
    private ISysQuartzLogService sysQuartzLogService;
    @Autowired
    private IQuartzJobService quartzJobService;
    @Autowired
    private ILswMaterialService lswMaterialService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@@ -144,12 +147,19 @@
                log.error("返回类型错误, class:{}", result == null ? null : result.getClass());
                return;
            }
            //订单BOM数据处理
            List<OrderBomDTO> orderBomDTOList = (List<OrderBomDTO>) result;
            b = processBillMaterialsService.saveOrUpdateOrderBom(orderMap, orderBomDTOList);
            if (!b) {
                log.error("保存订单BOM失败,日期:{}", LocalDateTime.now());
                return;
            }
            //物料数据处理
            b = lswMaterialService.saveOrUpdateMaterial(orderMap, orderBomDTOList);
            if (!b) {
                log.error("保存物料失败,日期:{}", LocalDateTime.now());
                return;
            }
            //订单工序同步
            Map<String, Object> orderProcessMap = orderProcessSync.syncOrderProcess(FACTORY_CODE, orderCodes);
            if (orderBomMap == null || !SUCCESS_CODE.equals(orderProcessMap.get("ztype"))) {
src/main/java/org/jeecg/modules/mes/job/ProductionOrderSyncUpdateJob.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.mes.job;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.modules.lsw.service.ILswMaterialService;
import org.jeecg.modules.mdc.util.DateUtils;
import org.jeecg.modules.mdc.util.ThrowableUtil;
import org.jeecg.modules.mes.entity.MesProductionOrder;
@@ -87,6 +88,8 @@
    private ISysQuartzLogService sysQuartzLogService;
    @Autowired
    private IQuartzJobService quartzJobService;
    @Autowired
    private ILswMaterialService lswMaterialService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
@@ -150,6 +153,12 @@
                log.error("保存订单BOM失败,日期:{}", LocalDateTime.now());
                return;
            }
            //物料数据处理
            b = lswMaterialService.saveOrUpdateMaterial(orderMap, orderBomDTOList);
            if (!b) {
                log.error("保存物料失败,日期:{}", LocalDateTime.now());
                return;
            }
            //订单工序同步
            Map<String, Object> orderProcessMap = orderProcessSync.syncOrderProcess(FACTORY_CODE, orderCodes);
            if (orderBomMap == null || !SUCCESS_CODE.equals(orderProcessMap.get("ztype"))) {