Commit 541d20d0 authored by 麻笑宇's avatar 麻笑宇

施工单位施工总量排名TOP10下钻列表

代码修改
parent cc5ca27f
......@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.ymt.api.dto.TzBaseEnterpriseInfoDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
......@@ -52,4 +53,5 @@ public interface CylinderStatisticsMapper {
Long countOffloading(@Param("orgCode") String orgCode, @Param("startTime") String startTime, @Param("endTime") String endTime);
Page<Map<String, Object>> getNormalPage(@Param("page") Page<Map<String, Object>> page, @Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
List<Map<String, Object>> getNormalByUnitCode(@Param("unitCodeList") List<String> unitCodeList, @Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
}
......@@ -130,6 +130,37 @@
</select>
<select id="getNormalPage" resultType="java.util.Map">
SELECT
tbei.use_unit_code AS useNnitCode
FROM
tz_base_enterprise_info tbei
INNER JOIN tz_cylinder_offloading co ON tbei.app_id = co.app_id
WHERE
tbei.unit_type LIKE'%充装单位%'
<if test="dpFilterParamForDetailDto.timeSearchOne != null">
<if test="dpFilterParamForDetailDto.timeSearchOne.beginDate != null and dpFilterParamForDetailDto.timeSearchOne.beginDate != ''">
and date_ge(CAST(co.statistics_sync_date as date),#{dpFilterParamForDetailDto.timeSearchOne.beginDate})
</if>
<if test="dpFilterParamForDetailDto.timeSearchOne.endDate != null and dpFilterParamForDetailDto.timeSearchOne.endDate != ''">
and date_le(CAST(co.statistics_sync_date as date),#{dpFilterParamForDetailDto.timeSearchOne.endDate})
</if>
</if>
<if test="dpFilterParamForDetailDto.orgCode != null and dpFilterParamForDetailDto.orgCode != '' ">
AND tbei.supervise_org_code like concat(#{dpFilterParamForDetailDto.orgCode},'%')
</if>
<if test="dpFilterParamForDetailDto.isDock == 0">
AND ( fillingCount is null and offloadingVolume is null )
</if>
<if test="dpFilterParamForDetailDto.isDock == 1">
AND ( fillingCount is not null OR offloadingVolume is not null )
</if>
<if test="dpFilterParamForDetailDto.companyName != null and dpFilterParamForDetailDto.companyName != '' ">
AND tbei.use_unit LIKE concat ( '%', #{dpFilterParamForDetailDto.companyName}, '%' )
</if>
GROUP BY
tbei.use_unit_code
</select>
<select id="getNormalByUnitCode" resultType="java.util.Map">
SELECT
tbei.use_unit_code AS useUnitCode,
tbei.unit_type AS unitType,
tbei.use_unit AS useUnit,
......@@ -234,5 +265,9 @@
<if test="dpFilterParamForDetailDto.companyName != null and dpFilterParamForDetailDto.companyName != '' ">
AND tbei.use_unit LIKE concat ( '%', #{dpFilterParamForDetailDto.companyName}, '%' )
</if>
and tbei.use_unit_code in
<foreach collection="unitCodeList" item="unitCode" separator="," open="(" close=")">
#{unitCode}
</foreach>
</select>
</mapper>
......@@ -956,16 +956,26 @@ public class CylinderDPStatisticsServiceImpl {
public Page<Map<String, Object>> normalPage(Page<Map<String, Object>> page, DPFilterParamForDetailDto dpFilterParamForDetailDto) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamForDetailDto.getCityCode());
dpFilterParamForDetailDto.setOrgCode(orgCode);
Page<Map<String, Object>> list = cylinderStatisticsMapper.getNormalPage(page, dpFilterParamForDetailDto);
Page<Map<String, Object>> returnPage = cylinderStatisticsMapper.getNormalPage(page, dpFilterParamForDetailDto);
List<String> unitCodeList = new ArrayList<>();
for (int i = 0; i < returnPage.getRecords().size(); i++){
unitCodeList.add(returnPage.getRecords().get(i).get("useUnitCode").toString());
}
if (org.apache.commons.collections.CollectionUtils.isEmpty(unitCodeList)){
return page;
}
for(int i = 0; i < list.getRecords().size(); i++){
if("0.0".equals(list.getRecords().get(i).get("fillingCount")+"") && "0.0".equals(list.getRecords().get(i).get("offloadingVolume")+"")){
list.getRecords().get(i).put("isDock","未对接");
List<Map<String, Object>> list = cylinderStatisticsMapper.getNormalByUnitCode(unitCodeList,dpFilterParamForDetailDto);
for(int i = 0; i < list.size(); i++){
if("0.0".equals(list.get(i).get("fillingCount")+"") && "0.0".equals(list.get(i).get("offloadingVolume")+"")){
list.get(i).put("isDock","未对接");
}else{
list.getRecords().get(i).put("isDock","对接");
list.get(i).put("isDock","对接");
}
}
return list;
returnPage.setRecords(list);
return returnPage;
}
public Map<String,List<Map<String,Object>>> normalSearch(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment