From 6eee6c0e37069db830b235f94c6dfb9f3aee5d68 Mon Sep 17 00:00:00 2001 From: songxiaopeng <1393756821@qq.com> Date: Mon, 26 Feb 2024 16:51:59 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=A4=A7=E5=B1=8F=E3=80=81=E7=9C=8B?= =?UTF-8?q?=E6=9D=BF=E3=80=81=E5=BC=B9=E7=AA=97=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cockpit/controller/CockPitController.java | 54 ++- .../wms/cockpit/service/CockpitService.java | 31 +- .../service/dao/DeviceConditionVo.java | 15 + .../cockpit/service/dao/DeviceErrorVo.java | 13 + .../cockpit/service/dao/DeviceRunStatVo.java | 21 ++ .../nl/wms/cockpit/service/dao/HistoryVo.java | 13 + .../wms/cockpit/service/dao/InOutKilnVo.java | 17 + .../cockpit/service/dao/KilnMaterialInfo.java | 14 + .../nl/wms/cockpit/service/dao/KilnVo.java | 19 ++ .../cockpit/service/dao/MixingDetailVo.java | 15 + .../nl/wms/cockpit/service/dao/MixingVo.java | 17 + .../wms/cockpit/service/dao/PressOrderVo.java | 14 + .../cockpit/service/dao/PressProductVo.java | 14 + .../cockpit/service/dao/ProductTaskVo.java | 20 +- .../service/dao/ShiftProductionVo.java | 8 +- .../cockpit/service/dao/SortingLineVo.java | 17 + .../nl/wms/cockpit/service/dao/StackVo.java | 19 ++ .../wms/cockpit/service/dao/WorkOrderVo.java | 24 ++ .../wms/cockpit/service/enums/DeviceEnum.java | 36 ++ .../service/impl/CockpitServiceImpl.java | 321 ++++++++++++++++-- .../cockpit/service/mapper/CockPitMapper.java | 35 +- .../cockpit/service/mapper/CockPitMapper.xml | 255 +++++++++++--- .../service/IDasDeviceErrorRecordService.java | 33 ++ .../service/dao/DasDeviceErrorRecord.java | 35 ++ .../mapper/DasDeviceErrorRecordMapper.java | 17 + .../dao/mapper/DasDeviceErrorRecordMapper.xml | 15 + .../IDasDeviceErrorRecordServiceImpl.java | 61 ++++ .../impl/MdBaseMaterialServiceImpl.java | 10 +- .../acs/controller/AcsToWmsController.java | 7 + .../wms/ext/acs/service/AcsToWmsService.java | 2 + .../wms/ext/acs/service/WmsToAcsService.java | 7 + .../acs/service/impl/AcsToWmsServiceImpl.java | 17 + .../acs/service/impl/WmsToAcsServiceImpl.java | 9 + 33 files changed, 1103 insertions(+), 102 deletions(-) create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceConditionVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceErrorVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceRunStatVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/HistoryVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/InOutKilnVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnMaterialInfo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingDetailVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressOrderVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressProductVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/StackVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/WorkOrderVo.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/enums/DeviceEnum.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/IDasDeviceErrorRecordService.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/DasDeviceErrorRecord.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.java create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.xml create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/impl/IDasDeviceErrorRecordServiceImpl.java diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockPitController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockPitController.java index aa15ae1..95a01ca 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockPitController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/controller/CockPitController.java @@ -4,14 +4,16 @@ import cn.dev33.satoken.annotation.SaIgnore; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; import org.nl.common.logging.annotation.Log; import org.nl.wms.cockpit.service.CockpitService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; /** * @Author: lyd @@ -31,7 +33,49 @@ public class CockPitController { @PostMapping("/press") @Log("压制看板") @ApiOperation("压制看板") - public ResponseEntity PressedMonitor(){ - return new ResponseEntity<>(cockpitService.PressedMonitor(), HttpStatus.OK); + public ResponseEntity pressedMonitor(){ + return new ResponseEntity<>(cockpitService.pressedMonitor(), HttpStatus.OK); + } + + + @GetMapping("/sorting") + @Log("分拣看板") + @ApiOperation("分拣看板") + public ResponseEntity sortingMonitor(){ + return new ResponseEntity<>(cockpitService.sortingMonitor(), HttpStatus.OK); + } + + @GetMapping("/screenTableData") + @Log("大屏") + @ApiOperation("大屏") + public ResponseEntity screenLeftData(){ + return new ResponseEntity<>(cockpitService.screenTableData(), HttpStatus.OK); + } + + @GetMapping("/deviceCondition") + @Log("设备运行情况") + @ApiOperation("设备运行情况") + public ResponseEntity deviceCondition(){ + return new ResponseEntity<>(cockpitService.deviceCondition(), HttpStatus.OK); + } + +// @GetMapping("/mixingDetail") +// @Log("混碾料仓弹出框") +// @ApiOperation("混碾料仓弹出框") +// public ResponseEntity selectMixingDetail(@RequestParam Map whereJson){ +// return new ResponseEntity<>(cockpitService.selectMixingDetail(whereJson), HttpStatus.OK); +// } + + @GetMapping("/inOutKilnDetail") + @Log("出、入窑输送线") + @ApiOperation("出、入窑输送线") + public ResponseEntity selectInOutKilnDetail(){ + return new ResponseEntity<>(cockpitService.selectInOutKilnDetail(), HttpStatus.OK); + } + @GetMapping("/kilnDetail") + @Log("窑弹出框") + @ApiOperation("窑弹出框") + public ResponseEntity selectKilnDetail(){ + return new ResponseEntity<>(cockpitService.selectKilnDetail(), HttpStatus.OK); } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java index 807aecf..4d235e0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/CockpitService.java @@ -1,5 +1,12 @@ package org.nl.wms.cockpit.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.cockpit.service.dao.*; +import org.nl.wms.das.device.record.service.dao.DasDeviceErrorRecord; + +import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** @@ -12,5 +19,27 @@ public interface CockpitService { * 压制看板 * @return */ - ConcurrentHashMap PressedMonitor(); + ConcurrentHashMap pressedMonitor(); + + /** + * 分拣看板 + * @return + */ + ConcurrentHashMap sortingMonitor(); + + ConcurrentHashMap screenTableData(); + +// List getDeviceErrorList(); +// +// IPage getDeviceErrorInfoList(PageQuery page); +// +// DeviceRunStatVo selectDeviceRunStatNum(); + Object deviceCondition(); +// +// MixingDetailVo selectMixingDetail(Map whereJson); + + List selectInOutKilnDetail(); + + KilnVo selectKilnDetail(); + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceConditionVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceConditionVo.java new file mode 100644 index 0000000..2ed9d79 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceConditionVo.java @@ -0,0 +1,15 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class DeviceConditionVo { + private String deviceName; + private Integer failure; + private Integer shutdown; + private Integer standby; + private Integer running; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceErrorVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceErrorVo.java new file mode 100644 index 0000000..61f0105 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceErrorVo.java @@ -0,0 +1,13 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + * @description 30天故障 + */ +@Data +public class DeviceErrorVo { + private String deviceName; + private String errorNum; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceRunStatVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceRunStatVo.java new file mode 100644 index 0000000..9c840d7 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/DeviceRunStatVo.java @@ -0,0 +1,21 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + * @description 设备运行统计 + */ +@Data +public class DeviceRunStatVo { + //总数 + private int total; + //正常运行 + private int runNum; + //暂未生产 + private int unProducedNum; + //空闲设备 + private int freeNum; + //故障设备 + private int errorNum; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/HistoryVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/HistoryVo.java new file mode 100644 index 0000000..8661ef3 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/HistoryVo.java @@ -0,0 +1,13 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class HistoryVo { + private String produceDate; + private String suppressedNum; + private String finishedNum; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/InOutKilnVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/InOutKilnVo.java new file mode 100644 index 0000000..c9217a7 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/InOutKilnVo.java @@ -0,0 +1,17 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class InOutKilnVo { + private String stat; //1运行中 + private String pointName;//点位名称 + private String workTime;//工作时间 + private String palletNum;//当前托盘数 + private String materialNum;//当前物料数量 + private String deliveredPalletNum;//当日已输送托盘数 + private String deliveredMaterialNum;//当日已输送数量 +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnMaterialInfo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnMaterialInfo.java new file mode 100644 index 0000000..304fc48 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnMaterialInfo.java @@ -0,0 +1,14 @@ +package org.nl.wms.cockpit.service.dao; + + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class KilnMaterialInfo { + private String materialCode; + private String customer; + private String producedNum; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnVo.java new file mode 100644 index 0000000..cb9c1dc --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/KilnVo.java @@ -0,0 +1,19 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +import java.util.List; + +/** + * @author Administrator + */ +@Data +public class KilnVo { + private String pointName; + private String workTime; + private String palletNum; + private String materialNum; + private String produceNum; + private List materialInfos; + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingDetailVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingDetailVo.java new file mode 100644 index 0000000..1c7bde6 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingDetailVo.java @@ -0,0 +1,15 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class MixingDetailVo { + private String point; + private String materialName; + private String materialCode; + private String weight; + private String updateTime; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingVo.java new file mode 100644 index 0000000..990854b --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/MixingVo.java @@ -0,0 +1,17 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class MixingVo { + private String workorderCode; + private String pointName; + private String customer; + private String material; + private String materialSpec; + private String planQty; + private String realQty; +} \ No newline at end of file diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressOrderVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressOrderVo.java new file mode 100644 index 0000000..0edf3c0 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressOrderVo.java @@ -0,0 +1,14 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class PressOrderVo { + private String planQty; + private String realQty; + private String rate; + private String orderNumber; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressProductVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressProductVo.java new file mode 100644 index 0000000..c4741e8 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/PressProductVo.java @@ -0,0 +1,14 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class PressProductVo { + private String materialName; + private String requiredNum; + private String suppressedNum; + private String finishedNum; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ProductTaskVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ProductTaskVo.java index 87fd72c..b25bcb7 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ProductTaskVo.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ProductTaskVo.java @@ -10,16 +10,16 @@ import lombok.Data; @Data public class ProductTaskVo { private String device; - private String workorder_code; + private String workorderCode; private String team; - private String material_name; - private String planproducestart_date; - private String plan_qty; - private String real_qty; - private String unqualified_qty; - private String qualified_rate; - private String workorder_status; + private String materialName; + private String planproducestartDate; + private String planQty; + private String realQty; + private String unqualifiedQty; + private String qualifiedRate; + private String workorderStatus; private String operator; - private String realproducestart_date; - private String realproduceend_date; + private String realproducestartDate; + private String realproduceendDate; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java index cc59486..fd855f6 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/ShiftProductionVo.java @@ -9,8 +9,8 @@ import lombok.Data; */ @Data public class ShiftProductionVo { - private String column_name; - private String qualified_qty; - private String unqualified_qty; - private String total_difference; + private String columnName; + private String qualifiedQty; + private String unqualifiedQty; + private String lastQty; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineVo.java new file mode 100644 index 0000000..75bbac7 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/SortingLineVo.java @@ -0,0 +1,17 @@ +package org.nl.wms.cockpit.service.dao; + +import lombok.Data; + +/** + * @author Administrator + */ +@Data +public class SortingLineVo { + private String workorderCode; + private String pointName; + private String customer; + private String material; + private String materialSpec; + private String planQty; + private String realQty; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/StackVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/StackVo.java new file mode 100644 index 0000000..a11554a --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/StackVo.java @@ -0,0 +1,19 @@ +package org.nl.wms.cockpit.service.dao; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author Administrator + */ +@Data +public class StackVo { + private String vehicleCode; + private String materialQty; + private String materialWeight; + private String materialName; + @JsonFormat(pattern ="MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/WorkOrderVo.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/WorkOrderVo.java new file mode 100644 index 0000000..a5c7350 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/dao/WorkOrderVo.java @@ -0,0 +1,24 @@ +package org.nl.wms.cockpit.service.dao; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author Administrator + */ +@Data +public class WorkOrderVo { + private String workorderCode; + private String materialName; + private String materialSpec; + private String planQty; + private String planWeight; + private String produceOrder; + private String customer; + private String vehicleType; + //todo 是否有半托 + @JsonFormat(pattern ="MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createTime; +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/enums/DeviceEnum.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/enums/DeviceEnum.java new file mode 100644 index 0000000..00412fb --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/enums/DeviceEnum.java @@ -0,0 +1,36 @@ +package org.nl.wms.cockpit.service.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum DeviceEnum { + HL(0, "HL", "混料"), + YZ(1, "YZ", "压制"), + GZ(2, "SZ", "干燥"), + BZ(3, "FJ", "包装"); + private final int index; + private final String code; + private final String device_name; + + public static DeviceEnum getDeviceEnumByIndex(int index) { + DeviceEnum[] enums = DeviceEnum.values(); + for (DeviceEnum deviceEnum : enums) { + if (deviceEnum.getIndex() == index) { + return deviceEnum; + } + } + return null; // 如果没有找到对应的枚举常量,可以根据需要返回null或者抛出异常 + } + + public static DeviceEnum getDeviceEnumByCode(String code) { + DeviceEnum[] enums = DeviceEnum.values(); + for (DeviceEnum deviceEnum : enums) { + if (deviceEnum.getCode().equals(code)) { + return deviceEnum; + } + } + return null; // 如果没有找到对应的枚举常量,可以根据需要返回null或者抛出异常 + } +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java index 436b3a6..5348d3d 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/impl/CockpitServiceImpl.java @@ -1,18 +1,23 @@ package org.nl.wms.cockpit.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.config.thread.ThreadPoolExecutorUtil; import org.nl.wms.cockpit.service.CockpitService; -import org.nl.wms.cockpit.service.dao.PersonnelMonthlyProductionVo; -import org.nl.wms.cockpit.service.dao.PressProductHeaderVo; -import org.nl.wms.cockpit.service.dao.ProductTaskVo; -import org.nl.wms.cockpit.service.dao.ShiftProductionVo; +import org.nl.wms.cockpit.service.dao.*; +import org.nl.wms.cockpit.service.enums.DeviceEnum; import org.nl.wms.cockpit.service.mapper.CockPitMapper; -import org.nl.wms.util.CommonUtils; +import org.nl.wms.das.device.record.service.IDasDeviceErrorRecordService; +import org.nl.wms.das.device.record.service.dao.DasDeviceErrorRecord; +import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse; +import org.nl.wms.sch.point.service.ISchBasePointService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadPoolExecutor; @@ -27,15 +32,23 @@ import java.util.concurrent.ThreadPoolExecutor; public class CockpitServiceImpl implements CockpitService { @Autowired private CockPitMapper cockPitMapper; + + @Autowired + private WmsToAcsService wmsToAcsService; + + @Autowired + private IDasDeviceErrorRecordService dasDeviceErrorRecordService; + + @Autowired + private ISchBasePointService schBasePointService; + @Override - public ConcurrentHashMap PressedMonitor() { + public ConcurrentHashMap pressedMonitor() { ThreadPoolExecutor pool = ThreadPoolExecutorUtil.getPoll(); ConcurrentHashMap map = new ConcurrentHashMap<>(); // 1、当前班次、计划生产、已生产、不合格产品数 - String dayShift = CommonUtils.getDayShift(); // 白班、晚班 - map.put("DayShift", dayShift); CompletableFuture> listCompletableFuture = CompletableFuture.supplyAsync( - () -> cockPitMapper.getPressProductHeaderList(dayShift), pool); + () -> cockPitMapper.getPressProductHeaderList(), pool); listCompletableFuture.thenAccept(result -> { map.put("DayShiftList", result); }).exceptionally((e) -> { @@ -45,7 +58,7 @@ public class CockpitServiceImpl implements CockpitService { }); // 2、当班生产 CompletableFuture> listShiftProductionFuture = CompletableFuture.supplyAsync( - () -> cockPitMapper.getShiftProductionList(dayShift), pool); + () -> cockPitMapper.getShiftProductionList(), pool); listShiftProductionFuture.thenAccept(result -> { map.put("ShiftProductionList", result); }).exceptionally((e) -> { @@ -53,14 +66,14 @@ public class CockpitServiceImpl implements CockpitService { map.put("ShiftProductionList", null); return null; }); - // 3、人员月生产 - CompletableFuture> listPersonnelMonthlyProductionFuture = CompletableFuture.supplyAsync( - () -> cockPitMapper.getPersonnelMonthlyProductionList(dayShift), pool); - listPersonnelMonthlyProductionFuture.thenAccept(result -> { - map.put("PersonnelMonthlyProduction", result); + // 2、当日订单 + CompletableFuture> pressOrderFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getPressOrderVoList(), pool); + pressOrderFuture.thenAccept(result -> { + map.put("PressOrderList", result); }).exceptionally((e) -> { - log.error("人员月生产: {}", e.getMessage(), e); - map.put("PersonnelMonthlyProduction", null); + log.error("当日订单: {}", e.getMessage(), e); + map.put("PressOrderList", null); return null; }); // 4、生产任务 @@ -77,7 +90,7 @@ public class CockpitServiceImpl implements CockpitService { CompletableFuture allQuery = CompletableFuture.allOf( listCompletableFuture, listShiftProductionFuture, - listPersonnelMonthlyProductionFuture, + pressOrderFuture, listProductionTaskFuture); CompletableFuture> future = allQuery.thenApply((result) -> map).exceptionally((e) -> { @@ -87,4 +100,274 @@ public class CockpitServiceImpl implements CockpitService { future.join(); return map; } + + @Override + public ConcurrentHashMap sortingMonitor() { + ThreadPoolExecutor pool = ThreadPoolExecutorUtil.getPoll(); + ConcurrentHashMap resultMap = new ConcurrentHashMap<>(); + //查询分拣线信息 + CompletableFuture> sortingLineCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getSortingLine(), pool); + sortingLineCompletableFuture.thenAccept(res -> { + resultMap.put("sortingLine", res); + }).exceptionally((e) -> { + log.error("获取分拣线信息: {}", e.getMessage(), e); + resultMap.put("sortingLine", null); + return null; + }); + //查询当日拆码垛信息 todo + CompletableFuture> unstackingCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getUnstackingList(), pool); + unstackingCompletableFuture.thenAccept(res -> { + resultMap.put("unstackingList", res); + }).exceptionally((e) -> { + log.error("获取当日已拆垛信息: {}", e.getMessage(), e); + resultMap.put("unstackingList", null); + return null; + }); + //查询剩余工单列表 + CompletableFuture> lastWorkOrderCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getLastWorkOrderList(), pool); + lastWorkOrderCompletableFuture.thenAccept(res -> { + resultMap.put("lastWorkOrderList", res); + }).exceptionally((e) -> { + log.error("查询剩余工单列表: {}", e.getMessage(), e); + resultMap.put("lastWorkOrderList", null); + return null; + }); + CompletableFuture allQuery = CompletableFuture.allOf( + sortingLineCompletableFuture, + unstackingCompletableFuture, + lastWorkOrderCompletableFuture); + CompletableFuture> future + = allQuery.thenApply((result) -> resultMap).exceptionally((e) -> { + log.error(e.getMessage(), e); + return null; + }); + future.join(); + return resultMap; + } + + @Override + public ConcurrentHashMap screenTableData() { + ThreadPoolExecutor pool = ThreadPoolExecutorUtil.getPoll(); + ConcurrentHashMap resultMap = new ConcurrentHashMap<>(); + //当日混料 + CompletableFuture> mixingCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getMixingList(), pool); + mixingCompletableFuture.thenAccept(result -> { + resultMap.put("mixingList", result); + }).exceptionally((e) -> { + log.error("获取当日混料信息: {}", e.getMessage(), e); + resultMap.put("mixingList", null); + return null; + }); + + //当日成品 + CompletableFuture> productCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getPressWorkerOrder(), pool); + productCompletableFuture.thenAccept(result -> { + resultMap.put("productList", result); + }).exceptionally((e) -> { + log.error("获取当日成品信息: {}", e.getMessage(), e); + resultMap.put("productList", null); + return null; + }); + + //历史分析 + CompletableFuture> historyCompletableFuture = CompletableFuture.supplyAsync( + () -> cockPitMapper.getHistoryList(), pool); + historyCompletableFuture.thenAccept(result -> { + resultMap.put("historyList", result); + }).exceptionally((e) -> { + log.error("获取历史分析信息: {}", e.getMessage(), e); + resultMap.put("historyList", null); + return null; + }); + + //设备运行统计 + CompletableFuture deviceRunStatCompletableFuture = CompletableFuture.supplyAsync( + () -> { + List devices = cockPitMapper.selectAllDevice(); + if (devices.isEmpty()) { + return null; + } + JSONArray param = new JSONArray(Collections.singletonList(devices)); + AcsResponse devicesStatus = wmsToAcsService.getDeviceStatus(param); + JSONArray data = ObjectUtil.isNotEmpty(devicesStatus) ? devicesStatus.getData() : param; + // 初始化数据 数组下标:0关机 1待机 2生产中 3故障 + DeviceRunStatVo res = new DeviceRunStatVo(); + int total = data.size(); + int errorNum = 0; + int freeNum = 0; + int runNum = 0; + int unProducedNum = 0; + // 遍历判断 + for (int i = 0; i < data.size(); i++) { + JSONObject device = data.getJSONObject(i); + int status = ObjectUtil.isNotEmpty(device.getInteger("status")) + ? device.getInteger("status") + : 0; + if (status == 0) { + unProducedNum++; + } + if (status == 1) { + freeNum++; + continue; + } + if (status == 2) { + runNum++; + continue; + } + if (status == 3) { + errorNum++; + } + } + res.setTotal(total); + res.setErrorNum(errorNum); + res.setFreeNum(freeNum); + res.setRunNum(runNum); + res.setUnProducedNum(unProducedNum); + return res; + }, pool); + deviceRunStatCompletableFuture.thenAccept(result -> { + resultMap.put("deviceRunStatList", result); + }).exceptionally((e) -> { + log.error("设备运行统计: {}", e.getMessage(), e); + resultMap.put("deviceRunStatList", null); + return null; + }); + + //30天故障top10 + CompletableFuture> errorCompletableFuture = CompletableFuture.supplyAsync( + () -> dasDeviceErrorRecordService.queryErrorVo(), pool); + errorCompletableFuture.thenAccept(result -> { + resultMap.put("deviceErrorList", result); + }).exceptionally((e) -> { + log.error("30天故障top10: {}", e.getMessage(), e); + resultMap.put("deviceErrorList", null); + return null; + }); + + //设备报警信息 + CompletableFuture> errorRecordCompletableFuture = CompletableFuture.supplyAsync( + () -> dasDeviceErrorRecordService.queryRecord(), pool); + errorRecordCompletableFuture.thenAccept(result -> { + resultMap.put("deviceErrorRecordList", result); + }).exceptionally((e) -> { + log.error("设备报警信息: {}", e.getMessage(), e); + resultMap.put("deviceErrorRecordList", null); + return null; + }); + + CompletableFuture allQuery = CompletableFuture.allOf( + mixingCompletableFuture, + productCompletableFuture, + historyCompletableFuture, + deviceRunStatCompletableFuture, + errorCompletableFuture, + errorRecordCompletableFuture); + CompletableFuture> future + = allQuery.thenApply((result) -> resultMap).exceptionally((e) -> { + log.error(e.getMessage(), e); + return null; + }); + future.join(); + return resultMap; + } + + @Override + public Object deviceCondition() { + List res = new ArrayList<>(); + // 获取所有设备 + List allDevice = cockPitMapper.selectAllDevice(); + if (allDevice.isEmpty()) { + return null; + } + JSONArray param = new JSONArray(Collections.singletonList(allDevice)); + AcsResponse devicesStatus = wmsToAcsService.getDeviceStatus(param); + JSONArray data = ObjectUtil.isNotEmpty(devicesStatus) ? devicesStatus.getData() : param; +// JSONObject devicesStatus = null; + // 初始化数据 数组下标:0关机 1待机 2生产中 3故障 + JSONObject total = new JSONObject(); + DeviceEnum[] values = DeviceEnum.values(); + for (DeviceEnum deviceEnum : values) { + total.put(deviceEnum.getCode(), new int[4]); + } + // 遍历判断 + for (int i = 0; i < data.size(); i++) { + JSONObject device = data.getJSONObject(i); + Integer devicesStatus1 = ObjectUtil.isNotEmpty(device.getInteger("status")) + ? device.getInteger("status") + : 0; + String regionCode = device.getString("region_code"); + DeviceEnum deviceEnumByCode = DeviceEnum.getDeviceEnumByCode(regionCode); // 获取属于哪种设备 + int[] ints = (int[]) total.get(deviceEnumByCode.getCode()); + ints[devicesStatus1] = ints[devicesStatus1] + 1; + total.put(deviceEnumByCode.getCode(), ints); + } + // 返回输出值 + for (DeviceEnum value : values) { // 4个 + int[] ints = (int[]) total.get(value.getCode()); + DeviceConditionVo dto = new DeviceConditionVo(); + dto.setDeviceName(value.getDevice_name()); // 列名 + dto.setShutdown(ints[0]); + dto.setStandby(ints[1]); + dto.setRunning(ints[2]); + dto.setFailure(ints[3]); + res.add(dto); + } + return res; + } + +// @Override +// public MixingDetailVo selectMixingDetail(Map whereJson) { +//// Object deviceCode = ObjectUtil.isNotEmpty(whereJson.get("deviceCode")); +//// if (ObjectUtil.isEmpty(deviceCode)){ +//// return null; +//// } +// //todo 假数据 +// MixingDetailVo res = new MixingDetailVo(); +// res.setPoint("8"); +// res.setMaterialCode("W001"); +// res.setMaterialName("物料1"); +// res.setWeight("800"); +// res.setUpdateTime("2020-11-28 09:09:09"); +// return res; +// } + + @Override + public List selectInOutKilnDetail() { + //todo 确定每托盘数量 + List res = new ArrayList<>(); + InOutKilnVo in = cockPitMapper.selectInKilnInfo(); + in.setStat("1"); + in.setPointName("入窑输送线"); + in.setWorkTime("3.5"); + in.setMaterialNum("25000"); + InOutKilnVo out = cockPitMapper.selectOutKilnInfo(); + if (null == out){ + out = new InOutKilnVo(); + } + out.setStat("1"); + out.setPointName("出窑输送线"); + out.setWorkTime("3.5"); + out.setMaterialNum("25000"); + out.setDeliveredMaterialNum("25000"); + res.add(in); + res.add(out); + return res; + } + + @Override + public KilnVo selectKilnDetail() { + KilnVo kilnVo = cockPitMapper.selectKilnInfo(); + kilnVo.setPointName("窑1"); + kilnVo.setWorkTime("3.5"); + kilnVo.setMaterialNum("5000"); + kilnVo.setProduceNum("25000"); + List kilnMaterialInfo = cockPitMapper.selectKilnMaterialInfo(); + kilnVo.setMaterialInfos(kilnMaterialInfo); + return kilnVo; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java index 182da07..88995b6 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.java @@ -1,9 +1,6 @@ package org.nl.wms.cockpit.service.mapper; -import org.nl.wms.cockpit.service.dao.PersonnelMonthlyProductionVo; -import org.nl.wms.cockpit.service.dao.PressProductHeaderVo; -import org.nl.wms.cockpit.service.dao.ProductTaskVo; -import org.nl.wms.cockpit.service.dao.ShiftProductionVo; +import org.nl.wms.cockpit.service.dao.*; import java.util.List; @@ -13,11 +10,33 @@ import java.util.List; * @Date: 2023/9/25 */ public interface CockPitMapper { - List getPressProductHeaderList(String dayShift); + List getPressProductHeaderList(); - List getShiftProductionList(String dayShift); - - List getPersonnelMonthlyProductionList(String dayShift); + List getShiftProductionList(); + List getPressOrderVoList(); List getProductionTaskList(); + + List getSortingLine(); + + List getUnstackingList(); + + List getLastWorkOrderList(); + + List getMixingList(); + + List getPressWorkerOrder(); + + List getHistoryList(); + + List selectAllDevice(); + + InOutKilnVo selectInKilnInfo(); + + InOutKilnVo selectOutKilnInfo(); + + KilnVo selectKilnInfo(); + List selectKilnMaterialInfo(); + + } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml index c46e391..14b76cc 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/cockpit/service/mapper/CockPitMapper.xml @@ -2,65 +2,220 @@ - + SELECT SUM(w.plan_qty) AS planQty, + SUM(w.real_qty) AS realQty, + FORMAT( + IF + (SUM(w.plan_qty) != 0, SUM(w.real_qty) / SUM(w.plan_qty), 0), + 2 + ) AS rate, + m.order_number as orderNumber + FROM pdm_bd_workorder w + LEFT JOIN md_base_material m ON m.material_id = w.material_id + WHERE + DATE ( w.produce_date ) = CURDATE() + GROUP BY + m.order_number + + + + + + + + + + + + + + + + + + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/IDasDeviceErrorRecordService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/IDasDeviceErrorRecordService.java new file mode 100644 index 0000000..378280c --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/IDasDeviceErrorRecordService.java @@ -0,0 +1,33 @@ +package org.nl.wms.das.device.record.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.cockpit.service.dao.DeviceErrorVo; +import org.nl.wms.das.device.check.service.dao.DasDeviceCheckRecord; +import org.nl.wms.das.device.record.service.dao.DasDeviceErrorRecord; +import org.nl.wms.pda.service.dao.vo.PdaResponseVo; + +import java.util.List; +import java.util.Map; +import java.util.Set; + +/** +* @description 服务接口 +* @author lyd +* @date 2023-08-01 +**/ +public interface IDasDeviceErrorRecordService extends IService { + + IPage queryAll( PageQuery pageable); + + /** + * 创建 + * @param entity / + */ + int create(DasDeviceErrorRecord entity); + + List queryErrorVo(); + + List queryRecord(); +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/DasDeviceErrorRecord.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/DasDeviceErrorRecord.java new file mode 100644 index 0000000..578731e --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/DasDeviceErrorRecord.java @@ -0,0 +1,35 @@ +package org.nl.wms.das.device.record.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author Administrator + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("das_device_error_record") +public class DasDeviceErrorRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "record_id", type = IdType.NONE) + @ApiModelProperty(value = "记录标识") + private String record_id; + + @ApiModelProperty(value = "设备号") + private String device_code; + + @ApiModelProperty(value = "记录时间") + private String record_time; + + @ApiModelProperty(value = "故障") + private String error; + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.java new file mode 100644 index 0000000..7ca21c8 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.java @@ -0,0 +1,17 @@ +package org.nl.wms.das.device.record.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.cockpit.service.dao.DeviceErrorVo; +import org.nl.wms.das.device.record.service.dao.DasDeviceErrorRecord; + +import java.util.List; + + +/** + * @author Administrator + */ +public interface DasDeviceErrorRecordMapper extends BaseMapper { + + List queryErrorVo(); + +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.xml b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.xml new file mode 100644 index 0000000..09bd19c --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/dao/mapper/DasDeviceErrorRecordMapper.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/impl/IDasDeviceErrorRecordServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/impl/IDasDeviceErrorRecordServiceImpl.java new file mode 100644 index 0000000..ab90d69 --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/das/device/record/service/impl/IDasDeviceErrorRecordServiceImpl.java @@ -0,0 +1,61 @@ +package org.nl.wms.das.device.record.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.cockpit.service.dao.DeviceErrorVo; +import org.nl.wms.das.device.check.service.dao.DasDeviceCheckRecord; +import org.nl.wms.das.device.check.service.dao.mapper.DasDeviceCheckRecordMapper; +import org.nl.wms.das.device.record.service.IDasDeviceErrorRecordService; +import org.nl.wms.das.device.record.service.dao.DasDeviceErrorRecord; +import org.nl.wms.das.device.record.service.dao.mapper.DasDeviceErrorRecordMapper; +import org.nl.wms.pda.service.dao.vo.PdaResponseVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; + +/** + * @author Administrator + */ +@Slf4j +@Service +public class IDasDeviceErrorRecordServiceImpl extends ServiceImpl implements IDasDeviceErrorRecordService { + @Autowired + private DasDeviceErrorRecordMapper dasDeviceCheckRecordMapper; + + @Override + public IPage queryAll(PageQuery page) { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.orderByDesc(DasDeviceErrorRecord::getRecord_time); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + dasDeviceCheckRecordMapper.selectPage(pages, lam); + return pages; + } + + @Override + public int create(DasDeviceErrorRecord entity) { + entity.setRecord_id(IdUtil.getSnowflake(1, 1).nextIdStr()); + entity.setRecord_time(DateUtil.now()); + return dasDeviceCheckRecordMapper.insert(entity); + } + + @Override + public List queryErrorVo() { + return dasDeviceCheckRecordMapper.queryErrorVo(); + } + + @Override + public List queryRecord() { + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.orderByDesc(DasDeviceErrorRecord::getRecord_time); + lam.last("LIMIT 100"); + return dasDeviceCheckRecordMapper.selectList(lam); + } +} diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java index 3086b28..1880cf5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/database/material/service/impl/MdBaseMaterialServiceImpl.java @@ -26,10 +26,10 @@ import java.util.Set; /** -* @description 服务实现 -* @author lyd -* @date 2023-05-05 -**/ + * @author lyd + * @description 服务实现 + * @date 2023-05-05 + **/ @Slf4j @Service public class MdBaseMaterialServiceImpl extends ServiceImpl implements IMdBaseMaterialService { @@ -40,7 +40,7 @@ public class MdBaseMaterialServiceImpl extends ServiceImpl queryAll(Map whereJson, PageQuery page){ + public IPage queryAll(Map whereJson, PageQuery page) { String blurry = ObjectUtil.isNotEmpty(whereJson.get("blurry")) ? whereJson.get("blurry").toString() : null; Boolean is_used = ObjectUtil.isNotEmpty(whereJson.get("is_used")) ? Boolean.valueOf(whereJson.get("is_used").toString()) : null; diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java index d66cf3a..d115475 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java @@ -34,5 +34,12 @@ public class AcsToWmsController { public ResponseEntity apply(@RequestBody JSONObject param) { return new ResponseEntity<>(acsToWmsService.acsApply(param), HttpStatus.OK); } + @PostMapping("/errorDeviceRecord") + @ApiOperation("设备异常记录") + @Log("设备异常记录") + @SaIgnore + public ResponseEntity errorDeviceRecord(@RequestBody JSONObject param) { + return new ResponseEntity<>(acsToWmsService.errorDeviceRecord(param), HttpStatus.OK); + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index a0e7d07..292768b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -59,4 +59,6 @@ public interface AcsToWmsService { /** 分拣 申请取走满料盅托盘 任务不下发*/ BaseResponse woodenPalletBinding(JSONObject param); + + JSONObject errorDeviceRecord(JSONObject param); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java index ab3ab82..f602354 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java @@ -1,5 +1,7 @@ package org.nl.wms.ext.acs.service; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import org.nl.wms.ext.acs.service.dto.ResultForAcs; import org.nl.wms.ext.acs.service.dto.to.acs.DeviceInfoDto; import org.nl.wms.ext.acs.service.dto.to.acs.PutActionRequest; @@ -43,4 +45,9 @@ public interface WmsToAcsService { * @return */ AcsResponse getDeviceStatusByCode(List list); + + /** + * 获取设备运行状态-大屏 + */ + AcsResponse getDeviceStatus(JSONArray param); } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 54efd12..4afc527 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -13,6 +13,8 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; import org.nl.system.service.notice.ISysNoticeService; +import org.nl.wms.das.device.record.service.IDasDeviceErrorRecordService; +import org.nl.wms.das.device.record.service.dao.DasDeviceErrorRecord; import org.nl.wms.das.inspection.service.IDasQualityInspectionService; import org.nl.wms.database.brick.service.IMdBaseBrickInfoService; import org.nl.wms.database.material.service.IMdBaseMaterialService; @@ -128,6 +130,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Autowired private YZMapper yzMapper; + @Autowired + private IDasDeviceErrorRecordService dasDeviceErrorRecordService; + // 初始化反射方法 @PostConstruct public void initCacheMethod() { @@ -1038,4 +1043,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { vehiclematerialgroupService.saveOrUpdate(groupEntity); return BaseResponse.responseOk(requestNo); } + + @Override + public JSONObject errorDeviceRecord(JSONObject param) { + DasDeviceErrorRecord dasDeviceErrorRecord = new DasDeviceErrorRecord(); + dasDeviceErrorRecord.setDevice_code( param.getString("device_code")); + dasDeviceErrorRecord.setError(param.getString("error")); + dasDeviceErrorRecordService.create(dasDeviceErrorRecord); + JSONObject result = new JSONObject(); + result.put("status", org.springframework.http.HttpStatus.OK.value()); + result.put("message", "故障上报完成!"); + return result; + } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 1fd58c9..0db1be7 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -1,6 +1,8 @@ package org.nl.wms.ext.acs.service.impl; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.ext.acs.service.dto.ResultForAcs; @@ -16,6 +18,7 @@ import org.nl.wms.sch.task_manage.task.AcsUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -64,4 +67,10 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { interactRecordService.saveRecord("获取设备信息", list, resultForAcs, GeneralDefinition.LMS_ACS); return resultForAcs; } + + @Override + public AcsResponse getDeviceStatus(JSONArray whereJson) { + String api = "api/wms/getDeviceStatus"; + return AcsUtil.notifyAcs2(api, whereJson); + } }