package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspDpgmBaseDao; import cn.com.goldenwater.dcproj.model.BisInspDpgmBase; import cn.com.goldenwater.dcproj.param.BisInspDpgmBaseParam; import cn.com.goldenwater.dcproj.service.BisInspDpgmBaseService; import cn.com.goldenwater.dcproj.service.BisInspDpgmRgstrService; import cn.com.goldenwater.id.util.UuidUtil; import cn.com.goldenwater.target.CheckException; 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.HashMap; import java.util.Map; import java.util.Optional; /** * @author lhc * @date 2021-4-7 */ @Service @Transactional public class BisInspDpgmBaseServiceImpl extends AbstractCrudService implements BisInspDpgmBaseService { @Autowired private BisInspDpgmBaseDao bisInspDpgmBaseDao; @Autowired private BisInspDpgmRgstrService bisInspDpgmRgstrService; public BisInspDpgmBaseServiceImpl(BisInspDpgmBaseDao bisInspDpgmBaseDao) { super(bisInspDpgmBaseDao); this.bisInspDpgmBaseDao = bisInspDpgmBaseDao; } @Override public int insert(BisInspDpgmBase bisInspDpgmBase) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspDpgmBase.setId(uuid); bisInspDpgmBase.setIntm(new Date()); bisInspDpgmBase.setUptm(new Date()); bisInspDpgmBase.setDataStat("0"); return this.bisInspDpgmBaseDao.insert(bisInspDpgmBase); } @Override public int update(BisInspDpgmBase bisInspDpgmBase) { // 获取子表 BisInspDpgmBase child = get(bisInspDpgmBase.getRgstrId()); Optional.ofNullable(child).orElseThrow(() -> new CheckException("未找到此登记表下的子表")); // 更新子表 bisInspDpgmBase.setId(child.getId()); bisInspDpgmBase.setUptm(new Date()); int ret = bisInspDpgmBaseDao.update(bisInspDpgmBase); // 更新登记表状态 Map map = new HashMap<>(3); map.put("rgstrId", bisInspDpgmBase.getRgstrId()); map.put("param", "base"); map.put("state", bisInspDpgmBase.getState()); bisInspDpgmRgstrService.updateState(map); return ret; } @Override public int delete(String id) { return this.bisInspDpgmBaseDao.delete(id); } }