自动化立体仓库 - WMS系统
#
luxiaotao1123
2020-07-04 1ce14188009c6a85787650eca493d154ab169810
#
1个文件已添加
2个文件已修改
119 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/LocDetl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/AbstractHandler.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/LocDetl.java
@@ -131,7 +131,9 @@
    public LocDetl() {}
    public LocDetl(String lgnum,Integer tbnum,Integer tbpos,String zmatid,String maktx,String werks,Double anfme,String altme,String zpallet,String bname,String memo,Long modiUser,Date modiTime,Long appeUser,Date appeTime) {
    public LocDetl(String locNo, String matnr, String lgnum,Integer tbnum,Integer tbpos,String zmatid,String maktx,String werks,Double anfme,String altme,String zpallet,String bname,String memo,Long modiUser,Date modiTime,Long appeUser,Date appeTime) {
        this.locNo = locNo;
        this.matnr = matnr;
        this.lgnum = lgnum;
        this.tbnum = tbnum;
        this.tbpos = tbpos;
src/main/java/com/zy/asrs/task/AbstractHandler.java
New file
@@ -0,0 +1,14 @@
package com.zy.asrs.task;
import com.core.exception.CoolException;
/**
 * Created by vincent on 2020/7/4
 */
public abstract class AbstractHandler {
    protected void exceptionHandle(String errorMsg){
        throw new CoolException("231");
    }
}
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,11 +1,20 @@
package com.zy.asrs.task.handler;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkDetlService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.task.AbstractHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
@@ -13,10 +22,16 @@
 */
@Service
@Transactional
public class WorkMastHandler {
public class WorkMastHandler extends AbstractHandler {
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private LocMastService locMastService;
    @Autowired
    private LocDetlService locDetlService;
    public void start() {
        List<WrkMast> wrkMasts = wrkMastService.selectToBeCompleteData();
@@ -35,10 +50,71 @@
    }
    private void doIn(WrkMast wrkMast){
        Date now = new Date();
        switch (wrkMast.getIoType()) {
            // 空板入库
            case 10:
                // 修改库位状态=D
                LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
                if (null != locMast && (locMast.getLocType().equals("S") || locMast.getLocType().equals("Q"))) {
                    locMast.setLocType("D");
                    locMast.setIoTime(now);
                    locMast.setModiTime(now);
                    if (!locMastService.updateById(locMast)) {
                        exceptionHandle(""); // todo
                    }
                }
                break;
            case 1:
                List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
                if (!locDetls.isEmpty()) {
                    locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
                }
                List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                if (wrkDetls.isEmpty()) {
                    exceptionHandle(""); // todo
                }
                for (WrkDetl wrkDetl : wrkDetls) {
                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()).eq("matnr", wrkDetl.getMatnr()));
                    if (null != locDetl) {
                        locDetl.setAnfme(wrkDetl.getAnfme());
                        locDetl.setModiTime(now);
                        if (!locDetlService.updateById(locDetl)) {
                            exceptionHandle(""); // todo
                        }
                    } else {
                        locDetl = new LocDetl(
                                wrkMast.getLocNo(), // 库位号
                                wrkDetl.getMatnr(), // 物料号
                                null,    // 仓库号
                                null,    // 转储请求编号
                                null,    // 行项目
                                null,    // 物料标签ID
                                null,    // 物料描述
                                null,    // 工厂
                                null,    // 数量
                                null,    // 单位
                                null,    // 托盘条码
                                null,    // 用户ID
                                null,    // 备注
                                null,    // 修改人员
                                null,    // 修改时间
                                null,    // 创建者
                                null    // 添加时间
                        );
                        // todo
                    }
                }
                break;
            case 53:
                break;
@@ -57,4 +133,27 @@
    }
    public static void main(String[] args) {
        for (int i = 0;i<10;i++) {
            try {
                System.out.println("====" + i);
                if (i == 5){
                    throw new Exception("dsa");
                }
                System.out.println("----" + i);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}