diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkTaskServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkTaskServiceImpl.java index b519efd3..f1e2ed3e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkTaskServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkTaskServiceImpl.java @@ -143,6 +143,7 @@ public class WorkTaskServiceImpl implements WorkTaskService { Long currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getNickName(); String now = DateUtil.now(); + WQLObject em_bi_deviceinfo = WQLObject.getWQLObject("em_bi_deviceinfo"); WQLObject PDM_BI_WorkOrder = WQLObject.getWQLObject("PDM_BI_WorkOrder"); // 工艺路线主表 WQLObject mstTab = WQLObject.getWQLObject("PDM_BI_WorkTask"); // 工艺路线主表 WQLObject PDM_BI_WorkTaskJob = WQLObject.getWQLObject("PDM_BI_WorkTaskJob"); // 工艺路线主表 @@ -161,6 +162,19 @@ public class WorkTaskServiceImpl implements WorkTaskService { if (StrUtil.isEmpty(device_id)) { throw new BadRequestException(jo.getString("worktask_code") + "当前记录未指定设备!"); } + String workprocedure_code = jsonMst.getString("workprocedure_code"); + if("GX002".contains(workprocedure_code)){ + JSONArray others = mstTab.query("worktask_id<>'"+worktask_id+"' and device_id='"+device_id+"' and status in('30')").getResultJSONArray(0); + if(others.size()>0){ + throw new BadRequestException(jo.getString("worktask_code") + "指定设备有其它已开始生产但未完成任务!"); + } + + } + JSONObject device = em_bi_deviceinfo.query("is_delete='0' and device_id='"+device_id+"'").uniqueResult(0); + + if(!workprocedure_code.equals(device.getString("workprocedure_code"))){ + throw new BadRequestException(jo.getString("worktask_code") + "指定设备所属工序与当前工序任务不一致!"); + } //更新任务 HashMap map = new HashMap<>(); map.put("status", "30");