88522a852c41099ef64ec2825f232c990cbbbf71.svn-base 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  4. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  5. import cn.com.goldenwater.dcproj.dao.BisInspAllRlationDao;
  6. import cn.com.goldenwater.dcproj.dao.BisInspDstfldqhDao;
  7. import cn.com.goldenwater.dcproj.dto.BisInspDstfldqhDto;
  8. import cn.com.goldenwater.dcproj.model.AttDstfldqhBase;
  9. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  10. import cn.com.goldenwater.dcproj.model.BisInspDstfldqh;
  11. import cn.com.goldenwater.dcproj.param.BisInspAllRlationParam;
  12. import cn.com.goldenwater.dcproj.param.BisInspDstfldqhParam;
  13. import cn.com.goldenwater.dcproj.param.TypeParam;
  14. import cn.com.goldenwater.dcproj.service.AttAdXBaseService;
  15. import cn.com.goldenwater.dcproj.service.AttDstfldqhBaseService;
  16. import cn.com.goldenwater.dcproj.service.BisInspDstfldqhService;
  17. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  18. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  19. import cn.com.goldenwater.dcproj.utils.Builder;
  20. import cn.com.goldenwater.dcproj.utils.Constant;
  21. import cn.com.goldenwater.id.util.UuidUtil;
  22. import com.github.pagehelper.PageHelper;
  23. import com.github.pagehelper.PageInfo;
  24. import org.apache.commons.collections.MapUtils;
  25. import org.apache.commons.lang3.StringUtils;
  26. import org.springframework.beans.BeanUtils;
  27. import org.springframework.beans.factory.annotation.Autowired;
  28. import org.springframework.stereotype.Service;
  29. import org.springframework.transaction.annotation.Transactional;
  30. import javax.servlet.http.HttpServletResponse;
  31. import java.util.Date;
  32. import java.util.List;
  33. import java.util.Map;
  34. import java.util.Optional;
  35. /**
  36. * @author lhc
  37. * @date 2021-6-10
  38. */
  39. @Service
  40. @Transactional
  41. public class BisInspDstfldqhServiceImpl extends AbstractCrudService<BisInspDstfldqh, BisInspDstfldqhParam> implements BisInspDstfldqhService, BisInspObjStrategy {
  42. @Autowired
  43. private BisInspDstfldqhDao bisInspDstfldqhDao;
  44. @Autowired
  45. private AttAdXBaseService attAdXBaseService;
  46. @Autowired
  47. private BisInspAllRlationDao bisInspAllRlationDao;
  48. @Autowired
  49. private AttDstfldqhBaseService attDstfldqhBaseService;
  50. public BisInspDstfldqhServiceImpl(BisInspDstfldqhDao bisInspDstfldqhDao) {
  51. super(bisInspDstfldqhDao);
  52. this.bisInspDstfldqhDao = bisInspDstfldqhDao;
  53. }
  54. @Override
  55. public int insert(BisInspDstfldqh bisInspDstfldqh) {
  56. String uuid = UuidUtil.uuid();
  57. bisInspDstfldqh.setId(uuid);
  58. bisInspDstfldqh.setIntm(new Date());
  59. bisInspDstfldqh.setUptm(new Date());
  60. bisInspDstfldqh.setDataStat("0");
  61. bisInspDstfldqh.setState("0");
  62. bisInspDstfldqh.setNoteState("0");
  63. return this.bisInspDstfldqhDao.insert(bisInspDstfldqh);
  64. }
  65. @Override
  66. public int update(BisInspDstfldqh bisInspDstfldqh) {
  67. bisInspDstfldqh.setUptm(new Date());
  68. int ret = this.bisInspDstfldqhDao.update(bisInspDstfldqh);
  69. updateBase(bisInspDstfldqh);
  70. return ret;
  71. }
  72. /**
  73. * 修改基础表
  74. * @param bisInspDstfldqh 登记表
  75. */
  76. private void updateBase(BisInspDstfldqh bisInspDstfldqh) {
  77. if (StringUtils.isBlank(bisInspDstfldqh.getObjId())) {
  78. bisInspDstfldqh = get(bisInspDstfldqh.getId());
  79. }
  80. if (bisInspDstfldqh == null){
  81. return;
  82. }
  83. AttDstfldqhBase attDstfldqhBase = attDstfldqhBaseService.getObjId(bisInspDstfldqh.getObjId());
  84. BisInspDstfldqh finalBisInspDstfldqh = bisInspDstfldqh;
  85. Optional.ofNullable(attDstfldqhBase).ifPresent(base ->{
  86. String baseId = base.getId();
  87. BeanUtils.copyProperties(finalBisInspDstfldqh, base);
  88. base.setId(baseId);
  89. base.setIntm(null);
  90. base.setDataStat(null);
  91. attDstfldqhBaseService.update(base);
  92. });
  93. }
  94. @Override
  95. public int delete(String id) {
  96. return this.bisInspDstfldqhDao.delete(id);
  97. }
  98. @Override
  99. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  100. BisInspDstfldqh b = new BisInspDstfldqh();
  101. AttDstfldqhBase base = attDstfldqhBaseService.get(bisInspAllObj.getCode());
  102. BeanUtils.copyProperties(base, b);
  103. b.setObjId(bisInspAllObj.getObjId());
  104. b.setPersId(persId);
  105. /* 添加 登记表 */
  106. insert(b);
  107. }
  108. @Override
  109. public String getType() {
  110. return BisInspEnum.DSTFLDQH.getValue();
  111. }
  112. @Override
  113. public void cleanObjData(String objId) {
  114. BisInspDstfldqhParam rgstrParam = new BisInspDstfldqhParam();
  115. rgstrParam.setObjId(objId);
  116. List<BisInspDstfldqh> list = this.bisInspDstfldqhDao.findList(rgstrParam);
  117. if (list.size() > 0) {
  118. String id = list.get(0).getId();
  119. // 删除登记表
  120. this.bisInspDstfldqhDao.delete(id);
  121. }
  122. }
  123. @Override
  124. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  125. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  126. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  127. }
  128. PageHelper.startPage(typeParam);
  129. String[] groupIds = bisInspAllRlationDao.getIdByPersid(Builder
  130. .of(BisInspAllRlationParam::new)
  131. .with(BisInspAllRlationParam::setPersid, typeParam.getPresId())
  132. .with(BisInspAllRlationParam::setpType, typeParam.getpType())
  133. .build());
  134. typeParam.setGroupIds(groupIds);
  135. List<BisInspDstfldqhDto> list = this.bisInspDstfldqhDao.findPageList(typeParam);
  136. return (PageInfo<BisInspDstfldqhDto>) new PageInfo(list);
  137. }
  138. @Override
  139. public void updateState(Map<String, Object> map) {
  140. BisInspDstfldqh rgstr = get(MapUtils.getString(map, "rgstrId"));
  141. if (!Constant.STRING_TWO.equals(rgstr.getState()) &&
  142. StringUtils.isNotBlank(MapUtils.getString(map, "state"))) {
  143. rgstr.setUptm(new Date());
  144. rgstr.setState(Constant.STRING_ONE);
  145. if ("note".equals(MapUtils.getString(map, "param"))) {
  146. rgstr.setNoteState(MapUtils.getString(map, "state"));
  147. }
  148. update(rgstr);
  149. }
  150. }
  151. @Override
  152. public Object findObjListByType(TypeParam typeParam) {
  153. return this.bisInspDstfldqhDao.findPageList(typeParam);
  154. }
  155. }