|
@@ -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);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|