代码提交

This commit is contained in:
liang.chao 2025-08-24 11:27:05 +08:00
parent 6183fc5163
commit 1e6400c0de
8 changed files with 179 additions and 7 deletions

View File

@ -4,10 +4,7 @@ import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.core.web.page.TableDataInfo;
import com.bonus.material.push.domain.CostPushBean; import com.bonus.material.push.domain.*;
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 com.bonus.material.push.service.ProDataUseInfoService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -15,6 +12,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List; import java.util.List;
/** /**
@ -28,6 +27,7 @@ public class PushProDataUseInfoController extends BaseController {
@Resource @Resource
private ProDataUseInfoService service; private ProDataUseInfoService service;
/** /**
* 查询推送数据使用信息 * 查询推送数据使用信息
* *
@ -44,6 +44,7 @@ public class PushProDataUseInfoController extends BaseController {
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
} }
} }
/** /**
* 查询每个分类机具详情 * 查询每个分类机具详情
* *
@ -60,6 +61,7 @@ public class PushProDataUseInfoController extends BaseController {
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
} }
} }
// 查询七大类设备保有量在用量再修量库存量 // 查询七大类设备保有量在用量再修量库存量
@GetMapping(value = "getNumsByStatics") @GetMapping(value = "getNumsByStatics")
public AjaxResult getNumsByStatics(ProIdsBean bean) { public AjaxResult getNumsByStatics(ProIdsBean bean) {
@ -71,6 +73,7 @@ public class PushProDataUseInfoController extends BaseController {
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
} }
} }
// 检验临期和检验超期数量 // 检验临期和检验超期数量
@GetMapping(value = "getApproachingAndTimeout") @GetMapping(value = "getApproachingAndTimeout")
public AjaxResult getApproachingAndTimeout(ProIdsBean bean) { public AjaxResult getApproachingAndTimeout(ProIdsBean bean) {
@ -82,6 +85,7 @@ public class PushProDataUseInfoController extends BaseController {
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理"); throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
} }
} }
// 临期超期设备详情 // 临期超期设备详情
@GetMapping(value = "getApproachingDetails") @GetMapping(value = "getApproachingDetails")
public TableDataInfo getApproachingDetails(ProIdsBean bean) { public TableDataInfo getApproachingDetails(ProIdsBean bean) {
@ -94,4 +98,45 @@ public class PushProDataUseInfoController extends BaseController {
} }
} }
@GetMapping(value = "getCompletionNotRefunded")
public AjaxResult getCompletionNotRefunded(ProIdsBean bean) {
try {
List<MachineInfoBean> results = service.getCompletionNotRefunded(bean);
return AjaxResult.success(results);
} catch (Exception e) {
logger.error(e.toString(), e);
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
}
}
@GetMapping(value = "getCompletionNotRefundedDetails")
public AjaxResult getCompletionNotRefundedDetails(ProIdsBean bean) {
try {
HashMap<String, Object> map = new HashMap<>();
List<MachineInfoBean> results = service.getCompletionNotRefundedDetails(bean);
BigDecimal totalNum = new BigDecimal(0);
for (MachineInfoBean completionNotRefundedDetail : results) {
totalNum.add(completionNotRefundedDetail.getNum());
}
map.put("results", results);
map.put("totalNum", totalNum);
return AjaxResult.success(map);
} catch (Exception e) {
logger.error(e.toString(), e);
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
}
}
// 施工机具库存预警 (7大类)
@GetMapping(value = "getInventoryAlert")
public AjaxResult getInventoryAlert(ProIdsBean bean) {
try {
List<InventoryAlertBean> results = service.getInventoryAlert(bean);
return AjaxResult.success(results);
} catch (Exception e) {
logger.error(e.toString(), e);
throw new ServiceException("数据查询异常,请联系运维人员查询日志处理");
}
}
} }

View File

@ -0,0 +1,24 @@
package com.bonus.material.push.domain;
import lombok.Data;
import java.math.BigDecimal;
/**
* @Authorliang.chao
* @Date2025/8/24 - 11:09
*/
@Data
public class InventoryAlertBean {
private String typeName;
private String typeModelName;
// 预警值
private BigDecimal warnNum;
// 库存
private BigDecimal num;
// 差值
private BigDecimal poorNum;
}

