From 8c9655069631c36c2798207000569203cc1ffaa9 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Fri, 6 Sep 2024 15:10:03 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96mes=E5=9B=9E=E4=BC=A0?= =?UTF-8?q?=E5=92=8C=E5=9B=9E=E4=BC=A0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/mes/controller/MesController.java | 7 ++- .../sch/material/service/dao/Material.java | 2 + .../nl/wms/sch/task_manage/AbstractTask.java | 48 ++++++++++++------- .../sch/task_manage/task/tasks/YCLCKTask.java | 25 ++++++++++ .../sch/task_manage/task/tasks/YCLRKTask.java | 22 ++++++--- 5 files changed, 77 insertions(+), 27 deletions(-) diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java index 3980b57..2b878bf 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import io.swagger.annotations.Api; @@ -77,6 +78,7 @@ public class MesController { for(QPMES060RequestBody QPMES060RequestBody:notice.toJavaObject(QPMES060Request.class).getBODY()) { material.copyFrom(QPMES060RequestBody); material.setGroup_bind_material_status(GroupBindMaterialStatusEnum.BOUND.getValue()); + material.setReturn_status("0"); material.setCreate_time(DateUtil.now()); materialMapper.insert(material); } @@ -84,14 +86,14 @@ public class MesController { qpmes060ResponseBody.setSTATUS("S"); qpmes060ResponseBodyArrayList.add(qpmes060ResponseBody); qpmes060Response.setBODY(qpmes060ResponseBodyArrayList); - log.info("QPMES060服务被调用,返回参数:" + qpmes060Response); + log.info("QPMES060服务被调用,返回参数:" + JSON.toJSONString(qpmes060Response)); return qpmes060Response; }catch (Exception e){ - log.error("QPMES060服务异常:{}{}",e,e.getMessage()); qpmes060ResponseBody.setMESSAGE("原材料入库失败"+e.getMessage()); qpmes060ResponseBody.setSTATUS("E"); qpmes060ResponseBodyArrayList.add(qpmes060ResponseBody); qpmes060Response.setBODY(qpmes060ResponseBodyArrayList); + log.error("QPMES060服务异常:"+ JSON.toJSONString(qpmes060Response)); return qpmes060Response; } } @@ -206,6 +208,7 @@ public class MesController { QPMES155Response qpmes155Response =new QPMES155Response(); QPMES155Request qpmes155Request=notice.toJavaObject(QPMES155Request.class); log.info(qpmes155Request.toString()); + if(ObjectUtil.isNotEmpty(qpmes155Request)) { for (QPMES155RequestBody temp : qpmes155Request.getBODY()) { try { diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java index 6a0d439..5fcb462 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java @@ -70,6 +70,8 @@ public class Material implements Serializable { private String lineDiameter; @ApiModelProperty(value = "操作时间") private String create_time; + @ApiModelProperty(value = "回传状态") + private String return_status; public void copyFrom(QPMES060RequestBody source){ diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java index 2c659e4..138ef51 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java @@ -178,30 +178,42 @@ public abstract class AbstractTask { String next_point = param.getString("next_point"); // 目的点 String config_code = param.getString("config_code"); String sub_tray = param.getString("vehicle_code2");//子托盘 + if(ObjectUtil.isNotEmpty(sub_tray)) { + sub_tray = sub_tray.trim(); + } // 1、校验数据 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, config_code)); Assert.notNull(taskConfig, "找不到配置文件,请确认[" + config_code + "]配置是否存在!"); //输送线相关任务不做处理 if(apply_point_code.startsWith("SSX")){ - SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); - //判断是否回传mes - Param isConnectAcs = sysParamService.findByCode(GeneralDefinition.IS_RETURN_MES); - if (ObjectUtil.isEmpty(isConnectAcs)) { - Assert.notNull(taskConfig, "找不到配置文件,请确认系统参数[is_return_mes]配置是否存在!"); - } - String isReturn = isConnectAcs.getValue(); - if("1".equals(isReturn)){ - //输送线入库任务,校验入库单是否存在载具号 - if("YCLRKTask".equals(config_code)){ - //组盘表需要关联外部mes晶棒数据,一对多 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Material::getPalletSN,sub_tray); - wrapper.eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue()); - Integer list_size = materialMapper.selectCount(wrapper); - Assert.isFalse(list_size<=0, - "该任务申请子托盘["+sub_tray+"]异常,无原材料入库单据信息!"); - } + //输送线入库任务,校验入库单是否存在载具号 + if("YCLRKTask".equals(config_code)){ + //子托盘非空 + if(ObjectUtil.isNotEmpty(sub_tray)) { + Assert.isFalse(sub_tray.contains(";"), + "该任务申请子托盘["+param.getString("vehicle_code2")+"]存在串读,无法申请任务!"); + }else{ + Assert.isFalse(ObjectUtil.isEmpty(sub_tray), + "该任务申请子托盘["+param.getString("vehicle_code2")+"]为空,无法申请任务!"); + } + //校验mes接口组盘记录 + SysParamServiceImpl sysParamService = SpringContextHolder.getBean(SysParamServiceImpl.class); + //判断是否回传mes + Param isConnectAcs = sysParamService.findByCode(GeneralDefinition.IS_RETURN_MES); + if (ObjectUtil.isEmpty(isConnectAcs)) { + Assert.notNull(taskConfig, "找不到配置文件,请确认系统参数[is_return_mes]配置是否存在!"); + } + String isReturn = isConnectAcs.getValue(); + if("1".equals(isReturn)){ + //组盘表需要关联外部mes晶棒数据,一对多 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Material::getPalletSN,sub_tray); + wrapper.eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue()); + Integer list_size = materialMapper.selectCount(wrapper); + Assert.isFalse(list_size<=0, + "该任务申请子托盘["+sub_tray+"]异常,无原材料入库单据信息!"); + } } }else{ //判断该申请点位是否存在起点或终点的未完成任务 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java index a406017..a1078f4 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java @@ -9,6 +9,7 @@ import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.wms.ext.service.dto.to.BaseResponse; @@ -284,6 +285,7 @@ public class YCLCKTask extends AbstractTask { List materialList = materialMapper.selectList(new LambdaQueryWrapper() .eq(Material::getPalletSN, taskObj.getVehicle_code2()) + .le(Material::getReturn_status, "1") .eq(Material::getGroup_bind_material_status, GroupBindMaterialStatusEnum.BOUND.getValue())); try { if (ObjectUtil.isNotEmpty(materialList)) { @@ -315,6 +317,29 @@ public class YCLCKTask extends AbstractTask { .body(JSON.toJSONString(qpmes065Request)) .execute().body(); log.info("QPMES065服务调用成功,反馈{}",resultMsg); + JSONObject result = JSONObject.parseObject(resultMsg); + String Code = result.getString("Code"); + if(ObjectUtil.isNotEmpty(Code) && "0".equals(Code)){ + //更新接口表 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Material::getPalletSN,taskObj.getVehicle_code2()); + updateWrapper.eq(Material::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue()); + //回传状态为0的 + updateWrapper.eq(Material::getReturn_status,"1"); + updateWrapper.set(Material::getReturn_status,"2"); + materialMapper.update(null,updateWrapper); + } + String code = result.getString("code"); + if(ObjectUtil.isNotEmpty(code) && "0".equals(code)){ + //更新接口表 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Material::getPalletSN,taskObj.getVehicle_code2()); + updateWrapper.eq(Material::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue()); + //回传状态为0的 + updateWrapper.eq(Material::getReturn_status,"1"); + updateWrapper.set(Material::getReturn_status,"2"); + materialMapper.update(null,updateWrapper); + } } else { log.error("当前子托盘:" + taskObj.getVehicle_code2() + "不存在未解绑的物料信息,请确认!"); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java index 2c03186..d062015 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java @@ -242,6 +242,8 @@ public class YCLRKTask extends AbstractTask { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Material::getPalletSN,taskObj.getVehicle_code2()); wrapper.eq(Material::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue()); + //回传状态为0的 + wrapper.eq(Material::getReturn_status,"0"); List materialList= materialMapper.selectList(wrapper); SchBaseVehiclematerialgroup groupEntity = getSchBaseVehiclematerialgroup(taskObj, extGroupData, workorderCode, endPoint, endPointObj); groupEntity.setVehicle_code(taskObj.getVehicle_code()); @@ -292,16 +294,22 @@ public class YCLRKTask extends AbstractTask { } qpmes062Request.setBODY(qpmes062RequestBodyList); log.info("开始调用QPMES062服务,入参{}",JSON.toJSONString(qpmes062Request)); - String resultMsg = HttpRequest.post(url) + String resultMsg = HttpRequest.post(url) .body(JSON.toJSONString(qpmes062Request)) .execute().body(); log.info("QPMES062服务调用成功,反馈{}",resultMsg); - //更新接口表 - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("PalletSN",taskObj.getVehicle_code2()); - updateWrapper.eq("group_bind_material_status",GroupBindMaterialStatusEnum.BOUND.getValue()); - updateWrapper.set("group_bind_material_status",GroupBindMaterialStatusEnum.UNBOUND.getValue()); - materialMapper.update(null,updateWrapper); + JSONObject result = JSONObject.parseObject(resultMsg); + String code = result.getString("code"); + if("0".equals(code)){ + //更新接口表 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Material::getPalletSN,taskObj.getVehicle_code2()); + updateWrapper.eq(Material::getGroup_bind_material_status,GroupBindMaterialStatusEnum.BOUND.getValue()); + //回传状态为0的 + updateWrapper.eq(Material::getReturn_status,"0"); + updateWrapper.set(Material::getReturn_status,"1"); + materialMapper.update(null,updateWrapper); + } }else{ log.error("当前子托盘:"+taskObj.getVehicle_code2()+"不存在未解绑的物料信息,请确认!"); }