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.BisInspRgstrDto; import cn.com.goldenwater.dcproj.model.AttAdXBase; import cn.com.goldenwater.dcproj.model.BisInspAllObj; import cn.com.goldenwater.dcproj.model.BisInspWrm2021; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.service.BisInspWrm2021Service; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; import cn.com.goldenwater.dcproj.utils.InspPblmUtils; 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.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import cn.com.goldenwater.id.util.UuidUtil; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Date; /** * @author lhc * @date 2021-7-8 */ @Service @Transactional public class BisInspWrm2021ServiceImpl extends AbstractCrudService implements BisInspWrm2021Service , BisInspObjStrategy { @Autowired private BisInspWrm2021Dao bisInspWrm2021Dao; @Autowired private AttAdXBaseDao attAdXBaseDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; @Autowired private BisInspWrm2021UsrDao bisInspWrm2021UsrDao; @Autowired private BisInspWrm2021SpotaDao bisInspWrm2021SpotaDao; @Autowired private BisInspWrm2021WellDao bisInspWrm2021WellDao; @Autowired private BisInspWrm2021WellwDao bisInspWrm2021WellwDao; public BisInspWrm2021ServiceImpl(BisInspWrm2021Dao bisInspWrm2021Dao) { super(bisInspWrm2021Dao); this.bisInspWrm2021Dao = bisInspWrm2021Dao; } @Override public int insert(BisInspWrm2021 bisInspWrm2021) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspWrm2021.setId(uuid); bisInspWrm2021.setIntm(new Date()); bisInspWrm2021.setUptm(new Date()); bisInspWrm2021.setDataStat("0"); return this.bisInspWrm2021Dao.insert(bisInspWrm2021); } @Override public int update(BisInspWrm2021 bisInspWrm2021) { bisInspWrm2021.setUptm(new Date()); return this.bisInspWrm2021Dao.update(bisInspWrm2021); } @Override public int delete(String id) { return this.bisInspWrm2021Dao.delete(id); } @Override public PageInfo findPage(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 = bisInspWrm2021Dao.findPage(param); list= InspPblmUtils.changeList(list); return new PageInfo(list); } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { AttAdXBase base = attAdXBaseDao.get(bisInspAllObj.getCode()); BisInspWrm2021 rgstr = new BisInspWrm2021(); BeanUtils.copyProperties(base, rgstr); rgstr.setId(UuidUtil.uuid()); rgstr.setObjId(bisInspAllObj.getObjId()); rgstr.setPersId(persId); rgstr.setSpotaState("0"); rgstr.setUsrState("0"); rgstr.setWellState("0"); rgstr.setWellwState("0"); rgstr.setIntm(new Date()); rgstr.setUptm(new Date()); bisInspWrm2021Dao.insert(rgstr); } @Override public void cleanObjData(String objId) { BisInspWrm2021Param param = new BisInspWrm2021Param(); param.setObjId(objId); List list = bisInspWrm2021Dao.findList(param); if(CollectionUtils.isNotEmpty(list)){ String rgstrId = list.get(0).getId(); //删除对象名录表 BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam(); bisInspAllObjParam.setObjId(objId); this.bisInspAllObjDao.deleteBy(bisInspAllObjParam); //登记表 bisInspWrm2021Dao.delete(rgstrId); //区域取用水管控情况抽查 BisInspWrm2021SpotaParam spotaParam = new BisInspWrm2021SpotaParam(); spotaParam.setRgstrId(rgstrId); bisInspWrm2021SpotaDao.deleteBy(spotaParam); //取用水管控情况抽查-取水户 BisInspWrm2021UsrParam usrParam = new BisInspWrm2021UsrParam(); usrParam.setRgstrId(rgstrId); bisInspWrm2021UsrDao.deleteBy(usrParam); //地下水超采区管理情况抽查 BisInspWrm2021WellParam wellParam = new BisInspWrm2021WellParam(); wellParam.setRgstrId(rgstrId); bisInspWrm2021WellDao.deleteBy(wellParam); //地下水压采工作现场检查 BisInspWrm2021WellwParam wellwParam = new BisInspWrm2021WellwParam(); wellwParam.setRgstrId(rgstrId); bisInspWrm2021WellwDao.deleteBy(wellwParam); } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return this.findPage(typeParam); } @Override public Object findObjListByType(TypeParam typeParam) { List list = bisInspWrm2021Dao.findPage(typeParam); return InspPblmUtils.changeList(list); } @Override public String getType() { return "102"; } }