72087d9c5442a55c003d2f4304af16a74dbdcedc.svn-base 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package cn.com.goldenwater.dcproj.service.impl.mfdp;
  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.constValue.StateEnum;
  6. import cn.com.goldenwater.dcproj.dao.AttAdXBaseDao;
  7. import cn.com.goldenwater.dcproj.dao.BisInspAllObjDao;
  8. import cn.com.goldenwater.dcproj.dao.BisInspMfdpRgstrDao;
  9. import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
  10. import cn.com.goldenwater.dcproj.dto.BisInspRgstrDto;
  11. import cn.com.goldenwater.dcproj.model.AttAdXBase;
  12. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  13. import cn.com.goldenwater.dcproj.model.BisInspMfdpRgstr;
  14. import cn.com.goldenwater.dcproj.model.BisInspPblm;
  15. import cn.com.goldenwater.dcproj.param.BisInspAllObjParam;
  16. import cn.com.goldenwater.dcproj.param.BisInspMfdpRgstrParam;
  17. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  18. import cn.com.goldenwater.dcproj.param.PlbmParam;
  19. import cn.com.goldenwater.dcproj.param.TypeParam;
  20. import cn.com.goldenwater.dcproj.service.BisInspMfdpRgstrService;
  21. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  22. import cn.com.goldenwater.dcproj.service.BisInspPblmService;
  23. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  24. import cn.com.goldenwater.dcproj.utils.InspPblmUtils;
  25. import cn.com.goldenwater.dcproj.utils.InspUtils;
  26. import cn.com.goldenwater.id.util.UuidUtil;
  27. import cn.com.goldenwater.target.CheckException;
  28. import com.github.pagehelper.PageHelper;
  29. import com.github.pagehelper.PageInfo;
  30. import org.apache.commons.lang3.StringUtils;
  31. import org.slf4j.Logger;
  32. import org.slf4j.LoggerFactory;
  33. import org.springframework.beans.factory.annotation.Autowired;
  34. import org.springframework.stereotype.Service;
  35. import org.springframework.transaction.annotation.Transactional;
  36. import javax.servlet.http.HttpServletResponse;
  37. import java.util.Date;
  38. import java.util.List;
  39. /**
  40. * @author lune
  41. * @date 2020-4-26
  42. */
  43. @Service
  44. @Transactional
  45. public class BisInspMfdpRgstrServiceImpl extends AbstractCrudService<BisInspMfdpRgstr, BisInspMfdpRgstrParam> implements BisInspMfdpRgstrService, BisInspObjStrategy {
  46. private Logger logger = LoggerFactory.getLogger(getClass());
  47. @Autowired
  48. private BisInspMfdpRgstrDao bisInspMfdpRgstrDao;
  49. @Autowired
  50. private AttAdXBaseDao attAdXBaseDao;
  51. @Autowired
  52. private BisInspPblmDao bisInspPblmDao;
  53. @Autowired
  54. private BisInspAllObjDao bisInspAllObjDao;
  55. @Autowired
  56. private BisInspPblmService bisInspPblmService;
  57. public BisInspMfdpRgstrServiceImpl(BisInspMfdpRgstrDao bisInspMfdpRgstrDao) {
  58. super(bisInspMfdpRgstrDao);
  59. this.bisInspMfdpRgstrDao = bisInspMfdpRgstrDao;
  60. }
  61. @Override
  62. public int update(BisInspMfdpRgstr entity) {
  63. BisInspMfdpRgstr r = get(entity.getId());
  64. if (r == null) {
  65. throw new CheckException("未找到对应登记表!");
  66. }
  67. entity.setUptm(new Date());
  68. if (!"2".equals(r.getState()) && !"2".equals(entity.getState())) {
  69. entity.setState("1");
  70. }
  71. // 跟新登记表状态
  72. int rows = super.update(entity);
  73. // 更新问题状态
  74. updatePblmState(entity);
  75. return rows;
  76. }
  77. private void updatePblmState(BisInspMfdpRgstr rgstr) {
  78. BisInspMfdpRgstr r = get(rgstr.getId());
  79. if (r == null) {
  80. return;
  81. }
  82. logger.info("BisInspMfdpRgstr:" + r.toString());
  83. bisInspPblmService.updateStateByObjId(r.getObjId(), rgstr.getState());
  84. }
  85. @Override
  86. public PageInfo<BisInspRgstrDto> findMfdpPage(TypeParam param, HttpServletResponse response) {
  87. if (StringUtils.isNotBlank(param.getAdCode())) {
  88. param.setAdCode(String.valueOf(AdLevelUtil.SubAd(param.getAdCode()).get(SplitValue.SUBAD)));
  89. }
  90. if (StringUtils.isNotBlank(param.getAdCodes())) {
  91. param.setAdCodes(AdLevelUtil.getListAddvcd(param.getAdCodes()));
  92. }
  93. PageHelper.startPage(param);
  94. List<BisInspRgstrDto> list = bisInspMfdpRgstrDao.findMfdpList(param);
  95. list = InspPblmUtils.changeList(list);
  96. return new PageInfo<BisInspRgstrDto>(list);
  97. }
  98. @Override
  99. public PageInfo<BisInspPblm> findPblmPage(PlbmParam pblmParam) {
  100. PageHelper.startPage(pblmParam);
  101. if (StringUtils.isNotBlank(pblmParam.getInspPblmName())) {
  102. pblmParam.setInspPblmName(InspUtils.setOrgIds(pblmParam.getInspPblmName()));
  103. }
  104. if (StringUtils.isNotBlank(pblmParam.getCheckPoint())) {
  105. pblmParam.setCheckPoint(InspUtils.setOrgIds(pblmParam.getCheckPoint()));
  106. }
  107. if (StringUtils.isNotBlank(pblmParam.getInspPblmCate())) {
  108. pblmParam.setInspPblmCate(InspUtils.setOrgIds(pblmParam.getInspPblmCate()));
  109. }
  110. List<BisInspPblm> list = bisInspMfdpRgstrDao.findPblmList(pblmParam);
  111. PageInfo<BisInspPblm> pageInfo = new PageInfo(list);
  112. return pageInfo;
  113. }
  114. @Override
  115. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  116. AttAdXBase xBase = attAdXBaseDao.getByCode(bisInspAllObj.getCode());
  117. BisInspMfdpRgstr rgstr = new BisInspMfdpRgstr();
  118. rgstr.setId(UuidUtil.uuid());
  119. rgstr.setObjId(bisInspAllObj.getObjId());
  120. rgstr.setAdCode(bisInspAllObj.getCode());
  121. rgstr.setAdName(bisInspAllObj.getNm());
  122. rgstr.setPoorCountry(xBase.getIsPoveryt());
  123. rgstr.setSitroMsNum(new Long(0));
  124. rgstr.setSitroRxNum(new Long(0));
  125. rgstr.setSitroTownNum(new Long(0));
  126. rgstr.setSitroVlgNum(new Long(0));
  127. rgstr.setState(StateEnum.NOWASTSTATE.getKey());
  128. rgstr.setIntm(new Date());
  129. rgstr.setUptm(new Date());
  130. bisInspMfdpRgstrDao.insert(rgstr);
  131. }
  132. @Override
  133. public String getType() {
  134. return BisInspEnum.MFDP.getValue();
  135. }
  136. @Override
  137. public void cleanObjData(String objId) {
  138. BisInspMfdpRgstrParam param = new BisInspMfdpRgstrParam();
  139. param.setObjId(objId);
  140. List<BisInspMfdpRgstr> list = this.bisInspMfdpRgstrDao.findList(param);
  141. if (list.size() > 0) {
  142. String id = list.get(0).getId();
  143. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  144. bisInspPblmParam.setObjId(objId);
  145. bisInspPblmParam.setObjType(BisInspEnum.MFDP.getValue());
  146. this.bisInspPblmDao.deleteBy(bisInspPblmParam);//删除问题
  147. bisInspMfdpRgstrDao.delete(id);
  148. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  149. bisInspAllObjParam.setObjId(objId);
  150. this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);//删除督查对象
  151. }
  152. }
  153. @Override
  154. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  155. return findMfdpPage(typeParam, response);
  156. }
  157. @Override
  158. public Object findObjListByType(TypeParam typeParam) {
  159. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  160. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  161. }
  162. if (StringUtils.isNotBlank(typeParam.getAdCodes())) {
  163. typeParam.setAdCodes(AdLevelUtil.getListAddvcd(typeParam.getAdCodes()));
  164. }
  165. List<BisInspRgstrDto> list = bisInspMfdpRgstrDao.findMfdpList(typeParam);
  166. list = InspPblmUtils.changeList(list);
  167. return list;
  168. }
  169. }