package cn.com.goldenwater.dcproj.service.impl.ydb; import cn.com.goldenwater.dcproj.constValue.BisInspEnum; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.AttSdBaseDao; import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao; import cn.com.goldenwater.dcproj.dao.BisInspPblmDao; import cn.com.goldenwater.dcproj.dao.BisInspSdRgstrDao; import cn.com.goldenwater.dcproj.dto.BisInspSdRgstrDto; import cn.com.goldenwater.dcproj.model.AttSdBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspSdRgstr; import cn.com.goldenwater.dcproj.param.BisInspAllObjParam; import cn.com.goldenwater.dcproj.param.BisInspPblmParam; import cn.com.goldenwater.dcproj.param.BisInspSdRgstrParam; import cn.com.goldenwater.dcproj.param.TypeParam; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.service.BisInspSdRgstrService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; 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-1 */ @Service @Transactional public class BisInspSdRgstrServiceImpl extends AbstractCrudService implements BisInspSdRgstrService,BisInspObjStrategy { @Autowired private BisInspSdRgstrDao bisInspSdRgstrDao; @Autowired private AttSdBaseDao sdBaseDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; public BisInspSdRgstrServiceImpl(BisInspSdRgstrDao bisInspSdRgstrDao) { super(bisInspSdRgstrDao); this.bisInspSdRgstrDao = bisInspSdRgstrDao; } @Override public PageInfo findPcPage(BisInspSdRgstrParam bisInspSdRgstrParam, HttpServletResponse response) { if (StringUtils.isNotBlank(bisInspSdRgstrParam.getAdCode())) { bisInspSdRgstrParam.setSdCode(String.valueOf(AdLevelUtil.SubAd(bisInspSdRgstrParam.getAdCode()).get(SplitValue.SUBAD))); } if (SplitValue.IS_EXPORT.equals(bisInspSdRgstrParam.getIsExport())) { ExportUtil.exportExcel(bisInspSdRgstrDao.findPcPage(bisInspSdRgstrParam), response, "淤地坝列表"); } PageHelper.startPage(bisInspSdRgstrParam); List list = bisInspSdRgstrDao.findPcPage(bisInspSdRgstrParam); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } @Override public PageInfo findSdPage(TypeParam typeParam) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } PageHelper.startPage(typeParam); List list = bisInspSdRgstrDao.findSdPage(typeParam); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttSdBase base = sdBaseDao.get(bisInspAllObj.getCode()); BisInspSdRgstr rgstr = new BisInspSdRgstr(); rgstr.setId(UuidUtil.uuid()); rgstr.setObjId(bisInspAllObj.getObjId()); rgstr.setSdCode(base.getSdCode()); rgstr.setSdName(base.getSdName()); rgstr.setSdType(base.getSdType()); rgstr.setSdTypeStr(base.getSdTypeStr()); rgstr.setConArea(base.getConArea()); rgstr.setTotCap(base.getTotCap()); rgstr.setSdrCap(base.getSdrCap()); rgstr.setFlcoYear(base.getFlcoYear()); rgstr.setWarpCap(base.getWarpCap()); rgstr.setDamSizeHig(base.getDamSizeHig()); rgstr.setDamTopLen(base.getDamTopLen()); rgstr.setProvince(bisInspAllObj.getProvince()); rgstr.setAdCode(base.getAdCode()); rgstr.setSdLoc(base.getSdLoc()); rgstr.setCenterX(base.getCenterX()); rgstr.setCenterY(base.getCenterY()); rgstr.setGdX(base.getGdX()); rgstr.setGdY(base.getGdY()); rgstr.setAsinttds(base.getAsinttds()); rgstr.setNoSpway(base.getNoSpway()); rgstr.setDamTear(base.getDamTear()); rgstr.setDamLandSubSide(base.getDamLandSubSide()); rgstr.setDamRsog(base.getDamRsog()); rgstr.setDamLopc(base.getDamLopc()); rgstr.setDsLts(base.getDsLts()); rgstr.setDsCc(base.getDsCc()); rgstr.setDsOc(base.getDsOc()); rgstr.setFrsMar(base.getFrsMar()); rgstr.setFrsTbd(base.getFrsTbd()); rgstr.setFrsOth(base.getFrsOth()); rgstr.setNote(base.getNote()); rgstr.setState("0"); rgstr.setDataStat("0"); rgstr.setGroupId(bisInspAllObj.getId()); rgstr.setPersId(persId); rgstr.setInTm(new Date()); rgstr.setUpTm(new Date()); bisInspSdRgstrDao.insert(rgstr); } @Override public String getType() { return BisInspEnum.SD.getValue(); } @Override public void cleanObjData(String objId) { BisInspSdRgstrParam param = new BisInspSdRgstrParam(); param.setObjId(objId); List list = bisInspSdRgstrDao.findList(param); if (list.size() > 0) { String id = list.get(0).getId(); BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setRegid(id); bisInspPblmParam.setObjType(BisInspEnum.SD.getValue()); this.bisInspPblmDao.deleteBy(bisInspPblmParam); BisInspSdRgstr rgstr = bisInspSdRgstrDao.get(id); bisInspSdRgstrDao.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 findSdPage(typeParam); } @Override public Object findObjListByType(TypeParam typeParam) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } PageHelper.startPage(typeParam); List list = bisInspSdRgstrDao.findSdPage(typeParam); return list; } }