package cn.com.goldenwater.dcproj.service.impl.importex; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.BisInspPblmParam; import cn.com.goldenwater.dcproj.param.ImpPblmInfoParam; import cn.com.goldenwater.dcproj.param.ImpRsInfoParam; import cn.com.goldenwater.dcproj.param.ObjInspPblmsParam; import cn.com.goldenwater.dcproj.service.ImpPblmInfoService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageHelper; 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.util.List; /** * @author lune * @date 2019-7-23 */ @Service @Transactional(rollbackFor = Exception.class) public class ImpPblmInfoServiceImpl extends AbstractCrudService implements ImpPblmInfoService { @Autowired private ImpPblmInfoDao impPblmInfoDao; @Autowired private ImpRsInfoDao impRsInfoDao; @Autowired private ObjInspPblmsDao objInspPblmsDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private AttRsBaseDao attRsBaseDao; public ImpPblmInfoServiceImpl(ImpPblmInfoDao impPblmInfoDao) { super(impPblmInfoDao); this.impPblmInfoDao = impPblmInfoDao; } @Override public String insertList(List list, String mnth) { int i = 1; for (ImpPblmInfo impPblmInfo:list) { impPblmInfo.setSn(i+""); i++; impPblmInfo.setId(UuidUtil.uuid()); String proName = impPblmInfo.getProName(); String cityName = impPblmInfo.getCityName(); String countyName = impPblmInfo.getCountyName(); String rsName = impPblmInfo.getRsName(); String pblmDesc = impPblmInfo.getPblmDesc(); String pblmLevl = impPblmInfo.getPblmLevl(); String attach = impPblmInfo.getAttach(); String snNum = impPblmInfo.getPblmSn(); if(snNum.contains(".")){ snNum = snNum.substring(0,snNum.indexOf(".")); impPblmInfo.setPblmSn(snNum); } impPblmInfo.setMnth(mnth); ImpRsInfoParam rsInfoParam = new ImpRsInfoParam(); rsInfoParam.setProName(proName); rsInfoParam.setCityName(cityName); rsInfoParam.setCountyName(countyName); if("重庆".equals(proName)){ rsInfoParam.setCityName(""); rsInfoParam.setCountyName(cityName); } rsInfoParam.setRsName(rsName); rsInfoParam.setMnth(mnth); int count = impRsInfoDao.selectCount(rsInfoParam); ImpRsInfo rsInfo; List impRsInfoList; if(count>1){ impRsInfoList = impRsInfoDao.findList(rsInfoParam); rsInfo = impRsInfoList.get(0); }else { rsInfo = impRsInfoDao.getBy(rsInfoParam); } if(rsInfo==null){ rsInfoParam.setCountyName(""); count = impRsInfoDao.selectCount(rsInfoParam); if(count>1){ impRsInfoList = impRsInfoDao.findList(rsInfoParam); for (ImpRsInfo impRs:impRsInfoList) { if(rsName.equals(impRs.getRsName())){ rsInfo = impRs; break; } } }else{ rsInfo = impRsInfoDao.getBy(rsInfoParam); if(rsInfo==null){ rsInfoParam.setCityName(""); count = impRsInfoDao.selectCount(rsInfoParam); if(count>1){ impRsInfoList = impRsInfoDao.findList(rsInfoParam); for (ImpRsInfo impRs:impRsInfoList) { if(rsName.equals(impRs.getRsName())){ rsInfo = impRs; break; } } }else { rsInfo = impRsInfoDao.getBy(rsInfoParam); if(rsInfo==null){ rsInfoParam.setProName(""); count = impRsInfoDao.selectCount(rsInfoParam); if(count>1){ impRsInfoList = impRsInfoDao.findList(rsInfoParam); for (ImpRsInfo impRs:impRsInfoList) { if(rsName.equals(impRs.getRsName())){ rsInfo = impRs; break; } } }else { rsInfo = impRsInfoDao.getBy(rsInfoParam); if(rsInfo==null){ if(rsName.contains("水库")){ String name = rsName.replaceAll("水库",""); rsInfoParam.setRsName(name); count = impRsInfoDao.selectCount(rsInfoParam); if(count>1){ impRsInfoList = impRsInfoDao.findList(rsInfoParam); for (ImpRsInfo impRs:impRsInfoList) { if(rsName.equals(impRs.getRsName())){ rsInfo = impRs; break; } } }else { rsInfo = impRsInfoDao.getBy(rsInfoParam); } } } } } } } } } if(rsInfo!=null){ impPblmInfo.setProCode(rsInfo.getProCode()); impPblmInfo.setCityCode(rsInfo.getCityCode()); impPblmInfo.setCountyCode(rsInfo.getCountyCode()); impPblmInfo.setRsCode(rsInfo.getRsCode()); impPblmInfo.setOrgId(rsInfo.getOrgId()); impPblmInfo.setOrgNm(rsInfo.getOrgNm()); impPblmInfo.setOldGroupId(rsInfo.getOldGroupId()); impPblmInfo.setGroupId(rsInfo.getGroupId()); impPblmInfo.setGroupNm(rsInfo.getGroupNm()); impPblmInfo.setRegId(rsInfo.getRegId()); impPblmInfo.setObjId(rsInfo.getObjId()); } if(attach.contains("附件")){ attach = attach.substring(attach.indexOf("附件")+2); } ObjInspPblmsParam objInspPblmsParam = new ObjInspPblmsParam(); objInspPblmsParam.setType("1"); objInspPblmsParam.setAttach(attach); objInspPblmsParam.setSheet("1"); objInspPblmsParam.setSnNum(snNum); objInspPblmsParam.setInspPblmCate(pblmLevl); ObjInspPblms objInspPblms = new ObjInspPblms(); if(StringUtils.isNotBlank(attach)&&StringUtils.isNotBlank(snNum)){ objInspPblms = objInspPblmsDao.getBy(objInspPblmsParam); if(objInspPblms==null){ objInspPblmsParam.setInspPblmCate(""); count = objInspPblmsDao.selectCount(objInspPblmsParam); if(count>1){ List objInspPblmsList = objInspPblmsDao.findList(objInspPblmsParam); objInspPblms = objInspPblmsList.get(0); }else { objInspPblms = objInspPblmsDao.getBy(objInspPblmsParam); } } } if(objInspPblms!=null){ impPblmInfo.setPblmTypeId(objInspPblms.getGuid()); } if(StringUtils.isNotBlank(impPblmInfo.getObjId())){ BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setObjType("1"); bisInspPblmParam.setObjId(impPblmInfo.getObjId()); if(pblmDesc.contains(".")){ pblmDesc = pblmDesc.substring(pblmDesc.indexOf(".")+1); } bisInspPblmParam.setInspPblmDesc(pblmDesc); List bisInspPblms = bisInspPblmDao.findList(bisInspPblmParam); if(bisInspPblms!=null&&bisInspPblms.size()>0){ if(bisInspPblms.size()>1){ bisInspPblmParam.setInspPblmCate(pblmLevl); bisInspPblms = bisInspPblmDao.findList(bisInspPblmParam); if(bisInspPblms!=null&&bisInspPblms.size()>0){ String ids = ""; if(bisInspPblms.size()>1){ for (BisInspPblm bisInspPblm:bisInspPblms) { ids += bisInspPblm.getPblmId()+","; } ids = ids.substring(0,ids.length()-1); }else { BisInspPblm bisInspPblm = bisInspPblms.get(0); ids = bisInspPblm.getPblmId(); } impPblmInfo.setPblmId(ids); } }else { BisInspPblm bisInspPblm = bisInspPblms.get(0); impPblmInfo.setPblmId(bisInspPblm.getPblmId()); } } } impPblmInfoDao.insert(impPblmInfo); } return null; } @Override public String handleRsData(String mnth, String orgId) { ImpPblmInfoParam impPblmInfoParam = new ImpPblmInfoParam(); impPblmInfoParam.setMnth(mnth); impPblmInfoParam.setOrgId(orgId); List list = impPblmInfoDao.findList(impPblmInfoParam); for (ImpPblmInfo impPblmInfo:list) { String objId = impPblmInfo.getObjId(); String rsCode = impPblmInfo.getRsCode(); String unit = impPblmInfo.getUnit(); if(StringUtils.isNotBlank(rsCode)){ AttRsBase attRsBase = new AttRsBase(); attRsBase.setRsCode(rsCode); attRsBase.setRsAdmName(unit); attRsBaseDao.update(attRsBase); } String pblmId = impPblmInfo.getPblmId(); String pblmDesc = impPblmInfo.getPblmDesc(); BisInspPblm bisInspPblm = new BisInspPblm(); bisInspPblm.setPblmId(pblmId); bisInspPblm.setInspPblmDesc(pblmDesc); if(StringUtils.isNotBlank(pblmId)){ bisInspPblmDao.update(bisInspPblm); }else { bisInspPblm.setPblmId(UuidUtil.uuid()); bisInspPblm.setObjId(objId); bisInspPblm.setObjType("1"); bisInspPblm.setInspGroupId(impPblmInfo.getGroupId()); bisInspPblmDao.insert(bisInspPblm); } } return null; } }