Jelajahi Sumber

feature 代码提交

xiahan 8 bulan lalu
induk
melakukan
7b97337db3
17 mengubah file dengan 641 tambahan dan 0 penghapusan
  1. 16 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/JkAssessmentRulesMapper.java
  2. 16 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/JtYcpfhzDetailMapper.java
  3. 16 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/JtYcpfhzMapper.java
  4. 13 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/ExamineService.java
  5. 11 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/JkAssessmentRulesService.java
  6. 12 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/JtYcpfhzDetailService.java
  7. 12 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/JtYcpfhzService.java
  8. 97 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ExamineServiceImpl.java
  9. 20 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/JkAssessmentRulesServiceImpl.java
  10. 21 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/JtYcpfhzDetailServiceImpl.java
  11. 20 0
      jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/JtYcpfhzServiceImpl.java
  12. 83 0
      jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JkAssessmentRules.java
  13. 66 0
      jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtGsjtbsj.java
  14. 6 0
      jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtXmkh.java
  15. 76 0
      jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtYcpfhz.java
  16. 119 0
      jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtYcpfhzDetail.java
  17. 37 0
      jsglkh-server/src/main/java/com/rongwei/controller/ExamineController.java

+ 16 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/JkAssessmentRulesMapper.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.JkAssessmentRules;
+
+/**
+ * @Entity generator.domain.JkAssessmentRules
+ */
+public interface JkAssessmentRulesMapper extends BaseMapper<JkAssessmentRules> {
+
+}
+
+
+
+

+ 16 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/JtYcpfhzDetailMapper.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.JtYcpfhzDetail;
+
+/**
+ * @Entity generator.domain.JtYcpfhzDetail
+ */
+public interface JtYcpfhzDetailMapper extends BaseMapper<JtYcpfhzDetail> {
+
+}
+
+
+
+

+ 16 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/dao/JtYcpfhzMapper.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.JtYcpfhz;
+
+/**
+ * @Entity generator.domain.JtYcpfhz
+ */
+public interface JtYcpfhzMapper extends BaseMapper<JtYcpfhz> {
+
+}
+
+
+
+

+ 13 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/ExamineService.java

@@ -0,0 +1,13 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.rongwei.rwcommon.base.R;
+
+/**
+ * ExamineService class
+ *
+ * @author XH
+ * @date 2024/12/06
+ */
+public interface ExamineService {
+    R calculateScore(String id,String khzbNum);
+}

+ 11 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/JkAssessmentRulesService.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.JkAssessmentRules;
+
+/**
+ *
+ */
+public interface JkAssessmentRulesService extends IService<JkAssessmentRules> {
+
+}

+ 12 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/JtYcpfhzDetailService.java

@@ -0,0 +1,12 @@
+package com.rongwei.bscommon.sys.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.JtYcpfhzDetail;
+
+/**
+ *
+ */
+public interface JtYcpfhzDetailService extends IService<JtYcpfhzDetail> {
+
+}

+ 12 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/JtYcpfhzService.java

@@ -0,0 +1,12 @@
+package com.rongwei.bscommon.sys.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.JtYcpfhz;
+
+/**
+ *
+ */
+public interface JtYcpfhzService extends IService<JtYcpfhz> {
+
+}

+ 97 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ExamineServiceImpl.java

