package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.constValue.SplitValue; import cn.com.goldenwater.dcproj.dao.BisInspXjvillRegmDao; import cn.com.goldenwater.dcproj.dto.AttCountryDto; import cn.com.goldenwater.dcproj.model.AttAdBase; import cn.com.goldenwater.dcproj.model.BisInspXjvill; import cn.com.goldenwater.dcproj.model.BisInspXjvillRegm; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.dcproj.util.CheckUtil; import cn.com.goldenwater.dcproj.utils.Builder; import cn.com.goldenwater.dcproj.utils.Constant; import cn.com.goldenwater.id.util.UuidUtil; 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.Date; import java.util.List; /** * @author lhc * @date 2021-9-9 */ @Service @Transactional public class BisInspXjvillRegmServiceImpl extends AbstractCrudService implements BisInspXjvillRegmService { @Autowired private BisInspXjvillRegmDao bisInspXjvillRegmDao; @Autowired private BisInspXjvillRunService bisInspXjvillRunService; @Autowired private BisInspXjvillUsrService bisInspXjvillUsrService; @Autowired private AttAdBaseService attAdBaseService; @Autowired private BisInspXjvillService bisInspXjvillService; public BisInspXjvillRegmServiceImpl(BisInspXjvillRegmDao bisInspXjvillRegmDao) { super(bisInspXjvillRegmDao); this.bisInspXjvillRegmDao = bisInspXjvillRegmDao; } @Override public int insert(BisInspXjvillRegm bisInspXjvillRegm) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspXjvillRegm.setId(uuid); bisInspXjvillRegm.setIntm(new Date()); bisInspXjvillRegm.setUptm(new Date()); bisInspXjvillRegm.setDataStat("0"); return this.bisInspXjvillRegmDao.insert(bisInspXjvillRegm); } @Override public int update(BisInspXjvillRegm bisInspXjvillRegm) { bisInspXjvillRegm.setUptm(new Date()); return this.bisInspXjvillRegmDao.update(bisInspXjvillRegm); } @Override public int delete(String id) { bisInspXjvillRunService.deleteBy(Builder.of(BisInspXjvillRunParam::new).with(BisInspXjvillRunParam::setRegmId, id).build()); bisInspXjvillUsrService.deleteBy(Builder.of(BisInspXjvillUsrParam::new).with(BisInspXjvillUsrParam::setRegmId, id).build()); return this.bisInspXjvillRegmDao.delete(id); } @Override public List addbatch(List countryParamList, String persId) { CheckUtil.notNull(countryParamList.get(0).getRegstrId(), "regstrId.no!"); for (CountryParam countryParam : countryParamList) { if (StringUtils.isBlank(countryParam.getCodes()) ) { continue; } String[] arrays = countryParam.getCodes().split(SplitValue.FENHAO_SPLIT); for (String arr : arrays) { AttAdBase attAdBase = attAdBaseService.getBy(Builder.of(AttAdBaseParam::new) .with(AttAdBaseParam::setAdCode, arr) .build()); // 判断 adCode 对应的基础表是否 存在 if (attAdBase == null) { continue; } BisInspXjvillRegmParam relVillParam = Builder.of(BisInspXjvillRegmParam::new) .with(BisInspXjvillRegmParam::setRgstrId, countryParam.getRegstrId()) .with(BisInspXjvillRegmParam::setAdCode, attAdBase.getAdCode()) .build(); BisInspXjvillRegm relVill = getBy(relVillParam); // 判断 村是否重复添加,已添加则跳过 if (relVill != null) { continue; } relVill = new BisInspXjvillRegm(); relVill.setRgstrId(countryParamList.get(0).getRegstrId()); relVill.setAdCode(attAdBase.getAdCode()); relVill.setAdName(attAdBase.getAdName()); relVill.setNm(attAdBase.getAdName()); relVill.setPersId(persId); insert(relVill); } } // 修改登记表状态 updateRgstr(countryParamList.get(0).getRegstrId()); return countryParamList; } @Override public List findListNotIn(String rgstrId, String adCode) { return bisInspXjvillRegmDao.findListNotIn(rgstrId, adCode); } @Override public int selectCount(BisInspXjvillRegm bisInspXjvillRegm) { return bisInspXjvillRegmDao.selectCount(bisInspXjvillRegm); } private void updateRgstr(String rgstrId) { // 修改 登记表状态 BisInspXjvill rgstr = bisInspXjvillService.get(rgstrId); // 如果状态为 1:督查中 2:已督查 if (rgstr == null || Constant.STRING_ONE.equals(rgstr.getState()) || Constant.STRING_TWO.equals(rgstr.getState())) { return; } BisInspXjvill r = new BisInspXjvill(); r.setId(rgstrId); r.setState("1"); bisInspXjvillService.update(r); } }