diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java index 46791dd0..03581e4c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairrequestServiceImpl.java @@ -2,6 +2,7 @@ package org.nl.wms.sb.repair.service.impl; +import cn.hutool.core.date.DateTime; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; @@ -153,10 +154,30 @@ public class DevicerepairrequestServiceImpl implements DevicerepairrequestServic public void create(DevicerepairrequestDto dto) { DeptService deptService = SpringContextHolder.getBean(DeptService.class); + WQLObject fileTab = WQLObject.getWQLObject("EM_BI_EquipmentFile"); + Long currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getNickName(); String now = DateUtil.now(); + // 前一天运行记录表 超过三条没填的报错 + JSONArray numRunArr = new JSONArray(); + String yesterday = DateUtil.yesterday().toString().substring(0,10); + JSONArray fileArr = fileTab.query("is_delete = '0' and status not in ('90','91')").getResultJSONArray(0); + + JSONObject map = new JSONObject(); + map.put("flag", "5"); + map.put("yesterday",yesterday); + for (int i = 0; i < fileArr.size(); i++) { + JSONObject json = fileArr.getJSONObject(i); + map.put("devicerecord_id",json.getString("devicerecord_id")); + + JSONObject jsonRun = WQL.getWO("EM_BI_DEVICEREPAIRREQUEST001").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isEmpty(jsonRun)) numRunArr.add(jsonRun); + } + + if (numRunArr.size() > 3) throw new BadRequestException("昨天设备运行记录有超过3条未填写,未填写:"+String.valueOf(numRunArr.size()) + "条"); + JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); Long deptId = currentUser.getDeptId(); // 登录人所在班组下的设备维修单(结束维修) > 2 报错 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql index 48e7200e..67c89f4f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql @@ -21,7 +21,9 @@ 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string 输入.deptIds TYPEAS f_string - 输入.use_groupid TYPEAS f_string + 输入.use_groupid TYPEAS f_string + 输入.yesterday TYPEAS s_string + 输入.devicerecord_id TYPEAS s_string [临时表] @@ -187,5 +189,26 @@ ENDQUERY ENDIF + IF 输入.flag = "5" + QUERY + SELECT + * + FROM + EM_BI_DeviceRunRecord + WHERE + 1=1 + + OPTION 输入.yesterday <> "" + run_date = 输入.yesterday + ENDOPTION + + OPTION 输入.devicerecord_id <> "" + devicerecord_id = 输入.devicerecord_id + ENDOPTION + + ENDSELECT + ENDQUERY + ENDIF +