@@ -0,0 +1,97 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.rongwei.bscommon.sys.service.ExamineService;
+import com.rongwei.bscommon.sys.strategy.scoreCalculation.ScoreCalculationService;
+import com.rongwei.bscommon.sys.utils.JXKHUtils;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.base.exception.CustomException;
+import com.rongwei.rwcommon.utils.SpringContextUtils;
+import com.rongwei.rwcommon.utils.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * ExamineServiceImpl class
+ *
+ * @author XH
+ * @date 2024/12/06
+ */
+@Service("examineServiceImpl")
+public class ExamineServiceImpl implements ExamineService {
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
+    @Autowired
+    private JtXmkhServiceImpl jtXmkhService;
+    @Autowired
+    private JtKhxmServiceImpl jtKhxmService;
+    @Autowired
+    private JkAssessmentRulesServiceImpl jkAssessmentRulesService;
+    @Autowired
+    private JtGsjtbsjServiceImpl jtGsjtbsjService;
+    @Autowired
+    private JtYcpfhzServiceImpl jtYcpfhzService;
+    @Autowired
+    private JtFjglxmServiceImpl jtFjglxmService;
+
+    /**
+     * 部门考核
+     *
+     * @param khbmId jt_ycpfhz 主键
+     * @param khzb   考核指标编号
+     * @return
+     */
+    @Override
+    public R calculateScore(String id, String khzbNum) {
+        if (StringUtils.isBlank(id)) {
+            throw new CustomException("考核项目信息为空");
+        }
+        JtYcpfhz jtYcpfhz = jtYcpfhzService.getById(id);
+        if (jtYcpfhz == null) {
+            throw new CustomException("无法获取预测评分汇总!");
+        }
+        // 根据管理单位获取 考核部门信息
+        List<String> list = Arrays.asList(khzbNum.split(","));
+
+        // 获取考核规则
+        List<JkAssessmentRules> jkAssessmentRules = jkAssessmentRulesService.list(new LambdaQueryWrapper<JkAssessmentRules>()
+                .eq(BaseDo::getDeleted, "0")
+                .in(StringUtils.isNotBlank(khzbNum), JkAssessmentRules::getNum, list)
+                .orderByAsc(JkAssessmentRules::getNum));
+        if (jkAssessmentRules.isEmpty()) {
+            throw new CustomException("获取获取到考核规则信息");
+        }
+        String gldw = jtYcpfhz.getGldw();
+        String year = jtYcpfhz.getYear();
+        // 获取考核部门信息
+        List<JtXmkh> khbmList = jtXmkhService.list(new LambdaQueryWrapper<JtXmkh>().eq(BaseDo::getDeleted, 0)
+                .eq(JtXmkh::getYear, year)
+                .eq(JtXmkh::getGldw, gldw)
+                .eq(JtXmkh::getReportstatus, "已发布"));
+        // 获取考核部门下的所有考核项目信息
+        List<JtKhxm> jtKhxmList = jtKhxmService.list(new LambdaQueryWrapper<JtKhxm>()
+                .eq(BaseDo::getDeleted, "0")
+                .in(JtKhxm::getMainid, khbmList.stream().map(JtXmkh::getGldw)));
+        // 公司考核管理填报数据
+        JtGsjtbsj jtGsjtbsj = jtGsjtbsjService.getOne(new LambdaQueryWrapper<JtGsjtbsj>()
+                .eq(BaseDo::getDeleted, "0")
+                .eq(JtGsjtbsj::getYear, year)
+                .eq(JtGsjtbsj::getGldw, gldw), false);
+        List<JtYcpfhzDetail> saveData = new ArrayList<>();
+        SysUserVo currentUser = JXKHUtils.getCurrentUser();
+        jkAssessmentRules.forEach(rule -> {
+            ScoreCalculationService scoreCalculationService = SpringContextUtils.getBean("scoreCalculationServiceNum" + rule.getNum());
+            saveData.add(scoreCalculationService.soreCalculation(jtYcpfhz,khbmList, jtKhxmList, jtGsjtbsj, rule, currentUser));
+        });
+
+        return R.ok();
+    }
+}

+ 20 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/JkAssessmentRulesServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.JkAssessmentRulesMapper;
+import com.rongwei.bscommon.sys.service.JkAssessmentRulesService;
+import com.rongwei.bsentity.domain.JkAssessmentRules;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class JkAssessmentRulesServiceImpl extends ServiceImpl<JkAssessmentRulesMapper, JkAssessmentRules>
+        implements JkAssessmentRulesService {
+
+}
+
+
+
+

+ 21 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/JtYcpfhzDetailServiceImpl.java

@@ -0,0 +1,21 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.JtYcpfhzDetailMapper;
+import com.rongwei.bscommon.sys.service.JtYcpfhzDetailService;
+import com.rongwei.bsentity.domain.JtYcpfhzDetail;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class JtYcpfhzDetailServiceImpl extends ServiceImpl<JtYcpfhzDetailMapper, JtYcpfhzDetail>
+implements JtYcpfhzDetailService {
+
+}
+
+
+
+

