#
luxiaotao1123
2021-03-01 e4d8eb6129a78decbca64da52a97127cf05408f4
#
6个文件已修改
73 ■■■■ 已修改文件
src/main/java/zy/cloud/wms/common/service/MainService.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/LocDetlMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -1,7 +1,21 @@
package zy.cloud.wms.common.service;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.exception.CoolException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import zy.cloud.wms.common.service.erp.entity.GetDataResult;
import zy.cloud.wms.manager.entity.LocDetl;
import zy.cloud.wms.manager.entity.Mat;
import zy.cloud.wms.manager.entity.Prior;
import zy.cloud.wms.manager.service.LocDetlService;
import zy.cloud.wms.manager.service.MatService;
import zy.cloud.wms.manager.service.PakoutService;
import zy.cloud.wms.manager.service.PriorService;
import java.util.List;
/**
 * Created by vincent on 2021/3/1
@@ -9,10 +23,40 @@
@Service("mainService")
public class MainService {
    @Autowired
    private MatService matService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private PakoutService pakoutService;
    @Autowired
    private PriorService priorService;
    @Transactional
    public void stockOutProcess() {
    public void stockOutProcess(List<GetDataResult> list) {
        if (Cools.isEmpty(list)) {
            return;
        }
        for (GetDataResult data : list) {
            // 判断物料是否存在
            Mat mat = matService.selectByMatnr(data.getUserCode());
            if (null == mat) {
                throw new CoolException(data.getUserCode() + "物料尚未更新。" + data.getNumber() +"单据因此中断!");
            }
            // 根据推荐库位查找库存
            List<Prior> priors = priorService.selectList(new EntityWrapper<Prior>().eq("matnr", mat.getMatnr()).orderBy("prio"));
            if (!Cools.isEmpty(priors)) {
                for (Prior prior : priors) {
                    LocDetl locDetl = locDetlService.getLocDetl(prior.getNodeId(), prior.getMatnr());
                    if (null != locDetl) {
                    }
                }
            }
        }
    }
src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java
@@ -7,7 +7,6 @@
import org.springframework.stereotype.Component;
import zy.cloud.wms.common.service.MainService;
import zy.cloud.wms.common.service.erp.entity.GetDataResult;
import zy.cloud.wms.manager.entity.Mat;
import zy.cloud.wms.manager.service.MatService;
import zy.cloud.wms.manager.utils.HttpHandler;
@@ -51,17 +50,11 @@
            } else {
                log.info(response);
                Result result = JSON.parseObject(response, Result.class);
                List<GetDataResult> datas = JSON.parseArray(result.getData(), GetDataResult.class);
                if (!Cools.isEmpty(datas)) {
                    for (GetDataResult data : datas) {
                        // 生成出库单
                        Mat mat = matService.selectByMatnr(data.getUserCode());
                        mainService.stockOutProcess();
                    }
                List<GetDataResult> list = JSON.parseArray(result.getData(), GetDataResult.class);
                if (!Cools.isEmpty(list)) {
                    // 生成出库单
                    mainService.stockOutProcess(list);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java
@@ -15,4 +15,5 @@
    List<LocDetl> listByPage(Page page, @Param("nodeId") String nodeId, @Param("locNo") Object locNo, @Param("matnr") Object matnr, @Param("maktx") Object maktx);
    LocDetl selectByLocNoAndMatnr(@Param("nodeId")Long nodeId, @Param("matnr")String martnr);
}
src/main/java/zy/cloud/wms/manager/service/LocDetlService.java
@@ -8,4 +8,6 @@
    Page<LocDetl> getPage(Page page, String nodeId, Object locNo, Object matnr, Object maktx);
    LocDetl getLocDetl(Long nodeId, String matnr);
}
src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java
@@ -15,5 +15,10 @@
        return page.setRecords(baseMapper.listByPage(page, nodeId, locNo, matnr, maktx));
    }
    @Override
    public LocDetl getLocDetl(Long nodeId, String matnr) {
        return this.baseMapper.selectByLocNoAndMatnr(nodeId, matnr);
    }
}
src/main/resources/mapper/LocDetlMapper.xml
@@ -50,4 +50,8 @@
        ORDER BY mld.create_time DESC
    </select>
    <select id="selectByLocNoAndMatnr" resultMap="BaseResultMap">
        select * from man_loc_detl where 1=1 and node_id = #{nodeId} and matnr = #{matnr}
    </select>
</mapper>