157aa5875f2a831daf47d6ed2c48f460707459be.svn-base 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package cn.com.goldenwater.dcproj.service.impl;
  2. import cn.com.goldenwater.dcproj.dao.BisInspQaScoreDao;
  3. import cn.com.goldenwater.dcproj.model.BisInspQaScore;
  4. import cn.com.goldenwater.dcproj.model.BisInspQymtenMsr;
  5. import cn.com.goldenwater.dcproj.param.BisInspQaScoreParam;
  6. import cn.com.goldenwater.dcproj.service.BisInspQaScoreService;
  7. import cn.com.goldenwater.core.service.AbstractCrudService;
  8. import cn.com.goldenwater.dcproj.service.BisInspQaService;
  9. import cn.com.goldenwater.target.CheckException;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import cn.com.goldenwater.id.util.UuidUtil;
  14. import java.util.Date;
  15. import java.util.HashMap;
  16. import java.util.Map;
  17. import java.util.Objects;
  18. import java.util.concurrent.atomic.LongAdder;
  19. /**
  20. * @author hjp
  21. * @date 2022-7-28
  22. */
  23. @Service
  24. @Transactional(rollbackFor = Exception.class)
  25. public class BisInspQaScoreServiceImpl extends AbstractCrudService<BisInspQaScore, BisInspQaScoreParam> implements BisInspQaScoreService {
  26. @Autowired
  27. private BisInspQaScoreDao bisInspQaScoreDao;
  28. @Autowired
  29. private BisInspQaService bisInspQaService;
  30. public BisInspQaScoreServiceImpl(BisInspQaScoreDao bisInspQaScoreDao) {
  31. super(bisInspQaScoreDao);
  32. this.bisInspQaScoreDao = bisInspQaScoreDao;
  33. }
  34. @Override
  35. public int insert(BisInspQaScore bisInspQaScore) {
  36. // 生成uuid
  37. String uuid = UuidUtil.uuid();
  38. bisInspQaScore.setId(uuid);
  39. bisInspQaScore.setIntm(new Date());
  40. bisInspQaScore.setUptm(new Date());
  41. bisInspQaScore.setDataStat("0");
  42. return this.bisInspQaScoreDao.insert(bisInspQaScore);
  43. }
  44. @Override
  45. public int update(BisInspQaScore bisInspQaScore) {
  46. BisInspQaScore score = get(bisInspQaScore.getRgstrId());
  47. if (score == null) {
  48. throw new CheckException("未找到此登记表下的子表");
  49. }
  50. bisInspQaScore.setId(score.getId());
  51. bisInspQaScore.setUptm(new Date());
  52. //分数处理
  53. scoreProcessing(bisInspQaScore);
  54. return this.bisInspQaScoreDao.update(bisInspQaScore);
  55. }
  56. @Override
  57. public int delete(String id) {
  58. return this.bisInspQaScoreDao.delete(id);
  59. }
  60. /**
  61. * 分数处理
  62. *
  63. * @param obj 对象
  64. */
  65. private void scoreProcessing(BisInspQaScore obj) {
  66. //扣分合计
  67. LongAdder empSub = new LongAdder();
  68. empSub.add(judge(obj.getQaMgr()));
  69. empSub.add(judge(obj.getQaDst()));
  70. empSub.add(judge(obj.getQaNewEta()));
  71. empSub.add(judge(obj.getQaBuld()));
  72. empSub.add(judge(obj.getQaApply()));
  73. empSub.add(judge(obj.getQaPlan()));
  74. empSub.add(judge(obj.getQaPrjDiv()));
  75. empSub.add(judge(obj.getQaStan()));
  76. empSub.add(judge(obj.getQaRvqn()));
  77. empSub.add(judge(obj.getQaPrjBuld()));
  78. empSub.add(judge(obj.getQaChkRun()));
  79. empSub.add(judge(obj.getQaQaChk()));
  80. empSub.add(judge(obj.getQaChkCnl()));
  81. empSub.add(judge(obj.getQaPblmHnd()));
  82. empSub.add(judge(obj.getQaPrjDuty()));
  83. empSub.add(judge(obj.getQaPrjIdea()));
  84. empSub.add(judge(obj.getQaBuldJar()));
  85. empSub.add(judge(obj.getQaAccp()));
  86. //加分合计
  87. LongAdder empAdd = new LongAdder();
  88. empAdd.add(judge(obj.getQaSys()));
  89. empAdd.add(judge(obj.getQaMgrUp()));
  90. //总分值
  91. long totalScore = 100L;
  92. long subTotal = empSub.longValue();
  93. long addTotal = empAdd.longValue();
  94. //得分=总分值-减分项+加分项
  95. long total = totalScore - subTotal + addTotal;
  96. obj.setSubTotal(subTotal);
  97. obj.setAddTotal(addTotal);
  98. obj.setTotal(total);
  99. //赋值
  100. updateRgstrState(obj);
  101. }
  102. private long judge(Long value) {
  103. if (Objects.isNull(value)) {
  104. return 0L;
  105. }
  106. return value;
  107. }
  108. private void updateRgstrState(BisInspQaScore bisInspQaScore) {
  109. Map<String,Object> map = new HashMap<>(4);
  110. map.put("rgstrId",bisInspQaScore.getRgstrId());
  111. map.put("param","qa");
  112. map.put("total",bisInspQaScore.getTotal());
  113. bisInspQaService.updateState(map);
  114. }
  115. }