diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java index c91f0fd..e8efa0e 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/manage/buss/CallMaterialTask.java @@ -11,6 +11,7 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SecurityUtils; import org.nl.utils.SpringContextHolder; import org.nl.wms.WorkProcedureEnum; +import org.nl.wms.common.PointUpdateUtil; import org.nl.wms.common.SortingUtil; import org.nl.wms.common.StructFindUtil; import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; @@ -330,24 +331,37 @@ public class CallMaterialTask extends AbstractAcsTask { JSONObject outStructObj = StructFindUtil.getOutStruct(param); if (ObjectUtil.isEmpty(outStructObj)) { //假如没有货,且下料位两个都为空下发acs动作信号 + WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); WmsToAcsServiceImpl wmsToAcsService = new WmsToAcsServiceImpl(); + //更新分拣机械手 上下料位置的点位状态 + JSONArray parr = point_table.query("area_type ='27'").getResultJSONArray(0); + PointUpdateUtil.updatePoint(parr); if (StrUtil.equals(next_point_code, "FJJXSSLW101") || StrUtil.equals(next_point_code, "FJJXSSLW102")) { - JSONObject jo = new JSONObject(); - JSONArray arr = new JSONArray(); - jo.put("device_code", "FJJXS1"); - jo.put("code", "to_feedback"); - jo.put("value", "10"); - arr.add(jo); - wmsToAcsService.action(arr); + String point_status01 = point_table.query("point_code ='FJJXSSLW101'").uniqueResult(0).getString("point_status"); + String point_status02 = point_table.query("point_code ='FJJXSSLW102'").uniqueResult(0).getString("point_status"); + if (StrUtil.equals(point_status01, "00") && StrUtil.equals(point_status02, "00")) { + JSONObject jo = new JSONObject(); + JSONArray arr = new JSONArray(); + jo.put("device_code", "FJJXS1"); + jo.put("code", "to_feedback"); + jo.put("value", "10"); + arr.add(jo); + wmsToAcsService.action(arr); + } } if (StrUtil.equals(next_point_code, "FJJXSSLW301") || StrUtil.equals(next_point_code, "FJJXSSLW301")) { - JSONObject jo = new JSONObject(); - JSONArray arr = new JSONArray(); - jo.put("device_code", "FJJXS3"); - jo.put("code", "to_feedback"); - jo.put("value", "10"); - arr.add(jo); - wmsToAcsService.action(arr); + String point_status01 = point_table.query("point_code ='FJJXSSLW301'").uniqueResult(0).getString("point_status"); + String point_status02 = point_table.query("point_code ='FJJXSSLW301'").uniqueResult(0).getString("point_status"); + if (StrUtil.equals(point_status01, "00") && StrUtil.equals(point_status02, "00")) { + JSONObject jo = new JSONObject(); + JSONArray arr = new JSONArray(); + jo.put("device_code", "FJJXS3"); + jo.put("code", "to_feedback"); + jo.put("value", "10"); + arr.add(jo); + wmsToAcsService.action(arr); + } + } throw new BadRequestException("未找到合适的出库仓位!"); } diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/SCH_Point_01.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/SCH_Point_01.wql index 0ec66f5..0868d50 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/SCH_Point_01.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/sch/service/wql/SCH_Point_01.wql @@ -95,7 +95,7 @@ IF 输入.flag = "3" PAGEQUERY SELECT DISTINCT - structattr.struct_id, + structattr.struct_id, structattr.struct_code, structattr.struct_name, point.area_type, @@ -103,14 +103,12 @@ FROM st_ivt_structattr structattr LEFT JOIN sch_base_point point ON point.point_id = structattr.struct_id - LEFT JOIN ST_IVT_StructRelaMaterial rule ON rule.struct_id = structattr.struct_id LEFT JOIN ST_IVT_StructRelaVehicleType rulevehicle ON rulevehicle.struct_id = structattr.struct_id - left join st_rule_IOdisStruct ruledis on ruledis.struct_uuid = structattr.struct_id + LEFT JOIN st_rule_IOdisStruct ruledis ON ruledis.struct_uuid = structattr.struct_id WHERE point.lock_type = '00' - AND (point.vehicle_code = '' or point.vehicle_code is null) + AND ( point.vehicle_code = '' OR point.vehicle_code IS NULL ) AND point.point_status = '00' - AND rule.material_id = 输入.material_id AND point.area_type = 输入.area_type AND rulevehicle.vehicle_type = 输入.vehicle_type OPTION 输入.search <> "" diff --git a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/ivt/wql/QIVT_001.wql b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/ivt/wql/QIVT_001.wql index 6d4fb2a..0ab21ec 100644 --- a/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/ivt/wql/QIVT_001.wql +++ b/wms/hd/nladmin-system/src/main/java/org/nl/wms/st/ivt/wql/QIVT_001.wql @@ -75,13 +75,13 @@ WHERE 1=1 OPTION 输入.material_name <> "" - (material.material_name like "%"输入.material_name"%" or - material.material_code like "%"输入.material_name"%") + (material.material_name like "%" 输入.material_name "%" or + material.material_code like "%" 输入.material_name "%") ENDOPTION OPTION 输入.struct_name <> "" - (point.point_code like "%"输入.struct_name"%" or - point.point_name like "%"输入.struct_name"%") + (point.point_code like "%" 输入.struct_name "%" or + point.point_name like "%" 输入.struct_name "%") ENDOPTION OPTION 输入.storagevehicle_code <> "" ivt.vehicle_code like "%"输入.storagevehicle_code"%"