sucheng 8 kuukautta sitten
vanhempi
commit
667fb4479e

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

@@ -0,0 +1,78 @@
+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.JtZjfjflqdService;
+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.List;
+
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.TWO_SOURCE;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum30 implements ScoreCalculationService {
+    @Autowired
+    private JtZjfjflqdService jtZjfjflqdService;
+    @Autowired
+    private JtFjglxmService jtFjglxmService;
+
+    /**
+     * 专家分级分类管理制度为空,扣2分
+     * 专家责任为空扣1分
+     * “是否为新兴业务项目”=是(分级管理-项目清单)且是否为新兴业务专家为否,扣0.5分
+     *
+     * @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 = "";
+        //专家分级分类管理制度为空,扣2分
+        if (ObjectUtil.isEmpty(jtGsjtbsj.getZjfjflglzd())) {
+            finalScore = finalScore.subtract(TWO_SOURCE);
+            errorMsg += "公司级:专家分级分类管理制度为空。";
+        }
+        //专家责任为空扣1分
+        if (ObjectUtil.isEmpty(jtGsjtbsj.getZjzr())) {
+            finalScore = finalScore.subtract(BigDecimal.ONE);
+            errorMsg += "公司级:专家责任为空。";
+        }
+        // “是否为新兴业务项目”=是(分级管理-项目清单)且是否为新兴业务专家为否,扣0.5分
+        List<JtFjglxm> list = jtFjglxmService.list(new LambdaQueryWrapper<JtFjglxm>()
+                .eq(JtFjglxm::getDeleted, "0")
+                .in(JtFjglxm::getMainid, khbmList.stream().map(JtXmkh::getId))
+                .eq(JtFjglxm::getSfxxyw, "0"));
+        if (!list.isEmpty()) {
+            List<JtZjfjflqd> list2 = jtZjfjflqdService.list(new LambdaQueryWrapper<JtZjfjflqd>()
+                    .eq(JtZjfjflqd::getDeleted, "0")
+                    .eq(JtZjfjflqd::getMainid, jtGsjtbsj.getId())
+                    .eq(JtZjfjflqd::getSfwxxywzj, "0"));
+            if (list2.isEmpty()) {
+                finalScore = finalScore.subtract(BigDecimal.valueOf(0.5));
+                errorMsg += "公司级:存在新兴业务项目,但没有新兴业务专家。";
+            }
+        }
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+
+}

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

@@ -0,0 +1,47 @@
+package com.rongwei.bscommon.sys.strategy.scoreCalculation;
+
+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;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum31 implements ScoreCalculationService {
+
+    /**
+     * ()计算规则
+     * 覆盖率=本年度考核三级单位数量/二级单位下属单位数量(巡查计划中所属单位/分院数量)
+     * 结果取小数点后一位。
+     * ()评分规则
+     * 覆盖率≥90%,不扣分。
+     * 覆盖率≤60%,扣2分。
+     * 其他数值线性计算得分,得分取小数点后三位。
+     *
+     * @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 = "";
+
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+
+}

+ 1 - 1
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/strategy/scoreCalculation/ScoreCalculationServiceNum32.java

@@ -46,7 +46,7 @@ public class ScoreCalculationServiceNum32 implements ScoreCalculationService {
         BigDecimal finalScore = jkAssessmentRules.getWeight();
         // 扣分细则
         String errorMsg = "";
-        List<JtJscgpyqd> list = jtJscgpyqdService.list(new LambdaQueryWrapper<JtJscgpyqd>().eq(JtJscgpyqd::getDeleted, "0").eq(JtJscgpyqd::getMainid, jtYcpfhz.getId()));
+        List<JtJscgpyqd> list = jtJscgpyqdService.list(new LambdaQueryWrapper<JtJscgpyqd>().eq(JtJscgpyqd::getDeleted, "0").eq(JtJscgpyqd::getMainid, jtGsjtbsj.getId()));
         Set<String> collect = list.stream().map(JtJscgpyqd::getPyfl).collect(Collectors.toSet());
         if(collect.size()>= 3){
             return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);

+ 1 - 1
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/strategy/scoreCalculation/ScoreCalculationServiceNum34.java

@@ -39,7 +39,7 @@ public class ScoreCalculationServiceNum34 implements ScoreCalculationService {
     public JtYcpfhzDetail soreCalculation(JtYcpfhz jtYcpfhz, List<JtXmkh> khbmList, List<JtKhxm> jtKhxmList, JtGsjtbsj jtGsjtbsj,
                                           JkAssessmentRules jkAssessmentRules,
                                           SysUserVo currentUser) {
-        List<JtYxwjfbqd> list = jtYxwjfbqdService.list(new LambdaQueryWrapper<JtYxwjfbqd>().eq(JtYxwjfbqd::getDeleted, "0").eq(JtYxwjfbqd::getMainid, jtYcpfhz.getId()));
+        List<JtYxwjfbqd> list = jtYxwjfbqdService.list(new LambdaQueryWrapper<JtYxwjfbqd>().eq(JtYxwjfbqd::getDeleted, "0").eq(JtYxwjfbqd::getMainid, jtGsjtbsj.getId()));
         // 考核得分
         BigDecimal finalScore = jkAssessmentRules.getWeight();
         // 扣分细则

+ 1 - 1
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/strategy/scoreCalculation/ScoreCalculationServiceNum36.java

@@ -41,7 +41,7 @@ public class ScoreCalculationServiceNum36 implements ScoreCalculationService {
     public JtYcpfhzDetail soreCalculation(JtYcpfhz jtYcpfhz, List<JtXmkh> khbmList, List<JtKhxm> jtKhxmList, JtGsjtbsj jtGsjtbsj,
                                           JkAssessmentRules jkAssessmentRules,
                                           SysUserVo currentUser) {
-        List<JtJsglcgqd> list = jtJsglcgqdService.list(new LambdaQueryWrapper<JtJsglcgqd>().eq(JtJsglcgqd::getDeleted, "0").eq(JtJsglcgqd::getMainid, jtYcpfhz.getId()));
+        List<JtJsglcgqd> list = jtJsglcgqdService.list(new LambdaQueryWrapper<JtJsglcgqd>().eq(JtJsglcgqd::getDeleted, "0").eq(JtJsglcgqd::getMainid, jtGsjtbsj.getId()));
 
         // 考核得分
         BigDecimal finalScore = BigDecimal.ZERO;

+ 86 - 4
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtZjfjflqd.java

@@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
-
-import com.rongwei.rwcommon.base.BaseDo;
 import lombok.Data;
 
 /**
@@ -16,7 +14,7 @@ import lombok.Data;
  */
 @TableName(value ="jt_zjfjflqd")
 @Data
-public class JtZjfjflqd extends BaseDo implements Serializable {
+public class JtZjfjflqd implements Serializable {
     /**
      * 主键ID
      */
@@ -47,6 +45,54 @@ public class JtZjfjflqd extends BaseDo implements Serializable {
     @TableField(value = "ROPTION")
     private String roption;
 
+    /**
+     * 是否删除Y/N
+     */
+    @TableField(value = "DELETED")
+    private String deleted;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "REMARK")
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    @TableField(value = "CREATEDATE")
+    private Date createdate;
+
+    /**
+     * 创建用户ID
+     */
+    @TableField(value = "CREATEUSERID")
+    private String createuserid;
+
+    /**
+     * 修改日期
+     */
+    @TableField(value = "MODIFYDATE")
+    private Date modifydate;
+
+    /**
+     * 修改用户ID
+     */
+    @TableField(value = "MODIFYUSERID")
+    private String modifyuserid;
+
+    /**
+     * 创建人
+     */
+    @TableField(value = "CREATEUSERNAME")
+    private String createusername;
+
+    /**
+     * 修改人
+     */
+    @TableField(value = "MODIFYUSERNAME")
+    private String modifyusername;
+
     /**
      * 专家姓名
      */
@@ -77,6 +123,42 @@ public class JtZjfjflqd extends BaseDo implements Serializable {
     @TableField(value = "SYNCSTATE")
     private String syncstate;
 
+    /**
+     * 年份
+     */
+    @TableField(value = "YEAR")
+    private String year;
+
+    /**
+     * 管理单位
+     */
+    @TableField(value = "GLDW")
+    private String gldw;
+
+    /**
+     * 公司考核管理ID
+     */
+    @TableField(value = "MAINID")
+    private String mainid;
+
+    /**
+     * 专家ID
+     */
+    @TableField(value = "ZJID")
+    private String zjid;
+
+    /**
+     * 所属部门
+     */
+    @TableField(value = "SSBM")
+    private String ssbm;
+
+    /**
+     * 所属部门ID
+     */
+    @TableField(value = "SSBMID")
+    private String ssbmid;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
-}
+}