b3c8e0f3454b989ea16b81309465e54193c869f0.svn-base 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. package cn.com.goldenwater.dcproj.service.impl.fjsdu;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.constants.FjConstants;
  4. import cn.com.goldenwater.dcproj.dao.BisInspFjsduDao;
  5. import cn.com.goldenwater.dcproj.dao.BisInspFjsduSafdlDao;
  6. import cn.com.goldenwater.dcproj.model.BisInspFjsdu;
  7. import cn.com.goldenwater.dcproj.model.BisInspFjsduSafdl;
  8. import cn.com.goldenwater.dcproj.param.BisInspFjsduSafdlParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspFjsduSafdlService;
  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年12月18日
  20. */
  21. @Service
  22. @Transactional
  23. public class BisInspFjsduSafdlServiceImpl extends AbstractCrudService<BisInspFjsduSafdl, BisInspFjsduSafdlParam> implements BisInspFjsduSafdlService {
  24. @Autowired
  25. private BisInspFjsduSafdlDao bisInspFjsduSafdlDao;
  26. @Autowired
  27. private BisInspFjsduDao bisInspFjsduDao;
  28. public BisInspFjsduSafdlServiceImpl(BisInspFjsduSafdlDao bisInspFjsduSafdlDao) {
  29. super(bisInspFjsduSafdlDao);
  30. this.bisInspFjsduSafdlDao = bisInspFjsduSafdlDao;
  31. }
  32. @Override
  33. public int insert(BisInspFjsduSafdl bisInspFjsduSafdl) {
  34. String uuid = UuidUtil.uuid(); // 生成uuid
  35. bisInspFjsduSafdl.setId(uuid);
  36. bisInspFjsduSafdl.setIntm(new Date());
  37. bisInspFjsduSafdl.setUptm(new Date());
  38. bisInspFjsduSafdl.setDataStat("0");
  39. int rows = this.bisInspFjsduSafdlDao.insert(bisInspFjsduSafdl);
  40. scoreProcessing(bisInspFjsduSafdl);
  41. return rows ;
  42. }
  43. @Override
  44. public int update(BisInspFjsduSafdl bisInspFjsduSafdl) {
  45. bisInspFjsduSafdl.setUptm(new Date());
  46. scoreProcessing(bisInspFjsduSafdl);
  47. return this.bisInspFjsduSafdlDao.update(bisInspFjsduSafdl);
  48. }
  49. @Override
  50. public int delete(String id) {
  51. return this.bisInspFjsduSafdlDao.delete(id);
  52. }
  53. /**
  54. * 标准分值 170
  55. * 分数处理
  56. *
  57. * @param obj 对象
  58. */
  59. private void scoreProcessing(BisInspFjsduSafdl obj) {
  60. Double total1 = 0.0;//合计
  61. Double lac1 = 0.0;//缺项合计
  62. if(obj.getF511()==null){
  63. lac1 = lac1 + 3.0;
  64. }else{
  65. total1= total1+obj.getF511();
  66. }
  67. if(obj.getF512()==null){
  68. lac1 = lac1 + 25.0;
  69. }else{
  70. total1= total1+obj.getF512();
  71. }
  72. if(obj.getF513()==null){
  73. lac1 = lac1 + 17.0;
  74. }else{
  75. total1= total1+obj.getF513();
  76. }
  77. if(obj.getF514()==null){
  78. lac1 = lac1 + 25.0;
  79. }else{
  80. total1= total1+obj.getF514();
  81. }
  82. if(obj.getF515()==null){
  83. lac1 = lac1 + 7.0;
  84. }else{
  85. total1= total1+obj.getF515();
  86. }
  87. if(obj.getF516()==null){
  88. lac1 = lac1 + 3.0;
  89. }else{
  90. total1= total1+obj.getF516();
  91. }
  92. if(obj.getF517()==null){
  93. lac1 = lac1 + 15.0;
  94. }else{
  95. total1= total1+obj.getF517();
  96. }
  97. if(obj.getF521()==null){
  98. lac1 = lac1 + 3.0;
  99. }else{
  100. total1= total1+obj.getF521();
  101. }
  102. if(obj.getF522()==null){
  103. lac1 = lac1 + 10.0;
  104. }else{
  105. total1= total1+obj.getF522();
  106. }
  107. if(obj.getF523()==null){
  108. lac1 = lac1 + 5.0;
  109. }else{
  110. total1= total1+obj.getF523();
  111. }
  112. if(obj.getF524()==null){
  113. lac1 = lac1 + 5.0;
  114. }else{
  115. total1= total1+obj.getF524();
  116. }
  117. if(obj.getF525()==null){
  118. lac1 = lac1 + 7.0;
  119. }else{
  120. total1= total1+obj.getF525();
  121. }
  122. if(obj.getF526()==null){
  123. lac1 = lac1 + 5.0;
  124. }else{
  125. total1= total1+obj.getF526();
  126. }
  127. if(obj.getF527()==null){
  128. lac1 = lac1 + 10.0;
  129. }else{
  130. total1= total1+obj.getF527();
  131. }
  132. if(obj.getF528()==null){
  133. lac1 = lac1 + 5.0;
  134. }else{
  135. total1= total1+obj.getF528();
  136. }
  137. if(obj.getF529()==null){
  138. lac1 = lac1 + 5.0;
  139. }else{
  140. total1= total1+obj.getF529();
  141. }
  142. if(obj.getF5210()==null){
  143. lac1 = lac1 + 5.0;
  144. }else{
  145. total1= total1+obj.getF5210();
  146. }
  147. if(obj.getF531()==null){
  148. lac1 = lac1 + 5.0;
  149. }else{
  150. total1= total1+obj.getF531();
  151. }
  152. if(obj.getF532()==null){
  153. lac1 = lac1 + 5.0;
  154. }else{
  155. total1= total1+obj.getF532();
  156. }
  157. if(obj.getF533()==null){
  158. lac1 = lac1 + 5.0;
  159. }else{
  160. total1= total1+obj.getF533();
  161. }
  162. BisInspFjsdu rgstr = bisInspFjsduDao.get(obj.getRgstrId());
  163. if (rgstr == null) {
  164. throw new CheckException("未找到此登记表");
  165. }
  166. //算总分和缺项、评分率
  167. Double tatl = judge(total1)+
  168. judge(rgstr.getSystemTatl())+judge(rgstr.getTrgtTatl())+judge(rgstr.getTvetTatl())
  169. + judge(rgstr.getImgrTatl())+judge(rgstr.getEmTatl())+judge(rgstr.getAmTatl())+judge(rgstr.getCimtTatl());
  170. Double lacSoc = judge(lac1)+
  171. judge(rgstr.getSystemLac())+judge(rgstr.getTrgtLac())+judge(rgstr.getTvetLac())
  172. + judge(rgstr.getImgrLac())+judge(rgstr.getEmLac())+judge(rgstr.getAmLac())+judge(rgstr.getCimtLac());
  173. BisInspFjsdu bisInspFjpjlgl = new BisInspFjsdu();
  174. bisInspFjpjlgl.setId(rgstr.getId());
  175. bisInspFjpjlgl.setSafdlTatl(total1);
  176. bisInspFjpjlgl.setSafdlLac(lac1);
  177. bisInspFjpjlgl.setSafdlStat(obj.getState());
  178. //设置总分和评定得分
  179. if(tatl!=null || tatl != 0){
  180. bisInspFjpjlgl.setTatl(Math.round(tatl*10.0)/10.0);
  181. Double soc = FjConstants.FJSDU_STANDARD_TOTAL_SCORE-lacSoc;
  182. if(soc!=null && soc != 0){
  183. Double ratSoc = tatl/(FjConstants.FJSDU_STANDARD_TOTAL_SCORE-lacSoc)*100;
  184. bisInspFjpjlgl.setRatSoc(Math.round(ratSoc*10.0)/10.0);
  185. }
  186. }
  187. bisInspFjpjlgl.setState("1");
  188. bisInspFjpjlgl.setUptm(new Date());
  189. bisInspFjsduDao.update(bisInspFjpjlgl);
  190. }
  191. private Double judge(Double value) {
  192. if (Objects.isNull(value)) {
  193. return 0.0;
  194. }
  195. return value;
  196. }
  197. }