package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspVillgdWtspDao; import cn.com.goldenwater.dcproj.model.BisInspVillgdWtsp; import cn.com.goldenwater.dcproj.param.*; import cn.com.goldenwater.dcproj.service.*; import cn.com.goldenwater.dcproj.utils.Builder; import cn.com.goldenwater.id.util.UuidUtil; import cn.com.goldenwater.target.CheckException; 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.*; /** * @author lhc * @date 2021-4-23 */ @Service @Transactional public class BisInspVillgdWtspServiceImpl extends AbstractCrudService implements BisInspVillgdWtspService { @Autowired private BisInspVillgdWtspDao bisInspVillgdWtspDao; @Autowired private BisInspVillgdWtspCaseService bisInspVillgdWtspCaseService; @Autowired private BisInspVillgdWtspOthrService bisInspVillgdWtspOthrService; @Autowired private BisInspVillgdWtspRunService bisInspVillgdWtspRunService; @Autowired private BisInspVillgdWtspSrcService bisInspVillgdWtspSrcService; @Autowired private BisInspVillgdService bisInspVillgdService; public BisInspVillgdWtspServiceImpl(BisInspVillgdWtspDao bisInspVillgdWtspDao) { super(bisInspVillgdWtspDao); this.bisInspVillgdWtspDao = bisInspVillgdWtspDao; } @Override public int insert(BisInspVillgdWtsp bisInspVillgdWtsp) { if (StringUtils.isBlank(bisInspVillgdWtsp.getRgstrId())) { throw new CheckException("缺少登记表ID"); } Optional.ofNullable(bisInspVillgdService.get(bisInspVillgdWtsp.getRgstrId())) .ifPresent(r -> bisInspVillgdWtsp.setObjId(r.getObjId())); String uuid = UuidUtil.uuid(); bisInspVillgdWtsp.setId(uuid); bisInspVillgdWtsp.setIntm(new Date()); bisInspVillgdWtsp.setUptm(new Date()); bisInspVillgdWtsp.setDataStat("0"); int ret = this.bisInspVillgdWtspDao.insert(bisInspVillgdWtsp); bisInspVillgdWtspCaseService.insert(Builder.of(BisInspVillgdWtspCaseParam::new).with(BisInspVillgdWtspCaseParam::setWtspId, uuid).with(BisInspVillgdWtspCaseParam::setRgstrId, bisInspVillgdWtsp.getRgstrId()).build()); bisInspVillgdWtspOthrService.insert(Builder.of(BisInspVillgdWtspOthrParam::new).with(BisInspVillgdWtspOthrParam::setWtspId, uuid).with(BisInspVillgdWtspOthrParam::setRgstrId, bisInspVillgdWtsp.getRgstrId()).build()); bisInspVillgdWtspRunService.insert(Builder.of(BisInspVillgdWtspRunParam::new).with(BisInspVillgdWtspRunParam::setWtspId, uuid).with(BisInspVillgdWtspRunParam::setRgstrId, bisInspVillgdWtsp.getRgstrId()).build()); bisInspVillgdWtspSrcService.insert(Builder.of(BisInspVillgdWtspSrcParam::new).with(BisInspVillgdWtspSrcParam::setWtspId, uuid).with(BisInspVillgdWtspSrcParam::setRgstrId, bisInspVillgdWtsp.getRgstrId()).build()); // 更新登记表状态 Map map = new HashMap<>(1); map.put("rgstrId", bisInspVillgdWtsp.getRgstrId()); bisInspVillgdService.updateState(map); return ret; } @Override public int update(BisInspVillgdWtsp bisInspVillgdWtsp) { bisInspVillgdWtsp.setUptm(new Date()); return this.bisInspVillgdWtspDao.update(bisInspVillgdWtsp); } @Override public int delete(String ids) { String[] idArray = ids.split(","); for (String id : idArray) { // 删除子表 bisInspVillgdWtspCaseService.deleteBy(Builder.of(BisInspVillgdWtspCaseParam::new).with(BisInspVillgdWtspCaseParam::setWtspId, id).build()); bisInspVillgdWtspOthrService.deleteBy(Builder.of(BisInspVillgdWtspOthrParam::new).with(BisInspVillgdWtspOthrParam::setWtspId, id).build()); bisInspVillgdWtspRunService.deleteBy(Builder.of(BisInspVillgdWtspRunParam::new).with(BisInspVillgdWtspRunParam::setWtspId, id).build()); bisInspVillgdWtspSrcService.deleteBy(Builder.of(BisInspVillgdWtspSrcParam::new).with(BisInspVillgdWtspSrcParam::setWtspId, id).build()); this.bisInspVillgdWtspDao.delete(id); } return 1; } @Override public List listByRgstrId(String id) { return this.bisInspVillgdWtspDao.findList(Builder.of(BisInspVillgdWtspParam::new).with(BisInspVillgdWtspParam::setRgstrId, id).build()); } @Override public int selectCount(BisInspVillgdWtsp bisInspVillgdWtsp) { return bisInspVillgdWtspDao.selectCount(bisInspVillgdWtsp); } }