3ba75ee7c209b6a755fcba1cf0ed39d0c56e2100.svn-base 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  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.BisInspFjpjcsuSafdlDao;
  6. import cn.com.goldenwater.dcproj.model.BisInspFjpjcsu;
  7. import cn.com.goldenwater.dcproj.model.BisInspFjpjcsuSafdl;
  8. import cn.com.goldenwater.dcproj.param.BisInspFjpjcsuSafdlParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspFjpjcsuSafdlService;
  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 BisInspFjpjcsuSafdlServiceImpl extends AbstractCrudService<BisInspFjpjcsuSafdl, BisInspFjpjcsuSafdlParam> implements BisInspFjpjcsuSafdlService {
  24. @Autowired
  25. private BisInspFjpjcsuSafdlDao bisInspFjpjcsuSafdlDao;
  26. @Autowired
  27. private BisInspFjpjcsuDao bisInspFjpjcsuDao;
  28. public BisInspFjpjcsuSafdlServiceImpl(BisInspFjpjcsuSafdlDao bisInspFjpjcsuSafdlDao) {
  29. super(bisInspFjpjcsuSafdlDao);
  30. this.bisInspFjpjcsuSafdlDao = bisInspFjpjcsuSafdlDao;
  31. }
  32. @Override
  33. public int insert(BisInspFjpjcsuSafdl bisInspFjpjcsuSafdl) {
  34. String uuid = UuidUtil.uuid(); // 生成uuid
  35. bisInspFjpjcsuSafdl.setId(uuid);
  36. bisInspFjpjcsuSafdl.setIntm(new Date());
  37. bisInspFjpjcsuSafdl.setUptm(new Date());
  38. bisInspFjpjcsuSafdl.setDataStat("0");
  39. int insert = bisInspFjpjcsuSafdlDao.insert(bisInspFjpjcsuSafdl);
  40. scoreProcessing(bisInspFjpjcsuSafdl);
  41. return insert;
  42. }
  43. @Override
  44. public int update(BisInspFjpjcsuSafdl bisInspFjpjcsuSafdl) {
  45. bisInspFjpjcsuSafdl.setUptm(new Date());
  46. scoreProcessing(bisInspFjpjcsuSafdl);
  47. return this.bisInspFjpjcsuSafdlDao.update(bisInspFjpjcsuSafdl);
  48. }
  49. @Override
  50. public int delete(String id) {
  51. return this.bisInspFjpjcsuSafdlDao.delete(id);
  52. }
  53. /**
  54. * 分数处理
  55. *
  56. * @param obj 对象
  57. */
  58. private void scoreProcessing(BisInspFjpjcsuSafdl obj) {
  59. //合计
  60. Double total1 = 0.0;
  61. //缺项合计
  62. Double lac1 = 0.0;
  63. // 5.1 65
  64. if(obj.getF511()==null){
  65. lac1 = lac1 + 3.0;
  66. }else{
  67. total1= total1+obj.getF511();
  68. }
  69. if(obj.getF512()==null){
  70. lac1 = lac1 + 12.0;
  71. }else{
  72. total1= total1+obj.getF512();
  73. }
  74. if(obj.getF513()==null){
  75. lac1 = lac1 + 10.0;
  76. }else{
  77. total1= total1+obj.getF513();
  78. }
  79. if(obj.getF514()==null){
  80. lac1 = lac1 + 12.0;
  81. }else{
  82. total1= total1+obj.getF514();
  83. }
  84. if(obj.getF515()==null){
  85. lac1 = lac1 + 10.0;
  86. }else{
  87. total1= total1+obj.getF515();
  88. }
  89. if(obj.getF516()==null){
  90. lac1 = lac1 + 10.0;
  91. }else{
  92. total1= total1+obj.getF516();
  93. }
  94. if(obj.getF517()==null){
  95. lac1 = lac1 + 3.0;
  96. }else{
  97. total1= total1+obj.getF517();
  98. }
  99. if(obj.getF518()==null){
  100. lac1 = lac1 + 5.0;
  101. }else{
  102. total1= total1+obj.getF518();
  103. }
  104. // 5.2 90
  105. if(obj.getF521()==null){
  106. lac1 = lac1 + 3.0;
  107. }else{
  108. total1= total1+obj.getF521();
  109. }
  110. if(obj.getF522()==null){
  111. lac1 = lac1 + 17.0;
  112. }else{
  113. total1= total1+obj.getF522();
  114. }
  115. if(obj.getF523()==null){
  116. lac1 = lac1 + 15.0;
  117. }else{
  118. total1= total1+obj.getF523();
  119. }
  120. if(obj.getF524()==null){
  121. lac1 = lac1 + 15.0;
  122. }else{
  123. total1= total1+obj.getF524();
  124. }
  125. if(obj.getF525()==null){
  126. lac1 = lac1 + 15.0;
  127. }else{
  128. total1= total1+obj.getF525();
  129. }
  130. if(obj.getF526()==null){
  131. lac1 = lac1 + 15.0;
  132. }else{
  133. total1= total1+obj.getF526();
  134. }
  135. if(obj.getF527()==null){
  136. lac1 = lac1 + 10.0;
  137. }else{
  138. total1= total1+obj.getF527();
  139. }
  140. // 5.3 25
  141. if(obj.getF531()==null){
  142. lac1 = lac1 + 10.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. BisInspFjpjcsu rgstr = bisInspFjpjcsuDao.get(obj.getRgstrId());
  157. if (rgstr == null) {
  158. throw new CheckException("未找到此登记表");
  159. }
  160. //算总分和缺项、评分率
  161. Double tatl = judge(total1)+
  162. judge(rgstr.getSystemTatl())+judge(rgstr.getTrgtTatl())+judge(rgstr.getTvetTatl())
  163. + judge(rgstr.getImgrTatl())+judge(rgstr.getEmTatl())+judge(rgstr.getAmTatl())+judge(rgstr.getCimtTatl());
  164. Double lacSoc = judge(lac1)+
  165. judge(rgstr.getSystemLac())+judge(rgstr.getTrgtLac())+judge(rgstr.getTvetLac())
  166. + judge(rgstr.getImgrLac())+judge(rgstr.getEmLac())+judge(rgstr.getAmLac())+judge(rgstr.getCimtLac());
  167. BisInspFjpjcsu bisInspFjpjcsu = new BisInspFjpjcsu();
  168. bisInspFjpjcsu.setId(rgstr.getId());
  169. bisInspFjpjcsu.setSafdlTatl(total1);
  170. bisInspFjpjcsu.setSafdlLac(lac1);
  171. bisInspFjpjcsu.setSafdlStat(obj.getState());
  172. //设置总分和评定得分
  173. if(tatl!=null || tatl != 0){
  174. bisInspFjpjcsu.setTatl(Math.round(tatl*10.0)/10.0);
  175. Double soc = FjConstants.FJPJCSU_STANDARD_TOTAL_SCORE-lacSoc;
  176. if(soc!=null && soc != 0){
  177. Double ratSoc = tatl/(FjConstants.FJPJCSU_STANDARD_TOTAL_SCORE-lacSoc)*100;
  178. bisInspFjpjcsu.setRatSoc(Math.round(ratSoc*10.0)/10.0);
  179. }
  180. }
  181. bisInspFjpjcsu.setState("1");
  182. bisInspFjpjcsu.setUptm(new Date());
  183. bisInspFjpjcsuDao.update(bisInspFjpjcsu);
  184. }
  185. private Double judge(Double value) {
  186. if (Objects.isNull(value)) {
  187. return 0.0;
  188. }
  189. return value;
  190. }
  191. }