This commit is contained in:
parent
9edf649b72
commit
52cebd38f3
|
|
@ -31,4 +31,7 @@ public class ScrapAnalysisVo {
|
||||||
/** 机具类型名称*/
|
/** 机具类型名称*/
|
||||||
private String typeName;
|
private String typeName;
|
||||||
|
|
||||||
|
/** 类型*/
|
||||||
|
private String type;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,25 +80,10 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
|
||||||
ParamsDto dto = new ParamsDto();
|
ParamsDto dto = new ParamsDto();
|
||||||
try {
|
try {
|
||||||
// 施工机具
|
// 施工机具
|
||||||
|
TotalOwnershipVo vo = countNum("1", CommonConstants.SGJJ);
|
||||||
// 施工机具-在库
|
|
||||||
dto.setMaTypeName(CommonConstants.SGJJ);
|
|
||||||
dto.setType("1");
|
|
||||||
List<ScrapAnalysisVo> zkValueList = mapper.getTotalOwnership(dto);
|
|
||||||
|
|
||||||
// 安全工器具
|
// 安全工器具
|
||||||
TotalOwnershipVo vo2 = new TotalOwnershipVo();
|
TotalOwnershipVo vo2 = countNum("2", CommonConstants.AQGQJ);
|
||||||
// 工器具-在库
|
list.add(vo);
|
||||||
dto.setMaTypeName(CommonConstants.AQGQJ);
|
|
||||||
dto.setType("1");
|
|
||||||
List<ScrapAnalysisVo> zkValueList2 = mapper.getTotalOwnership(dto);
|
|
||||||
|
|
||||||
vo2.setTotalOwnershipNum(2000);
|
|
||||||
vo2.setStockNum(220);
|
|
||||||
vo2.setStoredNum(280);
|
|
||||||
vo2.setUseNum(600);
|
|
||||||
vo2.setRepairNum(450);
|
|
||||||
vo2.setScrapNum(450);
|
|
||||||
list.add(vo2);
|
list.add(vo2);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
list.removeAll(list);
|
list.removeAll(list);
|
||||||
|
|
@ -131,6 +116,25 @@ public class LargeScreenServiceImpl implements ILargeScreenService {
|
||||||
// 待入库数量
|
// 待入库数量
|
||||||
dto.setType("2");
|
dto.setType("2");
|
||||||
List<ScrapAnalysisVo> drkValueList = mapper.getTotalOwnership(dto);
|
List<ScrapAnalysisVo> drkValueList = mapper.getTotalOwnership(dto);
|
||||||
|
Integer drkValue = commonUtil.setDRKData(drkValueList);
|
||||||
|
vo.setStoredNum(drkValue);
|
||||||
|
// 在用数量
|
||||||
|
dto.setType("3");
|
||||||
|
List<ScrapAnalysisVo> useValueList = mapper.getTotalOwnership(dto);
|
||||||
|
Integer useValue = commonUtil.setUSEData(useValueList);
|
||||||
|
vo.setUseNum(useValue);
|
||||||
|
// 在修数量
|
||||||
|
dto.setType("4");
|
||||||
|
List<ScrapAnalysisVo> zxValueList = mapper.getTotalOwnership(dto);
|
||||||
|
Integer zxValue = commonUtil.setZXData(zxValueList);
|
||||||
|
vo.setRepairNum(zxValue);
|
||||||
|
// 报废数量
|
||||||
|
dto.setType("5");
|
||||||
|
List<ScrapAnalysisVo> bfValueList = mapper.getTotalOwnership(dto);
|
||||||
|
Integer bfValue = commonUtil.setBFData(bfValueList);
|
||||||
|
vo.setScrapNum(bfValue);
|
||||||
|
// 总保有量
|
||||||
|
vo.setTotalOwnershipNum(zkValue + drkValue + useValue + zxValue);
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -238,12 +238,110 @@ public class CommonUtil {
|
||||||
/**
|
/**
|
||||||
* @param list
|
* @param list
|
||||||
* @return Integer
|
* @return Integer
|
||||||
* @description 保有量-在库
|
* @description 保有量-在库数量
|
||||||
* @author cwchen
|
* @author cwchen
|
||||||
* @date 2023/12/15 19:21
|
* @date 2023/12/15 19:21
|
||||||
*/
|
*/
|
||||||
public Integer setZKData(List<ScrapAnalysisVo> list) {
|
public Integer setZKData(List<ScrapAnalysisVo> list) {
|
||||||
if(CollectionUtils.isEmpty(list)) return 0;
|
if (CollectionUtils.isEmpty(list)) return 0;
|
||||||
|
BigDecimal totalValue = new BigDecimal(new Double(0).toString());
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
ScrapAnalysisVo vo = list.get(i);
|
||||||
|
BigDecimal value = new BigDecimal(new Double(String.valueOf(vo.getNum())));
|
||||||
|
totalValue = totalValue.add(value);
|
||||||
|
}
|
||||||
|
double doubleTotalValue = totalValue.doubleValue();
|
||||||
|
return (int) Math.round(doubleTotalValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param list
|
||||||
|
* @return Integer
|
||||||
|
* @description 保有量-待入库数量
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2023/12/16 13:20
|
||||||
|
*/
|
||||||
|
public Integer setDRKData(List<ScrapAnalysisVo> list) {
|
||||||
|
if (CollectionUtils.isEmpty(list)) return 0;
|
||||||
|
BigDecimal finalValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal totalValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal totalValue2 = new BigDecimal(new Double(0).toString());
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
ScrapAnalysisVo vo = list.get(i);
|
||||||
|
BigDecimal value = new BigDecimal(new Double(String.valueOf(vo.getNum())));
|
||||||
|
totalValue = totalValue.add(value);
|
||||||
|
BigDecimal value2 = new BigDecimal(new Double(String.valueOf(vo.getNum2())));
|
||||||
|
totalValue2 = totalValue2.add(value2);
|
||||||
|
}
|
||||||
|
finalValue = totalValue.subtract(totalValue2);
|
||||||
|
double finalDoubleValue = finalValue.doubleValue() >= 0 ? finalValue.doubleValue() : 0;
|
||||||
|
return (int) Math.round(finalDoubleValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param list
|
||||||
|
* @return Integer
|
||||||
|
* @description 保有量-在用数量
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2023/12/16 14:01
|
||||||
|
*/
|
||||||
|
public Integer setUSEData(List<ScrapAnalysisVo> list) {
|
||||||
|
if (CollectionUtils.isEmpty(list)) return 0;
|
||||||
|
BigDecimal finalValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal totalValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal totalValue2 = new BigDecimal(new Double(0).toString());
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
ScrapAnalysisVo vo = list.get(i);
|
||||||
|
if (Objects.equals("1", vo.getType())) {
|
||||||
|
BigDecimal value = new BigDecimal(new Double(String.valueOf(vo.getNum())));
|
||||||
|
totalValue = totalValue.add(value);
|
||||||
|
} else if (Objects.equals("2", vo.getType())) {
|
||||||
|
BigDecimal value2 = new BigDecimal(new Double(String.valueOf(vo.getNum())));
|
||||||
|
totalValue2 = totalValue2.add(value2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
finalValue = totalValue.subtract(totalValue2);
|
||||||
|
double finalDoubleValue = finalValue.doubleValue() >= 0 ? finalValue.doubleValue() : 0;
|
||||||
|
return (int) Math.round(finalDoubleValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param list
|
||||||
|
* @return Integer
|
||||||
|
* @description 保有量-在修数量
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2023/12/16 14:07
|
||||||
|
*/
|
||||||
|
public Integer setZXData(List<ScrapAnalysisVo> list) {
|
||||||
|
if (CollectionUtils.isEmpty(list)) return 0;
|
||||||
|
/*维修总量/维修合格数量/维修报废数量/待维修数量*/
|
||||||
|
BigDecimal repairValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal repairedValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal scrapValue = new BigDecimal(new Double(0).toString());
|
||||||
|
BigDecimal waitRepairedValue = new BigDecimal(new Double(0).toString());
|
||||||
|
for (int i = 0; i < list.size(); i++) {
|
||||||
|
ScrapAnalysisVo vo = list.get(i);
|
||||||
|
BigDecimal value = new BigDecimal(new Double(String.valueOf(vo.getRepairNum())));
|
||||||
|
BigDecimal value2 = new BigDecimal(new Double(String.valueOf(vo.getRepairedNum())));
|
||||||
|
BigDecimal value3 = new BigDecimal(new Double(String.valueOf(vo.getScrapNum())));
|
||||||
|
repairValue = repairValue.add(value);
|
||||||
|
repairedValue = repairedValue.add(value2);
|
||||||
|
scrapValue = scrapValue.add(value3);
|
||||||
|
}
|
||||||
|
waitRepairedValue = repairValue.subtract(repairedValue).subtract(scrapValue);
|
||||||
|
double finalDoubleValue = waitRepairedValue.doubleValue() >= 0 ? waitRepairedValue.doubleValue() : 0;
|
||||||
|
return (int) Math.round(finalDoubleValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param list
|
||||||
|
* @return Integer
|
||||||
|
* @description 保有量-报废
|
||||||
|
* @author cwchen
|
||||||
|
* @date 2023/12/16 14:22
|
||||||
|
*/
|
||||||
|
public Integer setBFData(List<ScrapAnalysisVo> list) {
|
||||||
|
if (CollectionUtils.isEmpty(list)) return 0;
|
||||||
BigDecimal totalValue = new BigDecimal(new Double(0).toString());
|
BigDecimal totalValue = new BigDecimal(new Double(0).toString());
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
ScrapAnalysisVo vo = list.get(i);
|
ScrapAnalysisVo vo = list.get(i);
|
||||||
|
|
|
||||||
|
|
@ -259,15 +259,92 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</if>
|
</if>
|
||||||
/*在用*/
|
/*在用*/
|
||||||
<if test="type == 3">
|
<if test="type == 3">
|
||||||
|
SELECT lod.out_num AS num,
|
||||||
|
'1' AS type,
|
||||||
|
a.typeName AS typeName
|
||||||
|
FROM lease_out_details lod
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT mt.type_id,mt4.type_name AS typeName
|
||||||
|
FROM ma_type mt
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id AND mt2.`level` = '3'
|
||||||
|
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id AND mt3.`level` = '2'
|
||||||
|
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.`level` = '1'
|
||||||
|
WHERE mt.`level` = '4'
|
||||||
|
)a ON lod.type_id = a.type_id
|
||||||
|
<where>
|
||||||
|
<if test="maType!=null and maType == 1">
|
||||||
|
a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
<if test="maType!=null and maType == 2">
|
||||||
|
AND a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
UNION ALL
|
||||||
|
SELECT bad.audit_num AS num,
|
||||||
|
'2' AS type,
|
||||||
|
a.typeName AS typeName
|
||||||
|
FROM back_apply_details bad
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT mt.type_id,mt4.type_name AS typeName
|
||||||
|
FROM ma_type mt
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id AND mt2.`level` = '3'
|
||||||
|
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id AND mt3.`level` = '2'
|
||||||
|
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.`level` = '1'
|
||||||
|
WHERE mt.`level` = '4'
|
||||||
|
)a ON bad.type_id = a.type_id
|
||||||
|
<where>
|
||||||
|
<if test="maType!=null and maType == 1">
|
||||||
|
a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
<if test="maType!=null and maType == 2">
|
||||||
|
AND a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
</if>
|
</if>
|
||||||
/*在修*/
|
/*在修*/
|
||||||
<if test="type == 4">
|
<if test="type == 4">
|
||||||
|
SELECT rad.repair_num AS repairNum,
|
||||||
|
rad.repaired_num AS repairedNum,
|
||||||
|
rad.scrap_num AS scrapNum,
|
||||||
|
a.typeName AS typeName
|
||||||
|
FROM repair_apply_details rad
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT mt.type_id,mt4.type_name AS typeName
|
||||||
|
FROM ma_type mt
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id AND mt2.`level` = '3'
|
||||||
|
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id AND mt3.`level` = '2'
|
||||||
|
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.`level` = '1'
|
||||||
|
WHERE mt.`level` = '4'
|
||||||
|
)a ON rad.type_id = a.type_id
|
||||||
|
<where>
|
||||||
|
<if test="maType!=null and maType == 1">
|
||||||
|
a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
<if test="maType!=null and maType == 2">
|
||||||
|
AND a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
</if>
|
</if>
|
||||||
/*报废*/
|
/*报废*/
|
||||||
<if test="type == 5">
|
<if test="type == 5">
|
||||||
|
SELECT sad.scrap_num AS num,
|
||||||
|
a.typeName AS typeName
|
||||||
|
FROM scrap_apply_details sad
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT mt.type_id,mt4.type_name AS typeName
|
||||||
|
FROM ma_type mt
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id AND mt2.`level` = '3'
|
||||||
|
LEFT JOIN ma_type mt3 ON mt2.parent_id = mt3.type_id AND mt3.`level` = '2'
|
||||||
|
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.`level` = '1'
|
||||||
|
WHERE mt.`level` = '4'
|
||||||
|
)a ON sad.type_id = a.type_id
|
||||||
|
WHERE sad.status = '1'
|
||||||
|
<if test="maType!=null and maType == 1">
|
||||||
|
AND a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
|
<if test="maType!=null and maType == 2">
|
||||||
|
AND a.typeName = #{maTypeName}
|
||||||
|
</if>
|
||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue