src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/TaskWrkController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/WMSAndAGVInterfaceParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/TaskLogScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/TaskWrkMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/wms/js/locMast/locMast.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -96,9 +96,15 @@ if (Cools.isEmpty(param.getBarcode())) { return R.error("条码[barcode]不能为空"); } String locNo=null; if(param.getIoType()==1){ locNo=param.getTargetPoint(); }else{ locNo=param.getStartPoint(); } LocMast locMast=locMastService.selectOne(new EntityWrapper<LocMast>() .eq("loc_sts","F") .eq("loc_no",param.getTargetPoint()) .eq("loc_no",locNo) .eq("barcode",param.getBarcode())); if(Cools.isEmpty(locMast)){ return R.error("该库位不满住出库条件"+param.getTargetPoint()); @@ -319,35 +325,29 @@ return R.error("参数为空!"); } else if (Cools.isEmpty(param.getTaskNo())){ return R.error("工作号为空!"); } else if (Cools.isEmpty(param.getTaskStatus())){ } else if (Cools.isEmpty(param.getIoType())){ return R.error("操作类型为空!"); } else if (Cools.isEmpty(param.getBarcode())){ return R.error("托盘码不能为空!"); } // else if (Cools.isEmpty(param.getWarehouseId())){ // return R.error("仓库标识为空!"); // } TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("task_no", param.getTaskNo())); TaskWrk taskWrk = taskWrkService.selectOne(new EntityWrapper<TaskWrk>() .eq("task_no", param.getTaskNo()) .eq("io_type",param.getIoType()) .eq("barcode",param.getBarcode())); if (Cools.isEmpty(taskWrk)){ return R.error("未查到当前任务"); return R.error("未查到当前任务---"+param); } boolean sign =false; switch (param.getTaskStatus()){ case 1://正常取消 if (taskWrk.getWrkSts()>1){ if (taskWrk.getStatus()>1){ return R.error("任务已开始执行"); } case 2://强制取消 if (taskWrk.getWrkSts()>3){ return R.error("任务已执行完成"); } break; case 3://正常完成 if (taskWrk.getWrkSts()>11){ case 2://正常完成 if (taskWrk.getStatus()>1){ return R.error("任务已开始执行"); } case 4://强制完成 if (taskWrk.getWrkSts()>14){ return R.error("任务已执行完成"); } sign=true; break; src/main/java/com/zy/asrs/controller/TaskWrkController.java
@@ -8,9 +8,11 @@ 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; @@ -37,6 +39,9 @@ @Autowired private CommandInfoService commandInfoService; @Autowired private LocMastService locMastService; @RequestMapping(value = "/taskWrk/{wrkNo}/auth") @ManagerAuth @@ -163,78 +168,43 @@ @ManagerAuth(memo = "手动完成任务") public R complete(@RequestParam String taskNo) { TaskWrk taskWrk = taskWrkService.selectByTaskNo(taskNo); 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()); Map<String, Object> map = new HashMap<>(); map.put("x-api-key","7a15b5db-29b6-552c-8cff-0cfec3756da2"); TaskOverToWms taskOverToWms = new TaskOverToWms(); taskOverToWms.setFeedbackFrom("WCS"); //来源 taskOverToWms.setWarehouseId("1688469798893297665"); //仓库标识 taskOverToWms.setTaskNo(taskWrk.getTaskNo()); //任务号 taskOverToWms.setTaskType(getTaskType(taskWrk.getIoType())); // 任务类型 taskOverToWms.setContainerCode(taskWrk.getBarcode()); // 容器编码 if (taskWrk.getIoType() ==1 ){ taskOverToWms.setEquipmentCode(String.valueOf(taskWrk.getCrnNo())); //设备编码 taskOverToWms.setTargetLocationCode(taskWrk.getOriginTargetPoint()); //目标库位 }else if (taskWrk.getIoType() ==2){ Map<Integer,String> map1 = new HashMap<>(); map1.put(102,"J-1101"); map1.put(106,"J-1103"); map1.put(110,"J-1105"); map1.put(114,"J-1107"); map1.put(118,"J-1109"); map1.put(122,"J-1111"); taskOverToWms.setEquipmentCode(map1.get(taskWrk.getTargetPoint())); //设备编码 taskOverToWms.setSourceLocationCode(taskWrk.getOriginStartPoint()); //源库位 } taskOverToWms.setTaskStatus("handle"); //任务状态 String response = null; try { response = new HttpHandler.Builder() .setHeaders(map) .setUri(wmsUrl) .setPath("wcsManager/wcsInterface/taskStatusFeedback") .setJson(JSON.toJSONString(taskOverToWms)) .build() .doPost(); }catch (Exception e){ log.error("wms连接失败"); } JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)){ if (taskWrk == null) { return R.error(); } if (taskWrk.getStatus().equals(TaskStatusType.COMPLETE.id)) { return R.error(taskWrk.getTaskNo() + "已完结"); } Date now = new Date(); taskWrk.setStatus(TaskStatusType.COMPLETE.id); taskWrk.setModiTime(now);//操作时间 try{ taskWrk.setModiUser(getUserId());//操作员 }catch (Exception e){ taskWrk.setModiUser(9999L);//操作员 } taskWrk.setCompleteTime(now);//完结时间 locMastService.updateById(locMast); taskWrk.setStatus(7);//手动完成任务 taskWrk.setModiTime(new Date()); taskWrkService.updateById(taskWrk); if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) > 0) { //任务已经转日志,将该任务下面的指令转日志 commandInfoService.saveToHistory(taskWrk.getTaskNo()); //删除任务 taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no", taskWrk.getTaskNo())); //删除指令 commandInfoService.delete(new EntityWrapper<CommandInfo>().eq("task_no", taskWrk.getTaskNo())); } }else { return R.error("wms通讯失败"); } return R.ok(); } src/main/java/com/zy/asrs/entity/param/WMSAndAGVInterfaceParam.java
@@ -13,6 +13,9 @@ //入出库类型 private int ioType; //托盘码 private String barcode; //private String taskNo; //任务号 private String warehouseId; //仓库标识 src/main/java/com/zy/asrs/task/TaskLogScheduler.java
@@ -55,8 +55,7 @@ @Scheduled(cron = "0/3 * * * * ? ") public void execute() throws IOException { for (TaskWrk taskWrk : taskWrkService.selectToBeHistoryData()) { TaskStatusFeedbackParam taskStatusFeedbackParam = new TaskStatusFeedbackParam(taskWrk); if (taskWrk.getStatus().equals(TaskStatusType.OVER.id)) {//完成 if (taskWrk.getStatus().equals(TaskStatusType.OVER.id)||taskWrk.getStatus()==7) {//完成 //区分入出库 TaskWrkLog taskWrkLog=new TaskWrkLog(taskWrk); if(!wrkLogService.insert(taskWrkLog)){ @@ -66,19 +65,15 @@ throw new CoolException("任务档删除失败"+taskWrkLog); } } else if (taskWrk.getStatus().equals(TaskStatusType.CANCEL.id)) { taskStatusFeedbackParam.setTaskStatus("cancelled"); //new PostMesDataUtils().postMesData("取消任务完成",wmsUrl,movePath,taskWrk); TaskWrkLog taskWrkLog=new TaskWrkLog(taskWrk); if(!wrkLogService.insert(taskWrkLog)){ throw new CoolException("转历史档失败"+taskWrkLog); } if(!taskWrkService.deleteById(taskWrk)){ throw new CoolException("任务档删除失败"+taskWrkLog); } } if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) > 0) { //任务已经转日志,将该任务下面的指令转日志 commandInfoService.saveToHistory(taskWrk.getTaskNo()); //删除任务 taskWrkService.delete(new EntityWrapper<TaskWrk>().eq("task_no", taskWrk.getTaskNo())); //删除指令 commandInfoService.delete(new EntityWrapper<CommandInfo>().eq("task_no", taskWrk.getTaskNo())); } } } src/main/resources/mapper/TaskWrkMapper.xml
@@ -118,12 +118,12 @@ <select id="selectToBeHistoryData" resultMap="BaseResultMap"> select * from dbo.wcs_task_wrk where 1=1 and ((wrk_sts=14 and status=5) or status=4 or (wrk_sts=4 and status=5)) and ((wrk_sts=14 and status=5) or status=7 or status=4 or (wrk_sts=4 and status=5)) order by io_pri desc,create_time,wrk_no ASC </select> <insert id="saveToHistory"> insert into wcs_task_wrk_log select * from wcs_task_wrk where task_no = #{taskNo} and (status=5 or status=4) insert into wcs_task_wrk_log select * from wcs_task_wrk where task_no = #{taskNo} and (status=5 or status=4 or status=6) </insert> <select id="selectWorkingTask" resultMap="BaseResultMap"> src/main/webapp/static/wms/js/locMast/locMast.js
@@ -32,6 +32,7 @@ ,{field: 'row1', align: 'center',title: '排', sort:true} ,{field: 'bay1', align: 'center',title: '列', sort:true} ,{field: 'lev1', align: 'center',title: '层', sort:true} ,{field: 'barcode', align: 'center',title: '托盘码', sort:true} // ,{field: 'fullPlt', align: 'center',title: '满板', templet:function(row){ // var html = "<input value='fullPlt' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' disabled table-index='"+row.LAY_TABLE_INDEX+"'"; // if(row.fullPlt === 'Y'){html += " checked ";}