83180d041be05b091416b402ba1ac442c1f09967.svn-base 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspStstnSceneDao;
  4. import cn.com.goldenwater.dcproj.model.BisInspStstnScene;
  5. import cn.com.goldenwater.dcproj.param.BisInspStstnSceneParam;
  6. import cn.com.goldenwater.dcproj.service.BisInspStstnSceneService;
  7. import cn.com.goldenwater.dcproj.service.BisInspStstnService;
  8. import cn.com.goldenwater.id.util.UuidUtil;
  9. import cn.com.goldenwater.target.CheckException;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.util.Date;
  14. import java.util.HashMap;
  15. import java.util.Map;
  16. /**
  17. * @author lhc
  18. * @date 2021-7-13
  19. */
  20. @Service
  21. @Transactional
  22. public class BisInspStstnSceneServiceImpl extends AbstractCrudService<BisInspStstnScene, BisInspStstnSceneParam> implements BisInspStstnSceneService {
  23. @Autowired
  24. private BisInspStstnSceneDao bisInspStstnSceneDao;
  25. @Autowired
  26. private BisInspStstnService bisInspStstnService;
  27. public BisInspStstnSceneServiceImpl(BisInspStstnSceneDao bisInspStstnSceneDao) {
  28. super(bisInspStstnSceneDao);
  29. this.bisInspStstnSceneDao = bisInspStstnSceneDao;
  30. }
  31. @Override
  32. public int insert(BisInspStstnScene bisInspStstnScene) {
  33. BisInspStstnScene scene = get(bisInspStstnScene.getRgstrId());
  34. if (scene != null) {
  35. bisInspStstnScene.setId(scene.getId());
  36. return update(bisInspStstnScene);
  37. }
  38. String uuid = UuidUtil.uuid();
  39. bisInspStstnScene.setId(uuid);
  40. bisInspStstnScene.setIntm(new Date());
  41. bisInspStstnScene.setUptm(new Date());
  42. bisInspStstnScene.setDataStat("0");
  43. total(bisInspStstnScene);
  44. addScore(bisInspStstnScene);
  45. int ret = bisInspStstnSceneDao.insert(bisInspStstnScene);
  46. // updateRgstrState(bisInspStstnScene);
  47. return ret;
  48. }
  49. @Override
  50. public int update(BisInspStstnScene bisInspStstnScene) {
  51. BisInspStstnScene scene = get(bisInspStstnScene.getRgstrId());
  52. if (scene == null) {
  53. throw new CheckException("未找到此登记表下的子表");
  54. }
  55. bisInspStstnScene.setId(scene.getId());
  56. bisInspStstnScene.setUptm(new Date());
  57. bisInspStstnSceneDao.update(bisInspStstnScene);
  58. BisInspStstnScene scene1 = get(bisInspStstnScene.getRgstrId());
  59. scene1.setState(bisInspStstnScene.getState());
  60. total(scene1);
  61. addScore(scene1);
  62. int ret = bisInspStstnSceneDao.update(scene1);
  63. updateRgstrState(scene1);
  64. return ret;
  65. }
  66. @Override
  67. public int delete(String id) {
  68. return this.bisInspStstnSceneDao.delete(id);
  69. }
  70. private void updateRgstrState(BisInspStstnScene bisInspStstnScene) {
  71. Map<String, Object> map = new HashMap<>(5);
  72. map.put("rgstrId", bisInspStstnScene.getRgstrId());
  73. map.put("param", "scene");
  74. map.put("state", bisInspStstnScene.getState());
  75. map.put("caseScore", bisInspStstnScene.getActualScore());
  76. map.put("total", bisInspStstnScene.getTotal());
  77. bisInspStstnService.updateState(map);
  78. }
  79. private double judge(Double value) {
  80. if (value == null) {
  81. return 0;
  82. }
  83. return value;
  84. }
  85. private void addScore(BisInspStstnScene bisInspStstnScene) {
  86. double actualScore = 0;
  87. actualScore = judge(bisInspStstnScene.getAppPlanNum()) +
  88. judge(bisInspStstnScene.getLocNum()) +
  89. judge(bisInspStstnScene.getCloseNum()) +
  90. judge(bisInspStstnScene.getPubNum()) +
  91. judge(bisInspStstnScene.getSafNum()) +
  92. judge(bisInspStstnScene.getChkNum()) +
  93. judge(bisInspStstnScene.getBuldNum()) +
  94. judge(bisInspStstnScene.getParkNum()) +
  95. judge(bisInspStstnScene.getSendNum()) +
  96. judge(bisInspStstnScene.getLytNum()) +
  97. judge(bisInspStstnScene.getSetNum()) +
  98. judge(bisInspStstnScene.getSetRoomNum()) +
  99. judge(bisInspStstnScene.getCoverNum()) +
  100. judge(bisInspStstnScene.getWasteNum()) +
  101. judge(bisInspStstnScene.getPubSafNum()) +
  102. judge(bisInspStstnScene.getHndlPubNum()) +
  103. judge(bisInspStstnScene.getPrcPubNum()) +
  104. judge(bisInspStstnScene.getMtcPubNum()) +
  105. judge(bisInspStstnScene.getTestChkNum()) +
  106. judge(bisInspStstnScene.getRghtPlcNum());
  107. bisInspStstnScene.setActualScore(actualScore);
  108. }
  109. private void total(BisInspStstnScene bisInspStstnScene) {
  110. Double total = 32.0;
  111. if (check(bisInspStstnScene.getIsSet())) {
  112. total += 5;
  113. } else {
  114. bisInspStstnScene.setSetNum(0.0);
  115. }
  116. if (check(bisInspStstnScene.getIsPubSaf())) {
  117. total += 1;
  118. } else {
  119. bisInspStstnScene.setPubSafNum(0.0);
  120. }
  121. if (check(bisInspStstnScene.getIsHndlPub())) {
  122. total += 2;
  123. } else {
  124. bisInspStstnScene.setHndlPubNum(0.0);
  125. }
  126. if (check(bisInspStstnScene.getIsPrcPub())) {
  127. total += 2;
  128. } else {
  129. bisInspStstnScene.setPrcPubNum(0.0);
  130. }
  131. if (check(bisInspStstnScene.getIsMtcPub())) {
  132. total += 2;
  133. } else {
  134. bisInspStstnScene.setMtcPubNum(0.0);
  135. }
  136. if (check(bisInspStstnScene.getIsTestChk())) {
  137. total += 2;
  138. } else {
  139. bisInspStstnScene.setTestChkNum(0.0);
  140. }
  141. if (check(bisInspStstnScene.getIsRghtPlc())) {
  142. total += 2;
  143. } else {
  144. bisInspStstnScene.setRghtPlcNum(0.0);
  145. }
  146. bisInspStstnScene.setTotal(total);
  147. }
  148. private Boolean check(String i) {
  149. return "1".equals(i);
  150. }
  151. }