自动化立体仓库 - WMS系统
1
zhangc
8 天以前 fc3a05a6389019758d051fb029b17ed2519c5c19
1
3个文件已修改
84 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/WorkService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/WorkService.java
@@ -116,4 +116,7 @@
    void locMergeOutSxk(StockOutParam param, Long userId);
    void toSxk(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType);
    void toCrn(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType);
}
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -1863,7 +1863,6 @@
    @Transactional
    public void toSxk(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType) {
        LocTypeDto locTypeDto = new LocTypeDto();
        locTypeDto.setLocType1(locType);
        StartupDto dto = commonService.getLocNo(1, 1031, null, null, null, locTypeDto, false);
@@ -1920,5 +1919,61 @@
    }
    @Transactional
    public void toCrn(WrkMast wrkMastold, List<WrkDetl> wrkDetls, Short locType) {
        LocTypeDto locTypeDto = new LocTypeDto();
        locTypeDto.setLocType1(locType);
        StartupDto dto = commonService.getLocNo(1, 1035, null, null, null, locTypeDto, false);
        if (Cools.isEmpty(dto)) {
            throw new CoolException("去堆垛机未找到库位");
        }
        LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", dto.getLocNo()));
        // 获取工作号
        int workNo = commonService.getWorkNo(0);
        // 保存工作档
        WrkMast wrkMast = new WrkMast();
        wrkMast.setWrkNo(workNo);
        wrkMast.setIoTime(new Date());
        wrkMast.setWrkSts(1L); // 工作状态:1.生成入库ID
        wrkMast.setIoType(1); // 入出库状态: 1.入库
        wrkMast.setIoPri(12D);
        wrkMast.setCrnNo(7);
        wrkMast.setLocNo(dto.getLocNo()); // 目标库位
        wrkMast.setFullPlt("Y"); // 满板
        wrkMast.setPicking("N"); // 拣料
        wrkMast.setExitMk("N"); // 退出
        wrkMast.setEmptyMk("Y"); // 空板
        wrkMast.setBarcode(wrkMastold.getBarcode()); // 托盘码
        wrkMast.setLinkMis("N");
        wrkMast.setAppeTime(new Date());
        wrkMast.setModiTime(new Date());
        boolean res = wrkMastService.insert(wrkMast);
        if (!res) {
            throw new CoolException("保存工作档失败");
        }
        // 工作档明细保存
        for (WrkDetl wrk : wrkDetls) {
            WrkDetl wrkDetl = new WrkDetl();
            Synchro.Copy(wrk, wrkDetl);
            wrkDetl.setWrkNo(workNo);
            wrkDetl.setIoTime(new Date());
            wrkDetl.setAnfme(wrk.getAnfme());
            wrkDetl.setAppeTime(new Date());
            wrkDetl.setModiTime(new Date());
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作档明细失败");
            }
        }
        // 修改目标库位状态
        if (loc.getLocSts().equals("O")) {
            loc.setLocSts("S"); // S.入库预约
            loc.setModiTime(new Date());
            if (!locMastService.updateById(loc)) {
                throw new CoolException("更新目标库位状态失败");
            }
        } else {
            throw new CoolException("移转失败");
        }
}
}
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -2,9 +2,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.BasDevpMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -15,9 +13,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * Created by vincent on 2020/7/4
@@ -145,7 +141,8 @@
                                    return FAIL.setMsg("全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                        } catch (Exception ignore) {
                        }
                    }
                    // 修改库位状态 S ====>> F
@@ -198,7 +195,8 @@
                                    return FAIL.setMsg("拣料入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                        } catch (Exception ignore) {
                        }
                    }
                    // 修改库位状态 Q ====>> F
@@ -264,7 +262,8 @@
                                            return FAIL.setMsg("并板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                        }
                                    }
                                } catch (Exception ignore){}
                                } catch (Exception ignore) {
                                }
                            }
                        }
@@ -392,8 +391,11 @@
                    if (wrkMast.getStaNo()==1135){
                        //那需要生成一条四项库的入库任务
                        workService.toSxk(wrkMast,wrkDetls101, (short) 1);
                    }
//                    // 出库确认信号位
                    } else if (wrkMast.getStaNo() == 1031) {
                        //那需要生成一条四项库的入库任务
                        workService.toCrn(wrkMast, wrkDetls101, (short) 1);
                    } else {
                        // 出库确认信号位
//                    if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) {
//                        return SUCCESS;
//                    }
@@ -419,7 +421,8 @@
                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                            } catch (Exception ignore) {
                            }
                    }
                    // 删除工作档源库位的库存明细
                    if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
@@ -439,6 +442,7 @@
                            return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                    }
                    }
                    break;
                // 空板出库
                case 110: