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 5c97145..c4e3c8d 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 @@ -298,10 +298,19 @@ public class PdaServiceImpl implements PdaService { result.put("point_id", point.getString("point_id")); result.put("point_name", point.getString("point_name")); + JSONObject material = WQLObject + .getWQLObject("md_me_materialbase") + .query("material_code = '" + materialCode + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(material)) { + throw new BadRequestException("该物料号不存在"); + } + JSONArray detail = WQL .getWO("PDA") .addParam("flag", "5") .addParam("vehicle_id", vehicle.getString("vehicle_id")) + .addParam("material_id", material.getString("material_id")) .process() .getResultJSONArray(0); result.put("detail", detail); @@ -405,8 +414,9 @@ public class PdaServiceImpl implements PdaService { if (StrUtil.equals(nextPoint.getString("point_status"), PointStatus.HAS_VEHICLE.getCode())) { throw new BadRequestException("终点有载具"); } - if (StrUtil.equals(nextPoint.getString("region_id"), RegionEnum.JJ.getId())) { - throw new BadRequestException("只有终点为交接区才能生成出库任务"); + if (!StrUtil.equals(nextPoint.getString("region_id"), RegionEnum.JJ.getId()) + && nextPoint.getString("point_code").startsWith("JJC")) { + throw new BadRequestException("只有终点为交接区的出库位才能生成出库任务"); } param = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA.wql index f4d3539..9039aba 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/wql/PDA.wql @@ -17,6 +17,7 @@ 输入.region_id TYPEAS s_string 输入.vehicle_code TYPEAS s_string 输入.vehicle_id TYPEAS s_string + 输入.material_id TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -107,6 +108,7 @@ LEFT JOIN md_me_materialbase material ON vm.material_id = material.material_id WHERE vm.vehicle_id = 输入.vehicle_id + AND vm.material_id = 输入.material_id ENDSELECT ENDQUERY ENDIF \ No newline at end of file diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtils.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtils.java index 85a4c26..339b8c9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtils.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsUtils.java @@ -19,8 +19,8 @@ public class AcsUtils { String isConnect = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("is_connect_acs").getValue(); JSONObject result = new JSONObject(); if (StrUtil.equals("0", isConnect)) { - result.put("status", HttpStatus.OK.value()); - result.put("message", "下发成功,但未连接ACS!"); + result.put("status", HttpStatus.NOT_FOUND.value()); + result.put("message", "未连接ACS!"); result.put("data", new JSONObject()); return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallEmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallEmptyVehicleTask.java index 0b76408..c44d1eb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallEmptyVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallEmptyVehicleTask.java @@ -51,6 +51,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask { * @param taskJSON 代表一条任务对象 * @param status 代表wcs任务完成状态: //0:acs,取消,:执行中,2:完成 */ + @Transactional(rollbackFor = Exception.class) @Override public void updateTaskStatus(JSONObject taskJSON, String status) { WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); @@ -216,7 +217,7 @@ public class CallEmptyVehicleTask extends AbstractAcsTask { throw new BadRequestException("该任务已完成"); } if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode()) - && !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) { + && taskFinishedType.equals(TaskFinishedType.MANUAL)) { throw new BadRequestException("只有已确认起点和终点的任务可以手动完成"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallMaterialTask.java index 667ba95..557bfc1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/CallMaterialTask.java @@ -52,6 +52,7 @@ public class CallMaterialTask extends AbstractAcsTask { * @author ldjun * @created 2019年4月17日 下午8:51:50 */ + @Transactional(rollbackFor = Exception.class) @Override public void updateTaskStatus(JSONObject taskJSON, String status) { WQLObject taskTable = WQLObject.getWQLObject("sch_base_task"); @@ -193,7 +194,7 @@ public class CallMaterialTask extends AbstractAcsTask { throw new BadRequestException("该任务已完成"); } if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode()) - && !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) { + && taskFinishedType.equals(TaskFinishedType.MANUAL)) { throw new BadRequestException("只有已确认起点和终点的任务可以手动完成"); } @@ -216,7 +217,7 @@ public class CallMaterialTask extends AbstractAcsTask { .query("vehicle_code = '" + startPoint.getString("vehicle_code") + "'") .uniqueResult(0); - WQLObject.getWQLObject("st_ivt_structivt").delete("vehicle_id = " + vehicle.getString("vehicle_id")); + WQLObject.getWQLObject("st_ivt_structivt").delete("point_id = " + startPoint.getString("point_id")); } nextPoint.put("point_status", PointStatus.HAS_VEHICLE.getCode()); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendEmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendEmptyVehicleTask.java index b8ae4db..f5e721b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendEmptyVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendEmptyVehicleTask.java @@ -221,7 +221,7 @@ public class SendEmptyVehicleTask extends AbstractAcsTask { throw new BadRequestException("该任务已完成"); } if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode()) - && !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) { + && taskFinishedType.equals(TaskFinishedType.MANUAL)) { throw new BadRequestException("只有已确认起点和终点的任务可以手动完成"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendFullVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendFullVehicleTask.java index 50078fe..506e783 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendFullVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendFullVehicleTask.java @@ -222,7 +222,7 @@ public class SendFullVehicleTask extends AbstractAcsTask { throw new BadRequestException("该任务已完成"); } if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode()) - && !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) { + && taskFinishedType.equals(TaskFinishedType.MANUAL)) { throw new BadRequestException("只有已确认起点和终点的任务可以手动完成"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendResiduesMaterialTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendResiduesMaterialTask.java index 9f03806..a91f585 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendResiduesMaterialTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/task/SendResiduesMaterialTask.java @@ -222,7 +222,7 @@ public class SendResiduesMaterialTask extends AbstractAcsTask { throw new BadRequestException("该任务已完成"); } if (!StrUtil.equals(taskStatus, TaskStatus.START_AND_END.getCode()) - && !StrUtil.equals(taskStatus, TaskStatus.ISSUE.getCode())) { + && taskFinishedType.equals(TaskFinishedType.MANUAL)) { throw new BadRequestException("只有已确认起点和终点的任务可以手动完成"); }