package cn.com.goldenwater.dcproj.service.impl.pblm; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.BisInspEnum; import cn.com.goldenwater.dcproj.constValue.CommonLabel; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.constValue.StateEnum; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.dto.*; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.dcproj.utils.*; import cn.com.goldenwater.id.util.UuidUtil; import cn.com.goldenwater.target.CheckException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; /** * @author lune * @date 2019-2-18 */ @Service @Transactional public class BisInspPblmServiceImpl extends AbstractCrudService implements BisInspPblmService { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspKeyRegSecUnitDao keyRegSecUnitDao; @Autowired private BisInspVillgdNvillService nvillService; @Autowired private BisInspVillgdVillService villService; @Autowired private BisInspVillgdWtspService wtspService; @Autowired private BisInspComPblmDao bisInspComPblmDao; @Autowired private GwComFileService gwComFileService; @Autowired private BisInspAllObjService bisInspAllObjService; @Autowired private OlBisInspOrgService inspOrgService; @Autowired private BisInspKeyRegSecUnitService bisInspKeyRegSecUnitService; @Autowired private BisInspPblmDutyService bisInspPblmDutyService; @Autowired AttRsBaseService attRsBaseService; public BisInspPblmServiceImpl(BisInspPblmDao bisInspPblmDao) { super(bisInspPblmDao); this.bisInspPblmDao = bisInspPblmDao; } @Override public BisInspPblm get(String key) { BisInspPblm bisInspPblm = super.get(key); BisInspPblmDutyParam bisInspPblmDutyParam = new BisInspPblmDutyParam(); bisInspPblmDutyParam.setPblmId(key); List bisInspPblmDuties = bisInspPblmDutyService.findList(bisInspPblmDutyParam); bisInspPblm.setBisInspPblmDuties(bisInspPblmDuties); return bisInspPblm; } @Override public int insert(BisInspPblm entity) { if (StringUtils.isBlank(entity.getPblmStat())) { entity.setPblmStat(CommonLabel.INIT_DATA); } if (StringUtils.isBlank(entity.getIfCasePblm())) { entity.setIfCasePblm(CommonLabel.INIT_DATA); } if (StringUtils.isBlank(entity.getVillType())) { if (BisInspEnum.VILL.getValue().equals(entity.getObjType())) { if (StringUtils.isNotBlank(entity.getVillageCode())) { entity.setVillType("1"); } else if (StringUtils.isNotBlank(entity.getCwsCode())) { entity.setVillType("3"); } else { entity.setVillType("2"); } } } if (BisInspEnum.EMPWT.getValue().equals(entity.getObjType()) || BisInspEnum.EMPWTRUN.getValue().equals(entity.getObjType()) || BisInspEnum.KEYSAFQH.getValue().equals(entity.getObjType()) || BisInspEnum.KEYCHKQH.getValue().equals(entity.getObjType()) ) { //新问题,复查状态,0新问题,1未复查,2已复查 entity.setReviConc(StateEnum.NOWASTSTATE.getKey()); entity.setProblemType(InspUtils.setProblemType(entity.getInspPblmName())); } if (StringUtils.isBlank(entity.getQuote())) { entity.setQuote("0"); } // 整编任务 添加整编字段 BisInspAllObj bisInspAllObj = bisInspAllObjService.get(entity.getObjId()); Optional.ofNullable(bisInspAllObj).ifPresent(obj -> { entity.setObjCode(obj.getCode()); entity.setObjAdCode(obj.getObjAdCode()); entity.setObjName(obj.getNm()); entity.setProvincial(obj.getProvincial()); entity.setBelongOrgId(obj.getOrgId()); // 行政区域代码 entity.setBelongAdCode(obj.getAdCode()); }); entity.setPblmId(UuidUtil.uuid()); entity.setDataStat("0"); entity.setCommonFileIds("-1"); entity.setCollTime(new Date()); if (null != entity.getBisInspPblmDuties()) { for (BisInspPblmDuty bisInspPblmDuty : entity.getBisInspPblmDuties()) { bisInspPblmDuty.setPblmId(entity.getPblmId()); bisInspPblmDutyService.insert(bisInspPblmDuty); } } return super.insert(entity); } @Override public void insertPblms(BisInspPblm bisInspPblm) { if (StringUtils.isBlank(bisInspPblm.getObjId())) { throw new CheckException("缺少必传参数objId"); } if (bisInspPblm.getGwComFiles() != null && bisInspPblm.getGwComFiles().size() > 0 && StringUtils.isNotBlank(bisInspPblm.getGwComFiles().get(0).getFilePath())) { bisInspPblm.setHasVedio("1"); } else { bisInspPblm.setHasVedio("0"); } // 整编任务 添加整编字段 BisInspAllObj bisInspAllObj = bisInspAllObjService.get(bisInspPblm.getObjId()); Optional.ofNullable(bisInspAllObj).ifPresent(obj -> { bisInspPblm.setObjCode(obj.getCode()); bisInspPblm.setObjAdCode(obj.getObjAdCode()); bisInspPblm.setObjName(obj.getNm()); bisInspPblm.setProvincial(obj.getProvincial()); }); if ("4".equals(bisInspPblm.getObjType()) && "034".equals(bisInspPblm.getOrgId()) && StringUtils.isNotBlank(bisInspPblm.getQualityTypeId())) { BisInspKeyRegSecUnit regSecUnit = keyRegSecUnitDao.get(bisInspPblm.getRegid()); if (regSecUnit != null && "4".equals(regSecUnit.getNature())) { BisInspKeyRegSecUnitParam keyRegSecUnitParam = new BisInspKeyRegSecUnitParam(); keyRegSecUnitParam.setObjId(bisInspPblm.getObjId()); keyRegSecUnitParam.setSecId(regSecUnit.getSecId()); keyRegSecUnitParam.setNature("3"); List inspKeyRegSecUnits = keyRegSecUnitDao.findList(keyRegSecUnitParam); for (BisInspKeyRegSecUnit secUnit : inspKeyRegSecUnits) { BisInspPblm copyPblm = new BisInspPblm(); BeanUtil.copyObject1(bisInspPblm, copyPblm); copyPblm.setRegid(secUnit.getId()); copyPblm.setPblmId(UuidUtil.uuid()); bisInspPblmDao.insert(copyPblm); gwComFileService.updateBiz(bisInspPblm.getGwComFiles(), copyPblm.getPblmId()); } } } // 设置 问题 来源机构 Optional.ofNullable(bisInspAllObj).ifPresent(obj -> { // 机构id bisInspPblm.setBelongOrgId(obj.getOrgId()); // 行政区域代码 bisInspPblm.setBelongAdCode(obj.getAdCode()); }); // 督查对象类型为中小型水库时,字段:大坝注册登记号--从水库基础信息表ATT_RS_BASE中(REG_CODE)获取 if(("80".equals(bisInspPblm.getObjType()) || "1".equals(bisInspPblm.getObjType())) && StringUtils.isNotBlank(bisInspPblm.getObjCode())){ AttRsBase attRsBase = attRsBaseService.get(bisInspPblm.getObjCode()); if(null!=attRsBase && StringUtils.isNotBlank(attRsBase.getRegCode())){ bisInspPblm.setDamRegCode(attRsBase.getRegCode()); } } insert(bisInspPblm); gwComFileService.updateBiz(bisInspPblm.getGwComFiles(), bisInspPblm.getPblmId()); /* 更新登记表状态 为督察中 */ bisInspAllObjService.updateRgstrByObjId(bisInspPblm.getObjId()); } @Override public int updatePblm(BisInspPblm bisInspPblm) { bisInspPblm.setCollTime(new Date()); if (bisInspPblm.getGwComFiles() != null && bisInspPblm.getGwComFiles().size() > 0 && StringUtils.isNotBlank(bisInspPblm.getGwComFiles().get(0).getFilePath())) { bisInspPblm.setHasVedio("1"); } // 督查对象类型为中小型水库时,字段:大坝注册登记号--从水库基础信息表ATT_RS_BASE中(REG_CODE)获取 if(("80".equals(bisInspPblm.getObjType()) || "1".equals(bisInspPblm.getObjType())) && StringUtils.isNotBlank(bisInspPblm.getObjCode())){ AttRsBase attRsBase = attRsBaseService.get(bisInspPblm.getObjCode()); if(null!=attRsBase && StringUtils.isNotBlank(attRsBase.getRegCode())){ bisInspPblm.setDamRegCode(attRsBase.getRegCode()); } } bisInspPblmDao.update(bisInspPblm); if (null != bisInspPblm.getBisInspPblmDuties()) { //删除之前问题数据 BisInspPblmDutyParam bisInspPblmDutyParam = new BisInspPblmDutyParam(); bisInspPblmDutyParam.setPblmId(bisInspPblm.getPblmId()); bisInspPblmDutyService.deleteBy(bisInspPblmDutyParam); //重新循环插入问题 for (BisInspPblmDuty bisInspPblmDuty : bisInspPblm.getBisInspPblmDuties()) { bisInspPblmDuty.setPblmId(bisInspPblm.getPblmId()); bisInspPblmDutyService.insert(bisInspPblmDuty); } } gwComFileService.updateBiz(bisInspPblm.getGwComFiles(), bisInspPblm.getPblmId()); return 0; } @Override public PageInfo findPageList(PlbmParam plbmParam) { if (StringUtils.isNotBlank(plbmParam.getObjType()) && StringUtils.isNotBlank(plbmParam.getInspPblmName())) { BisInspEnum bisInspEnum = BisInspEnum.getEnumByType(plbmParam.getObjType()); Optional.ofNullable(bisInspEnum).ifPresent(bisInspEnum1 -> { switch (bisInspEnum1) { case PRDQH: case FLOODQH: case MFDPQH: plbmParam.setPblmDescBz(plbmParam.getInspPblmName()); plbmParam.setInspPblmName(null); break; default: } }); } PageHelper.startPage(plbmParam); List list = bisInspPblmDao.findPlbmList(plbmParam); return new PageInfo<>(list); } @Override public PageInfo queryListByPage(BisInspPblmParam p) throws Exception { PageHelper.startPage(p.getPageNum(), p.getPageSize()); List list = bisInspPblmDao.findList(p); return new PageInfo(list); } @Override public List queryList(BisInspPblmParam p) throws Exception { List list = bisInspPblmDao.findList(p); return list; } @Override public List countByType(String presId, String adCode, String orgId) { Map map = new HashedMap(); map.put("presId", presId); map.put("adCode", adCode); map.put("orgId", orgId); map.put("province", inspOrgService.getProvince(orgId)); List counts = bisInspPblmDao.countByType(map); // 根据人员Id统计通用问题个数 CountType countType = new CountType(); BisInspComPblmParam param = new BisInspComPblmParam(); param.setCpRes(presId); countType.setCount(bisInspComPblmDao.selectCount(param)); countType.setName("通用问题"); countType.setVillType("6"); counts.add(countType); return counts; } @Override public PageInfo findReverPlbmList(ReverParam reverParam) { PageHelper.startPage(reverParam.getPageNum(), reverParam.getPageSize()); String orgIds = InspUtils.setOrgIds(reverParam.getOrgIds()); reverParam.setOrgIds(orgIds); reverParam.setCodes(InspUtils.setOrgIds(reverParam.getCodes())); List bisInspBaseDtos = bisInspPblmDao.findReverPlbmList(reverParam); for (BisInspPblm inspPblm : bisInspBaseDtos) { inspPblm.setInspPblmsName(inspPblm.getPblmNameBz()); inspPblm.setCheckPoint(inspPblm.getCheckPointBz()); inspPblm.setSnNum(inspPblm.getSnNumBz()); // int fileNum = gwComFileService.countByPblmId(inspPblm.getPblmId()); if (fileNum > 0) { inspPblm.setHasVedio("1"); } else { inspPblm.setHasVedio("0"); } } return new PageInfo<>(bisInspBaseDtos); } @Override public PageInfo findVillPlbmList(VillParam villParam) { PageHelper.startPage(villParam.getPageNum(), villParam.getPageSize()); String orgIds = InspUtils.setOrgIds(villParam.getOrgIds()); villParam.setOrgIds(orgIds); villParam.setCodes(InspUtils.setOrgIds(villParam.getCodes())); List bisInspBaseDtos = bisInspPblmDao.findVillPlbmList(villParam); PageInfo page = new PageInfo(bisInspBaseDtos); return page; } @Override public PageInfo findTrackPlbmList(TrackParam trackParam) { PageHelper.startPage(trackParam.getPageNum(), trackParam.getPageSize()); String orgIds = InspUtils.setOrgIds(trackParam.getOrgIds()); trackParam.setOrgIds(orgIds); trackParam.setCodes(InspUtils.setOrgIds(trackParam.getCodes())); List bisInspBaseDtos = bisInspPblmDao.findTrackPlbmList(trackParam); return new PageInfo<>(bisInspBaseDtos); } @Override public BisInspPblmDelLog insertPblmLog(BisInspPblmDelLogDto bisInspPblmDelLogDto) { //根据id获取问题详情 BisInspPblmDelLog bisInspPblmDelLog = this.bisInspPblmDao.getBisInspPblmById(bisInspPblmDelLogDto.getPblmId(), bisInspPblmDelLogDto.getOrgId()); if (bisInspPblmDelLog != null) { String guid = UuidUtil.uuid(); Date date = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = dateFormat.format(date); bisInspPblmDelLog.setPblmDelId(guid); bisInspPblmDelLog.setPblmDelNote(bisInspPblmDelLogDto.getPblmDelNote()); bisInspPblmDelLog.setPblmDelPers(bisInspPblmDelLogDto.getPblmDelPers()); bisInspPblmDelLog.setPblmDelPersnm(bisInspPblmDelLogDto.getPblmDelPersnm()); bisInspPblmDelLog.setPblmDelTm(format); this.bisInspPblmDao.insertPblmDelLog(bisInspPblmDelLog); return bisInspPblmDelLog; } return null; } @Override public PageInfo findWaterPlbmList(UnderWaterParam waterParam) { PageHelper.startPage(waterParam.getPageNum(), waterParam.getPageSize()); String orgIds = InspUtils.setOrgIds(waterParam.getOrgIds()); waterParam.setOrgIds(orgIds); waterParam.setCodes(InspUtils.setOrgIds(waterParam.getCodes())); List bisInspBaseDtos = bisInspPblmDao.findWaterPlbmList(waterParam); PageInfo page = new PageInfo(bisInspBaseDtos); return page; } @Override public PageInfo countByReverPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findReverPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public PageInfo countByTrackPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findTrackPblmPage(countParam); pblmPage = convertTrackData(countParam.getPersId(), pblmPage, countParam.getProvince()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public PageInfo countByVillPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findVillPblmPage(countParam); pblmPage = convertVillData(countParam.getPersId(), pblmPage, countParam.getOrgId(), countParam.getpType()); PageInfo page = new PageInfo(pblmPage); return page; } /** * 人饮工程 */ private List convertVillData(String persId, List pblmPage, String orgId, String type) { String codes = "'"; for (VillCount trackCount : pblmPage) { String adFullName = trackCount.getAdFullName(); if (adFullName.contains("-")) { String[] arrays = adFullName.split("-"); if (arrays.length == 3) { trackCount.setProvince(arrays[0]); trackCount.setCounty(arrays[2]); } if (arrays.length == 2) { trackCount.setProvince(arrays[0]); } } else { trackCount.setProvince(adFullName); } codes += trackCount.getCode() + "','"; } if ("'".equals(codes)) { return null; } if (StringUtils.isNotBlank(codes)) { codes = codes.substring(0, codes.length() - 2); } List typeCountList = bisInspPblmDao.countVill(persId, codes, inspOrgService.getProvince(orgId), orgId); for (VillCount villCount : pblmPage) { int total = 0; for (VillTypeCount typeCount : typeCountList) { if (villCount.getCode().equals(typeCount.getCode())) { setVillValue(villCount, typeCount, type); total += typeCount.getTotal(); } } villCount.setTotal(total); villCount.setNm(villCount.getProvince()); } return pblmPage; } /** * 水毁问题 */ private List convertTrackData(String persId, List pblmPage, String orgId) { if (pblmPage == null || StringUtils.isBlank(persId)) { return null; } String objIds = "'"; for (TrackCount trackCount : pblmPage) { objIds += trackCount.getObjId() + "','"; } if ("'".equals(objIds)) { return null; } if (StringUtils.isNotBlank(objIds)) { objIds = objIds.substring(0, objIds.length() - 2); } List trackTypeCounts = bisInspPblmDao.countTrack(persId, objIds, inspOrgService.getProvince(orgId), orgId); for (TrackCount trackCount : pblmPage) { int total = 0; for (TrackTypeCount typeCount : trackTypeCounts) { if (trackCount.getObjId().equals(typeCount.getObjId())) { setValue(trackCount, typeCount); total += typeCount.getTotal(); } } trackCount.setTotal(total); } return pblmPage; } @Override public void setVillValue(VillCount villCount, VillTypeCount typeCount, String type) { if (BisInspEnum.VILL.getValue().equals(type)) { if ("行政村".equals(typeCount.getInspPblmName())) { villCount.setCountry(typeCount.getTotal()); } if ("饮水工程".equals(typeCount.getInspPblmName())) { villCount.setWaterPro(typeCount.getTotal()); } if ("水源地".equals(typeCount.getInspPblmName())) { villCount.setWaterLocal(typeCount.getTotal()); } if ("责任落实".equals(typeCount.getInspPblmName())) { villCount.setReManage(typeCount.getTotal()); } } else { if ("用水户".equals(typeCount.getInspPblmName())) { villCount.setCountry(typeCount.getTotal()); } if ("饮水工程".equals(typeCount.getInspPblmName())) { villCount.setWaterPro(typeCount.getTotal()); } if ("水价政策制度".equals(typeCount.getInspPblmName())) { villCount.setReManage(typeCount.getTotal()); } } } @Override public void setValue(TrackCount trackCount, TrackTypeCount typeCount) { if ("统计管理情况".equals(typeCount.getInspPblmName())) { trackCount.setCountManage(typeCount.getTotal()); } if ("进度管理情况".equals(typeCount.getInspPblmName())) { trackCount.setProceManage(typeCount.getTotal()); } if ("质量保障体系建设情况".equals(typeCount.getInspPblmName())) { trackCount.setProtectLevel(typeCount.getTotal()); } if ("责任落实情况".equals(typeCount.getInspPblmName())) { trackCount.setReManage(typeCount.getTotal()); } if ("保障措施落实情况".equals(typeCount.getInspPblmName())) { trackCount.setProtectWay(typeCount.getTotal()); } if ("其它".equals(typeCount.getInspPblmName())) { trackCount.setOther(typeCount.getTotal()); } } @Override public List findTrackPblmBYAreaId(String areaId, String persId, String orgId) { String province = inspOrgService.getProvince(orgId); Map params = InspPblmUtils.getLength(province); String areaIdStr = bisInspPblmDao.getAreaOrgIdsNew(persId, areaId, province); if (StringUtils.isBlank(areaIdStr)) { return null; } List trackCountList = bisInspPblmDao.findTrackPblmBYAreaId(areaIdStr, province, params.get("otherLength"), params.get("length")); if (trackCountList == null) { return null; } List typeCountList = bisInspPblmDao.countTrackPblmByArea(areaIdStr, province, params.get("otherLength"), params.get("length")); for (TrackCount trackCount : trackCountList) { int count = 0; for (TrackTypeCount typeCount : typeCountList) { if (trackCount.getNm().equals(typeCount.getNm())) { setValue(trackCount, typeCount); count += typeCount.getTotal(); } } trackCount.setTotal(count); } return trackCountList; } @Override public PageInfo findWagaPlbmList(WagaParam wagaParam) { PageHelper.startPage(wagaParam.getPageNum(), wagaParam.getPageSize()); String orgIds = InspUtils.setOrgIds(wagaParam.getOrgIds()); wagaParam.setOrgIds(orgIds); wagaParam.setCodes(InspUtils.setOrgIds(wagaParam.getCodes())); List bisInspBaseDtos = bisInspPblmDao.findWagaPlbmList(wagaParam); PageInfo page = new PageInfo(bisInspBaseDtos); return page; } @Autowired private ObjKeyPblmsDao objKeyPblmsDao; @Override public PageInfo findKeyRegPlbmList(KeyRegPatam keyRegPatam) { PageHelper.startPage(keyRegPatam.getPageNum(), keyRegPatam.getPageSize()); String orgIds = InspUtils.setOrgIds(keyRegPatam.getOrgIds()); keyRegPatam.setOrgIds(orgIds); keyRegPatam.setCodes(InspUtils.setOrgIds(keyRegPatam.getCodes())); List bisInspBaseDtos = bisInspPblmDao.findKeyRegPlbmList(keyRegPatam); bisInspBaseDtos.forEach(this::convertRegPblm); return new PageInfo<>(bisInspBaseDtos); } @Autowired private RelOrgInspTypeDao relOrgInspTypeDao; @Override public PageInfo listOfPage(BisInspPblmParam pblmParam) { String[] rgsterTable = relOrgInspTypeDao.listOfRgster(pblmParam.getOrgId()); pblmParam.setRgsterTable(rgsterTable); setDate(pblmParam); if (StringUtils.isNotBlank(pblmParam.getAdCode())) { if("359900000000".equals(pblmParam.getAdCode())){ // 福建省 省本级 pblmParam.setAdCode("3500"); }else{ pblmParam.setAdCode(AdLevelUtil.getAddvcd(pblmParam.getAdCode())); } } else { pblmParam.setAdCode(pblmParam.getProvince()); } PageHelper.startPage(pblmParam.getPageNum(), pblmParam.getPageSize()); List pblmList = bisInspPblmDao.listOfPage(pblmParam); PageInfo pageInfo = new PageInfo<>(pblmList); InspUtils.addLocs(pageInfo); return pageInfo; } @Override public void exportPblmForExcel(PblmParam pblmParam, HttpServletResponse response) { // 1.设置 contentType 编码格式 response.setContentType("application/vnd.ms-excel;charset=UTF-8"); // 2.获取问题数据,转为map if ("999".equals(pblmParam.getpType())) { pblmParam.setProvince(AdLevelUtil.getAddvcd(olBisInspOrgService.getRlProvince(pblmParam.getOrgId()))); InspPblmUtils.writeXlsxCommon(pblmParam.getpType(), response, null, importListOfPblm(pblmParam)); } else { InspPblmUtils.writeXlsxCommon(pblmParam.getpType(), response, null, defaultListOfPblm(pblmParam)); } } /** * 默认获取问题列表信息 * * @param pblmParam 获取问题信息传参 * @return List> */ private List> importListOfPblm(PblmParam pblmParam) { List> mapList = new ArrayList<>(); List pblmList = bisInspPblmDao.getPblmListFromImport(pblmParam); for (BisInspPblm inspPblm : pblmList) { mapList.add(getMap(inspPblm, pblmParam.getpType())); } return mapList; } /** * 默认获取问题列表信息 * * @param pblmParam 获取问题信息传参 * @return List> */ private List> defaultListOfPblm(PblmParam pblmParam) { List> mapList = new ArrayList<>(); List pblmList = pblmList(pblmParam); for (BisInspPblm inspPblm : pblmList) { switch (pblmParam.getpType()) { case "4": case "7": case "99": case "100": ObjKeyPblms objKeyPblms = objKeyPblmsDao.get(inspPblm.getPblmsTypeId()); Optional.ofNullable(objKeyPblms).ifPresent(o -> { inspPblm.setAttachBz(o.getAttachName()); inspPblm.setSnNum(o.getSn()); }); BisInspKeyRegSecUnit unit = bisInspKeyRegSecUnitService.get(inspPblm.getRegid()); if (null == unit) { inspPblm.setNewVillName(""); inspPblm.setVillType(""); } else { inspPblm.setNewVillName(unit.getNm()); String nature = unit.getNature(); if (StringUtils.isNotBlank(nature)) { // 1:项目法人(建设单位) 2:勘察设计单位 3:监理单位 4:施工单位 5:金属结构及机电设备安装单位 6:安全监测单位 7:质量检测单位 9:其他 switch (nature) { case "1": nature = "项目法人(建设单位)"; break; case "2": nature = "勘察设计单位"; break; case "3": nature = "监理单位"; break; case "4": nature = "施工单位"; break; case "5": nature = "金属结构及机电设备安装单位"; break; case "6": nature = "安全监测单位"; break; case "7": nature = "质量检测单位"; break; case "9": nature = "其他"; break; default: nature = ""; } inspPblm.setVillType(nature); } } break; default: } } for (BisInspPblm inspPblm : pblmList) { mapList.add(getMap(inspPblm, pblmParam.getpType())); } return mapList; } public static Map getMap(BisInspPblm inspPblm, String type) { Map map = new HashMap<>(); map.put("IFCASEPBLM", "1".equals(inspPblm.getIfCasePblm()) ? "是" : "否"); if (StringUtils.isNotBlank(inspPblm.getAdFullName())) { if (inspPblm.getAdFullName().contains("-")) { String[] arrays = inspPblm.getAdFullName().split("-"); if (arrays.length >= 3) { map.put("PROVINCE", arrays[0]); map.put("CITY", arrays[1]); map.put("COUNTRY", arrays[2]); } if (arrays.length == 2) { map.put("PROVINCE", arrays[0]); map.put("CITY", arrays[1]); map.put("COUNTRY", ""); } } else { map.put("PROVINCE", ""); map.put("CITY", ""); map.put("COUNTRY", ""); } } map.put("OBJNAME", inspPblm.getObjName()); map.put("NAME", inspPblm.getNm()); map.put("RVNAME", inspPblm.getObjName()); map.put("ADFULLNAME", StringUtils.isNotBlank(inspPblm.getAdFullName()) ? inspPblm.getAdFullName().replace("-", "") : ""); map.put("FILENONUMBER", inspPblm.getFileNoNumber()); map.put("PBLMREASON", inspPblm.getPblmReason()); map.put("PBLMSGGTN", inspPblm.getPblmSggtn()); map.put("INSPPBLMNAME", inspPblm.getInspPblmName()); map.put("CHECKPOINT", inspPblm.getCheckPointBz()); map.put("PBLMDESCBZ", inspPblm.getPblmDescBz()); map.put("INSPPBLMDESC", inspPblm.getInspPblmDesc()); map.put("NOTE", inspPblm.getNote()); map.put("PERSNAME", inspPblm.getPersName()); map.put("NEWVILLNAME", inspPblm.getNewVillName()); map.put("VILLTYPE", inspPblm.getVillType()); map.put("LOC", inspPblm.getLoc()); map.put("ORGNM", inspPblm.getOrgNm()); if (StringUtils.isNotBlank(inspPblm.getAttach())) { map.put("ATTACH", "附件" + inspPblm.getAttach()); if (StringUtils.isNotBlank(inspPblm.getSheet()) && !"1".equals(inspPblm.getSheet())) { map.put("ATTACH", "附件" + inspPblm.getAttach() + "-" + inspPblm.getSheet()); } } map.put("ATTACHBZ", inspPblm.getAttachBz()); map.put("SNNUM", inspPblm.getSnNum()); map.put("COLLTIME", new SimpleDateFormat("yyyy/MM/dd").format(inspPblm.getCollTime())); if ("1".equals(inspPblm.getHasVedio())) { map.put("HASVEDIO", "是"); } else { map.put("HASVEDIO", "否"); } return map; } /** * 设置时间 * * @param pblmParam */ private void setDate(BisInspPblmParam pblmParam) { // 1. 判断 时间类别 String timeType = pblmParam.getTimeType(); if (timeType == null) { return; } if (timeType.contains("_")) { //自定义时间段 String[] dateStr = timeType.split("_"); if (2 == dateStr.length) { pblmParam.setSttm(dateStr[0]); pblmParam.setEntm(dateStr[1]); return; } } Date entm = new Date(); Calendar sttm = Calendar.getInstance(); switch (timeType) { // 近一个月 case "1": sttm.add(Calendar.MONTH, -1); break; // 近三个月 case "2": sttm.add(Calendar.MONTH, -3); break; // 近半年 case "3": sttm.add(Calendar.MONTH, -6); break; // 近一年 case "4": sttm.add(Calendar.YEAR, -1); break; // 今年以来 case "6": sttm.set(Integer.parseInt(DateUtils.getToday("yyyy")), Calendar.JANUARY, 1); break; case "7": // 按年度 break; default: return; } pblmParam.setSttm(DateUtils.Calendar2Str(sttm, "yyyy-MM-dd")); pblmParam.setEntm(DateUtils.Date2Str(entm, "yyyy-MM-dd")); if("7".equals(timeType)){ // 福建省 督查首页 按年份统计 String year = pblmParam.getYear(); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate startDate = null ; if(cn.com.goldenwater.dcproj.utils.StringUtils.isNotBlank(year)){ try { startDate = LocalDate.parse(year+"-01-01", dtf); } catch (Exception e) { startDate = LocalDate.now().withMonth(1).withDayOfMonth(1); } } if(null == startDate){ startDate = LocalDate.now().withMonth(1).withDayOfMonth(1); } LocalDate endDate = startDate.plusYears(1L).minusDays(1L) ; pblmParam.setSttm(startDate.format(dtf)); pblmParam.setEntm(endDate.format(dtf)); pblmParam.setYear(String.valueOf(startDate.getYear())); } } @Override public KeyRegPblm convertRegPblm(KeyRegPblm baseDtos) { if (baseDtos == null) { return null; } if (StringUtils.isNotBlank(baseDtos.getPblmsTypeId()) && StringUtils.isBlank(baseDtos.getAttachWgName())) {//违规历史数据填充 ObjKeyPblms objKeyPblms = objKeyPblmsDao.getOld(baseDtos.getPblmsTypeId()); if (objKeyPblms != null) { baseDtos.setAttachWg(objKeyPblms.getAttach() + "-" + objKeyPblms.getSheet()); baseDtos.setAttachWgName(objKeyPblms.getAttachName()); baseDtos.setAttachWgSn(objKeyPblms.getSn()); } } if (StringUtils.isNotBlank(baseDtos.getPblmsId()) && StringUtils.isBlank(baseDtos.getAttachHetongName())) {//合同 ObjKeyPblms objKeyPblms = objKeyPblmsDao.getOld(baseDtos.getPblmsTypeId()); if (objKeyPblms != null) { baseDtos.setAttachHetong(objKeyPblms.getAttach() + "-" + objKeyPblms.getSheet()); baseDtos.setAttachHetongName(objKeyPblms.getAttachName()); baseDtos.setAttachHetongSn(objKeyPblms.getSn()); } } if (StringUtils.isNotBlank(baseDtos.getQualityTypeId()) && StringUtils.isBlank(baseDtos.getAttachQuaName())) {//质量 ObjKeyPblms objKeyPblms = objKeyPblmsDao.getOld(baseDtos.getPblmsTypeId()); if (objKeyPblms != null) { baseDtos.setAttachQua(objKeyPblms.getAttach() + "-" + objKeyPblms.getSheet()); baseDtos.setAttachQuaName(objKeyPblms.getAttachName()); baseDtos.setAttachQuaSn(objKeyPblms.getSn()); } } if (StringUtils.isNotBlank(baseDtos.getDefectTypeId()) && StringUtils.isBlank(baseDtos.getAttachDefName())) { ObjKeyPblms objKeyPblms = objKeyPblmsDao.getOld(baseDtos.getPblmsTypeId()); if (objKeyPblms != null) { baseDtos.setAttachDef(objKeyPblms.getAttach() + "-" + objKeyPblms.getSheet()); baseDtos.setAttachDefName(objKeyPblms.getAttachName()); baseDtos.setAttachDefSn(objKeyPblms.getSn()); } } return baseDtos; } @Override public void updateStateByObjId(String objId, String state) { logger.info("updatePblmState -> objId:{},state:{}", objId, state); if (StringUtils.isBlank(objId) || StringUtils.isBlank(state)) { return; } if (!"2".equals(state)) { state = "0"; } bisInspPblmDao.updatePblmStateByObjId(Builder.of(BisInspPblmParam::new) .with(BisInspPblmParam::setObjId, objId) .with(BisInspPblmParam::setState, state) .build() ); } @Override public PageInfo countByWagaPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findWagaPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "waga", "", countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public PageInfo countByKeyRegPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findKeyRegPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "keyReg", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public List findKeyRegBYAreaId(String pType, String persId, String orgId) { String areaIdStr = ""; String province = inspOrgService.getProvince(orgId); Map params = InspPblmUtils.getLength(province); List keyRegCountList = bisInspPblmDao.findKeyRegBYAreaId(areaIdStr, pType, province, params.get("otherLength"), params.get("length")); if (keyRegCountList == null) { return null; } List keyRegList = new ArrayList<>(); List regNames = new ArrayList<>(); for (KeyRegCount regCount : keyRegCountList) { if (!regNames.contains(regCount.getAdFullName())) { regNames.add(regCount.getAdFullName()); } } for (String regName : regNames) { PblmRetCount retCount = new PblmRetCount(); retCount.setNm(regName); for (KeyRegCount regCount : keyRegCountList) { if (regName.equals(regCount.getAdFullName())) { if ("0".equals(regCount.getInspPblmCate())) { retCount.setCate0(regCount.getTotal()); } if ("1".equals(regCount.getInspPblmCate())) { retCount.setCate1(regCount.getTotal()); } if ("2".equals(regCount.getInspPblmCate())) { retCount.setCate2(regCount.getTotal()); } if ("3".equals(regCount.getInspPblmCate())) { retCount.setCate3(regCount.getTotal()); } } } retCount.setSub(retCount.getCate0() + retCount.getCate1() + retCount.getCate2() + retCount.getCate3()); keyRegList.add(retCount); } return keyRegList; } @Override public List findWagaPblmBYAreaId(String pType, String persId, String orgId) { String areaIdStr = ""; String province = inspOrgService.getProvince(orgId); Map params = InspPblmUtils.getLength(province); List wagaTotalList = bisInspPblmDao.findWagaPblmBYAreaId(areaIdStr, province, params.get("otherLength"), params.get("length")); if (wagaTotalList == null) { return null; } List wagaTypeList = bisInspPblmDao.countWagaPblmByType(areaIdStr, province, params.get("otherLength"), params.get("length")); if (wagaTypeList != null && !wagaTypeList.isEmpty()) { for (WagaTotal wagaTotal : wagaTotalList) { for (WagaType wagaType : wagaTypeList) { if (wagaTotal.getNm().equals(wagaType.getNm())) { if ("1".equals(wagaType.getEngScal())) { wagaTotal.setEngScal1(wagaType.getTotal()); } if ("2".equals(wagaType.getEngScal())) { wagaTotal.setEngScal2(wagaType.getTotal()); } if ("3".equals(wagaType.getEngScal())) { wagaTotal.setEngScal3(wagaType.getTotal()); } } } } } List wagaTypes = bisInspPblmDao.countWagaPblmByCate(areaIdStr, province, params.get("otherLength"), params.get("length")); if (wagaTypes != null && !wagaTypes.isEmpty()) { for (WagaTotal wagaTotal : wagaTotalList) { for (WagaType wagaType : wagaTypes) { if (wagaTotal.getNm().equals(wagaType.getNm())) { if ("0".equals(wagaType.getCate())) { wagaTotal.setCate0(wagaType.getTotal()); } if ("1".equals(wagaType.getCate())) { wagaTotal.setCate1(wagaType.getTotal()); } if ("2".equals(wagaType.getCate())) { wagaTotal.setCate2(wagaType.getTotal()); } if ("3".equals(wagaType.getCate())) { wagaTotal.setCate3(wagaType.getTotal()); } } } } } return wagaTotalList; } @Override public PageInfo findSdPblmList(SdPblmParam param) { PageHelper.startPage(param); String orgIds = InspUtils.setOrgIds(param.getOrgIds()); param.setOrgIds(orgIds); param.setCodes(InspUtils.setOrgIds(param.getCodes())); List list = bisInspPblmDao.findSdPblmList(param); PageInfo pageInfo = new PageInfo(list); return pageInfo; } @Override public PageInfo countBySdPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findSdPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "sd", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public List findPblmByPersId(String persId, String currentOrgId) { String province = inspOrgService.getProvince(currentOrgId); return bisInspPblmDao.findPblmByPersId(persId, province); } @Override public PageInfo countBySwhsPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findSwhsPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "swhs", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); return new PageInfo<>(pblmPage); } @Override public PageInfo findPblmList(PblmParam param) { PageHelper.startPage(param); return new PageInfo<>(pblmList(param)); } @Override public List pblmList(PblmParam param) { param.setOrgIds(InspUtils.setOrgIds(param.getOrgIds())); param.setCodes(InspUtils.setOrgIds(param.getCodes())); List list = bisInspPblmDao.findPblmList(param); if ("79".equals(param.getpType())) { list.forEach(p -> { if (StringUtils.isNotBlank(p.getCwsCode())) { BisInspVillgdWtsp wtsp = wtspService.get(p.getCwsCode()); Optional.ofNullable(wtsp).ifPresent(w -> p.setLoc(w.getLoc())); } else if (StringUtils.isNotBlank(p.getVillageCode())) { BisInspVillgdVill vill = villService.get(p.getVillageCode()); Optional.ofNullable(vill).ifPresent(w -> p.setLoc(w.getLoc())); BisInspVillgdNvill nvill = nvillService.get(p.getVillageCode()); Optional.ofNullable(nvill).ifPresent(w -> p.setLoc(w.getLoc())); } if (StringUtils.isNotBlank(p.getNewVillName())) { p.setNm(p.getNewVillName()); } }); } return list; } @Override public List findVillType(String currentOrgId) { return bisInspPblmDao.findVillType(inspOrgService.getProvince(currentOrgId)); } @Override public PageInfo countByWiuPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findWiuPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "wiu", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); return new PageInfo<>(pblmPage); } @Override public PageInfo countByPrdPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findPrdPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "prd", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public PageInfo countByJsflPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findJsflPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "jsfl", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public PageInfo countByJswaPage(CountParam countParam) { PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize()); List pblmPage = bisInspPblmDao.findJswaPblmPage(countParam); pblmPage = convertData(countParam.getPersId(), pblmPage, "jswa", countParam.getpType(), countParam.getProvince(), countParam.getOrgId()); PageInfo page = new PageInfo(pblmPage); return page; } @Override public boolean havePblm(String value, String id) { Map params = new HashMap<>(2); params.put("objType", value); params.put("regId", id); List pblmList = bisInspPblmDao.getListByMap(params); if (pblmList == null || pblmList.isEmpty()) { return false; } return true; } @Override public PageInfo pblmPage(BisInspVo bisInspVo) { PageHelper.startPage(bisInspVo.getPageNum(), bisInspVo.getPageSize()); List pblmPage = bisInspPblmDao.pblmPage(bisInspVo); PageInfo page = new PageInfo(pblmPage); if (page.getList().size() > 0) { for (BisInspVo v : page.getList()) { if (v.getAdFullName() != null) { if (v.getAdFullName().contains(SplitValue.HENG_SPLIT)) { String[] split = v.getAdFullName().split(SplitValue.HENG_SPLIT); if (split.length == 3) { v.setProvince(split[0]); v.setCity(split[1]); v.setCountry(split[2]); } if (split.length == 2) { v.setProvince(split[0]); v.setCity(split[1]); v.setCountry(""); } } else { v.setProvince(v.getAdFullName()); } } } } return page; } @Override public PageInfo pblmRectPage(BisInspVo bisInspVo) { PageHelper.startPage(bisInspVo.getPageNum(), bisInspVo.getPageSize()); List pblmPage = bisInspPblmDao.pblmRectPage(bisInspVo); PageInfo page = new PageInfo(pblmPage); return page; } @Override public int updatePblmState(BisInspPblmParam pblmParam) throws Exception { logger.info("updatePblmState -> objId:{},state:{}", pblmParam.getObjId(), pblmParam.getState()); if (StringUtils.isBlank(pblmParam.getObjId()) || StringUtils.isBlank(pblmParam.getState())) { throw new Exception("缺少objId,state"); } return bisInspPblmDao.updatePblmState(pblmParam); } @Autowired private ObjInspPblmsDao objInspPblmsDao; @Autowired private BisInspItemQuesNumDao bisInspItemQuesNumDao; @Autowired private OlBisInspOrgService olBisInspOrgService; @Override public List getPblmList(String id, String type, String objId, String orgId) { if (StringUtils.isBlank(id)) { return null; } OlBisInspOrg olBisInspOrg = olBisInspOrgService.get(orgId); List bisInspItemQuesNumDtoList = new ArrayList<>(); if ("1".equals(olBisInspOrg.getPblmLogo()) && "1".equals(type)) { bisInspItemQuesNumDtoList = bisInspItemQuesNumDao.getById(id, olBisInspOrg.getQuoteOrgId()); } else { bisInspItemQuesNumDtoList = bisInspItemQuesNumDao.getById(id, ""); } if (bisInspItemQuesNumDtoList.size() > 0) { StringBuilder sb = new StringBuilder(""); //获取所有的问题标准id List snList = new ArrayList<>(); bisInspItemQuesNumDtoList.forEach(bisInspItemQuesNumDto -> { String sn = bisInspItemQuesNumDto.getQuesSn(); if (StringUtils.isNotBlank(sn)) { String[] snSplitList = sn.split(SplitValue.DOUHAO_SPLIT); if (snSplitList.length > 0) { for (int i = 0; i < snSplitList.length; i++) { if (snSplitList[i].contains(SplitValue.HENG_SPLIT)) { Integer startIndex = Integer.parseInt(snSplitList[i].split(SplitValue.HENG_SPLIT)[0].toString()); Integer endIndex = Integer.parseInt(snSplitList[i].split(SplitValue.HENG_SPLIT)[1].toString()); while (startIndex <= endIndex) { snList.add(startIndex.toString()); startIndex++; } } else { snList.add(snSplitList[i]); } } } else { snList.add(sn); } } Map param = new HashMap<>(); //获取标准库中问题类别 param.put("type", type); param.put("fileNum", bisInspItemQuesNumDto.getFileNum()); param.put("sheetNum", bisInspItemQuesNumDto.getSheetNum()); param.put("snList", snList); param.put("orgId", ""); if ("1".equals(olBisInspOrg.getPblmLogo()) && "1".equals(type)) { param.put("orgId", olBisInspOrg.getQuoteOrgId()); } List pblmIds = objInspPblmsDao.getPblmIdsList(param); if (pblmIds.size() > 0) { pblmIds.forEach(pblmTypeId -> { sb.append("'").append(pblmTypeId).append("'").append(","); }); } }); if (sb.length() == 0) { return null; } //根据问题标准id获取问题列表 BisInspPblmParam pblmParam = new BisInspPblmParam(); pblmParam.setObjType(type); pblmParam.setPblmsTypeId(sb.substring(0, sb.length() - 1)); pblmParam.setObjId(objId); if ("1".equals(olBisInspOrg.getPblmLogo()) && "1".equals(type)) { pblmParam.setOrgId(olBisInspOrg.getQuoteOrgId()); } List result = bisInspPblmDao.getObjPblmList(pblmParam); return result; } return null; } /** * 根据行政区代码和时间获取问题数据 * * @param adCode * @param stTm * @param enTm * @return */ @Override public BisInspTaskTotal getPblmListByTm(String adCode, String objType, Date stTm, Date enTm) { return bisInspPblmDao.getPblmListByTm(adCode, objType, stTm, enTm); } @Override public List findVillPblmBYAreaId(String areaId, String persId, String orgId, String pType) { String province = inspOrgService.getProvince(orgId); String areaIdStr = bisInspPblmDao.getAreaOrgIdsNew(persId, areaId, province); if (StringUtils.isBlank(areaIdStr)) { return null; } Map params = InspPblmUtils.getLength(province); List villCountList = bisInspPblmDao.findVillPblmBYAreaId(areaIdStr, province, params.get("otherLength"), params.get("length")); if (villCountList == null) { return null; } List typeCountList = bisInspPblmDao.countVillPblmByArea(areaIdStr, province); for (VillCount villCount : villCountList) { int total = 0; for (VillTypeCount typeCount : typeCountList) { if (villCount.getAdFullName().equals(typeCount.getAdFullName())) { setVillValue(villCount, typeCount, pType); total += typeCount.getTotal(); } } villCount.setTotal(total); villCount.setNm(villCount.getAdFullName()); } return villCountList; } /** * 小水库转换 */ private List convertData(String persId, List pblmRetCountList, String type, String pType, String province, String orgId) { if (pblmRetCountList == null) { return null; } String codes = "'"; for (PblmRetCount retCount : pblmRetCountList) { codes += retCount.getCode() + "','"; } if ("'".equals(codes)) { return null; } if (StringUtils.isNotBlank(codes)) { codes = codes.substring(0, codes.length() - 2); } List bisInspBaseDtos = new ArrayList<>(); if ("".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countRever(persId, codes, province, pType, orgId); } if ("waga".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countWaga(persId, codes, province, orgId); } if ("keyReg".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countKeyReg(persId, codes, pType, province, orgId); } if ("sd".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countSd(persId, codes, pType, orgId); } if ("swhs".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countSwhs(persId, codes, pType, orgId); } if ("wiu".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countWiu(persId, codes, pType, orgId); } if ("prd".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countPrd(persId, codes, pType, orgId); } if ("jsfl".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countJsfl(persId, codes, pType, orgId); } if ("jswa".equals(type)) { bisInspBaseDtos = bisInspPblmDao.countJswa(persId, codes, pType, orgId); } for (PblmRetCount retCount : pblmRetCountList) { for (PblmCount pblmCount : bisInspBaseDtos) { if (retCount.getRsName().equals(pblmCount.getRsName()) && retCount.getCode().equals(pblmCount.getCode())) { if ("0".equals(pblmCount.getInspPblmCate())) { retCount.setCate0(pblmCount.getTotal()); } if ("1".equals(pblmCount.getInspPblmCate())) { retCount.setCate1(pblmCount.getTotal()); } if ("2".equals(pblmCount.getInspPblmCate())) { retCount.setCate2(pblmCount.getTotal()); } if ("3".equals(pblmCount.getInspPblmCate())) { retCount.setCate3(pblmCount.getTotal()); } } } retCount.setNm(retCount.getRsName()); if ("waga".equals(type)) { retCount.setEngScal(changeEngScal(retCount.getEngScal())); } retCount.setSub(retCount.getCate0() + retCount.getCate1() + retCount.getCate2() + retCount.getCate3()); } return pblmRetCountList; } private String changeEngScal(String engScal) { if ("1".equals(engScal)) { return "大型"; } if ("2".equals(engScal)) { return "中型"; } if ("3".equals(engScal)) { return "小型"; } return ""; } @Override public List getPblmPath(String pblmId) { if (StringUtils.isBlank(pblmId)) { return null; } return bisInspPblmDao.getPblmPath(pblmId); } /** * 问题汇总功能增加外部问题导入 * * @param f */ @Autowired AdCodeVerify adCodeVerify; @Override public List excelImport(MultipartFile f, String recPers) throws Exception { ImportUtil util = new ImportUtil() { @Override public void before(BisInspPblmImportDto bisInspPblmImportDto) { bisInspPblmImportDto.setRecPers(recPers); } }; List list = util.fileToList(f, BisInspPblmImportDto.class); List insertList = new ArrayList<>(); ExcelVerifyUtil verifyUtil = new ExcelVerifyUtil<>(list, new BisInspPblmVerify(), adCodeVerify); List rightList = verifyUtil.getRightList(); rightList.forEach(a -> insertList.add(a.transToBisInspPblm())); bisInspPblmDao.insertByList(insertList); List errorList = verifyUtil.getErrorList(); return errorList; } /** * excel导入问题查询 * * @param param * @return */ @Override public List getPblmListFromImport(PblmParam param) { PageHelper.startPage(param.getPageNum(), param.getPageSize()); return bisInspPblmDao.getPblmListFromImport(param); } @Override public void batchDelete(List param) { bisInspPblmDao.batchDelete(param); } @Override public List list(ReverParam reverParam) { return bisInspPblmDao.lists(reverParam); } }