fb945ba0ebcb43f1674e47561206ebc0ec11f789.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. package cn.com.goldenwater.dcproj.service.impl.wdtst;
  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.BisInspAllObjDao;
  7. import cn.com.goldenwater.dcproj.dao.BisInspPblmDao;
  8. import cn.com.goldenwater.dcproj.dao.BisInspWtdstDao;
  9. import cn.com.goldenwater.dcproj.dao.BisInspWtdstTrackDao;
  10. import cn.com.goldenwater.dcproj.dto.BisInspWtdstBaseDto;
  11. import cn.com.goldenwater.dcproj.dto.BisInspWtdstDetailDto;
  12. import cn.com.goldenwater.dcproj.model.BisInspAllObj;
  13. import cn.com.goldenwater.dcproj.model.BisInspWtdst;
  14. import cn.com.goldenwater.dcproj.model.BisInspWtdstTrack;
  15. import cn.com.goldenwater.dcproj.param.BisInspAllObjParam;
  16. import cn.com.goldenwater.dcproj.param.BisInspPblmParam;
  17. import cn.com.goldenwater.dcproj.param.BisInspWtdstDtoListParam;
  18. import cn.com.goldenwater.dcproj.param.BisInspWtdstTrackParam;
  19. import cn.com.goldenwater.dcproj.param.TypeParam;
  20. import cn.com.goldenwater.dcproj.service.BisInspObjStrategy;
  21. import cn.com.goldenwater.dcproj.service.BisInspPblmService;
  22. import cn.com.goldenwater.dcproj.service.BisInspWtdstTrackService;
  23. import cn.com.goldenwater.dcproj.utils.AdLevelUtil;
  24. import cn.com.goldenwater.dcproj.utils.DateUtils;
  25. import cn.com.goldenwater.id.util.UuidUtil;
  26. import com.github.pagehelper.PageHelper;
  27. import com.github.pagehelper.PageInfo;
  28. import org.apache.commons.lang3.StringUtils;
  29. import org.slf4j.Logger;
  30. import org.slf4j.LoggerFactory;
  31. import org.springframework.beans.BeanUtils;
  32. import org.springframework.beans.factory.annotation.Autowired;
  33. import org.springframework.stereotype.Service;
  34. import org.springframework.transaction.annotation.Transactional;
  35. import javax.servlet.http.HttpServletResponse;
  36. import java.util.ArrayList;
  37. import java.util.Date;
  38. import java.util.List;
  39. /**
  40. * @author 81229
  41. */
  42. @Service
  43. @Transactional(rollbackFor = Exception.class)
  44. public class BisInspWtdstTrackServiceImpl extends AbstractCrudService<BisInspWtdstTrack, BisInspWtdstTrackParam> implements BisInspWtdstTrackService ,BisInspObjStrategy {
  45. private Logger logger = LoggerFactory.getLogger(getClass());
  46. @Autowired
  47. private BisInspWtdstTrackDao bisInspWtdstTrackDao;
  48. @Autowired
  49. private BisInspWtdstDao bisInspWtdstDao;
  50. @Autowired
  51. private BisInspAllObjDao bisInspAllObjDao;
  52. @Autowired
  53. private BisInspPblmDao bisInspPblmDao;
  54. @Autowired
  55. private BisInspPblmService bisInspPblmService;
  56. public BisInspWtdstTrackServiceImpl(BisInspWtdstTrackDao bisInspWtdstTrackDao) {
  57. super(bisInspWtdstTrackDao);
  58. this.bisInspWtdstTrackDao = bisInspWtdstTrackDao;
  59. }
  60. @Override
  61. public String add(BisInspWtdstTrack p) throws Exception {
  62. if (StringUtils.isBlank(p.getObjId())) {
  63. throw new Exception("objId 不能为空!");
  64. }
  65. if (StringUtils.isBlank(p.getWtdstId())) {
  66. BisInspAllObjParam ap = new BisInspAllObjParam();
  67. ap.setObjId(p.getObjId());
  68. BisInspAllObj bisInspAllObj = bisInspAllObjDao.getBy(ap);
  69. if (bisInspAllObj != null) {
  70. p.setWtdstId(bisInspAllObj.getCode());
  71. } else {
  72. throw new Exception("wtdstId 不能为空!");
  73. }
  74. }
  75. String uuid = UuidUtil.uuid();
  76. String now = DateUtils.getTodayYMDHMS();
  77. p.setIntm(new Date());
  78. p.setUptm(new Date());
  79. p.setTrackId(uuid);
  80. this.insert(p);
  81. if (StringUtils.isNotBlank(p.getWtdstId())) {
  82. BisInspWtdst bisInspWtdst = new BisInspWtdst();
  83. bisInspWtdst.setWtdstId(p.getWtdstId());
  84. bisInspWtdst.setWtdstState(p.getWkstate());
  85. bisInspWtdst.setPlanRcvrTm(p.getPlanTm());
  86. bisInspWtdst.setWtdstDtle(p.getDisContent());
  87. bisInspWtdst.setUptm(new Date());
  88. bisInspWtdstDao.update(bisInspWtdst);
  89. }
  90. return uuid;
  91. }
  92. @Override
  93. public PageInfo<BisInspWtdstBaseDto> findPageByType(TypeParam typeParam) {
  94. if (StringUtils.isNotBlank(typeParam.getAdCode())) {
  95. typeParam.setAdCode(String.valueOf(AdLevelUtil.SubAd(typeParam.getAdCode()).get(SplitValue.SUBAD)));
  96. }
  97. PageHelper.startPage(typeParam);
  98. List<BisInspWtdstBaseDto> list = bisInspWtdstTrackDao.findPageByType(typeParam);
  99. PageInfo<BisInspWtdstBaseDto> pageInfo = new PageInfo(list);
  100. return pageInfo;
  101. }
  102. @Override
  103. public List<BisInspWtdstBaseDto> findListByType(TypeParam typeParam) {
  104. List<BisInspWtdstBaseDto> list = bisInspWtdstTrackDao.findPageByType(typeParam);
  105. if (list == null) {
  106. return new ArrayList<>();
  107. }
  108. return list;
  109. }
  110. @Override
  111. public int modify(BisInspWtdstTrack p) throws Exception {
  112. String now = DateUtils.getTodayYMDHMS();
  113. p.setUptm(new Date());
  114. if (StringUtils.isBlank(p.getTrackId())) {
  115. throw new Exception("trackId 不能为空!");
  116. }
  117. if (StringUtils.isBlank(p.getObjId())) {
  118. throw new Exception("objId 不能为空!");
  119. }
  120. // if (StringUtils.isBlank(p.getWtdstId())) {
  121. // BisInspAllObjParam ap = new BisInspAllObjParam();
  122. // ap.setObjId(p.getObjId());
  123. // BisInspAllObj bisInspAllObj = bisInspAllObjDao.getBy(ap);
  124. // if (bisInspAllObj != null) {
  125. // p.setWtdstId(bisInspAllObj.getCode());
  126. // } else {
  127. // throw new Exception("wtdstId 不能为空!");
  128. // }
  129. // }
  130. int ret = bisInspWtdstTrackDao.update(p);
  131. // if (StringUtils.isNotBlank(p.getWtdstId())) {
  132. // BisInspWtdst bisInspWtdst = new BisInspWtdst();
  133. // bisInspWtdst.setWtdstId(p.getWtdstId());
  134. // bisInspWtdst.setWtdstState(p.getWkstate());
  135. // bisInspWtdst.setPlanRcvrTm(p.getPlanTm());
  136. // bisInspWtdst.setWtdstDtle(p.getDisContent());
  137. // bisInspWtdst.setUptm(new Date());
  138. // bisInspWtdstDao.update(bisInspWtdst);
  139. // }
  140. // 更新问题状态
  141. updatePblmState(p);
  142. return ret;
  143. }
  144. private void updatePblmState(BisInspWtdstTrack rgstr) {
  145. BisInspWtdstTrack r = get(rgstr.getWtdstId());
  146. if (r == null) {
  147. return;
  148. }
  149. logger.info("BisInspWtdstTrack:" + r.toString());
  150. bisInspPblmService.updateStateByObjId(r.getObjId(), rgstr.getState());
  151. }
  152. @Override
  153. public PageInfo<BisInspWtdstTrack> queryListByPage(BisInspWtdstTrackParam p) throws Exception {
  154. PageHelper.startPage(p.getPageNum(), p.getPageSize());
  155. List<BisInspWtdstTrack> list = bisInspWtdstTrackDao.findList(p);
  156. return new PageInfo<BisInspWtdstTrack>(list);
  157. }
  158. @Override
  159. public List<BisInspWtdstTrack> queryList(BisInspWtdstTrackParam p) throws Exception {
  160. List<BisInspWtdstTrack> list = bisInspWtdstTrackDao.findList(p);
  161. return list;
  162. }
  163. @Override
  164. public List<BisInspWtdstTrack> queryListByPersId(String id,String orgId) throws Exception {
  165. List<BisInspWtdstTrack> list = bisInspWtdstTrackDao.queryListByPersId(id,orgId);
  166. return list;
  167. }
  168. @Override
  169. public BisInspWtdstTrack getByObjId(String id) throws Exception {
  170. BisInspWtdstTrackParam param = new BisInspWtdstTrackParam();
  171. param.setObjId(id);
  172. BisInspWtdstTrack bisInspWtdstTrack = bisInspWtdstTrackDao.getBy(param);
  173. if (bisInspWtdstTrack == null) {
  174. BisInspWtdstDtoListParam bisInspWtdstDtoListParam = new BisInspWtdstDtoListParam();
  175. bisInspWtdstDtoListParam.setObjId(id);
  176. List<BisInspWtdstDetailDto> list = bisInspWtdstDao.findDtoList(bisInspWtdstDtoListParam);
  177. if (list != null && list.size() > 0) {
  178. BisInspWtdstDetailDto wtdstDetailDto = list.get(0);
  179. BisInspWtdstTrack p = new BisInspWtdstTrack();
  180. String uuid1 = UuidUtil.uuid();
  181. p.setIntm(new Date());
  182. p.setUptm(new Date());
  183. p.setTrackId(uuid1);
  184. p.setObjId(wtdstDetailDto.getObjId());
  185. p.setObjNm(wtdstDetailDto.getWtdstNm());
  186. p.setLoac(wtdstDetailDto.getLocNm());
  187. p.setDisContent(wtdstDetailDto.getDisContent());
  188. // p.setPlanTm(wtdstDetailDto.getPlanTm());
  189. p.setDataStat("0");
  190. p.setAdCode(wtdstDetailDto.getLocAd());
  191. p.setCost(wtdstDetailDto.getCost());
  192. p.setPlanRcvr(wtdstDetailDto.getPlanRcvr());
  193. p.setOrgId(wtdstDetailDto.getOrgId());
  194. this.insert(p);
  195. bisInspWtdstTrack = p;
  196. }
  197. }
  198. return bisInspWtdstTrack;
  199. }
  200. @Override
  201. public int insert(BisInspWtdstTrack b) {
  202. int ret = 1;
  203. BisInspWtdstTrackParam bisInspWtdstTrackParam = new BisInspWtdstTrackParam();
  204. bisInspWtdstTrackParam.setObjId(b.getObjId());
  205. List<BisInspWtdstTrack> list = bisInspWtdstTrackDao.findList(bisInspWtdstTrackParam);
  206. if (list == null || list.size() == 0) {
  207. ret = bisInspWtdstTrackDao.insert(b);
  208. }
  209. return ret;
  210. }
  211. @Override
  212. public void insertObj(BisInspAllObj bisInspAllObj, String persId) {
  213. BisInspWtdst bisInspWtdst = bisInspWtdstDao.get(bisInspAllObj.getCode());
  214. BisInspWtdstTrack p = new BisInspWtdstTrack();
  215. BeanUtils.copyProperties(bisInspWtdst, p);
  216. String uuid1 = UuidUtil.uuid();
  217. String now = DateUtils.getTodayYMDHMS();
  218. p.setIntm(new Date());
  219. p.setUptm(new Date());
  220. p.setTrackId(uuid1);
  221. p.setObjId(bisInspAllObj.getObjId());
  222. p.setObjNm(bisInspAllObj.getNm());
  223. p.setLoac(bisInspWtdst.getLocNm());
  224. p.setDisContent(bisInspWtdst.getWtdstDtle());
  225. p.setPlanTm(bisInspWtdst.getPlanRcvrTm());
  226. p.setAdCode(bisInspWtdst.getLocAd());
  227. p.setDataStat(StateEnum.NOWASTSTATE.getKey());
  228. bisInspWtdstTrackDao.insert(p);
  229. }
  230. @Override
  231. public String getType() {
  232. return BisInspEnum.TRACK.getValue();
  233. }
  234. @Override
  235. public void cleanObjData(String objId) {
  236. BisInspWtdstTrackParam bisInspWtdstTrackParam = new BisInspWtdstTrackParam();
  237. bisInspWtdstTrackParam.setObjId(objId);
  238. List<BisInspWtdstTrack> list = this.bisInspWtdstTrackDao.findList(bisInspWtdstTrackParam);
  239. if (list.size() > 0) {
  240. String id = list.get(0).getTrackId();
  241. BisInspPblmParam bisInspPblmParam = new BisInspPblmParam();
  242. bisInspPblmParam.setRegid(id);
  243. bisInspPblmParam.setObjType(BisInspEnum.TRACK.getValue());
  244. this.bisInspPblmDao.deleteBy(bisInspPblmParam);//删除问题
  245. this.bisInspWtdstTrackDao.delete(id);//删除登记表
  246. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  247. bisInspAllObjParam.setObjId(objId);
  248. this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
  249. }
  250. else {
  251. BisInspAllObjParam bisInspAllObjParam = new BisInspAllObjParam();
  252. bisInspAllObjParam.setObjId(objId);
  253. this.bisInspAllObjDao.deleteBy(bisInspAllObjParam);
  254. }
  255. }
  256. @Override
  257. public PageInfo findObjPageByType(TypeParam typeParam, HttpServletResponse response) {
  258. return this.findPageByType(typeParam);
  259. }
  260. @Override
  261. public Object findObjListByType(TypeParam typeParam) {
  262. return this.findListByType(typeParam);
  263. }
  264. }