Commit 6b117e8a by 李小惠

修改装备使用统计报表

parent da4c41fa
...@@ -817,7 +817,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain ...@@ -817,7 +817,12 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
BeanPlusUtil.copyProperties(orderDetail,orderDetailDto); BeanPlusUtil.copyProperties(orderDetail,orderDetailDto);
String detailJson = orderDetail.getDetailJson(); String detailJson = orderDetail.getDetailJson();
List<DetailJsonReq> detailJsonReqs = JSONObject.parseArray(detailJson, DetailJsonReq.class); List<DetailJsonReq> detailJsonReqs = JSONObject.parseArray(detailJson, DetailJsonReq.class);
orderDetailDto.setChildJson(detailJsonReqs); if (CollectionUtil.isEmpty(detailJsonReqs)|| ObjectUtil.isNull(detailJsonReqs)){
orderDetailDto.setChildJson(new ArrayList<>());
}else {
orderDetailDto.setChildJson(detailJsonReqs);
}
orderDetailDtoList.add(orderDetailDto); orderDetailDtoList.add(orderDetailDto);
} }
......
...@@ -58,78 +58,147 @@ ...@@ -58,78 +58,147 @@
{call AddEquipmentCountSummary(#{sql,mode=IN})} {call AddEquipmentCountSummary(#{sql,mode=IN})}
</insert> </insert>
<select id="TjOrgCount" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto"> <select id="TjOrgCount" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto">
select t1.org_id,t1.org_code,t1.org_name,t1.d_name,t2.year,t2.use_count,t2.fix_count,t2.number <!-- select t1.org_id,t1.org_code,t1.org_name,t1.d_name,t2.year,t2.use_count,t2.fix_count,t2.number-->
FROM( <!-- FROM(-->
SELECT <!-- SELECT-->
`org_id`, `org_code`, `org_name`, `d_name` <!-- `org_id`, `org_code`, `org_name`, `d_name`-->
FROM `pub_org` <!-- FROM `pub_org`-->
WHERE org_id=#{orgId} <!-- WHERE org_id=#{orgId}-->
) as t1 <!-- ) as t1-->
CROSS JOIN ( <!-- CROSS JOIN (-->
SELECT <!-- SELECT-->
MAX(t.`year`) AS `year`, <!-- MAX(t.`year`) AS `year`,-->
SUM(t.use_count) AS use_count, <!-- SUM(t.use_count) AS use_count,-->
SUM(t.fix_count) AS fix_count, <!-- SUM(t.fix_count) AS fix_count,-->
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number <!-- sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number-->
FROM ( <!-- FROM (-->
SELECT <!-- SELECT-->
vecs.`year`, <!-- vecs.`year`,-->
vecs.`month`, <!-- vecs.`month`,-->
SUM(vecs.use_count) AS use_count, <!-- SUM(vecs.use_count) AS use_count,-->
SUM(vecs.fix_count) AS fix_count, <!-- SUM(vecs.fix_count) AS fix_count,-->
sum(vecs.number) as number <!-- sum(vecs.number) as number-->
FROM vie_equipment_count_summary vecs <!-- FROM vie_equipment_count_summary vecs-->
left join pub_org po on vecs.org_id_int=po.org_id <!-- left join pub_org po on vecs.org_id_int=po.org_id-->
where vecs.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%',#{orgId}, '%')) <!-- where vecs.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%',#{orgId}, '%'))-->
<if test="typeIdsList!=null and typeIdsList.size() > 0"> <!-- <if test="typeIdsList!=null and typeIdsList.size() > 0">-->
and vecs.type_id in <!-- and vecs.type_id in-->
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")"> <!-- <foreach collection="typeIdsList" item="item" open="(" separator="," close=")">-->
#{item} <!-- #{item}-->
</foreach> <!-- </foreach>-->
</if> <!-- </if>-->
<if test="typeParentId != null and typeParentId !=''"> <!-- <if test="typeParentId != null and typeParentId !=''">-->
and vecs.type_parnet_id=#{typeParentId} <!-- and vecs.type_parent_id=#{typeParentId}-->
</if> <!-- </if>-->
<if test="sizeNameList!=null and sizeNameList.size() > 0"> <!-- <if test="sizeNameList!=null and sizeNameList.size() > 0">-->
AND <!-- AND-->
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")"> <!-- <foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">-->
vecs.size_name like CONCAT('%', #{item}, '%') <!-- vecs.size_name like CONCAT('%', #{item}, '%')-->
</foreach> <!-- </foreach>-->
</if> <!-- </if>-->
<if test="monthList != null and monthList.size()>0"> <!-- <if test="monthList != null and monthList.size()>0">-->
and vecs.month in <!-- and vecs.month in-->
<foreach collection="monthList" item="item" open="(" separator="," close=")"> <!-- <foreach collection="monthList" item="item" open="(" separator="," close=")">-->
#{item} <!-- #{item}-->
</foreach> <!-- </foreach>-->
</if> <!-- </if>-->
GROUP BY `year`,month <!-- GROUP BY `year`,month-->
) AS t <!-- ) AS t-->
)as t2 <!-- )as t2-->
</select>
<select id="TjOrgCountSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgCountDto">
select sum(use_count) as use_count,sum(fix_count) as fix_count,sum(number) as number FROM (
SELECT SELECT
t.org_id, (SELECT `org_id` FROM `pub_org` WHERE org_id=#{orgId}) as org_id,
max(t.org_code) as org_code, (SELECT `org_code` FROM `pub_org` WHERE org_id=#{orgId}) as org_code,
max(t.org_name) as org_name, (SELECT `org_name` FROM `pub_org` WHERE org_id=#{orgId}) as org_name,
max(t.parent_id) as parent_id, (SELECT `d_name` FROM `pub_org` WHERE org_id=#{orgId}) as d_name,
max(t.d_name) AS d_name,
MAX(t.`year`) AS `year`, MAX(t.`year`) AS `year`,
SUM(t.use_count) AS use_count, SUM(t.use_count) AS use_count,
SUM(t.fix_count) AS fix_count, SUM(t.fix_count) AS fix_count,
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number
FROM ( FROM (
SELECT SELECT
org_id_int AS org_id, vecs.`year`,
max(org_code) as org_code, vecs.`month`,
max(org_name) as org_name, SUM(vecs.use_count) AS use_count,
max(parent_id) as parent_id, SUM(vecs.fix_count) AS fix_count,
max(org_name_short) AS d_name, sum(vecs.number) as number
FROM vie_equipment_count_summary vecs
left join pub_org po on vecs.org_id_int=po.org_id
where vecs.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%',#{orgId}, '%'))
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and vecs.type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="typeParentId != null and typeParentId !=''">
and vecs.type_parent_id=#{typeParentId}
</if>
<if test="sizeNameList!=null and sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
vecs.size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
<if test="monthList != null and monthList.size()>0">
and vecs.month in
<foreach collection="monthList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
GROUP BY `year`,month) as t
</select>
<select id="TjOrgCountSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgCountDto">
<!-- select sum(use_count) as use_count,sum(fix_count) as fix_count,sum(number) as number FROM (-->
<!-- SELECT-->
<!-- t.org_id,-->
<!-- max(t.org_code) as org_code,-->
<!-- max(t.org_name) as org_name,-->
<!-- max(t.parent_id) as parent_id,-->
<!-- max(t.d_name) AS d_name,-->
<!-- MAX(t.`year`) AS `year`,-->
<!-- SUM(t.use_count) AS use_count,-->
<!-- SUM(t.fix_count) AS fix_count,-->
<!-- sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number-->
<!-- FROM (-->
<!-- SELECT-->
<!-- org_id_int AS org_id,-->
<!-- max(org_code) as org_code,-->
<!-- max(org_name) as org_name,-->
<!-- max(parent_id) as parent_id,-->
<!-- max(org_name_short) AS d_name,-->
<!-- `year`,-->
<!-- `month`,-->
<!-- SUM(use_count) AS use_count,-->
<!-- SUM(fix_count) AS fix_count,-->
<!-- sum(number) as number-->
<!-- FROM vie_equipment_count_summary-->
<!-- where `year`= #{year} and (org_id_int=#{orgId} or parent_id=#{orgId})-->
<!-- <if test="typeIdsList!=null and typeIdsList.size() > 0">-->
<!-- and type_id in-->
<!-- <foreach collection="typeIdsList" item="item" open="(" separator="," close=")">-->
<!-- #{item}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="sizeNameList!=null and sizeNameList.size() > 0">-->
<!-- AND-->
<!-- <foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">-->
<!-- size_name like CONCAT('%', #{item}, '%')-->
<!-- </foreach>-->
<!-- </if>-->
<!-- GROUP BY org_id,`year`,month-->
<!-- ) AS t-->
<!-- GROUP BY-->
<!-- t.org_id-->
<!-- ) as a-->
SELECT
`year`, `year`,
`month`, `month`,
SUM(use_count) AS use_count, SUM(use_count) AS use_count,
SUM(fix_count) AS fix_count, SUM(fix_count) AS fix_count,
sum(number) as number sum(CASE WHEN month = MONTH(CURRENT_DATE()) THEN number ELSE 0 END) as number
FROM vie_equipment_count_summary FROM vie_equipment_count_summary
where `year`= #{year} and (org_id_int=#{orgId} or parent_id=#{orgId}) where `year`= #{year} and (org_id_int=#{orgId} or parent_id=#{orgId})
<if test="typeIdsList!=null and typeIdsList.size() > 0"> <if test="typeIdsList!=null and typeIdsList.size() > 0">
...@@ -144,12 +213,7 @@ ...@@ -144,12 +213,7 @@
size_name like CONCAT('%', #{item}, '%') size_name like CONCAT('%', #{item}, '%')
</foreach> </foreach>
</if> </if>
GROUP BY `year`,month
GROUP BY org_id,`year`,month
) AS t
GROUP BY
t.org_id
) as a
</select> </select>
<select id="TjOrgCountDetailSum" resultType="java.lang.Integer"> <select id="TjOrgCountDetailSum" resultType="java.lang.Integer">
select count(*) FROM ( select count(*) FROM (
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论