yinzuomei 4 years ago
parent
commit
10aeedb037
  1. 9
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/AgencyInfoDTO.java
  2. 18
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerAgencyCommonDTO.java
  3. 18
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridCommonDTO.java
  4. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java
  5. 3
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java
  6. 10
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java
  7. 8
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java
  8. 51
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java
  9. 13
      epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml
  10. 5
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml
  11. 5
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml
  12. 5
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java

9
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/AgencyInfoDTO.java

@ -13,8 +13,9 @@ import java.util.List;
*/
@Data
public class AgencyInfoDTO implements Serializable {
private String agencyId;
private String areaCode;
private List<String> subAgencyIds;
private List<String> subGridIds;
private String currentAgencyId;
private String currentAgencyName;
private String currentAreaCode;
private List<ScreenCustomerAgencyCommonDTO> subAgencies;
private List<ScreenCustomerGridCommonDTO> subGrids;
}

18
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerAgencyCommonDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
/**
* screen_customer_agency
*
* @author yinzuomei@elink-cn.com
* @date 2021/7/13 15:31
*/
@Data
public class ScreenCustomerAgencyCommonDTO implements Serializable {
private static final long serialVersionUID = -6222325433226628163L;
private String agencyId;
private String agencyName;
}

18
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridCommonDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
/**
* screen_customer_grid
*
* @author yinzuomei@elink-cn.com
* @date 2021/7/13 15:32
*/
@Data
public class ScreenCustomerGridCommonDTO implements Serializable {
private static final long serialVersionUID = -4405092094598416917L;
private String gridId;
private String gridName;
}

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java

@ -17,6 +17,7 @@
package com.epmet.datareport.dao.evaluationindex.screen;
import com.epmet.dto.ScreenCustomerAgencyCommonDTO;
import com.epmet.dto.result.ScreenCustomerAgencyDTO;
import com.epmet.dto.result.plugins.AgencyNodeDTO;
import com.epmet.dto.result.plugins.DeptNodeDTO;
@ -161,7 +162,7 @@ public interface ScreenCustomerAgencyDao {
**/
List<String> getNextAgencyIds(@Param("areaCode")String areaCode,@Param("agencyId")String agencyId);
List<String> selectSubAgencyIds(@Param("areaCode")String areaCode,@Param("agencyId")String agencyId);
List<ScreenCustomerAgencyCommonDTO> selectSubAgencyIds(@Param("areaCode")String areaCode, @Param("agencyId")String agencyId);
/**
* @Description 根据agencyId查询网格

3
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java

@ -17,6 +17,7 @@
package com.epmet.datareport.dao.evaluationindex.screen;
import com.epmet.dto.ScreenCustomerGridCommonDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -81,5 +82,5 @@ public interface ScreenCustomerGridDao {
*/
List<TreeResultDTO> selectGridInfo(@Param("agencyId")String agencyId);
List<String> selectSubGridIds(@Param("areaCode")String areaCode, @Param("agencyId")String agencyId);
List<ScreenCustomerGridCommonDTO> selectSubGridIds(@Param("areaCode")String areaCode, @Param("agencyId")String agencyId);
}

10
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java

