From 17178c4dfb9a25a841ca3bfb92a511b4d8af30c5 Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Thu, 4 Sep 2025 11:28:32 +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 | 51 ++- .../material/push/domain/MachineInfoBean.java | 6 + .../material/push/domain/ProIdsBean.java | 1 + .../push/mapper/ProDataUseInfoMapper.java | 13 + .../push/service/ProDataUseInfoService.java | 8 + .../push/service/impl/ProDataUseInfoImpl.java | 41 ++- .../material/push/ProDataUseInfoMapper.xml | 299 ++++++++++++++++-- 7 files changed, 398 insertions(+), 21 deletions(-) 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 index f3e8d269..9f547115 100644 --- 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 @@ -5,12 +5,15 @@ import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.material.push.domain.*; +import com.bonus.material.push.mapper.ProDataUseInfoMapper; import com.bonus.material.push.service.ProDataUseInfoService; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -27,6 +30,9 @@ public class PushProDataUseInfoController extends BaseController { @Resource private ProDataUseInfoService service; + @Resource + private ProDataUseInfoMapper proDataUseInfoMapper; + /** * 查询推送数据使用信息 * @@ -93,6 +99,37 @@ public class PushProDataUseInfoController extends BaseController { } } + /** + * 保有量、在用量、再修量、库存量 装备详情 + * + * @param bean + * @return + */ + @GetMapping(value = "getAllMacheDetails") + public TableDataInfo getAllMacheDetails(ProIdsBean bean) { + List objects = new ArrayList<>(); + try { + startPage(); + if (StringUtils.isNotBlank(bean.getStatus()) && bean.getStatus().equals("在用")) { + objects = service.getUseNumsDetails(bean); + } else if (StringUtils.isNotBlank(bean.getStatus()) && bean.getStatus().equals("在修")) { + objects = service.getRepairNumsDetails(bean); + } else if (StringUtils.isNotBlank(bean.getStatus()) && bean.getStatus().equals("在库")) { + objects = service.getNumsDetails(bean); + } else { + objects = service.getAllMacheDetails(bean); + } + for (MachineInfoBean machineDetail : objects) { + String typeKeeperName = proDataUseInfoMapper.getTypeKeeperName(machineDetail); + machineDetail.setTypeKeeperName(typeKeeperName); + } + return getDataTable(objects); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + // 检验临期和检验超期数量 @GetMapping(value = "getApproachingAndTimeout") public AjaxResult getApproachingAndTimeout(ProIdsBean bean) { @@ -130,7 +167,7 @@ public class PushProDataUseInfoController extends BaseController { } } - // 竣工未退预警数量 + // 竣工未退预警数量(总公司) @GetMapping(value = "getCompletionNotRefunded") public AjaxResult getCompletionNotRefunded(ProIdsBean bean) { try { @@ -142,6 +179,18 @@ public class PushProDataUseInfoController extends BaseController { } } + // 竣工未退预警数量(分公司) + @GetMapping(value = "getCompletionNotRefundedSub") + public AjaxResult getCompletionNotRefundedSub(ProIdsBean bean) { + try { + List results = service.getCompletionNotRefundedSub(bean); + return AjaxResult.success(results); + } catch (Exception e) { + logger.error(e.toString(), e); + throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); + } + } + //竣工未退预警总量 @GetMapping(value = "getCompletionNotRefundedNum") 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 index a601463c..66803c40 100644 --- 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 @@ -47,5 +47,11 @@ public class MachineInfoBean { private Integer daysDiff; // 竣工时间 private String actualEndDate; + // 负责人 + private String personName; + + // 联系方式 + private String personPhone; + } 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 index 0a54980b..91f9ba30 100644 --- 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 @@ -17,6 +17,7 @@ public class ProIdsBean { private String proName; private Integer typeId; private String typeName; + private String status; private String typeModelName; private String deptName; private String proCenter; 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 index 37acfa14..ed67a545 100644 --- 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 @@ -1,6 +1,7 @@ package com.bonus.material.push.mapper; import com.bonus.material.push.domain.*; +import com.bonus.system.api.domain.SysUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +43,16 @@ public interface ProDataUseInfoMapper { List> getApproachingDetailsByUnit(); List getMaTypeList(ProIdsBean bean); + + List getUseNumsDetails(ProIdsBean bean); + + List getRepairNumsDetails(ProIdsBean bean); + + List getNumsDetails(ProIdsBean bean); + + List getAllMacheDetails(ProIdsBean bean); + + SysUser getPersonNameAndPhone(MachineInfoBean machineDetail); + + List getCompletionNotRefundedSub(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 index 96f2220b..a9dbbdb2 100644 --- 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 @@ -38,4 +38,12 @@ public interface ProDataUseInfoService { List> getApproachingDetailsByUnit(); List getMaTypeList(ProIdsBean bean); + + List getUseNumsDetails(ProIdsBean bean); + List getRepairNumsDetails(ProIdsBean bean); + List getNumsDetails(ProIdsBean bean); + + List getAllMacheDetails(ProIdsBean bean); + + List getCompletionNotRefundedSub(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 index 81836bc9..5fd851e4 100644 --- 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 @@ -5,12 +5,14 @@ import com.bonus.material.push.domain.*; import com.bonus.material.push.mapper.ProDataUseInfoMapper; import com.bonus.material.push.service.ProDataUseInfoService; +import com.bonus.system.api.domain.SysUser; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.*; +import java.util.stream.Collectors; /** * @Author:liang.chao @@ -164,7 +166,7 @@ public class ProDataUseInfoImpl implements ProDataUseInfoService { * @return */ @Override - public List> getApproachingDetailsByUnit() { + public List> getApproachingDetailsByUnit() { return proDataUseInfoMapper.getApproachingDetailsByUnit(); } @@ -174,6 +176,41 @@ public class ProDataUseInfoImpl implements ProDataUseInfoService { */ @Override public List getMaTypeList(ProIdsBean bean) { - return proDataUseInfoMapper.getMaTypeList(bean); + List maTypeList = proDataUseInfoMapper.getMaTypeList(bean); + for (MachineInfoBean machineDetail : maTypeList) { + SysUser user = proDataUseInfoMapper.getPersonNameAndPhone(machineDetail); + machineDetail.setPersonName(user.getNickName()); + machineDetail.setPersonPhone(user.getPhonenumber()); + } + return maTypeList; + } + + @Override + public List getUseNumsDetails(ProIdsBean bean) { + // 在用量 + return proDataUseInfoMapper.getUseNumsDetails(bean); + } + + @Override + public List getRepairNumsDetails(ProIdsBean bean) { + // 在修量 + return proDataUseInfoMapper.getRepairNumsDetails(bean); + } + + @Override + public List getNumsDetails(ProIdsBean bean) { + // 库存量 + return proDataUseInfoMapper.getNumsDetails(bean); + } + + @Override + public List getAllMacheDetails(ProIdsBean bean) { + List objects = proDataUseInfoMapper.getAllMacheDetails(bean); + return objects; + } + + @Override + public List getCompletionNotRefundedSub(ProIdsBean bean) { + return proDataUseInfoMapper.getCompletionNotRefundedSub(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 index 61b82a0e..e83569d6 100644 --- 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 @@ -6,11 +6,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select bp.pro_name as proName, - sum(sai.num) num, + count(bp.pro_id) num, mt2.type_id as typeId, sd.dept_name as deptName, sd.dept_id as deptId @@ -376,6 +374,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + +