diff --git a/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java b/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java index 8a455b6..2b0d82b 100644 --- a/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java +++ b/ningda-generator/src/main/java/com/ningdatech/generator/config/GeneratorCodeKingbaseConfig.java @@ -57,7 +57,7 @@ public class GeneratorCodeKingbaseConfig { public static void main(String[] args) { //generate("Liuxinxin", "expert", PATH_LXX, "expert_gov_business_strip"); - generate("CMM", "test", PATH_CMM, "nd_project_core_business_indicators"); + generate("CMM", "test", PATH_CMM, "nd_performance_appraisal_app_indicator"); } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java b/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java index 2ae4310..617b0a5 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/ding/controller/DingInfoPullController.java @@ -4,6 +4,8 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.digest.HMac; import cn.hutool.crypto.digest.MD5; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.google.common.collect.Maps; import com.ningdatech.irs.service.IRefreshTokenService; import com.ningdatech.pmapi.common.util.CryptUtils; @@ -20,16 +22,24 @@ import com.sun.crypto.provider.HmacMD5KeyGenerator; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; -import java.io.UnsupportedEncodingException; +import java.io.*; import java.nio.charset.StandardCharsets; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; import java.util.Objects; /** @@ -119,9 +129,93 @@ public class DingInfoPullController { return procDefManage.initByArea(areaCode); } - @ApiOperation(value = "测试项目详情推送", notes = "测试项目详情推送") - @GetMapping("/test-push-project") - public String testPushProject(@ModelAttribute ProjectDTO projectDto) throws Exception { - return appIrsManage.pushProjectDetail(projectDto); + @ApiOperation(value = "项目详情推送", notes = "项目详情推送") + @GetMapping("/push-project") + public String pushProject() throws Exception { + File f = new File("/temp/遂昌归集项目信息(需补).xlsx"); +// File f = new File("C:\\Users\\PoffyZhang\\Desktop\\遂昌归集项目信息(需补).xlsx"); + Workbook wb = readExcel(new FileInputStream(f),f.getName()); + Assert.notNull(wb,"文件流为空"); + Row row; + Integer sucessNum = 0; + if(wb != null){ + //获取第一个sheet + Sheet sheet = wb.getSheetAt(0); + //获取最大行数 + int rownum = sheet.getPhysicalNumberOfRows(); + //获取第一行 + row = sheet.getRow(0); + //获取最大列数 + for (int i = 1; i projectIndexList(PerformanceAppraisalListReq req) { + public PageVo projectIndexList(PerformanceAppraisalListReq req) { return indicatorConfigManage.projectIndexList(req); } + + @PostMapping("/project/index/save") + @ApiOperation("项目指标库新增指标保存") + @WebLog("项目指标库新增指标保存") + public String projectIndexSave(@Valid @RequestBody PerformanceIndicatorProjectIndexSaveDTO dto) { + return indicatorConfigManage.projectIndexSave(dto); + } + + @PostMapping("/project/index/delete/{id}") + @ApiOperation("项目指标库指标删除") + @WebLog("项目指标库指标删除") + public String projectIndexDelete(@PathVariable Long id) { + return indicatorConfigManage.projectIndexDelete(id); + } + + @PostMapping("/project/index/detail/{id}") + @ApiOperation("项目指标库项目指标详情") + public ProjectIndexVO projectIndexDetail(@PathVariable Long id) { + return indicatorConfigManage.projectIndexDetail(id); + } + + @GetMapping("/app/index/list") + @ApiOperation("应用指标库列表") + public PageVo appIndexList(PerformanceAppraisalListReq req) { + return indicatorConfigManage.appIndexList(req); + } + + @PostMapping("/app/index/save") + @ApiOperation("应用指标库新增指标保存") + @WebLog("应用指标库新增指标保存") + public String appIndexSave(@Valid @RequestBody PerformanceIndicatorAppIndexSaveDTO dto) { + return indicatorConfigManage.appIndexSave(dto); + } + + @PostMapping("/app/index/delete/{id}") + @ApiOperation("应用指标库指标删除") + @WebLog("应用指标库指标删除") + public String appIndexDelete(@PathVariable Long id) { + return indicatorConfigManage.appIndexDelete(id); + } + + @PostMapping("/app/index/detail/{id}") + @ApiOperation("应用指标库应用指标详情") + public AppIndexVO appIndexDetail(@PathVariable Long id) { + return indicatorConfigManage.appIndexDetail(id); + } + + @ApiOperation(value = "应用指标启用(禁用)", notes = "应用指标启用(禁用)") + @PutMapping("/app/index/{appId}/active/{state}") + public String enOrDisAppIndex(@PathVariable Long appId, + @PathVariable Boolean state) { + Boolean result = indicatorConfigManage.enOrDisAppIndex(appId, state); + return Boolean.TRUE.equals(result) ? "操作成功":"操作失败"; + } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/IndicatorConfigManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/IndicatorConfigManage.java index 691ecf6..bec49ae 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/IndicatorConfigManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/manage/IndicatorConfigManage.java @@ -11,16 +11,26 @@ import com.ningdatech.basic.function.VUtils; import com.ningdatech.basic.model.PageVo; import com.ningdatech.pmapi.common.constant.CommonConst; import com.ningdatech.pmapi.common.enumeration.CommonEnum; +import com.ningdatech.pmapi.common.helper.UserInfoHelper; import com.ningdatech.pmapi.performance.enumration.PerformanceTemplateTypeEnum; +import com.ningdatech.pmapi.performance.model.dto.PerformanceIndicatorAppIndexSaveDTO; +import com.ningdatech.pmapi.performance.model.dto.PerformanceIndicatorProjectIndexSaveDTO; import com.ningdatech.pmapi.performance.model.dto.PerformanceIndicatorProjectTemplateSaveDTO; import com.ningdatech.pmapi.performance.model.dto.ProjectTemplateDetailDTO; +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalAppIndicator; +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalProjectIndicator; import com.ningdatech.pmapi.performance.model.entity.PerformanceIndicatorProjectTemplate; import com.ningdatech.pmapi.performance.model.entity.PerformanceIndicatorProjectTemplateDetail; import com.ningdatech.pmapi.performance.model.req.PerformanceAppraisalListReq; +import com.ningdatech.pmapi.performance.model.vo.AppIndexVO; import com.ningdatech.pmapi.performance.model.vo.ProjectIndexTemplateVO; +import com.ningdatech.pmapi.performance.model.vo.ProjectIndexVO; import com.ningdatech.pmapi.performance.model.vo.ProjectTemplateDetailVO; +import com.ningdatech.pmapi.performance.service.IPerformanceAppraisalAppIndicatorService; +import com.ningdatech.pmapi.performance.service.IPerformanceAppraisalProjectIndicatorService; import com.ningdatech.pmapi.performance.service.IPerformanceIndicatorProjectTemplateDetailService; import com.ningdatech.pmapi.performance.service.IPerformanceIndicatorProjectTemplateService; +import com.ningdatech.pmapi.user.security.auth.model.UserFullInfoDTO; import com.ningdatech.pmapi.user.security.auth.model.UserInfoDetails; import com.ningdatech.pmapi.user.util.LoginUserUtil; import lombok.AllArgsConstructor; @@ -47,8 +57,9 @@ import java.util.stream.Collectors; @AllArgsConstructor public class IndicatorConfigManage { private final IPerformanceIndicatorProjectTemplateService indicatorProjectTemplateService; - private final IPerformanceIndicatorProjectTemplateDetailService indicatorProjectTemplateDetailService; + private final IPerformanceAppraisalProjectIndicatorService projectIndicatorService; + private final IPerformanceAppraisalAppIndicatorService appIndicatorService; /** * 模板列表 @@ -59,7 +70,8 @@ public class IndicatorConfigManage { Page page = req.page(); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PerformanceIndicatorProjectTemplate.class) .like(StringUtils.isNotBlank(req.getTemplateName()), PerformanceIndicatorProjectTemplate::getName, req.getTemplateName()) - .eq(StringUtils.isNotBlank(req.getRegionCode()), PerformanceIndicatorProjectTemplate::getRegionCode,req.getRegionCode()); + .eq(StringUtils.isNotBlank(req.getRegionCode()), PerformanceIndicatorProjectTemplate::getRegionCode,req.getRegionCode()) + .orderByDesc(PerformanceIndicatorProjectTemplate::getCreateOn); indicatorProjectTemplateService.page(page,wrapper); if(0L == page.getTotal()){ @@ -128,8 +140,6 @@ public class IndicatorConfigManage { //先删除 indicatorProjectTemplateDetailService.remove(Wrappers.lambdaQuery(PerformanceIndicatorProjectTemplateDetail.class) .eq(PerformanceIndicatorProjectTemplateDetail::getTemplateId,dto.getId())); - analysisTemplateDetails(dto.getTemplateDetails(),template.getId()); - //校检 所有3级指标(不包括附加指标) 总分是不是100 List indexList = indicatorProjectTemplateDetailService.list(Wrappers.lambdaQuery(PerformanceIndicatorProjectTemplateDetail.class) .eq(PerformanceIndicatorProjectTemplateDetail::getTemplateId, template.getId()) @@ -139,8 +149,10 @@ public class IndicatorConfigManage { .map(PerformanceIndicatorProjectTemplateDetail::getIndexScore) .filter(Objects::nonNull) .reduce(BigDecimal.ZERO, BigDecimal::add); - VUtils.isTrue((BigDecimal.valueOf(100)).equals(sum)).throwMessage("总分不是100 操作失败!"); + boolean score = (BigDecimal.valueOf(100)).equals(sum); + VUtils.isTrue(Boolean.FALSE.equals(score)).throwMessage("总分不是100 操作失败!"); } + analysisTemplateDetails(dto.getTemplateDetails(),template.getId()); } // 保存 模版附加指标详情 if (CollUtil.isNotEmpty(dto.getAdditionalIndexDetails())){ @@ -324,6 +336,8 @@ public class IndicatorConfigManage { newTemplate.setCreateBy(user.getUsername()); newTemplate.setUpdateOn(LocalDateTime.now()); newTemplate.setUpdateBy(user.getUsername()); + // 副本ID要置空 + newTemplate.setId(null); if (indicatorProjectTemplateService.save(newTemplate)) { // 新增指标详情 List projectTemplateDetails = indicatorProjectTemplateDetailService.list(Wrappers.lambdaQuery(PerformanceIndicatorProjectTemplateDetail.class) @@ -337,6 +351,8 @@ public class IndicatorConfigManage { newProjectTemplateDetail.setCreateBy(user.getUsername()); newProjectTemplateDetail.setUpdateOn(LocalDateTime.now()); newProjectTemplateDetail.setUpdateBy(user.getUsername()); + // 新的指标ID要置空 + newProjectTemplateDetail.setId(null); indicatorProjectTemplateDetailService.save(newProjectTemplateDetail); } return "模版复制成功"; @@ -344,8 +360,121 @@ public class IndicatorConfigManage { return "模版复制失败"; } - public PageVo projectIndexList(PerformanceAppraisalListReq req) { + public PageVo projectIndexList(PerformanceAppraisalListReq req) { + Page page = req.page(); + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PerformanceAppraisalProjectIndicator.class) + .like(StringUtils.isNotBlank(req.getIndexName()), PerformanceAppraisalProjectIndicator::getIndexName, req.getIndexName()) + .eq(Objects.nonNull(req.getIndexLevel()), PerformanceAppraisalProjectIndicator::getIndexLevel, req.getIndexLevel()) + .eq(StringUtils.isNotBlank(req.getRegionCode()), PerformanceAppraisalProjectIndicator::getRegionCode, req.getRegionCode()) + .orderByDesc(PerformanceAppraisalProjectIndicator::getCreateOn); + projectIndicatorService.page(page,wrapper); + + if (CollUtil.isEmpty(page.getRecords())){ + return PageVo.empty(); + } + List result = page.getRecords().stream() + .map(i -> BeanUtil.copyProperties(i, ProjectIndexVO.class)) + .collect(Collectors.toList()); + return PageVo.of(result,page.getTotal()); + } + + public String projectIndexSave(PerformanceIndicatorProjectIndexSaveDTO dto) { + UserInfoDetails user = LoginUserUtil.loginUserDetail(); + PerformanceAppraisalProjectIndicator projectIndicator = BeanUtil.copyProperties(dto, PerformanceAppraisalProjectIndicator.class); + if(Objects.nonNull(dto.getId())){ + PerformanceAppraisalProjectIndicator old = projectIndicatorService.getById(dto.getId()); + VUtils.isTrue(Objects.isNull(old)).throwMessage("该项目指标不存在!"); + projectIndicator.setId(old.getId()); + }else{ + projectIndicator.setId(null); + projectIndicator.setCreateOn(LocalDateTime.now()); + projectIndicator.setCreateBy(user.getUsername()); + } + projectIndicator.setUpdateOn(LocalDateTime.now()); + projectIndicator.setUpdateBy(user.getUsername()); + if(projectIndicatorService.saveOrUpdate(projectIndicator)){ + return "指标新增成功"; + } + return "指标新增失败"; + } + + public String projectIndexDelete(Long id) { + PerformanceAppraisalProjectIndicator projectIndicator = projectIndicatorService.getById(id); + VUtils.isTrue(Objects.isNull(projectIndicator)).throwMessage("该项目指标不存在!"); + if (projectIndicatorService.removeById(id)) { + return "删除成功"; + } + return "操作失败"; + } + + public ProjectIndexVO projectIndexDetail(Long id) { + PerformanceAppraisalProjectIndicator projectIndex = projectIndicatorService.getById(id); + if(Objects.isNull(projectIndex)){ + return null; + } + return BeanUtil.copyProperties(projectIndex, ProjectIndexVO.class); + } - return null; + public PageVo appIndexList(PerformanceAppraisalListReq req) { + Page page = req.page(); + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PerformanceAppraisalAppIndicator.class) + .like(StringUtils.isNotBlank(req.getIndexName()), PerformanceAppraisalAppIndicator::getIndexName, req.getIndexName()) + .orderBy(Boolean.FALSE,Boolean.TRUE, PerformanceAppraisalAppIndicator::getSort); + appIndicatorService.page(page,wrapper); + + if (CollUtil.isEmpty(page.getRecords())){ + return PageVo.empty(); + } + List result = page.getRecords().stream() + .map(i -> BeanUtil.copyProperties(i, AppIndexVO.class)) + .collect(Collectors.toList()); + return PageVo.of(result,page.getTotal()); + } + + public String appIndexSave(PerformanceIndicatorAppIndexSaveDTO dto) { + UserInfoDetails user = LoginUserUtil.loginUserDetail(); + PerformanceAppraisalAppIndicator appIndicator = BeanUtil.copyProperties(dto, PerformanceAppraisalAppIndicator.class); + if(Objects.nonNull(dto.getId())){ + PerformanceAppraisalAppIndicator old = appIndicatorService.getById(dto.getId()); + VUtils.isTrue(Objects.isNull(old)).throwMessage("该项目指标不存在!"); + appIndicator.setId(old.getId()); + }else{ + appIndicator.setId(null); + appIndicator.setCreateOn(LocalDateTime.now()); + appIndicator.setCreateBy(user.getUsername()); + } + appIndicator.setUpdateOn(LocalDateTime.now()); + appIndicator.setUpdateBy(user.getUsername()); + if(appIndicatorService.saveOrUpdate(appIndicator)){ + return "指标新增成功"; + } + return "指标新增失败"; + } + + public String appIndexDelete(Long id) { + PerformanceAppraisalAppIndicator appIndicator = appIndicatorService.getById(id); + VUtils.isTrue(Objects.isNull(appIndicator)).throwMessage("该应用指标不存在!"); + if (appIndicatorService.removeById(id)) { + return "删除成功"; + } + return "操作失败"; + } + + public AppIndexVO appIndexDetail(Long id) { + PerformanceAppraisalAppIndicator appIndex = appIndicatorService.getById(id); + if(Objects.isNull(appIndex)){ + return null; + } + return BeanUtil.copyProperties(appIndex, AppIndexVO.class); + } + + public Boolean enOrDisAppIndex(Long appId, Boolean state) { + PerformanceAppraisalAppIndicator appIndicator = appIndicatorService.getById(appId); + if (Boolean.TRUE.equals(state)){ + appIndicator.setIsDisplay(Boolean.TRUE); + }else { + appIndicator.setIsDisplay(Boolean.FALSE); + } + return appIndicatorService.updateById(appIndicator); } } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalAppIndicatorMapper.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalAppIndicatorMapper.java new file mode 100644 index 0000000..3e60b91 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalAppIndicatorMapper.java @@ -0,0 +1,16 @@ +package com.ningdatech.pmapi.performance.mapper; + +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalAppIndicator; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author CMM + * @since 2023-07-29 + */ +public interface PerformanceAppraisalAppIndicatorMapper extends BaseMapper { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalAppIndicatorMapper.xml b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalAppIndicatorMapper.xml new file mode 100644 index 0000000..cb8a4d1 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalAppIndicatorMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalProjectIndicatorMapper.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalProjectIndicatorMapper.java new file mode 100644 index 0000000..03a900f --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalProjectIndicatorMapper.java @@ -0,0 +1,16 @@ +package com.ningdatech.pmapi.performance.mapper; + +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalProjectIndicator; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author CMM + * @since 2023-07-28 + */ +public interface PerformanceAppraisalProjectIndicatorMapper extends BaseMapper { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalProjectIndicatorMapper.xml b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalProjectIndicatorMapper.xml new file mode 100644 index 0000000..19e19bd --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/mapper/PerformanceAppraisalProjectIndicatorMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/PerformanceIndicatorAppIndexSaveDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/PerformanceIndicatorAppIndexSaveDTO.java new file mode 100644 index 0000000..4665378 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/PerformanceIndicatorAppIndexSaveDTO.java @@ -0,0 +1,49 @@ +package com.ningdatech.pmapi.performance.model.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import javax.validation.constraints.Size; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import org.hibernate.validator.constraints.Range; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 绩效评级-应用指标库 新增指标保存 + * @return + * @author CMM + * @since 2023/07/29 10:04 + */ +@Data +@ApiModel(value = "绩效评价考核应用指标库", description = "绩效评价考核应用指标库") +public class PerformanceIndicatorAppIndexSaveDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("指标名称") + private String indexName; + + @ApiModelProperty("指标所属模块") + private String indexOwningModule; + + @ApiModelProperty("指标展示顺序") + private Integer sort; + + @ApiModelProperty("展示形式(1 图标、2 文字、3 评分)") + private Integer displayForm; + + @ApiModelProperty("指标类型(1 通用指标、2 辅助指标)") + private Integer indexType; + + @ApiModelProperty("指标分值") + private BigDecimal indexScore; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/PerformanceIndicatorProjectIndexSaveDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/PerformanceIndicatorProjectIndexSaveDTO.java new file mode 100644 index 0000000..f0dd3cb --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/PerformanceIndicatorProjectIndexSaveDTO.java @@ -0,0 +1,56 @@ +package com.ningdatech.pmapi.performance.model.dto; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.hibernate.validator.constraints.Range; + +import javax.validation.constraints.Size; + +/** + * 绩效评级-项目指标库 新增指标保存 + * @return + * @author CMM + * @since 2023/07/28 15:44 + */ +@Data +@ApiModel(value = "绩效评价考核项目指标库", description = "绩效评价考核项目指标库") +public class PerformanceIndicatorProjectIndexSaveDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("指标名称") + @Size(max = 50) + private String indexName; + + @ApiModelProperty("指标级别(1 一级、2 二级、3 三级)") + private Integer indexLevel; + + @ApiModelProperty("指标分值") + @Range(min = 0, max = 100, message = "数值范围不正确,数值应大于0小于100") + private BigDecimal indexScore; + + @ApiModelProperty("指标细则") + @Size(max = 200) + private String indexDetail; + + @ApiModelProperty("评分细则") + @Size(max = 200) + private String gradeDetail; + + @ApiModelProperty("佐证材料") + @Size(max = 200) + private String supportMaterial; + + @ApiModelProperty("丽水 区域code") + private String regionCode; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/ProjectTemplateDetailDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/ProjectTemplateDetailDTO.java index 91caf9c..516321f 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/ProjectTemplateDetailDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/dto/ProjectTemplateDetailDTO.java @@ -24,6 +24,9 @@ public class ProjectTemplateDetailDTO implements Serializable { @ApiModelProperty("关联模板ID") private Long templateId; + @ApiModelProperty("指标ID") + private Long indexId; + @ApiModelProperty("指标名称") private String name; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceAppraisalAppIndicator.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceAppraisalAppIndicator.java new file mode 100644 index 0000000..466807b --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceAppraisalAppIndicator.java @@ -0,0 +1,64 @@ +package com.ningdatech.pmapi.performance.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author CMM + * @since 2023-07-29 + */ +@TableName("nd_performance_appraisal_app_indicator") +@ApiModel(value = "NdPerformanceAppraisalAppIndicator对象", description = "") +@Data +public class PerformanceAppraisalAppIndicator implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("指标名称") + private String indexName; + + @ApiModelProperty("指标所属模块") + private String indexOwningModule; + + @ApiModelProperty("指标展示顺序") + private Integer sort; + + @ApiModelProperty("展示形式(1 图标、2 文字、3 评分)") + private Integer displayForm; + + @ApiModelProperty("指标类型(1 通用指标、2 辅助指标)") + private Integer indexType; + + @ApiModelProperty("指标分值") + private BigDecimal indexScore; + + @ApiModelProperty("是否展示") + private Boolean isDisplay; + + @ApiModelProperty("创建时间") + private LocalDateTime createOn; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateOn; + + @ApiModelProperty("创建人") + private String updateBy; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceAppraisalProjectIndicator.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceAppraisalProjectIndicator.java new file mode 100644 index 0000000..8f58fe0 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceAppraisalProjectIndicator.java @@ -0,0 +1,65 @@ +package com.ningdatech.pmapi.performance.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * + *

+ * + * @author CMM + * @since 2023-07-28 + */ +@TableName("nd_performance_appraisal_project_indicator") +@ApiModel(value = "NdPerformanceAppraisalProjectIndicator对象", description = "") +@Data +public class PerformanceAppraisalProjectIndicator implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("指标名称") + private String indexName; + + @ApiModelProperty("指标级别(1 一级、2 二级、3 三级)") + private Integer indexLevel; + + @ApiModelProperty("指标分值") + private BigDecimal indexScore; + + @ApiModelProperty("指标细则") + private String indexDetail; + + @ApiModelProperty("评分细则") + private String gradeDetail; + + @ApiModelProperty("佐证材料") + private String supportMaterial; + + @ApiModelProperty("丽水 区域code") + private String regionCode; + + @ApiModelProperty("创建时间") + private LocalDateTime createOn; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateOn; + + @ApiModelProperty("更新人") + private String updateBy; + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceIndicatorProjectTemplateDetail.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceIndicatorProjectTemplateDetail.java index 3e6abcf..4eb23f3 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceIndicatorProjectTemplateDetail.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/entity/PerformanceIndicatorProjectTemplateDetail.java @@ -37,6 +37,9 @@ public class PerformanceIndicatorProjectTemplateDetail implements Serializable { @ApiModelProperty("关联模板ID") private Long templateId; + @ApiModelProperty("指标ID") + private Long indexId; + @ApiModelProperty("指标名称") private String name; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/req/PerformanceAppraisalListReq.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/req/PerformanceAppraisalListReq.java index 08ff060..cbe4d42 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/req/PerformanceAppraisalListReq.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/req/PerformanceAppraisalListReq.java @@ -37,6 +37,6 @@ public class PerformanceAppraisalListReq extends PagePo { @ApiModelProperty("指标名称") private String indexName; - @ApiModelProperty("指标类型 1一级指标 2二级指标 3三级指标") - private Integer type; + @ApiModelProperty("指标级别 1一级指标 2二级指标 3三级指标") + private Integer indexLevel; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/AppIndexVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/AppIndexVO.java new file mode 100644 index 0000000..ad8ab6d --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/AppIndexVO.java @@ -0,0 +1,61 @@ +package com.ningdatech.pmapi.performance.model.vo; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 绩效评价-项目指标库 + * @return + * @author CMM + * @since 2023/07/28 14:45 + */ +@Data +@ApiModel(value = "绩效评价项目指标库", description = "绩效评价项目指标库") +public class AppIndexVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("指标名称") + private String indexName; + + @ApiModelProperty("指标所属模块") + private String indexOwningModule; + + @ApiModelProperty("指标展示顺序") + private Integer sort; + + @ApiModelProperty("展示形式(1 图标、2 文字、3 评分)") + private Integer displayForm; + + @ApiModelProperty("指标类型(1 通用指标、2 辅助指标)") + private Integer indexType; + + @ApiModelProperty("指标分值") + private BigDecimal indexScore; + + @ApiModelProperty("是否展示") + private Boolean isDisplay; + + @ApiModelProperty("创建时间") + private LocalDateTime createOn; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateOn; + + @ApiModelProperty("创建人") + private String updateBy; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectIndexVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectIndexVO.java new file mode 100644 index 0000000..c1e0b2e --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectIndexVO.java @@ -0,0 +1,61 @@ +package com.ningdatech.pmapi.performance.model.vo; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.List; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 绩效评价-项目指标库 + * @return + * @author CMM + * @since 2023/07/28 14:45 + */ +@Data +@ApiModel(value = "绩效评价项目指标库", description = "绩效评价项目指标库") +public class ProjectIndexVO implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键ID") + private Long id; + + @ApiModelProperty("指标名称") + private String indexName; + + @ApiModelProperty("指标级别(1 一级、2 二级、3 三级)") + private Integer indexLevel; + + @ApiModelProperty("指标分值") + private BigDecimal indexScore; + + @ApiModelProperty("指标细则") + private String indexDetail; + + @ApiModelProperty("评分细则") + private String gradeDetail; + + @ApiModelProperty("佐证材料") + private String supportMaterial; + + @ApiModelProperty("丽水 区域code") + private String regionCode; + + @ApiModelProperty("创建时间") + private LocalDateTime createOn; + + @ApiModelProperty("创建人") + private String createBy; + + @ApiModelProperty("更新时间") + private LocalDateTime updateOn; + + @ApiModelProperty("更新人") + private String updateBy; +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectTemplateDetailVO.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectTemplateDetailVO.java index a006b1d..c4d4b1d 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectTemplateDetailVO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/model/vo/ProjectTemplateDetailVO.java @@ -23,6 +23,9 @@ public class ProjectTemplateDetailVO implements Serializable { @ApiModelProperty("关联模板ID") private Long templateId; + @ApiModelProperty("指标ID") + private Long indexId; + @ApiModelProperty("指标名称") private String name; diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/IPerformanceAppraisalAppIndicatorService.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/IPerformanceAppraisalAppIndicatorService.java new file mode 100644 index 0000000..940c0f6 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/IPerformanceAppraisalAppIndicatorService.java @@ -0,0 +1,16 @@ +package com.ningdatech.pmapi.performance.service; + +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalAppIndicator; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author CMM + * @since 2023-07-29 + */ +public interface IPerformanceAppraisalAppIndicatorService extends IService { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/IPerformanceAppraisalProjectIndicatorService.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/IPerformanceAppraisalProjectIndicatorService.java new file mode 100644 index 0000000..7e5f08f --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/IPerformanceAppraisalProjectIndicatorService.java @@ -0,0 +1,16 @@ +package com.ningdatech.pmapi.performance.service; + +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalProjectIndicator; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author CMM + * @since 2023-07-28 + */ +public interface IPerformanceAppraisalProjectIndicatorService extends IService { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/impl/PerformanceAppraisalAppIndicatorServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/impl/PerformanceAppraisalAppIndicatorServiceImpl.java new file mode 100644 index 0000000..429d15a --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/impl/PerformanceAppraisalAppIndicatorServiceImpl.java @@ -0,0 +1,20 @@ +package com.ningdatech.pmapi.performance.service.impl; + +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalAppIndicator; +import com.ningdatech.pmapi.performance.mapper.PerformanceAppraisalAppIndicatorMapper; +import com.ningdatech.pmapi.performance.service.IPerformanceAppraisalAppIndicatorService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author CMM + * @since 2023-07-29 + */ +@Service +public class PerformanceAppraisalAppIndicatorServiceImpl extends ServiceImpl implements IPerformanceAppraisalAppIndicatorService { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/impl/PerformanceAppraisalProjectIndicatorServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/impl/PerformanceAppraisalProjectIndicatorServiceImpl.java new file mode 100644 index 0000000..cdaece7 --- /dev/null +++ b/pmapi/src/main/java/com/ningdatech/pmapi/performance/service/impl/PerformanceAppraisalProjectIndicatorServiceImpl.java @@ -0,0 +1,20 @@ +package com.ningdatech.pmapi.performance.service.impl; + +import com.ningdatech.pmapi.performance.model.entity.PerformanceAppraisalProjectIndicator; +import com.ningdatech.pmapi.performance.mapper.PerformanceAppraisalProjectIndicatorMapper; +import com.ningdatech.pmapi.performance.service.IPerformanceAppraisalProjectIndicatorService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author CMM + * @since 2023-07-28 + */ +@Service +public class PerformanceAppraisalProjectIndicatorServiceImpl extends ServiceImpl implements IPerformanceAppraisalProjectIndicatorService { + +} diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ApplicationManage.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ApplicationManage.java index f85c7ad..9ca4c15 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ApplicationManage.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/manage/ApplicationManage.java @@ -106,6 +106,7 @@ public class ApplicationManage { RestTemplate restTemplate = new RestTemplate(); ResponseEntity forEntity = restTemplate.exchange(appUrl, HttpMethod.GET,formEntity, ApiResponse.class); + log.info("forEntity:",JSON.toJSONString(forEntity)); log.info("body:",forEntity.getBody()); ApiResponse body = forEntity.getBody(); diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java index 89d5769..8c38403 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/projectlib/model/dto/ProjectDTO.java @@ -314,4 +314,7 @@ public class ProjectDTO implements Serializable { //01政策、法规,02规划或决策部署,03上级下达任务,04领导批示,05单位核心业务或单位职能,00其他,多个时用中文;分割 private String baseProjBasis; + + @ApiModelProperty("项目类型 01首次建设;02迭代升级;03结转建设;04新运维;05续运维") + private String baseProjType; }