package cn.com.goldenwater.dcproj.service.impl.rsraqg; 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.*; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.BisInspObjStrategy; import cn.com.goldenwater.dcproj.service.BisInspRsraqgRgstrService; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.utils.AdLevelUtil; 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 cn.com.goldenwater.id.util.UuidUtil; import javax.servlet.http.HttpServletResponse; import java.util.List; import java.util.Date; /** * @author lhc * @date 2020-3-17 */ @Service @Transactional public class BisInspRsraqgRgstrServiceImpl extends AbstractCrudService implements BisInspRsraqgRgstrService, BisInspObjStrategy { @Autowired private BisInspRsraqgRgstrDao bisInspRsraqgRgstrDao; @Autowired private BisInspRsraqgRgstrCountyDao bisInspRsraqgRgstrCountyDao; @Autowired private AttAdXBaseDao attAdXBaseDao; @Autowired private BisInspAllObjDao bisInspAllObjDao; @Autowired private BisInspPblmDao bisInspPblmDao; @Autowired private BisInspRsraqgRgstrCityDao bisInspRsraqgRgstrCityDao; public BisInspRsraqgRgstrServiceImpl(BisInspRsraqgRgstrDao bisInspRsraqgRgstrDao) { super(bisInspRsraqgRgstrDao); this.bisInspRsraqgRgstrDao = bisInspRsraqgRgstrDao; } @Override public int insert(BisInspRsraqgRgstr bisInspRsraqgRgstr) { if (null == bisInspRsraqgRgstr.getId()) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspRsraqgRgstr.setId(uuid); } bisInspRsraqgRgstr.setIntm(new Date()); bisInspRsraqgRgstr.setUptm(new Date()); return this.bisInspRsraqgRgstrDao.insert(bisInspRsraqgRgstr); } @Override public int update(BisInspRsraqgRgstr bisInspRsraqgRgstr) { bisInspRsraqgRgstr.setUptm(new Date()); return this.bisInspRsraqgRgstrDao.update(bisInspRsraqgRgstr); } @Override public int delete(String id) { return this.bisInspRsraqgRgstrDao.delete(id); } @Override public PageInfo findRsraqgRgstrPage(TypeParam typeParam, HttpServletResponse response) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } PageHelper.startPage(typeParam); List list = bisInspRsraqgRgstrDao.findRsraqgRgstrPage(typeParam); return new PageInfo(list); } @Override public void insertObj(BisInspAllObj bisInspAllObj, String persId) { String rsraqgRgstrId = UuidUtil.uuid(); BisInspRsraqgRgstr bisInspRsraqgRgstr = new BisInspRsraqgRgstr(); bisInspRsraqgRgstr.setId(rsraqgRgstrId); bisInspRsraqgRgstr.setIntm(new Date()); bisInspRsraqgRgstr.setUptm(new Date()); bisInspRsraqgRgstr.setObjId(bisInspAllObj.getObjId()); bisInspRsraqgRgstr.setOrgId(bisInspAllObj.getOrgId()); bisInspRsraqgRgstr.setAdName(bisInspAllObj.getNm()); bisInspRsraqgRgstr.setAdCode(bisInspAllObj.getCode()); bisInspRsraqgRgstr.setGroupId(bisInspAllObj.getId()); bisInspRsraqgRgstr.setGdX(bisInspAllObj.getLgtd()); bisInspRsraqgRgstr.setGdY(bisInspAllObj.getLttd()); bisInspRsraqgRgstr.setPcX(bisInspAllObj.getLgtdpc()); bisInspRsraqgRgstr.setPcY(bisInspAllObj.getLttdpc()); bisInspRsraqgRgstr.setPersId(persId); bisInspRsraqgRgstr.setState("0"); bisInspRsraqgRgstrDao.insert(bisInspRsraqgRgstr); //添加登记表下的 市级登记表 BisInspRsraqgRgstrCity bisInspRsraqgRgstrCity = new BisInspRsraqgRgstrCity(); bisInspRsraqgRgstrCity.setId(UuidUtil.uuid()); bisInspRsraqgRgstrCity.setRgstrId(rsraqgRgstrId); bisInspRsraqgRgstrCity.setStatus("0"); bisInspRsraqgRgstrCityDao.insert(bisInspRsraqgRgstrCity); //取出行政区下的所有县 循环插入 AttAdXBaseParam baseParam = new AttAdXBaseParam(); baseParam.setAdFcode(bisInspAllObj.getCode()); List attAdXBases = attAdXBaseDao.findList(baseParam); for (AttAdXBase attAdXBase : attAdXBases ) { if ("市辖区".equals(attAdXBase.getAdName())) { continue; } //增加市下所有县登记表 BisInspRsraqgRgstrCounty bisInspRsraqgRgstrCounty = new BisInspRsraqgRgstrCounty(); bisInspRsraqgRgstrCounty.setId(UuidUtil.uuid()); bisInspRsraqgRgstrCounty.setRgstrId(rsraqgRgstrId); bisInspRsraqgRgstrCounty.setStatus("0"); bisInspRsraqgRgstrCounty.setAdCode(attAdXBase.getAdCode()); bisInspRsraqgRgstrCounty.setAdName(attAdXBase.getAdName()); bisInspRsraqgRgstrCountyDao.insert(bisInspRsraqgRgstrCounty); } } @Override public String getType() { return BisInspEnum.RSRAQG.getValue(); } @Override public void cleanObjData(String objId) { BisInspRsraqgRgstrParam param = new BisInspRsraqgRgstrParam(); param.setObjId(objId); List list = bisInspRsraqgRgstrDao.findList(param); if (list.size() > 0) { String id = list.get(0).getId(); bisInspRsraqgRgstrDao.delete(id); BisInspPblmParam bisInspPblmParam = new BisInspPblmParam(); bisInspPblmParam.setRegid(id); BisInspRsraqgRgstrCityParam bisInspRsraqgRgstrParam = new BisInspRsraqgRgstrCityParam(); bisInspRsraqgRgstrParam.setRgstrId(id); bisInspRsraqgRgstrCityDao.deleteBy(bisInspRsraqgRgstrParam); BisInspRsraqgRgstrCountyParam bisInspRsraqgRgstrCountyParam = new BisInspRsraqgRgstrCountyParam(); bisInspRsraqgRgstrCountyDao.deleteBy(bisInspRsraqgRgstrCountyParam); this.bisInspPblmDao.deleteBy(bisInspPblmParam); this.bisInspAllObjDao.delete(objId); } } @Override public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) { return findRsraqgRgstrPage(typeParam, response); } @Override public Object findObjListByType(TypeParam typeParam) { if (StringUtils.isNotBlank(typeParam.getAdCode())) { typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD))); } List list = bisInspRsraqgRgstrDao.findRsraqgRgstrPage(typeParam); return list; } }