package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.dto.BisInspHystRgstrDto; import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspHystRgstrService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.InspPblmUtils; import cn.com.goldenwater.id.util.UuidUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import org.apache.commons.collections.CollectionUtils; 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 javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; /** * @author lune * @date 2021-3-2 */ @Service @Transactional(rollbackFor = Exception.class) public class BisInspHystRgstrServiceImpl extends AbstractCrudService implements BisInspHystRgstrService , BisInspObjStrategy { @Autowired private BisInspHystRgstrDao bisInspHystRgstrDao; @Autowired private AttAdXBaseDao attAdXBaseDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspHystCoMngInfoDao bisInspHystCoMngInfoDao; @Autowired private BisInspHystInfoDao bisInspHystInfoDao; @Autowired private BisInspHystOocInfoDao bisInspHystOocInfoDao; @Autowired private BisInspHystRectInfoDao bisInspHystRectInfoDao; @Autowired private BisInspHystSfmngInfoDao bisInspHystSfmngInfoDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; public BisInspHystRgstrServiceImpl(BisInspHystRgstrDao bisInspHystRgstrDao) { super(bisInspHystRgstrDao); this.bisInspHystRgstrDao = bisInspHystRgstrDao; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttAdXBase base = attAdXBaseDao.get(bisInspAllObj.getCode()); BisInspHystRgstr rgstr = new BisInspHystRgstr(); rgstr.setId(UuidUtil.uuid()); rgstr.setObjId(bisInspAllObj.getObjId()); rgstr.setAdCode(base.getAdCode()); rgstr.setAdName(base.getAdName()); rgstr.setAdFullName(base.getAdFullName()); rgstr.setBaseState("0"); rgstr.setRectState("0"); rgstr.setOocState("0"); rgstr.setSfmngState("0"); rgstr.setCoMngState("0"); rgstr.setState("0"); String adCode = base.getAdCode(); if(StringUtils.isNotBlank(adCode)&&adCode.length()>2){ String sc = adCode.substring(0, 2); if(sc.equals("31") || sc.equals("32")|| sc.equals("33")|| sc.equals("34") ||sc.equals("36") || sc.equals("42")|| sc.equals("43") ||sc.equals("50") || sc.equals("51")|| sc.equals("52")|| sc.equals("53")){ rgstr.setIsBeYreb("1"); }else{ rgstr.setIsBeYreb("2"); } } rgstr.setPersId(persId); rgstr.setIntm(new Date()); rgstr.setUptm(new Date()); bisInspHystRgstrDao.insert(rgstr); } @Override public void cleanObjData(String objId) { BisInspHystRgstrParam hystRgstrParam = new BisInspHystRgstrParam(); hystRgstrParam.setObjId(objId); List list = bisInspHystRgstrDao.findList(hystRgstrParam); if(CollectionUtils.isNotEmpty(list)){ String rgstrId = list.get(0).getId(); //删除问题 BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setObjId(objId); bisInspPblmParam.setObjType("73"); this.bisInspPblmDao.deleteBy(bisInspPblmParam); //删除对象名录表 //1.县级表 BisInspHystCoMngInfoParam coMngInfoParam = new BisInspHystCoMngInfoParam(); coMngInfoParam.setRgstrId(rgstrId); bisInspHystCoMngInfoDao.deleteBy(coMngInfoParam); //删除当前小水电 BisInspHystInfoParam bisInspHystInfoParam = new BisInspHystInfoParam(); bisInspHystInfoParam.setRgstrId(rgstrId); List listHystInfo = bisInspHystInfoDao.findList(bisInspHystInfoParam); if(listHystInfo !=null && listHystInfo.size()>0){ for(BisInspHystInfo bean : listHystInfo){ //删除小水电填报子表 String id = bean.getId(); if(StringUtils.isNotBlank(id)){ BisInspHystOocInfoParam bisInspHystOocInfoParam = new BisInspHystOocInfoParam(); bisInspHystOocInfoParam.setRgstrId(id); bisInspHystOocInfoDao.deleteBy(bisInspHystOocInfoParam);//退出类 BisInspHystRectInfoParam bisInspHystRectInfoParam = new BisInspHystRectInfoParam(); bisInspHystRectInfoParam.setRgstrId(id); bisInspHystRectInfoDao.deleteBy(bisInspHystRectInfoParam);//整改 BisInspHystSfmngInfoParam bisInspHystSfmngInfoParam = new BisInspHystSfmngInfoParam(); bisInspHystSfmngInfoParam.setRgstrId(id); bisInspHystSfmngInfoDao.deleteBy(bisInspHystSfmngInfoParam);//安全 } } } bisInspHystInfoDao.deleteBy(bisInspHystInfoParam); BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam(); bisInspAllObjParam.setObjId(objId); this.bisInspAllObjDao.deleteBy(bisInspAllObjParam); bisInspHystRgstrDao.delete(rgstrId); } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return this.findHystPage(typeParam); } @Override public Object findObjListByType(TypeParam typeParam) { List list = bisInspHystRgstrDao.findHystList(typeParam); if (list.size() > 0) { for (BisInspHystRgstrDto rgstrDto : list) { String adFullName = rgstrDto.getAdName(); if (StringUtils.isBlank(adFullName)) { continue; } if (adFullName.contains(SplitValue.HENG_SPLIT)) { String[] split = adFullName.split(SplitValue.HENG_SPLIT); if (split.length == 3) { rgstrDto.setProvince(split[0]); rgstrDto.setCity(split[1]); rgstrDto.setCountry(split[2]); } if (split.length == 2) { rgstrDto.setProvince(split[0]); rgstrDto.setCity(split[1]); rgstrDto.setCountry(""); } } else { rgstrDto.setProvince(adFullName); } } } return list; } @Override public String getType() { return "73"; } @Override public PageInfo findHystPage(TypeParam param) { if (StringUtils.isNotBlank(param.getAdCode())) { param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD))); } if (StringUtils.isNotBlank(param.getAdCodes())) { param.setAdCodes(AdLevelUtil.getListAddvcd(param.getAdCodes())); } PageHelper.startPage(param); List list = bisInspHystRgstrDao.findHystList(param); if (list.size() > 0) { for (BisInspHystRgstrDto rgstrDto : list) { String adFullName = rgstrDto.getAdName(); if (StringUtils.isBlank(adFullName)) { continue; } if (adFullName.contains(SplitValue.HENG_SPLIT)) { String[] split = adFullName.split(SplitValue.HENG_SPLIT); if (split.length == 3) { rgstrDto.setProvince(split[0]); rgstrDto.setCity(split[1]); rgstrDto.setCountry(split[2]); } if (split.length == 2) { rgstrDto.setProvince(split[0]); rgstrDto.setCity(split[1]); rgstrDto.setCountry(""); } } else { rgstrDto.setProvince(adFullName); } } } return new PageInfo<>(list); } }