This commit is contained in:
parent
58245dd94c
commit
e78a42de1f
|
|
@ -66,7 +66,7 @@ public class PushProDataUseInfoController extends BaseController {
|
|||
@GetMapping(value = "getNumsByStatics")
|
||||
public AjaxResult getNumsByStatics(ProIdsBean bean) {
|
||||
try {
|
||||
List<StaticsNumsBean> results = service.getNumsByStatics(bean);
|
||||
HashMap<String, Object> results = service.getNumsByStatics(bean);
|
||||
return AjaxResult.success(results);
|
||||
} catch (Exception 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.StaticsNumsBean;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -16,7 +17,12 @@ public interface ProDataUseInfoService {
|
|||
|
||||
List<MachineInfoBean> getMachineDetails(ProIdsBean bean);
|
||||
|
||||
List<StaticsNumsBean> getNumsByStatics(ProIdsBean bean);
|
||||
/**
|
||||
* 查询七大类设备保有量、在用量、再修量、库存量
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
HashMap<String, Object> getNumsByStatics(ProIdsBean bean);
|
||||
|
||||
List<StaticsNumsBean> getApproachingAndTimeout(ProIdsBean bean);
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ import org.springframework.stereotype.Service;
|
|||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -46,9 +48,24 @@ public class ProDataUseInfoImpl implements ProDataUseInfoService {
|
|||
return machineDetails;
|
||||
}
|
||||
|
||||
/**
|
||||
* 统计数据
|
||||
* @param bean
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<StaticsNumsBean> getNumsByStatics(ProIdsBean bean) {
|
||||
return proDataUseInfoMapper.getNumsByStatics(bean);
|
||||
public HashMap<String, Object> getNumsByStatics(ProIdsBean 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
|
||||
|
|
|
|||
|
|
@ -60,7 +60,101 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
where mtk.type_id = #{typeId}
|
||||
</select>
|
||||
<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 id="getApproachingAndTimeout" resultType="com.bonus.material.push.domain.StaticsNumsBean">
|
||||
SELECT
|
||||
|
|
|
|||
Loading…
Reference in New Issue