454de30c0bcf960d302adec78fe2b61487868cf5.svn-base 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.dcproj.constValue.SplitValue;
  3. import cn.com.goldenwater.dcproj.dao.*;
  4. import cn.com.goldenwater.dcproj.dto.BisInspQymtenDto;
  5. import cn.com.goldenwater.dcproj.model.*;
  6. import cn.com.goldenwater.dcproj.param.*;
  7. import cn.com.goldenwater.dcproj.service.*;
  8. import cn.com.goldenwater.core.service.AbstractCrudService;
  9. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  10. import cn.com.goldenwater.dcproj.utils.Constant;
  11. import com.github.pagehelper.PageHelper;
  12. import com.github.pagehelper.PageInfo;
  13. import org.apache.commons.collections.CollectionUtils;
  14. import org.apache.commons.collections.MapUtils;
  15. import org.apache.commons.lang3.StringUtils;
  16. import org.springframework.beans.BeanUtils;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import cn.com.goldenwater.id.util.UuidUtil;
  21. import scala.annotation.meta.param;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.util.List;
  24. import java.util.Date;
  25. import java.util.Map;
  26. import java.util.Optional;
  27. /**
  28. * @author lhc
  29. * @date 2021-7-19
  30. */
  31. @Service
  32. @Transactional
  33. public class BisInspQymtenServiceImpl extends AbstractCrudService<BisInspQymten, BisInspQymtenParam> implements BisInspQymtenService, BisInspObjStrategy {
  34. @Autowired
  35. private BisInspQymtenDao bisInspQymtenDao;
  36. @Autowired
  37. private AttAdBaseDao attAdBaseDao;
  38. @Autowired
  39. private BisInspAllObjDao bisInspAllObjDao;
  40. @Autowired
  41. private BisInspQymtenEffcService bisInspQymtenEffcService;
  42. @Autowired
  43. private BisInspQymtenMsrService bisInspQymtenMsrService;
  44. @Autowired
  45. private AttAdBaseService attAdBaseService;
  46. public BisInspQymtenServiceImpl(BisInspQymtenDao bisInspQymtenDao) {
  47. super(bisInspQymtenDao);
  48. this.bisInspQymtenDao = bisInspQymtenDao;
  49. }
  50. @Override
  51. public int insert(BisInspQymten bisInspQymten) {
  52. String uuid = UuidUtil.uuid(); // 生成uuid
  53. bisInspQymten.setId(uuid);
  54. bisInspQymten.setNm(bisInspQymten.getAdName());
  55. bisInspQymten.setIntm(new Date());
  56. bisInspQymten.setUptm(new Date());
  57. bisInspQymten.setDataStat("0");
  58. bisInspQymten.setState("0");
  59. int ret = this.bisInspQymtenDao.insert(bisInspQymten);
  60. //子表
  61. BisInspQymtenMsrParam msrParam = new BisInspQymtenMsrParam();
  62. msrParam.setRgstrId(uuid);
  63. msrParam.setPersId(bisInspQymten.getPersId());
  64. bisInspQymtenMsrService.insert(msrParam);
  65. return ret;
  66. }
  67. @Override
  68. public int update(BisInspQymten bisInspQymten) {
  69. bisInspQymten.setUptm(new Date());
  70. return this.bisInspQymtenDao.update(bisInspQymten);
  71. }
  72. @Override
  73. public int delete(String id) {
  74. return this.bisInspQymtenDao.delete(id);
  75. }
  76. @Override
  77. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  78. AttAdBase base = attAdBaseDao.get(bisInspAllObj.getCode());
  79. BisInspQymten rgstr = new BisInspQymten();
  80. BeanUtils.copyProperties(base, rgstr);
  81. rgstr.setNm(base.getAdName());
  82. rgstr.setObjId(bisInspAllObj.getObjId());
  83. rgstr.setPersId(persId);
  84. rgstr.setMsrState("0");
  85. insert(rgstr);
  86. }
  87. @Override
  88. public String getType() {
  89. return "105";
  90. }
  91. @Override
  92. public void cleanObjData(String objId) {
  93. BisInspQymtenParam param = new BisInspQymtenParam();
  94. param.setObjId(objId);
  95. List<BisInspQymten> list = bisInspQymtenDao.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. bisInspQymtenDao.delete(rgstrId);
  104. //子表
  105. BisInspQymtenMsrParam msrParam = new BisInspQymtenMsrParam();
  106. msrParam.setRgstrId(rgstrId);
  107. bisInspQymtenMsrService.deleteBy(msrParam);
  108. BisInspQymtenEffcParam effcParam = new BisInspQymtenEffcParam();
  109. effcParam.setRgstrId(rgstrId);
  110. bisInspQymtenEffcService.deleteBy(effcParam);
  111. }
  112. }
  113. @Override
  114. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  115. return this.findQymtenPage(typeParam);
  116. }
  117. @Override
  118. public Object findObjListByType(TypeParam typeParam) {
  119. List<BisInspQymtenDto> list = bisInspQymtenDao.findQymtenPage(typeParam);
  120. if (list.size()>0){
  121. for (BisInspQymtenDto rgstrDto : list){
  122. String adFullName = rgstrDto.getAdFullName();
  123. if (StringUtils.isBlank(adFullName)){
  124. continue;
  125. }
  126. if (adFullName.contains(SplitValue.HENG_SPLIT)){
  127. String[] split = adFullName.split(SplitValue.HENG_SPLIT);
  128. if (split.length == 2) {
  129. rgstrDto.setProvince(split[0]);
  130. rgstrDto.setCity(split[1]);
  131. }
  132. if (split.length == 1) {
  133. rgstrDto.setProvince(split[0]);
  134. rgstrDto.setCity("");
  135. }
  136. } else {
  137. rgstrDto.setProvince(adFullName);
  138. }
  139. }
  140. }
  141. return list;
  142. }
  143. @Override
  144. public PageInfo<BisInspQymtenDto> findQymtenPage(TypeParam param) {
  145. if (StringUtils.isNotBlank(param.getAdCode())) {
  146. param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
  147. }
  148. if (StringUtils.isNotBlank(param.getAdCodes())){
  149. param.setAdCodes(AdLevelUtil.getListAddvcd(param.getAdCodes()));
  150. }
  151. PageHelper.startPage(param);
  152. List<BisInspQymtenDto> list = bisInspQymtenDao.findQymtenPage(param);
  153. return new PageInfo<>(list);
  154. }
  155. @Override
  156. public void updateState(Map<String, Object> map) {
  157. BisInspQymten qymten = get(MapUtils.getString(map, "rgstrId"));
  158. if (Constant.STRING_TWO.equals(qymten.getState())){
  159. return;
  160. }
  161. String param = MapUtils.getString(map, "param");
  162. if ("msr".equals(param)){
  163. if (StringUtils.isNotBlank(MapUtils.getString(map,"state"))){
  164. qymten.setMsrState(MapUtils.getString(map,"state"));
  165. }
  166. qymten.setMsrScore(MapUtils.getDouble(map,"score"));
  167. qymten.setUptm(new Date());
  168. qymten.setState(Constant.STRING_ONE);
  169. update(qymten);
  170. }
  171. }
  172. @Override
  173. public BisInspQymten get(String key) {
  174. BisInspQymten qymten = super.get(key);
  175. Optional.ofNullable(qymten).map(BisInspQymten::getAdCode).ifPresent(adCode -> {
  176. AttAdBase attAdBase = attAdBaseService.get(adCode);
  177. Optional.ofNullable(attAdBase).ifPresent(base -> {
  178. qymten.setAdFullName(base.getAdFullName());
  179. });
  180. });
  181. return qymten;
  182. }
  183. }