|  |  |  | 
|---|
|  |  |  | package com.zy.asrs.wms.task.handler; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | 
|---|
|  |  |  | import com.zy.asrs.common.wms.entity.LocDetl; | 
|---|
|  |  |  | import com.zy.asrs.common.wms.entity.LocMast; | 
|---|
|  |  |  | import com.zy.asrs.common.wms.entity.WrkDetl; | 
|---|
|  |  |  | import com.zy.asrs.common.wms.entity.WrkMast; | 
|---|
|  |  |  | import com.zy.asrs.common.wms.entity.*; | 
|---|
|  |  |  | import com.zy.asrs.common.wms.service.*; | 
|---|
|  |  |  | import com.zy.asrs.framework.common.Cools; | 
|---|
|  |  |  | import com.zy.asrs.wms.task.AbstractHandler; | 
|---|
|  |  |  | 
|---|
|  |  |  | private LocDetlService locDetlService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private WaitPakinService waitPakinService; | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private OrderDetlService orderDetlService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public ReturnT<String> start(WrkMast wrkMast) { | 
|---|
|  |  |  | // 99.入库完成 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId); | 
|---|
|  |  |  | if (null != locDetl) { | 
|---|
|  |  |  | if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId)) { | 
|---|
|  |  |  | if (!locDetlService.updateAnfme(locDetl.getAnfme() + wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId)) { | 
|---|
|  |  |  | exceptionHandle("并板入库 ===>> 修改库存明细数量失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | 
|---|
|  |  |  | exceptionHandle("并板入库 ===>> 新增库存明细失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 更新订单完成数量 | 
|---|
|  |  |  | OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId); | 
|---|
|  |  |  | if (orderDetl == null) { | 
|---|
|  |  |  | orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | if(!Cools.isEmpty(orderDetl)){ | 
|---|
|  |  |  | if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), | 
|---|
|  |  |  | orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) { | 
|---|
|  |  |  | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
|---|
|  |  |  | return FAIL.setMsg("并板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception ignore){} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改库位状态 Q ====>> F | 
|---|
|  |  |  | if (locMast.getLocSts().equals("Q")) { | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 修改源库位状态 ==> O | 
|---|
|  |  |  | LocMast sourceLoc = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, wrkMast.getSourceLocNo()).eq(LocMast::getHostId, hostId)); | 
|---|
|  |  |  | String picUrl = ""; | 
|---|
|  |  |  | if (null != sourceLoc) { | 
|---|
|  |  |  | picUrl = sourceLoc.getPic(); | 
|---|
|  |  |  | sourceLoc.setBarcode(""); | 
|---|
|  |  |  | sourceLoc.setLocSts("O"); | 
|---|
|  |  |  | sourceLoc.setModiTime(now); | 
|---|
|  |  |  | sourceLoc.setIoTime(now); | 
|---|
|  |  |  | sourceLoc.setPic(""); | 
|---|
|  |  |  | if (!locMastService.updateById(sourceLoc)) { | 
|---|
|  |  |  | exceptionHandle("库位移转 ===>> 修改源库位状态失败;[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | locMast.setBarcode(wrkMast.getBarcode()); | 
|---|
|  |  |  | locMast.setIoTime(now); | 
|---|
|  |  |  | locMast.setModiTime(now); | 
|---|
|  |  |  | locMast.setPic(picUrl); | 
|---|
|  |  |  | if (!locMastService.updateById(locMast)) { | 
|---|
|  |  |  | exceptionHandle("库位移转 ===>> 修改目标库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); | 
|---|
|  |  |  | } | 
|---|