Browse Source

opt:优化mes回传和回传接口

master
张东升 10 months ago
parent
commit
8c96550696
  1. 7
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/mes/controller/MesController.java
  2. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/material/service/dao/Material.java
  3. 16
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java
  4. 25
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLCKTask.java
  5. 16
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/YCLRKTask.java

7
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 {

2
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){

16
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java

@ -178,12 +178,26 @@ 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<SchBaseTaskconfig>()
.eq(SchBaseTaskconfig::getConfig_code, config_code));
Assert.notNull(taskConfig, "找不到配置文件,请确认[" + config_code + "]配置是否存在!");
//输送线相关任务不做处理
if(apply_point_code.startsWith("SSX")){
//输送线入库任务,校验入库单是否存在载具号
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);
@ -192,8 +206,6 @@ public abstract class AbstractTask {
}
String isReturn = isConnectAcs.getValue();
if("1".equals(isReturn)){
//输送线入库任务,校验入库单是否存在载具号
if("YCLRKTask".equals(config_code)){
//组盘表需要关联外部mes晶棒数据,一对多
LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Material::getPalletSN,sub_tray);

25
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<Material> materialList = materialMapper.selectList(new LambdaQueryWrapper<Material>()
.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<Material> 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<Material> 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() + "不存在未解绑的物料信息,请确认!");
}

16
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<Material> 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<Material> materialList= materialMapper.selectList(wrapper);
SchBaseVehiclematerialgroup groupEntity = getSchBaseVehiclematerialgroup(taskObj, extGroupData, workorderCode, endPoint, endPointObj);
groupEntity.setVehicle_code(taskObj.getVehicle_code());
@ -296,12 +298,18 @@ public class YCLRKTask extends AbstractTask {
.body(JSON.toJSONString(qpmes062Request))
.execute().body();
log.info("QPMES062服务调用成功,反馈{}",resultMsg);
JSONObject result = JSONObject.parseObject(resultMsg);
String code = result.getString("code");
if("0".equals(code)){
//更新接口表
UpdateWrapper<Material> 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());
LambdaUpdateWrapper<Material> 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()+"不存在未解绑的物料信息,请确认!");
}

Loading…
Cancel
Save