0ca261611bfb10a8963cef7d1d7fa33aa40dbb36.svn-base 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspStstnTmprDao;
  4. import cn.com.goldenwater.dcproj.model.BisInspStstnTmpr;
  5. import cn.com.goldenwater.dcproj.param.BisInspStstnTmprParam;
  6. import cn.com.goldenwater.dcproj.service.BisInspStstnService;
  7. import cn.com.goldenwater.dcproj.service.BisInspStstnTmprService;
  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 BisInspStstnTmprServiceImpl extends AbstractCrudService<BisInspStstnTmpr, BisInspStstnTmprParam> implements BisInspStstnTmprService {
  23. @Autowired
  24. private BisInspStstnTmprDao bisInspStstnTmprDao;
  25. @Autowired
  26. private BisInspStstnService bisInspStstnService;
  27. public BisInspStstnTmprServiceImpl(BisInspStstnTmprDao bisInspStstnTmprDao) {
  28. super(bisInspStstnTmprDao);
  29. this.bisInspStstnTmprDao = bisInspStstnTmprDao;
  30. }
  31. @Override
  32. public int insert(BisInspStstnTmpr bisInspStstnTmpr) {
  33. BisInspStstnTmpr tmpr = get(bisInspStstnTmpr.getRgstrId());
  34. if (tmpr != null) {
  35. bisInspStstnTmpr.setId(tmpr.getId());
  36. update(bisInspStstnTmpr);
  37. }
  38. String uuid = UuidUtil.uuid();
  39. bisInspStstnTmpr.setId(uuid);
  40. bisInspStstnTmpr.setIntm(new Date());
  41. bisInspStstnTmpr.setUptm(new Date());
  42. bisInspStstnTmpr.setDataStat("0");
  43. bisInspStstnTmpr.setState("0");
  44. total(bisInspStstnTmpr);
  45. addScore(bisInspStstnTmpr);
  46. int ret = bisInspStstnTmprDao.insert(bisInspStstnTmpr);
  47. // updateRgstrState(bisInspStstnTmpr);
  48. return ret;
  49. }
  50. @Override
  51. public int update(BisInspStstnTmpr bisInspStstnTmpr) {
  52. BisInspStstnTmpr tmpr = get(bisInspStstnTmpr.getRgstrId());
  53. if (tmpr == null) {
  54. throw new CheckException("未找到此登记表下的子表");
  55. }
  56. bisInspStstnTmpr.setId(tmpr.getId());
  57. bisInspStstnTmpr.setUptm(new Date());
  58. bisInspStstnTmprDao.update(bisInspStstnTmpr);
  59. BisInspStstnTmpr tmpr1 = get(bisInspStstnTmpr.getRgstrId());
  60. tmpr1.setState(bisInspStstnTmpr.getState());
  61. total(tmpr1);
  62. addScore(tmpr1);
  63. int ret = bisInspStstnTmprDao.update(tmpr1);
  64. updateRgstrState(tmpr1);
  65. return ret;
  66. }
  67. @Override
  68. public int delete(String id) {
  69. return this.bisInspStstnTmprDao.delete(id);
  70. }
  71. private void updateRgstrState(BisInspStstnTmpr bisInspStstnTmpr) {
  72. Map<String, Object> map = new HashMap<>(5);
  73. map.put("rgstrId", bisInspStstnTmpr.getRgstrId());
  74. map.put("param", "tmpr");
  75. map.put("state", bisInspStstnTmpr.getState());
  76. map.put("caseScore", bisInspStstnTmpr.getActualScore());
  77. map.put("total", bisInspStstnTmpr.getTotal());
  78. bisInspStstnService.updateState(map);
  79. }
  80. private double judge(Double value) {
  81. if (value == null) {
  82. return 0;
  83. }
  84. return value;
  85. }
  86. private void addScore(BisInspStstnTmpr bisInspStstnTmpr) {
  87. double actualScore = 0;
  88. actualScore = judge(bisInspStstnTmpr.getIibDistNum()) +
  89. judge(bisInspStstnTmpr.getIibNroomNum()) +
  90. judge(bisInspStstnTmpr.getIibKillNum()) +
  91. judge(bisInspStstnTmpr.getIibPrctNum()) +
  92. judge(bisInspStstnTmpr.getAkDistNum()) +
  93. judge(bisInspStstnTmpr.getCablePrctNum()) +
  94. judge(bisInspStstnTmpr.getFixLineNum()) +
  95. judge(bisInspStstnTmpr.getFixSameFix()) +
  96. judge(bisInspStstnTmpr.getPowerSameNum()) +
  97. judge(bisInspStstnTmpr.getLedRghtNum()) +
  98. judge(bisInspStstnTmpr.getSiteSysNum()) +
  99. judge(bisInspStstnTmpr.getFrpGapNum()) +
  100. judge(bisInspStstnTmpr.getFrpRqrNum()) +
  101. judge(bisInspStstnTmpr.getFrpCnfrNum()) +
  102. judge(bisInspStstnTmpr.getBttmGapNum()) +
  103. judge(bisInspStstnTmpr.getTopGapNum()) +
  104. judge(bisInspStstnTmpr.getLngtGapNum()) +
  105. judge(bisInspStstnTmpr.getNaerRqrNum()) +
  106. judge(bisInspStstnTmpr.getSplcRqrNum()) +
  107. judge(bisInspStstnTmpr.getFrpFixNum()) +
  108. judge(bisInspStstnTmpr.getTfrpFixNum()) +
  109. judge(bisInspStstnTmpr.getTfrpBuldNum()) +
  110. judge(bisInspStstnTmpr.getFloorRqrNum()) +
  111. judge(bisInspStstnTmpr.getLfrpFixNum()) +
  112. judge(bisInspStstnTmpr.getFrpChnnNum()) +
  113. judge(bisInspStstnTmpr.getFrpPassNum()) +
  114. judge(bisInspStstnTmpr.getSiteC30Num()) +
  115. judge(bisInspStstnTmpr.getSiteLocNum()) +
  116. judge(bisInspStstnTmpr.getSiteLmtNum()) +
  117. judge(bisInspStstnTmpr.getSiteRqrNum()) +
  118. judge(bisInspStstnTmpr.getRiskPubNum());
  119. bisInspStstnTmpr.setActualScore(actualScore);
  120. }
  121. private void total(BisInspStstnTmpr bisInspStstnTmpr) {
  122. double total = 27.0;
  123. if (check(bisInspStstnTmpr.getIsLineFix())) {
  124. total += 2;
  125. } else {
  126. bisInspStstnTmpr.setFixLineNum(0.0);
  127. }
  128. if (check(bisInspStstnTmpr.getIsFixSame())) {
  129. total += 2;
  130. } else {
  131. bisInspStstnTmpr.setFixSameFix(0.0);
  132. }
  133. if (check(bisInspStstnTmpr.getIsPowerSame())) {
  134. total += 1;
  135. } else {
  136. bisInspStstnTmpr.setPowerSameNum(0.0);
  137. }
  138. if (check(bisInspStstnTmpr.getIsFrpCnfr())) {
  139. total += 3;
  140. } else {
  141. bisInspStstnTmpr.setFrpCnfrNum(0.0);
  142. }
  143. if (check(bisInspStstnTmpr.getIsFrpRqr())) {
  144. total += 4;
  145. } else {
  146. bisInspStstnTmpr.setFrpRqrNum(0.0);
  147. }
  148. if (check(bisInspStstnTmpr.getIsFrpGap())) {
  149. total += 3;
  150. } else {
  151. bisInspStstnTmpr.setFrpGapNum(0.0);
  152. }
  153. if (check(bisInspStstnTmpr.getIsBttmGap())) {
  154. total += 3;
  155. } else {
  156. bisInspStstnTmpr.setBttmGapNum(0.0);
  157. }
  158. if (check(bisInspStstnTmpr.getIsTopGap())) {
  159. total += 1;
  160. } else {
  161. bisInspStstnTmpr.setTopGapNum(0.0);
  162. }
  163. if (check(bisInspStstnTmpr.getIsLngtGap())) {
  164. total += 1;
  165. } else {
  166. bisInspStstnTmpr.setLngtGapNum(0.0);
  167. }
  168. if (check(bisInspStstnTmpr.getIsNaerRqr())) {
  169. total += 2;
  170. } else {
  171. bisInspStstnTmpr.setNaerRqrNum(0.0);
  172. }
  173. if (check(bisInspStstnTmpr.getIsSplcRqr())) {
  174. total += 1;
  175. } else {
  176. bisInspStstnTmpr.setSplcRqrNum(0.0);
  177. }
  178. if (check(bisInspStstnTmpr.getIsFrpFix())) {
  179. total += 2;
  180. } else {
  181. bisInspStstnTmpr.setFrpFixNum(0.0);
  182. }
  183. if (check(bisInspStstnTmpr.getIsTfrpFix())) {
  184. total += 2;
  185. } else {
  186. bisInspStstnTmpr.setTfrpFixNum(0.0);
  187. }
  188. if (check(bisInspStstnTmpr.getIsTfrpBuld())) {
  189. total += 2;
  190. } else {
  191. bisInspStstnTmpr.setTfrpBuldNum(0.0);
  192. }
  193. if (check(bisInspStstnTmpr.getIsFloorRqr())) {
  194. total += 2;
  195. } else {
  196. bisInspStstnTmpr.setFloorRqrNum(0.0);
  197. }
  198. if (check(bisInspStstnTmpr.getIsLfrpFix())) {
  199. total += 2;
  200. } else {
  201. bisInspStstnTmpr.setLfrpFixNum(0.0);
  202. }
  203. if (check(bisInspStstnTmpr.getIsFrpChnn())) {
  204. total += 2;
  205. } else {
  206. bisInspStstnTmpr.setFrpChnnNum(0.0);
  207. }
  208. if (check(bisInspStstnTmpr.getIsSiteLoc())) {
  209. total += 2;
  210. } else {
  211. bisInspStstnTmpr.setSiteLocNum(0.0);
  212. }
  213. if (check(bisInspStstnTmpr.getIsFrpPass())) {
  214. total += 2;
  215. } else {
  216. bisInspStstnTmpr.setFrpPassNum(0.0);
  217. }
  218. if (check(bisInspStstnTmpr.getIsSiteLmt())) {
  219. total += 2;
  220. } else {
  221. bisInspStstnTmpr.setSiteLmtNum(0.0);
  222. }
  223. if (check(bisInspStstnTmpr.getIsRiskPub())) {
  224. total += 2;
  225. } else {
  226. bisInspStstnTmpr.setRiskPubNum(0.0);
  227. }
  228. if (check(bisInspStstnTmpr.getIsSiteRqr())) {
  229. total += 3;
  230. } else {
  231. bisInspStstnTmpr.setSiteRqrNum(0.0);
  232. }
  233. bisInspStstnTmpr.setTotal(total);
  234. }
  235. private Boolean check(String i) {
  236. return "1".equals(i);
  237. }
  238. }