This commit is contained in:
parent
58245dd94c
commit
e78a42de1f
|
|
@ -66,7 +66,7 @@ public class PushProDataUseInfoController extends BaseController {
|
||||||
@GetMapping(value = "getNumsByStatics")
|
@GetMapping(value = "getNumsByStatics")
|
||||||
public AjaxResult getNumsByStatics(ProIdsBean bean) {
|
public AjaxResult getNumsByStatics(ProIdsBean bean) {
|
||||||
try {
|
try {
|
||||||
List<StaticsNumsBean> results = service.getNumsByStatics(bean);
|
HashMap<String, Object> results = service.getNumsByStatics(bean);
|
||||||
return AjaxResult.success(results);
|
return AjaxResult.success(results);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error(e.toString(), e);
|
logger.error(e.toString(), e);
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ 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;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -16,7 +17,12 @@ public interface ProDataUseInfoService {
|
||||||
|
|
||||||
List<MachineInfoBean> getMachineDetails(ProIdsBean bean);
|
List<MachineInfoBean> getMachineDetails(ProIdsBean bean);
|
||||||
|
|
||||||
List<StaticsNumsBean> getNumsByStatics(ProIdsBean bean);
|
/**
|
||||||
|
* 查询七大类设备保有量、在用量、再修量、库存量
|
||||||
|
* @param bean
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
HashMap<String, Object> getNumsByStatics(ProIdsBean bean);
|
||||||
|
|
||||||
List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean);
|
List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,9 @@ import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -46,9 +48,24 @@ public class ProDataUseInfoImpl implements ProDataUseInfoService {
|
||||||
return machineDetails;
|
return machineDetails;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计数据
|
||||||
|
* @param bean
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<StaticsNumsBean> getNumsByStatics(ProIdsBean bean) {
|
public HashMap<String, Object> getNumsByStatics(ProIdsBean bean) {
|
||||||
return proDataUseInfoMapper.getNumsByStatics(bean);
|
HashMap<String, Object> hashMap = new HashMap<>(2);
|
||||||
|
BigDecimal totalNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP);
|
||||||
|
List<StaticsNumsBean> list = proDataUseInfoMapper.getNumsByStatics(bean);
|
||||||
|
for (StaticsNumsBean staticsNumsBean : list) {
|
||||||
|
totalNum = totalNum.add(staticsNumsBean.getInventoryNum());
|
||||||
|
}
|
||||||
|
//总数量
|
||||||
|
hashMap.put("total", totalNum);
|
||||||
|
// 数据集合
|
||||||
|
hashMap.put("list", list);
|
||||||
|
return hashMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,101 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
where mtk.type_id = #{typeId}
|
where mtk.type_id = #{typeId}
|
||||||
</select>
|
</select>
|
||||||
<select id="getNumsByStatics" resultType="com.bonus.material.push.domain.StaticsNumsBean">
|
<select id="getNumsByStatics" resultType="com.bonus.material.push.domain.StaticsNumsBean">
|
||||||
select
|
SELECT
|
||||||
|
CASE mt.manage_type
|
||||||
|
WHEN 0 THEN
|
||||||
|
IFNULL(subquery0.num, 0)
|
||||||
|
ELSE
|
||||||
|
IFNULL(mt.storage_num, 0)
|
||||||
|
END AS num,
|
||||||
|
IFNULL(subquery1.usNum, 0) AS useNum,
|
||||||
|
IFNULL(subquery2.repairNum, 0) AS repairNum,
|
||||||
|
CASE mt.manage_type
|
||||||
|
WHEN 0 THEN
|
||||||
|
IFNULL(subquery0.num, 0) + IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0)
|
||||||
|
ELSE
|
||||||
|
IFNULL(mt.storage_num, 0) + IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0)
|
||||||
|
END AS inventoryNum
|
||||||
|
FROM ma_type mt
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
mt.type_id,
|
||||||
|
mt4.type_name AS constructionType,
|
||||||
|
mt4.type_id AS firstTypeId,
|
||||||
|
mt3.type_name AS materialType,
|
||||||
|
mt3.type_id AS secondTypeId,
|
||||||
|
mt2.type_name AS typeName,
|
||||||
|
mt2.type_id AS thirdTypeId,
|
||||||
|
mt.type_name AS typeModelName,
|
||||||
|
count(mm.ma_id) AS num
|
||||||
|
FROM ma_machine mm
|
||||||
|
LEFT JOIN ma_type mt ON mt.type_id = mm.type_id
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
WHERE mm.ma_code is not null and mm.ma_status in (1)
|
||||||
|
GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
mt.type_id,
|
||||||
|
mt4.type_name AS constructionType,
|
||||||
|
mt4.type_id AS firstTypeId,
|
||||||
|
mt3.type_name AS materialType,
|
||||||
|
mt3.type_id AS secondTypeId,
|
||||||
|
mt2.type_name AS typeName,
|
||||||
|
mt2.type_id AS thirdTypeId,
|
||||||
|
mt.type_name AS typeModelName,
|
||||||
|
SUM(IFNULL( sai.num, 0 )) AS usNum
|
||||||
|
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 ma_type mt ON mt.type_id = sai.type_id
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
WHERE
|
||||||
|
sai.`status` = '0' and sai.`is_slt` = '0'
|
||||||
|
AND bp.pro_id = #{proId}
|
||||||
|
AND sai.end_time IS NULL
|
||||||
|
AND sai.back_id IS NULL
|
||||||
|
GROUP BY mt.type_id
|
||||||
|
) AS subquery1
|
||||||
|
ON mt.type_id = subquery1.type_id
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
mt.type_id,
|
||||||
|
mt4.type_name AS constructionType,
|
||||||
|
mt4.type_id AS firstTypeId,
|
||||||
|
mt3.type_name AS materialType,
|
||||||
|
mt3.type_id AS secondTypeId,
|
||||||
|
mt2.type_name AS typeName,
|
||||||
|
mt2.type_id AS thirdTypeId,
|
||||||
|
mt.type_name AS typeModelName,
|
||||||
|
SUM(
|
||||||
|
IFNULL(rad.repair_num, 0) - IFNULL(rad.repaired_num, 0) -
|
||||||
|
IFNULL(rad.scrap_num, 0)) AS repairNum
|
||||||
|
FROM repair_apply_details rad
|
||||||
|
LEFT JOIN tm_task tt ON rad.task_id = tt.task_id
|
||||||
|
LEFT JOIN tm_task_agreement tta ON tt.task_id = tta.task_id
|
||||||
|
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
|
||||||
|
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||||
|
LEFT JOIN ma_type mt ON mt.type_id = rad.type_id
|
||||||
|
LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
WHERE
|
||||||
|
rad.status = '0'
|
||||||
|
AND bp.pro_id = #{proId}
|
||||||
|
GROUP BY
|
||||||
|
mt.type_id) AS subquery2 ON subquery2.type_id = mt.type_id
|
||||||
|
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
|
||||||
|
LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id
|
||||||
|
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
|
||||||
|
WHERE mt.del_flag = '0' and mt.`level` = '4'
|
||||||
|
<if test="isStatics != null">
|
||||||
|
and mt2.is_statics = #{isStatics}
|
||||||
|
</if>
|
||||||
</select>
|
</select>
|
||||||
<select id="getApproachingAndTimeout" resultType="com.bonus.material.push.domain.StaticsNumsBean">
|
<select id="getApproachingAndTimeout" resultType="com.bonus.material.push.domain.StaticsNumsBean">
|
||||||
SELECT
|
SELECT
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue