| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- package cn.com.goldenwater.dcproj.service.impl;
- import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
- import cn.com.goldenwater.dcproj.dao.BisInspTaskDthDayDao;
- import cn.com.goldenwater.dcproj.dao.DictTypeDao;
- import cn.com.goldenwater.dcproj.dao.ObjInspPblmsDao;
- import cn.com.goldenwater.dcproj.dao.OlBisInspOrgDao;
- import cn.com.goldenwater.dcproj.dao.TacSlbLawIndexDao;
- import cn.com.goldenwater.dcproj.dto.BisInspTaskDthDayDto;
- import cn.com.goldenwater.dcproj.dto.TacSlbLawIndexDto;
- import cn.com.goldenwater.dcproj.model.BisInspPblm;
- import cn.com.goldenwater.dcproj.model.BisInspTaskDthDay;
- import cn.com.goldenwater.dcproj.model.DictType;
- import cn.com.goldenwater.dcproj.model.ObjInspPblms;
- import cn.com.goldenwater.dcproj.model.OlBisInspOrg;
- import cn.com.goldenwater.dcproj.model.TacSlbLawIndex;
- import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
- import cn.com.goldenwater.dcproj.param.BisInspTaskDthDayParam;
- import cn.com.goldenwater.dcproj.param.DictTypeParam;
- import cn.com.goldenwater.dcproj.param.TacSlbLawIndexParam;
- import cn.com.goldenwater.dcproj.service.IndexTopService;
- import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
- import cn.com.goldenwater.dcproj.utils.Builder;
- import cn.com.goldenwater.dcproj.utils.TaskDateUtils;
- import cn.com.goldenwater.dcproj.vo.ObjInspPblmsVo;
- import com.github.pagehelper.PageHelper;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.stream.Collectors;
- /**
- * @author LXF
- * @date 2023-04-08
- */
- @Service
- public class IndexTopServiceImpl implements IndexTopService {
- @Autowired
- private TacSlbLawIndexDao tacSlbLawIndexDao;
- @Autowired
- private BisInspPblmDao bisInspPblmDao;
- @Autowired
- private OlBisInspOrgDao olBisInspOrgDao;
- @Autowired
- private ObjInspPblmsDao inspPblmsDao ;
- @Autowired
- private BisInspTaskDthDayDao bisInspTaskDthDayDao;
- @Autowired
- private DictTypeDao dictTypeDao;
- @Override
- public List<TacSlbLawIndex> slbLawTopList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- List<TacSlbLawIndexDto> lawIndexDtoList = this.tacSlbLawIndexDao.findListDocs(1);
- TacSlbLawIndexDto lawIndex = lawIndexDtoList.get(0);
- TacSlbLawIndexParam lawIndexParam = new TacSlbLawIndexParam();
- lawIndexParam.setDocId(lawIndex.getDocId() + "");
- // 取 多少条
- if(null != bisInspTaskDthDayDto.getTopNum()){
- lawIndexParam.setPageSize(bisInspTaskDthDayDto.getTopNum());
- }
- PageHelper.startPage(lawIndexParam);
- List<TacSlbLawIndex> lawIndexList = this.tacSlbLawIndexDao.findTopList(lawIndexParam);
- return lawIndexList;
- }
- @Override
- public List<BisInspPblm> pblmTopList(BisInspTaskDthDayDto bisInspTaskDthDayDto) {
- // 设置时间
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- String curOrgId = bisInspTaskDthDayDto.getOrgId();
- OlBisInspOrg inspOrg = this.olBisInspOrgDao.get(curOrgId);
- String adCode = AdLevelUtil.getAddvcd(inspOrg.getAdCode());
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- String addvcd = AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode());
- if (addvcd.contains(adCode)) {
- adCode = addvcd;
- }
- }
- BisInspPblmParam pblmParam = new BisInspPblmParam();
- pblmParam.setOrgId(curOrgId);
- pblmParam.setAdCode(adCode);
- pblmParam.setSttm(bisInspTaskDthDayDto.getSttm());
- pblmParam.setEntm(bisInspTaskDthDayDto.getEntm());
- pblmParam.setObjType(bisInspTaskDthDayDto.getObjType());
- // 取 多少条
- if(null != bisInspTaskDthDayDto.getTopNum()){
- pblmParam.setPageSize(bisInspTaskDthDayDto.getTopNum());
- }
- List<BisInspPblm> pblmList = this.bisInspPblmDao.indexTopList(pblmParam);
- return pblmList;
- }
- /**
- * 问题清单
- * 树形结构
- * @param bisInspTaskDthDayDto
- * @return
- */
- @Override
- public List<ObjInspPblmsVo> pblmBzTopList(BisInspTaskDthDayDto bisInspTaskDthDayDto){
- // 设置时间
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- TaskDateUtils.setDate(bisInspTaskDthDayDto);
- String curOrgId = bisInspTaskDthDayDto.getOrgId();
- OlBisInspOrg inspOrg = this.olBisInspOrgDao.get(curOrgId);
- String adCode = AdLevelUtil.getAddvcd(inspOrg.getAdCode());
- if (StringUtils.isNotBlank(bisInspTaskDthDayDto.getAdCode())) {
- String addvcd = AdLevelUtil.getAddvcd(bisInspTaskDthDayDto.getAdCode());
- if (addvcd.contains(adCode)) {
- adCode = addvcd;
- }
- }
- bisInspTaskDthDayDto.setAdCode(adCode);
- BisInspTaskDthDayParam bisInspTaskDthDayParam = new BisInspTaskDthDayParam();
- BeanUtils.copyProperties(bisInspTaskDthDayDto, bisInspTaskDthDayParam);
- List<BisInspTaskDthDay> specialtyTypeList = bisInspTaskDthDayDao.selectCurObjTypeList(bisInspTaskDthDayParam);
- List<ObjInspPblmsVo> resultList = specialtyTypeList.stream().map(m->Builder.of(ObjInspPblmsVo::new)
- .with(ObjInspPblmsVo::setInspObjType, m.getObjType())
- .with(ObjInspPblmsVo::setInspObjName, m.getObjName())
- .build()).collect(Collectors.toList());
- List<String> typeList = specialtyTypeList.stream().map(m->m.getObjType()).collect(Collectors.toList());
- // 如果有通用督查类型
- if(typeList.contains("111")){
- List<DictType> gnrlList = dictTypeDao.findList(Builder.of(DictTypeParam::new).with(DictTypeParam::setOwnerSystem, "gnrl").with(DictTypeParam::setOwnerOfc, curOrgId).build());
- if(null != gnrlList && gnrlList.size()>0){
- typeList.addAll(gnrlList.stream().map(m->m.getDictTypeCd()).collect(Collectors.toList()));
- resultList.addAll(gnrlList.stream().map(m->Builder.of(ObjInspPblmsVo::new)
- .with(ObjInspPblmsVo::setInspObjType, m.getDictTypeCd())
- .with(ObjInspPblmsVo::setInspObjName, m.getDictTypeDesc())
- .build()).collect(Collectors.toList()));
- }
- }
- if(null != typeList && typeList.size()>0){
- List<ObjInspPblms> inspPblmsBzList = this.inspPblmsDao.selectIndexList(typeList);
- if(null != inspPblmsBzList && inspPblmsBzList.size()>0){
- for(int i=0 ; i< resultList.size(); i++){
- ObjInspPblmsVo inspPblmsVo = resultList.get(i);
- // 问题名称
- List<ObjInspPblmsVo> pblmNameList = new ArrayList<>() ;
- Map<String, List<ObjInspPblms>> pblmNameMap = inspPblmsBzList.stream().filter(f -> inspPblmsVo.getInspObjType().equals(f.getType())).collect(Collectors.groupingBy(g -> g.getInspPblmsName()));
- Set<String> keySetName = pblmNameMap.keySet();
- for(String name : keySetName){
- ObjInspPblmsVo nameVo = new ObjInspPblmsVo();
- nameVo.setInspObjName(name);
- List<ObjInspPblms> pblmNameItemList = pblmNameMap.get(name);
- ObjInspPblms nameItem = pblmNameItemList.get(0);
- nameVo.setSn(nameItem.getSnNum());
- Map<String, List<ObjInspPblms>> pointMap = pblmNameItemList.stream().collect(Collectors.groupingBy(g -> g.getCheckPoint()));
- Set<String> keySetPoint = pointMap.keySet();
- List<ObjInspPblmsVo> pblmPonitList = new ArrayList<>() ;
- for(String point : keySetPoint){
- ObjInspPblmsVo pointVo = new ObjInspPblmsVo();
- List<ObjInspPblms> pblmPointItemList = pointMap.get(point);
- ObjInspPblms ointItem = pblmPointItemList.get(0);
- pointVo.setInspObjName( point);
- pointVo.setSn(ointItem.getSnNum());
- List<ObjInspPblmsVo> descList = pblmPointItemList.stream().map(m->Builder.of(ObjInspPblmsVo::new)
- .with(ObjInspPblmsVo::setInspObjName, m.getPblmDesc())
- .with(ObjInspPblmsVo::setSn, m.getSnNum())
- .build()).collect(Collectors.toList());
- pointVo.setChildren(descList);
- if(!descList.isEmpty()){
- pblmPonitList.add(pointVo);
- }
- }
- nameVo.setChildren(pblmPonitList);
- if(!pblmPonitList.isEmpty()){
- pblmNameList.add(nameVo);
- }
- }
- if(!pblmNameList.isEmpty()){
- inspPblmsVo.setChildren(pblmNameList);
- }else{
- resultList.remove(i);
- i--;
- }
- }
- }
- }
- return resultList;
- }
- }
|