opt:优化mes回传和回传接口
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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<SchBaseTaskconfig>()
|
||||
.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<Material> 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<Material> 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{
|
||||
//判断该申请点位是否存在起点或终点的未完成任务
|
||||
|
||||
@@ -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() + "不存在未解绑的物料信息,请确认!");
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
@@ -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<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());
|
||||
materialMapper.update(null,updateWrapper);
|
||||
JSONObject result = JSONObject.parseObject(resultMsg);
|
||||
String code = result.getString("code");
|
||||
if("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,"0");
|
||||
updateWrapper.set(Material::getReturn_status,"1");
|
||||
materialMapper.update(null,updateWrapper);
|
||||
}
|
||||
}else{
|
||||
log.error("当前子托盘:"+taskObj.getVehicle_code2()+"不存在未解绑的物料信息,请确认!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user