自动化立体仓库 - WMS系统
#
18516761980
2022-04-28 193f9df1aae186907012b060c22f6446038e7e22
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -1,11 +1,12 @@
package com.zy.asrs.task.handler;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
import com.zy.asrs.utils.VersionUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -88,8 +89,8 @@
                            }
                        } else {
                            locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            VersionUtils.setLocDetl(locDetl, wrkDetl); // 版本控制
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
@@ -101,15 +102,19 @@
                        // 更新入库通知档 ioStatus ===>> Y
                        try {
                            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
                                    .eq("zpallet", wrkDetl.getZpallet())
                                    .eq("matnr", wrkDetl.getMatnr())
                                    .eq("anfme", wrkDetl.getAnfme());
                            if (Cools.isEmpty(wrkDetl.getBatch())) {
                                wrapper.eq("batch", wrkDetl.getBatch());
                            } else {
                                wrapper.isNull("batch").or().eq("batch", "");
                            }
                            WaitPakin setParam = new WaitPakin();
                            setParam.setIoStatus("Y");
                            setParam.setModiTime(now);
                            waitPakinService.update(setParam, new EntityWrapper<WaitPakin>()
                                            .eq("zpallet", wrkDetl.getZpallet())
                                            .eq("matnr", wrkDetl.getMatnr())
                                            .eq("anfme", wrkDetl.getAnfme())
                                            .eq("batch", wrkDetl.getBatch())
                            );
                            waitPakinService.update(setParam, wrapper);
                        } catch (Exception ignore){}
                    }
@@ -168,8 +173,8 @@
                            }
                        } else {
                            locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            VersionUtils.setLocDetl(locDetl, wrkDetl); // 版本控制
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
@@ -199,7 +204,7 @@
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts("F");
                        locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");
                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
@@ -269,6 +274,10 @@
            switch (wrkMast.getIoType()) {
                // 全板出库
                case 101:
                    // 出库确认信号位
                    if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
                        return SUCCESS;
                    }
                    // 根据工作号,查询工作明细档
                    List<WrkDetl> wrkDetls101 = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                    if (wrkDetls101.isEmpty()) {