From 1e96343e7ea55a2d1398869afb6cea74e74f01c8 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Wed, 17 Jan 2024 17:34:06 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E6=96=B0=E5=A2=9E=E8=A1=A8=E5=A4=84?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=80=BB=E8=BE=91=E5=92=8C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/b_lms/sch/tasks/ProcessTask.java | 251 ++++++++++++++++++ .../wms/ext/mes/rest/MesToLmsController.java | 19 +- .../wms/ext/mes/service/MesToLmsService.java | 2 + .../mes/service/impl/MesToLmsServiceImpl.java | 102 +++++++ .../org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql | 34 +++ 5 files changed, 396 insertions(+), 12 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java new file mode 100644 index 000000000..8e516a305 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/ProcessTask.java @@ -0,0 +1,251 @@ +package org.nl.b_lms.sch.tasks; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.modules.system.util.CodeUtil; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.sch.AcsTaskDto; +import org.nl.wms.sch.manage.AbstractAcsTask; +import org.nl.wms.sch.manage.TaskStatusEnum; +import org.nl.wms.sch.tasks.CutConveyorTask; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +/*** + * @Auther:Zhouz + * @Date:2024/1/17 + * @Description:裹膜区和表处区之间的任务创建 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class ProcessTask extends AbstractAcsTask { + private final String THIS_CLASS = ProcessTask.class.getName(); + + @Override + public List addTask() { + /* + * 下发给ACS时需要特殊处理 + */ + JSONArray arr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status = '" + TaskStatusEnum.START_AND_POINT.getCode() + "' and is_delete ='0'").getResultJSONArray(0); + + ArrayList resultList = new ArrayList<>(); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + + String product_area = json.getString("product_area"); + String agv_system_type = "2"; + AcsTaskDto dto = AcsTaskDto.builder() + .ext_task_id(json.getString("task_id")) + .task_code(json.getString("task_code")) + .task_type(json.getString("acs_task_type")) + .start_device_code(json.getString("point_code1")) + .next_device_code(json.getString("point_code2")) + .start_device_code2(json.getString("point_code3")) + .next_device_code2(json.getString("point_code4")) + .vehicle_code(json.getString("vehicle_code")) + .agv_system_type(agv_system_type) + .priority(json.getString("priority")) + .remark(json.getString("remark")) + .product_area(product_area) + .build(); + resultList.add(dto); + } + return resultList; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateTaskStatus(JSONObject taskObj, String status) { + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 + WQLObject ivtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 + WQLObject coolTab = WQLObject.getWQLObject("ST_IVT_CoolRegionIO"); // 冷却区出入表 + WQLObject stTab = WQLObject.getWQLObject("st_ivt_stpointivt"); // 生箔区域点位表 + + String task_id = taskObj.getString("task_id"); + JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "'").uniqueResult(0); + + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + if (StrUtil.equals(status, "0")) { + // 更新删除字段 + jsonTask.put("is_delete", "1"); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); + } + + if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { + // 更新任务状态为执行中 + jsonTask.put("task_status", TaskStatusEnum.EXECUTING.getCode()); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); + } + + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + // 更改任务状态为完成 + jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); + jsonTask.put("update_optid", SecurityUtils.getCurrentUserId()); + jsonTask.put("update_optname", SecurityUtils.getCurrentUsername()); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); + + String point_code1 = jsonTask.getString("point_code1"); + String point_code2 = jsonTask.getString("point_code2"); + String point_code4 = jsonTask.getString("point_code4"); + String task_type = jsonTask.getString("task_type"); + + if ("010701".equals(task_type)) { + //维护冷却区满轴点位的库存 + JSONObject cool_jo1 = ivtTab.query("full_point_code = '" + point_code1 + "'").uniqueResult(0); + String container_name = cool_jo1.getString("container_name"); + String full_vehicle_code = cool_jo1.getString("full_vehicle_code"); + HashMap map = new HashMap(); + map.put("container_name", ""); + map.put("full_vehicle_code", ""); + ivtTab.update(map, "full_point_code = '" + point_code1 + "'"); + //维护表处区点位 + JSONObject st_jo1 = stTab.query("point_code = '" + point_code2 + "'").uniqueResult(0); + String empty_vehicle_code = st_jo1.getString("up_scroll"); + HashMap map2 = new HashMap(); + map2.put("up_scroll", full_vehicle_code); + map2.put("up_pcsn", container_name); + stTab.update(map2, "point_code = '" + point_code2 + "'").uniqueResult(0); + //维护冷却区空轴点位的库存 + HashMap map3 = new HashMap(); + map3.put("empty_vehicle_code", empty_vehicle_code); + ivtTab.update(map3, "empty_point_code = '" + point_code4 + "'"); + } + if ("010702".equals(task_type)) { + //维护冷却区满轴点位的库存 + JSONObject cool_jo1 = ivtTab.query("full_point_code = '" + point_code1 + "'").uniqueResult(0); + String container_name = cool_jo1.getString("container_name"); + String full_vehicle_code = cool_jo1.getString("full_vehicle_code"); + HashMap map = new HashMap(); + map.put("container_name", ""); + map.put("full_vehicle_code", ""); + ivtTab.update(map, "full_point_code = '" + point_code1 + "'"); + //维护表处区点位 + HashMap map2 = new HashMap(); + map2.put("up_scroll", full_vehicle_code); + map2.put("up_pcsn", container_name); + stTab.update(map2, "point_code = '" + point_code2 + "'").uniqueResult(0); + } + if ("010703".equals(task_type)) { + //维护表处区点位 + JSONObject st_jo1 = stTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); + String empty_vehicle_code = st_jo1.getString("up_scroll"); + HashMap map1 = new HashMap(); + map1.put("up_scroll", ""); + map1.put("up_pcsn", ""); + stTab.update(map1, "point_code = '" + point_code1 + "'").uniqueResult(0); + //维护冷却区空轴点位的库存 + HashMap map3 = new HashMap(); + map3.put("empty_vehicle_code", empty_vehicle_code); + ivtTab.update(map3, "empty_point_code = '" + point_code2 + "'"); + } + if ("010704".equals(task_type)) { + //维护表处区点位 + JSONObject st_jo1 = stTab.query("point_code = '" + point_code1 + "'").uniqueResult(0); + String full_vehicle_code = st_jo1.getString("up_scroll"); + String container_name = st_jo1.getString("up_pcsn"); + HashMap map1 = new HashMap(); + map1.put("up_scroll", ""); + map1.put("up_pcsn", ""); + stTab.update(map1, "point_code = '" + point_code1 + "'").uniqueResult(0); + //维护冷却区空轴点位的库存 + HashMap map3 = new HashMap(); + map3.put("full_vehicle_code", full_vehicle_code); + map3.put("container_name", container_name); + ivtTab.update(map3, "full_point_code = '" + point_code2 + "'"); + } + } + } + + @Override + public void findStartPoint() { + + } + + @Override + public void findNextPoint() { + + } + + @Override + @Transactional(rollbackFor = Exception.class) + public String createTask(JSONObject form) { + WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); + String currentUserId = SecurityUtils.getCurrentUserId(); + String currentUsername = SecurityUtils.getCurrentUsername(); + + CutConveyorTask cutConveyorTask = new CutConveyorTask(); + + String point_code1 = form.getString("point_code1"); + String point_code2 = form.getString("point_code2"); + String point_code3 = form.getString("point_code3"); + String point_code4 = form.getString("point_code4"); + if (cutConveyorTask.isSingleTask(point_code1)) { + throw new BadRequestException("点位:" + point_code1 + "存在未完成的任务!"); + } + if (cutConveyorTask.isSingleTask(point_code2)) { + throw new BadRequestException("点位:" + point_code2 + "存在未完成的任务!"); + } + if (cutConveyorTask.isSingleTask(point_code3)) { + throw new BadRequestException("点位:" + point_code3 + "存在未完成的任务!"); + } + if (cutConveyorTask.isSingleTask(point_code4)) { + throw new BadRequestException("点位:" + point_code4 + "存在未完成的任务!"); + } + + JSONObject json = new JSONObject(); + json.put("task_id", IdUtil.getSnowflake(1, 1).nextId()); + json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); + json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + json.put("material_code", form.getString("material_code")); + json.put("vehicle_code", form.getString("vehicle_code")); + json.put("point_code1", form.getString("point_code1")); + json.put("point_code2", form.getString("point_code2")); + json.put("point_code3", form.getString("point_code3")); + json.put("point_code4", form.getString("point_code4")); + json.put("task_type", form.getString("task_type")); + json.put("product_area", form.getString("product_area")); + json.put("handle_class", THIS_CLASS); + json.put("sort_seq", "1"); + json.put("create_id", currentUserId); + json.put("create_name", currentUsername); + json.put("create_time", DateUtil.now()); + json.put("acs_task_type", "1"); + tab.insert(json); + + this.immediateNotifyAcs(json.getString("task_id")); + return json.getString("task_id"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void forceFinish(String task_id) { + JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + this.updateTaskStatus(taskObj, TaskStatusEnum.FINISHED.getCode()); + } + + + @Override + public void cancel(String task_id) { + JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + this.updateTaskStatus(taskObj, "0"); + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java index a85f34d51..7d4d78a83 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/MesToLmsController.java @@ -24,7 +24,6 @@ public class MesToLmsController { @PostMapping("/momRollFoilStart") @Log("母卷批次创建信息发送智能物流(MES生箔工序Move In)") - @SaIgnore public ResponseEntity 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 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 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 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 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 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 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 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 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 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 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 sendAuditResult(@RequestBody JSONObject jo) { return new ResponseEntity<>(mesToLmsService.sendAuditResult(jo), HttpStatus.OK); } + @PostMapping("/sendProcessInfo") + @Log("表处母卷上料、下料接口") + @SaIgnore + public ResponseEntity sendProcessInfo(@RequestBody JSONObject jo) { + return new ResponseEntity<>(mesToLmsService.sendProcessInfo(jo), HttpStatus.OK); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java index 3319f075a..fd296d665 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/MesToLmsService.java @@ -60,4 +60,6 @@ public interface MesToLmsService { JSONObject cutPlanTransferCancel(JSONObject param); JSONObject sendAuditResult(JSONObject param); + + JSONObject sendProcessInfo(JSONObject param); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java index 53f622905..8627e526f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/service/impl/MesToLmsServiceImpl.java @@ -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; + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql index 0dd850a66..99302676c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/wql/PDA_RAWFOIL_01.wql @@ -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