View File

@ -2,6 +2,7 @@ package com.bonus.material.push.domain;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -10,6 +11,8 @@ import java.util.List;
*/ */
@Data @Data
public class MachineInfoBean { public class MachineInfoBean {
// 设备id
private String typeId;
// 设备名称 // 设备名称
private String typeName; private String typeName;
// 规格型号 // 规格型号
@ -17,7 +20,7 @@ public class MachineInfoBean {
// 计量单位 // 计量单位
private String unit; private String unit;
// 数量 // 数量
private Integer num; private BigDecimal num;
// 固定资产编号 // 固定资产编号
private String assetsCode; private String assetsCode;
//租赁价格 //租赁价格
@ -28,6 +31,8 @@ public class MachineInfoBean {
private String status; private String status;
// 实施组织 // 实施组织
private String deptName; private String deptName;
// 实施组织id
private Integer deptId;
// 工程名称 // 工程名称
private String proName; private String proName;
// 项目管理部 // 项目管理部

View File

@ -2,6 +2,7 @@ package com.bonus.material.push.domain;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -15,7 +16,7 @@ public class ProIdsBean {
private String proName; private String proName;
private Integer typeId; private Integer typeId;
private String typeName; private String typeName;
private Integer typeNum; private BigDecimal typeNum;
// 1 牵张设备 2 抱杆 3动力设备 4 变电专业设备 5安全工器具 6自主创新设备 7其他 // 1 牵张设备 2 抱杆 3动力设备 4 变电专业设备 5安全工器具 6自主创新设备 7其他
private Integer isStatics; private Integer isStatics;

View File

@ -29,4 +29,10 @@ public interface ProDataUseInfoMapper {
List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean); List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean);
List<MachineInfoBean> getApproachingDetails(ProIdsBean bean); List<MachineInfoBean> getApproachingDetails(ProIdsBean bean);
List<MachineInfoBean> getCompletionNotRefunded(ProIdsBean bean);
List<MachineInfoBean> getCompletionNotRefundedDetails(ProIdsBean bean);
List<InventoryAlertBean> getInventoryAlert(ProIdsBean bean);
} }

View File

@ -1,5 +1,6 @@
package com.bonus.material.push.service; package com.bonus.material.push.service;
import com.bonus.material.push.domain.InventoryAlertBean;
import com.bonus.material.push.domain.ProIdsBean; import com.bonus.material.push.domain.ProIdsBean;
import com.bonus.material.push.domain.MachineInfoBean; import com.bonus.material.push.domain.MachineInfoBean;
import com.bonus.material.push.domain.StaticsNumsBean; import com.bonus.material.push.domain.StaticsNumsBean;
@ -20,4 +21,10 @@ public interface ProDataUseInfoService {
List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean); List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean);
List<MachineInfoBean> getApproachingDetails(ProIdsBean bean); List<MachineInfoBean> getApproachingDetails(ProIdsBean bean);
List<MachineInfoBean> getCompletionNotRefunded(ProIdsBean bean);
List<MachineInfoBean> getCompletionNotRefundedDetails(ProIdsBean bean);
List<InventoryAlertBean> getInventoryAlert(ProIdsBean bean);
} }

View File

