4d43ad4ec65482f7acc96b09b3867452199e3598.svn-base 6.7 KB

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