diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_out_kiln_truss/LnshOutKilnTrussDeviceDriver.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_out_kiln_truss/LnshOutKilnTrussDeviceDriver.java index add1ba7..80062a4 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_out_kiln_truss/LnshOutKilnTrussDeviceDriver.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_out_kiln_truss/LnshOutKilnTrussDeviceDriver.java @@ -264,7 +264,12 @@ public class LnshOutKilnTrussDeviceDriver extends AbstractOpcDeviceDriver implem if (result.getStatus() == HttpStatus.OK.value()) { JSONObject jsonObject = JSONObject.parseObject(result.body()); if (ObjectUtil.isNotEmpty(jsonObject) && "200".equals(jsonObject.getString("status"))) { - this.writing(jsonObject.getBooleanValue("data") ? 22 : 23); + Boolean isPackage = jsonObject.getBoolean("data"); + if (isPackage == null) { + this.writing(24); + } else { + this.writing(isPackage ? 22 : 23); + } this.setRequireSucess(true); } } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java index a5a4344..e8bf666 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/ItemProtocol.java @@ -206,9 +206,9 @@ public class ItemProtocol { } public static List getReadableItemDtos() { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList<>(); list.add(new ItemDto(item_heartbeat, "心跳", "DB1.B0")); - list.add(new ItemDto(item_mode, "工作模式", "DB1.B1", Boolean.valueOf(true))); + list.add(new ItemDto(item_mode, "工作模式", "DB1.B1", Boolean.TRUE)); list.add(new ItemDto(item_status, "设备状态", "DB1.B2")); list.add(new ItemDto(item_error, "故障代码", "DB1.B3")); list.add(new ItemDto(item_putStation, "当前工位", "DB1.D4")); @@ -230,19 +230,17 @@ public class ItemProtocol { } public static List getWriteableItemDtos() { - ArrayList list = new ArrayList(); - list.add(new ItemDto(item_to_feedback, "机器人动作反馈", "DB2.B0")); - list.add(new ItemDto(item_to_error, "故障代码", "DB2.B1")); - list.add(new ItemDto(item_to_material, "物料", "DB2.STRING2.50")); - list.add(new ItemDto(item_to_order_No, "工单号", "DB2.STRING54.50")); - list.add(new ItemDto(item_to_order_qty, "工单数量", "DB2.D106")); - list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.W110")); - list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.W112")); - list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.W114")); - list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.W116")); - list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.W118")); - list.add(new ItemDto(item_to_on_vehicle_qty, "托盘上数量", "DB2.W120")); - list.add(new ItemDto(item_to_vehicle_type, "托盘类型", "DB2.W122")); + ArrayList list = new ArrayList<>(); + list.add(new ItemDto(item_to_feedback, "机器人动作反馈", "DB2.W0")); + list.add(new ItemDto(item_to_error, "故障代码", "DB2.W2")); + list.add(new ItemDto(item_to_material, "物料", "DB2.STRING4.50")); + list.add(new ItemDto(item_to_order_No, "工单号", "DB2.STRING56.50")); + list.add(new ItemDto(item_to_order_qty, "工单数量", "DB2.D108")); + list.add(new ItemDto(item_to_product_code, "产品编号", "DB2.W112")); + list.add(new ItemDto(item_to_AlongSide, "A长边", "DB2.W114")); + list.add(new ItemDto(item_to_BshortSide, "B短边", "DB2.W116")); + list.add(new ItemDto(item_to_Htrapezoidal, "H梯形高", "DB2.W118")); + list.add(new ItemDto(item_to_Wthickness, "W厚度", "DB2.W120")); return list; } diff --git a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java index 8aaf6fc..4439abc 100644 --- a/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java +++ b/acs/nladmin-system/src/main/java/org/nl/acs/device_driver/lnsh/lnsh_package_pallet_manipulator/LnshPackagePalletManipulatorDefination.java @@ -56,27 +56,7 @@ public class LnshPackagePalletManipulatorDefination implements OpcDeviceDriverDe } public static List getReadableItemDtos2() { - ArrayList list = new ArrayList(); - list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB1.B0")); - list.add(new ItemDto(ItemProtocol.item_mode, "工作模式", "DB1.B1", Boolean.valueOf(true))); - list.add(new ItemDto(ItemProtocol.item_status, "设备状态", "DB1.B2")); - list.add(new ItemDto(ItemProtocol.item_error, "故障代码", "DB1.B3")); - list.add(new ItemDto(ItemProtocol.item_putStation, "当前工位", "DB1.D4")); - list.add(new ItemDto(ItemProtocol.item_material, "物料", "DB1.STRING8.50")); - list.add(new ItemDto(ItemProtocol.item_qty, "拆/码垛数量", "DB1.D60")); - list.add(new ItemDto(ItemProtocol.item_order_qty, "工单总数量", "DB1.D64")); - list.add(new ItemDto(ItemProtocol.item_open_time, "开机时间", "DB1.STRING68.50")); - list.add(new ItemDto(ItemProtocol.item_standby_time, "待机时间", "DB1.D120")); - list.add(new ItemDto(ItemProtocol.item_production_time, "生产时间", "DB1.D124")); - list.add(new ItemDto(ItemProtocol.item_error_time, "故障时间", "DB1.D128")); - list.add(new ItemDto(ItemProtocol.item_order_No, "工单号", "DB1.STRING132.50")); - - list.add(new ItemDto(ItemProtocol.item_product_code, "产品编号", "DB1.W184")); - list.add(new ItemDto(ItemProtocol.item_AlongSide, "A长边", "DB1.W186")); - list.add(new ItemDto(ItemProtocol.item_BshortSide, "B短边", "DB1.W188")); - list.add(new ItemDto(ItemProtocol.item_Htrapezoidal, "H梯形高", "DB1.W190")); - list.add(new ItemDto(ItemProtocol.item_Wthickness, "W厚度", "DB1.W192")); - return list; + return ItemProtocol.getReadableItemDtos(); } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 5f6c8ee..8b82c53 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -21,7 +21,10 @@ import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.pdm.service.WorkordeService; import org.nl.wms.sch.manage.*; import org.nl.wms.sch.task.call.empty.YZCallEmptyTask; +import org.nl.wms.sch.task.call.material.FJCallMaterialTask; import org.nl.wms.sch.task.call.material.GZCallMaterialTask; +import org.nl.wms.sch.task.send.material.GZSendMaterialTask; +import org.nl.wms.sch.task.send.material.HLSendMaterialTask; import org.nl.wms.sch.task.send.material.YZSendMaterialTask; import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.http.HttpStatus; @@ -44,6 +47,12 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private final GZCallMaterialTask gzCallMaterialTask; + private final GZSendMaterialTask gzSendMaterialTask; + + private final FJCallMaterialTask fjCallMaterialTask; + + private final HLSendMaterialTask hlSendMaterialTask; + /** * task_id:任务标识 * task_code:任务编码 @@ -206,11 +215,54 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { case "1": // 送料 switch (region) { + case HL: + JSONObject workOrder = TaskUtils.hasWorkOrder(point); + methodParam.put("workorder", workOrder); + + // 组盘 + String vehicleCode = TaskUtils.formatVehicleCode(param.getString("vehicle_code")); + if ("0000".equals(vehicleCode)) { + throw new BadRequestException("条码不能为空!"); + } + String weight = param.getString("weight"); + if (StrUtil.isBlank(weight)) { + throw new BadRequestException("重量不能为空!"); + } + JSONObject vd = new JSONObject(); + vd.put("vd_id", IdUtil.getSnowflake(1, 1).nextId()); + vd.put("vehicle_type", VehicleType.CUP.value()); + vd.put("vehicle_code", vehicleCode); + vd.put("material_id", workOrder.getString("material_id")); + vd.put("weight", Long.parseLong(weight) / 1000.00); + vd.put("workorder_id", workOrder.getString("workorder_id")); + vd.put("point_code", pointCode); + vd.put("create_id", ACSSystem.id); + vd.put("create_name", ACSSystem.nick_name); + vd.put("create_time", DateUtil.now()); + vd.put("is_delete", TrueOrFalse.FALSE.value()); + WQLObject.getWQLObject("st_ivt_vehicle_detail").insert(vd); + methodParam.put("vd", vd); + + taskCode = hlSendMaterialTask.createTask(methodParam); + break; case YZ: methodParam.put("workorder", param.getJSONObject("workorder")); methodParam.put("vd", param.getJSONObject("vd")); taskCode = yzSendMaterialTask.createTask(methodParam); break; + case GZ: + vehicleCode = TaskUtils.formatVehicleCode(param.getString("vehicle_code")); + if ("0000".equals(vehicleCode)) { + throw new BadRequestException("条码不能为空!"); + } + vd = WQLObject.getWQLObject("st_ivt_vehicle_detail").query("is_delete = '0' AND vehicle_type = '2' AND vehicle_code = '" + vehicleCode + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(vd)) { + throw new BadRequestException("[" + vehicleCode + "] 未找到组盘信息!"); + } + methodParam.put("vd", vd); + methodParam.put("workorder", WQLObject.getWQLObject("pdm_bd_workorder").query("workorder_id = " + vd.getString("workorder_id")).uniqueResult(0)); + taskCode = gzSendMaterialTask.createTask(methodParam); + break; default: throw new BadRequestException("[" + region.label() + "] 不能发起送料任务!"); } @@ -221,6 +273,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { case GZ: taskCode = gzCallMaterialTask.createTask(methodParam); break; + case FJ: + methodParam.put("workorder", TaskUtils.hasWorkOrder(point)); + taskCode = fjCallMaterialTask.createTask(methodParam); + break; default: throw new BadRequestException("[" + region.label() + "] 不能发起叫料任务!"); } @@ -705,7 +761,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { throw new BadRequestException("载具编码不能为空!"); } - boolean to_package = true; + Boolean to_package = null; WQLObject vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail"); JSONObject vd = vd_table diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java index aa09be7..8f8a0c1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java @@ -26,7 +26,6 @@ import org.nl.wms.sch.task.call.material.FJCallMaterialTask; import org.nl.wms.sch.task.call.material.YZCallMaterialTask; import org.nl.wms.sch.task.send.empty.FJSendEmptyTask; import org.nl.wms.sch.task.send.empty.YZSendEmptyTask; -import org.nl.wms.sch.task.send.material.FJSendMaterialTask; import org.nl.wms.sch.task.send.material.HLSendMaterialTask; import org.nl.wms.sch.task.send.material.YZSendMaterialTask; import org.nl.wms.sch.task.util.TaskUtils; @@ -46,8 +45,6 @@ public class PdaServiceImpl implements PdaService { private final YZSendMaterialTask yzSendMaterialTask; - private final FJSendMaterialTask fjSendMaterialTask; - private final YZCallMaterialTask yzCallMaterialTask; private final FJCallMaterialTask fjCallMaterialTask; @@ -377,10 +374,6 @@ public class PdaServiceImpl implements PdaService { method_param.put("vd", vd); yzSendMaterialTask.createTask(method_param); break; - case FJ: - vd_table.insert(vd); - method_param.put("vd", vd); - fjSendMaterialTask.createTask(method_param); default: throw new BadRequestException("[" + region.label() + "] 不能发起送料任务!"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java index a0f22c9..895a889 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/dto/PointDto.java @@ -75,4 +75,6 @@ public class PointDto implements Serializable { /** 修改时间 */ private String update_time; + + private Long vd_id; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java index a4b2541..eb6cdfb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/PointServiceImpl.java @@ -154,12 +154,29 @@ public class PointServiceImpl implements PointService { dto.setUpdate_optname(nickName); String pointStatus = dto.getPoint_status(); - if (ObjectUtil.isNotEmpty(pointStatus) && pointStatus.equals("0")) { // 空位 - dto.setVehicle_type(""); - dto.setVehicle_code(""); -// PointUpdateUtil.clearPoint(dto.getPoint_code()); - } JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); + if ("1".equals(pointStatus)) { // 空位 + json.put("vehicle_type", ""); + json.put("vehicle_code", ""); + json.put("vd_id", null); + } else if ("2".equals(pointStatus)) {// 空载具 + if (StrUtil.isBlank(dto.getVehicle_type())) { + throw new BadRequestException("载具类型不能为空!"); + } + json.put("vd_id", null); + } else if ("3".equals(pointStatus)) { + if (StrUtil.isBlank(dto.getVehicle_type())) { + throw new BadRequestException("载具类型不能为空!"); + } + if ("0000".equals(dto.getVehicle_code())) { + throw new BadRequestException("载具号不能为空!"); + } + JSONObject vd = WQLObject.getWQLObject("st_ivt_vehicle_detail").query("is_delete = '0' AND vehicle_type = '" + dto.getVehicle_type() + "' AND vehicle_code = '" + dto.getVehicle_code() + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(vd)) { + throw new BadRequestException("该载具类型种载具号为" + dto.getVehicle_code() + "的载具未找到组盘信息!"); + } + json.put("vd_id", vd.getLongValue("vd_id")); + } pointTab.update(json); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java index 1f8e063..3f9ef75 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/FJCallEmptyTask.java @@ -48,7 +48,7 @@ public class FJCallEmptyTask extends AbstractAcsTask { work_order.getString("material_id"), work_order.getString("vehicle_type"), null, - TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1, + TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1, FJCallEmptyTask.class.getName(), form.getString("create_mode"), form.getString("request_param"), diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java index 0fe7580..d285262 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/HLCallEmptyTask.java @@ -42,7 +42,7 @@ public class HLCallEmptyTask extends AbstractAcsTask { JSONObject work_order = form.getJSONObject("workorder"); int priority = 1; if (ObjectUtil.isNotEmpty(work_order)) { - priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1; + priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1; } JSONObject task = TaskUtils.buildTask( diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/YZCallEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/YZCallEmptyTask.java index 25af5b2..26edb74 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/YZCallEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/empty/YZCallEmptyTask.java @@ -43,7 +43,7 @@ public class YZCallEmptyTask extends AbstractAcsTask { int priority = 1; String materialId = null; if (ObjectUtil.isNotEmpty(workOrder)) { - priority = TrueOrFalse.trueOrFalse(workOrder.getString("is_urgent")) ? 2 : 1; + priority = TrueOrFalse.trueOrFalse(workOrder.getString("is_urgent")) ? 100 : 1; materialId = workOrder.getString("material_id"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java index 05c0f39..78cb158 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/FJCallMaterialTask.java @@ -50,7 +50,7 @@ public class FJCallMaterialTask extends AbstractAcsTask { workorder.getString("material_id"), VehicleType.STEEL_TRAY.value(), null, - TrueOrFalse.trueOrFalse(workorder.getString("is_urgent")) ? 50 : 1, + TrueOrFalse.trueOrFalse(workorder.getString("is_urgent")) ? 100 : 1, FJCallMaterialTask.class.getName(), form.getString("create_mode"), form.getString("request_param"), @@ -60,7 +60,7 @@ public class FJCallMaterialTask extends AbstractAcsTask { JSONObject point1 = WQL .getWO("CALL_MATERIAL_TASK") - .addParam("flag", "3") + .addParam("flag", "2") .addParam("material_id", task.getString("material_id")) .process() .uniqueResult(0); @@ -186,6 +186,7 @@ public class FJCallMaterialTask extends AbstractAcsTask { point1.put("task_code", ""); point1.put("vehicle_type", ""); point1.put("vehicle_code", ""); + point1.put("vd_id", null); point1.put("point_status", PointStatus.EMPTY.value()); if (operation_type == OperationType.AUTO) { TaskUtils.addACSUpdateColum(point1); @@ -203,6 +204,7 @@ public class FJCallMaterialTask extends AbstractAcsTask { point2.put("task_code", ""); point2.put("vehicle_type", task.getString("vehicle_type")); point2.put("vehicle_code", task.getString("vehicle_code")); + point2.put("vd_id", task.getString("group_id")); point2.put("point_status", PointStatus.HAS_GOODS.value()); if (operation_type == OperationType.AUTO) { TaskUtils.addACSUpdateColum(point2); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java index b6e9fdb..76fd42a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/YZCallMaterialTask.java @@ -52,7 +52,7 @@ public class YZCallMaterialTask extends AbstractAcsTask { workorder.getString("material_id"), VehicleType.CUP.value(), null, - TrueOrFalse.trueOrFalse(workorder.getString("is_urgent")) ? 50 : 1, + TrueOrFalse.trueOrFalse(workorder.getString("is_urgent")) ? 100 : 1, YZCallMaterialTask.class.getName(), form.getString("create_mode"), form.getString("request_param"), diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql index b509ae0..7eadb6c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/call/material/wql/CALL_MATERIAL_TASK.wql @@ -55,6 +55,8 @@ AND p.region_code = 'YQHJ' AND p.point_type = '1' AND p.point_status = '3' + AND p.vehicle_type = '2' + AND p.vd_id IS NOT NULL ORDER BY wo.is_urgent DESC, vd.create_time ASC @@ -65,14 +67,23 @@ IF 输入.flag = "2" QUERY SELECT - * + p.* FROM - sch_base_point + sch_base_point p + LEFT JOIN st_ivt_vehicle_detail vd ON p.vd_id = vd.vd_id + LEFT JOIN pdm_bd_workorder wo ON vd.workorder_id = wo.workorder_id WHERE - is_used = '1' - AND lock_type = '1' - AND region_code = 'SZ' - AND point_type = '1' + p.is_used = '1' + AND p.lock_type = '1' + AND p.region_code = 'YHHJ' + AND p.point_type = '1' + AND p.point_status = '3' + AND p.vehicle_type = '2' + AND vd.material_id = 输入.material_id + ORDER BY + wo.is_pri DESC, + wo.is_urgent DESC, + vd.create_time ASC ENDSELECT ENDQUERY ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java index 3afa061..0614f3f 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/FJSendEmptyTask.java @@ -42,7 +42,7 @@ public class FJSendEmptyTask extends AbstractAcsTask { JSONObject work_order = form.getJSONObject("workorder"); int priority = 1; if (ObjectUtil.isNotEmpty(work_order)) { - priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1; + priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1; } JSONObject task = TaskUtils.buildTask( diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/YZSendEmptyTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/YZSendEmptyTask.java index 38894ce..b4cb579 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/YZSendEmptyTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/empty/YZSendEmptyTask.java @@ -41,7 +41,7 @@ public class YZSendEmptyTask extends AbstractAcsTask { JSONObject work_order = form.getJSONObject("workorder"); int priority = 1; if (ObjectUtil.isNotEmpty(work_order)) { - priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1; + priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1; } if (Region.KLHJ.value().equals(point.getString("region_code"))) { priority++; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java deleted file mode 100644 index 8de65ed..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/FJSendMaterialTask.java +++ /dev/null @@ -1,311 +0,0 @@ -package org.nl.wms.sch.task.send.material; - -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 org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.wms.basedata.eum.TrueOrFalse; -import org.nl.wms.sch.manage.*; -import org.nl.wms.sch.task.util.TaskUtils; -import org.springframework.stereotype.Component; - -/** - * @author zhangjiangwei - */ -@RequiredArgsConstructor -@Component -public class FJSendMaterialTask extends AbstractAcsTask { - - @Override - public void updateTaskStatus(JSONObject task, String status) { - if (TaskStatus.EXECUTING.value().equals(status)) { - task.put("task_status", TaskStatus.EXECUTING.value()); - TaskUtils.addACSUpdateColum(task); - WQLObject.getWQLObject("sch_base_task").update(task); - } else if (TaskStatus.FINISHED.value().equals(status)) { - this.finishTask(task, OperationType.AUTO); - } else if (TaskStatus.CANCELLED.value().equals(status)) { - this.cancelTask(task, OperationType.AUTO); - } - } - - - @Override - public String createTask(JSONObject form) { - JSONObject point = form.getJSONObject("point"); - JSONObject work_order = form.getJSONObject("workorder"); - int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1; - JSONObject vd = form.getJSONObject("vd"); - - JSONObject material_task = TaskUtils.buildTask( - "分拣区送料", - TaskType.SEND_MATERIAL.value(), - TaskStatus.SURE_START.value(), - point.getString("point_code"), - null, - vd.getLong("vd_id"), - vd.getString("material_id"), - vd.getString("vehicle_type"), - vd.getString("vehicle_code"), - priority, - FJSendMaterialTask.class.getName(), - form.getString("create_mode"), - form.getString("request_param"), - form.getString("create_id"), - form.getString("create_name") - ); - - if (TrueOrFalse.trueOrFalse(vd.getString("is_full"))) { - JSONObject empty_task = TaskUtils.buildTask( - "分拣区叫空", - TaskType.CALL_EMPTY.value(), - TaskStatus.SURE_END.value(), - null, - point.getString("point_code"), - null, - null, - work_order.getString("vehicle_type"), - null, - priority, - FJSendMaterialTask.class.getName(), - form.getString("create_mode"), - form.getString("request_param"), - form.getString("create_id"), - form.getString("create_name") - ); - empty_task.put("task_group_id", material_task.getLongValue("task_id")); - WQLObject.getWQLObject("sch_base_task").insert(empty_task); - } - - WQLObject.getWQLObject("sch_base_task").insert(material_task); - - point.put("lock_type", LockType.TASK_LOCKED.value()); - point.put("task_code", material_task.getString("task_code")); - TaskUtils.addFormUpdateColum(point, form); - WQLObject.getWQLObject("sch_base_point").update(point); - - return material_task.getString("task_code"); - } - - - @Override - public void findNextPoint() { - WQLObject task_table = WQLObject.getWQLObject("sch_base_task"); - JSONArray tasks = task_table - .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_START.value() + "' AND handle_class = '" + FJSendMaterialTask.class.getName() + "'", "priority DESC, create_time ASC") - .getResultJSONArray(0); - - if (ObjectUtil.isNotEmpty(tasks)) { - WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); - WQLObject vd_table = WQLObject.getWQLObject("st_ivt_vehicle_detail"); - - for (int i = 0; i < tasks.size(); i++) { - JSONObject material_task = tasks.getJSONObject(i); - - JSONObject vd = vd_table - .query("is_delete = '0' AND vehicle_type = '" + material_task.getString("vehicle_type") + "' AND vehicle_code = '" + material_task.getString("vehicle_code") + "'") - .uniqueResult(0); - if (ObjectUtil.isNotEmpty(vd)) { - JSONObject send_point = WQL - .getWO("SEND_MATERIAL_TASK") - .addParam("flag", "2") - .addParam("is_full", vd.getString("is_full")) - .process() - .uniqueResult(0); - - if (ObjectUtil.isNotEmpty(send_point)) { - material_task.put("task_status", TaskStatus.START_AND_END.value()); - material_task.put("point_code2", send_point.getString("point_code")); - material_task.put("remark", ""); - TaskUtils.addAutoUpdateColum(material_task); - - send_point.put("lock_type", LockType.TASK_LOCKED.value()); - send_point.put("task_code", material_task.getString("task_code")); - TaskUtils.addAutoUpdateColum(send_point); - - JSONObject empty_task = task_table - .query("is_delete = '0' AND task_status = '" + TaskStatus.SURE_END.value() + "' AND handle_class = '" + FJSendMaterialTask.class.getName() + "' AND task_group_id = " + material_task.getLongValue("task_id")) - .uniqueResult(0); - if (ObjectUtil.isNotEmpty(empty_task)) { - JSONObject fmj_point = WQL - .getWO("SEND_MATERIAL_TASK") - .addParam("flag", "3") - .addParam("vehicle_type", empty_task.getString("vehicle_type")) - .process() - .uniqueResult(0); - - if (ObjectUtil.isNotEmpty(fmj_point)) { - empty_task.put("task_status", TaskStatus.START_AND_END.value()); - empty_task.put("point_code1", fmj_point.getString("device_code")); - empty_task.put("vehicle_code", TaskUtils.formatVehicleCode(fmj_point.getString("vehicle_code"))); - empty_task.put("remark", ""); - TaskUtils.addAutoUpdateColum(empty_task); - - JSONObject update_point = new JSONObject(); - update_point.put("lock_type", LockType.TASK_LOCKED.value()); - update_point.put("task_code", empty_task.getString("task_code")); - TaskUtils.addAutoUpdateColum(update_point); - - task_table.update(material_task); - point_table.update(send_point); - task_table.update(empty_task); - point_table.update(update_point, "point_code = '" + fmj_point.getString("device_code") + "'"); - } - } else { - task_table.update(material_task); - point_table.update(send_point); - } - } - } - } - } - } - - - @Override - public void forceFinish(String task_id) { - JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); - if (ObjectUtil.isEmpty(task)) { - throw new BadRequestException("未找到任务!"); - } - this.finishTask(task, OperationType.MANUAL); - } - - - @Override - public void cancel(String task_id) { - JSONObject task = WQLObject.getWQLObject("sch_base_task").query("task_id = " + task_id).uniqueResult(0); - if (ObjectUtil.isEmpty(task)) { - throw new BadRequestException("未找到任务!"); - } - this.cancelTask(task, OperationType.MANUAL); - } - - - public void cancelTask(JSONObject task, OperationType operation_type) { - if (task.getIntValue("task_status") < Integer.parseInt(TaskStatus.FINISHED.value())) { - task.put("task_status", TaskStatus.CANCELLED.value()); - if (operation_type == OperationType.AUTO) { - TaskUtils.addACSUpdateColum(task); - } else if (operation_type == OperationType.MANUAL) { - TaskUtils.addCurrentUpdateColum(task); - } - WQLObject.getWQLObject("sch_base_task").update(task); - - WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); - - String point_code1 = task.getString("point_code1"); - if (StrUtil.isNotBlank(point_code1)) { - JSONObject point1 = point_table.query("point_code = '" + point_code1 + "'").uniqueResult(0); - if (LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) - && task.getString("task_code").equals(point1.getString("task_code"))) { - point1.put("lock_type", LockType.UNLOCKED.value()); - point1.put("task_code", ""); - if (operation_type == OperationType.AUTO) { - TaskUtils.addACSUpdateColum(point1); - } else if (operation_type == OperationType.MANUAL) { - TaskUtils.addCurrentUpdateColum(point1); - } - point_table.update(point1); - } - } - - String point_code2 = task.getString("point_code2"); - if (StrUtil.isNotBlank(point_code2)) { - JSONObject point2 = new JSONObject(); - point2.put("lock_type", LockType.UNLOCKED.value()); - point2.put("task_code", ""); - if (operation_type == OperationType.AUTO) { - TaskUtils.addACSUpdateColum(point2); - } else if (operation_type == OperationType.MANUAL) { - TaskUtils.addCurrentUpdateColum(point2); - } - point_table.update(point2, "point_code = '" + point_code2 + "'"); - } - - String data_id = task.getString("table_fk_id"); - if (TaskType.SEND_MATERIAL.value().equals(task.getString("task_type")) - && StrUtil.isNotBlank(data_id)) { - WQLObject.getWQLObject("das_produce_number").delete("data_id = " + data_id); - } - } - } - - - public void finishTask(JSONObject task, OperationType operation_type) { - int current_task_status = task.getIntValue("task_status"); - if (current_task_status < Integer.parseInt(TaskStatus.FINISHED.value())) { - if (operation_type == OperationType.MANUAL - && current_task_status < Integer.parseInt(TaskStatus.START_AND_END.value())) { - throw new BadRequestException("只能手动完成 [确认起点和终点] 之后的任务!"); - } - - task.put("task_status", TaskStatus.FINISHED.value()); - if (operation_type == OperationType.AUTO) { - TaskUtils.addACSUpdateColum(task); - } else if (operation_type == OperationType.MANUAL) { - TaskUtils.addCurrentUpdateColum(task); - } - WQLObject.getWQLObject("sch_base_task").update(task); - - WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); - - String point_code1 = task.getString("point_code1"); - if (StrUtil.isNotBlank(point_code1)) { - JSONObject point1 = point_table.query("point_code = '" + point_code1 + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(point1) - && LockType.TASK_LOCKED.value().equals(point1.getString("lock_type")) - && task.getString("task_code").equals(point1.getString("task_code"))) { - point1.put("lock_type", LockType.UNLOCKED.value()); - point1.put("task_code", ""); - point1.put("vehicle_type", ""); - point1.put("vehicle_code", ""); - point1.put("point_status", PointStatus.EMPTY.value()); - if (operation_type == OperationType.AUTO) { - TaskUtils.addACSUpdateColum(point1); - } else if (operation_type == OperationType.MANUAL) { - TaskUtils.addCurrentUpdateColum(point1); - } - point_table.update(point1); - } - } - - String point_code2 = task.getString("point_code2"); - if (StrUtil.isNotBlank(point_code2)) { - JSONObject point2 = new JSONObject(); - point2.put("lock_type", LockType.UNLOCKED.value()); - point2.put("task_code", ""); - if (TaskType.CALL_EMPTY.value().equals(task.getString("task_type"))) { - point2.put("vehicle_type", task.getString("vehicle_type")); - point2.put("vehicle_code", task.getString("vehicle_code")); - point2.put("point_status", PointStatus.HAS_GOODS.value()); - } - if (operation_type == OperationType.AUTO) { - TaskUtils.addACSUpdateColum(point2); - } else if (operation_type == OperationType.MANUAL) { - TaskUtils.addCurrentUpdateColum(point2); - } - point_table.update(point2, "point_code = '" + task.getString("point_code2") + "'"); - } - - if (TaskType.SEND_MATERIAL.value().equals(task.getString("task_type"))) { - JSONObject workorder = WQL - .getWO("SEND_MATERIAL_TASK") - .addParam("flag", "7") - .addParam("vd_id", task.getString("group_id")) - .process() - .uniqueResult(0); - - JSONObject workorder_update = new JSONObject(); - workorder_update.put("real_qty", workorder.getIntValue("real_qty") + workorder.getIntValue("qty")); - workorder_update.put("qualified_qty", workorder.getIntValue("qualified_qty") + workorder.getIntValue("qty")); - TaskUtils.addACSUpdateColum(workorder_update); - WQLObject.getWQLObject("pdm_bd_workorder").update(workorder_update, "workorder_id = " + workorder.getString("workorder_id")); - } - } - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/GZSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/GZSendMaterialTask.java index 3c22800..bf7ad85 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/GZSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/GZSendMaterialTask.java @@ -8,6 +8,7 @@ import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.basedata.eum.TrueOrFalse; import org.nl.wms.sch.manage.*; import org.nl.wms.sch.task.util.TaskUtils; import org.springframework.stereotype.Component; @@ -38,9 +39,10 @@ public class GZSendMaterialTask extends AbstractAcsTask { public String createTask(JSONObject form) { JSONObject point = form.getJSONObject("point"); JSONObject vd = form.getJSONObject("vd"); + JSONObject workOrder = form.getJSONObject("workorder"); JSONObject task = TaskUtils.buildTask( - "烧制区送料", + "干燥区送料", TaskType.SEND_MATERIAL.value(), TaskStatus.SURE_START.value(), point.getString("point_code"), @@ -49,7 +51,7 @@ public class GZSendMaterialTask extends AbstractAcsTask { vd.getString("material_id"), vd.getString("vehicle_type"), vd.getString("vehicle_code"), - 1, + TrueOrFalse.trueOrFalse(workOrder.getString("is_urgent")) ? 100 : 1, GZSendMaterialTask.class.getName(), form.getString("create_mode"), form.getString("request_param"), @@ -81,7 +83,7 @@ public class GZSendMaterialTask extends AbstractAcsTask { JSONObject point = WQL .getWO("SEND_MATERIAL_TASK") - .addParam("flag", "1") + .addParam("flag", "2") .process() .uniqueResult(0); @@ -211,6 +213,7 @@ public class GZSendMaterialTask extends AbstractAcsTask { point2.put("task_code", ""); point2.put("vehicle_type", task.getString("vehicle_type")); point2.put("vehicle_code", task.getString("vehicle_code")); + point2.put("vd_id", task.getLongValue("group_id")); point2.put("point_status", PointStatus.HAS_GOODS.value()); if (operation_type == OperationType.AUTO) { TaskUtils.addACSUpdateColum(point2); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java index 87cc58e..6741d81 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/HLSendMaterialTask.java @@ -41,7 +41,7 @@ public class HLSendMaterialTask extends AbstractAcsTask { public String createTask(JSONObject form) { JSONObject point = form.getJSONObject("point"); JSONObject work_order = form.getJSONObject("workorder"); - int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1; + int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1; JSONObject vd = form.getJSONObject("vd"); JSONObject task = TaskUtils.buildTask( @@ -65,6 +65,9 @@ public class HLSendMaterialTask extends AbstractAcsTask { point.put("lock_type", LockType.TASK_LOCKED.value()); point.put("task_code", task.getString("task_code")); + point.put("vehicle_type", vd.getLongValue("vehicle_type")); + point.put("vehicle_code", vd.getLongValue("vehicle_code")); + point.put("vd_id", vd.getLongValue("vd_id")); TaskUtils.addFormUpdateColum(point, form); WQLObject.getWQLObject("sch_base_point").update(point); @@ -85,40 +88,42 @@ public class HLSendMaterialTask extends AbstractAcsTask { for (int i = 0; i < tasks.size(); i++) { JSONObject task = tasks.getJSONObject(i); - JSONObject point1 = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); - JSONObject point2 = null; - JSONObject workorder = WQL.getWO("SEND_MATERIAL_TASK").addParam("flag", "8").addParam("vd_id", task.getString("group_id")).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(point1) - && "2".equals(point1.getString("point_type")) - && ObjectUtil.isNotEmpty(workorder) - && "1".equals(workorder.getString("is_new"))) { - point2 = WQL - .getWO("SEND_MATERIAL_TASK") + JSONObject startPoint = point_table.query("point_code = '" + task.getString("point_code1") + "'").uniqueResult(0); + JSONObject nextPoint = null; + + // 如果是高速混料机下料位就只能去液压机困料货位,如果不是高速混料机下料位优先去普通压机困料货位,普通压机困料货位没有位置再去公用困料货位。 + String startPointType = startPoint.getString("point_type"); + if ("1".equals(startPointType)) { + nextPoint = WQL.getWO("SEND_MATERIAL_TASK") + .addParam("flag", "3") + .addParam("material_id", task.getString("material_id")) + .process() + .uniqueResult(0); + } else if ("2".equals(startPointType)) { + nextPoint = WQL.getWO("SEND_MATERIAL_TASK") .addParam("flag", "4") .addParam("material_id", task.getString("material_id")) .process() .uniqueResult(0); + if (ObjectUtil.isEmpty(nextPoint)) { + nextPoint = WQL.getWO("SEND_MATERIAL_TASK") + .addParam("flag", "5") + .process() + .uniqueResult(0); + } } - if (ObjectUtil.isEmpty(point2)) { - point2 = WQL - .getWO("SEND_MATERIAL_TASK") - .addParam("flag", "5") - .process() - .uniqueResult(0); - } - - if (ObjectUtil.isNotEmpty(point2)) { + if (ObjectUtil.isNotEmpty(nextPoint)) { task.put("task_status", TaskStatus.START_AND_END.value()); - task.put("point_code2", point2.getString("point_code")); + task.put("point_code2", nextPoint.getString("point_code")); task.put("remark", ""); TaskUtils.addAutoUpdateColum(task); task_table.update(task); - point2.put("lock_type", LockType.TASK_LOCKED.value()); - point2.put("task_code", task.getString("task_code")); - TaskUtils.addAutoUpdateColum(point2); - point_table.update(point2); + nextPoint.put("lock_type", LockType.TASK_LOCKED.value()); + nextPoint.put("task_code", task.getString("task_code")); + TaskUtils.addAutoUpdateColum(nextPoint); + point_table.update(nextPoint); } } } @@ -228,6 +233,7 @@ public class HLSendMaterialTask extends AbstractAcsTask { point1.put("task_code", ""); point1.put("vehicle_type", ""); point1.put("vehicle_code", ""); + point1.put("vd_id", null); point1.put("point_status", PointStatus.EMPTY.value()); if (operation_type == OperationType.AUTO) { TaskUtils.addACSUpdateColum(point1); @@ -245,6 +251,7 @@ public class HLSendMaterialTask extends AbstractAcsTask { point2.put("task_code", ""); point2.put("vehicle_type", task.getString("vehicle_type")); point2.put("vehicle_code", task.getString("vehicle_code")); + point2.put("vd_id", task.getString("group_id")); point2.put("point_status", PointStatus.HAS_GOODS.value()); if (operation_type == OperationType.AUTO) { TaskUtils.addACSUpdateColum(point2); @@ -253,18 +260,6 @@ public class HLSendMaterialTask extends AbstractAcsTask { } point_table.update(point2, "point_code = '" + point_code2 + "'"); } - - JSONObject workorder = WQL - .getWO("SEND_MATERIAL_TASK") - .addParam("flag", "7") - .addParam("vd_id", task.getString("group_id")) - .process() - .uniqueResult(0); - - JSONObject workorder_update = new JSONObject(); - workorder_update.put("real_qty", workorder.getIntValue("real_qty") + workorder.getIntValue("weight")); - TaskUtils.addACSUpdateColum(workorder_update); - WQLObject.getWQLObject("pdm_bd_workorder").update(workorder_update, "workorder_id = " + workorder.getString("workorder_id")); } } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/YZSendMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/YZSendMaterialTask.java index 4ecb3dc..caf26c2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/YZSendMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/YZSendMaterialTask.java @@ -39,7 +39,7 @@ public class YZSendMaterialTask extends AbstractAcsTask { public String createTask(JSONObject form) { JSONObject point = form.getJSONObject("point"); JSONObject work_order = form.getJSONObject("workorder"); - int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 2 : 1; + int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1; JSONObject vd = form.getJSONObject("vd"); JSONObject task = TaskUtils.buildTask( diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql index f50924a..a5d84df 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/send/material/wql/SEND_MATERIAL_TASK.wql @@ -14,10 +14,7 @@ ## 表字段对应输入参数 ################################################# 输入.flag TYPEAS s_string - 输入.is_full TYPEAS s_string - 输入.vehicle_type TYPEAS s_string - 输入.material_id TYPEAS s_string - 输入.vd_id TYPEAS s_string + 输入.material_id TYPEAS f_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -66,16 +63,9 @@ WHERE is_used = '1' AND lock_type = '1' - AND point_status = '0' - OPTION 输入.is_full = "1" - region_code = 'FJ' - AND point_type = '5' - ENDOPTION - OPTION 输入.is_full = "0" - region_code = 'BTHC' - AND point_type = '1' - AND point_status = '0' - ENDOPTION + AND point_status = '1' + AND region_code = 'YHHJ' + AND point_type = '1' ENDSELECT ENDQUERY ENDIF @@ -83,19 +73,18 @@ IF 输入.flag = "3" QUERY SELECT - tpw.* + p.* FROM - sch_base_point tpw - LEFT JOIN sch_base_point djw ON tpw.device_code = djw.point_code + sch_base_point p + LEFT JOIN pdm_bi_device d ON p.device_code = d.device_code + LEFT JOIN pdm_bd_workorder wo ON d.device_id = wo.device_id AND wo.order_status = '3' WHERE - tpw.is_used = '1' - AND djw.is_used = '1' - AND tpw.region_code = 'FJ' - AND djw.region_code = 'FJ' - AND tpw.point_type = '4' - AND djw.point_type = '3' - AND djw.lock_type = '1' - AND tpw.vehicle_type = 输入.vehicle_type + p.is_used = '1' + AND p.lock_type = '1' + AND p.point_status = '1' + AND p.region_code = 'KLHJ' + AND p.point_type = '2' + AND wo.material_id = 输入.material_id ENDSELECT ENDQUERY ENDIF @@ -103,19 +92,18 @@ IF 输入.flag = "4" QUERY SELECT - point.* + p.* FROM - sch_base_point point - JOIN pdm_bi_device device ON point.device_code = device.device_code - LEFT JOIN pdm_bd_workorder workorder ON device.device_id = workorder.device_id AND workorder.order_status = '3' - LEFT JOIN md_me_materialbase mb1 ON workorder.material_id = mb1.material_id AND mb1.material_type = '1' + sch_base_point p + LEFT JOIN pdm_bi_device d ON p.device_code = d.device_code + LEFT JOIN pdm_bd_workorder wo ON d.device_id = wo.device_id AND wo.order_status = '3' WHERE - point.is_used = '1' - AND point.lock_type = '1' - AND point.region_code = 'KLHJ' - AND point.point_type = '2' - AND point.point_status = '0' - AND mb1.material_id = 输入.material_id + p.is_used = '1' + AND p.lock_type = '1' + AND p.point_status = '1' + AND p.region_code = 'KLHJ' + AND p.point_type = '3' + AND wo.material_id = 输入.material_id ENDSELECT ENDQUERY ENDIF @@ -123,59 +111,15 @@ IF 输入.flag = "5" QUERY SELECT - * + * FROM - sch_base_point + sch_base_point WHERE - is_used = '1' - AND lock_type = '1' - AND region_code = 'KLHJ' - AND point_type = '1' - AND point_status = '0' + is_used = '1' + AND lock_type = '1' + AND point_status = '1' + AND region_code = 'KLHJ' + AND point_type = '1' ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "6" - QUERY - SELECT - workorder.*, - vd.weight - FROM - pdm_bd_workorder workorder - LEFT JOIN st_ivt_vehicle_detail vd ON workorder.workorder_id = vd.workorder_id - WHERE - vd.vd_id = 输入.vd_id - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "7" - QUERY - SELECT - vd.weight, - vd.qty, - workorder.workorder_id, - workorder.real_qty, - workorder.qualified_qty - FROM - st_ivt_vehicle_detail vd - LEFT JOIN pdm_bd_workorder workorder ON vd.workorder_id = workorder.workorder_id - WHERE - vd.vd_id = 输入.vd_id - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "8" - QUERY - SELECT - workorder.* - FROM - st_ivt_vehicle_detail vd - LEFT JOIN pdm_bd_workorder workorder ON vd.workorder_id = workorder.workorder_id - WHERE - vd.vd_id = 输入.vd_id - ENDSELECT - ENDQUERY + ENDQUER ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java index 32d6506..5993061 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/to/pack/FJToPackageTask.java @@ -41,7 +41,7 @@ public class FJToPackageTask extends AbstractAcsTask { public String createTask(JSONObject form) { JSONObject point = form.getJSONObject("point"); JSONObject work_order = form.getJSONObject("workorder"); - int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 50 : 1; + int priority = TrueOrFalse.trueOrFalse(work_order.getString("is_urgent")) ? 100 : 1; JSONObject vd = form.getJSONObject("vd"); JSONObject task = TaskUtils.buildTask( diff --git a/lms/nladmin-system/src/test/java/org/nl/test/PointTest.java b/lms/nladmin-system/src/test/java/org/nl/test/PointTest.java index bc597c3..a0f5cc3 100644 --- a/lms/nladmin-system/src/test/java/org/nl/test/PointTest.java +++ b/lms/nladmin-system/src/test/java/org/nl/test/PointTest.java @@ -22,14 +22,22 @@ public class PointTest { JSONObject point = new JSONObject(); WQLObject point_table = WQLObject.getWQLObject("sch_base_point"); String now = DateUtil.now(); - for (int i = 1; i <= 24; i++) { + for (int i = 1; i <= 18; i++) { point.put("point_id", IdUtil.getSnowflake(1L, 1L).nextId()); - point.put("point_code", "YHHW" + String.format("%02d", i)); - point.put("point_name", "窑后货位" + i); - point.put("region_id", 1695713466955993088L); - point.put("region_code", "YHHJ"); - point.put("region_name", "窑后货架"); - point.put("point_type", "1"); + point.put("point_code", "KLHW" + String.format("%02d", i)); + if (i <= 6) { + point.put("point_name", "压机" + i + "困料货位"); + point.put("point_type", "3"); + } else if (i <= 10) { + point.put("point_name", "液压机困料货位" + i); + point.put("point_type", "2"); + } else { + point.put("point_name", "公用困料货位" + i); + point.put("point_type", "1"); + } + point.put("region_id", 1695713307387891712L); + point.put("region_code", "KLHJ"); + point.put("region_name", "困料货架"); point.put("lock_type", "1"); point.put("create_id", 1); point.put("create_name", "管理员");