rev:新增表处相关逻辑和任务类

This commit is contained in:
2024-01-17 17:34:06 +08:00
parent 1473ba1a72
commit 1e96343e7e
5 changed files with 396 additions and 12 deletions

View File

@@ -24,7 +24,6 @@ public class MesToLmsController {
@PostMapping("/momRollFoilStart")
@Log("母卷批次创建信息发送智能物流MES生箔工序Move In")
@SaIgnore
public ResponseEntity<Object> momRollFoilStart(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.momRollFoilStart(jo), HttpStatus.OK);
@@ -32,7 +31,6 @@ public class MesToLmsController {
@PostMapping("momRollFoilWeighing")
@Log("MES获取AGV称重信息")
@SaIgnore
public ResponseEntity<Object> momRollFoilWeighing(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.momRollFoilWeighing(jo), HttpStatus.OK);
@@ -40,7 +38,6 @@ public class MesToLmsController {
@PostMapping("/momRollFoilComplete")
@Log("MES执行下卷动作告诉LMS")
@SaIgnore
public ResponseEntity<Object> momRollFoilComplete(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.momRollFoilComplete(jo), HttpStatus.OK);
@@ -48,7 +45,6 @@ public class MesToLmsController {
@PostMapping("/momRollBakeNextSpecTransfer")
@Log("MES下达烘箱温度和时间配方给智能物流(MES 包装防护工序Move Out)")
@SaIgnore
public ResponseEntity<Object> momRollBakeNextSpecTransfer(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.momRollBakeNextSpecTransfer(jo), HttpStatus.OK);
@@ -56,7 +52,6 @@ public class MesToLmsController {
@PostMapping("/cutPlanTransfer")
@Log("分切包装段:分切计划(单表,包含母卷/改制子卷-包装箱号、空包装箱物料、纸筒/FRP管MES下发智能物流")
@SaIgnore
public ResponseEntity<Object> cutPlanTransfer(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.cutPlanTransfer(jo), HttpStatus.OK);
@@ -64,7 +59,6 @@ public class MesToLmsController {
@PostMapping("/callNextAssAndMomRoll")
@Log("分切即将完成,呼叫配送下一个母卷/改制子卷MES传智能物流")
@SaIgnore
public ResponseEntity<Object> callNextAssAndMomRoll(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.callNextAssAndMomRoll(jo), HttpStatus.OK);
@@ -72,7 +66,6 @@ public class MesToLmsController {
@PostMapping("/childRollCutStartComp")
@Log("当母卷开始分切时MES系统会将对应的子卷进站信息发送给只能物流系统一方面物流系统可以预估下个母卷的送达时间也可以闭环期分切计划指令")
@SaIgnore
public ResponseEntity<Object> childRollCutStartComp(@RequestBody JSONArray ja) {
return new ResponseEntity<>(mesToLmsService.childRollCutStartComp(ja), HttpStatus.OK);
@@ -80,7 +73,6 @@ public class MesToLmsController {
@PostMapping("/childRollPackComplete")
@Log("包装完成传智能物流包装箱与子卷关系及子卷属性值LMS执行入库")
@SaIgnore
public ResponseEntity<Object> childRollPackComplete(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.childRollPackComplete(jo), HttpStatus.OK);
@@ -88,7 +80,6 @@ public class MesToLmsController {
@PostMapping("/inventoryTransferInfoSync")
@Log("转单指令在MES平台查看后更新信息发送LMS是否拆包、更新后的入库日期、是否更换外包装箱标签,LMS重打子卷标签、包装箱外标签")
@SaIgnore
public ResponseEntity<Object> inventoryTransferInfoSync(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.inventoryTransferInfoSync(jo), HttpStatus.OK);
@@ -96,7 +87,6 @@ public class MesToLmsController {
@PostMapping("/childRollInfoUpdate")
@Log("子卷信息更新:计划外需求有可能入库完成后ERP才回传计划外需求SalesOrder")
@SaIgnore
public ResponseEntity<Object> childRollInfoUpdate(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.childRollInfoUpdate(jo), HttpStatus.OK);
@@ -104,7 +94,6 @@ public class MesToLmsController {
@PostMapping("/cutPlanTransferCancel")
@Log("分切计划取消")
@SaIgnore
public ResponseEntity<Object> cutPlanTransferCancel(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.cutPlanTransferCancel(jo), HttpStatus.OK);
@@ -112,11 +101,17 @@ public class MesToLmsController {
@PostMapping("/sendAuditResult")
@Log("子卷审批结果")
@SaIgnore
public ResponseEntity<Object> sendAuditResult(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.sendAuditResult(jo), HttpStatus.OK);
}
@PostMapping("/sendProcessInfo")
@Log("表处母卷上料、下料接口")
@SaIgnore
public ResponseEntity<Object> sendProcessInfo(@RequestBody JSONObject jo) {
return new ResponseEntity<>(mesToLmsService.sendProcessInfo(jo), HttpStatus.OK);
}
}

View File

@@ -60,4 +60,6 @@ public interface MesToLmsService {
JSONObject cutPlanTransferCancel(JSONObject param);
JSONObject sendAuditResult(JSONObject param);
JSONObject sendProcessInfo(JSONObject param);
}

View File

@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.b_lms.sch.tasks.ProcessTask;
import org.nl.common.utils.SecurityUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.system.util.CodeUtil;
@@ -1445,4 +1446,105 @@ public class MesToLmsServiceImpl implements MesToLmsService {
log.info("sendAuditResult接口输出参数为-------------------" + resultParam.toString());
return resultParam;
}
@Override
public JSONObject sendProcessInfo(JSONObject param) {
log.info("sendProcessInfo输入参数为-------------------" + param.toString());
WQLObject coolIvtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区点位库存表
JSONObject resultParam = new JSONObject();
try {
String containerName = param.getString("ContainerName");
String ResourceName = param.getString("ResourceName");
String Type = param.getString("Type");
if (ObjectUtil.isEmpty(containerName)) {
throw new BadRequestException("传入的母卷号不能为空!");
}
if (ObjectUtil.isEmpty(ResourceName)) {
throw new BadRequestException("传入的设备号不能为空!");
}
if (ObjectUtil.isEmpty(Type)) {
throw new BadRequestException("传入的类型不能为空!");
}
JSONObject device_jo = WQLObject.getWQLObject("st_ivt_stpointivt").query("ext_code = '"+ResourceName+"'").uniqueResult(0);
if (ObjectUtil.isEmpty(device_jo)){
throw new BadRequestException("未查询到["+ResourceName+"]应的表处机设备!");
}
ProcessTask processTask = SpringContextHolder.getBean(ProcessTask.class);
//上料
if ("1".equals(Type)){
String up_scroll = device_jo.getString("up_scroll");
String up_pcsn = device_jo.getString("up_pcsn");
if (StrUtil.isNotEmpty(up_pcsn)){
throw new BadRequestException("LMS系统上【"+ResourceName+"】表处机上还存在母卷号,不能进行上料!");
}
//查询母卷所在点位
JSONObject jsonCoolIvt = coolIvtTab.query("container_name = '" + containerName + "' and full_point_status = '02' and cool_ivt_status <> '04'").uniqueResult(0);
JSONObject form = new JSONObject();
if (StrUtil.isEmpty(up_scroll)){
//取满放满
form.put("point_code1",jsonCoolIvt.getString("point_code"));
form.put("point_code2",device_jo.getString("point_code"));
form.put("task_type","010702");
form.put("material_code",jsonCoolIvt.getString("container_name"));
form.put("vehicle_code",jsonCoolIvt.getString("full_vehicle_code"));
form.put("product_area",device_jo.getString("product_area"));
}else {
//取满取空放满放空
form.put("point_code1",jsonCoolIvt.getString("full_point_code"));
form.put("point_code2",device_jo.getString("point_code"));
form.put("point_code3",device_jo.getString("point_code"));
//判断对应空轴点位是否为空,为空用当前点位,不为空查询其他点位
if (jsonCoolIvt.getString("empty_point_status").equals("01")){
form.put("point_code4",jsonCoolIvt.getString("empty_point_code"));
}else {
JSONObject map = new JSONObject();
map.put("flag", "6");
map.put("product_area", device_jo.getString("product_area"));
JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);
form.put("point_code4",jsonIvt.getString("empty_point_code"));
}
form.put("task_type","010701");
form.put("material_code",jsonCoolIvt.getString("container_name"));
form.put("vehicle_code",jsonCoolIvt.getString("full_vehicle_code"));
form.put("product_area",device_jo.getString("product_area"));
}
processTask.createTask(form);
}
//退料
if ("2".equals(Type)){
//取满取空放满放空
JSONObject form = new JSONObject();
JSONObject map = new JSONObject();
map.put("flag", "1");
map.put("product_area", device_jo.getString("product_area"));
JSONObject jsonIvt = WQL.getWO("PDA_RAWFOIL_01").addParamMap(map).process().uniqueResult(0);
form.put("point_code1",device_jo.getString("point_code"));
//寻找可用的冷却区满轴点位
form.put("point_code2",jsonIvt.getString("full_point_code"));
form.put("task_type","010704");
form.put("material_code",device_jo.getString("up_pcsn"));
form.put("vehicle_code",device_jo.getString("up_scroll"));
form.put("product_area",device_jo.getString("product_area"));
processTask.createTask(form);
}
resultParam.put("RTYPE", "S");
resultParam.put("Code", "0");
resultParam.put("RTMSG", "操作成功!");
} catch (Exception e) {
resultParam.put("RTYPE", "E");
resultParam.put("Code", "1");
resultParam.put("RTMSG", "操作失败!" + e.getMessage());
}
log.info("sendProcessInfo接口输出参数为-------------------" + resultParam.toString());
return resultParam;
}
}

View File

@@ -205,4 +205,38 @@
ENDPAGEQUERY
ENDIF
IF 输入.flag = "6"
QUERY
SELECT
ivt.*
FROM
ST_IVT_CoolPointIvt ivt
WHERE
ivt.empty_point_status = '01'
AND
ivt.is_used = '1'
AND NOT EXISTS (
SELECT
*
FROM
sch_base_task
WHERE
( point_code1 = ivt.full_point_code OR point_code4 = ivt.full_point_code )
AND task_status < '07'
AND is_delete = '0'
)
OPTION 输入.product_area <> ""
ivt.product_area = 输入.product_area
ENDOPTION
OPTION 输入.point_location <> ""
ivt.point_location = 输入.point_location
ENDOPTION
order by ivt.point_code ASC
ENDSELECT
ENDQUERY
ENDIF