b476680dd5470f1edc80d3487b1d61c44d3f75d0.svn-base 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspWtprjSectionDao;
  4. import cn.com.goldenwater.dcproj.model.BisInspWtprjRegister;
  5. import cn.com.goldenwater.dcproj.model.BisInspWtprjSection;
  6. import cn.com.goldenwater.dcproj.param.BisInspWtprjSectionParam;
  7. import cn.com.goldenwater.dcproj.service.BisInspWtprjRegisterService;
  8. import cn.com.goldenwater.dcproj.service.BisInspWtprjSectionService;
  9. import cn.com.goldenwater.dcproj.utils.Builder;
  10. import cn.com.goldenwater.dcproj.utils.Constant;
  11. import cn.com.goldenwater.id.util.UuidUtil;
  12. import cn.com.goldenwater.target.CheckException;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import java.util.Date;
  17. import java.util.List;
  18. import java.util.Optional;
  19. /**
  20. * @author lhc
  21. * @date 2021-4-14
  22. */
  23. @Service
  24. @Transactional
  25. public class BisInspWtprjSectionServiceImpl extends AbstractCrudService<BisInspWtprjSection, BisInspWtprjSectionParam> implements BisInspWtprjSectionService {
  26. @Autowired
  27. private BisInspWtprjSectionDao bisInspWtprjSectionDao;
  28. @Autowired
  29. private BisInspWtprjRegisterService bisInspWtprjRegisterService;
  30. public BisInspWtprjSectionServiceImpl(BisInspWtprjSectionDao bisInspWtprjSectionDao) {
  31. super(bisInspWtprjSectionDao);
  32. this.bisInspWtprjSectionDao = bisInspWtprjSectionDao;
  33. }
  34. @Override
  35. public int insert(BisInspWtprjSection bisInspWtprjSection) {
  36. String uuid = UuidUtil.uuid();
  37. bisInspWtprjSection.setId(uuid);
  38. bisInspWtprjSection.setIntm(new Date());
  39. bisInspWtprjSection.setUptm(new Date());
  40. bisInspWtprjSection.setDataStat("0");
  41. int ret = this.bisInspWtprjSectionDao.insert(bisInspWtprjSection);
  42. updateRgstrState(bisInspWtprjSection.getRgstrId());
  43. return ret;
  44. }
  45. @Override
  46. public int update(BisInspWtprjSection bisInspWtprjSection) {
  47. // 获取子表
  48. BisInspWtprjSection child = get(bisInspWtprjSection.getId());
  49. Optional.ofNullable(child).orElseThrow(() -> new CheckException("未找到此登记表下的标段"));
  50. // 更新登记表
  51. bisInspWtprjSection.setUptm(new Date());
  52. int ret = this.bisInspWtprjSectionDao.update(bisInspWtprjSection);
  53. updateRgstrState(child.getRgstrId());
  54. return ret;
  55. }
  56. void updateRgstrState(String rgstrId) {
  57. BisInspWtprjRegister rgstr = bisInspWtprjRegisterService.get(rgstrId);
  58. Optional.ofNullable(rgstr).ifPresent(r -> {
  59. if (!Constant.STRING_TWO.equals(r.getState()) &&
  60. !Constant.STRING_ONE.equals(r.getState())) {
  61. r.setUptm(new Date());
  62. r.setState(Constant.STRING_ONE);
  63. // 更新登记表状态
  64. bisInspWtprjRegisterService.update(r);
  65. }
  66. });
  67. }
  68. @Override
  69. public int delete(String id) {
  70. return this.bisInspWtprjSectionDao.delete(id);
  71. }
  72. @Override
  73. public List<BisInspWtprjSection> listByRegId(String rgstrId) {
  74. return bisInspWtprjSectionDao.findList(Builder.of(BisInspWtprjSectionParam::new).with(BisInspWtprjSectionParam::setRgstrId, rgstrId).build());
  75. }
  76. }