From 5b3b271b3e1d71ff182d0e363385fa5130b2123d Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Sun, 29 Sep 2024 19:28:59 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E8=AE=BE=E5=A4=87=E6=95=85=E9=9A=9C?= =?UTF-8?q?=E5=8A=9F=E8=83=BDwql=E6=94=B9=E6=88=90mybatis=20plus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller}/FaultDeviceController.java | 33 +- .../service/FaultDeviceService.java | 50 +++ .../faultdevice/service/dao/FaultDevice.java | 45 +++ .../service/dao/MonitorDevice.java | 52 +++ .../service/dao/mapper/FaultDeviceMapper.java | 13 + .../service/dao/mapper/FaultDeviceMapper.xml | 5 + .../dao/mapper/MonitorDeviceMapper.java | 9 + .../dao/mapper/MonitorDeviceMapper.xml | 14 + .../faultdevice/service/dto/FaultQuery.java | 25 ++ .../service/dto/MonitorDeviceDto.java | 56 +++ .../service/impl/FaultDeviceServiceImpl.java | 246 ++++++++++++++ .../master/service/FaultDeviceService.java | 85 ----- .../service/impl/FaultDeviceServiceImpl.java | 318 ------------------ .../wms/basedata/master/wql/QMD_BI_FAULT.wql | 105 ------ .../wms/ext/acs/service/WmsToAcsService.java | 4 +- .../wms/ext/mes/rest/LmsToMesController.java | 2 - .../views/wms/agvrush/devicecharge/index.vue | 25 +- .../master/faultdevice/faultdevice.js | 18 +- .../wms/basedata/master/faultdevice/index.vue | 8 +- 19 files changed, 539 insertions(+), 574 deletions(-) rename lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/{rest => faultdevice/controller}/FaultDeviceController.java (57%) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/FaultDeviceService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/FaultDevice.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/MonitorDevice.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.xml create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.xml create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/FaultQuery.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/MonitorDeviceDto.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/impl/FaultDeviceServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/FaultDeviceService.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java delete mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_BI_FAULT.wql diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/FaultDeviceController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/controller/FaultDeviceController.java similarity index 57% rename from lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/FaultDeviceController.java rename to lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/controller/FaultDeviceController.java index eb3b0d7..8bfadb4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/rest/FaultDeviceController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/controller/FaultDeviceController.java @@ -1,16 +1,18 @@ -package org.nl.wms.basedata.master.rest; +package org.nl.wms.basedata.master.faultdevice.controller; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.common.TableDataInfo; +import org.nl.common.domain.query.PageQuery; import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.master.service.FaultDeviceService; -import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; +import org.nl.wms.basedata.master.faultdevice.service.FaultDeviceService; +import org.nl.wms.basedata.master.faultdevice.service.dao.FaultDevice; +import org.nl.wms.basedata.master.faultdevice.service.dto.FaultQuery; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.Map; @@ -31,43 +33,26 @@ public class FaultDeviceController { @GetMapping @Log("查询设备故障处理表") - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(faultDeviceService.queryAll(whereJson, page), HttpStatus.OK); + public ResponseEntity query(FaultQuery whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(faultDeviceService.queryAll(whereJson, page)), HttpStatus.OK); } @GetMapping("/deviceCharge") @Log("查询说有设备故障") - public ResponseEntity queryDeviceAll(@RequestParam Map whereJson, Pageable page) { return new ResponseEntity<>(faultDeviceService.queryDeviceAll(whereJson, page), HttpStatus.OK); } - @PostMapping - @Log("新增设备故障处理表") - - public ResponseEntity create(@Validated @RequestBody CustomerbaseDto dto) { - faultDeviceService.create(dto); - return new ResponseEntity<>(HttpStatus.CREATED); - } - @PutMapping @Log("修改设备故障处理表") - public ResponseEntity update(@RequestBody JSONObject whereJson) { + public ResponseEntity update(@RequestBody FaultDevice whereJson) { faultDeviceService.update(whereJson); return new ResponseEntity<>(HttpStatus.NO_CONTENT); } - @Log("删除设备故障处理表") - - @DeleteMapping - public ResponseEntity delete(@RequestBody Long[] ids) { - faultDeviceService.deleteAll(ids); - return new ResponseEntity<>(HttpStatus.OK); - } @Log("同步信息") - @PostMapping("/syncInfo") public ResponseEntity syncInfo() { faultDeviceService.syncInfo(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/FaultDeviceService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/FaultDeviceService.java new file mode 100644 index 0000000..5de4290 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/FaultDeviceService.java @@ -0,0 +1,50 @@ +package org.nl.wms.basedata.master.faultdevice.service; + +import com.alibaba.fastjson.JSONObject; +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.basedata.master.faultdevice.service.dao.FaultDevice; +import org.nl.wms.basedata.master.faultdevice.service.dto.FaultQuery; +import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +/** + * @author liuxy + * @description 服务接口 + * @date 2023-04-20 + **/ +public interface FaultDeviceService extends IService { + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + IPage queryAll(FaultQuery whereJson, PageQuery page); + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryDeviceAll(Map whereJson, Pageable page); + /** + * 编辑 + * + * @param whereJson / + */ + void update(FaultDevice whereJson); + + /** + * 同步信息 + */ + void syncInfo(); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/FaultDevice.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/FaultDevice.java new file mode 100644 index 0000000..f4a9994 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/FaultDevice.java @@ -0,0 +1,45 @@ +package org.nl.wms.basedata.master.faultdevice.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("em_bi_faultdisposedevice") +public class FaultDevice implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "fault_id", type = IdType.NONE) + private String fault_id; + + private String fault_code; + + private String fault_info; + + private String fault_type; + + private String solve_mode; + + private String create_id; + + private String create_name; + + private String create_time; + + private String update_id; + + private String update_name; + + private String update_time; + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/MonitorDevice.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/MonitorDevice.java new file mode 100644 index 0000000..f205fda --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/MonitorDevice.java @@ -0,0 +1,52 @@ +package org.nl.wms.basedata.master.faultdevice.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-29 + * @description: + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("em_bi_monitordevice") +public class MonitorDevice implements Serializable { + private static final long serialVersionUID = 1L; + + @TableId(value = "device_id", type = IdType.NONE) + private String device_id; + + private String device_code; + + private String device_name; + + private String product_area; + + private String region_code; + + private String parent_node; + + private String fault_type; + + private String is_crux; + + private String create_id; + + private String create_name; + + private String create_time; + + private String update_id; + + private String update_name; + + private String update_time; + + private String send_szls; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.java new file mode 100644 index 0000000..fa40e56 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.java @@ -0,0 +1,13 @@ +package org.nl.wms.basedata.master.faultdevice.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.basedata.master.faultdevice.service.dao.FaultDevice; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +public interface FaultDeviceMapper extends BaseMapper { + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.xml new file mode 100644 index 0000000..383898b --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/FaultDeviceMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.java new file mode 100644 index 0000000..d51a011 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.java @@ -0,0 +1,9 @@ +package org.nl.wms.basedata.master.faultdevice.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.nl.wms.basedata.master.faultdevice.service.dao.MonitorDevice; + +public interface MonitorDeviceMapper extends BaseMapper { + + String getDeviceStrs(); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.xml new file mode 100644 index 0000000..63cdec7 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dao/mapper/MonitorDeviceMapper.xml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/FaultQuery.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/FaultQuery.java new file mode 100644 index 0000000..24fd368 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/FaultQuery.java @@ -0,0 +1,25 @@ +package org.nl.wms.basedata.master.faultdevice.service.dto; + +import lombok.Data; +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-27 + * @description: + */ +@Data +public class FaultQuery implements Serializable { + //托盘号 + private String fault_code; + //物料条码号 + private String fault_type; + //物料名称 + private String device_code; + //供应商编码 + private String is_fault; + //供应商编码 + private String region_code; + //供应商名称 + private String plant_code; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/MonitorDeviceDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/MonitorDeviceDto.java new file mode 100644 index 0000000..99fd31a --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/dto/MonitorDeviceDto.java @@ -0,0 +1,56 @@ +package org.nl.wms.basedata.master.faultdevice.service.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; + +/** + * @author: zds + * @date: 2024-09-29 + * @description: + */ +@Data +public class MonitorDeviceDto implements Serializable { + + private String device_id; + + private String device_code; + + private String device_name; + + private String product_area; + + private String region_code; + + private String parent_node; + + private String fault_type; + + private String is_crux; + + private String create_id; + + private String create_name; + + private String create_time; + + private String update_id; + + private String update_name; + + private String update_time; + + private String send_szls; + + private String fault_code; + + private String fault_info; + + private String solve_mode; + + private String is_fault; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/impl/FaultDeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/impl/FaultDeviceServiceImpl.java new file mode 100644 index 0000000..c53a044 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/faultdevice/service/impl/FaultDeviceServiceImpl.java @@ -0,0 +1,246 @@ +package org.nl.wms.basedata.master.faultdevice.service.impl; + + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +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.common.utils.SecurityUtils; +import org.nl.modules.common.exception.BadRequestException; +import org.nl.wms.basedata.master.faultdevice.service.FaultDeviceService; +import org.nl.wms.basedata.master.faultdevice.service.dao.FaultDevice; +import org.nl.wms.basedata.master.faultdevice.service.dao.MonitorDevice; +import org.nl.wms.basedata.master.faultdevice.service.dao.mapper.FaultDeviceMapper; +import org.nl.wms.basedata.master.faultdevice.service.dao.mapper.MonitorDeviceMapper; +import org.nl.wms.basedata.master.faultdevice.service.dto.FaultQuery; +import org.nl.wms.basedata.master.faultdevice.service.dto.MonitorDeviceDto; +import org.nl.wms.ext.acs.service.WmsToAcsService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.List; +import java.util.Map; + +/** + * @author liuxy + * @description 服务实现 + * @date 2023-04-20 + **/ +@Service +@Slf4j +public class FaultDeviceServiceImpl extends ServiceImpl implements FaultDeviceService { + + @Autowired + private FaultDeviceMapper faultDeviceMapper; + @Autowired + private MonitorDeviceMapper monitorDeviceMapper; + @Autowired + private WmsToAcsService wmsToAcsService; + + @Override + public IPage queryAll(FaultQuery whereJson, PageQuery page) { + + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(ObjectUtil.isNotEmpty(whereJson.getFault_code()), FaultDevice::getFault_code, whereJson.getFault_code()) + .eq(ObjectUtil.isNotEmpty(whereJson.getFault_type()), FaultDevice::getFault_type, whereJson.getFault_type()) + .orderByAsc(FaultDevice::getCreate_time); + faultDeviceMapper.selectPage(pages, lam); + return pages; + } + + @Override + public Map queryDeviceAll(Map whereJson, Pageable page) { + + String query_device_code = MapUtil.getStr(whereJson, "device_code"); + String query_is_fault = MapUtil.getStr(whereJson, "is_fault"); + String query_region_code = MapUtil.getStr(whereJson, "region_code"); + String query_product_area = MapUtil.getStr(whereJson, "plant_code"); + if (StrUtil.isEmpty(query_product_area)) { + throw new BadRequestException("输入的区域不能为空!"); + } + JSONObject param = new JSONObject(); + if (ObjectUtil.isNotEmpty(query_device_code)) { + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(MonitorDevice::getDevice_code,query_device_code); + List monitorDeviceList = monitorDeviceMapper.selectList(lam); + if(monitorDeviceList.size()>0){ + param.put("device_code", query_device_code); + param.put("product_area", monitorDeviceList.get(0).getProduct_area()); + } + } else { + // 为空则只需要查询专机设备 + String str = monitorDeviceMapper.getDeviceStrs(); + param.put("device_code", str); + param.put("product_area", query_product_area); + } + // LMS查看ACS实时报警信息 + JSONObject result = wmsToAcsService.realTimefaultInfo(param); + JSONArray data = result.getJSONArray("data"); + + // 查看AVG车辆信息 + JSONObject result2 = wmsToAcsService.queryDeviceInfo(param); + JSONArray rows = result2.getJSONArray("data"); + + for (int i = 0; i < rows.size(); i++) { + JSONObject jsonObject = rows.getJSONObject(i); + double electricity = jsonObject.getDoubleValue("electricity"); + if (electricity <= 30) { + // 新增一条agv报警信息 + JSONObject json = new JSONObject(); + String car_no = jsonObject.getString("car_no"); + if (StrUtil.equals(car_no, "1")) { + json.put("device_name", "一楼1号AGV"); + } else if (StrUtil.equals(car_no, "2")) { + json.put("device_name", "二楼1号AGV"); + } else if (StrUtil.equals(car_no, "3")) { + json.put("device_name", "二楼2号AGV"); + } + json.put("device_code", jsonObject.getString("car_no")); + json.put("fault_code", "99"); + json.put("fault_info", "电量不足"); + json.put("fault_type", "agv_error_type"); + data.add(json); + } + } + // 根据入参处理对应数据 + JSONArray objects = new JSONArray(); + for (int i = 0; i < data.size(); i++) { + JSONObject json = data.getJSONObject(i); + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("region_code", query_region_code); + map.put("product_area", query_product_area); + map.put("device_code", json.getString("device_code")); + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(ObjectUtil.isNotEmpty(json.getString("device_code")),MonitorDevice::getDevice_code,json.getString("device_code")); + queryWrapper.eq(ObjectUtil.isNotEmpty(query_product_area),MonitorDevice::getProduct_area,query_product_area); + queryWrapper.eq(ObjectUtil.isNotEmpty(query_region_code),MonitorDevice::getRegion_code,query_region_code); + List monitorDeviceList = monitorDeviceMapper.selectList(queryWrapper); + + if (ObjectUtil.isEmpty(monitorDeviceList)) { + continue; + } + MonitorDevice jsonDeviceOld = monitorDeviceList.get(0); + + MonitorDeviceDto jsonDevice = new MonitorDeviceDto(); + + BeanUtils.copyProperties(jsonDeviceOld, jsonDevice); + // 单独处理agv报警 + if (StrUtil.equals(json.getString("fault_type"), "agv_error_type")) { + String[] fault_codes = json.getString("fault_code").split(","); + if (fault_codes.length > 1) { + // 根据每个报警码找找对应解决信息 + StringBuilder stringBuilder = new StringBuilder(); + for (int j = 0; j < fault_codes.length; j++) { + // 获取报警码 + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(FaultDevice::getFault_code,fault_codes[j]); + lam.eq(FaultDevice::getFault_type,json.getString("fault_type")); + FaultDevice jsonFault = faultDeviceMapper.selectOne(lam); + + stringBuilder.append(jsonFault.getSolve_mode()); + if (fault_codes.length - 1 > j) { + stringBuilder.append(","); + } + } + jsonDevice.setFault_code("1"); + jsonDevice.setFault_info(json.getString("fault_info")); + jsonDevice.setFault_type(json.getString("fault_type")); + jsonDevice.setSolve_mode(stringBuilder.toString()); + } + } + // 获取报警码 + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(FaultDevice::getFault_code,json.getString("fault_code")); + lam.eq(FaultDevice::getFault_type,json.getString("fault_type")); + FaultDevice jsonFault = faultDeviceMapper.selectOne(lam); + if (ObjectUtil.isNotEmpty(jsonFault)) { + jsonDevice.setFault_code(jsonFault.getFault_code()); + jsonDevice.setFault_info(jsonFault.getFault_info()); + jsonDevice.setFault_type(jsonFault.getFault_type()); + jsonDevice.setSolve_mode(jsonFault.getSolve_mode()); + } + // 判断是否异常 + if (!StrUtil.equals(json.getString("fault_code"), "0")) { + jsonDevice.setIs_fault("1"); + } else { + jsonDevice.setIs_fault("0"); + } + //根据查询条件,筛选设备数据 + if (StrUtil.equals(query_is_fault, "1")) { + if (!StrUtil.equals(json.getString("fault_code"), "0")) { + objects.add(jsonDevice); + } + } else if (StrUtil.equals(query_is_fault, "0")) { + if (StrUtil.equals(json.getString("fault_code"), "0")) { + objects.add(jsonDevice); + } + } else { + objects.add(jsonDevice); + } + } + JSONObject json = new JSONObject(); + json.put("content", objects); + return json; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(FaultDevice whereJson) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + + whereJson.setUpdate_time(DateUtil.now()); + whereJson.setUpdate_id(currentUserId); + whereJson.setUpdate_name(nickName); + faultDeviceMapper.updateById(whereJson); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void syncInfo() { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + // 调用acs接口获取信息 + JSONObject json = wmsToAcsService.syncfaultInfo(); + JSONArray data = json.getJSONArray("data"); + + for (int i = 0; i < data.size(); i++) { + JSONObject jsonDtl = data.getJSONObject(i); + LambdaQueryWrapper lam = new LambdaQueryWrapper(); + lam.eq(FaultDevice::getFault_code,jsonDtl.getString("fault_code")); + lam.eq(FaultDevice::getFault_type,jsonDtl.getString("fault_type")); + FaultDevice faultDevice = faultDeviceMapper.selectOne(lam); + if (ObjectUtil.isNotEmpty(faultDevice)) { + faultDevice.setFault_info(jsonDtl.getString("fault_info")); + faultDevice.setUpdate_name(nickName); + faultDevice.setUpdate_id(currentUserId); + faultDevice.setUpdate_time(DateUtil.now()); + faultDeviceMapper.updateById(faultDevice); + } else { + jsonDtl.put("fault_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtl.put("create_id", currentUserId); + jsonDtl.put("create_name", nickName); + jsonDtl.put("create_time", DateUtil.now()); + jsonDtl.put("update_id", currentUserId); + jsonDtl.put("update_name", nickName); + jsonDtl.put("update_time", DateUtil.now()); + BeanUtils.copyProperties(jsonDtl, faultDevice); + faultDeviceMapper.insert(faultDevice); + } + } + } +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/FaultDeviceService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/FaultDeviceService.java deleted file mode 100644 index 8d79ac7..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/FaultDeviceService.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.nl.wms.basedata.master.service; - -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -/** - * @author liuxy - * @description 服务接口 - * @date 2023-04-20 - **/ -public interface FaultDeviceService { - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryAll(Map whereJson, Pageable page); - - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map queryDeviceAll(Map whereJson, Pageable page); - - /** - * 查询所有数据不分页 - * - * @param whereJson 条件参数 - * @return List - */ - List queryAll(Map whereJson); - - /** - * 根据ID查询 - * - * @param cust_id ID - * @return Customerbase - */ - CustomerbaseDto findById(Long cust_id); - - /** - * 根据编码查询 - * - * @param code code - * @return Customerbase - */ - CustomerbaseDto findByCode(String code); - - - /** - * 创建 - * - * @param dto / - */ - void create(CustomerbaseDto dto); - - /** - * 编辑 - * - * @param whereJson / - */ - void update(JSONObject whereJson); - - /** - * 多选删除 - * - * @param ids / - */ - void deleteAll(Long[] ids); - - /** - * 同步信息 - */ - void syncInfo(); -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java deleted file mode 100644 index 3584782..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java +++ /dev/null @@ -1,318 +0,0 @@ -package org.nl.wms.basedata.master.service.impl; - - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.utils.SecurityUtils; -import org.nl.modules.common.exception.BadRequestException; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.SpringContextHolder; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.master.service.FaultDeviceService; -import org.nl.wms.basedata.master.service.dto.CustomerbaseDto; -import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.List; -import java.util.Map; - -/** - * @author liuxy - * @description 服务实现 - * @date 2023-04-20 - **/ -@Service -@RequiredArgsConstructor -@Slf4j -public class FaultDeviceServiceImpl implements FaultDeviceService { - - @Override - public Map queryAll(Map whereJson, Pageable page) { - String fault_code = MapUtil.getStr(whereJson, "fault_code"); - String fault_type = MapUtil.getStr(whereJson, "fault_type"); - - JSONObject map = new JSONObject(); - map.put("flag", "1"); - map.put("fault_code", fault_code); - map.put("fault_type", fault_type); - - JSONObject json = WQL.getWO("QMD_BI_FAULT").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time DESC"); - - return json; - } - - @Override - public Map queryDeviceAll(Map whereJson, Pageable page) { - WQLObject faultTab = WQLObject.getWQLObject("EM_BI_FaultDisposeDevice"); - - String device_code = MapUtil.getStr(whereJson, "device_code"); - String is_fault = MapUtil.getStr(whereJson, "is_fault"); - String region_code = MapUtil.getStr(whereJson, "region_code"); - String product_area = MapUtil.getStr(whereJson, "plant_code"); - if (StrUtil.isEmpty(product_area)) { - throw new BadRequestException("输入的区域不能为空!"); - } - - JSONObject param = new JSONObject(); - if (ObjectUtil.isNotEmpty(device_code)) { - JSONObject device_jo = WQLObject.getWQLObject("EM_BI_MonitorDevice").query("device_code = '" + device_code + "'").uniqueResult(0); - param.put("device_code", device_code); - param.put("product_area", device_jo.getString("product_area")); - } else { - // 不为空则只需要查询专机设备 - JSONObject jsonStr = WQL.getWO("QMD_BI_FAULT").addParam("flag", "3").process().uniqueResult(0); - String str = jsonStr.getString("str"); - param.put("device_code", str); - param.put("product_area", product_area); - } - - // 调用acs接口获取设备 - JSONObject result = SpringContextHolder.getBean(WmsToAcsServiceImpl.class).realTimefaultInfo(param); - JSONArray data = result.getJSONArray("data"); - - JSONObject result2 = SpringContextHolder.getBean(WmsToAcsServiceImpl.class).queryDeviceInfo(param); - JSONArray rows = result2.getJSONArray("data"); - - for (int i = 0; i < rows.size(); i++) { - JSONObject jsonObject = rows.getJSONObject(i); - double electricity = jsonObject.getDoubleValue("electricity"); - - if (electricity <= 30) { - // 新增一条agv报警信息 - JSONObject json = new JSONObject(); - String car_no = jsonObject.getString("car_no"); - - if (StrUtil.equals(car_no, "1")) { - json.put("device_name", "一楼1号AGV"); - } else if (StrUtil.equals(car_no, "2")) { - json.put("device_name", "二楼1号AGV"); - } else if (StrUtil.equals(car_no, "3")) { - json.put("device_name", "二楼2号AGV"); - } - json.put("device_code", jsonObject.getString("car_no")); - json.put("fault_code", "99"); - json.put("fault_info", "电量不足"); - json.put("fault_type", "agv_error_type"); - data.add(json); - } - } - - // 根据入参处理对应数据 - JSONArray objects = new JSONArray(); - - for (int i = 0; i < data.size(); i++) { - JSONObject json = data.getJSONObject(i); - - JSONObject map = new JSONObject(); - map.put("flag", "2"); - map.put("region_code", region_code); - map.put("product_area", product_area); - map.put("device_code", json.getString("device_code")); - - JSONObject jsonDevice = WQL.getWO("QMD_BI_FAULT").addParamMap(map).process().uniqueResult(0); - - if (ObjectUtil.isEmpty(jsonDevice)) { - continue; - } - - // 单独处理agv报警 - if (StrUtil.equals(json.getString("fault_type"), "agv_error_type")) { - - String[] fault_codes = json.getString("fault_code").split(","); - - if (fault_codes.length > 1) { - // 根据每个报警码找找对应解决信息 - StringBuilder stringBuilder = new StringBuilder(); - - for (int j = 0; j < fault_codes.length; j++) { - JSONObject jsonFault = faultTab.query("fault_type = '" + json.getString("fault_type") + "' and fault_code = '" + fault_codes[j] + "'").uniqueResult(0); - - stringBuilder.append(jsonFault.getString("solve_mode")); - - if (fault_codes.length - 1 > j) { - stringBuilder.append(","); - } - } - - jsonDevice.put("fault_code", "1"); - jsonDevice.put("fault_info", json.getString("fault_info")); - jsonDevice.put("fault_type", json.getString("fault_type")); - jsonDevice.put("solve_mode", stringBuilder); - } - - - } - - // 获取报警码 - JSONObject jsonFault = faultTab.query("fault_type = '" + json.getString("fault_type") + "' and fault_code = '" + json.getString("fault_code") + "'").uniqueResult(0); - - if (ObjectUtil.isNotEmpty(jsonFault)) { - jsonDevice.put("fault_code", jsonFault.getString("fault_code")); - jsonDevice.put("fault_info", jsonFault.getString("fault_info")); - jsonDevice.put("fault_type", jsonFault.getString("fault_type")); - jsonDevice.put("solve_mode", jsonFault.getString("solve_mode")); - } - - // 判断是否异常 - if (!StrUtil.equals(json.getString("fault_code"), "0")) { - jsonDevice.put("is_fault", "1"); - } else { - jsonDevice.put("is_fault", "0"); - } - - if (StrUtil.equals(is_fault, "1")) { - if (!StrUtil.equals(json.getString("fault_code"), "0")) { - objects.add(jsonDevice); - } - } else if (StrUtil.equals(is_fault, "0")) { - if (StrUtil.equals(json.getString("fault_code"), "0")) { - objects.add(jsonDevice); - } - } else { - objects.add(jsonDevice); - } - - } - JSONObject json = new JSONObject(); - json.put("content", objects); - return json; - } - - @Override - public List queryAll(Map whereJson) { - WQLObject wo = WQLObject.getWQLObject("md_cs_customerbase"); - JSONArray arr = wo.query().getResultJSONArray(0); - List list = arr.toJavaList(CustomerbaseDto.class); - return list; - } - - @Override - public CustomerbaseDto findById(Long cust_id) { - WQLObject wo = WQLObject.getWQLObject("md_cs_customerbase"); - JSONObject json = wo.query("cust_id =" + cust_id + "").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) { - return null; - } - final CustomerbaseDto obj = json.toJavaObject(CustomerbaseDto.class); - return obj; - } - - @Override - public CustomerbaseDto findByCode(String code) { - WQLObject wo = WQLObject.getWQLObject("md_cs_customerbase"); - JSONObject json = wo.query("cust_code ='" + code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(json)) { - return null; - } - final CustomerbaseDto obj = json.toJavaObject(CustomerbaseDto.class); - return obj; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(CustomerbaseDto dto) { - String cust_code = dto.getCust_code(); - CustomerbaseDto customerbaseDto = this.findByCode(cust_code); - if (customerbaseDto != null && "0".equals(customerbaseDto.getIs_delete())) { - throw new BadRequestException("存在相同的客户编号"); - } - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - dto.setCust_id(IdUtil.getSnowflake(1, 1).nextId()); - dto.setCreate_id(currentUserId); - dto.setCreate_name(nickName); - dto.setUpdate_optid(currentUserId); - dto.setUpdate_optname(nickName); - dto.setUpdate_time(now); - dto.setCreate_time(now); - - WQLObject wo = WQLObject.getWQLObject("md_cs_customerbase"); - JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto)); - wo.insert(json); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(JSONObject whereJson) { - WQLObject faultTab = WQLObject.getWQLObject("EM_BI_FaultDisposeDevice"); - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - whereJson.put("update_id", currentUserId); - whereJson.put("update_name", nickName); - whereJson.put("update_time", DateUtil.now()); - faultTab.update(whereJson); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteAll(Long[] ids) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - - WQLObject wo = WQLObject.getWQLObject("md_cs_customerbase"); - for (Long cust_id : ids) { - JSONObject param = new JSONObject(); - param.put("cust_id", String.valueOf(cust_id)); - param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); - param.put("update_time", now); - wo.update(param); - } - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void syncInfo() { - WQLObject faultTab = WQLObject.getWQLObject("EM_BI_FaultDisposeDevice"); - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - - // 调用acs接口获取信息 - JSONObject json = SpringContextHolder.getBean(WmsToAcsServiceImpl.class).syncfaultInfo(); - - JSONArray data = json.getJSONArray("data"); - - for (int i = 0; i < data.size(); i++) { - JSONObject jsonDtl = data.getJSONObject(i); - - JSONObject jsonFault = faultTab.query("fault_code = '" + jsonDtl.getString("fault_code") + "' and fault_type = '" + jsonDtl.getString("fault_type") + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonFault)) { - jsonFault.put("fault_info", jsonDtl.getString("fault_info")); - jsonFault.put("create_id", currentUserId); - jsonFault.put("create_name", nickName); - jsonFault.put("create_time", DateUtil.now()); - jsonFault.put("update_id", currentUserId); - jsonFault.put("update_name", nickName); - jsonFault.put("update_time", DateUtil.now()); - faultTab.update(jsonFault); - } else { - jsonDtl.put("fault_id", IdUtil.getSnowflake(1, 1).nextId()); - jsonDtl.put("create_id", currentUserId); - jsonDtl.put("create_name", nickName); - jsonDtl.put("create_time", DateUtil.now()); - jsonDtl.put("update_id", currentUserId); - jsonDtl.put("update_name", nickName); - jsonDtl.put("update_time", DateUtil.now()); - faultTab.insert(jsonDtl); - } - } - } -} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_BI_FAULT.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_BI_FAULT.wql deleted file mode 100644 index 630bf35..0000000 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMD_BI_FAULT.wql +++ /dev/null @@ -1,105 +0,0 @@ -[交易说明] - 交易名: 故障分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: - -[数据库] - --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 - -[IO定义] - ################################################# - ## 表字段对应输入参数 - ################################################# - 输入.flag TYPEAS s_string - 输入.fault_code TYPEAS s_string - 输入.fault_type TYPEAS s_string - 输入.region_code TYPEAS s_string - 输入.product_area TYPEAS s_string - 输入.device_code TYPEAS s_string - -[临时表] - --这边列出来的临时表就会在运行期动态创建 - -[临时变量] - --所有中间过程变量均可在此处定义 - -[业务过程] - - ########################################## - # 1、输入输出检查 # - ########################################## - - - ########################################## - # 2、主过程前处理 # - ########################################## - - - ########################################## - # 3、业务主过程 # - ########################################## - - IF 输入.flag = "1" - PAGEQUERY - SELECT - * - FROM - EM_BI_FaultDisposeDevice - WHERE - 1 = 1 - - OPTION 输入.fault_code <> "" - fault_code = 输入.fault_code - ENDOPTION - - OPTION 输入.fault_type <> "" - fault_type = 输入.fault_type - ENDOPTION - - ENDSELECT - ENDPAGEQUERY - ENDIF - - IF 输入.flag = "2" - QUERY - SELECT - * - FROM - EM_BI_MonitorDevice - WHERE - is_crux = '1' - - OPTION 输入.region_code <> "" - region_code = 输入.region_code - ENDOPTION - - OPTION 输入.product_area <> "" - product_area = 输入.product_area - ENDOPTION - - OPTION 输入.device_code <> "" - device_code = 输入.device_code - ENDOPTION - - ENDSELECT - ENDQUERY - ENDIF - - IF 输入.flag = "3" - QUERY - SELECT - GROUP_CONCAT(device_code) AS str - FROM - EM_BI_MonitorDevice - WHERE - is_crux = '1' - - ENDSELECT - ENDQUERY - ENDIF - - - diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java index 340e21f..846b098 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/WmsToAcsService.java @@ -100,7 +100,7 @@ public interface WmsToAcsService { JSONObject unLock(JSONObject jo); /** - * lms向acs请求设备信息 + * 查看AVG车辆信息 * * @param jo / * @return JSONObject @@ -123,7 +123,7 @@ public interface WmsToAcsService { JSONObject syncfaultInfo(); /** - * LMS查看ACS实时报警信息 + * LMS查看ACS实时报警信息:ACS查询所有设备报警信息返回 * * @param jo / * @return JSONObject diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/LmsToMesController.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/LmsToMesController.java index 3d544f2..2b664c5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/LmsToMesController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/mes/rest/LmsToMesController.java @@ -23,14 +23,12 @@ public class LmsToMesController { @PostMapping("/momRollFoilWeighing") @Log("LMS的PDA操作AGV下卷,AGV称重完成后AGV称重信息发送MES") - public ResponseEntity momRollFoilWeighing(@RequestBody JSONObject jo) { return new ResponseEntity<>(lmsToMesService.momRollFoilWeighing(jo), HttpStatus.OK); } @PostMapping("/momRollBakeInBound") @Log("智能桁架将母卷调进烘箱完成,智能物流发送MES") - public ResponseEntity momRollBakeInBound(@RequestBody JSONObject jo) { return new ResponseEntity<>(lmsToMesService.momRollBakeInBound(jo), HttpStatus.OK); } diff --git a/lms/nladmin-ui/src/views/wms/agvrush/devicecharge/index.vue b/lms/nladmin-ui/src/views/wms/agvrush/devicecharge/index.vue index 5c4c2ae..0a9b411 100644 --- a/lms/nladmin-ui/src/views/wms/agvrush/devicecharge/index.vue +++ b/lms/nladmin-ui/src/views/wms/agvrush/devicecharge/index.vue @@ -90,40 +90,34 @@ @selection-change="crud.selectionChangeHandler" > - - + + + + - - - + - -