63e3aa859f3693c62312a2a91c103d21cdd5068c.svn-base 9.4 KB

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