From 883ee948e5bbb22653ade0ef4e7b20ee316946b6 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Sat, 23 Aug 2025 19:18:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PushProDataUseInfoController.java | 96 +++++++++++++ .../material/push/domain/MachineInfoBean.java | 44 ++++++ .../material/push/domain/ProIdsBean.java | 24 ++++ .../material/push/domain/StaticsNumsBean.java | 19 +++ .../push/mapper/ProDataUseInfoMapper.java | 32 +++++ .../push/service/ProDataUseInfoService.java | 23 +++ .../push/service/impl/ProDataUseInfoImpl.java | 61 ++++++++ .../material/push/ProDataUseInfoMapper.xml | 135 ++++++++++++++++++ 8 files changed, 434 insertions(+) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/controller/PushProDataUseInfoController.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/MachineInfoBean.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/ProIdsBean.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/StaticsNumsBean.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/mapper/ProDataUseInfoMapper.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/ProDataUseInfoService.java create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/impl/ProDataUseInfoImpl.java create mode 100644 bonus-modules/bonus-material/src/main/resources/mapper/material/push/ProDataUseInfoMapper.xml diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/controller/PushProDataUseInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/controller/PushProDataUseInfoController.java new file mode 100644 index 00000000..2500f0ef --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/controller/PushProDataUseInfoController.java @@ -0,0 +1,96 @@ +package com.bonus.material.push.controller; + +import com.bonus.common.core.exception.ServiceException; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.material.push.domain.CostPushBean; +import com.bonus.material.push.domain.MachineInfoBean; +import com.bonus.material.push.domain.ProIdsBean; +import com.bonus.material.push.domain.StaticsNumsBean; +import com.bonus.material.push.service.ProDataUseInfoService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2025/8/23 - 14:28 + */ + +@RequestMapping("/dataUseInfo") +@RestController +public class PushProDataUseInfoController extends BaseController { + + @Resource + private ProDataUseInfoService service; + /** + * 查询推送数据使用信息 + * + * @param bean + * @return + */ + @GetMapping(value = "getProDataUseInfo") + public TableDataInfo getProDataUseInfo(ProIdsBean bean) { + try { + List results = service.getProDataUseInfo(bean); + return getDataTable(results); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + /** + * 查询每个分类机具详情 + * + * @param bean + * @return + */ + @GetMapping(value = "getMachineDetails") + public TableDataInfo getMachineDetails(ProIdsBean bean) { + try { + List results = service.getMachineDetails(bean); + return getDataTable(results); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + // 查询七大类设备保有量、在用量、再修量、库存量 + @GetMapping(value = "getNumsByStatics") + public TableDataInfo getNumsByStatics(ProIdsBean bean) { + try { + List results = service.getNumsByStatics(bean); + return getDataTable(results); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + // 检验临期和检验超期数量 + @GetMapping(value = "getApproachingAndTimeout") + public TableDataInfo getApproachingAndTimeout(ProIdsBean bean) { + try { + List results = service.getApproachingAndTimeout(bean); + return getDataTable(results); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + // 临期、超期设备详情 + @GetMapping(value = "getApproachingDetails") + public TableDataInfo getApproachingDetails(ProIdsBean bean) { + try { + List results = service.getApproachingDetails(bean); + return getDataTable(results); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/MachineInfoBean.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/MachineInfoBean.java new file mode 100644 index 00000000..955b92ea --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/MachineInfoBean.java @@ -0,0 +1,44 @@ +package com.bonus.material.push.domain; + +import lombok.Data; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2025/8/23 - 14:35 + */ +@Data +public class MachineInfoBean { + // 设备名称 + private String typeName; + // 规格型号 + private String typeModelName; + // 计量单位 + private String unit; + // 数量 + private Integer num; + // 固定资产编号 + private String assetsCode; + //租赁价格 + private String rentPrice; + //库管员 + private String typeKeeperName; + // 状态 + private String status; + // 实施组织 + private String deptName; + // 工程名称 + private String proName; + // 项目管理部 + private String proCemter; + // 领用时间 + private String leaseTime; + // 到期时间 + private String expireTime; + // 机具编码 + private String maCode; + // 剩余到期天数 + private Integer daysDiff; + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/ProIdsBean.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/ProIdsBean.java new file mode 100644 index 00000000..d0fab77f --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/ProIdsBean.java @@ -0,0 +1,24 @@ +package com.bonus.material.push.domain; + +import lombok.Data; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2025/8/23 - 14:35 + */ +@Data +public class ProIdsBean { + private List proIds; + private Integer proId; + private String proName; + private Integer typeId; + private String typeName; + private Integer typeNum; +// 1 牵张设备 2 抱杆 3动力设备 4 变电专业设备 5安全工器具 6自主创新设备 7其他 + private Integer isStatics; + + // 0 检验临期 1 检验超期 + private Integer type; +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/StaticsNumsBean.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/StaticsNumsBean.java new file mode 100644 index 00000000..19b7d5ee --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/domain/StaticsNumsBean.java @@ -0,0 +1,19 @@ +package com.bonus.material.push.domain; + +import lombok.Data; + +/** + * @Author:liang.chao + * @Date:2025/8/23 - 16:29 + */ +@Data +public class StaticsNumsBean { + private Integer inventoryNum; + private Integer useNum; + private Integer repairNum; + private Integer num; + // 检验临期数量 + private Integer ApproachingNum; + // 检验超期数量 + private Integer TimeoutNum; +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/mapper/ProDataUseInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/mapper/ProDataUseInfoMapper.java new file mode 100644 index 00000000..66d561dc --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/mapper/ProDataUseInfoMapper.java @@ -0,0 +1,32 @@ +package com.bonus.material.push.mapper; + +import com.bonus.material.push.domain.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author : 阮世耀 + * @version : 1.0 + * @PackagePath: com.bonus.material.push.mapper + * @CreateTime: 2025-01-23 14:40 + * @Description: i皖送费用推送mapper + */ +@Mapper +public interface ProDataUseInfoMapper { + + List getProDataUseInfo(@Param("typeIds") List typeIds, @Param("proId") String proId); + + List getTypeId(); + + List getMachineDetails(ProIdsBean bean); + + String getTypeKeeperName(MachineInfoBean machineDetail); + + List getNumsByStatics(ProIdsBean bean); + + List getApproachingAndTimeout(ProIdsBean bean); + + List getApproachingDetails(ProIdsBean bean); +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/ProDataUseInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/ProDataUseInfoService.java new file mode 100644 index 00000000..68424b35 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/ProDataUseInfoService.java @@ -0,0 +1,23 @@ +package com.bonus.material.push.service; + +import com.bonus.material.push.domain.ProIdsBean; +import com.bonus.material.push.domain.MachineInfoBean; +import com.bonus.material.push.domain.StaticsNumsBean; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2025/8/23 - 14:29 + */ +public interface ProDataUseInfoService { + List getProDataUseInfo(ProIdsBean bean); + + List getMachineDetails(ProIdsBean bean); + + List getNumsByStatics(ProIdsBean bean); + + List getApproachingAndTimeout(ProIdsBean bean); + + List getApproachingDetails(ProIdsBean bean); +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/impl/ProDataUseInfoImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/impl/ProDataUseInfoImpl.java new file mode 100644 index 00000000..12f79538 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/push/service/impl/ProDataUseInfoImpl.java @@ -0,0 +1,61 @@ +package com.bonus.material.push.service.impl; + +import com.bonus.material.push.domain.MachineInfoBean; +import com.bonus.material.push.domain.ProIdsBean; + +import com.bonus.material.push.domain.StaticsNumsBean; +import com.bonus.material.push.mapper.ProDataUseInfoMapper; +import com.bonus.material.push.service.ProDataUseInfoService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2025/8/23 - 14:30 + */ +@Service +public class ProDataUseInfoImpl implements ProDataUseInfoService { + + @Resource + private ProDataUseInfoMapper proDataUseInfoMapper; + + @Override + public List getProDataUseInfo(ProIdsBean bean) { + List typeIds = proDataUseInfoMapper.getTypeId(); + List results = new ArrayList<>(); + for (String proId : bean.getProIds()) { + List proDataUseInfo = proDataUseInfoMapper.getProDataUseInfo(typeIds, proId); + results.addAll(proDataUseInfo); + } + return results; + } + + @Override + public List getMachineDetails(ProIdsBean bean) { + // 入参 proId /isStatics + List machineDetails = proDataUseInfoMapper.getMachineDetails(bean); + for (MachineInfoBean machineDetail : machineDetails) { + String typeKeeperName = proDataUseInfoMapper.getTypeKeeperName(machineDetail); + machineDetail.setTypeKeeperName(typeKeeperName); + } + return machineDetails; + } + + @Override + public List getNumsByStatics(ProIdsBean bean) { + return proDataUseInfoMapper.getNumsByStatics(bean); + } + + @Override + public List getApproachingAndTimeout(ProIdsBean bean) { + return proDataUseInfoMapper.getApproachingAndTimeout(bean); + } + + @Override + public List getApproachingDetails(ProIdsBean bean) { + return proDataUseInfoMapper.getApproachingDetails(bean); + } +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/push/ProDataUseInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/push/ProDataUseInfoMapper.xml new file mode 100644 index 00000000..8235d321 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/push/ProDataUseInfoMapper.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + +