e7d9dad7542a1ef2294821c7a51af9a57bc56cee.svn-base 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.dcproj.constValue.BisInspEnum;
  3. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  4. import cn.com.goldenwater.dcproj.dao.AttAdBaseDao;
  5. import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
  6. import cn.com.goldenwater.dcproj.dao.BisInspQaSdDao;
  7. import cn.com.goldenwater.dcproj.dto.BisInspQaSdDto;
  8. import cn.com.goldenwater.dcproj.model.AttAdBase;
  9. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  10. import cn.com.goldenwater.dcproj.model.BisInspQaSd;
  11. import cn.com.goldenwater.dcproj.param.*;
  12. import cn.com.goldenwater.dcproj.service.AttAdBaseService;
  13. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  14. import cn.com.goldenwater.dcproj.service.BisInspQaScoreSdService;
  15. import cn.com.goldenwater.dcproj.service.BisInspQaSdService;
  16. import cn.com.goldenwater.core.service.AbstractCrudService;
  17. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  18. import cn.com.goldenwater.dcproj.utils.Constant;
  19. import com.github.pagehelper.PageHelper;
  20. import com.github.pagehelper.PageInfo;
  21. import org.apache.commons.collections.CollectionUtils;
  22. import org.apache.commons.collections.MapUtils;
  23. import org.apache.commons.lang3.StringUtils;
  24. import org.springframework.beans.BeanUtils;
  25. import org.springframework.beans.factory.annotation.Autowired;
  26. import org.springframework.stereotype.Service;
  27. import org.springframework.transaction.annotation.Transactional;
  28. import cn.com.goldenwater.id.util.UuidUtil;
  29. import javax.servlet.http.HttpServletResponse;
  30. import java.util.*;
  31. /**
  32. * @author lhc
  33. * @date 2024-4-7
  34. */
  35. @Service
  36. @Transactional
  37. public class BisInspQaSdServiceImpl extends AbstractCrudService<BisInspQaSd, BisInspQaSdParam> implements BisInspQaSdService, BisInspObjStrategy {
  38. @Autowired
  39. private BisInspQaSdDao bisInspQaSdDao;
  40. @Autowired
  41. private AttAdBaseDao attAdBaseDao;
  42. @Autowired
  43. private BisInspAllObjDao bisInspAllObjDao;
  44. @Autowired
  45. private BisInspQaScoreSdService bisInspQaScoreSdService;
  46. @Autowired
  47. private AttAdBaseService attAdBaseService;
  48. public BisInspQaSdServiceImpl(BisInspQaSdDao bisInspQaSdDao) {
  49. super(bisInspQaSdDao);
  50. this.bisInspQaSdDao = bisInspQaSdDao;
  51. }
  52. @Override
  53. public int insert(BisInspQaSd bisInspQaSd) {
  54. // 生成uuid
  55. String uuid = UuidUtil.uuid();
  56. bisInspQaSd.setId(uuid);
  57. bisInspQaSd.setNm(bisInspQaSd.getAdName());
  58. bisInspQaSd.setIntm(new Date());
  59. bisInspQaSd.setUptm(new Date());
  60. bisInspQaSd.setDataStat("0");
  61. bisInspQaSd.setState("0");
  62. int ret = this.bisInspQaSdDao.insert(bisInspQaSd);
  63. //子表
  64. BisInspQaScoreSdParam scoreSdParam = new BisInspQaScoreSdParam();
  65. scoreSdParam.setRgstrId(uuid);
  66. scoreSdParam.setPersId(bisInspQaSd.getPersId());
  67. bisInspQaScoreSdService.insert(scoreSdParam);
  68. return ret;
  69. }
  70. @Override
  71. public int update(BisInspQaSd bisInspQaSd) {
  72. bisInspQaSd.setUptm(new Date());
  73. return this.bisInspQaSdDao.update(bisInspQaSd);
  74. }
  75. @Override
  76. public int delete(String id) {
  77. return this.bisInspQaSdDao.delete(id);
  78. }
  79. @Override
  80. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  81. AttAdBase base = attAdBaseDao.get(bisInspAllObj.getCode());
  82. BisInspQaSd rgstr = new BisInspQaSd();
  83. BeanUtils.copyProperties(base, rgstr);
  84. rgstr.setNm(base.getAdName());
  85. rgstr.setObjId(bisInspAllObj.getObjId());
  86. rgstr.setPersId(persId);
  87. insert(rgstr);
  88. }
  89. @Override
  90. public String getType() {
  91. return BisInspEnum.SDQA.getValue();
  92. }
  93. @Override
  94. public void cleanObjData(String objId) {
  95. BisInspQaSdParam param = new BisInspQaSdParam();
  96. param.setObjId(objId);
  97. List<BisInspQaSd> list = bisInspQaSdDao.findList(param);
  98. if (CollectionUtils.isNotEmpty(list)) {
  99. String rgstrId = list.get(0).getId();
  100. //删除名录表
  101. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  102. bisInspAllObjParam.setObjId(objId);
  103. this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
  104. //登记表
  105. bisInspQaSdDao.delete(rgstrId);
  106. //子表
  107. BisInspQaScoreSdParam scoreParam = new BisInspQaScoreSdParam();
  108. scoreParam.setRgstrId(rgstrId);
  109. bisInspQaScoreSdService.deleteBy(scoreParam);
  110. }
  111. }
  112. @Override
  113. public PageInfo<BisInspQaSdDto> findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  114. return this.findQaSdPage(typeParam);
  115. }
  116. @Override
  117. public Object findObjListByType(TypeParam param) {
  118. List<BisInspQaSdDto> list = bisInspQaSdDao.findQaSdPage(param);
  119. if (list.size() > 0) {
  120. for (BisInspQaSdDto qaSdDto : list) {
  121. String adFullName = qaSdDto.getAdFullName();
  122. if (StringUtils.isBlank(adFullName)) {
  123. continue;
  124. }
  125. if (adFullName.contains(SplitValue.HENG_SPLIT)) {
  126. String[] split = adFullName.split(SplitValue.HENG_SPLIT);
  127. if (split.length == 2) {
  128. qaSdDto.setProvince(split[0]);
  129. qaSdDto.setCity(split[1]);
  130. }
  131. if (split.length == 1) {
  132. qaSdDto.setProvince(split[0]);
  133. qaSdDto.setCity("");
  134. }
  135. } else {
  136. qaSdDto.setProvince(adFullName);
  137. }
  138. }
  139. }
  140. return list;
  141. }
  142. @Override
  143. public PageInfo<BisInspQaSdDto> findQaSdPage(TypeParam param) {
  144. if (StringUtils.isNotBlank(param.getAdCode())) {
  145. param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
  146. }
  147. if (StringUtils.isNotBlank(param.getAdCodes())) {
  148. param.setAdCodes(AdLevelUtil.getListAddvcd(param.getAdCodes()));
  149. }
  150. PageHelper.startPage(param);
  151. List<BisInspQaSdDto> list = bisInspQaSdDao.findQaSdPage(param);
  152. return new PageInfo<>(list);
  153. }
  154. @Override
  155. public void updateState(Map<String, Object> map) {
  156. BisInspQaSd inspQaSd = get(MapUtils.getString(map, "rgstrId"));
  157. String param = MapUtils.getString(map, "param");
  158. if ("qa".equals(param)) {
  159. inspQaSd.setTotalScore(MapUtils.getLong(map, "total"));
  160. inspQaSd.setState(Constant.STRING_ONE);
  161. update(inspQaSd);
  162. }
  163. }
  164. @Override
  165. public BisInspQaSd get(String key) {
  166. BisInspQaSd qymten = super.get(key);
  167. Optional.ofNullable(qymten).map(BisInspQaSd::getAdCode).ifPresent(adCode -> {
  168. AttAdBase attAdBase = attAdBaseService.get(adCode);
  169. Optional.ofNullable(attAdBase).ifPresent(base -> {
  170. qymten.setAdName(base.getAdFullName());
  171. });
  172. });
  173. return qymten;
  174. }
  175. }