88e1861a0f6b436432be860b99df82872ec6879d.svn-base 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. package cn.com.goldenwater.dcproj.service.impl.fjpjcsu;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constants.FjConstants;
  4. import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuDao;
  5. import cn.com.goldenwater.dcproj.dao.BisInspFjpjcsuImgrDao;
  6. import cn.com.goldenwater.dcproj.model.BisInspFjpjcsu;
  7. import cn.com.goldenwater.dcproj.model.BisInspFjpjcsuImgr;
  8. import cn.com.goldenwater.dcproj.param.BisInspFjpjcsuImgrParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspFjpjcsuImgrService;
  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 lxf
  19. * @date 2023年12月19日
  20. */
  21. @Service
  22. @Transactional
  23. public class BisInspFjpjcsuImgrServiceImpl extends AbstractCrudService<BisInspFjpjcsuImgr, BisInspFjpjcsuImgrParam> implements BisInspFjpjcsuImgrService {
  24. @Autowired
  25. private BisInspFjpjcsuImgrDao bisInspFjpjcsuImgrDao;
  26. @Autowired
  27. private BisInspFjpjcsuDao bisInspFjpjcsuDao;
  28. public BisInspFjpjcsuImgrServiceImpl(BisInspFjpjcsuImgrDao bisInspFjpjcsuImgrDao) {
  29. super(bisInspFjpjcsuImgrDao);
  30. this.bisInspFjpjcsuImgrDao = bisInspFjpjcsuImgrDao;
  31. }
  32. @Override
  33. public int insert(BisInspFjpjcsuImgr bisInspFjpjcsuImgr) {
  34. String uuid = UuidUtil.uuid(); // 生成uuid
  35. bisInspFjpjcsuImgr.setId(uuid);
  36. bisInspFjpjcsuImgr.setIntm(new Date());
  37. bisInspFjpjcsuImgr.setUptm(new Date());
  38. bisInspFjpjcsuImgr.setDataStat("0");
  39. int insert = bisInspFjpjcsuImgrDao.insert(bisInspFjpjcsuImgr);
  40. scoreProcessing(bisInspFjpjcsuImgr);
  41. return insert;
  42. }
  43. @Override
  44. public int update(BisInspFjpjcsuImgr bisInspFjpjcsuImgr) {
  45. bisInspFjpjcsuImgr.setUptm(new Date());
  46. scoreProcessing(bisInspFjpjcsuImgr);
  47. return this.bisInspFjpjcsuImgrDao.update(bisInspFjpjcsuImgr);
  48. }
  49. @Override
  50. public int delete(String id) {
  51. return this.bisInspFjpjcsuImgrDao.delete(id);
  52. }
  53. /**
  54. * 分数处理
  55. *
  56. * @param obj 对象
  57. */
  58. private void scoreProcessing(BisInspFjpjcsuImgr obj) {
  59. Double total1 = 0.0;//合计
  60. Double lac1 = 0.0;//缺项合计
  61. if(obj.getF411()==null){
  62. lac1 = lac1 + 5.0;
  63. }else{
  64. total1= total1+obj.getF411();
  65. }
  66. if(obj.getF412()==null){
  67. lac1 = lac1 + 3.0;
  68. }else{
  69. total1= total1+obj.getF412();
  70. }
  71. if(obj.getF413()==null){
  72. lac1 = lac1 + 12.0;
  73. }else{
  74. total1= total1+obj.getF413();
  75. }
  76. if(obj.getF414()==null){
  77. lac1 = lac1 + 10.0;
  78. }else{
  79. total1= total1+obj.getF414();
  80. }
  81. if(obj.getF415()==null){
  82. lac1 = lac1 + 10.0;
  83. }else{
  84. total1= total1+obj.getF415();
  85. }
  86. if(obj.getF416()==null){
  87. lac1 = lac1 + 10.0;
  88. }else{
  89. total1= total1+obj.getF416();
  90. }
  91. if(obj.getF417()==null){
  92. lac1 = lac1 + 20.0;
  93. }else{
  94. total1= total1+obj.getF417();
  95. }
  96. if(obj.getF418()==null){
  97. lac1 = lac1 + 10.0;
  98. }else{
  99. total1= total1+obj.getF418();
  100. }
  101. if(obj.getF419()==null){
  102. lac1 = lac1 + 15.0;
  103. }else{
  104. total1= total1+obj.getF419();
  105. }
  106. if(obj.getF421()==null){
  107. lac1 = lac1 + 10.0;
  108. }else{
  109. total1= total1+obj.getF421();
  110. }
  111. if(obj.getF422()==null){
  112. lac1 = lac1 + 30.0;
  113. }else{
  114. total1= total1+obj.getF422();
  115. }
  116. if(obj.getF423()==null){
  117. lac1 = lac1 + 10.0;
  118. }else{
  119. total1= total1+obj.getF423();
  120. }
  121. if(obj.getF424()==null){
  122. lac1 = lac1 + 10.0;
  123. }else{
  124. total1= total1+obj.getF424();
  125. }
  126. if(obj.getF425()==null){
  127. lac1 = lac1 + 10.0;
  128. }else{
  129. total1= total1+obj.getF425();
  130. }
  131. if(obj.getF426()==null){
  132. lac1 = lac1 + 10.0;
  133. }else{
  134. total1= total1+obj.getF426();
  135. }
  136. if(obj.getF427()==null){
  137. lac1 = lac1 + 10.0;
  138. }else{
  139. total1= total1+obj.getF427();
  140. }
  141. if(obj.getF428()==null){
  142. lac1 = lac1 + 10.0;
  143. }else{
  144. total1= total1+obj.getF428();
  145. }
  146. if(obj.getF429()==null){
  147. lac1 = lac1 + 30.0;
  148. }else{
  149. total1= total1+obj.getF429();
  150. }
  151. if(obj.getF4210()==null){
  152. lac1 = lac1 + 60.0;
  153. }else{
  154. total1= total1+obj.getF4210();
  155. }
  156. if(obj.getF4211()==null){
  157. lac1 = lac1 + 5.0;
  158. }else{
  159. total1= total1+obj.getF4211();
  160. }
  161. if(obj.getF4212()==null){
  162. lac1 = lac1 + 10.0;
  163. }else{
  164. total1= total1+obj.getF4212();
  165. }
  166. if(obj.getF4213()==null){
  167. lac1 = lac1 + 20.0;
  168. }else{
  169. total1= total1+obj.getF4213();
  170. }
  171. if(obj.getF4214()==null){
  172. lac1 = lac1 + 10.0;
  173. }else{
  174. total1= total1+obj.getF4214();
  175. }
  176. if(obj.getF4215()==null){
  177. lac1 = lac1 + 10.0;
  178. }else{
  179. total1= total1+obj.getF4215();
  180. }
  181. if(obj.getF4216()==null){
  182. lac1 = lac1 + 5.0;
  183. }else{
  184. total1= total1+obj.getF4216();
  185. }
  186. if(obj.getF4217()==null){
  187. lac1 = lac1 + 5.0;
  188. }else{
  189. total1= total1+obj.getF4217();
  190. }
  191. if(obj.getF431()==null){
  192. lac1 = lac1 + 3.0;
  193. }else{
  194. total1= total1+obj.getF431();
  195. }
  196. if(obj.getF432()==null){
  197. lac1 = lac1 + 7.0;
  198. }else{
  199. total1= total1+obj.getF432();
  200. }
  201. if(obj.getF433()==null){
  202. lac1 = lac1 + 10.0;
  203. }else{
  204. total1= total1+obj.getF433();
  205. }
  206. if(obj.getF434()==null){
  207. lac1 = lac1 + 5.0;
  208. }else{
  209. total1= total1+obj.getF434();
  210. }
  211. if(obj.getF435()==null){
  212. lac1 = lac1 + 5.0;
  213. }else{
  214. total1= total1+obj.getF435();
  215. }
  216. if(obj.getF436()==null){
  217. lac1 = lac1 + 6.0;
  218. }else{
  219. total1= total1+obj.getF436();
  220. }
  221. if(obj.getF437()==null){
  222. lac1 = lac1 + 6.0;
  223. }else{
  224. total1= total1+obj.getF437();
  225. }
  226. if(obj.getF438()==null){
  227. lac1 = lac1 + 3.0;
  228. }else{
  229. total1= total1+obj.getF438();
  230. }
  231. if(obj.getF441()==null){
  232. lac1 = lac1 + 15.0;
  233. }else{
  234. total1= total1+obj.getF441();
  235. }
  236. BisInspFjpjcsu rgstr = bisInspFjpjcsuDao.get(obj.getRgstrId());
  237. if (rgstr == null) {
  238. throw new CheckException("未找到此登记表");
  239. }
  240. //算总分和缺项、评分率
  241. Double tatl = judge(total1)+
  242. judge(rgstr.getSystemTatl())+judge(rgstr.getTrgtTatl())+judge(rgstr.getTvetTatl())
  243. + judge(rgstr.getSafdlTatl())+judge(rgstr.getEmTatl())+judge(rgstr.getAmTatl())+judge(rgstr.getCimtTatl());
  244. Double lacSoc = judge(lac1)+
  245. judge(rgstr.getSystemLac())+judge(rgstr.getTrgtLac())+judge(rgstr.getTvetLac())
  246. + judge(rgstr.getSafdlLac())+judge(rgstr.getEmLac())+judge(rgstr.getAmLac())+judge(rgstr.getCimtLac());
  247. BisInspFjpjcsu bisInspFjpjcsu = new BisInspFjpjcsu();
  248. bisInspFjpjcsu.setId(rgstr.getId());
  249. bisInspFjpjcsu.setImgrTatl(total1);
  250. bisInspFjpjcsu.setImgrLac(lac1);
  251. bisInspFjpjcsu.setImgrStat(obj.getState());
  252. //设置总分和评定得分
  253. if(tatl!=null || tatl != 0){
  254. bisInspFjpjcsu.setTatl(Math.round(tatl*10.0)/10.0);
  255. Double soc = FjConstants.FJPJCSU_STANDARD_TOTAL_SCORE-lacSoc;
  256. if(soc!=null && soc != 0){
  257. Double ratSoc = tatl/(FjConstants.FJPJCSU_STANDARD_TOTAL_SCORE-lacSoc)*100;
  258. bisInspFjpjcsu.setRatSoc(Math.round(ratSoc*10.0)/10.0);
  259. }
  260. }
  261. bisInspFjpjcsu.setState("1");
  262. bisInspFjpjcsu.setUptm(new Date());
  263. bisInspFjpjcsuDao.update(bisInspFjpjcsu);
  264. }
  265. private Double judge(Double value) {
  266. if (Objects.isNull(value)) {
  267. return 0.0;
  268. }
  269. return value;
  270. }
  271. }