| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.domain.enums.TaskStatusType; |
| | | import com.zy.asrs.domain.enums.WorkNoType; |
| | | import com.zy.asrs.entity.LocMast; |
| | | import com.zy.asrs.entity.StaDesc; |
| | | import com.zy.asrs.mapper.TaskWrkMapper; |
| | | import com.zy.asrs.entity.TaskWrk; |
| | | import com.zy.asrs.service.ApiLogService; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.StaDescService; |
| | | import com.zy.asrs.service.TaskWrkService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | |
| | | private String taskStatusFeedbackPath; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | @Autowired |
| | | private TaskWrkService taskWrkService; |
| | | |
| | | @Override |
| | | public TaskWrk selectByTaskNo(String taskNo) { |
| | |
| | | @Override |
| | | @Transactional(propagation = Propagation.REQUIRES_NEW) |
| | | public void distribute(String taskNo, Long userId) { |
| | | TaskWrk taskWrk = this.selectByTaskNo(taskNo); |
| | | if (taskWrk == null) { |
| | | throw new CoolException("WMS任务不存在"); |
| | | } |
| | | |
| | | if (taskWrk.getStatus() != 1) { |
| | | throw new CoolException("任务已派发"); |
| | | } |
| | | |
| | | //创建任务 |
| | | if (taskWrk.getIoType() == 1) { |
| | | //1.入库 |
| | | if (taskWrk.getStartPoint() == null || taskWrk.getTargetPoint() == null) { |
| | | throw new CoolException("未接收到起点和终点,不进行派发"); |
| | | } |
| | | startup(taskWrk, userId); |
| | | }else if(taskWrk.getIoType() == 2){ |
| | | //2.出库 |
| | | stockOut(taskWrk, userId); |
| | | } else if (taskWrk.getIoType() == 3) { |
| | | //3.库格移载 |
| | | locMove(taskWrk, userId); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | |
| | | ); |
| | | }catch (Exception e){ |
| | | log.error("wcs派发入库任务上报wms失败", taskWrk); |
| | | throw new CoolException("wcs派发入库任务上报wms失败"); |
| | | // throw new CoolException("wcs派发入库任务上报wms失败"); |
| | | } |
| | | |
| | | } |
| | |
| | | public int saveToHistory(String taskNo) { |
| | | return this.baseMapper.saveToHistory(taskNo); |
| | | } |
| | | |
| | | @Override |
| | | public R taskComplete(TaskWrk taskWrk) { |
| | | LocMast locMast = new LocMast(); |
| | | switch (taskWrk.getIoType()) { |
| | | //入库 |
| | | case 1: |
| | | taskWrk.setModiTime(new Date()); |
| | | taskWrk.setWrkSts(6);//入库完成--准备上报wms |
| | | locMast = locMastService.selectByLocNo(taskWrk.getOriginTargetPoint()); |
| | | if (locMast == null) { |
| | | return R.error("没有找到该库位="+taskWrk.getOriginTargetPoint()); |
| | | } |
| | | locMast.setLocSts("F"); |
| | | locMastService.updateById(locMast); |
| | | break; |
| | | //出库 |
| | | case 2: |
| | | if(taskWrk.getWrkSts()>=15){ |
| | | return R.ok(); |
| | | } |
| | | taskWrk.setModiTime(new Date()); |
| | | taskWrk.setWrkSts(15);//RCS出库完成--》写入输送线工作号 |
| | | locMast = locMastService.selectByLocNo(taskWrk.getOriginStartPoint()); |
| | | if (locMast == null) { |
| | | return R.error("没有找到该库位="+taskWrk.getOriginStartPoint()); |
| | | } |
| | | locMast.setLocSts("O"); |
| | | locMastService.updateById(locMast); |
| | | log.info("RCS出库任务完成更新WCS任务状态={}",taskWrk); |
| | | break; |
| | | //移库 |
| | | // case 3: |
| | | // taskWrk.setModiTime(new Date()); |
| | | // taskWrk.setWrkSts(6);//入库完成--准备上报wms |
| | | // //源库位 |
| | | // locMast = locMastService.selectByLocNo(taskWrk.getOriginTargetPoint()); |
| | | // if (locMast == null) { |
| | | // return R.error("没有找到该库位="+taskWrk.getOriginTargetPoint()); |
| | | // } |
| | | // locMast.setLocSts("F"); |
| | | // locMastService.updateById(locMast); |
| | | // //目标库位 |
| | | // locMast = locMastService.selectByLocNo(taskWrk.getOriginStartPoint()); |
| | | // if (locMast == null) { |
| | | // return R.error("没有找到该库位="+taskWrk.getOriginStartPoint()); |
| | | // } |
| | | // locMast.setLocSts("0"); |
| | | // locMastService.updateById(locMast); |
| | | // return R.ok(); |
| | | // |
| | | } |
| | | if(taskWrkService.updateById(taskWrk)){ |
| | | return R.ok(); |
| | | }else { |
| | | return R.error("RCS任务上报完成更新WCS任务状态失败"+taskWrk); |
| | | } |
| | | |
| | | } |
| | | } |