+ 20 - 0
jsglkh-common/src/main/java/com/rongwei/bscommon/sys/service/impl/JtYcpfhzServiceImpl.java

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.JtYcpfhzMapper;
+import com.rongwei.bscommon.sys.service.JtYcpfhzService;
+import com.rongwei.bsentity.domain.JtYcpfhz;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class JtYcpfhzServiceImpl extends ServiceImpl<JtYcpfhzMapper, JtYcpfhz>
+        implements JtYcpfhzService {
+
+}
+
+
+
+

+ 83 - 0
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JkAssessmentRules.java

@@ -0,0 +1,83 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+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;
+import lombok.Data;
+
+/**
+ * 考核规则
+ * @TableName jk_assessment_rules
+ */
+@TableName(value ="jk_assessment_rules")
+@Data
+public class JkAssessmentRules extends BaseDo implements Serializable {
+    /**
+     * 主键 ID
+     */
+    @TableId(value = "ID")
+    private String id;
+
+    /**
+     * 考核项目分类一级
+     */
+    @TableField(value = "CATEGORYLEVEL1")
+    private String categorylevel1;
+
+    /**
+     * 考核项目分类二级
+     */
+    @TableField(value = "CATEGORYLEVEL2")
+    private String categorylevel2;
+
+    /**
+     * 考核项目分类三级
+     */
+    @TableField(value = "CATEGORYLEVEL3")
+    private String categorylevel3;
+
+    /**
+     * 权重分
+     */
+    @TableField(value = "WEIGHT")
+    private BigDecimal weight;
+
+    /**
+     * 租户id
+     */
+    @TableField(value = "TENANTID")
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField(value = "ROPTION")
+    private String roption;
+
+    /**
+     * 编号
+     */
+    @TableField(value = "NUM")
+    private Integer num;
+
+    /**
+     * 考核细则
+     */
+    @TableField(value = "ASSESSMENTDETAILS")
+    private String assessmentdetails;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "REMARK")
+    private String remark;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 66 - 0
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtGsjtbsj.java

@@ -329,6 +329,72 @@ public class JtGsjtbsj 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 = "PROCESSINSTID")
+    private String processinstid;
+
+    /**
+     * 审批状态
+     */
+    @TableField(value = "PROCESSINSTSTATUS")
+    private String processinststatus;
+
+    /**
+     * 技术方案标准化实施材料
+     */
+    @TableField(value = "JSFABZHSSCL")
+    private String jsfabzhsscl;
+
+    /**
+     * 国际标准修订能力提升行动方案
+     */
+    @TableField(value = "GJBZXDNLTSXDFA")
+    private String gjbzxdnltsxdfa;
+
+    /**
+     * 立项申报或结题总结材料
+     */
+    @TableField(value = "LXSBHJTZJCL")
+    private String lxsbhjtzjcl;
+
+    /**
+     * 优秀技术成果申报材料
+     */
+    @TableField(value = "YXJSCGSBCL")
+    private String yxjscgsbcl;
+
+    /**
+     * 集团工法申报材料
+     */
+    @TableField(value = "JTGFSBCL")
+    private String jtgfsbcl;
+
+    /**
+     * 证明材料
+     */
+    @TableField(value = "ZMCL")
+    private String zmcl;
+
+    /**
+     * 优秀总工程师培训班、优秀工程部长培训班等培训汇总获优秀个人数量
+     */
+    @TableField(value = "YXZGCSPXBYXGCBZPXBDPXHZHYXGRSL")
+    private String yxzgcspxbyxgcbzpxbdpxhzhyxgrsl;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }

+ 6 - 0
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtXmkh.java

@@ -78,4 +78,10 @@ public class JtXmkh extends BaseDo implements Serializable {
      */
     @TableField(value = "SYNCSTATE")
     private String syncstate;
+
+    /**
+     * 管理单位
+     */
+    @TableField(value = "SYNCSTATE")
+    private String gldw;
 }

+ 76 - 0
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtYcpfhz.java

