| | |
| | | package com.zy.asrs.task.handler; |
| | | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.mes.MesReturn; |
| | | import com.zy.asrs.enums.LocStsType; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.service.impl.BasStationServiceImpl; |
| | | import com.zy.asrs.service.impl.LocCacheServiceImpl; |
| | | import com.zy.asrs.service.impl.OrderPakinServiceImpl; |
| | | import com.zy.asrs.service.impl.TaskDetlServiceImpl; |
| | | import com.zy.asrs.service.impl.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | |
| | | private TaskDetlService taskDetlService; |
| | | @Autowired |
| | | private BasStationServiceImpl basStationService; |
| | | @Value("${mes.url}") |
| | | private String url; |
| | | |
| | | public ReturnT<String> start(WrkMast wrkMast) { |
| | | // 4.入库完成 |
| | |
| | | default: |
| | | break; |
| | | } |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(15L); |
| | | if(!Cools.isEmpty(wrkMast.getMemo())){ |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(30L);//30.等待创建AGV搬运任务 |
| | | }else { |
| | | // 修改工作主档状态 |
| | | wrkMast.setWrkSts(15L); |
| | | } |
| | | wrkMast.setModiTime(now); |
| | | if (!wrkMastService.updateById(wrkMast)) { |
| | | // exceptionHandle("更新出库完成状态失败;[workNo={0}]", wrkMast.getWrkNo()); |
| | |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public ReturnT<String> AgvStart(Task task) { |
| | | // 4.入库完成 |
| | | if (task.getWrkSts() == 4) { |
| | | return agvDoIn(task); |
| | | // 14.出库完成 |
| | | } else if (task.getWrkSts() == 14) { |
| | | return agvDoOut(task); |
| | | //查询是否有关联的WrkMast任务 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", task.getWrkNo())); |
| | | if (wrkMast != null) { |
| | | if (wrkMast.getIoType()==110){ |
| | | wrkMast.setWrkSts(32L);//32.等待组托 |
| | | }else if (wrkMast.getIoType()==101){ |
| | | wrkMast.setWrkSts(15L);//15.出库更新完成 |
| | | } |
| | | wrkMast.setModiTime(new Date()); |
| | | wrkMastService.updateById(wrkMast); |
| | | task.setWrkSts(305L);//任务状态从304--》305 |
| | | task.setModiTime(new Date()); |
| | | taskService.updateById(task); |
| | | |
| | | //对转序搬运完成的任务结果反馈给mes |
| | | }else if(task.getTaskType().equals("ZX-AGV")){ |
| | | HashMap<String,Object> map = new HashMap<>(); |
| | | map.put("taskno", task.getTaskNo()); |
| | | String mesUrl = url+"AGVArrivalCompletedFit"; |
| | | String response = RcsServiceImpl.sendPost(mesUrl, JSONObject.toJSONString(map)); |
| | | if (!StringUtils.isEmpty(response) && response.contains("Success")){ |
| | | MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class); |
| | | if("1".equals(mesReturn.getSuccess())) { |
| | | task.setWrkSts(305L);//任务状态从304--》305 |
| | | task.setModiTime(new Date()); |
| | | taskService.updateById(task); |
| | | }else { |
| | | return new ReturnT<>(500, mesReturn.getMessage()); |
| | | } |
| | | } |
| | | }else { |
| | | task.setWrkSts(305L);//任务状态从304--》305 |
| | | task.setModiTime(new Date()); |
| | | taskService.updateById(task); |
| | | } |
| | | return SUCCESS; |
| | | } |