| | |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.service.ConfigService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | | private WaitPakinService waitPakinService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | |
| | | public ReturnT<String> start(WrkMast wrkMast) { |
| | | // 9.入库完成 |
| | |
| | | private ReturnT<String> doIn(WrkMast wrkMast){ |
| | | Date now = new Date(); |
| | | LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); |
| | | |
| | | //判断任务是否有订单号 |
| | | Boolean boo=false; |
| | | try { |
| | | if (null == locMast) { |
| | | exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | |
| | | if (wrkDetls.isEmpty()) { |
| | | exceptionHandle("全板入库 ===>> 工作明细档不存在;[workNo={0}]", wrkMast.getWrkNo()); |
| | | } |
| | | //判断是否有订单号 |
| | | if(!Cools.isEmpty(wrkDetls.get(0).getOrderNo())){ |
| | | boo=true; |
| | | } |
| | | // 遍历工作明细,更新库存明细和入库通知档 |
| | | for (WrkDetl wrkDetl : wrkDetls) { |
| | | |
| | | wrkDetl.setBatch(""); |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); |
| | | if (null != locDetl) { |
| | |
| | | if (wrkDetls53.isEmpty()) { |
| | | exceptionHandle("拣料入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); |
| | | } |
| | | |
| | | //判断是否有订单号 |
| | | if(!Cools.isEmpty(wrkDetls53.get(0).getOrderNo())){ |
| | | boo=true; |
| | | } |
| | | |
| | | for (WrkDetl wrkDetl : wrkDetls53) { |
| | | |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getManu(),wrkDetl.getMemo())) { |
| | | exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | } |
| | | } |
| | |
| | | default: |
| | | break; |
| | | } |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(10L); |
| | | |
| | | //是否需要上报ERP |
| | | Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "newErpReport")); |
| | | if(!Cools.isEmpty(config)&&config.getValue().equals("Y")&&boo){ |
| | | wrkMast.setWrkSts(40L);//任务状态转ERP上报中 |
| | | }else{ |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(10L); |
| | | } |
| | | wrkMast.setModiTime(now); |
| | | if (!wrkMastService.updateById(wrkMast)) { |
| | | exceptionHandle("更新入库完成状态失败;[workNo={0}]", wrkMast.getWrkNo()); |
| | |
| | | } |
| | | |
| | | private ReturnT<String> doOut(WrkMast wrkMast){ |
| | | |
| | | Date now = new Date(); |
| | | LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); |
| | | |
| | | //判断任务是否有订单号 |
| | | Boolean boo=false; |
| | | try { |
| | | if (null == locMast) { |
| | | exceptionHandle("工作档[workNo={0}]库位号错误[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | |
| | | if (wrkDetls101.isEmpty()) { |
| | | exceptionHandle("全板出库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo()); |
| | | } |
| | | //判断是否有订单号 |
| | | if(!Cools.isEmpty(wrkDetls101.get(0).getOrderNo())){ |
| | | boo=true; |
| | | } |
| | | |
| | | for (WrkDetl wrkDetl : wrkDetls101) { |
| | | // todo:luxiaotao 3)修改出库通知档 status ==> Y |
| | | } |
| | |
| | | break; |
| | | } |
| | | if(wrkMast.getIoType()!=11) { |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(18L); |
| | | //是否需要上报ERP |
| | | Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "newErpReport")); |
| | | if(!Cools.isEmpty(config)&&config.getValue().equals("Y")&&boo){ |
| | | wrkMast.setWrkSts(40L);//任务状态转ERP上报中 |
| | | }else{ |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(18L); |
| | | } |
| | | wrkMast.setModiTime(now); |
| | | if (!wrkMastService.updateById(wrkMast)) { |
| | | exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo()); |