From 7b215e061fba11a290eb470472d623bde26bc03b Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Fri, 25 Aug 2023 15:43:30 +0800 Subject: [PATCH] =?UTF-8?q?add:=E8=AE=BE=E5=A4=87=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/config/mybatis/CodeGenerator.java | 4 +- .../IPdmBiDevicerunstatusrecordService.java | 16 + .../dao/PdmBiDevicerunstatusrecord.java | 59 +++ .../PdmBiDevicerunstatusrecordMapper.java | 22 + .../xml/PdmBiDevicerunstatusrecordMapper.xml | 19 + ...PdmBiDevicerunstatusrecordServiceImpl.java | 20 + .../rest/AgvBigScreenController.java | 4 +- .../rest/DeviceScreenController.java | 17 +- .../service/impl/AgvBigScreenServiceImpl.java | 92 ----- .../service/impl/DeviceScreenServiceImpl.java | 80 ++-- .../test/service/impl/BigTestServiceImpl.java | 19 +- .../bigScreen/wql/AGVBIGSCREEN01.wql | 109 ----- .../bigScreen/wql/BIGSCREENPRODUCT.wql | 383 ------------------ .../ext_manage/bigScreen/wql/bigScreen.xls | Bin 224256 -> 224256 bytes .../ProduceshiftorderController.java | 1 - .../Engrave/EngraveCallService.java | 14 +- 16 files changed, 204 insertions(+), 655 deletions(-) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/IPdmBiDevicerunstatusrecordService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/PdmBiDevicerunstatusrecord.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/PdmBiDevicerunstatusrecordMapper.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/xml/PdmBiDevicerunstatusrecordMapper.xml create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/impl/PdmBiDevicerunstatusrecordServiceImpl.java delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/AGVBIGSCREEN01.wql delete mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/BIGSCREENPRODUCT.wql diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java b/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java index 91d8e99a..8b416013 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/config/mybatis/CodeGenerator.java @@ -57,10 +57,10 @@ public class CodeGenerator { mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); - dsc.setUrl("jdbc:mysql://192.168.46.5:3306/hl_one_mes_test?serverTimezone=GMT&setUnicode=true&characterEncoding=utf8"); + dsc.setUrl("jdbc:mysql://localhost:3306/hl_one_mes?serverTimezone=GMT&setUnicode=true&characterEncoding=utf8"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); - dsc.setPassword("123456"); + dsc.setPassword("942464Yy"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/IPdmBiDevicerunstatusrecordService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/IPdmBiDevicerunstatusrecordService.java new file mode 100644 index 00000000..d7d1fd3c --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/IPdmBiDevicerunstatusrecordService.java @@ -0,0 +1,16 @@ +package org.nl.wms.device_manage.service.deviceRecord; + +import org.nl.wms.device_manage.service.deviceRecord.dao.PdmBiDevicerunstatusrecord; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备运行状态表 服务类 + *

+ * + * @author generator + * @since 2023-08-25 + */ +public interface IPdmBiDevicerunstatusrecordService extends IService { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/PdmBiDevicerunstatusrecord.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/PdmBiDevicerunstatusrecord.java new file mode 100644 index 00000000..4d9ad234 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/PdmBiDevicerunstatusrecord.java @@ -0,0 +1,59 @@ +package org.nl.wms.device_manage.service.deviceRecord.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import java.io.Serializable; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + *

+ * 设备运行状态表 + *

+ * + * @author generator + * @since 2023-08-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("pdm_bi_devicerunstatusrecord") +public class PdmBiDevicerunstatusrecord implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 记录标识 + */ + private Long record_id; + + /** + * 设备标识 + */ + private String device_code; + + /** + * 故障标识 + */ + private String err_status_id; + + /** + * 状态类型 + */ + private String status_type; + + /** + * 开始时间 + */ + private String start_time; + + /** + * 结束时间 + */ + private String end_time; + + @TableId(value = "order_num", type = IdType.AUTO) + private Long order_num; + + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/PdmBiDevicerunstatusrecordMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/PdmBiDevicerunstatusrecordMapper.java new file mode 100644 index 00000000..7acb4ae5 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/PdmBiDevicerunstatusrecordMapper.java @@ -0,0 +1,22 @@ +package org.nl.wms.device_manage.service.deviceRecord.dao.mapper; + +import org.nl.wms.device_manage.service.deviceRecord.dao.PdmBiDevicerunstatusrecord; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 设备运行状态表 Mapper 接口 + *

+ * + * @author generator + * @since 2023-08-25 + */ +public interface PdmBiDevicerunstatusrecordMapper extends BaseMapper { + + List allDeviceStatus(); + + List errorTop(String date); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/xml/PdmBiDevicerunstatusrecordMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/xml/PdmBiDevicerunstatusrecordMapper.xml new file mode 100644 index 00000000..4623eee2 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/dao/mapper/xml/PdmBiDevicerunstatusrecordMapper.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/impl/PdmBiDevicerunstatusrecordServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/impl/PdmBiDevicerunstatusrecordServiceImpl.java new file mode 100644 index 00000000..fcb71dff --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/device_manage/service/deviceRecord/impl/PdmBiDevicerunstatusrecordServiceImpl.java @@ -0,0 +1,20 @@ +package org.nl.wms.device_manage.service.deviceRecord.impl; + +import org.nl.wms.device_manage.service.deviceRecord.dao.PdmBiDevicerunstatusrecord; +import org.nl.wms.device_manage.service.deviceRecord.dao.mapper.PdmBiDevicerunstatusrecordMapper; +import org.nl.wms.device_manage.service.deviceRecord.IPdmBiDevicerunstatusrecordService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备运行状态表 服务实现类 + *

+ * + * @author generator + * @since 2023-08-25 + */ +@Service +public class PdmBiDevicerunstatusrecordServiceImpl extends ServiceImpl implements IPdmBiDevicerunstatusrecordService { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/AgvBigScreenController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/AgvBigScreenController.java index f0709a86..90a4e361 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/AgvBigScreenController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/AgvBigScreenController.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.wms.ext_manage.bigScreen.service.AgvBigScreenService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; @@ -22,7 +23,8 @@ import org.springframework.web.bind.annotation.*; @CrossOrigin public class AgvBigScreenController { - private final AgvBigScreenService agvBigScreenService; + @Autowired + private AgvBigScreenService agvBigScreenService; @PostMapping("/getTask") //("查询任务") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/DeviceScreenController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/DeviceScreenController.java index eb3a5764..8111fd99 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/DeviceScreenController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/rest/DeviceScreenController.java @@ -1,12 +1,8 @@ package org.nl.wms.ext_manage.bigScreen.rest; -import cn.dev33.satoken.annotation.SaIgnore; import com.alibaba.fastjson.JSONObject; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.nl.wms.ext_manage.bigScreen.service.DeviceScreenService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; @@ -14,14 +10,11 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -//@RestController -@RequiredArgsConstructor -//@Api(tags = "设备监控大屏") -//@RequestMapping("/api/deviceScreen") -//@SaIgnore -//@Slf4j +@RestController +@RequestMapping("/api/deviceScreen") public class DeviceScreenController { - private final DeviceScreenService deviceScreenService; + @Autowired + private DeviceScreenService deviceScreenService; @PostMapping("/deviceStatus") //("设备实时状态") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/AgvBigScreenServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/AgvBigScreenServiceImpl.java index 0d48a9f6..19929bd7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/AgvBigScreenServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/AgvBigScreenServiceImpl.java @@ -22,105 +22,13 @@ public class AgvBigScreenServiceImpl implements AgvBigScreenService { @Override public JSONObject getTask(JSONObject whereJson) { JSONObject result = new JSONObject(); - try { - JSONObject param = new JSONObject(); - // 1.获取总任务数 - String today = DateUtil.today(); - HashMap map = new HashMap<>(); - map.put("flag", "1"); - map.put("today", "%"+today+"%"); - JSONObject jsonAll = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonAll)) { - param.put("all_task_number",jsonAll.getString("all_task_number")); - } else { - param.put("all_task_number","0"); - } - - // 2.获取已执行任务数 状态 = 99 - map.put("flag", "2"); - JSONObject jsonFinish = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonFinish)) { - param.put("finish_task_number",jsonFinish.getString("finish_task_number")); - } else { - param.put("finish_task_number","0"); - } - - // 3.获取取消的任务数 是否删除 = 1 - map.put("flag", "3"); - JSONObject jsonCancel = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonCancel)) { - param.put("cancel_task_number",jsonCancel.getString("cancel_task_number")); - } else { - param.put("cancel_task_number","0"); - } - - // 4.获取未执行任务数 状态 <> 99 - map.put("flag", "4"); - JSONObject jsonNotFinish = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonNotFinish)) { - param.put("not_finish_task_number",jsonNotFinish.getString("not_finish_task_number")); - } else { - param.put("not_finish_task_number","0"); - } - - result.put("code", "1"); - result.put("desc", "查询成功"); - result.put("srb", param); - } catch (Exception e) { - result.put("code", "0"); - result.put("desc", "查询失败:"+e.getMessage()); - } return result; } @Override public JSONObject getAgvMsg(JSONObject whereJson) { JSONObject result = new JSONObject(); - try { - WQLObject agvTab = WQLObject.getWQLObject("DS_AGV_AgvStatus"); - JSONObject srb = new JSONObject(); - JSONArray errorArr = new JSONArray(); - JSONArray agv_info = new JSONArray(); - for (int i = 1; i <= 7; i++) { - JSONObject json = new JSONObject(); - String agv_code = String.valueOf(i); - JSONObject jsonAgv = agvTab.query("agv_code = '" + agv_code + "'").uniqueResult(0); - // 1.车号 - json.put("agv_code", agv_code); - // 2.任务: 0为无任务、1为有任务 - json.put("agv_statetype", jsonAgv.getString("agv_statetype")); - // 3.电量 - json.put("agv_power", jsonAgv.getString("agv_power")); - // 4.预警: 0为正常,1为报警 - String error_status = jsonAgv.getString("error_status"); - if (StrUtil.equals(error_status,"1")) { - // 只要有一辆车有报警信息 状态则为1 - srb.put("error_status", "1"); - // 5.预警信息 - errorArr.add(jsonAgv.getString("error_info")); - } - // 6.agv名称 - json.put("agv_name", jsonAgv.getString("agv_name")); - // 7.x坐标 - json.put("x_coordinate", jsonAgv.getString("x_coordinate")); - // 8.y坐标 - json.put("y_coordinate", jsonAgv.getString("y_coordinate")); - // 9.方向类型 - json.put("direction_type", jsonAgv.getString("direction_type")); - - agv_info.add(json); - } - srb.put("agv_info_arr", agv_info); - srb.put("agv_error_arr", errorArr); - - result.put("srb", srb); - result.put("code", "1"); - result.put("desc", "查询成功"); - } catch (Exception e) { - result.put("code", "0"); - result.put("desc", "查询失败:"+e.getMessage()); - } return result; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/DeviceScreenServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/DeviceScreenServiceImpl.java index 154257bf..4e937134 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/DeviceScreenServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/service/impl/DeviceScreenServiceImpl.java @@ -7,71 +7,65 @@ 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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.enums.StatusEnum; +import org.nl.common.enums.WorkerOrderEnum; +import org.nl.common.utils.MapOf; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.wms.device_manage.service.deviceRecord.dao.PdmBiDevicerunstatusrecord; +import org.nl.wms.device_manage.service.deviceRecord.dao.mapper.PdmBiDevicerunstatusrecordMapper; import org.nl.wms.ext_manage.bigScreen.DeviceUtils; import org.nl.wms.ext_manage.bigScreen.SwitchOnOff; import org.nl.wms.ext_manage.bigScreen.service.DeviceScreenService; +import org.nl.wms.product_manage.service.device.IPdmBiDeviceService; +import org.nl.wms.product_manage.service.device.dao.PdmBiDevice; +import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService; +import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.math.BigDecimal; import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @Slf4j public class DeviceScreenServiceImpl implements DeviceScreenService { + + @Autowired + private IPdmBiDeviceService pdmBiDeviceService; + @Autowired + private IPdmProduceWorkorderService workorderService; + @Resource + private PdmBiDevicerunstatusrecordMapper devicerunstatusrecordMapper; + @Override public JSONObject deviceStatus(JSONObject param) { if (SwitchOnOff.type == 1) { return DeviceUtils.deviceStatus(param); } //正常运行:有工单正在工作的;暂未生产:有工单没有在工作的;空闲设备:没有工单的,没故障的;故障设备:状态为故障的 - JSONArray device_rows = WQLObject.getWQLObject("PDM_BI_Device").query("is_active = '1' AND is_delete = '0'").getResultJSONArray(0); + List device_rows = pdmBiDeviceService.list(new QueryWrapper().eq("is_delete", false).eq("is_used", true)); int total_num = device_rows.size(); - - //查询故障设备 - JSONArray err_rows = WQL.getWO("QDEVICE_SCREEN").addParam("flag", "7").process().getResultJSONArray(0); - int err_device = err_rows.size(); - - //查询运行设备 - JSONArray run_rows = WQL.getWO("QDEVICE_SCREEN").addParam("flag", "8").process().getResultJSONArray(0); - int run_device = run_rows.size(); - - //查询有工单,没有故障的设备 - JSONArray task_rows = WQL.getWO("QDEVICE_SCREEN").addParam("flag", "9").process().getResultJSONArray(0); - //查询暂未生产设备 - int prepare_device = task_rows.size() - run_device; - - if (prepare_device < 0) { - prepare_device = 0; - } - - //空闲设备 - int free_device = total_num - task_rows.size() - err_device; - + List list = devicerunstatusrecordMapper.allDeviceStatus(); + Map> collect = list.stream().collect(Collectors.groupingBy(PdmBiDevicerunstatusrecord::getStatus_type)); + List runningWorkOrder = workorderService.list(new QueryWrapper() + .eq("workorder_status", WorkerOrderEnum.PRODUCTING.getCode())); JSONArray result = new JSONArray(); - JSONObject run = new JSONObject(); - run.put("name", "正常运行"); - run.put("value", run_device); - result.add(run); - JSONObject pre = new JSONObject(); - pre.put("name", "暂未生产"); - pre.put("value", prepare_device); - result.add(pre); - JSONObject free = new JSONObject(); - free.put("name", "空闲设备"); - free.put("value", free_device); - result.add(free); - JSONObject err = new JSONObject(); - err.put("name", "故障设备"); - err.put("value", err_device); - result.add(err); + result.add(MapOf.of("name", "正常运行","value", collect.get(StatusEnum.DEVICE_STATUS_RUNING.getCode()).size())); + result.add(MapOf.of("name", "暂未生产","value", (runningWorkOrder.size() - collect.get(StatusEnum.DEVICE_STATUS_RUNING.getCode()).size())<0?0:(runningWorkOrder.size() - collect.get(StatusEnum.DEVICE_STATUS_RUNING.getCode()).size()))); + result.add(MapOf.of("name", "空闲设备","value", total_num - runningWorkOrder.size() - collect.get(StatusEnum.DEVICE_STATUS_ERROR.getCode()).size())); + result.add(MapOf.of("name", "故障设备","value", collect.get(StatusEnum.DEVICE_STATUS_ERROR.getCode()).size())); JSONObject jo = new JSONObject(); jo.put("ja", result); jo.put("total_num", total_num); @@ -86,7 +80,6 @@ public class DeviceScreenServiceImpl implements DeviceScreenService { public JSONObject oeeAndTeep(JSONObject param) { JSONObject oee = new JSONObject(); JSONObject teep = new JSONObject(); - //value1:过去一个月;value2:目标;value3:实际 oee.put("value1", "78.0"); oee.put("value2", "76.0"); @@ -106,7 +99,8 @@ public class DeviceScreenServiceImpl implements DeviceScreenService { @Override public JSONObject queryDeviceByWork(JSONObject param) { - JSONArray result = WQL.getWO("QDEVICE_SCREEN").addParam("flag", "1").process().getResultJSONArray(0); + //WQL.getWO("QDEVICE_SCREEN").addParam("flag", "1").process().getResultJSONArray(0) + JSONArray result = new JSONArray(); JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "查询成功!"); @@ -119,12 +113,10 @@ public class DeviceScreenServiceImpl implements DeviceScreenService { if (SwitchOnOff.type == 1) { return DeviceUtils.deviceErrorNum(param); } - String today = DateUtil.today() + "%"; - JSONArray result = WQL.getWO("QDEVICE_SCREEN").addParam("flag", "2").addParam("today", today).process().getResultJSONArray(0); JSONObject returnjo = new JSONObject(); returnjo.put("code", "1"); returnjo.put("desc", "查询成功!"); - returnjo.put("result", result); + returnjo.put("result", devicerunstatusrecordMapper.errorTop(DateUtil.today())); return returnjo; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/test/service/impl/BigTestServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/test/service/impl/BigTestServiceImpl.java index 00f84165..5b405ae4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/test/service/impl/BigTestServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/test/service/impl/BigTestServiceImpl.java @@ -5,17 +5,19 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; - -import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.ext_manage.bigScreen.DeviceUtils; import org.nl.wms.ext_manage.bigScreen.OrderDto; import org.nl.wms.ext_manage.bigScreen.SwitchOnOff; import org.nl.wms.ext_manage.bigScreen.WordOrderUtils; import org.nl.wms.ext_manage.bigScreen.test.service.BigTestService; +import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService; +import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; @@ -29,9 +31,12 @@ import java.util.List; * @createDate: 2023/1/10 */ @Service -@RequiredArgsConstructor @Slf4j public class BigTestServiceImpl implements BigTestService { + + @Autowired + private IMdMeMaterialbaseService materialbaseService; + @Override public void save(JSONObject jsonObject) { JSONObject oneInfo = jsonObject.getJSONObject("oneInfo"); @@ -698,7 +703,6 @@ public class BigTestServiceImpl implements BigTestService { e.printStackTrace(); } //物料表 - WQLObject wo_material = WQLObject.getWQLObject("md_me_materialbase"); // 调用用 hutool 方法读取数据 调用第一个sheet白班数据 ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0); // 从第1行开始获取数据 excelReader.read的结果是一个2纬的list,外层是行,内层是行对应的所有列 @@ -719,8 +723,11 @@ public class BigTestServiceImpl implements BigTestService { if (j == 1) { String material_code = String.valueOf(list.get(j)); orderDto.setMaterial_code(material_code); - JSONObject jsonObject = wo_material.query("material_code = '" + material_code + "'").uniqueResult(0); - orderDto.setMaterial_spec(jsonObject.getString("material_spec")); + MdMeMaterialbase one = materialbaseService.getOne(new QueryWrapper().eq("material_code", material_code)); + if (one==null){ + throw new BadRequestException("当前物料编码不存在:"+material_code); + } + orderDto.setMaterial_spec(one.getMaterial_spec()); } if (j == 2) { Integer plan_qty = 0; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/AGVBIGSCREEN01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/AGVBIGSCREEN01.wql deleted file mode 100644 index 6acd1de4..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/AGVBIGSCREEN01.wql +++ /dev/null @@ -1,109 +0,0 @@ -[交易说明] - 交易名: AGV监控中心查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.today TYPEAS s_string - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - QUERY - SELECT - count(task.task_id) AS all_task_number - FROM - SCH_BASE_Task task - WHERE - 1 = 1 - - OPTION 输入.today <> "" - task.create_time like 输入.today - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - count(task.task_id) AS finish_task_number - FROM - SCH_BASE_Task task - WHERE - task.task_status = '99' - - OPTION 输入.today <> "" - task.create_time like 输入.today - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "3" - QUERY - SELECT - count(task.task_id) AS cancel_task_number - FROM - SCH_BASE_Task task - WHERE - task.is_delete = '1' - - OPTION 输入.today <> "" - task.create_time like 输入.today - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "4" - QUERY - SELECT - count(task.task_id) AS not_finish_task_number - FROM - SCH_BASE_Task task - WHERE - task.task_status <> '99' - - OPTION 输入.today <> "" - task.create_time like 输入.today - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/BIGSCREENPRODUCT.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/BIGSCREENPRODUCT.wql deleted file mode 100644 index 79bc9337..00000000 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/BIGSCREENPRODUCT.wql +++ /dev/null @@ -1,383 +0,0 @@ -[交易说明] - 交易名: bom查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.workprocedure TYPEAS s_string - 输入.begin_time TYPEAS s_string - 输入.end_time TYPEAS s_string - 输入.now_time TYPEAS s_string - 输入.produce_date TYPEAS s_string - 输入.end_produce_date TYPEAS s_string - 输入.begin_produce_date TYPEAS s_string - 输入.worksection_type_scode TYPEAS s_string - - - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - QUERY - SELECT - - sum( shiftorder.real_qty ) AS real_qty, - sum( shiftorder.plan_qty ) AS plan_qty , - convert(sum( shiftorder.real_qty )/sum( shiftorder.plan_qty ),DECIMAL(10,2))*100 as finish_rate - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - LEFT JOIN sys_dict_detail sys ON sys.VALUE= workprocedure.worksection_type_scode AND sys.dict_id = '87' - where - - shiftorder.is_delete='0' - and shiftorder.order_status<>'00' - OPTION 输入.worksection_type_scode <> "" - workprocedure.worksection_type_scode = 输入.worksection_type_scode - ENDOPTION - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - shiftorder.produceorder_code, - shiftorder.plan_qty, - shiftorder.real_qty, - (shiftorder.plan_qty - shiftorder.real_qty) AS gap_qty, - material.material_code, - material.material_name, - material.material_spec, - CONVERT ( ( shiftorder.real_qty / shiftorder.plan_qty ), DECIMAL ( 10, 3 ) ) * 100 AS finish_rate - FROM - mps_bd_produceshiftorder shiftorder - left join md_me_materialbase material on material.material_id =shiftorder.material_id - where - shiftorder.is_delete='0' - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - - -IF 输入.flag = "3" - QUERY - SELECT - sum( shiftorder.real_qty ) AS real_qty, - sum( shiftorder.plan_qty ) AS plan_qty, - CONVERT ( sum( shiftorder.real_qty ) / sum( shiftorder.plan_qty ), DECIMAL ( 10, 3 ) ) * 100 AS finish_rate - FROM - mps_bd_produceshiftorder shiftorder - RIGHT JOIN ( - SELECT - route.material_id, - dtl.workprocedure_id - FROM - PDM_BI_ProductProcessRoute route - LEFT JOIN PDM_BI_ProductProcessRouteDtl dtl ON route.productprocess_id = dtl.productprocess_id - WHERE - route.material_id IN ( SELECT DISTINCT shiftorder.material_id FROM mps_bd_produceshiftorder shiftorder ) - AND dtl.nextworkprocedure_id = '1535144552481034240' - ) a ON a.material_id = shiftorder.material_id - AND a.workprocedure_id = shiftorder.workprocedure_id - where - 1=1 - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - ENDSELECT - ENDQUERY -ENDIF - - IF 输入.flag = "4" - QUERY - SELECT - count(*) as count - FROM - mps_bd_produceshiftorder shiftorder - where - shiftorder.is_delete='0' - and shiftorder.order_status<>'00' - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "5" - QUERY - SELECT - count(*) as count - FROM - mps_bd_produceshiftorder shiftorder - where - shiftorder.realproduceend_date > shiftorder.planproduceend_date - and shiftorder.order_status<>'00' - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - - IF 输入.flag = "7" - QUERY - SELECT - sum( real_qty ) AS real_qty, - sum( plan_qty ) AS plan_qty, - CONVERT ( sum( shiftorder.real_qty ) / sum( shiftorder.plan_qty ), DECIMAL ( 10, 3 ) ) * 100 AS finish_rate - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON workprocedure.workprocedure_id = shiftorder.workprocedure_id - WHERE - shiftorder.is_delete='0' - and shiftorder.order_status<>'00' - and workprocedure.workprocedure_code IN ( '07', '06', '02' ) - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF - - -IF 输入.flag = "8" - QUERY - SELECT - workprocedure.worksection_type_scode, - sum( real_qty ) AS real_qty, - sum( plan_qty ) AS plan_qty, - shiftorder.produce_date as date, - CONVERT ( sum( shiftorder.real_qty ) / sum( shiftorder.plan_qty ), DECIMAL ( 10, 3 ) ) * 100 AS finish_rate - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - LEFT JOIN sys_dict_detail sys ON sys.VALUE= workprocedure.worksection_type_scode AND sys.dict_id = '87' - WHERE - shiftorder.is_delete='0' - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - GROUP BY worksection_type_scode,shiftorder.produce_date - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "9" - QUERY - SELECT - sum( real_qty ) AS real_qty - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - LEFT JOIN sys_dict_detail sys ON sys.VALUE= workprocedure.worksection_type_scode AND sys.dict_id = '87' - WHERE - shiftorder.is_delete='0' - and workprocedure.workprocedure_code IN ( '07', '06', '02' ) - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - GROUP BY worksection_type_scode - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "10" - QUERY - SELECT - shiftorder.material_id, - material.material_code, - material.material_name, - material.material_spec, - sum( real_qty ) AS real_qty - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - left join md_me_materialbase material on material.material_id =shiftorder.material_id - WHERE - shiftorder.is_delete='0' - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - GROUP BY - shiftorder.material_id, - material.material_code, - material.material_name, - material.material_spec - ORDER BY real_qty desc - LIMIT 0,10 - ENDSELECT - ENDQUERY -ENDIF - - -IF 输入.flag = "11" - QUERY - SELECT - shiftorder.produceorder_code, - shiftorder.material_id, - material.material_code, - material.material_name, - material.material_spec, - shiftorder. real_qty, - shiftorder.plan_qty, - shiftorder.plan_qty -shiftorder. real_qty as gap_qty, - shiftorder.produce_date as date - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - LEFT JOIN sys_dict_detail sys ON sys.VALUE= workprocedure.worksection_type_scode AND sys.dict_id = '87' - left join md_me_materialbase material on material.material_id =shiftorder.material_id - WHERE - shiftorder.is_delete='0' - and shiftorder.order_status<>'00' - and workprocedure.workprocedure_code IN ( '07', '06', '02' ) - and shiftorder. real_qty < shiftorder.plan_qty - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - ENDSELECT - ENDQUERY -ENDIF - - -IF 输入.flag = "12" - QUERY - SELECT - shiftorder.material_id, - material.material_code, - material.material_name, - material.material_spec, - sum( real_qty ) AS real_qty - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - left join md_me_materialbase material on material.material_id =shiftorder.material_id - WHERE - shiftorder.is_delete='0' - OPTION 输入.end_produce_date <> "" - shiftorder.produce_date <= 输入.end_produce_date - ENDOPTION - OPTION 输入.begin_produce_date <> "" - shiftorder.produce_date >= 输入.begin_produce_date - ENDOPTION - GROUP BY - shiftorder.material_id, - material.material_code, - material.material_spec, - material.material_name - ORDER BY real_qty desc - LIMIT 0,9 - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "13" - QUERY - SELECT - sum( real_qty ) AS real_qty - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - left join md_me_materialbase material on material.material_id =shiftorder.material_id - WHERE - shiftorder.is_delete='0' - OPTION 输入.end_produce_date <> "" - shiftorder.produce_date <= 输入.end_produce_date - ENDOPTION - OPTION 输入.begin_produce_date <> "" - shiftorder.produce_date >= 输入.begin_produce_date - ENDOPTION - - ENDSELECT - ENDQUERY -ENDIF - -IF 输入.flag = "14" - QUERY - SELECT - - sum( shiftorder.real_qty ) AS real_qty, - sum( shiftorder.plan_qty ) AS plan_qty , - convert(sum( shiftorder.real_qty )/sum( shiftorder.plan_qty ),DECIMAL(10,2))*100 as finish_rate - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - LEFT JOIN sys_dict_detail sys ON sys.VALUE= workprocedure.worksection_type_scode AND sys.dict_id = '87' - where - shiftorder.is_delete='0' - OPTION 输入.worksection_type_scode <> "" - workprocedure.worksection_type_scode = 输入.worksection_type_scode - ENDOPTION - OPTION 输入.end_produce_date <> "" - shiftorder.produce_date <= 输入.end_produce_date - ENDOPTION - OPTION 输入.begin_produce_date <> "" - shiftorder.produce_date >= 输入.begin_produce_date - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "15" - QUERY - SELECT - sum( real_qty ) AS real_qty, - sum( plan_qty ) AS plan_qty, - CONVERT ( sum( shiftorder.real_qty ) / sum( shiftorder.plan_qty ), DECIMAL ( 10, 3 ) ) * 100 AS finish_rate - FROM - mps_bd_produceshiftorder shiftorder - LEFT JOIN pdm_bi_workprocedure workprocedure ON shiftorder.workprocedure_id = workprocedure.workprocedure_id - LEFT JOIN sys_dict_detail sys ON sys.VALUE= workprocedure.worksection_type_scode AND sys.dict_id = '87' - WHERE - shiftorder.is_delete='0' - OPTION 输入.produce_date <> "" - shiftorder.produce_date = 输入.produce_date - ENDOPTION - OPTION 输入.worksection_type_scode <> "" - workprocedure.worksection_type_scode = 输入.worksection_type_scode - ENDOPTION - ENDSELECT - ENDQUERY - ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/bigScreen.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ext_manage/bigScreen/wql/bigScreen.xls index b49844c74532083300bc5fbd3a6d81afb3fa6c4d..8f5b4960b2e008cba52bfacd5156881f9f44a0a2 100644 GIT binary patch delta 48 zcmZp;!P{_ycS8;f`v$#P`I6UfZZ2lo%E-aWz+h-$W?|B7z}9ZS#t6hr+YQ*5FQfth Dq8JYK delta 48 zcmZp;!P{_ycS8;f`+>F$#@^{SHW#yOW#r&sVDR^I4e)F>U~4yEV+3NR?FMYj7g7PM CK@Vd9 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java index 8912f767..77f6d1d8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java @@ -38,7 +38,6 @@ import java.util.Map; public class ProduceshiftorderController{ private final ProduceshiftorderService produceshiftorderService; private final IPdmProduceWorkorderService iPdmProduceWorkorderService; - private final IPdmBiDeviceService pdmBiDeviceService; @PostMapping("/getDevice") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveCallService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveCallService.java index 6d8096f6..a88fd90e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveCallService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/scheduler_manage/service/extendtask/Engrave/EngraveCallService.java @@ -29,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -64,18 +65,21 @@ public class EngraveCallService { if (param.size()==0){ throw new BadRequestException("请求参数不能为空"); } - String struct_code = null; + StIvtStructivtBcp stIvtStructivt = iStIvtStructivtBcpService.getOne(new QueryWrapper() + .eq("struct_code", param.getJSONObject(0).getString("struct_code"))); + BigDecimal unit_weight = stIvtStructivt.getUnit_weight(); + if (unit_weight==null){ + throw new BadRequestException("当前半成品货位库存没有物料单重"); + } List kzDevice= new ArrayList<>(); Map map = new HashMap<>(); for (Object o : param) { JSONObject item = JSONObject.parseObject(JSON.toJSONString(o)); - struct_code = item.getString("struct_code");//货位; kzDevice.add(item.getString("device_code")); - map.put(item.getString("device_code"),item.getString("weight")); + map.put(item.getString("device_code"),String.valueOf(item.getBigDecimal("qty").multiply(unit_weight).intValue())); } kzDevice.remove("A1_KZ_14"); - StIvtStructivtBcp stIvtStructivt = iStIvtStructivtBcpService.getOne(new QueryWrapper() - .eq("struct_code", struct_code)); + // if (!CollectionUtils.isEmpty(kzDevice)){ // List workorders = workorderService.list(new QueryWrapper() // .eq("workprocedure_id", ENGRAVE_WORKPRODURE)