637a516ff6bcd5f6d3982aedfe4c86d578267543.svn-base 6.8 KB

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