| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- package cn.com.goldenwater.dcproj.service.impl;
- import cn.com.goldenwater.dcproj.dao.RelOrgInspTypeDao;
- import cn.com.goldenwater.dcproj.dao.TaskDthDayCountDao;
- import cn.com.goldenwater.dcproj.dto.BisInspTaskDthDayDto;
- import cn.com.goldenwater.dcproj.dto.BisInspTaskTotal;
- import cn.com.goldenwater.dcproj.service.IndexTotalService;
- import cn.com.goldenwater.dcproj.service.OlBisInspOrgService;
- import cn.com.goldenwater.dcproj.service.TacProvincePlanDictService;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.TaskDateUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.math.BigDecimal;
- import java.math.RoundingMode;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author LQL
- */
- @Service
- public class IndexTotalServiceImpl implements IndexTotalService {
- @Autowired
- private TaskDthDayCountDao taskDthDayCountDao;
- @Autowired
- private OlBisInspOrgService olBisInspOrgService;
- @Autowired
- private RelOrgInspTypeDao relOrgInspTypeDao;
- @Autowired
- private TacProvincePlanDictService tacProvincePlanDictService;
- @Override
- public Map<String, String> totalAll(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- bisInspTaskDthDayDto.setProvince(province);
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode()));
- }
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- Map<String, String> map = new HashMap<>(14);
- // 督查类别数量
- map.putAll(taskDthDayCountDao.getObjTypeSize(bisInspTaskDthDayDto.getOrgId()));
- //年督查项
- map.putAll(taskDthDayCountDao.getAllObjSize(bisInspTaskDthDayDto));
- //督查县/区数量
- map.putAll(taskDthDayCountDao.getObjAdCodeSizeX(bisInspTaskDthDayDto));
- //督查市数量
- map.putAll(taskDthDayCountDao.getObjAdCodeSizeS(bisInspTaskDthDayDto));
- // 督查批次数量
- map.putAll(taskDthDayCountDao.getBisInspAllSize(bisInspTaskDthDayDto));
- // 督查组数量
- map.putAll(taskDthDayCountDao.getBisInspAllGroupSize(bisInspTaskDthDayDto));
- // 全部人员数量
- map.putAll(taskDthDayCountDao.getAllPerSize(bisInspTaskDthDayDto));
- // 督查人员数量
- map.putAll(taskDthDayCountDao.getBisInspAllRlationPerSize(bisInspTaskDthDayDto));
- // 督查参与人次
- map.putAll(taskDthDayCountDao.getBisInspAllRlationPerNumSize(bisInspTaskDthDayDto));
- // 督查对象数量
- map.putAll(taskDthDayCountDao.getObjSize(bisInspTaskDthDayDto));
- // 督查对象重复数量
- map.putAll(taskDthDayCountDao.getObjSizeRepeat(bisInspTaskDthDayDto));
- // 已督查对象数量
- String[] rgsterTable = relOrgInspTypeDao.listOfRgster(bisInspTaskDthDayDto.getOrgId());
- if (rgsterTable != null && rgsterTable.length > 0) {
- bisInspTaskDthDayDto.setRgsterTable(rgsterTable);
- map.putAll(taskDthDayCountDao.getHasObjSize(bisInspTaskDthDayDto));
- } else {
- map.put("HASOBJSIZE", "0");
- }
- // 问题数量
- map.putAll(taskDthDayCountDao.getPblmSize(bisInspTaskDthDayDto));
- // 整改数量
- map.putAll(taskDthDayCountDao.getZgSize(bisInspTaskDthDayDto));
- // 整改销号数量
- map.putAll(taskDthDayCountDao.getPdZgSize(bisInspTaskDthDayDto));
- // 本月新增 督查类别个数
- map.putAll(taskDthDayCountDao.getObjTypeSizeMonth(bisInspTaskDthDayDto));
- // 本月新增 督查批次个数
- map.putAll(taskDthDayCountDao.getBisInspAllSizeMonth(bisInspTaskDthDayDto));
- // 本月新增 问题数量
- map.putAll(taskDthDayCountDao.getPblmSizeMonth(bisInspTaskDthDayDto));
- // 本月新增 整改数量
- map.put("MENDSIZEMONTH", "0");
- // 本月新增 整改销号数量
- map.putAll(taskDthDayCountDao.getDelPblmSizeMonth(bisInspTaskDthDayDto));
- // 福建省增加 查询 去年数据 需要与去年数据进行对比
- if("7".equals(bisInspTaskDthDayDto.getTimeType()) ) {
- // 统计 批次 和 组
- map.putAll(taskDthDayCountDao.selectBatchAndGroupSize(bisInspTaskDthDayDto));
- String queryCurYear = bisInspTaskDthDayDto.getYear();
- int curYear = Integer.parseInt(queryCurYear);
- map.put("objRant","0");
- map.put("pblmAllRant","0");
- map.put("pblmRectRant","0");
- if(2019 != curYear){
- bisInspTaskDthDayDto.setYear(String.valueOf(curYear-1));
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- // 督查对象数
- Map<String, String> lastYearObjMap = taskDthDayCountDao.getObjSize(bisInspTaskDthDayDto);
- if(null != lastYearObjMap && lastYearObjMap.size()>0){
- Object lastYearObjSize = lastYearObjMap.get("OBJSIZE");
- Object curYearObjSize = map.get("OBJSIZE");
- if(!"0".equals(curYearObjSize.toString())){
- map.put("objRant",getPercent(curYearObjSize.toString(),lastYearObjSize.toString()));
- }
- }
- // 发现问题数
- Map<String, String> lastYearPblmMap = taskDthDayCountDao.getPblmSize(bisInspTaskDthDayDto);
- if(null != lastYearPblmMap && lastYearPblmMap.size()>0){
- Object lastYearPblmSize = lastYearPblmMap.get("PBLMSIZE");
- Object curYearPblmSize = map.get("PBLMSIZE");
- if(!"0".equals(curYearPblmSize.toString())){
- map.put("pblmAllRant",getPercent(curYearPblmSize.toString(),lastYearPblmSize.toString()));
- }
- }
- // 整改问题数
- Map<String, String> lastYearZgMap = taskDthDayCountDao.getZgSize(bisInspTaskDthDayDto);
- if(null != lastYearZgMap && lastYearZgMap.size()>0){
- // 对比系统整改数
- Object lastYearZgSize = lastYearZgMap.get("MENDSIZESYS");
- Object curYearZgSize = map.get("MENDSIZESYS");
- if(!"0".equals(curYearZgSize.toString())){
- map.put("pblmRectRant",getPercent(curYearZgSize.toString(),lastYearZgSize.toString()));
- }
- }
- }
- }
- return map;
- }
- private String getPercent(String curVal , String lastVal){
- if("0".equals(lastVal)){
- return "0";
- }
- return new BigDecimal(curVal).subtract(new BigDecimal(lastVal)).multiply(new BigDecimal(100)).divide(new BigDecimal(lastVal),2, RoundingMode.HALF_UP).toString().concat("%");
- }
- @Override
- public Map<String, String> totalAllOfJicha(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- String province = olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId());
- bisInspTaskDthDayDto.setProvince(province);
- bisInspTaskDthDayDto.setLastStepId(tacProvincePlanDictService.getJcStepId(bisInspTaskDthDayDto.getOrgId()));
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode()));
- }
- else {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(province));
- }
- Map<String, String> map = new HashMap<>(9);
- // 人员个数
- map.putAll(taskDthDayCountDao.getBisInspAllRlationPerSizeJicha(bisInspTaskDthDayDto));
- // 组个数
- map.putAll(taskDthDayCountDao.getBisInspAllGroupSizeJicha(bisInspTaskDthDayDto));
- // 督查对象个数
- map.putAll(taskDthDayCountDao.getObjSizeJicha(bisInspTaskDthDayDto));
- // 督查问题个数
- map.putAll(taskDthDayCountDao.getPblmSizeJicha(bisInspTaskDthDayDto));
- // 整改数
- if ("330000000000".equals(province) && "2020".equals(bisInspTaskDthDayDto.getYear())) {
- map.put("MENDSIZE", map.get("PBLMSIZE"));
- } else {
- map.putAll(taskDthDayCountDao.getPblmSizeJichaZg(bisInspTaskDthDayDto));
- }
- // 销号数
- map.putAll(taskDthDayCountDao.getPblmSizeJichaFc(bisInspTaskDthDayDto));
- // 本月新增 整改个数 TODO
- map.put("MENDSIZEMONTH", "0");
- return map;
- }
- @Override
- public List<Map<String, String>> statisticsBySpecialtyType(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- //如果为空则设置 提取全省信息 否则 截取行政区
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode()));
- } else {
- bisInspTaskDthDayDto.setAdCode(province);
- }
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getObjType())) {
- bisInspTaskDthDayDto.setObjType(String.valueOf(Integer.parseInt(bisInspTaskDthDayDto.getObjType())));
- if ("8".equals(bisInspTaskDthDayDto.getObjType())) {
- // 如果是稽察, 查询最后一步ID
- bisInspTaskDthDayDto.setLastStepId(tacProvincePlanDictService.getJcStepId(bisInspTaskDthDayDto.getOrgId()));
- }
- }
- return taskDthDayCountDao.statisticsBySpecialtyType(bisInspTaskDthDayDto);
- }
- /**
- * 按年份统计督查类型的问题,按问题类型进行分类统计
- * @param bisInspTaskDthDayDto
- * @return
- */
- @Override
- public List<Map<String, String>> statisticsByPblmType(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- //如果为空则设置 提取全省信息 否则 截取行政区
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode()));
- } else {
- bisInspTaskDthDayDto.setAdCode(province);
- }
- return taskDthDayCountDao.statisticsByPblmType(bisInspTaskDthDayDto);
- }
- @Override
- public List<Map<String, String>> statisticsByEngType(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- // 设置时间
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- // 获取省份编码ID
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- // 如果为空则设置 提取全省信息 否则 截取行政区
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode()));
- } else {
- bisInspTaskDthDayDto.setAdCode(province);
- }
- bisInspTaskDthDayDto.setLastStepId(tacProvincePlanDictService.getJcStepId(bisInspTaskDthDayDto.getOrgId()));
- return taskDthDayCountDao.statisticsByEngType(bisInspTaskDthDayDto);
- }
- @Override
- public List<Map<String, String>> statisticsByResubType(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- // 设置时间
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- // 获取省份编码ID
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- // 如果为空则设置 提取全省信息 否则 截取行政区
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- bisInspTaskDthDayDto.setAdCode(AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode()));
- } else {
- bisInspTaskDthDayDto.setAdCode(province);
- }
- bisInspTaskDthDayDto.setLastStepId(tacProvincePlanDictService.getJcStepId(bisInspTaskDthDayDto.getOrgId()));
- return taskDthDayCountDao.statisticsByResubType(bisInspTaskDthDayDto);
- }
- @Override
- public Map<String, String> getObjSize(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- Map<String, String> mapObj = new HashMap<>(1);
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- province = AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode());
- }
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- BisInspTaskTotal bisInspTaskTotal = taskDthDayCountDao.getListByTm(province, bisInspTaskDthDayDto.getObjType(),
- bisInspTaskDthDayDto.getSttm(), bisInspTaskDthDayDto.getEntm());
- mapObj.put("objSize", String.valueOf(bisInspTaskTotal.getObjSize()));
- String[] rgsterTable = relOrgInspTypeDao.listOfRgster(bisInspTaskDthDayDto.getOrgId());
- bisInspTaskDthDayDto.setRgsterTable(rgsterTable);
- Map<String, String> map = taskDthDayCountDao.getHasObjSize(bisInspTaskDthDayDto);
- mapObj.putAll(map);
- return mapObj;
- }
- @Override
- public List<Map<String, Object>> personCount(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- String province = AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(bisInspTaskDthDayDto.getOrgId()));
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- province = AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode());
- }
- bisInspTaskDthDayDto.setProvince(province);
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- return taskDthDayCountDao.personCount(bisInspTaskDthDayDto);
- }
- }
|