1596c12a9d1c4564d8dd94a4bd3b5f46e2fb833a.svn-base 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. package cn.com.goldenwater.dcproj.service.impl.fjaccp;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constants.FjConstants;
  4. import cn.com.goldenwater.dcproj.dao.BisInspFjaccpDao;
  5. import cn.com.goldenwater.dcproj.dao.BisInspFjaccpSafdlDao;
  6. import cn.com.goldenwater.dcproj.model.BisInspFjaccp;
  7. import cn.com.goldenwater.dcproj.model.BisInspFjaccpSafdl;
  8. import cn.com.goldenwater.dcproj.param.BisInspFjaccpSafdlParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspFjaccpSafdlService;
  10. import cn.com.goldenwater.id.util.UuidUtil;
  11. import cn.com.goldenwater.target.CheckException;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Transactional;
  15. import java.util.Date;
  16. import java.util.Objects;
  17. /**
  18. * @author lhc
  19. * @date 2023-11-8
  20. */
  21. @Service
  22. @Transactional
  23. public class BisInspFjaccpSafdlServiceImpl extends AbstractCrudService<BisInspFjaccpSafdl, BisInspFjaccpSafdlParam> implements BisInspFjaccpSafdlService {
  24. @Autowired
  25. private BisInspFjaccpSafdlDao bisInspFjaccpSafdlDao;
  26. @Autowired
  27. private BisInspFjaccpDao bisInspFjaccpDao;
  28. public BisInspFjaccpSafdlServiceImpl(BisInspFjaccpSafdlDao bisInspFjaccpSafdlDao) {
  29. super(bisInspFjaccpSafdlDao);
  30. this.bisInspFjaccpSafdlDao = bisInspFjaccpSafdlDao;
  31. }
  32. @Override
  33. public int insert(BisInspFjaccpSafdl bisInspFjaccpSafdl) {
  34. String uuid = UuidUtil.uuid(); // 生成uuid
  35. bisInspFjaccpSafdl.setId(uuid);
  36. bisInspFjaccpSafdl.setIntm(new Date());
  37. bisInspFjaccpSafdl.setUptm(new Date());
  38. bisInspFjaccpSafdl.setDataStat("0");
  39. int insert = this.bisInspFjaccpSafdlDao.insert(bisInspFjaccpSafdl);
  40. scoreProcessing(bisInspFjaccpSafdl);
  41. return insert;
  42. }
  43. @Override
  44. public int update(BisInspFjaccpSafdl bisInspFjaccpSafdl) {
  45. bisInspFjaccpSafdl.setUptm(new Date());
  46. scoreProcessing(bisInspFjaccpSafdl);
  47. return this.bisInspFjaccpSafdlDao.update(bisInspFjaccpSafdl);
  48. }
  49. @Override
  50. public int delete(String id) {
  51. return this.bisInspFjaccpSafdlDao.delete(id);
  52. }
  53. /**
  54. * 分数处理
  55. *
  56. * @param obj 对象
  57. */
  58. private void scoreProcessing(BisInspFjaccpSafdl obj) {
  59. Double total1 = 0.0;//合计
  60. Double lac1 = 0.0;//缺项合计
  61. if(obj.getF511()==null){
  62. lac1 = lac1 + 2.0;
  63. }else{
  64. total1= total1+obj.getF511();
  65. }
  66. if(obj.getF512()==null){
  67. lac1 = lac1 + 10.0;
  68. }else{
  69. total1= total1+obj.getF512();
  70. }
  71. if(obj.getF513()==null){
  72. lac1 = lac1 + 7.0;
  73. }else{
  74. total1= total1+obj.getF513();
  75. }
  76. if(obj.getF514()==null){
  77. lac1 = lac1 + 8.0;
  78. }else{
  79. total1= total1+obj.getF514();
  80. }
  81. if(obj.getF515()==null){
  82. lac1 = lac1 + 3.0;
  83. }else{
  84. total1= total1+obj.getF515();
  85. }
  86. if(obj.getF516()==null){
  87. lac1 = lac1 + 2.0;
  88. }else{
  89. total1= total1+obj.getF516();
  90. }
  91. if(obj.getF517()==null){
  92. lac1 = lac1 + 8.0;
  93. }else{
  94. total1= total1+obj.getF517();
  95. }
  96. if(obj.getF521()==null){
  97. lac1 = lac1 + 2.0;
  98. }else{
  99. total1= total1+obj.getF521();
  100. }
  101. if(obj.getF522()==null){
  102. lac1 = lac1 + 10.0;
  103. }else{
  104. total1= total1+obj.getF522();
  105. }
  106. if(obj.getF523()==null){
  107. lac1 = lac1 + 6.0;
  108. }else{
  109. total1= total1+obj.getF523();
  110. }
  111. if(obj.getF524()==null){
  112. lac1 = lac1 + 15.0;
  113. }else{
  114. total1= total1+obj.getF524();
  115. }
  116. if(obj.getF525()==null){
  117. lac1 = lac1 + 5.0;
  118. }else{
  119. total1= total1+obj.getF525();
  120. }
  121. if(obj.getF526()==null){
  122. lac1 = lac1 + 5.0;
  123. }else{
  124. total1= total1+obj.getF526();
  125. }
  126. if(obj.getF527()==null){
  127. lac1 = lac1 + 6.0;
  128. }else{
  129. total1= total1+obj.getF527();
  130. }
  131. if(obj.getF528()==null){
  132. lac1 = lac1 + 3.0;
  133. }else{
  134. total1= total1+obj.getF528();
  135. }
  136. if(obj.getF529()==null){
  137. lac1 = lac1 + 3.0;
  138. }else{
  139. total1= total1+obj.getF529();
  140. }
  141. if(obj.getF531()==null){
  142. lac1 = lac1 + 2.0;
  143. }else{
  144. total1= total1+obj.getF531();
  145. }
  146. if(obj.getF532()==null){
  147. lac1 = lac1 + 10.0;
  148. }else{
  149. total1= total1+obj.getF532();
  150. }
  151. if(obj.getF533()==null){
  152. lac1 = lac1 + 5.0;
  153. }else{
  154. total1= total1+obj.getF533();
  155. }
  156. if(obj.getF534()==null){
  157. lac1 = lac1 + 5.0;
  158. }else{
  159. total1= total1+obj.getF534();
  160. }
  161. if(obj.getF535()==null){
  162. lac1 = lac1 + 2.0;
  163. }else{
  164. total1= total1+obj.getF535();
  165. }
  166. if(obj.getF536()==null){
  167. lac1 = lac1 + 6.0;
  168. }else{
  169. total1= total1+obj.getF536();
  170. }
  171. if(obj.getF537()==null){
  172. lac1 = lac1 + 5.0;
  173. }else{
  174. total1= total1+obj.getF537();
  175. }
  176. if(obj.getF538()==null){
  177. lac1 = lac1 + 10.0;
  178. }else{
  179. total1= total1+obj.getF538();
  180. }
  181. if(obj.getF539()==null){
  182. lac1 = lac1 + 5.0;
  183. }else{
  184. total1= total1+obj.getF539();
  185. }
  186. if(obj.getF5310()==null){
  187. lac1 = lac1 + 5.0;
  188. }else{
  189. total1= total1+obj.getF5310();
  190. }
  191. if(obj.getF5311()==null){
  192. lac1 = lac1 + 5.0;
  193. }else{
  194. total1= total1+obj.getF5311();
  195. }
  196. if(obj.getF541()==null){
  197. lac1 = lac1 + 5.0;
  198. }else{
  199. total1= total1+obj.getF541();
  200. }
  201. if(obj.getF542()==null){
  202. lac1 = lac1 + 5.0;
  203. }else{
  204. total1= total1+obj.getF542();
  205. }
  206. if(obj.getF543()==null){
  207. lac1 = lac1 + 5.0;
  208. }else{
  209. total1= total1+obj.getF543();
  210. }
  211. BisInspFjaccp rgstr = bisInspFjaccpDao.get(obj.getRgstrId());
  212. if (rgstr == null) {
  213. throw new CheckException("未找到此登记表");
  214. }
  215. //算总分和缺项、评分率
  216. Double tatl = judge(total1)+
  217. judge(rgstr.getSystemTatl())+judge(rgstr.getTrgtTatl())+judge(rgstr.getTvetTatl())
  218. + judge(rgstr.getImgrTatl())+judge(rgstr.getEmTatl())+judge(rgstr.getAmTatl())+judge(rgstr.getCimtTatl());
  219. Double lacSoc = judge(lac1)+
  220. judge(rgstr.getSystemLac())+judge(rgstr.getTrgtLac())+judge(rgstr.getTvetLac())
  221. + judge(rgstr.getImgrLac())+judge(rgstr.getEmLac())+judge(rgstr.getAmLac())+judge(rgstr.getCimtLac());
  222. BisInspFjaccp bisInspFjpjlgl = new BisInspFjaccp();
  223. bisInspFjpjlgl.setId(rgstr.getId());
  224. bisInspFjpjlgl.setSafdlTatl(total1);
  225. bisInspFjpjlgl.setSafdlLac(lac1);
  226. bisInspFjpjlgl.setSafdlStat(obj.getState());
  227. //设置总分和评定得分
  228. if(tatl!=null || tatl != 0){
  229. bisInspFjpjlgl.setTatl(Math.round(tatl*10.0)/10.0);
  230. Double soc = FjConstants.FJACCP_STANDARD_TOTAL_SCORE-lacSoc;
  231. if(soc!=null && soc != 0){
  232. Double ratSoc = tatl/(FjConstants.FJACCP_STANDARD_TOTAL_SCORE-lacSoc)*100;
  233. bisInspFjpjlgl.setRatSoc(Math.round(ratSoc*10.0)/10.0);
  234. }
  235. }
  236. bisInspFjpjlgl.setState("1");
  237. bisInspFjpjlgl.setUptm(new Date());
  238. bisInspFjaccpDao.update(bisInspFjpjlgl);
  239. }
  240. private Double judge(Double value) {
  241. if (Objects.isNull(value)) {
  242. return 0.0;
  243. }
  244. return value;
  245. }
  246. }