| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428 |
- 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<BisInspPblm, BisInspPblmParam> 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<BisInspPblmDuty> 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<BisInspKeyRegSecUnit> 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<BisInspPblm> 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<BisInspPblm> list = bisInspPblmDao.findPlbmList(plbmParam);
- return new PageInfo<>(list);
- }
- @Override
- public PageInfo<BisInspPblm> queryListByPage(BisInspPblmParam p) throws Exception {
- PageHelper.startPage(p.getPageNum(), p.getPageSize());
- List<BisInspPblm> list = bisInspPblmDao.findList(p);
- return new PageInfo<BisInspPblm>(list);
- }
- @Override
- public List<BisInspPblm> queryList(BisInspPblmParam p) throws Exception {
- List<BisInspPblm> list = bisInspPblmDao.findList(p);
- return list;
- }
- @Override
- public List<CountType> countByType(String presId, String adCode, String orgId) {
- Map<String, Object> map = new HashedMap();
- map.put("presId", presId);
- map.put("adCode", adCode);
- map.put("orgId", orgId);
- map.put("province", inspOrgService.getProvince(orgId));
- List<CountType> 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<BisInspPblm> 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<BisInspPblm> 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<BisInspPblm> 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<BisInspPblm> bisInspBaseDtos = bisInspPblmDao.findVillPlbmList(villParam);
- PageInfo page = new PageInfo(bisInspBaseDtos);
- return page;
- }
- @Override
- public PageInfo<BisInspPblm> 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<BisInspPblm> 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<BisInspPblm> 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<BisInspPblm> bisInspBaseDtos = bisInspPblmDao.findWaterPlbmList(waterParam);
- PageInfo page = new PageInfo(bisInspBaseDtos);
- return page;
- }
- @Override
- public PageInfo<PblmRetCount> countByReverPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> 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<TrackCount> countByTrackPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<TrackCount> pblmPage = bisInspPblmDao.findTrackPblmPage(countParam);
- pblmPage = convertTrackData(countParam.getPersId(), pblmPage, countParam.getProvince());
- PageInfo page = new PageInfo(pblmPage);
- return page;
- }
- @Override
- public PageInfo<VillCount> countByVillPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<VillCount> pblmPage = bisInspPblmDao.findVillPblmPage(countParam);
- pblmPage = convertVillData(countParam.getPersId(), pblmPage, countParam.getOrgId(), countParam.getpType());
- PageInfo page = new PageInfo(pblmPage);
- return page;
- }
- /**
- * 人饮工程
- */
- private List<VillCount> convertVillData(String persId, List<VillCount> 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<VillTypeCount> 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<TrackCount> convertTrackData(String persId, List<TrackCount> 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<TrackTypeCount> 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<TrackCount> findTrackPblmBYAreaId(String areaId, String persId, String orgId) {
- String province = inspOrgService.getProvince(orgId);
- Map<String, String> params = InspPblmUtils.getLength(province);
- String areaIdStr = bisInspPblmDao.getAreaOrgIdsNew(persId, areaId, province);
- if (StringUtils.isBlank(areaIdStr)) {
- return null;
- }
- List<TrackCount> trackCountList = bisInspPblmDao.findTrackPblmBYAreaId(areaIdStr, province, params.get("otherLength"), params.get("length"));
- if (trackCountList == null) {
- return null;
- }
- List<TrackTypeCount> 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<BisInspPblm> 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<BisInspPblm> bisInspBaseDtos = bisInspPblmDao.findWagaPlbmList(wagaParam);
- PageInfo page = new PageInfo(bisInspBaseDtos);
- return page;
- }
- @Autowired
- private ObjKeyPblmsDao objKeyPblmsDao;
- @Override
- public PageInfo<KeyRegPblm> 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<KeyRegPblm> bisInspBaseDtos = bisInspPblmDao.findKeyRegPlbmList(keyRegPatam);
- bisInspBaseDtos.forEach(this::convertRegPblm);
- return new PageInfo<>(bisInspBaseDtos);
- }
- @Autowired
- private RelOrgInspTypeDao relOrgInspTypeDao;
- @Override
- public PageInfo<BisInspPblm> 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<BisInspPblm> pblmList = bisInspPblmDao.listOfPage(pblmParam);
- PageInfo<BisInspPblm> 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<Map < String, String>>
- */
- private List<Map<String, String>> importListOfPblm(PblmParam pblmParam) {
- List<Map<String, String>> mapList = new ArrayList<>();
- List<BisInspPblm> pblmList = bisInspPblmDao.getPblmListFromImport(pblmParam);
- for (BisInspPblm inspPblm : pblmList) {
- mapList.add(getMap(inspPblm, pblmParam.getpType()));
- }
- return mapList;
- }
- /**
- * 默认获取问题列表信息
- *
- * @param pblmParam 获取问题信息传参
- * @return List<Map < String, String>>
- */
- private List<Map<String, String>> defaultListOfPblm(PblmParam pblmParam) {
- List<Map<String, String>> mapList = new ArrayList<>();
- List<BisInspPblm> 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<String, String> getMap(BisInspPblm inspPblm, String type) {
- Map<String, String> 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<PblmRetCount> countByWagaPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> pblmPage = bisInspPblmDao.findWagaPblmPage(countParam);
- pblmPage = convertData(countParam.getPersId(), pblmPage, "waga", "", countParam.getProvince(), countParam.getOrgId());
- PageInfo page = new PageInfo(pblmPage);
- return page;
- }
- @Override
- public PageInfo<PblmRetCount> countByKeyRegPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> 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<PblmRetCount> findKeyRegBYAreaId(String pType, String persId, String orgId) {
- String areaIdStr = "";
- String province = inspOrgService.getProvince(orgId);
- Map<String, String> params = InspPblmUtils.getLength(province);
- List<KeyRegCount> keyRegCountList = bisInspPblmDao.findKeyRegBYAreaId(areaIdStr, pType, province, params.get("otherLength"), params.get("length"));
- if (keyRegCountList == null) {
- return null;
- }
- List<PblmRetCount> keyRegList = new ArrayList<>();
- List<String> 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<WagaTotal> findWagaPblmBYAreaId(String pType, String persId, String orgId) {
- String areaIdStr = "";
- String province = inspOrgService.getProvince(orgId);
- Map<String, String> params = InspPblmUtils.getLength(province);
- List<WagaTotal> wagaTotalList = bisInspPblmDao.findWagaPblmBYAreaId(areaIdStr, province, params.get("otherLength"), params.get("length"));
- if (wagaTotalList == null) {
- return null;
- }
- List<WagaType> 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<WagaType> 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<BisInspPblm> findSdPblmList(SdPblmParam param) {
- PageHelper.startPage(param);
- String orgIds = InspUtils.setOrgIds(param.getOrgIds());
- param.setOrgIds(orgIds);
- param.setCodes(InspUtils.setOrgIds(param.getCodes()));
- List<BisInspPblm> list = bisInspPblmDao.findSdPblmList(param);
- PageInfo<BisInspPblm> pageInfo = new PageInfo(list);
- return pageInfo;
- }
- @Override
- public PageInfo<PblmRetCount> countBySdPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> 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<PblmRole> findPblmByPersId(String persId, String currentOrgId) {
- String province = inspOrgService.getProvince(currentOrgId);
- return bisInspPblmDao.findPblmByPersId(persId, province);
- }
- @Override
- public PageInfo<PblmRetCount> countBySwhsPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> pblmPage = bisInspPblmDao.findSwhsPblmPage(countParam);
- pblmPage = convertData(countParam.getPersId(), pblmPage, "swhs", countParam.getpType(), countParam.getProvince(), countParam.getOrgId());
- return new PageInfo<>(pblmPage);
- }
- @Override
- public PageInfo<BisInspPblm> findPblmList(PblmParam param) {
- PageHelper.startPage(param);
- return new PageInfo<>(pblmList(param));
- }
- @Override
- public List<BisInspPblm> pblmList(PblmParam param) {
- param.setOrgIds(InspUtils.setOrgIds(param.getOrgIds()));
- param.setCodes(InspUtils.setOrgIds(param.getCodes()));
- List<BisInspPblm> 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<String> findVillType(String currentOrgId) {
- return bisInspPblmDao.findVillType(inspOrgService.getProvince(currentOrgId));
- }
- @Override
- public PageInfo<PblmRetCount> countByWiuPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> pblmPage = bisInspPblmDao.findWiuPblmPage(countParam);
- pblmPage = convertData(countParam.getPersId(), pblmPage, "wiu", countParam.getpType(), countParam.getProvince(), countParam.getOrgId());
- return new PageInfo<>(pblmPage);
- }
- @Override
- public PageInfo<PblmRetCount> countByPrdPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> 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<PblmRetCount> countByJsflPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> 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<PblmRetCount> countByJswaPage(CountParam countParam) {
- PageHelper.startPage(countParam.getPageNum(), countParam.getPageSize());
- List<PblmRetCount> 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<String, String> params = new HashMap<>(2);
- params.put("objType", value);
- params.put("regId", id);
- List<BisInspPblm> pblmList = bisInspPblmDao.getListByMap(params);
- if (pblmList == null || pblmList.isEmpty()) {
- return false;
- }
- return true;
- }
- @Override
- public PageInfo<BisInspVo> pblmPage(BisInspVo bisInspVo) {
- PageHelper.startPage(bisInspVo.getPageNum(), bisInspVo.getPageSize());
- List<BisInspVo> pblmPage = bisInspPblmDao.pblmPage(bisInspVo);
- PageInfo<BisInspVo> 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<BisInspVo> pblmRectPage(BisInspVo bisInspVo) {
- PageHelper.startPage(bisInspVo.getPageNum(), bisInspVo.getPageSize());
- List<BisInspVo> 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<BisInspPblm> getPblmList(String id, String type, String objId, String orgId) {
- if (StringUtils.isBlank(id)) {
- return null;
- }
- OlBisInspOrg olBisInspOrg = olBisInspOrgService.get(orgId);
- List<BisInspItemQuesNumDto> 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<String> 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<String, Object> 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<String> 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<BisInspPblm> 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<VillCount> 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<String, String> params = InspPblmUtils.getLength(province);
- List<VillCount> villCountList = bisInspPblmDao.findVillPblmBYAreaId(areaIdStr, province, params.get("otherLength"), params.get("length"));
- if (villCountList == null) {
- return null;
- }
- List<VillTypeCount> 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<PblmRetCount> convertData(String persId, List<PblmRetCount> 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<PblmCount> 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<String> getPblmPath(String pblmId) {
- if (StringUtils.isBlank(pblmId)) {
- return null;
- }
- return bisInspPblmDao.getPblmPath(pblmId);
- }
- /**
- * 问题汇总功能增加外部问题导入
- *
- * @param f
- */
- @Autowired
- AdCodeVerify adCodeVerify;
- @Override
- public List<String> excelImport(MultipartFile f, String recPers) throws Exception {
- ImportUtil<BisInspPblmImportDto> util = new ImportUtil<BisInspPblmImportDto>() {
- @Override
- public void before(BisInspPblmImportDto bisInspPblmImportDto) {
- bisInspPblmImportDto.setRecPers(recPers);
- }
- };
- List<BisInspPblmImportDto> list = util.fileToList(f, BisInspPblmImportDto.class);
- List<BisInspPblm> insertList = new ArrayList<>();
- ExcelVerifyUtil verifyUtil = new ExcelVerifyUtil<>(list, new BisInspPblmVerify(), adCodeVerify);
- List<BisInspPblmImportDto> rightList = verifyUtil.getRightList();
- rightList.forEach(a -> insertList.add(a.transToBisInspPblm()));
- bisInspPblmDao.insertByList(insertList);
- List<String> errorList = verifyUtil.getErrorList();
- return errorList;
- }
- /**
- * excel导入问题查询
- *
- * @param param
- * @return
- */
- @Override
- public List<BisInspPblm> getPblmListFromImport(PblmParam param) {
- PageHelper.startPage(param.getPageNum(), param.getPageSize());
- return bisInspPblmDao.getPblmListFromImport(param);
- }
- @Override
- public void batchDelete(List<PblmParam> param) {
- bisInspPblmDao.batchDelete(param);
- }
- }
|