sucheng hai 8 meses
pai
achega
cae1699ce0

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

@@ -0,0 +1,90 @@
+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.JtJsglcgqdService;
+import com.rongwei.bscommon.sys.utils.JXKHConstant;
+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.FIVE_SOURCE;
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.FOUR_SOURCE;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum35 implements ScoreCalculationService {
+    @Autowired
+    private JtJsglcgqdService jtJsglcgqdService;
+
+    /**
+     * 国家优质工程奖、国家级(三等奖)、省部(一等奖)、集团(一等奖)、其他,“是否为主导单位”=是,得0.5分/项,否则得0.25分/项。
+     * 国家优质工程金奖、国际级、国家二等奖及以上、鲁班奖、詹天佑奖,“是否为主导单位”=是,得1分/项,否则得0.5/分项。
+     * 最高5分,最低0分。
+     *
+     * @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) {
+        List<JtJsglcgqd> list = jtJsglcgqdService.list(new LambdaQueryWrapper<JtJsglcgqd>().eq(JtJsglcgqd::getDeleted, "0").eq(JtJsglcgqd::getMainid, jtYcpfhz.getId()));
+
+        // 考核得分
+        BigDecimal finalScore = BigDecimal.ZERO;
+        // 扣分细则
+        String errorMsg = "";
+
+        for (JtJsglcgqd jtJsglcgqd : list) {
+            if (ObjectUtil.isEmpty(jtJsglcgqd.getJxdj())) {
+                continue;
+            }
+            //国家优质工程奖、国家级(三等奖)、省部(一等奖)、集团(一等奖)、其他,“是否为主导单位”=是,得0.5分/项,否则得0.25分/项。
+            if (jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_9)//国家优质工程奖
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_4)//国家级(三等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_15)//国家级(三等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_25)//国家级(三等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_5)//省部(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_17)//省部(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_21)//省部(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_27)//省部(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_7)//集团(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_16)//集团(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_20)//集团(一等奖)
+                    || jtJsglcgqd.getJxdj().equals(JXKHConstant.JXJB.JXJB_26)) {//集团(一等奖)
+                if (jtJsglcgqd.getSfzddw() != 1) {//是主导单位
+                    finalScore = finalScore.add(new BigDecimal("0.5"));
+                } else {
+                    finalScore = finalScore.add(new BigDecimal("0.25"));
+                }
+            } else {//国际级、国家二等奖及以上、鲁班奖、詹天佑奖,“是否为主导单位”=是,得1分/项,否则得0.5/分项。
+                if (jtJsglcgqd.getSfzddw() != 1) {//是主导单位
+                    finalScore = finalScore.add(new BigDecimal("1"));
+                } else {
+                    finalScore = finalScore.add(new BigDecimal("0.5"));
+                }
+            }
+        }
+        //最高5分
+        if (finalScore.compareTo(FIVE_SOURCE) > 0) {
+            finalScore = FIVE_SOURCE;
+        }
+
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+
+}

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

@@ -0,0 +1,53 @@
+package com.rongwei.bscommon.sys.strategy.scoreCalculation;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.rongwei.bscommon.sys.service.JtJsglcgqdService;
+import com.rongwei.bscommon.sys.service.impl.JtKcsjxmServiceImpl;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.FOUR_SOURCE;
+import static com.rongwei.bscommon.sys.utils.JXKHConstant.DefaultSource.SECOND_SOURCE;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum36 implements ScoreCalculationService {
+
+
+    /**
+     * 若发生一般事故,按责任主次,最高0分,最低减20分;
+     * 若发生较大事故按责任主次,最高0分,最低减30分;
+     * 若发生重大及以上责任事故按责任主次,最高0分,最低减50分
+     *
+     * @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 = BigDecimal.ZERO;
+        // 扣分细则
+        String errorMsg = "";
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+
+}

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

@@ -0,0 +1,49 @@
+package com.rongwei.bscommon.sys.strategy.scoreCalculation;
+
+import com.rongwei.bscommon.sys.service.impl.JtKcsjxmServiceImpl;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+ * ScoreCalculationServiceNum1 class
+ *
+ * @author XH
+ * @date 2024/12/09
+ */
+@Service
+public class ScoreCalculationServiceNum37 implements ScoreCalculationService {
+
+    /**
+     * 未设置总工程师岗位或总工程师未进领导班子减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 = BigDecimal.ZERO;
+        // 扣分细则
+        String errorMsg = null;
+        if (StringUtils.isBlank(jtGsjtbsj.getZgcsrmwjhtwj())) {
+            finalScore = finalScore.subtract(TWO_SOURCE);
+            errorMsg = "公司级:未设置总工程师岗位或总工程师未进领导班子";
+            return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+        }
+        errorMsg = "";
+        return assemblyYcpfhzDetail(jtYcpfhz, jkAssessmentRules, finalScore, errorMsg, currentUser);
+    }
+
+}

+ 103 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/utils/JXKHConstant.java

@@ -69,5 +69,108 @@ public class JXKHConstant {
         public static final BigDecimal FIVE_SOURCE = BigDecimal.valueOf(5);
         public static final BigDecimal ZERO_POINT_FIVE_SOURCE = BigDecimal.valueOf(0.5);
     }
+
+    public static class JXJB {
+        /**
+         * 设计咨询省部级(一等)
+         */
+        public static final String JXJB_27 = "27";
+        /**
+         * 设计咨询集团级(一等)
+         */
+        public static final String JXJB_26 = "26";
+        /**
+         * 设计咨询国家级(三等)
+         */
+        public static final String JXJB_25 = "25";
+        /**
+         * 设计咨询国家级(二等)
+         */
+        public static final String JXJB_24 = "24";
+        /**
+         * 设计咨询国家级(一等)
+         */
+        public static final String JXJB_23 = "23";
+        /**
+         * 技术发明其他
+         */
+        public static final String JXJB_22 = "22";
+        /**
+         * 技术发明省部级(一等)
+         */
+        public static final String JXJB_21 = "21";
+        /**
+         * 技术发明集团级(一等)
+         */
+        public static final String JXJB_20 = "20";
+        /**
+         * 技术发明国家级(一等)
+         */
+        public static final String JXJB_19 = "19";
+        /**
+         * 低碳技术其他
+         */
+        public static final String JXJB_18 = "18";
+        /**
+         * 低碳技术省部级(一等)
+         */
+        public static final String JXJB_17 = "17";
+        /**
+         * 低碳技术集团级(一等)
+         */
+        public static final String JXJB_16 = "16";
+        /**
+         * 低碳技术国家级(三级)
+         */
+        public static final String JXJB_15 = "15";
+        /**
+         * 低碳技术国家级(二等)
+         */
+        public static final String JXJB_14 = "14";
+        /**
+         * 低碳技术国家级(一等)
+         */
+        public static final String JXJB_13 = "13";
+        /**
+         * 天佑奖
+         */
+        public static final String JXJB_12 = "12";
+        /**
+         * 班奖
+         */
+        public static final String JXJB_11 = "11";
+        /**
+         * 国家优质工程金奖
+         */
+        public static final String JXJB_10 = "10";
+        /**
+         * 国家优质工程奖
+         */
+        public static final String JXJB_9 = "9";
+        /**
+         * 科技奖集团(一等)
+         */
+        public static final String JXJB_7 = "7";
+        /**
+         * 科技奖省部级(一等)
+         */
+        public static final String JXJB_5 = "5";
+        /**
+         * 科技奖国家级(三级)
+         */
+        public static final String JXJB_4 = "4";
+        /**
+         * 科技奖国家级(二等)
+         */
+        public static final String JXJB_3 = "3";
+        /**
+         * 科技奖国家级(一等)
+         */
+        public static final String JXJB_2 = "2";
+        /**
+         * 设计咨询国际级
+         */
+        public static final String JXJB_1 = "1";
+    }
 }
 

+ 3 - 0
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtJsglcgqd.java

@@ -119,6 +119,9 @@ public class JtJsglcgqd extends BaseDo implements Serializable {
     @TableField(value = "SYNCSTATE")
     private String syncstate;
 
+    @TableField(value = "MAINID")
+    private String mainid;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }