diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_material_param01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_material_param01.wql deleted file mode 100644 index aac7851..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/wql/QMD_ME_material_param01.wql +++ /dev/null @@ -1,90 +0,0 @@ -[交易说明] - 交易名: 物料参数弹窗数据查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.material_id TYPEAS s_string - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - QUERY - SELECT - m.*, - e.*, - c.class_name, - c.class_code, - u.unit_name - FROM - MD_ME_MaterialBase m - LEFT JOIN MD_ME_StockMaterialExt e ON m.material_id = e.material_id - LEFT JOIN MD_PB_ClassStandard c ON c.class_id = m.material_type_id - LEFT JOIN md_pb_measureunit u ON u.measure_unit_id = m.base_unit_id - WHERE - m.is_used = '1' - AND m.is_delete = '0' - OPTION 输入.material_id <> "" - m.material_id = 输入.material_id - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - - IF 输入.flag = "2" - QUERY - SELECT - m2.*, - e2.*, - c2.class_name, - c2.class_code, - u2.unit_name - FROM - MD_ME_MaterialBase m2 - LEFT JOIN MD_ME_ProducMaterialExt e2 ON m2.material_id = e2.material_id - LEFT JOIN MD_PB_ClassStandard c2 ON c2.class_id = m2.material_type_id - LEFT JOIN md_pb_measureunit u2 ON u2.measure_unit_id = m2.base_unit_id - WHERE - m2.is_used = '1' - AND m2.is_delete = '0' - OPTION 输入.material_id <> "" - m2.material_id = 输入.material_id - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java index 0855e2c..5ea7d23 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AbstractAcsTask.java @@ -30,8 +30,8 @@ public abstract class AbstractAcsTask { */ public List schedule() { this.autoCreate(); - this.findStartPoint(null); - this.findNextPoint(null); + this.findStartPoint(); + this.findNextPoint(); return addTask(); } @@ -77,7 +77,9 @@ public abstract class AbstractAcsTask { * @created 2020年6月12日 下午6:01:30 */ - public abstract JSONObject findStartPoint(JSONObject param); + public void findStartPoint(){ + + } /** * @return @@ -85,7 +87,9 @@ public abstract class AbstractAcsTask { * @author ldjun * @created 2020年6月12日 下午6:01:06 */ - public abstract JSONObject findNextPoint(JSONObject param); + public void findNextPoint(){ + + }; /** * @param form 创建任务需要的参数 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskStatusEnum.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskStatusEnum.java index a432fa1..110167b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskStatusEnum.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/TaskStatusEnum.java @@ -4,13 +4,13 @@ package org.nl.wms.sch.manage; * Task状态:00生成 ,01:下发,02、执行中,03、完成 */ public enum TaskStatusEnum { - CREATED("01", "生成"), - SURE_START("02", "确定起点"), - SURE_END("03", "确定终点"), - START_AND_POINT("04", "起点终点确认"), - ISSUE("05", "下发"), - EXECUTING("06", "执行中"), - FINISHED("07", "完成"); + CREATED("1", "生成"), + SURE_START("2", "确定起点"), + SURE_END("3", "确定终点"), + START_AND_POINT("4", "起点终点确认"), + ISSUE("5", "下发"), + EXECUTING("6", "执行中"), + FINISHED("7", "完成"); private String name; private String code; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpVehicleTask.java index b7238ef..5e83d61 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpVehicleTask.java @@ -84,15 +84,7 @@ public class CallEmpVehicleTask extends AbstractAcsTask { } } - @Override - public JSONObject findStartPoint(JSONObject param) { - return null; - } - @Override - public JSONObject findNextPoint(JSONObject param) { - return null; - } @Override @Transactional(rollbackFor = Exception.class) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallMaterialTask.java index 3602a83..e0625a2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallMaterialTask.java @@ -82,7 +82,7 @@ public class CallMaterialTask extends AbstractAcsTask { } @Override - public JSONObject findStartPoint(JSONObject data) { + public void findStartPoint() { String task_status = TaskStatusEnum.SURE_START.getCode(); WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); JSONArray taskArry = taskTab.query("task_status='" + task_status + "' AND handle_class='" + THIS_CLASS + "' AND is_delete='0' ").getResultJSONArray(0); @@ -118,14 +118,10 @@ public class CallMaterialTask extends AbstractAcsTask { taskObj.put("update_time", DateUtil.now()); taskTab.update(taskObj); } - return null; } - @Override - public JSONObject findNextPoint(JSONObject param) { - return null; - } + @Override @Transactional(rollbackFor = Exception.class) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/GjxCallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/GjxCallEmpVehicleTask.java index c946b2a..5455a72 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/GjxCallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/GjxCallEmpVehicleTask.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -15,8 +16,6 @@ import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; -import org.nl.wms.pdm.service.DeviceService; -import org.nl.wms.pdm.service.dto.DeviceDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.service.PointService; @@ -88,24 +87,53 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask { } @Override - public JSONObject findStartPoint(JSONObject param) { - return null; - } + public void findStartPoint() { + WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); + WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); + + JSONArray taskArr = taskTab.query("is_delete = '0' and handle_class = '" + this.THIS_CLASS + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "'").getResultJSONArray(0); + for (int i = 0; i < taskArr.size(); i++) { + // 创建任务 + JSONObject jsonTask = taskArr.getJSONObject(i); + String vehicle_type = jsonTask.getString("vehicle_type"); + //判断叠盘位是否有任务 + JSONObject taskObj = taskTab.query("is_delete='0' and task_type='" + jsonTask.getString("gjxsqkp") + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(taskObj)) { + jsonTask.put("task_status", TaskStatusEnum.SURE_END.getCode()); + jsonTask.put("point_code1", ""); + } else {//叠盘架无执行中的AGV任务 + + //判断叠盘架是否有载具 + JSONObject dpjPoint = pointTab.query("is_used ='1' and lock_type='00' and is_delete='0' and region_code='DPJQB01' and vehicle_qty >0 and can_vehicle_type like '%" + vehicle_type + "%'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(dpjPoint)) { + jsonTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + jsonTask.put("point_code1", dpjPoint.getString("point_code")); + //锁住点位 + dpjPoint.put("lock_type", "01"); + pointTab.update(dpjPoint); + } else {//去缓存位和养生A区找 + JSONObject whereParam = new JSONObject(); + whereParam.put("flag", "1"); + whereParam.put("vehicle_type", jsonTask.getString("vehicle_type")); + JSONObject outJsonObj = WQL.getWO("ST_VEHICLE_OUT_01").addParamMap(whereParam).process().uniqueResult(0); + jsonTask.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); + jsonTask.put("point_code1", outJsonObj.getString("point_code")); + //锁住点位 + dpjPoint.put("lock_type", "01"); + pointTab.update(outJsonObj); + } + + } + + } - @Override - public JSONObject findNextPoint(JSONObject param) { - return null; } @Override @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject form) { WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); - WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - - String start_point_code = form.getString("point_code1"); String end_point_code = form.getString("point_code2"); - String qty = form.getString("qty"); String vehicle_type = form.getString("vehicle_type"); // 终点不能为空 @@ -132,22 +160,11 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask { //见基础分类表的任务分类 jsonTask.put("task_type", "gjxsqkp"); - - //判断叠盘位是否有任务 - JSONObject taskObj = taskTab.query("is_delete='0' and point_code1='" + start_point_code + "' and task_status <>'" + TaskStatusEnum.FINISHED.getCode() + "'").uniqueResult(0); - - if (ObjectUtil.isNotEmpty(taskObj)){ - jsonTask.put("task_status", TaskStatusEnum.SURE_END); - jsonTask.put("point_code1", ""); - }else { - // 锁定起点点位 - JSONObject jsonPoint = pointTab.query("point_code = '" + start_point_code + "'").uniqueResult(0); - jsonPoint.put("lock_type", "02"); - pointTab.update(jsonPoint); - } - + jsonTask.put("task_status", TaskStatusEnum.SURE_END.getCode()); + jsonTask.put("point_code1", ""); taskTab.insert(jsonTask); + super.schedule(); return String.valueOf(task_id); } @@ -168,117 +185,4 @@ public class GjxCallEmpVehicleTask extends AbstractAcsTask { } - @Transactional(rollbackFor = Exception.class) - public JSONObject findBeginPoint(JSONObject json) { - String point_code2 = json.getString("point_code2"); - String vehicle_qty = json.getString("vehicle_qty"); - if (ObjectUtil.isEmpty(point_code2)) throw new BadRequestException("终点不能为空"); - if (ObjectUtil.isEmpty(vehicle_qty)) throw new BadRequestException("载具数量不能为空"); - - WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); - WQLObject regionTab = WQLObject.getWQLObject("SCH_BASE_Region"); - WQLObject orderTab = WQLObject.getWQLObject("PDM_BD_WorkOrder"); - WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); - // 根据终点区域判断优先的起点区域 - JSONObject jsonPointEnd = pointTab.query("point_code = '" + point_code2 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonPointEnd)) throw new BadRequestException("终点点位不存在"); - JSONObject jsonRegionEnd = regionTab.query("region_id ='" + jsonPointEnd.getString("region_id") + "'").uniqueResult(0); - - // 根据起点找到对应设备,根据设备查询工单表中 - 正在运行的工单中的载具类型 - String device_code = point_code2.substring(0, point_code2.indexOf("_")); - - DeviceService deviceBean = SpringContextHolder.getBean(DeviceService.class); - DeviceDto deviceDto = deviceBean.findByCode(device_code); - if (ObjectUtil.isEmpty(deviceDto)) throw new BadRequestException("此设备不存在"); - JSONObject jsonOrder = orderTab.query("device_id = '" + deviceDto.getDevice_id() + "' and order_status = '02' and is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonOrder)) throw new BadRequestException("此设备未在生产中或不存在"); - - //当前设备所需要的载具类型 - String vehicle_type = jsonOrder.getString("vehicle_type"); - /* - * 空托盘出库任务: - * 1.叠盘架B区、养生A区 --> 共挤线 (优先级:1叠盘架B区 2养生A区) - * 2.叠盘架A区、养生A区 --> 油漆线 (优先级:1叠盘架A区 2养生A区) - */ - String point_code1 = ""; - JSONObject map = new JSONObject(); - if (StrUtil.equals(jsonRegionEnd.getString("region_code"), RegionTypeEnum.GJQY.getCode())) { - //1、判断是否有拆托盘任务。 - taskTab.query("task_type= 'gjxsqkp' "); - - //2、判断是否有到该叠盘位的堆叠任务。 - - - - //1、判断叠盘架B是否有对应类型的空载具 - JSONObject jsonDpjB = pointTab.query("point_status ='2' and lock_type='00' and can_vehicle_type = '" + vehicle_type + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonDpjB)) {//没有则去空托盘缓存区B和养生A区找 - - } - - - // 共挤线呼叫空托盘业务:查找叠盘架B区是否有满足条件的点位 - map.put("flag", "1"); - map.put("vehicle_qty", vehicle_qty); - map.put("vehicle_type", jsonOrder.getString("vehicle_type")); - map.put("region_code", RegionTypeEnum.DPJQB.getCode()); - JSONObject jsonStartPointDPB = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonStartPointDPB)) { - point_code1 = jsonStartPointDPB.getString("point_code"); - } else { - // 为空说明叠盘架B区没有,则去养生A区找 : 只能找数量为1的空托盘 - map.put("flag", "3"); - map.put("region_code", RegionTypeEnum.YSQA.getCode()); - JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); - - if (ObjectUtil.isNotEmpty(jsonStartPointYSA)) { - point_code1 = jsonStartPointYSA.getString("point_code"); - } else { - throw new BadRequestException("没有满足需求数量的点位"); - /* // 如果没有则需要从养生区A区里找到 > 1的货位 出库到叠盘架B中 - map.put("flag", "1"); - map.put("region_code", RegionTypeEnum.YSQA.getCode()); - // 起点 - JSONObject jsonStart = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isEmpty(jsonStart)) throw new BadRequestException("没有满足需求数量的点位"); - // 终点 - JSONObject jsonEnd = pointTab.query("region_id = '" + RegionTypeEnum.DPJQB.getId() + "' and point_status = '00' and lock_type = '00' and is_used = '1' and is_delete = '0'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonEnd)) throw new BadRequestException("叠盘架B货位不足"); - - JSONObject parem = new JSONObject(); - parem.put("point_code1",jsonStart.getString("point_code")); - parem.put("point_code2",jsonEnd.getString("point_code")); - parem.put("qty",jsonStart.getString("vehicle_qty")); - parem.put("vehicle_type",jsonStart.getString("vehicle_qty")); - String task_id = this.createTask(parem); - - // 生成 叠盘架 -> 共挤线的任务 返回叠盘架B的点位code - point_code1 = jsonEnd.getString("point_code");*/ - } - - } - - } else if (StrUtil.equals(jsonRegionEnd.getString("region_code"), RegionTypeEnum.YQQY.getCode())) { - // 油漆线呼叫空托盘业务:查找叠盘架A区是否有满足条件的点位 - map.put("flag", "1"); - map.put("vehicle_qty", vehicle_qty); - map.put("vehicle_type", jsonOrder.getString("vehicle_type")); - map.put("region_code", RegionTypeEnum.DPJQA.getCode()); - JSONObject jsonStartPointDPA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonStartPointDPA)) { - point_code1 = jsonStartPointDPA.getString("point_code"); - } else { - // 为空说明叠盘架A区没有,则去养生A区找 - map.put("flag", "3"); - map.put("region_code", RegionTypeEnum.YSQA.getCode()); - JSONObject jsonStartPointYSA = WQL.getWO("ST_VEHICLE_OUT_02").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isEmpty(jsonStartPointYSA)) throw new BadRequestException("没有满足需求数量的点位"); - point_code1 = jsonStartPointYSA.getString("point_code"); - } - } - JSONObject resuft = new JSONObject(); - resuft.put("point_code1", point_code1); - resuft.put("vehicle_type", jsonOrder.getString("vehicle_type")); - return resuft; - } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointToPointTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointToPointTask.java index 67def70..c44c1c7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointToPointTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/PointToPointTask.java @@ -50,15 +50,6 @@ public class PointToPointTask extends AbstractAcsTask { } - @Override - public JSONObject findStartPoint(JSONObject param) { - return null; - } - - @Override - public JSONObject findNextPoint(JSONObject param) { - return null; - } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendEmpVehicleTask.java index 7aff03d..d46a668 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendEmpVehicleTask.java @@ -102,15 +102,6 @@ public class SendEmpVehicleTask extends AbstractAcsTask { } } - @Override - public JSONObject findStartPoint(JSONObject param) { - return null; - } - - @Override - public JSONObject findNextPoint(JSONObject param) { - return null; - } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendMaterialTask.java index 6bff949..2d8c8de 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/SendMaterialTask.java @@ -115,13 +115,7 @@ public class SendMaterialTask extends AbstractAcsTask { } @Override - public JSONObject findStartPoint(JSONObject param) { - return null; - } - - - @Override - public JSONObject findNextPoint(JSONObject data) { + public void findNextPoint() { String task_status = TaskStatusEnum.SURE_START.getCode(); WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); JSONArray taskArry = taskTab.query("task_status='" + task_status + "' AND handle_class='" + THIS_CLASS + "' AND is_delete='0' ").getResultJSONArray(0); @@ -158,8 +152,6 @@ public class SendMaterialTask extends AbstractAcsTask { taskObj.put("update_time", DateUtil.now()); taskTab.update(taskObj); } - return null; - } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/YqxCallEmpVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/YqxCallEmpVehicleTask.java index 9a498b7..346b18c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/YqxCallEmpVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/YqxCallEmpVehicleTask.java @@ -84,15 +84,6 @@ public class YqxCallEmpVehicleTask extends AbstractAcsTask { } } - @Override - public JSONObject findStartPoint(JSONObject param) { - return null; - } - - @Override - public JSONObject findNextPoint(JSONObject param) { - return null; - } @Override @Transactional(rollbackFor = Exception.class) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/ST_VEHICLE_OUT_01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/ST_VEHICLE_OUT_01.wql new file mode 100644 index 0000000..7034b3a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/wql/ST_VEHICLE_OUT_01.wql @@ -0,0 +1,112 @@ +[交易说明] + 交易名: 空载具出库业务 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.vehicle_qty TYPEAS s_string + 输入.vehicle_type TYPEAS s_string + 输入.region_code TYPEAS s_string + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + p.point_id, + p.point_code, + p.point_name + FROM + SCH_BASE_Point p + WHERE + p.is_used = '1' + AND p.is_delete = '0' + AND p.lock_type = '00' + and region_code in ('DPJQB01','YSQA01') + + OPTION 输入.vehicle_type <> "" + point.vehicle_type like 输入.vehicle_type + ENDOPTION + + order by out_empty_seq,point.vehicle_qty + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + point.* + FROM + sch_base_point point + LEFT JOIN SCH_BASE_Region region ON point.region_id = region.region_id + WHERE + point.lock_type = '00' + AND point.point_status = '01' + AND IFNULL(point.vehicle_qty,0) == 输入.vehicle_qty + + OPTION 输入.region_code <> "" + region.region_code = 输入.region_code + ENDOPTION + + OPTION 输入.vehicle_type <> "" + point.vehicle_type = 输入.vehicle_type + ENDOPTION + + order by point.point_code DESC + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + point.* + FROM + sch_base_point point + LEFT JOIN SCH_BASE_Region region ON point.region_id = region.region_id + WHERE + point.lock_type = '00' + AND point.point_status = '00' + + OPTION 输入.region_code <> "" + region.region_code = 输入.region_code + ENDOPTION + + order by point.point_code DESC + + ENDSELECT + ENDQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls index 94552da..fba2f39 100644 Binary files a/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls and b/lms/nladmin-system/src/main/java/org/nl/wms/wms.xls differ