@@ -0,0 +1,76 @@
+package com.rongwei.bsentity.domain;
+
+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;
+import lombok.Data;
+
+/**
+ * 预测评分汇总
+ * @TableName jt_ycpfhz
+ */
+@TableName(value ="jt_ycpfhz")
+@Data
+public class JtYcpfhz extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "ID")
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    @TableField(value = "TENANTID")
+    private String tenantid;
+
+    /**
+     * 考核年
+     */
+    @TableField(value = "YEAR")
+    private String year;
+
+    /**
+     * 管理单位
+     */
+    @TableField(value = "GLDW")
+    private String gldw;
+
+    /**
+     * 总评分
+     */
+    @TableField(value = "ZPF")
+    private BigDecimal zpf;
+
+    /**
+     * 数据编码
+     */
+    @TableField(value = "DATAID")
+    private String dataid;
+
+    /**
+     * 数据主键
+     */
+    @TableField(value = "INDEXID")
+    private String indexid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField(value = "ROPTION")
+    private String roption;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "REMARK")
+    private String remark;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 119 - 0
jsglkh-entity/src/main/java/com/rongwei/bsentity/domain/JtYcpfhzDetail.java

@@ -0,0 +1,119 @@
+package com.rongwei.bsentity.domain;
+
+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;
+import lombok.Data;
+
+/**
+ * 预测评分汇总-子表
+ * @TableName jt_ycpfhz_detail
+ */
+@TableName(value ="jt_ycpfhz_detail")
+@Data
+public class JtYcpfhzDetail  extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId(value = "ID")
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    @TableField(value = "TENANTID")
+    private String tenantid;
+
+
+    /**
+     * 考核项目分类一级
+     */
+    @TableField(value = "KHXMFLYJ")
+    private String khxmflyj;
+
+    /**
+     * 考核项目分类二级
+     */
+    @TableField(value = "KHXMFLEJ")
+    private String khxmflej;
+
+    /**
+     * 权重分
+     */
+    @TableField(value = "QZF")
+    private BigDecimal qzf;
+
+    /**
+     * 预测时间
+     */
+    @TableField(value = "YCSJ")
+    private Date ycsj;
+
+    /**
+     * 预测评分
+     */
+    @TableField(value = "YCPF")
+    private BigDecimal ycpf;
+
+    /**
+     * 考核细则
+     */
+    @TableField(value = "KHXZ")
+    private String khxz;
+
+    /**
+     * 指标内容
+     */
+    @TableField(value = "ZBNR")
+    private String zbnr;
+
+    /**
+     * 测评扣分详情
+     */
+    @TableField(value = "YCKFXQ")
+    private String yckfxq;
+
+    /**
+     * 预测评分汇总ID
+     */
+    @TableField(value = "YCPFHZID")
+    private String ycpfhzid;
+
+    /**
+     * 数据主键
+     */
+    @TableField(value = "INDEXID")
+    private String indexid;
+
+    /**
+     * 数据编码
+     */
+    @TableField(value = "DATAID")
+    private String dataid;
+
+    /**
+     * 序号
+     */
+    @TableField(value = "SORTNO")
+    private Integer sortno;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField(value = "ROPTION")
+    private String roption;
+
+    /**
+     * 备注
+     */
+    @TableField(value = "REMARK")
+    private String remark;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 37 - 0
jsglkh-server/src/main/java/com/rongwei/controller/ExamineController.java

@@ -0,0 +1,37 @@
+package com.rongwei.controller;
+
+import com.rongwei.bscommon.sys.service.impl.ExamineServiceImpl;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * ExamineController class
+ *
+ * @author XH
+ * @date 2024/12/06
+ */
+@Slf4j
+@RestController
+@RequestMapping("/examine")
+public class ExamineController {
+    @Autowired
+    private ExamineServiceImpl examineService;
+
+    /**
+     * 部门考核
+     *
+     * @param khbmId  考核部门表主键
+     * @param khzbNum 考核指标编号
+     * @return
+     */
+    @PostMapping("/calculate")
+    public R calculateScore(@RequestParam(name = "id") String id,
+                            @RequestParam(required = false) String khzbNum) {
+        return examineService.calculateScore(id, khzbNum);
+    }
+}