package cn.com.goldenwater.dcproj.service.impl.irr; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.BisInspIrrEnum; 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.AttCountryDto; import cn.com.goldenwater.dcproj.dto.BisInspTownsDsuDto; import cn.com.goldenwater.dcproj.dto.TreeDto; import cn.com.goldenwater.dcproj.model.*; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspIrrTownsDsuService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.BeanUtil; import cn.com.goldenwater.dcproj.utils.InspUtils; 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.util.ArrayList; import java.util.Date; import java.util.List; /** * @author lune * @date 2020-4-30 */ @Service @Transactional public class BisInspIrrTownsDsuServiceImpl extends AbstractCrudService implements BisInspIrrTownsDsuService { @Autowired private BisInspIrrTownsDsuDao bisInspIrrTownsDsuDao; @Autowired private AttAdXBaseDao attAdXBaseDao; @Autowired private BisInspIrrWellDao bisInspIrrWellDao; @Autowired private BisInspIrrWasDao bisInspIrrWasDao; @Autowired private BisInspIrrPitDao bisInspIrrPitDao; @Autowired private BisInspIrrPondDao bisInspIrrPondDao; @Autowired private BisInspIrrPustDao bisInspIrrPustDao; @Autowired private BisInspIrrMicroDao bisInspIrrMicroDao; @Autowired private BisInspIrrSprayDao bisInspIrrSprayDao; @Autowired private BisInspIrrPipeDao bisInspIrrPipeDao; @Autowired private BisInspIrrChanDao bisInspIrrChanDao; @Autowired private BisInspIrrWtusrDao bisInspIrrWtusrDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspIrrRgstrDao bisInspIrrRgstrDao; public BisInspIrrTownsDsuServiceImpl(BisInspIrrTownsDsuDao bisInspIrrTownsDsuDao) { super(bisInspIrrTownsDsuDao); this.bisInspIrrTownsDsuDao = bisInspIrrTownsDsuDao; } @Override public List tree(BisInspIrrTownsDsuParam bisInspIrrTownsDsuParam) { if (StringUtils.isNotBlank(bisInspIrrTownsDsuParam.getAdCode())) { bisInspIrrTownsDsuParam.setAdCode(AdLevelUtil.SubAd(bisInspIrrTownsDsuParam.getAdCode()).get(SplitValue.SUBAD).toString()); } //获取镇列表 List result = bisInspIrrTownsDsuDao.findTownList(bisInspIrrTownsDsuParam); //获取村列表 List villList = bisInspIrrTownsDsuDao.findVillList(bisInspIrrTownsDsuParam); if (villList.size() > 0) { for (TreeDto treeDto : result) { for (BisInspIrrTownsDsu bisInspIrrTownsDsu : villList) { if (StringUtils.isBlank(bisInspIrrTownsDsu.getAdCode())) { continue; } if (treeDto.getAdCode().substring(0,9).equals(bisInspIrrTownsDsu.getAdCode().substring(0,9))){ TreeDto dto = new TreeDto(); dto.setId(bisInspIrrTownsDsu.getId()); dto.setRgstrId(bisInspIrrTownsDsu.getRgstrId()); dto.setObjId(bisInspIrrTownsDsu.getObjId()); dto.setAdName(bisInspIrrTownsDsu.getAdName()); dto.setAdCode(bisInspIrrTownsDsu.getAdCode()); if (treeDto.getAttCountryDtoList() != null) { treeDto.getAttCountryDtoList().add(dto); } else { List childrens = new ArrayList<>(); childrens.add(dto); treeDto.setAttCountryDtoList(childrens); } } } } } return result; } @Override public List findCheckTree(String code, String rgstrId) { List result = new ArrayList<>(); //获取所有镇列表 code = code.substring(0,6); List zhenDtoList=attAdXBaseDao.findXZCZhenList(code); List countryDtoList = attAdXBaseDao.findXZCCunIrrList(code,rgstrId); for (AttCountryDto attCountryDto : zhenDtoList) { TreeDto treeDto = new TreeDto(); treeDto.setAdName(attCountryDto.getAdName()); treeDto.setAdCode(attCountryDto.getAdCode()); String adCode=attCountryDto.getAdCode().replace("000",""); List childList=new ArrayList<>(); for(AttCountryDto countryDto:countryDtoList){ if(countryDto.getAdCode().startsWith(adCode)){ TreeDto childDto = new TreeDto(); childDto.setAdCode(countryDto.getAdCode()); childDto.setAdName(countryDto.getAdName()); childDto.setIsPoveryt(countryDto.getIsPoveryt()); childList.add(childDto); } } treeDto.setAttCountryDtoList(childList); result.add(treeDto); } return result; } @Override public int addTownList(TreeDto dto, String persId) { if (dto.getAttCountryDtoList() != null) { List towns = new ArrayList<>(); for (TreeDto treeDto : dto.getAttCountryDtoList()) { if (!towns.contains(dto.getAdCode())) { BisInspIrrTownsDsuParam bisInspIrrTownsDsuParam = new BisInspIrrTownsDsuParam(); bisInspIrrTownsDsuParam.setRgstrId(dto.getRgstrId()); bisInspIrrTownsDsuParam.setAdCode(dto.getAdCode()); BisInspIrrTownsDsu bisInspIrrTownsDsu = bisInspIrrTownsDsuDao.getBy(bisInspIrrTownsDsuParam); if (bisInspIrrTownsDsu == null) { bisInspIrrTownsDsu = new BisInspIrrTownsDsu(); bisInspIrrTownsDsu.setId(UuidUtil.uuid()); bisInspIrrTownsDsu.setDataStat(StateEnum.NOWASTSTATE.getKey()); bisInspIrrTownsDsu.setState(StateEnum.NOWASTSTATE.getKey()); bisInspIrrTownsDsu.setIntm(new Date()); bisInspIrrTownsDsu.setUptm(new Date()); bisInspIrrTownsDsu.setPersId(persId); bisInspIrrTownsDsu.setAdCode(dto.getAdCode()); bisInspIrrTownsDsu.setAdName(dto.getAdName()); bisInspIrrTownsDsu.setObjId(dto.getObjId()); bisInspIrrTownsDsu.setRgstrId(dto.getRgstrId()); bisInspIrrTownsDsu.setState(StateEnum.NOWASTSTATE.getKey()); bisInspIrrTownsDsuDao.insert(bisInspIrrTownsDsu); } else { towns.add(dto.getAdCode()); } } BisInspIrrTownsDsu dsu = new BisInspIrrTownsDsu(); dsu.setId(UuidUtil.uuid()); dsu.setDataStat(StateEnum.NOWASTSTATE.getKey()); dsu.setState(StateEnum.NOWASTSTATE.getKey()); dsu.setIntm(new Date()); dsu.setUptm(new Date()); dsu.setPersId(persId); dsu.setAdCode(treeDto.getAdCode()); dsu.setAdName(treeDto.getAdName()); dsu.setObjId(dto.getObjId()); dsu.setRgstrId(dto.getRgstrId()); dsu.setState(StateEnum.NOWASTSTATE.getKey()); bisInspIrrTownsDsuDao.insert(dsu); } } return 0; } @Override public int delTown(String id) { BisInspIrrTownsDsu dsu = bisInspIrrTownsDsuDao.get(id); if (dsu != null) { bisInspIrrTownsDsuDao.delete(id); BisInspIrrWtusrParam bisInspIrrWtusrParam = new BisInspIrrWtusrParam(); bisInspIrrWtusrParam.setRgstrId(dsu.getRgstrId()); bisInspIrrWtusrParam.setAdCode(dsu.getAdCode()); List dsuList = bisInspIrrWtusrDao.findList(bisInspIrrWtusrParam); if (!dsuList.isEmpty()) { for (BisInspIrrWtusr bisInspIrrWtusr : dsuList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrWtusr.getId()); bisInspPblmParam.setRegid(bisInspIrrWtusr.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrWtusrDao.deleteBy(bisInspIrrWtusrParam); } BisInspIrrWellParam bisInspIrrWellParam = new BisInspIrrWellParam(); bisInspIrrWellParam.setRgstrId(dsu.getRgstrId()); bisInspIrrWellParam.setAdCode(dsu.getAdCode()); List wellList = bisInspIrrWellDao.findList(bisInspIrrWellParam); if (!wellList.isEmpty()) { for (BisInspIrrWell bisInspIrrWell : wellList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrWell.getId()); bisInspPblmParam.setRegid(bisInspIrrWell.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrWellDao.deleteBy(bisInspIrrWellParam); } BisInspIrrWasParam bisInspIrrWasParam = new BisInspIrrWasParam(); bisInspIrrWasParam.setRgstrId(dsu.getRgstrId()); bisInspIrrWasParam.setAdCode(dsu.getAdCode()); List wasList = bisInspIrrWasDao.findList(bisInspIrrWasParam); if (!wasList.isEmpty()) { for (BisInspIrrWas bisInspIrrWas : wasList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrWas.getId()); bisInspPblmParam.setRegid(bisInspIrrWas.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrWasDao.deleteBy(bisInspIrrWasParam); } BisInspIrrPitParam bisInspIrrPitParam = new BisInspIrrPitParam(); bisInspIrrPitParam.setRgstrId(dsu.getRgstrId()); bisInspIrrPitParam.setAdCode(dsu.getAdCode()); List pitList = bisInspIrrPitDao.findList(bisInspIrrPitParam); if (!pitList.isEmpty()) { for (BisInspIrrPit bisInspIrrPit : pitList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrPit.getId()); bisInspPblmParam.setRegid(bisInspIrrPit.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrPitDao.deleteBy(bisInspIrrPitParam); } BisInspIrrPondParam bisInspIrrPondParam = new BisInspIrrPondParam(); bisInspIrrPondParam.setRgstrId(dsu.getRgstrId()); bisInspIrrPondParam.setAdCode(dsu.getAdCode()); List pondList = bisInspIrrPondDao.findList(bisInspIrrPondParam); if (!pondList.isEmpty()) { for (BisInspIrrPond bisInspIrrPond : pondList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrPond.getId()); bisInspPblmParam.setRegid(bisInspIrrPond.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrPondDao.deleteBy(bisInspIrrPondParam); } BisInspIrrPustParam bisInspIrrPustParam = new BisInspIrrPustParam(); bisInspIrrPustParam.setRgstrId(dsu.getRgstrId()); bisInspIrrPustParam.setAdCode(dsu.getAdCode()); List pustList = bisInspIrrPustDao.findList(bisInspIrrPustParam); if (!pustList.isEmpty()) { for (BisInspIrrPust bisInspIrrPust : pustList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrPust.getId()); bisInspPblmParam.setRegid(bisInspIrrPust.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrPustDao.deleteBy(bisInspIrrPustParam); } BisInspIrrMicroParam bisInspIrrMicroParam = new BisInspIrrMicroParam(); bisInspIrrMicroParam.setRgstrId(dsu.getRgstrId()); bisInspIrrMicroParam.setAdCode(dsu.getAdCode()); List microList = bisInspIrrMicroDao.findList(bisInspIrrMicroParam); if (!microList.isEmpty()) { for (BisInspIrrMicro bisInspIrrMicro : microList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrMicro.getId()); bisInspPblmParam.setRegid(bisInspIrrMicro.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrMicroDao.deleteBy(bisInspIrrMicroParam); } BisInspIrrSprayParam bisInspIrrSprayParam = new BisInspIrrSprayParam(); bisInspIrrSprayParam.setRgstrId(dsu.getRgstrId()); bisInspIrrSprayParam.setAdCode(dsu.getAdCode()); List sprayList = bisInspIrrSprayDao.findList(bisInspIrrSprayParam); if (!sprayList.isEmpty()) { for (BisInspIrrSpray bisInspIrrSpray : sprayList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrSpray.getId()); bisInspPblmParam.setRegid(bisInspIrrSpray.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrSprayDao.deleteBy(bisInspIrrSprayParam); } BisInspIrrPipeParam bisInspIrrPipeParam = new BisInspIrrPipeParam(); bisInspIrrPipeParam.setRgstrId(dsu.getRgstrId()); bisInspIrrPipeParam.setAdCode(dsu.getAdCode()); List pipeList = bisInspIrrPipeDao.findList(bisInspIrrPipeParam); if (!pipeList.isEmpty()) { for (BisInspIrrPipe bisInspIrrPipe : pipeList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrPipe.getId()); bisInspPblmParam.setRegid(bisInspIrrPipe.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrPipeDao.deleteBy(bisInspIrrPipeParam); } BisInspIrrChanParam bisInspIrrChanParam = new BisInspIrrChanParam(); bisInspIrrChanParam.setRgstrId(dsu.getRgstrId()); bisInspIrrChanParam.setAdCode(dsu.getAdCode()); List chanList = bisInspIrrChanDao.findList(bisInspIrrChanParam); if (!chanList.isEmpty()) { for (BisInspIrrChan bisInspIrrChan : chanList) { BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setWaterUserId(bisInspIrrChan.getId()); bisInspPblmParam.setRegid(bisInspIrrChan.getRgstrId()); bisInspPblmDao.deleteBy(bisInspPblmParam); } bisInspIrrChanDao.deleteBy(bisInspIrrChanParam); } BisInspIrrTownsDsuParam bisInspIrrTownsDsuParam = new BisInspIrrTownsDsuParam(); bisInspIrrTownsDsuParam.setAdCode(dsu.getAdCode().substring(0,9)); bisInspIrrTownsDsuParam.setRgstrId(dsu.getRgstrId()); List list = bisInspIrrTownsDsuDao.findVillList(bisInspIrrTownsDsuParam); if (list == null || list.isEmpty()) { BisInspIrrTownsDsuParam param = new BisInspIrrTownsDsuParam(); param.setAdCode(dsu.getAdCode().substring(0,9) + "000"); param.setRgstrId(dsu.getRgstrId()); bisInspIrrTownsDsuDao.deleteBy(param); } } return 0; } @Override public List findProjectList(BisInspIrrTownsDsuParam bisInspIrrTownsDsuParam) { if (StringUtils.isNotBlank(bisInspIrrTownsDsuParam.getType())) { bisInspIrrTownsDsuParam.setType(InspUtils.setOrgIds(bisInspIrrTownsDsuParam.getType())); } List list = bisInspIrrTownsDsuDao.findProjectList(bisInspIrrTownsDsuParam); return list; } @Override public BisInspTownsDsuDto addProject(BisInspTownsDsuDto dto) { if (StringUtils.isNotBlank(dto.getRgstrId())) { BisInspIrrRgstr rgstr = bisInspIrrRgstrDao.get(dto.getRgstrId()); if (StateEnum.NOWASTSTATE.getKey().equals(rgstr.getState())) { rgstr.setState(StateEnum.EXWASTSTATE.getKey()); bisInspIrrRgstrDao.update(rgstr); } } dto.setId( UuidUtil.uuid()); dto.setIntm(new Date()); dto.setUptm(new Date()); dto.setState(StateEnum.NOWASTSTATE.getKey()); dto.setDataStat(StateEnum.NOWASTSTATE.getKey()); if (BisInspIrrEnum.WELL.getKey().equals(dto.getType())) { BisInspIrrWell bisInspIrrWell = new BisInspIrrWell(); BeanUtil.copyObject1(dto,bisInspIrrWell); bisInspIrrWellDao.insert(bisInspIrrWell); } else if (BisInspIrrEnum.WAS.getKey().equals(dto.getType())) { BisInspIrrWas bisInspIrrWas = new BisInspIrrWas(); BeanUtil.copyObject1(dto,bisInspIrrWas); bisInspIrrWasDao.insert(bisInspIrrWas); } else if (BisInspIrrEnum.PIT.getKey().equals(dto.getType())) { BisInspIrrPit bisInspIrrPit = new BisInspIrrPit(); BeanUtil.copyObject1(dto,bisInspIrrPit); bisInspIrrPitDao.insert(bisInspIrrPit); } else if (BisInspIrrEnum.POND.getKey().equals(dto.getType())) { BisInspIrrPond bisInspIrrPond = new BisInspIrrPond(); BeanUtil.copyObject1(dto,bisInspIrrPond); bisInspIrrPondDao.insert(bisInspIrrPond); } else if (BisInspIrrEnum.PUST.getKey().equals(dto.getType())) { BisInspIrrPust bisInspIrrPust = new BisInspIrrPust(); BeanUtil.copyObject1(dto,bisInspIrrPust); bisInspIrrPustDao.insert(bisInspIrrPust); } else if (BisInspIrrEnum.MICRO.getKey().equals(dto.getType())) { BisInspIrrMicro bisInspIrrMicro = new BisInspIrrMicro(); BeanUtil.copyObject1(dto,bisInspIrrMicro); bisInspIrrMicroDao.insert(bisInspIrrMicro); } else if (BisInspIrrEnum.SPRAY.getKey().equals(dto.getType())) { BisInspIrrSpray bisInspIrrSpray = new BisInspIrrSpray(); BeanUtil.copyObject1(dto,bisInspIrrSpray); bisInspIrrSprayDao.insert(bisInspIrrSpray); } else if (BisInspIrrEnum.PIPE.getKey().equals(dto.getType())) { BisInspIrrPipe bisInspIrrPipe = new BisInspIrrPipe(); BeanUtil.copyObject1(dto,bisInspIrrPipe); bisInspIrrPipeDao.insert(bisInspIrrPipe); } else if (BisInspIrrEnum.CHAN.getKey().equals(dto.getType())) { BisInspIrrChan bisInspIrrChan = new BisInspIrrChan(); BeanUtil.copyObject1(dto,bisInspIrrChan); bisInspIrrChanDao.insert(bisInspIrrChan); } return dto; } @Override public PageInfo findTownList(BisInspIrrTownsDsuParam bisInspIrrTownsDsuParam) { PageHelper.startPage(bisInspIrrTownsDsuParam); List dsuList = bisInspIrrTownsDsuDao.findTownDsuList(bisInspIrrTownsDsuParam); PageInfo pageInfo = new PageInfo(dsuList); return pageInfo; } }