sucheng 7 miesięcy temu
rodzic
commit
c6f46a84ca

+ 69 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/strategy/scoreCalculation/ScoreCalculationServiceNum24.java

@@ -0,0 +1,69 @@
+package com.rongwei.bscommon.sys.strategy.scoreCalculation;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.FIVE_SOURCE;
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.THREE_SOURCE;
+import static com.rongwei.bscommon.sys.utils.JXKHUtils.CALCULATE_Y3;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum24 implements ScoreCalculationService {
+
+    /**
+     * 数字化工作目标为空,扣5分。
+     * 主营业务产品数字化覆盖率大于等于0.30得满分,其他分值内插。
+     *
+     * @param khbmList
+     * @param jtKhxmList
+     * @param jtGsjtbsj
+     * @param jkAssessmentRules
+     * @return
+     */
+    @Override
+    public JtYcpfhzDetail soreCalculation(JtYcpfhz jtYcpfhz, List<JtXmkh> khbmList, List<JtKhxm> jtKhxmList, JtGsjtbsj jtGsjtbsj,
+                                          JkAssessmentRules jkAssessmentRules,
+                                          SysUserVo currentUser) {
+        // 考核得分
+        BigDecimal finalScore = jkAssessmentRules.getWeight();
+        // 扣分细则
+        String errorMsg = "";
+
+        //数字化工作目标为空,扣5分。
+        if (ObjectUtil.isEmpty(jtGsjtbsj.getSzhgzmb())) {
+            finalScore = finalScore.subtract(FIVE_SOURCE);
+            errorMsg = "公司级:数字化工作目标为空";
+            return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+        }
+        //主营业务产品数字化覆盖率大于等于0.30得满分,其他分值内插。
+        if (ObjectUtil.isNotEmpty(jtGsjtbsj.getZyywcpszhfgl())) {
+            if (jtGsjtbsj.getZyywcpszhfgl().compareTo(BigDecimal.valueOf(0.3)) < 0) {
+                finalScore = CALCULATE_Y3(BigDecimal.valueOf(0), BigDecimal.valueOf(0), BigDecimal.valueOf(0.3), FIVE_SOURCE, jtGsjtbsj.getZyywcpszhfgl());
+                errorMsg = "公司级:主营业务产品数字化覆盖率小于0.30";
+            } else {
+                finalScore = FIVE_SOURCE;
+                errorMsg = "公司级:主营业务产品数字化覆盖率大于等于0.30";
+            }
+        }
+
+        if (finalScore.compareTo(BigDecimal.ZERO) < 0) {
+            finalScore = BigDecimal.ZERO;
+        }
+        if (finalScore.compareTo(jkAssessmentRules.getWeight()) > 0) {
+            finalScore = jkAssessmentRules.getWeight();
+        }
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+}

+ 56 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/strategy/scoreCalculation/ScoreCalculationServiceNum25.java

@@ -0,0 +1,56 @@
+package com.rongwei.bscommon.sys.strategy.scoreCalculation;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.rongwei.bscommon.sys.service.JtFjglxmService;
+import com.rongwei.bscommon.sys.service.JtZdxmszmnService;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.LinkedList;
+import java.util.List;
+
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.THREE_SOURCE;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum25 implements ScoreCalculationService {
+
+    /**
+     * 推广文件为空,扣3分。
+     *
+     * @param khbmList
+     * @param jtKhxmList
+     * @param jtGsjtbsj
+     * @param jkAssessmentRules
+     * @return
+     */
+    @Override
+    public JtYcpfhzDetail soreCalculation(JtYcpfhz jtYcpfhz, List<JtXmkh> khbmList, List<JtKhxm> jtKhxmList, JtGsjtbsj jtGsjtbsj,
+                                          JkAssessmentRules jkAssessmentRules,
+                                          SysUserVo currentUser) {
+        // 考核得分
+        BigDecimal finalScore = jkAssessmentRules.getWeight();
+        // 扣分细则
+        String errorMsg = "";
+
+        if (ObjectUtil.isEmpty(jtGsjtbsj.getRjxtsjtgwj())){
+            finalScore = finalScore.subtract(THREE_SOURCE);
+            errorMsg = "公司级:推广文件为空";
+        }
+
+        if (finalScore.compareTo(BigDecimal.ZERO) < 0) {
+            finalScore = BigDecimal.ZERO;
+        }
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+}

+ 2 - 1
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtGsjtbsj.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 import com.rongwei.rwcommon.base.BaseDo;
@@ -207,7 +208,7 @@ public class JtGsjtbsj extends BaseDo implements Serializable {
      * 主营业务产品数字化覆盖率
      */
     @TableField(value = "ZYYWCPSZHFGL")
-    private String zyywcpszhfgl;
+    private BigDecimal zyywcpszhfgl;
 
     /**
      * 推广文件