@ -55,15 +55,7 @@ public interface ScreenWorkRecordOrgDailyDao extends BaseDao<ScreenWorkRecordOrg
@Param("customerId")String customerId,
@Param("dateId")String dateId);
/**
* @param customerIds 当前客户+所有子客户 列表
* @author yinzuomei
* @description 查询最近一次上传的日期
* @Date 2021/2/27 19:31
**/
String selectLatestDateId(@Param("customerIds")List<String> customerIds);
List<WorkRecordSubRank> selectCurrentAgency(@Param("agencyId") String agencyId,
WorkRecordSubRank selectCurrentAgency(@Param("agencyId") String agencyId,
@Param("dateId")String dateId,
@Param("typeCodeList")List<String> typeCodeList);

8
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java

@ -316,10 +316,10 @@ public class AgencyServiceImpl implements AgencyService {
@Override
public AgencyInfoDTO getAgencyInfoDTO(String areaCode, String agencyId) {
AgencyInfoDTO agencyInfoDTO=new AgencyInfoDTO();
agencyInfoDTO.setAgencyId(agencyId);
agencyInfoDTO.setAreaCode(areaCode);
agencyInfoDTO.setSubAgencyIds(screenCustomerAgencyDao.selectSubAgencyIds(areaCode,agencyId));
agencyInfoDTO.setSubGridIds(screenCustomerGridDao.selectSubGridIds(areaCode,agencyId));
agencyInfoDTO.setCurrentAgencyId(agencyId);
agencyInfoDTO.setCurrentAreaCode(areaCode);
agencyInfoDTO.setSubAgencies(screenCustomerAgencyDao.selectSubAgencyIds(areaCode,agencyId));
agencyInfoDTO.setSubGrids(screenCustomerGridDao.selectSubGridIds(areaCode,agencyId));
return agencyInfoDTO;
}
}

51
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java

@ -33,6 +33,8 @@ import com.epmet.datareport.service.evaluationindex.screen.AgencyService;
import com.epmet.datareport.service.plugins.ScreenWorkRecordOrgDailyService;
import com.epmet.datareport.utils.DateUtils;
import com.epmet.dto.AgencyInfoDTO;
import com.epmet.dto.ScreenCustomerAgencyCommonDTO;
import com.epmet.dto.ScreenCustomerGridCommonDTO;
import com.epmet.evaluationindex.screen.constant.ScreenConstant;
import com.epmet.plugins.ScreenWorkRecordOrgDailyDTO;
import com.epmet.plugins.form.VoluntaryServiceTrendFormDTO;
@ -107,21 +109,40 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
List<String> typeCodeList=baseDao.selectCustomerTypeCode(formDTO.getDataType(),formDTO.getCustomerId());
if(CollectionUtils.isEmpty(typeCodeList)){
log.warn(String.format("当前customerId=%s,screen_customer_work_record_dict 为空"));
return returnDto;
}
//1)、当前组织的自身的数据
List<WorkRecordSubRank> currentAgency = baseDao.selectCurrentAgency(formDTO.getAgencyId(),dateId,typeCodeList);
WorkRecordSubRank currentAgency = baseDao.selectCurrentAgency(formDTO.getAgencyId(),dateId,typeCodeList);
//2)、下级所有组织
List<WorkRecordSubRank> subAgencyRankList = new ArrayList<>();
for(String agencyId:agencyInfoDTO.getSubAgencyIds()){
WorkRecordSubRank agencyRes= baseDao.selectUpToCalAgency(agencyId,dateId,typeCodeList);
subAgencyRankList.add(agencyRes);
for(ScreenCustomerAgencyCommonDTO agencyCommonDTO:agencyInfoDTO.getSubAgencies()){
WorkRecordSubRank agencyRes= baseDao.selectUpToCalAgency(agencyCommonDTO.getAgencyId(),dateId,typeCodeList);
if(null !=agencyRes){
subAgencyRankList.add(agencyRes);
}else{
WorkRecordSubRank agencyDefault=new WorkRecordSubRank();
agencyDefault.setOrgId(agencyCommonDTO.getAgencyId());
agencyDefault.setName(agencyCommonDTO.getAgencyName());
agencyDefault.setParticipateTotal(0);
agencyDefault.setParticipateUserTotal(0);
subAgencyRankList.add(agencyDefault);
}
}
//3)、直属网格
List<WorkRecordSubRank> subGridList=new ArrayList<>();
for(String gridId:agencyInfoDTO.getSubGridIds()){
WorkRecordSubRank gridRes=baseDao.selectUpToCalGrid(gridId,dateId,typeCodeList);
subGridList.add(gridRes);
for(ScreenCustomerGridCommonDTO gridCommonDTO:agencyInfoDTO.getSubGrids()){
WorkRecordSubRank gridRes=baseDao.selectUpToCalGrid(gridCommonDTO.getGridId(),dateId,typeCodeList);
if (null != gridRes) {
subGridList.add(gridRes);
} else {
WorkRecordSubRank gridResDefault = new WorkRecordSubRank();
gridResDefault.setOrgId(gridCommonDTO.getGridId());
gridResDefault.setName(gridCommonDTO.getGridName());
gridResDefault.setParticipateTotal(0);
gridResDefault.setParticipateUserTotal(0);
subAgencyRankList.add(gridResDefault);
}
}
if(CollectionUtils.isNotEmpty(subAgencyRankList)){
@ -138,11 +159,9 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
participateUserTotal += subAgency.getParticipateUserTotal();
participateTotal += subAgency.getParticipateTotal();
}
if (CollectionUtils.isNotEmpty(currentAgency)) {
for (WorkRecordSubRank m : currentAgency) {
participateUserTotal += m.getParticipateUserTotal();
participateTotal += m.getParticipateTotal();
}
if (null != currentAgency) {
participateUserTotal += currentAgency.getParticipateUserTotal();
participateTotal += currentAgency.getParticipateTotal();
}
returnDto.setParticipateTotal(participateTotal);
returnDto.setParticipateUserTotal(participateUserTotal);
@ -226,9 +245,9 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl<ScreenW
AgencyInfoDTO agencyInfoDTO = agencyService.getAgencyInfoDTO(formDTO.getAreaCode(), formDTO.getAgencyId());
List<String> orgIds = new ArrayList<>();
orgIds.addAll(agencyInfoDTO.getSubAgencyIds());
orgIds.add(agencyInfoDTO.getAgencyId());
orgIds.addAll(agencyInfoDTO.getSubGridIds());
orgIds.addAll(agencyInfoDTO.getSubAgencies().stream().map(agency->agency.getAgencyId()).collect(Collectors.toSet()));
orgIds.add(agencyInfoDTO.getCurrentAgencyId());
orgIds.addAll(agencyInfoDTO.getSubGrids().stream().map(grid->grid.getGridId()).collect(Collectors.toSet()));
List<VoluntaryServiceTrendDTO> list = screenWorkRecordOrgMonthlyDao.selectVoluntaryServiceTrendDTO(formDTO.getCustomerId(),
orgIds,
monthIdList.get(NumConstant.ZERO),

13
epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml

@ -3,19 +3,6 @@
<mapper namespace="com.epmet.datareport.dao.plugins.ScreenWorkRecordOrgDailyDao">
<select id="selectLatestDateId" resultType="java.lang.String" parameterType="map">
SELECT
max( m.DATE_ID ) AS maxDateId
FROM
screen_work_record_org_daily m
WHERE
m.DEL_FLAG = '0'
AND m.CUSTOMER_ID in
<foreach item="customerId" collection="customerIds" open="(" separator="," close=")">
#{customerId}
</foreach>
</select>
<select id="selectSubList" parameterType="map" resultType="com.epmet.plugins.result.WorkRecordSubRank">
SELECT
sca.AGENCY_ID AS orgId,

5
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml

@ -304,9 +304,10 @@
</choose>
</select>
<select id="selectSubAgencyIds" parameterType="map" resultType="java.lang.String">
<select id="selectSubAgencyIds" parameterType="map" resultType="com.epmet.dto.ScreenCustomerAgencyCommonDTO">
SELECT
sca.AGENCY_ID as orgId
sca.AGENCY_ID as agencyId,
sca.AGENCY_NAME as agencyName
FROM
screen_customer_agency sca
WHERE

5
epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml

@ -122,9 +122,10 @@
GROUP BY scg.PARENT_AGENCY_ID
</select>
<select id="selectSubGridIds" parameterType="map" resultType="java.lang.String">
<select id="selectSubGridIds" parameterType="map" resultType="com.epmet.dto.ScreenCustomerGridCommonDTO">
SELECT
m.GRID_ID as orgId
m.GRID_ID as gridId,
m.grid_name as gridName
FROM
screen_customer_grid m
where m.DEL_FLAG = '0'

5
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java

@ -15,11 +15,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.epmet.dto;
package com.epmet.dto.screen;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**

Loading…
Cancel
Save