package com.gkhy.safePlatform.incidentManage.rpc.provider;
|
|
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.utils.BeanCopyUtils;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import com.gkhy.safePlatform.commons.vo.SearchResultVO;
|
import com.gkhy.safePlatform.incidentManage.enums.AccidentResultCodes;
|
import com.gkhy.safePlatform.incidentManage.exception.AccidentException;
|
import com.gkhy.safePlatform.incidentManage.model.dto.resp.AccidentLevelResultCountRespDTO;
|
import com.gkhy.safePlatform.incidentManage.model.dto.resp.StatisticsDepLevelMonthAccidentRespDTO;
|
import com.gkhy.safePlatform.incidentManage.model.dto.resp.StatisticsDeptLevelYearAccidentRespDTO;
|
import com.gkhy.safePlatform.incidentManage.query.IncidentManageCountQuery;
|
import com.gkhy.safePlatform.incidentManage.rpc.api.IncidentManageRpcAPi;
|
import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.req.IncidentManageCountRPCReq;
|
import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.AccidentLevelResultCountRPCRespDTO;
|
import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.IncidentManageRPCResp;
|
import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.StatisticsDepLevelMonthAccidentRPCRespDTO;
|
import com.gkhy.safePlatform.incidentManage.rpc.api.model.dto.resp.StatisticsDeptLevelYearAccidentRPCRespDTO;
|
import com.gkhy.safePlatform.incidentManage.service.AccidentCountService;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.dubbo.config.annotation.DubboService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@DubboService
|
public class IncidentManageRpcProvider implements IncidentManageRpcAPi {
|
|
@Autowired
|
private AccidentCountService accidentCountService;
|
|
@Override
|
public SearchResultVO<IncidentManageRPCResp> getCountByDeptId(IncidentManageCountRPCReq query) {
|
return accidentCountService.getCountByDeptId(query);
|
}
|
|
@Override
|
public SearchResultVO<List<IncidentManageRPCResp>> getCountByDeptIds(IncidentManageCountRPCReq query) {
|
return accidentCountService.getCountByDeptIds(query);
|
}
|
|
@Override
|
public ResultVO<StatisticsDepLevelMonthAccidentRPCRespDTO> getAccidentCountByDeptIdAndMonth(IncidentManageCountRPCReq query) {
|
ResultVO<StatisticsDepLevelMonthAccidentRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
|
IncidentManageCountQuery countQuery = new IncidentManageCountQuery();
|
countQuery.setDeptId(query.getDeptId());
|
countQuery.setYear(query.getYear());
|
countQuery.setMonth(query.getMonth());
|
try{
|
StatisticsDepLevelMonthAccidentRespDTO accidentRespDTO = accidentCountService.getCountByDeptIdAndMonth(countQuery);
|
StatisticsDepLevelMonthAccidentRPCRespDTO accidentRPCRespDTO = new StatisticsDepLevelMonthAccidentRPCRespDTO();
|
accidentRPCRespDTO.setMonth(accidentRespDTO.getMonth());
|
accidentRPCRespDTO.setDepLevel(accidentRespDTO.getDepLevel());
|
List<AccidentLevelResultCountRespDTO> accidentLevelList = accidentRespDTO.getAccidentLevelList();
|
if(!CollectionUtils.isEmpty(accidentLevelList)){
|
List<AccidentLevelResultCountRPCRespDTO> resultCountRPCRespDTOList = BeanCopyUtils.copyBeanList(accidentLevelList, AccidentLevelResultCountRPCRespDTO.class);
|
accidentRPCRespDTO.setAccidentLevelList(resultCountRPCRespDTOList);
|
}
|
result.setData(accidentRPCRespDTO);
|
}catch (AccidentException e){
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
}catch (Exception e) {
|
result.setCode(AccidentResultCodes.ERROR.getCode());
|
result.setMsg(AccidentResultCodes.ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<StatisticsDeptLevelYearAccidentRPCRespDTO> getAccidentCountByDeptIdAndYear(IncidentManageCountRPCReq query) {
|
ResultVO<StatisticsDeptLevelYearAccidentRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
|
IncidentManageCountQuery countQuery = new IncidentManageCountQuery();
|
countQuery.setDeptId(query.getDeptId());
|
countQuery.setYear(query.getYear());
|
countQuery.setMonth(query.getMonth());
|
try{
|
StatisticsDeptLevelYearAccidentRespDTO accidentRespDTO = accidentCountService.getCountByDeptIdAndYear(countQuery);
|
StatisticsDeptLevelYearAccidentRPCRespDTO accidentRPCRespDTO = new StatisticsDeptLevelYearAccidentRPCRespDTO();
|
accidentRPCRespDTO.setYear(accidentRespDTO.getYear());
|
accidentRPCRespDTO.setDepLevel(accidentRespDTO.getDepLevel());
|
List<StatisticsDepLevelMonthAccidentRespDTO> monthList = accidentRespDTO.getMonthList();
|
List<StatisticsDepLevelMonthAccidentRPCRespDTO> monthAccidentRPCRespDTOList = new ArrayList<>();
|
if(!CollectionUtils.isEmpty(monthList)){
|
for(StatisticsDepLevelMonthAccidentRespDTO monthAccidentRespDTO : monthList){
|
StatisticsDepLevelMonthAccidentRPCRespDTO monthAccidentRPCRespDTO = new StatisticsDepLevelMonthAccidentRPCRespDTO();
|
monthAccidentRPCRespDTO.setMonth(monthAccidentRespDTO.getMonth());
|
monthAccidentRPCRespDTO.setDepLevel(monthAccidentRespDTO.getDepLevel());
|
List<AccidentLevelResultCountRespDTO> accidentLevelList = monthAccidentRespDTO.getAccidentLevelList();
|
if(!CollectionUtils.isEmpty(accidentLevelList)){
|
List<AccidentLevelResultCountRPCRespDTO> resultCountRPCRespDTOList = BeanCopyUtils.copyBeanList(accidentLevelList, AccidentLevelResultCountRPCRespDTO.class);
|
monthAccidentRPCRespDTO.setAccidentLevelList(resultCountRPCRespDTOList);
|
}
|
monthAccidentRPCRespDTOList.add(monthAccidentRPCRespDTO);
|
}
|
}
|
accidentRPCRespDTO.setMonthList(monthAccidentRPCRespDTOList);
|
result.setData(accidentRPCRespDTO);
|
}catch (AccidentException e){
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
}catch (Exception e) {
|
result.setCode(AccidentResultCodes.ERROR.getCode());
|
result.setMsg(AccidentResultCodes.ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<List<StatisticsDepLevelMonthAccidentRPCRespDTO>> getAccidentCountByDeptIdsAndMonth(IncidentManageCountRPCReq query) {
|
ResultVO<List<StatisticsDepLevelMonthAccidentRPCRespDTO>> result = new ResultVO<>(ResultCodes.OK);
|
IncidentManageCountQuery countQuery = new IncidentManageCountQuery();
|
countQuery.setDeptId(query.getDeptId());
|
countQuery.setYear(query.getYear());
|
countQuery.setMonth(query.getMonth());
|
try{
|
List<StatisticsDepLevelMonthAccidentRespDTO> accidentRespDTOList = accidentCountService.getCountByDeptIdsAndMonth(countQuery);
|
List<StatisticsDepLevelMonthAccidentRPCRespDTO> accidentRPCRespDTOList = new ArrayList<>();
|
for(StatisticsDepLevelMonthAccidentRespDTO accidentRespDTO:accidentRespDTOList){
|
StatisticsDepLevelMonthAccidentRPCRespDTO accidentRPCRespDTO = new StatisticsDepLevelMonthAccidentRPCRespDTO();
|
accidentRPCRespDTO.setMonth(accidentRespDTO.getMonth());
|
accidentRPCRespDTO.setDepLevel(accidentRespDTO.getDepLevel());
|
List<AccidentLevelResultCountRespDTO> accidentLevelList = accidentRespDTO.getAccidentLevelList();
|
if(!CollectionUtils.isEmpty(accidentLevelList)){
|
List<AccidentLevelResultCountRPCRespDTO> resultCountRPCRespDTOList = BeanCopyUtils.copyBeanList(accidentLevelList, AccidentLevelResultCountRPCRespDTO.class);
|
accidentRPCRespDTO.setAccidentLevelList(resultCountRPCRespDTOList);
|
}
|
accidentRPCRespDTOList.add(accidentRPCRespDTO);
|
}
|
result.setData(accidentRPCRespDTOList);
|
}catch (AccidentException e){
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
}catch (Exception e) {
|
result.setCode(AccidentResultCodes.ERROR.getCode());
|
result.setMsg(AccidentResultCodes.ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<List<StatisticsDeptLevelYearAccidentRPCRespDTO>> getAccidentCountByDeptIdsAndYear(IncidentManageCountRPCReq query) {
|
ResultVO<List<StatisticsDeptLevelYearAccidentRPCRespDTO>> result = new ResultVO<>(ResultCodes.OK);
|
IncidentManageCountQuery countQuery = new IncidentManageCountQuery();
|
countQuery.setDeptId(query.getDeptId());
|
countQuery.setYear(query.getYear());
|
countQuery.setMonth(query.getMonth());
|
try{
|
List<StatisticsDeptLevelYearAccidentRespDTO> yearAccidentRespDTOList = accidentCountService.getCountByDeptIdsAndYear(countQuery);
|
List<StatisticsDeptLevelYearAccidentRPCRespDTO> accidentRPCRespDTOList = new ArrayList<>();
|
for(StatisticsDeptLevelYearAccidentRespDTO yearAccidentRespDTO:yearAccidentRespDTOList){
|
StatisticsDeptLevelYearAccidentRPCRespDTO yearAccidentRPCRespDTO = new StatisticsDeptLevelYearAccidentRPCRespDTO();
|
yearAccidentRPCRespDTO.setYear(yearAccidentRespDTO.getYear());
|
yearAccidentRPCRespDTO.setDepLevel(yearAccidentRespDTO.getDepLevel());
|
List<StatisticsDepLevelMonthAccidentRespDTO> monthList = yearAccidentRespDTO.getMonthList();
|
List<StatisticsDepLevelMonthAccidentRPCRespDTO> monthAccidentRPCRespDTOList = new ArrayList<>();
|
if(!CollectionUtils.isEmpty(monthList)){
|
for(StatisticsDepLevelMonthAccidentRespDTO monthAccidentRespDTO:monthList){
|
StatisticsDepLevelMonthAccidentRPCRespDTO monthAccidentRPCRespDTO = new StatisticsDepLevelMonthAccidentRPCRespDTO();
|
monthAccidentRPCRespDTO.setMonth(monthAccidentRespDTO.getMonth());
|
monthAccidentRPCRespDTO.setDepLevel(monthAccidentRespDTO.getDepLevel());
|
List<AccidentLevelResultCountRespDTO> accidentLevelList = monthAccidentRespDTO.getAccidentLevelList();
|
if (!CollectionUtils.isEmpty(accidentLevelList)) {
|
List<AccidentLevelResultCountRPCRespDTO> resultCountRPCRespDTOList = BeanCopyUtils.copyBeanList(accidentLevelList, AccidentLevelResultCountRPCRespDTO.class);
|
monthAccidentRPCRespDTO.setAccidentLevelList(resultCountRPCRespDTOList);
|
}
|
monthAccidentRPCRespDTOList.add(monthAccidentRPCRespDTO);
|
}
|
}
|
accidentRPCRespDTOList.add(yearAccidentRPCRespDTO);
|
|
}
|
result.setData(accidentRPCRespDTOList);
|
}catch (AccidentException e){
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
}catch (Exception e) {
|
result.setCode(AccidentResultCodes.ERROR.getCode());
|
result.setMsg(AccidentResultCodes.ERROR.getDesc());
|
}
|
return result;
|
}
|
}
|