| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378 |
- package cn.com.goldenwater.dcproj.service.impl.fsc;
- import cn.com.goldenwater.dcproj.constValue.SplitValue;
- import cn.com.goldenwater.dcproj.dao.*;
- import cn.com.goldenwater.dcproj.dto.BisInspFscPblmDto;
- import cn.com.goldenwater.dcproj.dto.PersAllDto;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.*;
- import cn.com.goldenwater.dcproj.service.BisInspFscPblmService;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.service.GwComFileService;
- import cn.com.goldenwater.dcproj.utils.BeanUtil;
- import cn.com.goldenwater.dcproj.utils.impexcel.ExpAndImpUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- /**
- * @author lune
- * @date 2019-7-19
- */
- @Service
- @Transactional(rollbackFor = Exception.class)
- public class BisInspFscPblmServiceImpl extends AbstractCrudService<BisInspFscPblm, BisInspFscPblmParam> implements BisInspFscPblmService {
- @Autowired
- private BisInspFscPblmDao bisInspFscPblmDao;
- @Autowired
- private BisInspFscRgstrDao fscRgstrDao;
- @Autowired
- private AttAdXBaseDao attAdXBaseDao;
- @Autowired
- private BisInspAllObjDao allObjDao;
- @Autowired
- private AttFscBaseDao baseDao;
- @Autowired
- private GwComFileService gwComFileService;
- @Autowired
- private SupervisionPlanDao supervisionPlanDao;
- public BisInspFscPblmServiceImpl(BisInspFscPblmDao bisInspFscPblmDao) {
- super(bisInspFscPblmDao);
- this.bisInspFscPblmDao = bisInspFscPblmDao;
- }
- @Override
- public int insertIntoData(List<LinkedHashMap<String, Object>> list) {
- Iterator<LinkedHashMap<String, Object>> iterator = list.iterator();
- List<BisInspFscRgstr> fscRgstrs = new ArrayList<>();
- List<BisInspFscPblm> pblms = new ArrayList<>();
- while (iterator.hasNext()) {
- LinkedHashMap<String, Object> map = iterator.next();
- BisInspFscPblmDto fscPblmDto = null;
- try {
- fscPblmDto = (BisInspFscPblmDto) ExpAndImpUtil.convertMapToBean(BisInspFscPblmDto.class, map);
- formatObj(fscPblmDto);
- } catch (Exception e) {
- throw new NullPointerException("转换失败");
- }
- if (StringUtils.isBlank(fscPblmDto.getType()) || StringUtils.isBlank(fscPblmDto.getName())) {
- continue;
- }
- //if att other base table dont have this name
- AttFscBaseParam baseParam = new AttFscBaseParam();
- baseParam.setName(fscPblmDto.getName());
- baseParam.setType(fscPblmDto.getType());
- AttFscBase base = baseDao.getBy(baseParam);
- if (base == null) {
- continue;
- }
- BisInspFscRgstrParam fscRgstrParam = new BisInspFscRgstrParam();
- fscRgstrParam.setType(fscPblmDto.getType());
- fscRgstrParam.setName(fscPblmDto.getName());
- List<BisInspFscRgstr> rgstrs = fscRgstrDao.findList(fscRgstrParam);
- if (rgstrs != null && rgstrs.size() > 1) {
- continue;
- }
- BisInspFscRgstr rgstr = null;
- if (rgstrs == null || rgstrs.size() == 0) {
- //查询督查对象表
- rgstr = new BisInspFscRgstr();
- BisInspAllObjParam param = new BisInspAllObjParam();
- param.setNm(fscPblmDto.getName());
- param.setPtype("9");
- BisInspAllObj obj = allObjDao.getBy(param);
- if (obj == null) {
- //不在督查对象中
- continue;
- }
- rgstr.setId(UuidUtil.uuid());
- rgstr.setObjId(obj.getObjId());
- rgstr.setAdmOrg(fscPblmDto.getOrg());
- rgstr.setGroupId(obj.getId());
- rgstr.setState("0");
- rgstr.setGdX(base.getGdX());
- rgstr.setGdY(base.getGdY());
- rgstr.setCenterX(base.getCenterX());
- rgstr.setCenterY(base.getCenterY());
- rgstr.setLocation(base.getLocation());
- rgstr.setPersId(base.getPersId());
- rgstr.setType(fscPblmDto.getType());
- rgstr.setAdCode(fscPblmDto.getAdCode());
- rgstr.setInTm(new Date());
- rgstr.setUpTm(new Date());
- rgstr.setName(fscPblmDto.getName());
- rgstr.setDataStat("0");
- this.fscRgstrDao.insert(rgstr);
- } else {
- rgstr = rgstrs.get(0);
- rgstr.setAdCode(fscPblmDto.getAdCode());
- rgstr.setAdmOrg(fscPblmDto.getOrg());
- this.fscRgstrDao.update(rgstr);
- }
- if (rgstr != null) {
- rgstrs.add(rgstr);
- if (StringUtils.isBlank(fscPblmDto.getAUnit()) || StringUtils.isBlank(fscPblmDto.getPblmDesc())) {
- continue;
- }
- BisInspFscPblm pblm = new BisInspFscPblm(fscPblmDto);
- pblm.setRectConc(rectConc(pblm.getRectConc()));
- if (StringUtils.isNotBlank(fscPblmDto.getId())) {
- bisInspFscPblmDao.update(pblm);
- } else {
- //query pblm
- BisInspFscPblmParam pblmParam = new BisInspFscPblmParam();
- pblmParam.setAUnit(fscPblmDto.getaUnit());
- pblmParam.setPblmDesc(fscPblmDto.getPblmDesc());
- BisInspFscPblm pblm1 = bisInspFscPblmDao.getBy(pblmParam);
- if (pblm1 == null) {
- pblm.setId(UuidUtil.uuid());
- pblm.setRgstrId(rgstr.getId());
- pblm.setGroupId(rgstr.getGroupId());
- pblm.setPersId(rgstr.getPersId());
- pblm.setInTm(new Date());
- pblm.setUpTm(new Date());
- pblm.setDataStat("0");
- pblms.add(pblm);
- }
- }
- }
- }
- if (pblms.size() == 0) {
- if (fscRgstrs.size() == 0) {
- return 1;
- }
- return fscRgstrs.size();
- }
- if (pblms.size() > 0) {
- return bisInspFscPblmDao.insertList(pblms);
- }
- return 0;
- }
- private String type(String typeName) {
- if ("水库".equals(typeName)) {
- return "1";
- }
- if ("水闸".equals(typeName)) {
- return "2";
- }
- if ("人饮".equals(typeName)) {
- return "3";
- }
- if ("水利工程建设".equals(typeName)) {
- return "4";
- }
- if ("水利工程运行".equals(typeName)) {
- return "5";
- }
- return "";
- }
- private String revType(String typeName) {
- if ("1".equals(typeName)) {
- return "水库";
- }
- if ("2".equals(typeName)) {
- return "水闸";
- }
- if ("3".equals(typeName)) {
- return "人饮";
- }
- if ("4".equals(typeName)) {
- return "水利工程建设";
- }
- if ("5".equals(typeName)) {
- return "水利工程运行";
- }
- return "";
- }
- private String rectConc(String rectConc) {
- if ("未整改".equals(rectConc)) {
- return "0";
- }
- if ("正在整改".equals(rectConc)) {
- return "1";
- }
- if ("已整改".equals(rectConc)) {
- return "2";
- }
- return "0";
- }
- private String revertRectConc(String rectConc) {
- if ("0".equals(rectConc)) {
- return "未整改";
- }
- if ("1".equals(rectConc)) {
- return "正在整改";
- }
- if ("2".equals(rectConc)) {
- return "已整改";
- }
- return "";
- }
- private String getAdCode(String adName, String adFcode) {
- AttAdXBaseParam param = new AttAdXBaseParam();
- param.setAdName(adName);
- param.setAdFcode(adFcode);
- AttAdXBase base = this.attAdXBaseDao.getBy(param);
- return base.getAdCode();
- }
- private String getOrgId(String orgName, Map<String, String> areaMap) {
- for (String key : areaMap.keySet()) {
- if (key.contains(orgName)) {
- return areaMap.get(key);
- }
- }
- return "";
- }
- @Override
- public int updatePblm(BisInspFscPblm bisInspFscPblm) {
- bisInspFscPblm.setUpTm(new Date());
- bisInspFscPblmDao.update(bisInspFscPblm);
- gwComFileService.updateBiz(bisInspFscPblm.getGwComFiles(), bisInspFscPblm.getId());
- return 0;
- }
- @Override
- public List<Map<String, Object>> findPblmList(FileParam param) {
- Map<String, String> areaMap = new HashMap<>();
- areaMap.put("001010", "黄河流域");
- areaMap.put("001009", "长江流域");
- areaMap.put("001013", "珠江流域");
- areaMap.put("001012", "海河流域");
- areaMap.put("001014", "松花江流域");
- areaMap.put("001011", "淮河流域");
- areaMap.put("001015", "太湖流域");
- List<BisInspFscPblmDto> list = this.bisInspFscPblmDao.findPblmList(param);
- List<Map<String, Object>> pblmList = new ArrayList<>();
- if (list.size() > 0) {
- int i = 1;
- for (BisInspFscPblmDto b : list) {
- b.setNum(String.valueOf(i++));
- b.setType(revType(b.getType()));
- b.setRectConc(revertRectConc(b.getRectConc()));
- if (StringUtils.isNotBlank(b.getOrg())) {
- b.setOrg(getOrgId(b.getOrg(), areaMap));
- }
- if (b.getFdTm() != null) {
- b.setFdTime(new SimpleDateFormat(SplitValue.TIME_SPLIT).format(b.getFdTm()));
- }
- if (b.getRectTm() != null) {
- b.setRectTime(new SimpleDateFormat(SplitValue.TIME_SPLIT).format(b.getRectTm()));
- }
- if (StringUtils.isNotBlank(b.getGroupObjId())) {
- List<PersAllDto> persAllDtoList = supervisionPlanDao.getPersAllDtoList(b.getGroupObjId(),param.getOrgId(),param.getProvince());
- if (persAllDtoList != null) {
- String checkLead = "";
- String checkMemb = "";
- for (PersAllDto per : persAllDtoList) {
- if ("1".equals(per.getPersType())) {
- checkLead = checkLead + per.getPersName() + SplitValue.DOUHAO_SPLIT;
- }
- if ("2".equals(per.getPersType())) {
- checkMemb = checkMemb + per.getPersName() + SplitValue.DOUHAO_SPLIT;
- }
- }
- if (checkLead.length() > 0) {
- b.setCheckLead(checkLead.substring(0, checkLead.length() - 1));
- }
- if (checkMemb.length() > 0) {
- b.setCheckMemb(checkMemb.substring(0, checkMemb.length() - 1));
- }
- }
- }
- if (b.getAdFullName() != null) {
- if (b.getAdFullName().contains(SplitValue.HENG_SPLIT)) {
- String[] split = b.getAdFullName().split(SplitValue.HENG_SPLIT);
- if (split.length == 3) {
- b.setProvince(split[0]);
- b.setCity(split[1]);
- b.setCountry(split[2]);
- }
- if (split.length == 2) {
- b.setProvince(split[0]);
- b.setCity(split[1]);
- b.setCountry("");
- }
- } else {
- b.setProvince(b.getAdFullName());
- }
- }
- pblmList.add(BeanUtil.transBean2Map(b));
- }
- }
- return pblmList;
- }
- private void formatObj(BisInspFscPblmDto fscPblmDto) {
- Map<String, String> areaMap = new HashMap<>();
- areaMap.put("黄河流域", "001010");
- areaMap.put("长江流域", "001009");
- areaMap.put("珠江流域", "001013");
- areaMap.put("海河流域", "001012");
- areaMap.put("松花江流域", "001014");
- areaMap.put("淮河流域", "001011");
- areaMap.put("太湖流域", "001015");
- if (StringUtils.isNotBlank(fscPblmDto.getType())) {
- fscPblmDto.setType(type(fscPblmDto.getType()));
- }
- if (StringUtils.isNotBlank(fscPblmDto.getFdTime())) {
- try {
- fscPblmDto.setFdTm(new SimpleDateFormat(SplitValue.TIME_SPLIT).parse(fscPblmDto.getFdTime()));
- } catch (ParseException e) {
- }
- }
- if (StringUtils.isNotBlank(fscPblmDto.getRectTime())) {
- try {
- fscPblmDto.setRectTm(new SimpleDateFormat(SplitValue.TIME_SPLIT).parse(fscPblmDto.getRectTime()));
- } catch (ParseException e) {
- }
- }
- if (StringUtils.isNotBlank(fscPblmDto.getProvince())) {
- fscPblmDto.setAdCode(getAdCode(fscPblmDto.getProvince(), "000000000000"));
- if (StringUtils.isNotBlank(fscPblmDto.getCity())) {
- fscPblmDto.setAdCode(getAdCode(fscPblmDto.getCity(), fscPblmDto.getAdCode()));
- if (StringUtils.isNotBlank(fscPblmDto.getCountry())) {
- fscPblmDto.setAdCode(getAdCode(fscPblmDto.getCountry(), fscPblmDto.getAdCode()));
- }
- }
- }
- if (StringUtils.isNotBlank(fscPblmDto.getOrg())) {
- fscPblmDto.setOrg(getOrgId(fscPblmDto.getOrg(), areaMap));
- }
- if (StringUtils.isNotBlank(fscPblmDto.getPblmImgSum()) && fscPblmDto.getPblmImgSum().indexOf(SplitValue.DIAN_SPLIT) > 0) {
- fscPblmDto.setPblmImgSum(fscPblmDto.getPblmImgSum().substring(0, fscPblmDto.getPblmImgSum().indexOf(SplitValue.DIAN_SPLIT)));
- }
- if (StringUtils.isNotBlank(fscPblmDto.getRectImgSum()) && fscPblmDto.getRectImgSum().indexOf(SplitValue.DIAN_SPLIT) > 0) {
- fscPblmDto.setRectImgSum(fscPblmDto.getRectImgSum().substring(0, fscPblmDto.getRectImgSum().indexOf(SplitValue.DIAN_SPLIT)));
- }
- }
- @Override
- public PageInfo<BisInspFscPblm> findPageInfo(BisInspFscPblmParam bisInspFscPblmParam){
- PageHelper.startPage(bisInspFscPblmParam.getPageNum(), bisInspFscPblmParam.getPageSize());
- List<BisInspFscPblm> bisInspFscPblms = bisInspFscPblmDao.findPageList(bisInspFscPblmParam);
- PageInfo page = new PageInfo(bisInspFscPblms);
- return page;
- }
- }
|