| | |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.zy.ai.entity.DeviceConfigsData; |
| | | import com.zy.ai.log.AiLogAppender; |
| | | import com.zy.ai.mcp.service.WcsDataFacade; |
| | |
| | | @Override |
| | | public Object getCrnDeviceStatus(JSONObject args) { |
| | | List<Integer> deviceNoList = optIntList(args, "crnNos"); |
| | | EntityWrapper<BasCrnp> wrapper = new EntityWrapper<>(); |
| | | QueryWrapper<BasCrnp> wrapper = new QueryWrapper<>(); |
| | | if (deviceNoList != null && deviceNoList.size() > 0) { |
| | | wrapper.in("crn_no", deviceNoList); |
| | | } |
| | | JSONObject data = new JSONObject(); |
| | | |
| | | List<Object> deviceList = new ArrayList<>(); |
| | | List<BasCrnp> basCrnps = basCrnpService.selectList(wrapper); |
| | | List<BasCrnp> basCrnps = basCrnpService.list(wrapper); |
| | | for (BasCrnp basCrnp : basCrnps) { |
| | | CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo()); |
| | | if (crnThread == null) { |
| | |
| | | |
| | | @Override |
| | | public Object getStationDeviceStatus(JSONObject args) { |
| | | List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); |
| | | List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>()); |
| | | JSONObject data = new JSONObject(); |
| | | |
| | | List<Object> stationList = new ArrayList<>(); |
| | |
| | | @Override |
| | | public Object getRgvDeviceStatus(JSONObject args) { |
| | | List<Integer> deviceNoList = optIntList(args, "rgvNos"); |
| | | EntityWrapper<BasRgv> wrapper = new EntityWrapper<>(); |
| | | QueryWrapper<BasRgv> wrapper = new QueryWrapper<>(); |
| | | if (deviceNoList != null && deviceNoList.size() > 0) { |
| | | wrapper.in("rgv_no", deviceNoList); |
| | | } |
| | | JSONObject data = new JSONObject(); |
| | | |
| | | List<Object> deviceList = new ArrayList<>(); |
| | | List<BasRgv> basRgvs = basRgvService.selectList(wrapper); |
| | | List<BasRgv> basRgvs = basRgvService.list(wrapper); |
| | | for (BasRgv basRgv : basRgvs) { |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo()); |
| | | if (rgvThread == null) { |
| | |
| | | @Override |
| | | public Object getTasks(JSONObject args) { |
| | | int crnNo = optInt(args, "crnNo", -1); |
| | | int dualCrnNo = optInt(args, "dualCrnNo", -1); |
| | | int rgvNo = optInt(args, "rgvNo", -1); |
| | | List<Integer> taskNos = optIntList(args, "taskNos"); |
| | | int sourceStaNo = optInt(args, "sourceStaNo", -1); |
| | | int staNo = optInt(args, "staNo", -1); |
| | | List<Integer> wrkNos = optIntList(args, "wrkNos"); |
| | | if (wrkNos.isEmpty()) { |
| | | wrkNos = optIntList(args, "taskNos"); |
| | | } |
| | | List<String> wmsWrkNos = optStrList(args, "wmsWrkNos"); |
| | | List<Long> wrkStsList = optLongList(args, "wrkStsList"); |
| | | List<Integer> ioTypeList = optIntList(args, "ioTypeList"); |
| | | String barcode = optStr(args, "barcode"); |
| | | String batch = optStr(args, "batch"); |
| | | String sourceLocNo = optStr(args, "sourceLocNo"); |
| | | String locNo = optStr(args, "locNo"); |
| | | int limit = optInt(args, "limit", 200); |
| | | |
| | | EntityWrapper<WrkMast> wrapper = new EntityWrapper<>(); |
| | | if (taskNos != null && taskNos.size() > 0) { |
| | | wrapper.in("wrk_no", taskNos); |
| | | QueryWrapper<WrkMast> wrapper = new QueryWrapper<>(); |
| | | if (!wrkNos.isEmpty()) { |
| | | wrapper.in("wrk_no", wrkNos); |
| | | } |
| | | |
| | | if (!wmsWrkNos.isEmpty()) { |
| | | wrapper.in("wms_wrk_no", wmsWrkNos); |
| | | } |
| | | |
| | | if (!wrkStsList.isEmpty()) { |
| | | wrapper.in("wrk_sts", wrkStsList); |
| | | } |
| | | |
| | | if (!ioTypeList.isEmpty()) { |
| | | wrapper.in("io_type", ioTypeList); |
| | | } |
| | | |
| | | if (crnNo != -1) { |
| | | wrapper.eq("crn_no", crnNo); |
| | | } |
| | | |
| | | if (dualCrnNo != -1) { |
| | | wrapper.eq("dual_crn_no", dualCrnNo); |
| | | } |
| | | |
| | | if (rgvNo != -1) { |
| | | wrapper.eq("rgv_no", rgvNo); |
| | | } |
| | | |
| | | List<WrkMast> tasks = wrkMastService.selectList(wrapper); |
| | | if (sourceStaNo != -1) { |
| | | wrapper.eq("source_sta_no", sourceStaNo); |
| | | } |
| | | |
| | | if (staNo != -1) { |
| | | wrapper.eq("sta_no", staNo); |
| | | } |
| | | |
| | | if (barcode != null) { |
| | | wrapper.like("barcode", barcode); |
| | | } |
| | | |
| | | if (batch != null) { |
| | | wrapper.like("batch", batch); |
| | | } |
| | | |
| | | if (sourceLocNo != null) { |
| | | wrapper.like("source_loc_no", sourceLocNo); |
| | | } |
| | | |
| | | if (locNo != null) { |
| | | wrapper.like("loc_no", locNo); |
| | | } |
| | | |
| | | int safeLimit = Math.max(1, Math.min(limit, 500)); |
| | | wrapper.orderByDesc("io_time").orderByDesc("appe_time").last("limit " + safeLimit); |
| | | |
| | | List<WrkMast> tasks = wrkMastService.list(wrapper); |
| | | JSONObject data = new JSONObject(); |
| | | data.put("tasks", tasks); |
| | | data.put("count", tasks.size()); |
| | | return data; |
| | | } |
| | | |
| | |
| | | List<DeviceConfigsData> deviceConfigsDataList = new ArrayList<>(); |
| | | |
| | | List<Integer> crnNoList = optIntList(args, "crnNos"); |
| | | EntityWrapper<BasCrnp> crnWrapper = new EntityWrapper<>(); |
| | | QueryWrapper<BasCrnp> crnWrapper = new QueryWrapper<>(); |
| | | if (crnNoList != null && crnNoList.size() > 0) { |
| | | crnWrapper.in("crn_no", crnNoList); |
| | | } |
| | | |
| | | List<Integer> rgvNoList = optIntList(args, "rgvNos"); |
| | | EntityWrapper<BasRgv> rgvWrapper = new EntityWrapper<>(); |
| | | QueryWrapper<BasRgv> rgvWrapper = new QueryWrapper<>(); |
| | | if (rgvNoList != null && rgvNoList.size() > 0) { |
| | | rgvWrapper.in("rgv_no", rgvNoList); |
| | | } |
| | | |
| | | List<Integer> devpNoList = optIntList(args, "devpNos"); |
| | | EntityWrapper<BasDevp> devpWrapper = new EntityWrapper<>(); |
| | | QueryWrapper<BasDevp> devpWrapper = new QueryWrapper<>(); |
| | | if (devpNoList != null && devpNoList.size() > 0) { |
| | | devpWrapper.in("devp_no", devpNoList); |
| | | } |
| | | |
| | | List<BasCrnp> basCrnps = basCrnpService.selectList(crnWrapper); |
| | | List<BasCrnp> basCrnps = basCrnpService.list(crnWrapper); |
| | | for (BasCrnp basCrnp : basCrnps) { |
| | | DeviceConfigsData deviceConfigsData = new DeviceConfigsData(); |
| | | deviceConfigsData.setDeviceNo(basCrnp.getCrnNo()); |
| | |
| | | deviceConfigsDataList.add(deviceConfigsData); |
| | | } |
| | | |
| | | List<BasRgv> basRgvs = basRgvService.selectList(rgvWrapper); |
| | | List<BasRgv> basRgvs = basRgvService.list(rgvWrapper); |
| | | for (BasRgv basRgv : basRgvs) { |
| | | DeviceConfigsData deviceConfigsData = new DeviceConfigsData(); |
| | | deviceConfigsData.setDeviceNo(basRgv.getRgvNo()); |
| | |
| | | deviceConfigsDataList.add(deviceConfigsData); |
| | | } |
| | | |
| | | List<BasDevp> basDevps = basDevpService.selectList(devpWrapper); |
| | | List<BasDevp> basDevps = basDevpService.list(devpWrapper); |
| | | for (BasDevp basDevp : basDevps) { |
| | | DeviceConfigsData deviceConfigsData = new DeviceConfigsData(); |
| | | deviceConfigsData.setDeviceNo(basDevp.getDevpNo()); |
| | |
| | | @Override |
| | | public Object getSystemConfig(JSONObject args) { |
| | | JSONObject data = new JSONObject(); |
| | | List<Config> systemConfigList = configService.selectList(new EntityWrapper<Config>().notIn("dingdingReportUrl")); |
| | | List<Config> systemConfigList = configService.list(new QueryWrapper<Config>().ne("code", "dingdingReportUrl")); |
| | | data.put("systemConfigs", systemConfigList); |
| | | return data; |
| | | } |
| | |
| | | return list; |
| | | } |
| | | |
| | | private String optStr(JSONObject o, String key) { |
| | | if (o == null || !o.containsKey(key)) return null; |
| | | String value = o.getString(key); |
| | | if (value == null || value.trim().isEmpty()) return null; |
| | | return value.trim(); |
| | | } |
| | | |
| | | private List<Long> optLongList(JSONObject o, String key) { |
| | | if (o == null || !o.containsKey(key)) return Collections.emptyList(); |
| | | JSONArray arr = o.getJSONArray(key); |
| | | if (arr == null) return Collections.emptyList(); |
| | | List<Long> list = new ArrayList<>(); |
| | | for (int i = 0; i < arr.size(); i++) { |
| | | String s = arr.getString(i); |
| | | if (s != null && !s.trim().isEmpty()) list.add(Long.parseLong(s.trim())); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | private List<Integer> optIntList(JSONObject o, String key) { |
| | | if (o == null || !o.containsKey(key)) return Collections.emptyList(); |
| | | JSONArray arr = o.getJSONArray(key); |
| | |
| | | } |
| | | return list; |
| | | } |
| | | } |
| | | } |