@ -1,5 +1,6 @@
package com.bonus.material.push.service.impl; package com.bonus.material.push.service.impl;
import com.bonus.material.push.domain.InventoryAlertBean;
import com.bonus.material.push.domain.MachineInfoBean; import com.bonus.material.push.domain.MachineInfoBean;
import com.bonus.material.push.domain.ProIdsBean; import com.bonus.material.push.domain.ProIdsBean;
@ -9,6 +10,7 @@ import com.bonus.material.push.service.ProDataUseInfoService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -58,4 +60,19 @@ public class ProDataUseInfoImpl implements ProDataUseInfoService {
public List<MachineInfoBean> getApproachingDetails(ProIdsBean bean) { public List<MachineInfoBean> getApproachingDetails(ProIdsBean bean) {
return proDataUseInfoMapper.getApproachingDetails(bean); return proDataUseInfoMapper.getApproachingDetails(bean);
} }
@Override
public List<MachineInfoBean> getCompletionNotRefunded(ProIdsBean bean) {
return proDataUseInfoMapper.getCompletionNotRefunded(bean);
}
@Override
public List<MachineInfoBean> getCompletionNotRefundedDetails(ProIdsBean bean) {
return proDataUseInfoMapper.getCompletionNotRefundedDetails(bean);
}
@Override
public List<InventoryAlertBean> getInventoryAlert(ProIdsBean bean) {
return proDataUseInfoMapper.getInventoryAlert(bean);
}
} }

View File

@ -137,4 +137,71 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
GROUP BY bp.pro_id GROUP BY bp.pro_id
</select> </select>
<select id="getCompletionNotRefunded" resultType="com.bonus.material.push.domain.MachineInfoBean">
select
bp.pro_name as proName,
sum(sai.num) num,
mt2.type_id as typeId,
sd.dept_name as deptName,
sd.dept_id
from slt_agreement_info sai
left join bm_agreement_info bai on sai.agreement_id = bai.agreement_id
left join bm_project bp on bai.project_id = bp.pro_id
left join sys_dept sd on bp.imp_unit = sd.dept_id
left join ma_type mt on sai.type_id = mt.type_id
left join ma_type mt2 on mt.parent_id = mt2.type_id
where sai.is_slt = 0 and sai.end_time is null and bp.actual_end_date is not null
<if test="proId != null">
AND bp.pro_id = #{proId}
</if>
GROUP BY bp.pro_id,bp.imp_unit
</select>
<select id="getCompletionNotRefundedDetails" resultType="com.bonus.material.push.domain.MachineInfoBean">
select
bp.pro_name as proName,
sum(sai.num) num,
mt2.type_id as typeId,
sd.dept_name as deptName
from slt_agreement_info sai
left join bm_agreement_info bai on sai.agreement_id = bai.agreement_id
left join bm_project bp on bai.project_id = bp.pro_id
left join sys_dept sd on bp.imp_unit = sd.dept_id
left join ma_type mt on sai.type_id = mt.type_id
left join ma_type mt2 on mt.parent_id = mt2.type_id
where sai.is_slt = 0 and sai.end_time is null and bp.actual_end_date is not null
and sd.dept_id = #{deptId}
<if test="proId != null">
AND bp.pro_id = #{proId}
</if>
<if test="deptName != null and deptName !=''">
AND sd.dept_name like concat ('%', #{deptName}, '%')
</if>
<if test="proCenter != null and proCenter !=''">
AND bp.pro_center like concat ('%', #{proCenter}, '%')
</if>
<if test="proName != null and proName !=''">
AND bp.pro_name like concat ('%', #{proName}, '%')
</if>
<if test="typeName != null and typeName !=''">
AND mt2.type_name = #{typeName}
</if>
<if test="typeModelName != null and typeModelName !=''">
AND mt.type_name = #{typeModelName}
</if>
GROUP BY bp.pro_id,bp.imp_unit
</select>
<select id="getInventoryAlert" resultType="com.bonus.material.push.domain.InventoryAlertBean">
select
mt.type_name as typeModelName,
mt2.type_name as typeName,
mt.warn_num as warnNum,
mt.storage_num as num,
mt.warn_num - mt.storage_num as poorNum
from ma_type mt
left join ma_type mt2 on mt.parent_id = mt2.type_id
where mt2.is_statics in (1,2,3,4,5,6,7)
<if test="typeName != null and typeName !=''">
AND mt2.type_name = #{typeName}
</if>
</select>
</mapper> </mapper>