This commit is contained in:
parent
de2fb68076
commit
4f5f2eb0f2
|
|
@ -1380,17 +1380,6 @@ public class MaterialMachineServiceImpl implements MaterialMachineService {
|
||||||
if (CollectionUtils.isEmpty(recordList)) {
|
if (CollectionUtils.isEmpty(recordList)) {
|
||||||
return recordList;
|
return recordList;
|
||||||
}
|
}
|
||||||
// 获取所有领料未结算协议id
|
|
||||||
List<MaterialProvideNumInfo> subAgreementIds = materialMachineMapper.getSubAgreementIds(bean);
|
|
||||||
|
|
||||||
// 查询分包商领用数据,不作为库存,作为再用数据
|
|
||||||
List<MaterialRetainedEquipmentInfo> subList = materialMachineMapper.getSubInfoList(bean);
|
|
||||||
// 根据工程id获取分包的在用数量,存储在map集合中
|
|
||||||
Map<String, BigDecimal> subMap = new HashMap<>();
|
|
||||||
subList.forEach(info -> {
|
|
||||||
String key = getCompositeKey(info.getProId(), info.getTypeId());
|
|
||||||
subMap.putIfAbsent(key, info.getAllNum());
|
|
||||||
});
|
|
||||||
|
|
||||||
// 1. 过滤数据(并行流加速大集合过滤)
|
// 1. 过滤数据(并行流加速大集合过滤)
|
||||||
if (teamData != null) {
|
if (teamData != null) {
|
||||||
|
|
@ -1400,7 +1389,7 @@ public class MaterialMachineServiceImpl implements MaterialMachineService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 转换参数:将agreementIds(逗号字符串)转为List<String>
|
// 2. 转换参数:将agreementIds(逗号字符串)转为List<String>
|
||||||
List<Map<String, Object>> queryParams = subAgreementIds.stream()
|
List<Map<String, Object>> queryParams = recordList.stream()
|
||||||
.map(record -> {
|
.map(record -> {
|
||||||
Map<String, Object> param = new HashMap<>(3);
|
Map<String, Object> param = new HashMap<>(3);
|
||||||
param.put("proId", record.getProId());
|
param.put("proId", record.getProId());
|
||||||
|
|
@ -1457,12 +1446,6 @@ public class MaterialMachineServiceImpl implements MaterialMachineService {
|
||||||
String key = getCompositeKey(record.getProId(), record.getTypeId());
|
String key = getCompositeKey(record.getProId(), record.getTypeId());
|
||||||
// 从Map获取数据(默认0,避免null)
|
// 从Map获取数据(默认0,避免null)
|
||||||
BigDecimal businessNum = leaseBusinessMap.getOrDefault(key, BigDecimal.ZERO);
|
BigDecimal businessNum = leaseBusinessMap.getOrDefault(key, BigDecimal.ZERO);
|
||||||
// 从subMap获取在用数量
|
|
||||||
BigDecimal useNum = subMap.getOrDefault(key, BigDecimal.ZERO);
|
|
||||||
// 追加在用数量给实际供应数量和已有在用数量
|
|
||||||
record.setSupplyNum(record.getSupplyNum().add(useNum));
|
|
||||||
record.setUseNum(record.getUseNum().add(useNum));
|
|
||||||
|
|
||||||
// 设置record的businessNum(原逻辑保留)
|
// 设置record的businessNum(原逻辑保留)
|
||||||
record.setBusinessNum(businessNum);
|
record.setBusinessNum(businessNum);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1965,19 +1965,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
subquery1.impUnit AS impUnit,
|
subquery1.impUnit AS impUnit,
|
||||||
subquery3.idCard AS idCard,
|
subquery3.idCard AS idCard,
|
||||||
CASE
|
CASE
|
||||||
WHEN IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) < 0
|
WHEN subquery1.typeId = 36 THEN
|
||||||
THEN 0
|
GREATEST(IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0), 0)
|
||||||
ELSE IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0)
|
ELSE
|
||||||
END
|
IFNULL(subquery3.usNum, 0)
|
||||||
AS storeNum,
|
END AS storeNum,
|
||||||
IFNULL(subquery3.usNum, 0) AS useNum,
|
|
||||||
(
|
|
||||||
CASE
|
CASE
|
||||||
WHEN IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0) < 0
|
WHEN subquery1.typeId = 36 THEN
|
||||||
THEN 0
|
IFNULL(subquery3.usNum, 0)
|
||||||
ELSE IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0)
|
ELSE
|
||||||
END + IFNULL(subquery3.usNum, 0)
|
IFNULL(subquery1.usNum, 0)
|
||||||
) AS supplyNum,
|
END AS useNum,
|
||||||
|
IFNULL(subquery1.supplyNum, 0) AS supplyNum,
|
||||||
subquery1.proCenter AS departName,
|
subquery1.proCenter AS departName,
|
||||||
subquery1.departName AS impUnitName,
|
subquery1.departName AS impUnitName,
|
||||||
CASE mt.manage_type
|
CASE mt.manage_type
|
||||||
|
|
@ -2005,7 +2004,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
mt2.type_name AS typeName,
|
mt2.type_name AS typeName,
|
||||||
mt2.type_id AS thirdTypeId,
|
mt2.type_id AS thirdTypeId,
|
||||||
mt.type_name AS typeModelName,
|
mt.type_name AS typeModelName,
|
||||||
SUM(IFNULL( sai.num, 0 )) AS usNum,
|
SUM(CASE WHEN sai.`status` = '0' THEN IFNULL(sai.num, 0) ELSE 0 END) AS usNum,
|
||||||
|
SUM(IFNULL( sai.num, 0 )) AS supplyNum,
|
||||||
bp.pro_name as proName,
|
bp.pro_name as proName,
|
||||||
bp.pro_id as proId,
|
bp.pro_id as proId,
|
||||||
bp.external_id as externalId,
|
bp.external_id as externalId,
|
||||||
|
|
@ -2013,7 +2013,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
bu.bzz_idcard AS idCard,
|
bu.bzz_idcard AS idCard,
|
||||||
df.project_dept AS proCenter,
|
df.project_dept AS proCenter,
|
||||||
sd.dept_name AS departName,
|
sd.dept_name AS departName,
|
||||||
GROUP_CONCAT(DISTINCT sai.agreement_id) AS agreementId
|
GROUP_CONCAT(DISTINCT sai.agreement_id) AS agreementId,
|
||||||
|
bu.type_id AS typeId
|
||||||
FROM
|
FROM
|
||||||
slt_agreement_info sai
|
slt_agreement_info sai
|
||||||
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
|
LEFT JOIN ma_type mt ON mt.type_id = sai.type_id
|
||||||
|
|
@ -2027,12 +2028,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
LEFT JOIN sys_dept sd ON sd.dept_id = bp.imp_unit
|
||||||
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
LEFT JOIN data_center.dx_fb_son df ON bp.external_id = df.id
|
||||||
WHERE
|
WHERE
|
||||||
sai.`status` = '0'
|
sai.is_slt = '0'
|
||||||
AND sai.is_slt = '0'
|
|
||||||
AND sai.end_time IS NULL
|
|
||||||
AND sai.back_id IS NULL
|
|
||||||
AND bp.external_id IS NOT NULL
|
AND bp.external_id IS NOT NULL
|
||||||
AND bu.type_id = 36
|
|
||||||
<if test="impUnitName != null and impUnitName != ''">
|
<if test="impUnitName != null and impUnitName != ''">
|
||||||
AND sd.dept_name = #{impUnitName}
|
AND sd.dept_name = #{impUnitName}
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -2154,6 +2151,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
WHERE mt.`level` = 4 and mt.del_flag = '0'
|
WHERE mt.`level` = 4 and mt.del_flag = '0'
|
||||||
AND subquery1.proName IS NOT NULL
|
AND subquery1.proName IS NOT NULL
|
||||||
|
AND (
|
||||||
|
IFNULL(subquery1.usNum, 0) > 0
|
||||||
|
OR (
|
||||||
|
CASE
|
||||||
|
WHEN subquery1.typeId = 36 THEN GREATEST(IFNULL(subquery1.usNum, 0) - IFNULL(subquery3.usNum, 0), 0)
|
||||||
|
ELSE IFNULL(subquery3.usNum, 0)
|
||||||
|
END
|
||||||
|
) > 0
|
||||||
|
OR (
|
||||||
|
CASE
|
||||||
|
WHEN subquery1.typeId = 36 THEN IFNULL(subquery3.usNum, 0)
|
||||||
|
ELSE IFNULL(subquery1.usNum, 0)
|
||||||
|
END
|
||||||
|
) > 0
|
||||||
|
)
|
||||||
GROUP BY
|
GROUP BY
|
||||||
subquery1.proId,
|
subquery1.proId,
|
||||||
mt.type_id
|
mt.type_id
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue