自动化立体仓库 - WMS系统
pang.jiabao
2024-10-30 9e24610132963fc562b9a7fce6186638ee820646
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.service.*;
@@ -42,6 +43,9 @@
    private OrderDetlService orderDetlService;
    @Resource
    private OrderDetlMapper orderDetlMapper;
    @Resource
    private LocDetlMapper locDetlMapper;
    @Resource
    private OrderMapper orderMapper;
@@ -113,7 +117,8 @@
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setZpallet(wrkMast.getBarcode()); // 托盘条码
                            locDetl.setBarcode(wrkMast.getBarcode());
                            locDetl.setModiTime(now);
                            locDetl.setAppeTime(now);
                            locDetl.setBatch("");
@@ -199,6 +204,10 @@
//                        } catch (Exception ignore){}
                    }
                    // 修改捡料入库的库存明细的理货状态为待理货
                    locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0);
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts("F");
@@ -398,7 +407,8 @@
                            Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", orderNo));
                            if (count == 0) {
                                // 更新单据为已完成
                                orderMapper.updateSettleByOrderNo(orderNo,4,null);
                                // 直接更新为6已上报,方便转储历史
                                orderMapper.updateSettleByOrderNo(orderNo,6,null);
                            }
                        }
                    } else { // 空板转移没有工作明细,但是要更新单据明细状态
@@ -421,7 +431,7 @@
                            Integer count = orderDetlMapper.selectCount(new EntityWrapper<OrderDetl>().lt("danger", 2).eq("order_no", order.getOrderNo()));
                            if (count == 0) {
                                // 更新单据为已完成
                                orderMapper.updateSettleByOrderNo(order.getOrderNo(),4,null);
                                orderMapper.updateSettleByOrderNo(order.getOrderNo(),6,null);
                            }
                        }
@@ -453,6 +463,19 @@
                        return FAIL.setMsg("库位移转 ===>> 修改目标库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                    }
                    break;
                // 空闲理货入库
                case 59:
                    // 修改库位状态 S ====>> F
                    if (locMast.getLocSts().equals("S")) {
                        locMast.setLocSts("F");
                        locMast.setModiTime(now);
                        locMastService.updateById(locMast);
                    }
                    // 修改空闲理货入库的库存明细的理货状态为待理货
                    locDetlMapper.updateLhStsByLocNo(wrkMast.getLocNo(),0);
                    break;
                default:
                    break;
            }