|  |  | 
 |  |  | package com.zy.asrs.controller; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSON; | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.baomidou.mybatisplus.mapper.Wrapper; | 
 |  |  | import com.baomidou.mybatisplus.plugins.Page; | 
 |  |  | import com.core.common.DateUtils; | 
 |  |  | import com.zy.asrs.domain.enums.TaskStatusType; | 
 |  |  | import com.zy.asrs.entity.CommandInfo; | 
 |  |  | import com.zy.asrs.entity.LocMast; | 
 |  |  | import com.zy.asrs.entity.TaskWrk; | 
 |  |  | import com.zy.asrs.entity.param.TaskOverToWms; | 
 |  |  | import com.zy.asrs.service.CommandInfoService; | 
 |  |  | import com.zy.asrs.service.LocMastService; | 
 |  |  | import com.zy.asrs.service.TaskWrkService; | 
 |  |  | import com.core.annotations.ManagerAuth; | 
 |  |  | import com.core.common.BaseRes; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.R; | 
 |  |  | import com.zy.common.utils.HttpHandler; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.beans.factory.annotation.Value; | 
 |  |  | import org.springframework.web.bind.annotation.*; | 
 |  |  |  | 
 |  |  | import java.util.*; | 
 |  |  | 
 |  |  | @Slf4j | 
 |  |  | public class TaskWrkController extends BaseController { | 
 |  |  |  | 
 |  |  |     @Value("${wms.url}") | 
 |  |  |     private String wmsUrl; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private TaskWrkService taskWrkService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private CommandInfoService commandInfoService; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private LocMastService locMastService; | 
 |  |  |  | 
 |  |  | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping(value = "/taskWrk/distribute/auth") | 
 |  |  |     @ManagerAuth(memo = "手动派发任务") | 
 |  |  |     public R distribute(@RequestParam String taskNo) { | 
 |  |  |         taskWrkService.distribute(taskNo, getUserId()); | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  | //    @PostMapping(value = "/taskWrk/distribute/auth") | 
 |  |  | //    @ManagerAuth(memo = "手动派发任务") | 
 |  |  | //    public R distribute(@RequestParam String taskNo) { | 
 |  |  | //        taskWrkService.distribute(taskNo, getUserId()); | 
 |  |  | //        return R.ok(); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |     @PostMapping(value = "/taskWrk/complete/auth") | 
 |  |  |     @ManagerAuth(memo = "手动完成任务") | 
 |  |  |     public R complete(@RequestParam String taskNo) { | 
 |  |  |         TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); | 
 |  |  |         if (Cools.isEmpty(taskWrk) || taskWrk.getStatus()>=3){ | 
 |  |  |             return R.error("已完结或已取消") ; | 
 |  |  |         if (Cools.isEmpty(taskWrk) || taskWrk.getStatus() >= 3) { | 
 |  |  |             return R.error("已完结或已取消"); | 
 |  |  |         } | 
 |  |  |         LocMast locMast=new LocMast(); | 
 |  |  |             if(taskWrk.getIoType()==1){//入库任务完成库位为F | 
 |  |  |                 locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint()); | 
 |  |  |                 if(Cools.isEmpty(locMast)){ | 
 |  |  |                   R.error("没有找到该库位") ; | 
 |  |  |                 } | 
 |  |  |                 locMast.setLocSts("F"); | 
 |  |  |                 locMast.setModiTime(new Date()); | 
 |  |  |                 locMast.setBarcode(taskWrk.getBarcode()); | 
 |  |  |             }else if(taskWrk.getIoType()==2){//出库任务完成库位为O | 
 |  |  |                 locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); | 
 |  |  |                 if(Cools.isEmpty(locMast)){ | 
 |  |  |                     R.error("没有找到该库位") ; | 
 |  |  |                 } | 
 |  |  |                 locMast.setLocSts("O"); | 
 |  |  |                 locMast.setModiTime(new Date()); | 
 |  |  |             }else if(taskWrk.getIoType()==3){ | 
 |  |  |                 locMast=locMastService.selectByLocNo(taskWrk.getStartPoint()); | 
 |  |  |                 if(Cools.isEmpty(locMast)){ | 
 |  |  |                     R.error("没有找到该库位") ; | 
 |  |  |                 } | 
 |  |  |                 locMast.setLocSts("O"); | 
 |  |  |                 locMast.setModiTime(new Date()); | 
 |  |  |                 locMastService.updateById(locMast); | 
 |  |  |                 locMast=locMastService.selectByLocNo(taskWrk.getTargetPoint()); | 
 |  |  |                 if(Cools.isEmpty(locMast)){ | 
 |  |  |                     R.error("没有找到该库位") ; | 
 |  |  |                 } | 
 |  |  |                 locMast.setLocSts("F"); | 
 |  |  |                 locMast.setModiTime(new Date()); | 
 |  |  |                 locMast.setBarcode(taskWrk.getBarcode()); | 
 |  |  |  | 
 |  |  |             } | 
 |  |  |             locMastService.updateById(locMast); | 
 |  |  |             taskWrk.setStatus(7);//手动完成任务 | 
 |  |  |             taskWrk.setModiTime(new Date()); | 
 |  |  |             taskWrkService.updateById(taskWrk); | 
 |  |  |  | 
 |  |  |         taskWrk.setStatus(TaskStatusType.MANUAL_OVER.id);//手动完成任务 | 
 |  |  |         taskWrk.setModiTime(new Date()); | 
 |  |  |         taskWrkService.updateById(taskWrk); | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping(value = "/taskWrk/returnWorkingCondition/auth") | 
 |  |  |     @ManagerAuth(memo = "重新给堆垛机下发任务") | 
 |  |  |     public R returnWorkingCondition(@RequestParam String taskNo) { | 
 |  |  |         TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); | 
 |  |  |         if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==12){ | 
 |  |  |             taskWrk.setWrkSts(11); | 
 |  |  |             if(!taskWrkService.updateById(taskWrk)){ | 
 |  |  |                 return R.error("更新任务状态失败"); | 
 |  |  |             } | 
 |  |  |             return R.ok(); | 
 |  |  |         } else if (!Cools.isEmpty(taskWrk) && taskWrk.getWrkSts()==3) { | 
 |  |  |             taskWrk.setWrkSts(2); | 
 |  |  |             taskWrkService.updateById(taskWrk); | 
 |  |  |             if(!taskWrkService.updateById(taskWrk)){ | 
 |  |  |                 return R.error("更新任务状态失败"); | 
 |  |  |             } | 
 |  |  |             return R.ok(); | 
 |  |  |         }else{ | 
 |  |  |             return R.error("任务状态不对无法重新给堆垛机下发任务"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping(value = "/taskWrk/cancel/auth") | 
 |  |  | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             taskWrk.setModiUser(9999L);//操作员 | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         taskWrk.setCompleteTime(now);//完结时间 | 
 |  |  |         taskWrkService.updateById(taskWrk); | 
 |  |  |         return R.ok(); |