package cn.com.goldenwater.dcproj.service.impl.wiu; import cn.com.goldenwater.dcproj.constValue.BisInspEnum; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.*; import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto; import cn.com.goldenwater.dcproj.model.AttWiuBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspWiuRgstr; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.service.BisInspWiuRgstrService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.BeanUtil; import cn.com.goldenwater.dcproj.utils.expExcel.ExportUtil; 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 javax.servlet.http.HttpServletResponse; import java.util.Date; import java.util.List; /** * @author lune * @date 2019-8-9 */ @Service @Transactional public class BisInspWiuRgstrServiceImpl extends AbstractCrudService implements BisInspWiuRgstrService,BisInspObjStrategy { @Autowired private BisInspWiuRgstrDao bisInspWiuRgstrDao; @Autowired private AttWiuBaseDao wiuBaseDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspWiuRgstrIntInfoDao wiuRgstrIntInfoDao; @Autowired private BisInspWiuRgstrApprInfoDao wiuRgstrApprInfoDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; public BisInspWiuRgstrServiceImpl(BisInspWiuRgstrDao bisInspWiuRgstrDao) { super(bisInspWiuRgstrDao); this.bisInspWiuRgstrDao = bisInspWiuRgstrDao; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttWiuBase base = wiuBaseDao.get(bisInspAllObj.getCode()); BisInspWiuRgstr rgstr = new BisInspWiuRgstr(); BeanUtil.copyObject1(base, rgstr); rgstr.setWiuId(base.getId()); rgstr.setId(UuidUtil.uuid()); rgstr.setObjId(bisInspAllObj.getObjId()); rgstr.setState("0"); rgstr.setDataStat("0"); rgstr.setGroupId(bisInspAllObj.getId()); rgstr.setProvince(bisInspAllObj.getProvince()); rgstr.setPersId(persId); rgstr.setInTm(new Date()); rgstr.setUpTm(new Date()); bisInspWiuRgstrDao.insert(rgstr); } @Override public String getType() { return BisInspEnum.WIU.getValue(); } @Override public void cleanObjData(String objId) { BisInspWiuRgstrParam wiuRgstrParam = new BisInspWiuRgstrParam(); wiuRgstrParam.setObjId(objId); List list = bisInspWiuRgstrDao.findList(wiuRgstrParam); if (list.size() > 0) { String id = list.get(0).getId(); BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setRegid(id); bisInspPblmParam.setObjType(BisInspEnum.WIU.getValue()); this.bisInspPblmDao.deleteBy(bisInspPblmParam); //删除取水单位取用水情况 BisInspWiuRgstrIntInfoParam param = new BisInspWiuRgstrIntInfoParam(); param.setRgstrId(id); wiuRgstrIntInfoDao.deleteBy(param); //删除取水许可审批监管情况 BisInspWiuRgstrApprInfoParam apprInfoParam = new BisInspWiuRgstrApprInfoParam(); apprInfoParam.setRgstrId(id); wiuRgstrApprInfoDao.deleteBy(apprInfoParam); BisInspWiuRgstr rgstr = bisInspWiuRgstrDao.get(id); bisInspWiuRgstrDao.delete(id); if (rgstr != null) { //删除督查对象 BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam(); bisInspAllObjParam.setObjId(objId); this.bisInspAllObjDao.deleteBy(bisInspAllObjParam); } } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return findWiuPage(typeParam,response); } @Override public Object findObjListByType(TypeParam typeParam) { return findWiuList(typeParam,null); } @Override public PageInfo findWiuPage(TypeParam typeParam, HttpServletResponse response) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } PageHelper.startPage(typeParam.getPageNum(),typeParam.getPageSize()); List list = changeList(this.bisInspWiuRgstrDao.findWiuList(typeParam)); ExportUtil.exportExcel(typeParam.getIsExport(), list, response); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } @Override public List findWiuList(TypeParam typeParam, HttpServletResponse response) { List list = changeList(this.bisInspWiuRgstrDao.findWiuList(typeParam)); ExportUtil.exportExcel(typeParam.getIsExport(), list, response); return list; } private List changeList(List list){ for (BisInspRgstrDto rgstrDto : list ) { if (StringUtils.isNotBlank(rgstrDto.getAdName())) { String[] adFullNames = rgstrDto.getAdName().split(SplitValue.HENG_SPLIT); rgstrDto.setProvince(adFullNames[0]); if (adFullNames.length > 1) { rgstrDto.setCity(adFullNames[1]); } if (adFullNames.length > 2) { rgstrDto.setCountry(adFullNames[2]); } } } return list; } }