| | |
| | | .setFullPlt("Y") // 满板:Y |
| | | .setPicking("N") // 拣料 |
| | | .setExitMk("N")// 退出 |
| | | .setStaNo(staNo) |
| | | .setSourceStaNo(taskNo)//agv取货站点 |
| | | .setStaNo(taskNo) |
| | | .setSourceStaNo(sourceStaNo)//agv取货站点 |
| | | .setEmptyMk("N")// 空板 |
| | | .setBarcode(staNo)// 托盘码 |
| | | .setLinkMis("N") |
| | |
| | | break; |
| | | } |
| | | } |
| | | if (boo) { |
| | | settle.remove(orderPakin); |
| | | }else { |
| | | if (!boo) { |
| | | list.add(orderPakin.getOrderNo()); |
| | | } |
| | | }else { |
| | |
| | | |
| | | public String getTaskType$(){ |
| | | if (Cools.isEmpty(this.taskType)){return null;} |
| | | if (taskType.equals("AGV")) { |
| | | if (taskType.equals("AGV") || taskType.equals("agv")) { |
| | | return "AGV任务"; |
| | | }if(taskType.equals("AGV补空料架")){ |
| | | return "AGV补空料架任务"; |
| | | }if(taskType.equals("AGV空料架回缓存区")){ |
| | | return "AGV空料架回缓存区任务"; |
| | | }if(taskType.equals("ZX-AGV")){ |
| | | return "转序搬运任务"; |
| | | } else { |
| | | return "堆垛机任务"; |
| | | return "其他搬运任务"; |
| | | } |
| | | } |
| | | |
| | |
| | | public class RcsTaskSubmit { |
| | | |
| | | // 任务类型,枚举值:TRANSPORT搬运。 |
| | | private String taskType = "CS3"; |
| | | private String taskType = "PP"; |
| | | // 执行步骤集合。本次任务机器人需要执行的关键路径,序号0代表起点,序号1代表终点。 |
| | | private List<RcsTaskTargetRoute> targetRoute; |
| | | // 任务唯一编号,如果为空,系统生成任务号并返回。 |
| | |
| | | newMemo.put("itemdata", list); |
| | | |
| | | |
| | | |
| | | // 生成订单 |
| | | OrderPakin orderPakin = new OrderPakin(); |
| | | orderPakin.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | |
| | | |
| | | // 生成明细 |
| | | Mat mat = matService.selectByMatnr(mesMatInfo.getItemNo()); |
| | | if(Cools.isEmpty(mat)){ |
| | | log.error("该物料编号立库没有="+mesMatInfo.getItemNo()); |
| | | if (Cools.isEmpty(mat)) { |
| | | log.error("该物料编号立库没有=" + mesMatInfo.getItemNo()); |
| | | continue; |
| | | } |
| | | OrderDetlPakin orderDetlPakin = new OrderDetlPakin(); |
| | |
| | | } |
| | | |
| | | //有多少种不同的配盘号 只有配盘出库单需要知道 |
| | | if (mesCallOutApply.getTransType().equals("配盘出库单")){ |
| | | if (mesCallOutApply.getTransType().equals("配盘出库单")) { |
| | | orderPakout.setPayType(set.size()); |
| | | String shipCode =mesCallOutApply.getItemdata().get(0).getTrayid().split("-")[2]; |
| | | String shipCode = mesCallOutApply.getItemdata().get(0).getTrayid().split("-")[2]; |
| | | orderPakout.setShipCode(shipCode);//区域 是否是特殊托盘 |
| | | orderPakoutService.updateById(orderPakout); |
| | | } |
| | |
| | | orderPakin.setPakinPakoutStatus(1); |
| | | orderPakinService.insert(orderPakin); |
| | | if (mesCallOutApply.getItemdata() != null && !mesCallOutApply.getItemdata().isEmpty()) { |
| | | for (MesCallOutApply.MesOutApplyItem mesOutApplyItem : mesCallOutApply.getItemdata()){ |
| | | for (MesCallOutApply.MesOutApplyItem mesOutApplyItem : mesCallOutApply.getItemdata()) { |
| | | // 生成明细 |
| | | Mat mat = matService.selectByMatnr(mesOutApplyItem.getItemno()); |
| | | if(Cools.isEmpty(mat)){ |
| | | log.error("该物料编号立库没有="+mesOutApplyItem.getItemno()); |
| | | if (Cools.isEmpty(mat)) { |
| | | log.error("该物料编号立库没有=" + mesOutApplyItem.getItemno()); |
| | | continue; |
| | | } |
| | | OrderDetlPakin orderDetlPakin = new OrderDetlPakin(); |
| | |
| | | return result; |
| | | } |
| | | |
| | | // 下发给RCS |
| | | RcsTaskSubmit rcsTaskSubmit = new RcsTaskSubmit(); |
| | | rcsTaskSubmit.setRobotTaskCode(transTask.getTaskno()); |
| | | rcsTaskSubmit.setInitPriority(10); //默认10 |
| | | List<RcsTaskTargetRoute> targetRouteList = new ArrayList<>(); |
| | | RcsTaskTargetRoute startRoute = new RcsTaskTargetRoute(); |
| | | startRoute.setSeq(0); |
| | | startRoute.setCode(transTask.getCurStationId()); |
| | | startRoute.setOperation("COLLECT"); |
| | | targetRouteList.add(startRoute); |
| | | RcsTaskTargetRoute endRoute = new RcsTaskTargetRoute(); |
| | | endRoute.setSeq(1); |
| | | endRoute.setCode(transTask.getNextStationId()); |
| | | endRoute.setOperation("DELIVERY"); |
| | | targetRouteList.add(endRoute); |
| | | rcsTaskSubmit.setTargetRoute(targetRouteList); |
| | | int workNo = commonService.getWorkNo(WorkNoType.OTHER.type); |
| | | Date now = new Date(); |
| | | Task task = new Task(); |
| | | task.setWrkNo(workNo); |
| | | task.setTaskType("ZX-AGV"); |
| | | task.setWrkSts(301L);//301.AGV任务创建 |
| | | task.setIoType(3);//3.站到站 |
| | | task.setIoPri(10.00); |
| | | task.setWrkDate(now); |
| | | task.setBarcode(transTask.getBarcode()); |
| | | task.setSourceStaNo(transTask.getCurStationId()); |
| | | task.setStaNo(transTask.getNextStationId()); |
| | | task.setBarcode(transTask.getTuoPanId()); |
| | | task.setModiUser(defaultUserId); |
| | | task.setModiTime(now); |
| | | task.setAppeUser(defaultUserId); |
| | | task.setAppeTime(now); |
| | | task.setTaskNo(transTask.getTaskno()); |
| | | task.setMemo(JSONObject.toJSONString(transTask)); |
| | | task.setPltType(transTask.getAgvFactory());//华晓AGV |
| | | task.setPacked(transTask.getRackNumber());//料架号 |
| | | task.setCtnType(1); |
| | | |
| | | // 转发给海康或华晓RCS |
| | | int success = rcsService.submitTask(rcsTaskSubmit, transTask.getAgvFactory()); |
| | | if (success == 1) { |
| | | int workNo = commonService.getWorkNo(WorkNoType.OTHER.type); |
| | | Date now = new Date(); |
| | | Task task = new Task(); |
| | | task.setWrkNo(workNo); |
| | | task.setTaskType("ZX-AGV"); |
| | | task.setWrkSts(302L);//302.AGV任务执行中 |
| | | task.setIoType(3);//3.站到站 |
| | | task.setIoPri(10.00); |
| | | task.setWrkDate(now); |
| | | task.setBarcode(transTask.getBarcode()); |
| | | task.setSourceStaNo(transTask.getCurStationId()); |
| | | task.setStaNo(transTask.getNextStationId()); |
| | | task.setBarcode(transTask.getTuoPanId()); |
| | | task.setModiUser(defaultUserId); |
| | | task.setModiTime(now); |
| | | task.setAppeUser(defaultUserId); |
| | | task.setAppeTime(now); |
| | | task.setTaskNo(transTask.getTaskno()); |
| | | task.setMemo(JSONObject.toJSONString(transTask)); |
| | | task.setPltType(transTask.getAgvFactory());//华晓AGV |
| | | task.setPacked(transTask.getRackNumber());//料架号 |
| | | if (taskService.insert(task)) { |
| | | result.put("Success", "1"); |
| | | result.put("Message", "任务接收成功"); |
| | | |
| | | taskService.insert(task); |
| | | // Mat mat = matService.selectByMatnr(transTask.getItemno()); |
| | | // TaskDetl taskDetl = new TaskDetl(); |
| | | // taskDetl.setWrkNo(task.getWrkNo()); |
| | | // taskDetl.setIoTime(task.getIoTime()); |
| | | // taskDetl.setMatnr(transTask.getItemno()); |
| | | // taskDetl.setAnfme(0.0); |
| | | // taskDetl.setStandby1(String.valueOf(transTask.getQty())); |
| | | // taskDetl.setMaktx(mat.getMaktx()); |
| | | // taskDetl.setSpecs(mat.getSpecs()); |
| | | // taskDetl.setOrderNo(transTask.getOrderNo()); |
| | | // taskDetl.setZpallet(transTask.getTuoPanId()); |
| | | // taskDetl.setMemo(JSONObject.toJSONString(transTask.getItemBarcode())); |
| | | // taskDetl.setModiUser(defaultUserId); |
| | | // taskDetl.setModiTime(now); |
| | | // taskDetl.setAppeUser(defaultUserId); |
| | | // taskDetl.setAppeTime(now); |
| | | // taskDetlService.insert(taskDetl); |
| | | result.put("Success", "1"); |
| | | result.put("Message", "任务接收成功"); |
| | | } else { |
| | | }else { |
| | | result.put("Success", "2"); |
| | | result.put("Message", "任务下发给RCS失败"); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | import com.zy.common.model.enums.WorkNoType; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.system.entity.Config; |
| | | import com.zy.system.service.impl.ConfigServiceImpl; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private BasStationService basStationService; |
| | | @Autowired |
| | | private BasContainerService basContainerService; |
| | | @Autowired |
| | | private ConfigServiceImpl configService; |
| | | |
| | | @Override |
| | | @Transactional |
| | |
| | | Date date = new Date(); |
| | | String s = ""; |
| | | if (param.getBarcode().charAt(0) == '3'){ |
| | | s = "Z-307"; |
| | | s = "307"; |
| | | }else if (param.getBarcode().charAt(0) == '4'){ |
| | | s = "Z-402"; |
| | | s = "402"; |
| | | }else if (param.getBarcode().charAt(0) == '5'){ |
| | | s = "Z-401"; |
| | | s = "401"; |
| | | } |
| | | String TaskNo = param.getBarcode()+"aa"+date.getTime(); |
| | | task.setWrkNo((int) date.getTime()) |
| | |
| | | //滑块库 |
| | | if(locMast.getLocType3()==1){ |
| | | if(locMast.getLocType2()==1){ |
| | | sta = "Z-402"; |
| | | sta = "402"; |
| | | }else if(locMast.getLocType2()==2){ |
| | | sta = "Z-401"; |
| | | sta = "401"; |
| | | } |
| | | }else if(locMast.getLocType3()==2){ |
| | | sta="Z-307"; |
| | | sta="307"; |
| | | } |
| | | |
| | | // 获取路径 |
| | |
| | | String slotCode = values.getString("slotCode"); |
| | | try { |
| | | // q3,q8=1 |
| | | if ("1".equals(carrierType)) { //AGV |
| | | |
| | | EntityWrapper<Task> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("task_no", robotTaskCode); |
| | | Task task = taskService.selectOne(wrapper); |
| | |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 返回RCS |
| | | rcsReturn.setCode("SUCCESS"); |
| | | rcsReturn.setMessage(""); |
| | |
| | | .setPicking("N") // 拣料 |
| | | .setExitMk("N")// 退出 |
| | | .setStaNo(wrkMast.getMemo()) |
| | | .setSourceStaNo("Z-"+wrkMast.getSourceStaNo()) |
| | | .setSourceStaNo(wrkMast.getSourceStaNo()) |
| | | .setEmptyMk("N")// 空板 |
| | | .setBarcode(wrkMast.getBarcode())// 托盘码 |
| | | .setLinkMis("N") |
| | |
| | | return; |
| | | } |
| | | //查询所有agv待下发任务 |
| | | List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301)); |
| | | List<Task> wrkSts = taskService.selectList(new EntityWrapper<Task>().eq("wrk_sts", 301).orderBy("appe_time")); |
| | | if (wrkSts != null && !wrkSts.isEmpty()) { |
| | | for (Task task : wrkSts) { |
| | | //查询是否有正在作业的源站和目标站有一样的agv搬运任务 |
| | |
| | | .eq("wrk_sts", 302) |
| | | .andNew() |
| | | .in("source_sta_no", task.getSourceStaNo(), task.getStaNo()) |
| | | .or() |
| | | .in("sta_no", task.getStaNo(), task.getSourceStaNo())); |
| | | Boolean flag = true; |
| | | if (Cools.isEmpty(task1)) { |
| | |
| | | //如果是接驳站点则需要判断接驳站点是否有空料架 |
| | | //如果有空料架需要判断是否有出库任务 |
| | | //有出库任务则禁止下发本次搬运任务 |
| | | if (task.getStaNo().equals("Z-401") || task.getStaNo().equals("Z-402") || task.getStaNo().equals("Z-307")) { |
| | | if (task.getStaNo().equals("401") || task.getStaNo().equals("402") || task.getStaNo().equals("307")) { |
| | | flag = false; |
| | | BasDevp basDevp = basDevpService.checkSiteStatus(Integer.parseInt(task.getStaNo())); |
| | | if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) && basDevp.getInreq1().equals("Y")) { |
| | | if (basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) |
| | | && basDevp.getInreq1().equals("Y") |
| | | && basDevp.getLoading().equals("N") |
| | | && basDevp.getWrkNo()!=9991 |
| | | && basDevp.getWrkNo()!=9999) { |
| | | List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() |
| | | .in("io_type", 101, 110) |
| | | .eq("sta_no", task1.getStaNo())); |
| | | flag = false; |
| | | if (Cools.isEmpty(wrkMasts)) { |
| | | .le("wrk_sts", 14) |
| | | .eq("sta_no", task.getStaNo())); |
| | | List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("io_type", 1).eq("sta_no", task.getStaNo())); |
| | | if (Cools.isEmpty(wrkMasts)&&Cools.isEmpty(wrkMasts1)) { |
| | | //判断是否已经生成空料架搬运回空料架补库区 |
| | | //如果有的话,不在生成任务 |
| | | Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("sta_no", task1.getStaNo()).eq("source_sta_no", task1.getSourceStaNo())); |
| | | Task task2 = taskService.selectOne(new EntityWrapper<Task>().eq("task_type","AGV空料架回缓存区").eq("source_sta_no", task.getStaNo())); |
| | | //有入库任务搬运,需要生成空料架搬运到空料架缓冲区AGV任务 |
| | | if (Cools.isEmpty(task2)) { |
| | | |
| | | //生成AGV搬运出库任务 |
| | | // 保存工作档 |
| | | String SourceStaNo = ""; |
| | | if (task.getStaNo().equals("Z-401")) { |
| | | if (task.getStaNo().equals("401")) { |
| | | //大料架缓冲区 |
| | | SourceStaNo = "Q-E3"; |
| | | }else if (task.getStaNo().equals("Z-402")) { |
| | | }else if (task.getStaNo().equals("402")) { |
| | | SourceStaNo = "Q-E2"; |
| | | }else if (task.getStaNo().equals("Z-307")) { |
| | | }else if (task.getStaNo().equals("307")) { |
| | | SourceStaNo = "Q-E1"; |
| | | } |
| | | Task task3 = new Task(); |
| | | Date date = new Date(); |
| | | String TaskNo = task.getTaskNo() + "-" + date.getTime(); |
| | | String TaskNo = task.getTaskNo() + "bb" + date.getTime(); |
| | | task3.setWrkNo(999999) |
| | | .setTaskNo(TaskNo) |
| | | .setIoTime(date) |
| | | .setWrkSts(301L) // 工作状态:301.任务下发 |
| | | .setIoType(4) // 入出库状态: 3.站到站 4.站到区域 |
| | | .setTaskType("agv") |
| | | .setTaskType("AGV空料架回缓存区") |
| | | .setIoPri(10D) |
| | | .setFullPlt("Y") // 满板:Y |
| | | .setPicking("N") // 拣料 |
| | | .setExitMk("N")// 退出 |
| | | .setStaNo(task.getStaNo()) |
| | | .setSourceStaNo(SourceStaNo)//空料架缓存区E1 |
| | | .setStaNo(SourceStaNo) |
| | | .setSourceStaNo(task.getStaNo())//空料架缓存区E1 |
| | | .setEmptyMk("N")// 空板 |
| | | .setBarcode("")// 托盘码 |
| | | .setLinkMis("N") |
| | |
| | | .setAppeTime(date) |
| | | .setModiUser(9945L) |
| | | .setModiTime(date); |
| | | if (!taskService.insert(task)) { |
| | | if (!taskService.insert(task3)) { |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | }else if(basDevp != null && !Cools.isEmpty(basDevp.getInreq1()) |
| | | && basDevp.getInreq1().equals("N") |
| | | && basDevp.getLoading().equals("N") |
| | | ) { |
| | | flag = true; |
| | | } |
| | | |
| | | } |
| | | if (flag) { |
| | | if (flag || task.getTaskType().equals("AGV空料架回缓存区")) { |
| | | //AGV任务下发 |
| | | ReturnT<String> start = AGVTaskReportHandler.start(task); |
| | | if (!start.isSuccess()) { |
| | |
| | | if (!taskService.updateById(task)) { |
| | | log.error("工作档[workNo={}]标记待处理失败", task.getWrkNo()); |
| | | } |
| | | break; |
| | | }else { |
| | | task.setCtnType(task.getCtnType()+1); |
| | | task.setModiTime(new Date()); |
| | |
| | | }else if(task.getIoType()==5){ |
| | | SourceStaNoType = "ZONE"; |
| | | } |
| | | String taskType = "CS3"; |
| | | String taskType = "PP"; |
| | | Boolean flag1 = false; |
| | | Boolean flag2 = false; |
| | | if(task.getStaNo().equals("Z-401")|| task.getStaNo().equals("Z-402")|| task.getStaNo().equals("Z-307")){ |
| | | if(task.getStaNo().equals("401")|| task.getStaNo().equals("402")|| task.getStaNo().equals("307")){ |
| | | taskType = "YLIN"; |
| | | flag1 = true; |
| | | } |
| | | if (task.getSourceStaNo().equals("Z-401")|| task.getSourceStaNo().equals("Z-402")|| task.getSourceStaNo().equals("Z-307")){ |
| | | if (task.getSourceStaNo().equals("401")|| task.getSourceStaNo().equals("402")|| task.getSourceStaNo().equals("307")){ |
| | | taskType = "YLOUT"; |
| | | flag2 = true; |
| | | } |
| | |
| | | StaNo = split[0]+split[1]; |
| | | } |
| | | if (task.getSourceStaNo().split("-")[0].equals("Q")) { |
| | | String[] split = task.getStaNo().split("-"); |
| | | String[] split = task.getSourceStaNo().split("-"); |
| | | SourceStaNo = split[0]+split[1]; |
| | | } |
| | | |
| | |
| | | for (WrkDetl wrkDetl : wrkDetls53) { |
| | | |
| | | LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand() |
| | | , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | , null, wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | if (null != locDetl) { |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3() |
| | | if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),null, wrkDetl.getStandby2(), wrkDetl.getStandby3() |
| | | , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) { |
| | | // exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | |
| | | // 更新订单完成数量 |
| | | OrderDetlPakin orderDetlPakin = orderDetlPakinService.selectItem |
| | | (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), |
| | | wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | null, wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | if (orderDetlPakin == null) { |
| | | orderDetlPakin = orderDetlPakinService.selectItem |
| | | (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | (wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), null, wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3()); |
| | | } |
| | | try { |
| | | if (!Cools.isEmpty(orderDetlPakin)) { |
| | | if (!orderDetlPakinService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), |
| | | orderDetlPakin.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | orderDetlPakin.getBatch(), wrkDetl.getBrand(), null, wrkDetl.getStandby2(), wrkDetl.getStandby3(), |
| | | wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3(), wrkDetl.getAnfme())) { |
| | | // exceptionHandle("拣料入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]", |
| | | // wrkMast.getWrkNo(), wrkMast.getLocNo()); |
| | |
| | | //查询是否有关联的WrkMast任务 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", task.getWrkNo())); |
| | | if (wrkMast != null) { |
| | | if (wrkMast.getIoType()==110){ |
| | | if (wrkMast.getIoType()==110&& wrkMast.getWrkSts()>12){ |
| | | wrkMast.setWrkSts(32L);//32.等待组托 |
| | | }else if (wrkMast.getIoType()==101){ |
| | | wrkMast.setWrkSts(15L);//15.出库更新完成 |
| | | }else if (wrkMast.getIoType()==103 && wrkMast.getWrkSts()>12){ |
| | | wrkMast.setWrkSts(20L);//20.等待回库 |
| | | } |
| | | wrkMast.setModiTime(new Date()); |
| | | wrkMastService.updateById(wrkMast); |
| | |
| | | return R.error("高低检测信号不能为空"); |
| | | } |
| | | |
| | | //入库时对空板出库任务进行完成 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()).eq("wrk_sts",110)); |
| | | if (!Cools.isEmpty(wrkMast)) { |
| | | wrkMast.setWrkSts(15L);//空板出库任务转历史档 |
| | | wrkMastService.updateById(wrkMast); |
| | | } |
| | | |
| | | // 源站点状态检测 |
| | | BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); |
| | | sourceStaNo.setLocType1(param.getLocType1()); |
| | |
| | | if (!tasks.isEmpty()){ |
| | | return R.error("有对堆垛机接驳站点的AGV搬运任务,暂时无法生成AGV搬运任务"); |
| | | } |
| | | String sourceStaNo = "Q-"; |
| | | if(wrkMast.getStaNo().equals("401")){ |
| | | sourceStaNo = sourceStaNo + "E3"; |
| | | }else if(wrkMast.getStaNo().equals("402")){ |
| | | sourceStaNo = sourceStaNo + "E2"; |
| | | }else if(wrkMast.getStaNo().equals("307")){ |
| | | sourceStaNo = sourceStaNo + "E1"; |
| | | } |
| | | //生成AGV搬运空料架任务 |
| | | // 保存工作档 |
| | | Task task = new Task(); |
| | | Date date = new Date(); |
| | | String TaskNo = wrkMast.getWrkNo()+"-"+date.getTime(); |
| | | String TaskNo = wrkMast.getWrkNo()+"aa"+date.getTime(); |
| | | task.setWrkNo(wrkMast.getWrkNo()) |
| | | .setTaskNo(TaskNo) |
| | | .setIoTime(date) |
| | | .setWrkSts(301L) // 工作状态:301.任务下发 |
| | | .setIoType(5) // 入出库状态: 5.区域到站 |
| | | .setTaskType("agv") |
| | | .setTaskType("AGV补空料架") |
| | | .setIoPri(10D) |
| | | .setFullPlt("N") // 满板:Y |
| | | .setPicking("N") // 拣料 |
| | | .setExitMk("N")// 退出 |
| | | .setStaNo(wrkMast.getStaNo()) |
| | | .setSourceStaNo("E1")//空料架缓存区E1 |
| | | .setSourceStaNo(sourceStaNo)//空料架缓存区 |
| | | .setEmptyMk("Y")// 空板 |
| | | .setBarcode("")// 托盘码 |
| | | .setLinkMis("N") |
| | |
| | | #mes对接 |
| | | mes: |
| | | |
| | | url: http://172.26.160.5:80/dev-api/basicmodel/WmsFit/Api/ |
| | | url: http://192.9.100.173:8088/prod-api/basicmodel/WmsFit/Api/ |
| | | #默认接口操作人员id |
| | | defaultUserId: 30 |
| | | |
| | |
| | | </resultMap> |
| | | |
| | | <select id="selectToBeCompleteData" resultMap="BaseResultMap"> |
| | | select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type != 103 and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no |
| | | select * from asr_wrk_mast where ((wrk_sts = 4 Or wrk_sts = 14 ) and io_type != 104 and io_type != 107 ) or (wrk_sts = 2 and io_type=6) order by upd_mk,error_time,io_time,wrk_no |
| | | </select> |
| | | |
| | | <select id="selectToBeHistoryData" resultMap="BaseResultMap"> |
| | |
| | | |
| | | <!-- 表格 --> |
| | | <div class="layui-form"> |
| | | <table class="layui-hide" id="wrkMastLog" lay-filter="wrkMastLog"></table> |
| | | <table class="layui-hide" id="taskLog" lay-filter="taskLog"></table> |
| | | </div> |
| | | <script type="text/html" id="toolbar"> |
| | | <div class="layui-btn-container"> |
| | |
| | | <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/wrkMastLog/wrkMastLog.js" charset="utf-8"></script> |
| | | <script type="text/javascript" src="../../static/js/taskLog/taskLog.js" charset="utf-8"></script> |
| | | |
| | | <iframe id="detail-iframe" scrolling="auto" style="display:none;"></iframe> |
| | | |