package cn.com.goldenwater.dcproj.service.impl; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.BisInspUnwtSynDao; import cn.com.goldenwater.dcproj.model.BisInspUnwtSyn; import cn.com.goldenwater.dcproj.param.BisInspUnwtSynParam; import cn.com.goldenwater.dcproj.service.BisInspUnwtRgstrService; import cn.com.goldenwater.dcproj.service.BisInspUnwtSynService; 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.Date; import java.util.HashMap; import java.util.Map; import java.util.Optional; import static cn.com.goldenwater.dcproj.util.CheckUtil.check; /** * @author lhc * @date 2021-5-27 */ @Service @Transactional public class BisInspUnwtSynServiceImpl extends AbstractCrudService implements BisInspUnwtSynService { @Autowired private BisInspUnwtSynDao bisInspUnwtSynDao; @Autowired private BisInspUnwtRgstrService bisInspUnwtRgstrService; public BisInspUnwtSynServiceImpl(BisInspUnwtSynDao bisInspUnwtSynDao) { super(bisInspUnwtSynDao); this.bisInspUnwtSynDao = bisInspUnwtSynDao; } @Override public int insert(BisInspUnwtSyn bisInspUnwtSyn) { String uuid = UuidUtil.uuid(); // 生成uuid bisInspUnwtSyn.setId(uuid); bisInspUnwtSyn.setIntm(new Date()); bisInspUnwtSyn.setUptm(new Date()); bisInspUnwtSyn.setDataStat("0"); return this.bisInspUnwtSynDao.insert(bisInspUnwtSyn); } @Override public int update(BisInspUnwtSyn bisInspUnwtSyn) { check(StringUtils.isNotBlank(bisInspUnwtSyn.getRgstrId()), "缺少登记表编码!"); // 获取子表 BisInspUnwtSyn child = get(bisInspUnwtSyn.getRgstrId()); Optional.ofNullable(child).orElseThrow(() -> new CheckException("未找到此登记表下的子表")); // 更新子表 bisInspUnwtSyn.setId(child.getId()); bisInspUnwtSyn.setUptm(new Date()); bisInspUnwtSyn.setState("2"); int ret = bisInspUnwtSynDao.update(bisInspUnwtSyn); // 更新登记表状态 Map map = new HashMap<>(3); map.put("rgstrId", bisInspUnwtSyn.getRgstrId()); map.put("param", "syn"); map.put("state", bisInspUnwtSyn.getState()); bisInspUnwtRgstrService.updateState(map); return ret; } @Override public int delete(String id) { return this.bisInspUnwtSynDao.delete(id); } }