From 2d27b24029adafdbfc5703b38a519d65beda6a68 Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: 星期三, 20 十一月 2024 16:23:23 +0800
Subject: [PATCH] 更改
---
expert-admin/src/main/java/com/gkhy/web/controller/system/SysProfileController.java | 4
expert-system/src/main/java/com/gkhy/system/domain/SysSettings.java | 53
expert-admin/src/main/resources/banner.txt | 22
expert-admin/src/main/java/com/gkhy/web/controller/system/SysDeptController.java | 65
expert-common/src/main/java/com/gkhy/common/core/domain/model/LoginBody.java | 3
expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java | 32
expert-system/src/main/java/com/gkhy/system/mapper/SysDeptMapper.java | 12
expert-framework/src/main/java/com/gkhy/framework/config/SecurityConfig.java | 4
expert-admin/src/main/java/com/gkhy/web/controller/system/SysRegisterController.java | 76
expert-system/src/main/java/com/gkhy/system/service/ISysDeptService.java | 5
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveReqDto.java | 154 -
expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertInfoRoundReq.java | 23
expert-admin/src/main/java/com/gkhy/web/controller/common/CaptchaController.java | 31
expert-framework/src/main/java/com/gkhy/framework/config/MybatisPlusConfig.java | 45
expert-system/src/main/java/com/gkhy/system/service/ISysSettingsService.java | 41
expert-system/src/main/resources/mapper/system/EvaluationMapper.xml | 4
expert-admin/src/main/resources/application.yml | 58
ry.sh | 2
expert-framework/src/main/java/com/gkhy/framework/config/MyBatisConfig.java | 264 +-
expert-common/src/main/java/com/gkhy/common/enums/OpenFlagEnum.java | 10
expert-system/src/main/resources/mapper/system/SysSettingsMapper.xml | 12
expert-system/src/main/java/com/gkhy/system/domain/ProjectExpertDetail.java | 151
expert-system/src/main/java/com/gkhy/system/domain/ApplyRecord.java | 100
expert-system/src/main/java/com/gkhy/system/service/IEvaluationService.java | 5
expert-common/src/main/java/com/gkhy/common/utils/poi/ExcelUtil.java | 4
expert-system/src/main/java/com/gkhy/system/mapper/ProjectFileMapper.java | 11
expert-admin/pom.xml | 24
expert-admin/src/main/java/com/gkhy/web/controller/bussiness/EvaluationController.java | 86
expert-system/src/main/resources/mapper/system/ApplyRecordMapper.xml | 7
expert-common/src/main/java/com/gkhy/common/utils/file/FileUploadUtils.java | 6
expert-admin/src/main/java/com/gkhy/web/controller/system/SysLoginController.java | 7
expert-system/src/main/java/com/gkhy/system/mapper/ApplyRecordMapper.java | 9
expert-common/src/main/java/com/gkhy/common/enums/DeleteFlagEnum.java | 2
expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml | 94
expert-admin/src/main/java/com/gkhy/web/controller/system/SysSettingsController.java | 111
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertSectionResp.java | 16
expert-system/src/main/resources/mapper/system/SysDeptMapper.xml | 20
pom.xml | 99
expert-common/src/main/java/com/gkhy/common/core/domain/BaseEntity.java | 10
expert-common/pom.xml | 20
sql/ry_20240629.sql | 2
expert-system/src/main/java/com/gkhy/system/service/SysExpertClassifyService.java | 4
expert-admin/src/main/java/com/gkhy/ExpertServletInitializer.java | 4
expert-common/src/main/java/com/gkhy/common/config/ExpertConfig.java | 8
expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml | 48
expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java | 75
expert-common/src/main/java/com/gkhy/common/utils/file/ImageUtils.java | 4
expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java | 71
expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertClassifyServiceImpl.java | 30
.github/FUNDING.yml | 2
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java | 241 --
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertEvaluationResp.java | 23
expert-admin/src/main/resources/application-druid.yml | 4
expert-system/src/main/java/com/gkhy/system/mapper/ProjectManagementMapper.java | 30
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectArchiveReq.java | 34
expert-generator/src/main/resources/vm/java/service.java.vm | 20
expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertDetailMapper.java | 10
expert-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml | 2
expert-framework/src/main/java/com/gkhy/framework/config/ResourcesConfig.java | 4
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertResp.java | 35
expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java | 98
expert-admin/src/main/java/com/gkhy/web/core/config/SwaggerConfig.java | 6
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java | 47
expert-generator/src/main/resources/vm/java/mapper.java.vm | 66
expert-system/src/main/resources/mapper/system/ProjectExpertDetailMapper.xml | 67
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java | 38
expert-system/src/main/java/com/gkhy/system/service/impl/SysDeptServiceImpl.java | 18
expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java | 201 +
expert-system/src/main/java/com/gkhy/system/mapper/EvaluationMapper.java | 6
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertStateResp.java | 35
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertTeamLeaderReqDto.java | 18
bin/run.bat | 6
expert-system/src/main/java/com/gkhy/system/domain/vo/response/SysExpertSearchRep.java | 20
expert-generator/src/main/resources/vm/java/sub-domain.java.vm | 111
LICENSE | 2
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectCheckReq.java | 25
expert-system/src/main/resources/mapper/system/ProjectFileMapper.xml | 47
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectNumResp.java | 25
ry.bat | 24
expert-system/src/main/java/com/gkhy/system/domain/SysExpertClassify.java | 10
expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysProjectExpertReq.java | 30
README.md | 20
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveBatchReqDto.java | 28
expert-admin/src/main/java/com/gkhy/web/controller/common/CommonController.java | 42
expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java | 199 +
expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java | 33
expert-system/src/main/java/com/gkhy/system/mapper/SysSettingsMapper.java | 13
expert-system/src/main/java/com/gkhy/system/service/impl/EvaluationServiceImpl.java | 15
expert-admin/src/main/java/com/gkhy/ExpertApplication.java | 4
expert-system/src/main/java/com/gkhy/system/mapper/SysExpertInfoMapper.java | 25
expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java | 427 ++-
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java | 83
expert-system/src/main/java/com/gkhy/system/domain/ProjectFile.java | 262 +-
expert-system/pom.xml | 5
expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java | 137
expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertSearchReqDto.java | 33
expert-common/src/main/java/com/gkhy/common/core/domain/entity/SysDept.java | 23
expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java | 434 ++++
expert-common/src/main/java/com/gkhy/common/utils/ip/AddressUtils.java | 4
expert-generator/src/main/resources/vm/java/serviceImpl.java.vm | 183
expert-system/src/main/java/com/gkhy/system/domain/Evaluation.java | 159
expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertClassifyController.java | 38
expert-system/src/main/java/com/gkhy/system/mapper/SysExpertClassifyMapper.java | 4
expert-common/src/main/java/com/gkhy/common/utils/file/FileUtils.java | 4
/dev/null | 0
expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertStateReq.java | 27
expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java | 28
expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml | 98
expert-generator/src/main/resources/vm/java/domain.java.vm | 167
expert-admin/src/main/java/com/gkhy/web/controller/system/SysIndexController.java | 6
110 files changed, 3,680 insertions(+), 2,074 deletions(-)
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index fbcab77..dd340e6 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1 +1 @@
-custom: http://doc.ruoyi.vip/ruoyi-vue/other/donate.html
+custom: http://doc.expert.vip/expert-vue/other/donate.html
diff --git a/LICENSE b/LICENSE
index 8564f29..ba78534 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2018 RuoYi
+Copyright (c) 2018 expert
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
diff --git a/README.md b/README.md
index e5a47b8..2bfc07d 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,12 @@
<p align="center">
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
</p>
-<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.8.8</h1>
+<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">expert v3.8.8</h1>
<h4 align="center">基于SpringBoot+Vue前后端分离的Java快速开发框架</h4>
<p align="center">
- <a href="https://gitee.com/y_project/RuoYi-Vue/stargazers"><img src="https://gitee.com/y_project/RuoYi-Vue/badge/star.svg?theme=dark"></a>
- <a href="https://gitee.com/y_project/RuoYi-Vue"><img src="https://img.shields.io/badge/RuoYi-v3.8.8-brightgreen.svg"></a>
- <a href="https://gitee.com/y_project/RuoYi-Vue/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
+ <a href="https://gitee.com/y_project/expert-Vue/stargazers"><img src="https://gitee.com/y_project/expert-Vue/badge/star.svg?theme=dark"></a>
+ <a href="https://gitee.com/y_project/expert-Vue"><img src="https://img.shields.io/badge/expert-v3.8.8-brightgreen.svg"></a>
+ <a href="https://gitee.com/y_project/expert-Vue/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
</p>
## 平台简介
@@ -18,10 +18,10 @@
* 权限认证使用Jwt,支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* 高效率开发,使用代码生成器可以一键生成前后端代码。
-* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
-* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
-* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
-* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
+* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[expert-Vue3](https://github.com/yangzongzhuan/expert-Vue3),保持同步更新。
+* 提供了单应用版本[expert-Vue-fast](https://github.com/yangzongzhuan/expert-Vue-fast),Oracle版本[expert-Vue-Oracle](https://github.com/yangzongzhuan/expert-Vue-Oracle),保持同步更新。
+* 不分离版本,请移步[expert](https://gitee.com/y_project/expert),微服务版本,请移步[expert-Cloud](https://gitee.com/y_project/expert-Cloud)
+* 阿里云折扣场:[点我进入](http://aly.expert.vip),腾讯云秒杀场:[点我进入](http://txy.expert.vip)
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
## 内置功能
@@ -50,8 +50,8 @@
- admin/admin123
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
-演示地址:http://vue.ruoyi.vip
-文档地址:http://doc.ruoyi.vip
+演示地址:http://vue.expert.vip
+文档地址:http://doc.expert.vip
## 演示图
diff --git a/bin/run.bat b/bin/run.bat
index 99c4992..0905107 100644
--- a/bin/run.bat
+++ b/bin/run.bat
@@ -1,14 +1,14 @@
@echo off
echo.
-echo [��Ϣ] ʹ��Jar��������Web���̡�
+echo [��Ϣ] ʹ��Jar��������Web���̡�
echo.
cd %~dp0
-cd ../ruoyi-admin/target
+cd ../expert-admin/target
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
-java -jar %JAVA_OPTS% ruoyi-admin.jar
+java -jar %JAVA_OPTS% expert-admin.jar
cd bin
pause
\ No newline at end of file
diff --git "a/doc/\350\213\245\344\276\235\347\216\257\345\242\203\344\275\277\347\224\250\346\211\213\345\206\214.docx" "b/doc/\350\213\245\344\276\235\347\216\257\345\242\203\344\275\277\347\224\250\346\211\213\345\206\214.docx"
deleted file mode 100644
index 9e4daef..0000000
--- "a/doc/\350\213\245\344\276\235\347\216\257\345\242\203\344\275\277\347\224\250\346\211\213\345\206\214.docx"
+++ /dev/null
Binary files differ
diff --git a/expert-admin/pom.xml b/expert-admin/pom.xml
index ead0058..b8d2803 100644
--- a/expert-admin/pom.xml
+++ b/expert-admin/pom.xml
@@ -24,18 +24,24 @@
<optional>true</optional> <!-- 表示依赖不会传递 -->
</dependency>
- <!-- swagger3-->
<dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-boot-starter</artifactId>
+ <groupId>com.github.xiaoymin</groupId>
+ <artifactId>knife4j-spring-boot-starter</artifactId>
+ <version>3.0.3</version>
</dependency>
- <!-- 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 -->
- <dependency>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-models</artifactId>
- <version>1.6.2</version>
- </dependency>
+<!-- <!– swagger3–>-->
+<!-- <dependency>-->
+<!-- <groupId>io.springfox</groupId>-->
+<!-- <artifactId>springfox-boot-starter</artifactId>-->
+<!-- </dependency>-->
+
+<!-- <!– 防止进入swagger页面报类型转换错误,排除3.0.0中的引用,手动增加1.6.2版本 –>-->
+<!-- <dependency>-->
+<!-- <groupId>io.swagger</groupId>-->
+<!-- <artifactId>swagger-models</artifactId>-->
+<!-- <version>1.6.2</version>-->
+<!-- </dependency>-->
<!-- Mysql驱动包 -->
<dependency>
diff --git a/expert-admin/src/main/java/com/gkhy/ExpertApplication.java b/expert-admin/src/main/java/com/gkhy/ExpertApplication.java
index da1fae2..391acb4 100644
--- a/expert-admin/src/main/java/com/gkhy/ExpertApplication.java
+++ b/expert-admin/src/main/java/com/gkhy/ExpertApplication.java
@@ -10,11 +10,11 @@
* @author expert
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
-public class expertApplication
+public class ExpertApplication
{
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
- SpringApplication.run(expertApplication.class, args);
+ SpringApplication.run(ExpertApplication.class, args);
}
}
diff --git a/expert-admin/src/main/java/com/gkhy/ExpertServletInitializer.java b/expert-admin/src/main/java/com/gkhy/ExpertServletInitializer.java
index 30d9f31..d0acb4a 100644
--- a/expert-admin/src/main/java/com/gkhy/ExpertServletInitializer.java
+++ b/expert-admin/src/main/java/com/gkhy/ExpertServletInitializer.java
@@ -8,11 +8,11 @@
*
* @author expert
*/
-public class expertServletInitializer extends SpringBootServletInitializer
+public class ExpertServletInitializer extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
- return application.sources(expertApplication.class);
+ return application.sources(ExpertApplication.class);
}
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/EvaluationController.java b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/EvaluationController.java
index 3edc911..de8b19f 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/EvaluationController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/EvaluationController.java
@@ -1,36 +1,31 @@
-package com.gkhy.system.controller;
+package com.gkhy.web.controller.bussiness;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.gkhy.common.annotation.Log;
import com.gkhy.common.core.controller.BaseController;
import com.gkhy.common.core.domain.AjaxResult;
-import com.gkhy.common.enums.BusinessType;
+import com.gkhy.common.core.page.TableDataInfo;
import com.gkhy.system.domain.Evaluation;
import com.gkhy.system.service.IEvaluationService;
-import com.gkhy.common.utils.poi.ExcelUtil;
-import com.gkhy.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
* 考评管理Controller
- *
+ *
* @author expert
* @date 2024-11-13
*/
@RestController
+@Api(tags = "考评管理-考评管理前端控制器")
@RequestMapping("/system/evaluation")
-public class EvaluationController extends BaseController
-{
+public class EvaluationController extends BaseController {
@Autowired
private IEvaluationService evaluationService;
@@ -38,45 +33,26 @@
* 查询考评管理列表
*/
@PreAuthorize("@ss.hasPermi('system:evaluation:list')")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50")
+ })
+ @ApiOperation(value = "考评管理列表")
@GetMapping("/list")
- public TableDataInfo list(Evaluation evaluation)
- {
+ public TableDataInfo list(Evaluation evaluation) {
startPage();
List<Evaluation> list = evaluationService.selectEvaluationList(evaluation);
return getDataTable(list);
}
- /**
- * 导出考评管理列表
- */
- @PreAuthorize("@ss.hasPermi('system:evaluation:export')")
- @Log(title = "考评管理", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, Evaluation evaluation)
- {
- List<Evaluation> list = evaluationService.selectEvaluationList(evaluation);
- ExcelUtil<Evaluation> util = new ExcelUtil<Evaluation>(Evaluation.class);
- util.exportExcel(response, list, "考评管理数据");
- }
-
- /**
- * 获取考评管理详细信息
- */
- @PreAuthorize("@ss.hasPermi('system:evaluation:query')")
- @GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id)
- {
- return success(evaluationService.selectEvaluationById(id));
- }
/**
* 新增考评管理
*/
@PreAuthorize("@ss.hasPermi('system:evaluation:add')")
- @Log(title = "考评管理", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody Evaluation evaluation)
- {
+ @PostMapping("/add")
+ @ApiOperation(value = "新增考评管理")
+ public AjaxResult add(@Validated @RequestBody Evaluation evaluation) {
return toAjax(evaluationService.insertEvaluation(evaluation));
}
@@ -84,10 +60,9 @@
* 修改考评管理
*/
@PreAuthorize("@ss.hasPermi('system:evaluation:edit')")
- @Log(title = "考评管理", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody Evaluation evaluation)
- {
+ @PutMapping("/edit")
+ @ApiOperation(value = "修改考评管理")
+ public AjaxResult edit(@Validated @RequestBody Evaluation evaluation) {
return toAjax(evaluationService.updateEvaluation(evaluation));
}
@@ -95,10 +70,9 @@
* 删除考评管理
*/
@PreAuthorize("@ss.hasPermi('system:evaluation:remove')")
- @Log(title = "考评管理", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable Long[] ids)
- {
+ @DeleteMapping("/{ids}")
+ @ApiOperation(value = "删除考评管理")
+ public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(evaluationService.deleteEvaluationByIds(ids));
}
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertClassifyController.java b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertClassifyController.java
index 0291b85..8c669c7 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertClassifyController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertClassifyController.java
@@ -1,13 +1,15 @@
-package com.gkhy.assess.admin.controller.web;
+package com.gkhy.web.controller.bussiness;
-import com.gkhy.assess.common.annotation.RepeatSubmit;
-import com.gkhy.assess.common.api.CommonResult;
-import com.gkhy.assess.system.domain.SysExpertClassify;
-import com.gkhy.assess.system.service.SysExpertClassifyService;
+
+import com.gkhy.common.annotation.Anonymous;
+import com.gkhy.common.annotation.RepeatSubmit;
+import com.gkhy.common.core.domain.AjaxResult;
+import com.gkhy.system.domain.SysExpertClassify;
+import com.gkhy.system.service.SysExpertClassifyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@Api(tags = "专家库-专家分类前端控制器")
@@ -19,33 +21,35 @@
@ApiOperation(value = "专家分类列表(树形)")
@GetMapping("/tree")
- public CommonResult classifyTree(SysExpertClassify expertClassify){
- return CommonResult.success(expertClassifyService.classifyTree(expertClassify));
+ @Anonymous
+ @RepeatSubmit
+ public AjaxResult classifyTree(SysExpertClassify expertClassify){
+ return AjaxResult.success(expertClassifyService.classifyTree(expertClassify));
}
- @RequiresPermissions("system:assess:monitor")
+ @PreAuthorize("@ss.hasPermi('system:assess:monitor')")
@RepeatSubmit
@ApiOperation(value = "修改专家分类")
@PutMapping("/mod")
- public CommonResult modClassify(@RequestBody SysExpertClassify expertClassify){
- return CommonResult.success(expertClassifyService.modClassify(expertClassify));
+ public AjaxResult modClassify(@RequestBody SysExpertClassify expertClassify){
+ return AjaxResult.success(expertClassifyService.modClassify(expertClassify));
}
- @RequiresPermissions("system:assess:monitor")
+ @PreAuthorize("@ss.hasPermi('system:assess:monitor')")
@RepeatSubmit
@ApiOperation(value = "删除专家分类")
@DeleteMapping("/del/{classifyId}")
- public CommonResult delClassify(@PathVariable(value = "classifyId") Long classifyId){
- return CommonResult.success(expertClassifyService.delClassify(classifyId));
+ public AjaxResult delClassify(@PathVariable(value = "classifyId") Long classifyId){
+ return AjaxResult.success(expertClassifyService.delClassify(classifyId));
}
- @RequiresPermissions("system:assess:monitor")
+ @PreAuthorize("@ss.hasPermi('system:assess:monitor')")
@RepeatSubmit
@ApiOperation(value = "新增专家分类")
@PostMapping("/add")
- public CommonResult addClassify(@RequestBody SysExpertClassify expertClassify){
- return CommonResult.success(expertClassifyService.addClassify(expertClassify));
+ public AjaxResult addClassify(@RequestBody SysExpertClassify expertClassify){
+ return AjaxResult.success(expertClassifyService.addClassify(expertClassify));
}
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java
index 09a448f..3079375 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ExpertInfoController.java
@@ -1,86 +1,116 @@
-package com.gkhy.assess.admin.controller.web;
+package com.gkhy.web.controller.bussiness;
-import com.gkhy.assess.common.annotation.RepeatSubmit;
-import com.gkhy.assess.common.api.CommonResult;
-import com.gkhy.assess.system.domain.SysAgency;
-import com.gkhy.assess.system.domain.SysExpertClassify;
-import com.gkhy.assess.system.domain.SysExpertInfo;
-import com.gkhy.assess.system.domain.SysUser;
-import com.gkhy.assess.system.service.SysExpertInfoService;
+
+import com.gkhy.common.annotation.Anonymous;
+import com.gkhy.common.annotation.RepeatSubmit;
+import com.gkhy.common.core.controller.BaseController;
+import com.gkhy.common.core.domain.AjaxResult;
+import com.gkhy.common.core.domain.R;
+import com.gkhy.common.core.page.TableDataInfo;
+import com.gkhy.system.domain.SysExpertInfo;
+import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq;
+import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto;
+import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp;
+import com.gkhy.system.domain.vo.response.SysExpertSearchRep;
+import com.gkhy.system.service.SysExpertInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
-import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import java.util.List;
+
+/**
+ * @author admin
+ */
@Api(tags = "专家库-专家信息前端控制器")
@RestController
@RequestMapping("/system/expert_info")
-public class ExpertInfoController {
+public class ExpertInfoController extends BaseController {
@Autowired
private SysExpertInfoService expertInfoService;
- @RequiresPermissions("system:assess:monitor")
+ // @RequiresPermissions("system:assess:monitor")
@ApiOperation(value = "专家列表(分页)")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
@ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50")
})
@GetMapping("/list")
- public CommonResult exportInfoList(SysExpertInfo expertInfo){
- return CommonResult.success(expertInfoService.exportInfoList(expertInfo));
+ public TableDataInfo exportInfoList(SysExpertInfo expertInfo) {
+ startPage();
+ List<SysExpertInfo> sysExpertInfos = expertInfoService.exportInfoList(expertInfo);
+ return getDataTable(sysExpertInfos);
+
}
- @RequiresPermissions("system:assess:monitor")
+ // @RequiresPermissions("system:assess:monitor")
@RepeatSubmit
@ApiOperation(value = "新增专家信息")
@PostMapping("/add")
- public CommonResult addExpertInfo(@RequestBody SysExpertInfo expertInfo){
- return CommonResult.success(expertInfoService.addExpertInfo(expertInfo));
+ @Anonymous
+ public AjaxResult addExpertInfo(@RequestBody SysExpertInfo expertInfo) {
+ return AjaxResult.success(expertInfoService.addExpertInfo(expertInfo));
}
- @RequiresPermissions("system:assess:monitor")
+ //@RequiresPermissions("system:assess:monitor")
@RepeatSubmit
@ApiOperation(value = "修改专家信息")
@PutMapping("/mod")
- public CommonResult modExpertInfo(@RequestBody SysExpertInfo expertInfo){
- return CommonResult.success(expertInfoService.modExpertInfo(expertInfo));
+ public AjaxResult modExpertInfo(@RequestBody SysExpertInfo expertInfo) {
+ return AjaxResult.success(expertInfoService.modExpertInfo(expertInfo));
}
- @RequiresPermissions("system:assess:monitor")
+ //@RequiresPermissions("system:assess:monitor")
@RepeatSubmit
@ApiOperation(value = "删除专家信息")
@DeleteMapping("/del/{expertId}")
- public CommonResult delExpertInfo(@PathVariable(value = "expertId") Long expertId){
- return CommonResult.success(expertInfoService.delExpertInfo(expertId));
+ public AjaxResult delExpertInfo(@PathVariable(value = "expertId") Long expertId) {
+ return AjaxResult.success(expertInfoService.delExpertInfo(expertId));
}
- @RequiresPermissions("system:assess:monitor")
+ // @RequiresPermissions("system:assess:monitor")
@RepeatSubmit
@ApiOperation(value = "批量删除专家信息")
@DeleteMapping("/del/batch/{expertIds}")
- public CommonResult delExpertInfo(@PathVariable(value = "expertIds") Long[] expertIds){
- return CommonResult.success(expertInfoService.delExpertInfoBatch(expertIds));
+ public AjaxResult delExpertInfo(@PathVariable(value = "expertIds") Long[] expertIds) {
+ return AjaxResult.success(expertInfoService.delExpertInfoBatch(expertIds));
}
- @RequiresPermissions("system:assess:monitor")
+ // @RequiresPermissions("system:assess:monitor")
@ApiOperation(value = "根据id获取专家信息")
@GetMapping("/detail/{expertId}")
- public CommonResult exportInfoDetail(@PathVariable(value = "expertId") Long expertId){
- return CommonResult.success(expertInfoService.exportInfoDetail(expertId));
+ public R<SysExpertInfo> exportInfoDetail(@PathVariable(value = "expertId") Long expertId) {
+ return R.ok(expertInfoService.exportInfoDetail(expertId));
}
-
@RepeatSubmit
- @RequiresPermissions("system:assess:monitor")
- @ApiOperation(value = "审批状态修改,审批状态(0暂存,1审核中,2审批通过,3审批驳回,4已作废)")
+ //@RequiresPermissions("system:assess:monitor")
+ @ApiOperation(value = "审批状态修改,审批状态(0暂存,1审核中,2审批通过,3审批驳回,4专家库)")
@PostMapping("/changeApprove")
- public CommonResult changeApprove(@RequestBody SysExpertInfo expertInfo)
- {
- return CommonResult.success(expertInfoService.changeApprove(expertInfo));
+ public AjaxResult changeApprove(@RequestBody SysExpertInfo expertInfo) {
+ return AjaxResult.success(expertInfoService.changeApprove(expertInfo));
+ }
+
+ @RepeatSubmit
+ //@RequiresPermissions("system:assess:monitor")
+ @ApiOperation(value = "专家查询审批结果")
+ @PostMapping("/queryApprove")
+ @Anonymous
+ public R<SysExpertSearchRep> queryApprove(@Validated @RequestBody SysExpertSearchReqDto expertInfo) {
+ return R.ok(expertInfoService.queryApprove(expertInfo));
+ }
+
+ @RepeatSubmit
+ //@RequiresPermissions("system:assess:monitor")
+ @ApiOperation(value = "随机获取专家数据")
+ @PostMapping("/getExpertRound")
+ public R<List<ProjectExpertSectionResp>> getExpertRound(@Validated @RequestBody SysExpertInfoRoundReq expertInfo) {
+ return R.ok(expertInfoService.getExpertRound(expertInfo));
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java
index 56de2ec..bd5341e 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/bussiness/ProjectManagementController.java
@@ -1,25 +1,26 @@
-package com.gkhy.system.controller;
+package com.gkhy.web.controller.bussiness;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.gkhy.common.annotation.Log;
+import com.gkhy.common.annotation.RepeatSubmit;
import com.gkhy.common.core.controller.BaseController;
import com.gkhy.common.core.domain.AjaxResult;
-import com.gkhy.common.enums.BusinessType;
-import com.gkhy.system.domain.ProjectManagement;
-import com.gkhy.system.service.IProjectManagementService;
-import com.gkhy.common.utils.poi.ExcelUtil;
+import com.gkhy.common.core.domain.R;
import com.gkhy.common.core.page.TableDataInfo;
+import com.gkhy.system.domain.ProjectExpertDetail;
+import com.gkhy.system.domain.ProjectFile;
+import com.gkhy.system.domain.ProjectManagement;
+import com.gkhy.system.domain.vo.request.*;
+import com.gkhy.system.domain.vo.response.*;
+import com.gkhy.system.service.IProjectManagementService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
* 项目管理Controller
@@ -29,6 +30,7 @@
*/
@RestController
@RequestMapping("/system/management")
+@Api(tags = "项目管理专家考评-项目管理专家考评前端控制器")
public class ProjectManagementController extends BaseController
{
@Autowired
@@ -37,8 +39,13 @@
/**
* 查询项目管理列表
*/
+ @ApiOperation(value = "查询项目管理列表(分页)")
@PreAuthorize("@ss.hasPermi('system:management:list')")
@GetMapping("/list")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50")
+ })
public TableDataInfo list(ProjectManagement projectManagement)
{
startPage();
@@ -46,59 +53,171 @@
return getDataTable(list);
}
- /**
- * 导出项目管理列表
- */
- @PreAuthorize("@ss.hasPermi('system:management:export')")
- @Log(title = "项目管理", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, ProjectManagement projectManagement)
- {
- List<ProjectManagement> list = projectManagementService.selectProjectManagementList(projectManagement);
- ExcelUtil<ProjectManagement> util = new ExcelUtil<ProjectManagement>(ProjectManagement.class);
- util.exportExcel(response, list, "项目管理数据");
- }
/**
* 获取项目管理详细信息
*/
@PreAuthorize("@ss.hasPermi('system:management:query')")
@GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id)
+ @ApiOperation(value = "获取项目管理详细信息")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "当前页,默认1")
+ })
+ public R<ProjectManagement> getInfo(@PathVariable("id") Long id)
{
- return success(projectManagementService.selectProjectManagementById(id));
+ return R.ok(projectManagementService.selectProjectManagementById(id));
}
/**
* 新增项目管理
*/
@PreAuthorize("@ss.hasPermi('system:management:add')")
- @Log(title = "项目管理", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody ProjectManagement projectManagement)
+ @ApiOperation(value = "新增编辑项目管理")
+ @PostMapping("/saveProject")
+ @RepeatSubmit
+ public R addProject(@Validated @RequestBody ProjectManageSaveReq projectManagement)
{
- return toAjax(projectManagementService.insertProjectManagement(projectManagement));
+ return R.ok(projectManagementService.insertProjectManagement(projectManagement));
}
/**
* 修改项目管理
*/
@PreAuthorize("@ss.hasPermi('system:management:edit')")
- @Log(title = "项目管理", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody ProjectManagement projectManagement)
+ @ApiOperation(value = "项目专家选取保存-修改")
+ @PostMapping("/projectExpert")
+ @RepeatSubmit
+ public R projectExpert(@Validated @RequestBody ProjectExpertSaveBatchReqDto projectManagement)
{
- return toAjax(projectManagementService.updateProjectManagement(projectManagement));
+ projectManagementService.updateProjectManagement(projectManagement);
+ return R.ok();
+ }
+
+ @PreAuthorize("@ss.hasPermi('system:management:info')")
+ @ApiOperation(value = "获取项目专家审批用(获取项目信息和专家数据)")
+ @GetMapping("/projectExpertCheckInfo")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "long", required = true, value = "当前页,默认1")
+ })
+ public R<ProjectExpertManagementInfoRes> projectExpertCheckInfo(@RequestParam("id") Long id)
+ {
+ return R.ok(projectManagementService.projectExpertCheckInfo(id));
+ }
+
+ @PreAuthorize("@ss.hasPermi('system:management:edit')")
+ @ApiOperation(value = "项目专家审批")
+ @PostMapping("/projectCheck")
+ @RepeatSubmit
+ public R projectCheck(@Validated @RequestBody ProjectCheckReq req)
+ {
+ projectManagementService.projectCheck(req);
+ return R.ok();
+ }
+
+ @PreAuthorize("@ss.hasPermi('system:management:edit')")
+ @ApiOperation(value = "项目归档")
+ @PostMapping("/projectArchive")
+ @RepeatSubmit
+ public R projectArchive(@Validated @RequestBody ProjectArchiveReq req)
+ {
+ projectManagementService.projectArchive(req);
+ return R.ok();
}
/**
* 删除项目管理
*/
@PreAuthorize("@ss.hasPermi('system:management:remove')")
- @Log(title = "项目管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
+ @ApiOperation(value = "删除项目管理")
+ @RepeatSubmit
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(projectManagementService.deleteProjectManagementByIds(ids));
}
+
+
+ /**
+ * 事后考评列表
+ */
+ @ApiOperation(value = "事后考评——事后考评(分页)")
+ @PreAuthorize("@ss.hasPermi('system:management:list')")
+ @GetMapping("/projectExpertList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50")
+ })
+ public TableDataInfo projectExpertList(ProjectExpertStateReq req)
+ {
+ startPage();
+ List<ProjectExpertStateResp> list = projectManagementService.getProjectExpertSate(req);
+ return getDataTable(list);
+ }
+
+ @ApiOperation(value = "事后考评——项目专家考评列表(分页)")
+ @PreAuthorize("@ss.hasPermi('system:management:list')")
+ @GetMapping("/projectExpertEvaluationList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50"),
+ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "项目id")
+ })
+ public TableDataInfo projectExpertEvaluationList(@RequestParam("id") Long id)
+ {
+ startPage();
+ List<ProjectExpertEvaluationResp> projectExpertEvaluationResps = projectManagementService.projectExpertEvaluationList(id);
+ return getDataTable(projectExpertEvaluationResps);
+ }
+
+ @PreAuthorize("@ss.hasPermi('system:management:edit')")
+ @ApiOperation(value = "事后考评——项目专家考评")
+ @PostMapping("/ProjectExpertDetailSave")
+ @RepeatSubmit
+ public R projectExpertDetailSave(@Validated @RequestBody ProjectExpertScoreSaveReq req)
+ {
+ projectManagementService.projectExpertDetailSave(req);
+ return R.ok();
+ }
+
+ @ApiOperation(value = "专家考评记录——专家考评记录列表(分页)")
+ @PreAuthorize("@ss.hasPermi('system:management:list')")
+ @GetMapping("/projectExpertEvaList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"),
+ @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50"),
+ })
+ public TableDataInfo projectExpertEvaList(SysProjectExpertReq req)
+ {
+ startPage();
+ List<ProjectExpertResp> projectExpertResps = projectManagementService.projectExpertEvaList(req);
+ return getDataTable(projectExpertResps);
+ }
+
+ @ApiOperation(value = "专家考评记录——专家考评记明细")
+ @PreAuthorize("@ss.hasPermi('system:management:list')")
+ @GetMapping("/selectProjectExpertDetailList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "projectExpertId", dataType = "long", required = true, value = "项目专家id")
+ })
+ public R<List<ProjectExpertDetail>> selectProjectExpertDetailList(@RequestParam("projectExpertId") Long projectExpertId)
+ {
+ return R.ok(projectManagementService.selectProjectExpertDetailList(projectExpertId));
+ }
+
+ @GetMapping("/selectProjectFileList")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id"),
+ @ApiImplicitParam(paramType = "query", name = "module", dataType = "String", required = true, value = "附件类型1审批附件2项目附件")
+ })
+ @ApiOperation(value = "项目附件相关")
+ public R<List<ProjectFile>> selectProjectFileList(@RequestParam("projectId") Long projectId, @RequestParam("module") String module ){
+ return R.ok(projectManagementService.selectProjectFileList(projectId,module));
+ }
+
+ @GetMapping("/getProjectNum")
+ @ApiOperation(value = "项目统计数量")
+ public R<ProjectNumResp> getProjectNum(){
+ return R.ok(projectManagementService.getProjectNum());
+ }
+
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/common/CaptchaController.java b/expert-admin/src/main/java/com/gkhy/web/controller/common/CaptchaController.java
index 1adc44d..f2c7952 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/common/CaptchaController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/common/CaptchaController.java
@@ -1,17 +1,6 @@
package com.gkhy.web.controller.common;
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-import java.util.concurrent.TimeUnit;
-import javax.annotation.Resource;
-import javax.imageio.ImageIO;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.FastByteArrayOutputStream;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.google.code.kaptcha.Producer;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.constant.CacheConstants;
import com.gkhy.common.constant.Constants;
import com.gkhy.common.core.domain.AjaxResult;
@@ -19,6 +8,20 @@
import com.gkhy.common.utils.sign.Base64;
import com.gkhy.common.utils.uuid.IdUtils;
import com.gkhy.system.service.ISysConfigService;
+import com.google.code.kaptcha.Producer;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.FastByteArrayOutputStream;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
/**
* 验证码操作处理
@@ -26,6 +29,7 @@
* @author expert
*/
@RestController
+@Api(tags = "验证码操作处理")
public class CaptchaController
{
@Resource(name = "captchaProducer")
@@ -43,6 +47,7 @@
* 生成验证码
*/
@GetMapping("/captchaImage")
+ @ApiOperation(value = "生成验证码")
public AjaxResult getCode(HttpServletResponse response) throws IOException
{
AjaxResult ajax = AjaxResult.success();
@@ -61,7 +66,7 @@
BufferedImage image = null;
// 生成验证码
- String captchaType = expertConfig.getCaptchaType();
+ String captchaType = ExpertConfig.getCaptchaType();
if ("math".equals(captchaType))
{
String capText = captchaProducerMath.createText();
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/common/CommonController.java b/expert-admin/src/main/java/com/gkhy/web/controller/common/CommonController.java
index d153648..be5d96a 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/common/CommonController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/common/CommonController.java
@@ -1,9 +1,16 @@
package com.gkhy.web.controller.common;
-import java.util.ArrayList;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import com.gkhy.common.annotation.Anonymous;
+import com.gkhy.common.annotation.RepeatSubmit;
+import com.gkhy.common.config.ExpertConfig;
+import com.gkhy.common.constant.Constants;
+import com.gkhy.common.core.domain.AjaxResult;
+import com.gkhy.common.utils.StringUtils;
+import com.gkhy.common.utils.file.FileUploadUtils;
+import com.gkhy.common.utils.file.FileUtils;
+import com.gkhy.framework.config.ServerConfig;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -13,13 +20,11 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
-import com.gkhy.common.config.expertConfig;
-import com.gkhy.common.constant.Constants;
-import com.gkhy.common.core.domain.AjaxResult;
-import com.gkhy.common.utils.StringUtils;
-import com.gkhy.common.utils.file.FileUploadUtils;
-import com.gkhy.common.utils.file.FileUtils;
-import com.gkhy.framework.config.ServerConfig;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
/**
* 通用请求处理
@@ -28,6 +33,7 @@
*/
@RestController
@RequestMapping("/common")
+@Api(tags = "附件上传下载")
public class CommonController
{
private static final Logger log = LoggerFactory.getLogger(CommonController.class);
@@ -44,6 +50,7 @@
* @param delete 是否删除
*/
@GetMapping("/download")
+ @ApiOperation(value = "通用下载请求")
public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
{
try
@@ -53,7 +60,7 @@
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
- String filePath = expertConfig.getDownloadPath() + fileName;
+ String filePath = ExpertConfig.getDownloadPath() + fileName;
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
@@ -73,12 +80,15 @@
* 通用上传请求(单个)
*/
@PostMapping("/upload")
+ @ApiOperation(value = "通用上传请求(单个)")
+ @Anonymous
+ @RepeatSubmit
public AjaxResult uploadFile(MultipartFile file) throws Exception
{
try
{
// 上传文件路径
- String filePath = expertConfig.getUploadPath();
+ String filePath = ExpertConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName;
@@ -99,12 +109,13 @@
* 通用上传请求(多个)
*/
@PostMapping("/uploads")
+ @ApiOperation(value = "通用上传请求(多个)")
public AjaxResult uploadFiles(List<MultipartFile> files) throws Exception
{
try
{
// 上传文件路径
- String filePath = expertConfig.getUploadPath();
+ String filePath = ExpertConfig.getUploadPath();
List<String> urls = new ArrayList<String>();
List<String> fileNames = new ArrayList<String>();
List<String> newFileNames = new ArrayList<String>();
@@ -136,6 +147,7 @@
* 本地资源通用下载
*/
@GetMapping("/download/resource")
+ @ApiOperation(value = "本地资源通用下载")
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
@@ -146,7 +158,7 @@
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
}
// 本地资源路径
- String localPath = expertConfig.getProfile();
+ String localPath = ExpertConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
// 下载名称
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysDeptController.java b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysDeptController.java
index ddc1570..f567dce 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysDeptController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysDeptController.java
@@ -1,32 +1,33 @@
package com.gkhy.web.controller.system;
-import java.util.List;
-import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.gkhy.common.annotation.Anonymous;
import com.gkhy.common.annotation.Log;
import com.gkhy.common.constant.UserConstants;
import com.gkhy.common.core.controller.BaseController;
import com.gkhy.common.core.domain.AjaxResult;
+import com.gkhy.common.core.domain.R;
import com.gkhy.common.core.domain.entity.SysDept;
import com.gkhy.common.enums.BusinessType;
import com.gkhy.common.utils.StringUtils;
import com.gkhy.system.service.ISysDeptService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.ArrayUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
/**
* 部门信息
*
* @author expert
*/
+@Api(tags = "部门-业务处室")
@RestController
@RequestMapping("/system/dept")
public class SysDeptController extends BaseController
@@ -39,10 +40,22 @@
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
- public AjaxResult list(SysDept dept)
+ @ApiOperation(value = "获取部门列表")
+ public R<List<SysDept>> list(SysDept dept)
{
List<SysDept> depts = deptService.selectDeptList(dept);
- return success(depts);
+ return R.ok(depts);
+ }
+
+
+ // @PreAuthorize("@ss.hasPermi('system:dept:list')")
+ @GetMapping("/getOutDeptList")
+ @ApiOperation(value = "获取部门列表(公开)")
+ @Anonymous
+ public R<List<SysDept>> getOutDeptList(SysDept dept)
+ {
+ List<SysDept> depts = deptService.getOutDeptList(dept);
+ return R.ok(depts);
}
/**
@@ -50,11 +63,15 @@
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list/exclude/{deptId}")
- public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
+ })
+ @ApiOperation(value = "查询部门列表(排除节点)")
+ public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
{
List<SysDept> depts = deptService.selectDeptList(new SysDept());
depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
- return success(depts);
+ return R.ok(depts);
}
/**
@@ -62,10 +79,14 @@
*/
@PreAuthorize("@ss.hasPermi('system:dept:query')")
@GetMapping(value = "/{deptId}")
- public AjaxResult getInfo(@PathVariable Long deptId)
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
+ })
+ @ApiOperation(value = "根据部门编号获取详细信息")
+ public R<SysDept> getInfo(@PathVariable Long deptId)
{
deptService.checkDeptDataScope(deptId);
- return success(deptService.selectDeptById(deptId));
+ return R.ok(deptService.selectDeptById(deptId));
}
/**
@@ -73,7 +94,8 @@
*/
@PreAuthorize("@ss.hasPermi('system:dept:add')")
@Log(title = "部门管理", businessType = BusinessType.INSERT)
- @PostMapping
+ @PostMapping("/add")
+ @ApiOperation(value = "新增部门业务处室")
public AjaxResult add(@Validated @RequestBody SysDept dept)
{
if (!deptService.checkDeptNameUnique(dept))
@@ -89,6 +111,7 @@
*/
@PreAuthorize("@ss.hasPermi('system:dept:edit')")
@Log(title = "部门管理", businessType = BusinessType.UPDATE)
+ @ApiOperation(value = "修改部门门业务处室")
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDept dept)
{
@@ -116,6 +139,7 @@
@PreAuthorize("@ss.hasPermi('system:dept:remove')")
@Log(title = "部门管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptId}")
+ @ApiOperation(value = "删除部门门业务处室")
public AjaxResult remove(@PathVariable Long deptId)
{
if (deptService.hasChildByDeptId(deptId))
@@ -126,6 +150,7 @@
{
return warn("部门存在用户,不允许删除");
}
+ //todo 校验专家是否申请复用
deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysIndexController.java b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysIndexController.java
index 04d4e73..4df0c6d 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysIndexController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysIndexController.java
@@ -1,9 +1,10 @@
package com.gkhy.web.controller.system;
+import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.utils.StringUtils;
/**
@@ -11,12 +12,13 @@
*
* @author expert
*/
+
@RestController
public class SysIndexController
{
/** 系统基础配置 */
@Autowired
- private expertConfig expertConfig;
+ private ExpertConfig expertConfig;
/**
* 访问首页,提示语
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysLoginController.java b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysLoginController.java
index 4d315a0..23e8b27 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysLoginController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysLoginController.java
@@ -2,6 +2,9 @@
import java.util.List;
import java.util.Set;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -24,6 +27,7 @@
*
* @author expert
*/
+@Api(value = "登录管理", tags = "登录管理")
@RestController
public class SysLoginController
{
@@ -46,6 +50,7 @@
* @return 结果
*/
@PostMapping("/login")
+ @ApiOperation("登录")
public AjaxResult login(@RequestBody LoginBody loginBody)
{
AjaxResult ajax = AjaxResult.success();
@@ -62,6 +67,7 @@
* @return 用户信息
*/
@GetMapping("getInfo")
+ @ApiOperation("获取用户信息")
public AjaxResult getInfo()
{
LoginUser loginUser = SecurityUtils.getLoginUser();
@@ -88,6 +94,7 @@
* @return 路由信息
*/
@GetMapping("getRouters")
+ @ApiOperation("获取路由信息")
public AjaxResult getRouters()
{
Long userId = SecurityUtils.getUserId();
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysProfileController.java b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysProfileController.java
index c1f8d01..b7fd121 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysProfileController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysProfileController.java
@@ -10,7 +10,7 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.gkhy.common.annotation.Log;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.core.controller.BaseController;
import com.gkhy.common.core.domain.AjaxResult;
import com.gkhy.common.core.domain.entity.SysUser;
@@ -121,7 +121,7 @@
if (!file.isEmpty())
{
LoginUser loginUser = getLoginUser();
- String avatar = FileUploadUtils.upload(expertConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION);
+ String avatar = FileUploadUtils.upload(ExpertConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION);
if (userService.updateUserAvatar(loginUser.getUsername(), avatar))
{
AjaxResult ajax = AjaxResult.success();
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysRegisterController.java b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysRegisterController.java
index 184e0ba..ad86f86 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysRegisterController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysRegisterController.java
@@ -1,38 +1,38 @@
-package com.gkhy.web.controller.system;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-import com.gkhy.common.core.controller.BaseController;
-import com.gkhy.common.core.domain.AjaxResult;
-import com.gkhy.common.core.domain.model.RegisterBody;
-import com.gkhy.common.utils.StringUtils;
-import com.gkhy.framework.web.service.SysRegisterService;
-import com.gkhy.system.service.ISysConfigService;
-
-/**
- * 注册验证
- *
- * @author expert
- */
-@RestController
-public class SysRegisterController extends BaseController
-{
- @Autowired
- private SysRegisterService registerService;
-
- @Autowired
- private ISysConfigService configService;
-
- @PostMapping("/register")
- public AjaxResult register(@RequestBody RegisterBody user)
- {
- if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
- {
- return error("当前系统没有开启注册功能!");
- }
- String msg = registerService.register(user);
- return StringUtils.isEmpty(msg) ? success() : error(msg);
- }
-}
+//package com.gkhy.web.controller.system;
+//
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestBody;
+//import org.springframework.web.bind.annotation.RestController;
+//import com.gkhy.common.core.controller.BaseController;
+//import com.gkhy.common.core.domain.AjaxResult;
+//import com.gkhy.common.core.domain.model.RegisterBody;
+//import com.gkhy.common.utils.StringUtils;
+//import com.gkhy.framework.web.service.SysRegisterService;
+//import com.gkhy.system.service.ISysConfigService;
+//
+///**
+// * 注册验证
+// *
+// * @author expert
+// */
+//@RestController
+//public class SysRegisterController extends BaseController
+//{
+// @Autowired
+// private SysRegisterService registerService;
+//
+// @Autowired
+// private ISysConfigService configService;
+//
+// @PostMapping("/register")
+// public AjaxResult register(@RequestBody RegisterBody user)
+// {
+// if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser"))))
+// {
+// return error("当前系统没有开启注册功能!");
+// }
+// String msg = registerService.register(user);
+// return StringUtils.isEmpty(msg) ? success() : error(msg);
+// }
+//}
diff --git a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysSettingsController.java b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysSettingsController.java
index ea8d9f2..74c206b 100644
--- a/expert-admin/src/main/java/com/gkhy/web/controller/system/SysSettingsController.java
+++ b/expert-admin/src/main/java/com/gkhy/web/controller/system/SysSettingsController.java
@@ -1,25 +1,24 @@
-package com.gkhy.system.controller;
+package com.gkhy.web.controller.system;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.gkhy.common.annotation.Log;
+import com.gkhy.common.annotation.Anonymous;
+import com.gkhy.common.annotation.RepeatSubmit;
import com.gkhy.common.core.controller.BaseController;
import com.gkhy.common.core.domain.AjaxResult;
-import com.gkhy.common.enums.BusinessType;
-import com.gkhy.system.domain.SysSettings;
-import com.gkhy.system.service.ISysSettingsService;
-import com.gkhy.common.utils.poi.ExcelUtil;
+import com.gkhy.common.core.domain.R;
import com.gkhy.common.core.page.TableDataInfo;
+import com.gkhy.system.domain.ApplyRecord;
+import com.gkhy.system.service.ISysSettingsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
/**
* 系统配置Controller
@@ -29,76 +28,46 @@
*/
@RestController
@RequestMapping("/system/settings")
+@Api(tags = "专家申请系统设置-前端控制器")
public class SysSettingsController extends BaseController
{
@Autowired
private ISysSettingsService sysSettingsService;
-
- /**
- * 查询系统配置列表
- */
- @PreAuthorize("@ss.hasPermi('system:settings:list')")
- @GetMapping("/list")
- public TableDataInfo list(SysSettings sysSettings)
- {
- startPage();
- List<SysSettings> list = sysSettingsService.selectSysSettingsList(sysSettings);
- return getDataTable(list);
- }
-
- /**
- * 导出系统配置列表
- */
- @PreAuthorize("@ss.hasPermi('system:settings:export')")
- @Log(title = "系统配置", businessType = BusinessType.EXPORT)
- @PostMapping("/export")
- public void export(HttpServletResponse response, SysSettings sysSettings)
- {
- List<SysSettings> list = sysSettingsService.selectSysSettingsList(sysSettings);
- ExcelUtil<SysSettings> util = new ExcelUtil<SysSettings>(SysSettings.class);
- util.exportExcel(response, list, "系统配置数据");
- }
-
/**
* 获取系统配置详细信息
*/
- @PreAuthorize("@ss.hasPermi('system:settings:query')")
- @GetMapping(value = "/{state}")
- public AjaxResult getInfo(@PathVariable("state") String state)
+ @GetMapping(value = "/getSettings")
+ @RepeatSubmit
+ @ApiOperation(value = "获取是否开启1开启2关闭")
+ @Anonymous
+ public R<String> getSettings()
{
- return success(sysSettingsService.selectSysSettingsByState(state));
- }
-
- /**
- * 新增系统配置
- */
- @PreAuthorize("@ss.hasPermi('system:settings:add')")
- @Log(title = "系统配置", businessType = BusinessType.INSERT)
- @PostMapping
- public AjaxResult add(@RequestBody SysSettings sysSettings)
- {
- return toAjax(sysSettingsService.insertSysSettings(sysSettings));
+ return R.ok(sysSettingsService.selectSysSettings());
}
/**
* 修改系统配置
*/
@PreAuthorize("@ss.hasPermi('system:settings:edit')")
- @Log(title = "系统配置", businessType = BusinessType.UPDATE)
- @PutMapping
- public AjaxResult edit(@RequestBody SysSettings sysSettings)
+ @GetMapping("/updateSettings")
+ @RepeatSubmit
+ @ApiOperation(value = "专家申请系统设置开关")
+ @ApiImplicitParams({
+ @ApiImplicitParam(paramType = "query", name = "sysSettings", dataType = "String", required = false, value = "1开启2关闭")
+ })
+ public AjaxResult updateSettings(String sysSettings)
{
return toAjax(sysSettingsService.updateSysSettings(sysSettings));
}
- /**
- * 删除系统配置
- */
- @PreAuthorize("@ss.hasPermi('system:settings:remove')")
- @Log(title = "系统配置", businessType = BusinessType.DELETE)
- @DeleteMapping("/{states}")
- public AjaxResult remove(@PathVariable String[] states)
- {
- return toAjax(sysSettingsService.deleteSysSettingsByStates(states));
+ @PreAuthorize("@ss.hasPermi('system:record:list')")
+ @GetMapping("/applyList")
+ @ApiOperation(value = "专家申请系统设置记录")
+ public TableDataInfo applyList() {
+ startPage();
+ List<ApplyRecord> list = sysSettingsService.selectApplyRecordList();
+ return getDataTable(list);
}
+
+
}
diff --git a/expert-admin/src/main/java/com/gkhy/web/core/config/SwaggerConfig.java b/expert-admin/src/main/java/com/gkhy/web/core/config/SwaggerConfig.java
index 36271c0..d99c6ef 100644
--- a/expert-admin/src/main/java/com/gkhy/web/core/config/SwaggerConfig.java
+++ b/expert-admin/src/main/java/com/gkhy/web/core/config/SwaggerConfig.java
@@ -6,7 +6,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;
import springfox.documentation.builders.ApiInfoBuilder;
@@ -32,7 +32,7 @@
{
/** 系统基础配置 */
@Autowired
- private expertConfig expertConfig;
+ private ExpertConfig expertConfig;
/** 是否开启swagger */
@Value("${swagger.enabled}")
@@ -113,7 +113,7 @@
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
- .title("标题:若依管理系统_接口文档")
+ .title("标题:专家管理系统_接口文档")
// 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息
diff --git a/expert-admin/src/main/resources/application-druid.yml b/expert-admin/src/main/resources/application-druid.yml
index 1f1d605..cf564bf 100644
--- a/expert-admin/src/main/resources/application-druid.yml
+++ b/expert-admin/src/main/resources/application-druid.yml
@@ -6,9 +6,9 @@
druid:
# 主库数据源
master:
- url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://localhost:3306/expert_management?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&allowMultiQueries=true
username: root
- password: password
+ password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
diff --git a/expert-admin/src/main/resources/application.yml b/expert-admin/src/main/resources/application.yml
index 2ea29cf..3758b01 100644
--- a/expert-admin/src/main/resources/application.yml
+++ b/expert-admin/src/main/resources/application.yml
@@ -3,7 +3,7 @@
# 名称
name: expert
# 版本
- version: 3.8.8
+ version: 1.0.0
# 版权年份
copyrightYear: 2024
# 文件路径 示例( Windows配置D:/expert/uploadPath,Linux配置 /home/expert/uploadPath)
@@ -16,7 +16,7 @@
# 开发环境配置
server:
# 服务器的HTTP端口,默认为8080
- port: 8080
+ port: 8585
servlet:
# 应用的访问路径
context-path: /
@@ -74,7 +74,7 @@
# 数据库索引
database: 0
# 密码
- password:
+ #password:
# 连接超时时间
timeout: 10s
lettuce:
@@ -97,14 +97,56 @@
# 令牌有效期(默认30分钟)
expireTime: 30
-# MyBatis配置
-mybatis:
+## MyBatis配置
+#mybatis:
+# # 搜索指定包别名
+# typeAliasesPackage: com.gkhy.**.domain
+# # 配置mapper的扫描,找到所有的mapper.xml映射文件
+# mapperLocations: classpath*:mapper/**/*Mapper.xml
+# # 加载全局的配置文件
+# configLocation: classpath:mybatis/mybatis-config.xml
+
+
+# mybatis-plus相关配置
+# MyBatis Plus配置
+mybatis-plus:
# 搜索指定包别名
typeAliasesPackage: com.gkhy.**.domain
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
- # 加载全局的配置文件
- configLocation: classpath:mybatis/mybatis-config.xml
+ global-config:
+ db-config:
+ #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
+ id-type: auto
+ #字段策略 IGNORED:"忽略判断" NOT_NULL:"非 NULL 判断") NOT_EMPTY:"非空判断"
+ field-strategy: NOT_EMPTY
+ #数据库类型
+ db-type: MYSQL
+ configuration:
+ # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
+ map-underscore-to-camel-case: true
+ # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
+ call-setters-on-nulls: true
+#mybatis-plus:
+# # 搜索指定包别名
+# typeAliasesPackage: com.gkhy.**.domain
+# # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
+# mapper-locations: classpath*:mapper/**/*Mapper.xml
+# configLocation: classpath:mybatis/mybatis-config.xml
+# # 以下配置均有默认值,可以不设置
+# global-config:
+# db-config:
+# #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
+# id-type: auto
+# #字段策略 IGNORED:"忽略判断" NOT_NULL:"非 NULL 判断") NOT_EMPTY:"非空判断"
+# field-strategy: NOT_EMPTY
+# #数据库类型
+# db-type: MYSQL
+# configuration:
+# # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
+# map-underscore-to-camel-case: true
+# # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
+# call-setters-on-nulls: true
# PageHelper分页插件
pagehelper:
@@ -117,7 +159,7 @@
# 是否开启swagger
enabled: true
# 请求前缀
- pathMapping: /dev-api
+ pathMapping: /
# 防止XSS攻击
xss:
diff --git a/expert-admin/src/main/resources/banner.txt b/expert-admin/src/main/resources/banner.txt
index 423184f..ee26529 100644
--- a/expert-admin/src/main/resources/banner.txt
+++ b/expert-admin/src/main/resources/banner.txt
@@ -1,24 +1,2 @@
Application Version: ${expert.version}
Spring Boot Version: ${spring-boot.version}
-////////////////////////////////////////////////////////////////////
-// _ooOoo_ //
-// o8888888o //
-// 88" . "88 //
-// (| ^_^ |) //
-// O\ = /O //
-// ____/`---'\____ //
-// .' \\| |// `. //
-// / \\||| : |||// \ //
-// / _||||| -:- |||||- \ //
-// | | \\\ - /// | | //
-// | \_| ''\---/'' | | //
-// \ .-\__ `-` ___/-. / //
-// ___`. .' /--.--\ `. . ___ //
-// ."" '< `.___\_<|>_/___.' >'"". //
-// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
-// \ \ `-. \_ __\ /__ _/ .-` / / //
-// ========`-.____`-.___\_____/___.-`____.-'======== //
-// `=---=' //
-// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
-// 佛祖保佑 永不宕机 永无BUG //
-////////////////////////////////////////////////////////////////////
\ No newline at end of file
diff --git a/expert-common/pom.xml b/expert-common/pom.xml
index 9e49581..696bece 100644
--- a/expert-common/pom.xml
+++ b/expert-common/pom.xml
@@ -46,7 +46,19 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
-
+ <!--mybatis-plus-->
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-boot-starter</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-generator</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>cn.hutool</groupId>
+ <artifactId>hutool-all</artifactId>
+ </dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
@@ -118,6 +130,12 @@
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-annotations</artifactId>
+ <version>1.6.2</version>
+ <scope>compile</scope>
+ </dependency>
</dependencies>
diff --git a/expert-common/src/main/java/com/gkhy/common/config/ExpertConfig.java b/expert-common/src/main/java/com/gkhy/common/config/ExpertConfig.java
index cce1c80..d013d41 100644
--- a/expert-common/src/main/java/com/gkhy/common/config/ExpertConfig.java
+++ b/expert-common/src/main/java/com/gkhy/common/config/ExpertConfig.java
@@ -10,7 +10,7 @@
*/
@Component
@ConfigurationProperties(prefix = "expert")
-public class expertConfig
+public class ExpertConfig
{
/** 项目名称 */
private String name;
@@ -67,7 +67,7 @@
public void setProfile(String profile)
{
- expertConfig.profile = profile;
+ ExpertConfig.profile = profile;
}
public static boolean isAddressEnabled()
@@ -77,7 +77,7 @@
public void setAddressEnabled(boolean addressEnabled)
{
- expertConfig.addressEnabled = addressEnabled;
+ ExpertConfig.addressEnabled = addressEnabled;
}
public static String getCaptchaType() {
@@ -85,7 +85,7 @@
}
public void setCaptchaType(String captchaType) {
- expertConfig.captchaType = captchaType;
+ ExpertConfig.captchaType = captchaType;
}
/**
diff --git a/expert-common/src/main/java/com/gkhy/common/core/domain/BaseEntity.java b/expert-common/src/main/java/com/gkhy/common/core/domain/BaseEntity.java
index f80734c..da69756 100644
--- a/expert-common/src/main/java/com/gkhy/common/core/domain/BaseEntity.java
+++ b/expert-common/src/main/java/com/gkhy/common/core/domain/BaseEntity.java
@@ -1,12 +1,14 @@
package com.gkhy.common.core.domain;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
/**
* Entity基类
@@ -19,6 +21,7 @@
/** 搜索值 */
@JsonIgnore
+ @TableField(exist = false)
private String searchValue;
/** 创建者 */
@@ -40,6 +43,7 @@
/** 请求参数 */
@JsonInclude(JsonInclude.Include.NON_EMPTY)
+ @TableField(exist = false)
private Map<String, Object> params;
public String getSearchValue()
diff --git a/expert-common/src/main/java/com/gkhy/common/core/domain/entity/SysDept.java b/expert-common/src/main/java/com/gkhy/common/core/domain/entity/SysDept.java
index d912709..2d4670d 100644
--- a/expert-common/src/main/java/com/gkhy/common/core/domain/entity/SysDept.java
+++ b/expert-common/src/main/java/com/gkhy/common/core/domain/entity/SysDept.java
@@ -1,40 +1,51 @@
package com.gkhy.common.core.domain.entity;
-import java.util.ArrayList;
-import java.util.List;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.gkhy.common.core.domain.BaseEntity;
+import java.util.ArrayList;
+import java.util.List;
/**
* 部门表 sys_dept
*
* @author expert
*/
+@ApiModel(value = "SysDept对象", description = "部门业务处室")
public class SysDept extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 部门ID */
+ @ApiModelProperty("主键")
private Long deptId;
/** 父部门ID */
+ @ApiModelProperty("父部门ID")
private Long parentId;
/** 祖级列表 */
+ @ApiModelProperty("祖级列表")
private String ancestors;
/** 部门名称 */
+ @ApiModelProperty("部门名称")
+ @NotBlank(message ="部门名称不能为空" )
private String deptName;
/** 显示顺序 */
+ @ApiModelProperty("显示顺序")
private Integer orderNum;
/** 负责人 */
+ @ApiModelProperty("负责人")
private String leader;
/** 联系电话 */
@@ -44,12 +55,14 @@
private String email;
/** 部门状态:0正常,1停用 */
+ @ApiModelProperty("部门状态:0正常,1停用")
private String status;
/** 删除标志(0代表存在 2代表删除) */
private String delFlag;
/** 父部门名称 */
+ @ApiModelProperty("父部门名称")
private String parentName;
/** 子部门 */
diff --git a/expert-common/src/main/java/com/gkhy/common/core/domain/model/LoginBody.java b/expert-common/src/main/java/com/gkhy/common/core/domain/model/LoginBody.java
index a05d765..28d9065 100644
--- a/expert-common/src/main/java/com/gkhy/common/core/domain/model/LoginBody.java
+++ b/expert-common/src/main/java/com/gkhy/common/core/domain/model/LoginBody.java
@@ -1,10 +1,13 @@
package com.gkhy.common.core.domain.model;
+import io.swagger.annotations.ApiModel;
+
/**
* 用户登录对象
*
* @author expert
*/
+@ApiModel(value = "LoginBody", description = "登录实体")
public class LoginBody
{
/**
diff --git a/expert-common/src/main/java/com/gkhy/common/enums/DeleteFlagEnum.java b/expert-common/src/main/java/com/gkhy/common/enums/DeleteFlagEnum.java
index efe694b..9ea5548 100644
--- a/expert-common/src/main/java/com/gkhy/common/enums/DeleteFlagEnum.java
+++ b/expert-common/src/main/java/com/gkhy/common/enums/DeleteFlagEnum.java
@@ -1,4 +1,4 @@
-package com.gkhy.assess.common.enums;
+package com.gkhy.common.enums;
/**
* 删除状态
diff --git a/expert-common/src/main/java/com/gkhy/common/enums/OpenFlagEnum.java b/expert-common/src/main/java/com/gkhy/common/enums/OpenFlagEnum.java
index 9ea5548..4c69cf3 100644
--- a/expert-common/src/main/java/com/gkhy/common/enums/OpenFlagEnum.java
+++ b/expert-common/src/main/java/com/gkhy/common/enums/OpenFlagEnum.java
@@ -4,20 +4,20 @@
* 删除状态
*
*/
-public enum DeleteFlagEnum
+public enum OpenFlagEnum
{
- UN_DELETE(0, "未删除"), DELETED(1, "已删除");
+ OPEN("1", "开启"), CLOSE("2", "关闭");
- private final Integer code;
+ private final String code;
private final String info;
- DeleteFlagEnum(Integer code, String info)
+ OpenFlagEnum(String code, String info)
{
this.code = code;
this.info = info;
}
- public Integer getCode()
+ public String getCode()
{
return code;
}
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/file/FileUploadUtils.java b/expert-common/src/main/java/com/gkhy/common/utils/file/FileUploadUtils.java
index 9c3154e..c4b7ab1 100644
--- a/expert-common/src/main/java/com/gkhy/common/utils/file/FileUploadUtils.java
+++ b/expert-common/src/main/java/com/gkhy/common/utils/file/FileUploadUtils.java
@@ -6,7 +6,7 @@
import java.util.Objects;
import org.apache.commons.io.FilenameUtils;
import org.springframework.web.multipart.MultipartFile;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.constant.Constants;
import com.gkhy.common.exception.file.FileNameLengthLimitExceededException;
import com.gkhy.common.exception.file.FileSizeLimitExceededException;
@@ -35,7 +35,7 @@
/**
* 默认上传的地址
*/
- private static String defaultBaseDir = expertConfig.getProfile();
+ private static String defaultBaseDir = ExpertConfig.getProfile();
public static void setDefaultBaseDir(String defaultBaseDir)
{
@@ -142,7 +142,7 @@
public static final String getPathFileName(String uploadDir, String fileName) throws IOException
{
- int dirLastIndex = expertConfig.getProfile().length() + 1;
+ int dirLastIndex = ExpertConfig.getProfile().length() + 1;
String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
}
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/file/FileUtils.java b/expert-common/src/main/java/com/gkhy/common/utils/file/FileUtils.java
index 207967e..cc7a36a 100644
--- a/expert-common/src/main/java/com/gkhy/common/utils/file/FileUtils.java
+++ b/expert-common/src/main/java/com/gkhy/common/utils/file/FileUtils.java
@@ -13,7 +13,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.utils.DateUtils;
import com.gkhy.common.utils.StringUtils;
import com.gkhy.common.utils.uuid.IdUtils;
@@ -73,7 +73,7 @@
*/
public static String writeImportBytes(byte[] data) throws IOException
{
- return writeBytes(data, expertConfig.getImportPath());
+ return writeBytes(data, ExpertConfig.getImportPath());
}
/**
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/file/ImageUtils.java b/expert-common/src/main/java/com/gkhy/common/utils/file/ImageUtils.java
index bf8189a..3790a76 100644
--- a/expert-common/src/main/java/com/gkhy/common/utils/file/ImageUtils.java
+++ b/expert-common/src/main/java/com/gkhy/common/utils/file/ImageUtils.java
@@ -9,7 +9,7 @@
import org.apache.poi.util.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.constant.Constants;
import com.gkhy.common.utils.StringUtils;
@@ -79,7 +79,7 @@
else
{
// 本机地址
- String localPath = expertConfig.getProfile();
+ String localPath = ExpertConfig.getProfile();
String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX);
in = new FileInputStream(downloadPath);
}
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/ip/AddressUtils.java b/expert-common/src/main/java/com/gkhy/common/utils/ip/AddressUtils.java
index 3bf48b9..c185a73 100644
--- a/expert-common/src/main/java/com/gkhy/common/utils/ip/AddressUtils.java
+++ b/expert-common/src/main/java/com/gkhy/common/utils/ip/AddressUtils.java
@@ -4,7 +4,7 @@
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.constant.Constants;
import com.gkhy.common.utils.StringUtils;
import com.gkhy.common.utils.http.HttpUtils;
@@ -31,7 +31,7 @@
{
return "内网IP";
}
- if (expertConfig.isAddressEnabled())
+ if (ExpertConfig.isAddressEnabled())
{
try
{
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/poi/ExcelUtil.java b/expert-common/src/main/java/com/gkhy/common/utils/poi/ExcelUtil.java
index a357806..fd9e405 100644
--- a/expert-common/src/main/java/com/gkhy/common/utils/poi/ExcelUtil.java
+++ b/expert-common/src/main/java/com/gkhy/common/utils/poi/ExcelUtil.java
@@ -74,7 +74,7 @@
import com.gkhy.common.annotation.Excel.ColumnType;
import com.gkhy.common.annotation.Excel.Type;
import com.gkhy.common.annotation.Excels;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.core.domain.AjaxResult;
import com.gkhy.common.core.text.Convert;
import com.gkhy.common.exception.UtilException;
@@ -1423,7 +1423,7 @@
*/
public String getAbsoluteFile(String filename)
{
- String downloadPath = expertConfig.getDownloadPath() + filename;
+ String downloadPath = ExpertConfig.getDownloadPath() + filename;
File desc = new File(downloadPath);
if (!desc.getParentFile().exists())
{
diff --git a/expert-framework/src/main/java/com/gkhy/framework/config/MyBatisConfig.java b/expert-framework/src/main/java/com/gkhy/framework/config/MyBatisConfig.java
index 0e21c0f..2c3a807 100644
--- a/expert-framework/src/main/java/com/gkhy/framework/config/MyBatisConfig.java
+++ b/expert-framework/src/main/java/com/gkhy/framework/config/MyBatisConfig.java
@@ -1,132 +1,132 @@
-package com.gkhy.framework.config;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import javax.sql.DataSource;
-import org.apache.ibatis.io.VFS;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.core.io.DefaultResourceLoader;
-import org.springframework.core.io.Resource;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.core.io.support.ResourcePatternResolver;
-import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
-import org.springframework.core.type.classreading.MetadataReader;
-import org.springframework.core.type.classreading.MetadataReaderFactory;
-import org.springframework.util.ClassUtils;
-import com.gkhy.common.utils.StringUtils;
-
-/**
- * Mybatis支持*匹配扫描包
- *
- * @author expert
- */
-@Configuration
-public class MyBatisConfig
-{
- @Autowired
- private Environment env;
-
- static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
-
- public static String setTypeAliasesPackage(String typeAliasesPackage)
- {
- ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
- MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
- List<String> allResult = new ArrayList<String>();
- try
- {
- for (String aliasesPackage : typeAliasesPackage.split(","))
- {
- List<String> result = new ArrayList<String>();
- aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
- + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN;
- Resource[] resources = resolver.getResources(aliasesPackage);
- if (resources != null && resources.length > 0)
- {
- MetadataReader metadataReader = null;
- for (Resource resource : resources)
- {
- if (resource.isReadable())
- {
- metadataReader = metadataReaderFactory.getMetadataReader(resource);
- try
- {
- result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName());
- }
- catch (ClassNotFoundException e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- if (result.size() > 0)
- {
- HashSet<String> hashResult = new HashSet<String>(result);
- allResult.addAll(hashResult);
- }
- }
- if (allResult.size() > 0)
- {
- typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
- }
- else
- {
- throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包");
- }
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- return typeAliasesPackage;
- }
-
- public Resource[] resolveMapperLocations(String[] mapperLocations)
- {
- ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
- List<Resource> resources = new ArrayList<Resource>();
- if (mapperLocations != null)
- {
- for (String mapperLocation : mapperLocations)
- {
- try
- {
- Resource[] mappers = resourceResolver.getResources(mapperLocation);
- resources.addAll(Arrays.asList(mappers));
- }
- catch (IOException e)
- {
- // ignore
- }
- }
- }
- return resources.toArray(new Resource[resources.size()]);
- }
-
- @Bean
- public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
- {
- String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
- String mapperLocations = env.getProperty("mybatis.mapperLocations");
- String configLocation = env.getProperty("mybatis.configLocation");
- typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
- VFS.addImplClass(SpringBootVFS.class);
-
- final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
- sessionFactory.setDataSource(dataSource);
- sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
- sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
- sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
- return sessionFactory.getObject();
- }
-}
\ No newline at end of file
+//package com.gkhy.framework.config;
+//
+//import java.io.IOException;
+//import java.util.ArrayList;
+//import java.util.Arrays;
+//import java.util.HashSet;
+//import java.util.List;
+//import javax.sql.DataSource;
+//import org.apache.ibatis.io.VFS;
+//import org.apache.ibatis.session.SqlSessionFactory;
+//import org.mybatis.spring.SqlSessionFactoryBean;
+//import org.mybatis.spring.boot.autoconfigure.SpringBootVFS;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.core.env.Environment;
+//import org.springframework.core.io.DefaultResourceLoader;
+//import org.springframework.core.io.Resource;
+//import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
+//import org.springframework.core.io.support.ResourcePatternResolver;
+//import org.springframework.core.type.classreading.CachingMetadataReaderFactory;
+//import org.springframework.core.type.classreading.MetadataReader;
+//import org.springframework.core.type.classreading.MetadataReaderFactory;
+//import org.springframework.util.ClassUtils;
+//import com.gkhy.common.utils.StringUtils;
+//
+///**
+// * Mybatis支持*匹配扫描包
+// *
+// * @author expert
+// */
+//@Configuration
+//public class MyBatisConfig
+//{
+// @Autowired
+// private Environment env;
+//
+// static final String DEFAULT_RESOURCE_PATTERN = "**/*.class";
+//
+// public static String setTypeAliasesPackage(String typeAliasesPackage)
+// {
+// ResourcePatternResolver resolver = (ResourcePatternResolver) new PathMatchingResourcePatternResolver();
+// MetadataReaderFactory metadataReaderFactory = new CachingMetadataReaderFactory(resolver);
+// List<String> allResult = new ArrayList<String>();
+// try
+// {
+// for (String aliasesPackage : typeAliasesPackage.split(","))
+// {
+// List<String> result = new ArrayList<String>();
+// aliasesPackage = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX
+// + ClassUtils.convertClassNameToResourcePath(aliasesPackage.trim()) + "/" + DEFAULT_RESOURCE_PATTERN;
+// Resource[] resources = resolver.getResources(aliasesPackage);
+// if (resources != null && resources.length > 0)
+// {
+// MetadataReader metadataReader = null;
+// for (Resource resource : resources)
+// {
+// if (resource.isReadable())
+// {
+// metadataReader = metadataReaderFactory.getMetadataReader(resource);
+// try
+// {
+// result.add(Class.forName(metadataReader.getClassMetadata().getClassName()).getPackage().getName());
+// }
+// catch (ClassNotFoundException e)
+// {
+// e.printStackTrace();
+// }
+// }
+// }
+// }
+// if (result.size() > 0)
+// {
+// HashSet<String> hashResult = new HashSet<String>(result);
+// allResult.addAll(hashResult);
+// }
+// }
+// if (allResult.size() > 0)
+// {
+// typeAliasesPackage = String.join(",", (String[]) allResult.toArray(new String[0]));
+// }
+// else
+// {
+// throw new RuntimeException("mybatis typeAliasesPackage 路径扫描错误,参数typeAliasesPackage:" + typeAliasesPackage + "未找到任何包");
+// }
+// }
+// catch (IOException e)
+// {
+// e.printStackTrace();
+// }
+// return typeAliasesPackage;
+// }
+//
+// public Resource[] resolveMapperLocations(String[] mapperLocations)
+// {
+// ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver();
+// List<Resource> resources = new ArrayList<Resource>();
+// if (mapperLocations != null)
+// {
+// for (String mapperLocation : mapperLocations)
+// {
+// try
+// {
+// Resource[] mappers = resourceResolver.getResources(mapperLocation);
+// resources.addAll(Arrays.asList(mappers));
+// }
+// catch (IOException e)
+// {
+// // ignore
+// }
+// }
+// }
+// return resources.toArray(new Resource[resources.size()]);
+// }
+//
+// @Bean
+// public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception
+// {
+// String typeAliasesPackage = env.getProperty("mybatis.typeAliasesPackage");
+// String mapperLocations = env.getProperty("mybatis.mapperLocations");
+// String configLocation = env.getProperty("mybatis.configLocation");
+// typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage);
+// VFS.addImplClass(SpringBootVFS.class);
+//
+// final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
+// sessionFactory.setDataSource(dataSource);
+// sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
+// sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ",")));
+// sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation));
+// return sessionFactory.getObject();
+// }
+//}
\ No newline at end of file
diff --git a/expert-framework/src/main/java/com/gkhy/framework/config/MybatisPlusConfig.java b/expert-framework/src/main/java/com/gkhy/framework/config/MybatisPlusConfig.java
index d288787..c6394d7 100644
--- a/expert-framework/src/main/java/com/gkhy/framework/config/MybatisPlusConfig.java
+++ b/expert-framework/src/main/java/com/gkhy/framework/config/MybatisPlusConfig.java
@@ -1,17 +1,20 @@
-package com.gkhy.common.config;
+package com.gkhy.framework.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.github.pagehelper.PageHelper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.util.Properties;
@Configuration
+@EnableTransactionManagement(proxyTargetClass = true)
public class MybatisPlusConfig {
/**
* 新的分页插件,一缓和二缓遵循mybatis的规则,
@@ -19,11 +22,13 @@
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
- PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
- paginationInnerInterceptor.setOverflow(false);//溢出总页数 总是跳到第一页
- interceptor.addInnerInterceptor(paginationInnerInterceptor);
- //添加乐观锁插件
- interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
+ // 分页插件
+ interceptor.addInnerInterceptor(paginationInnerInterceptor());
+ // 乐观锁插件
+ interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());
+ // 阻断插件
+ interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
+
return interceptor;
}
@@ -38,5 +43,33 @@
pageHelper.setProperties(p);
return pageHelper;
}
+ /**
+ * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html
+ */
+ public PaginationInnerInterceptor paginationInnerInterceptor()
+ {
+ PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
+ // 设置数据库类型为mysql
+ paginationInnerInterceptor.setDbType(DbType.MYSQL);
+ // 设置最大单页限制数量,默认 500 条,-1 不受限制
+ paginationInnerInterceptor.setMaxLimit(-1L);
+ return paginationInnerInterceptor;
+ }
+
+ /**
+ * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html
+ */
+ public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor()
+ {
+ return new OptimisticLockerInnerInterceptor();
+ }
+
+ /**
+ * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html
+ */
+ public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
+ {
+ return new BlockAttackInnerInterceptor();
+ }
}
diff --git a/expert-framework/src/main/java/com/gkhy/framework/config/ResourcesConfig.java b/expert-framework/src/main/java/com/gkhy/framework/config/ResourcesConfig.java
index 5de79e4..517ec28 100644
--- a/expert-framework/src/main/java/com/gkhy/framework/config/ResourcesConfig.java
+++ b/expert-framework/src/main/java/com/gkhy/framework/config/ResourcesConfig.java
@@ -11,7 +11,7 @@
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-import com.gkhy.common.config.expertConfig;
+import com.gkhy.common.config.ExpertConfig;
import com.gkhy.common.constant.Constants;
import com.gkhy.framework.interceptor.RepeatSubmitInterceptor;
@@ -31,7 +31,7 @@
{
/** 本地文件上传路径 */
registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**")
- .addResourceLocations("file:" + expertConfig.getProfile() + "/");
+ .addResourceLocations("file:" + ExpertConfig.getProfile() + "/");
/** swagger配置 */
registry.addResourceHandler("/swagger-ui/**")
diff --git a/expert-framework/src/main/java/com/gkhy/framework/config/SecurityConfig.java b/expert-framework/src/main/java/com/gkhy/framework/config/SecurityConfig.java
index df59735..61e45bb 100644
--- a/expert-framework/src/main/java/com/gkhy/framework/config/SecurityConfig.java
+++ b/expert-framework/src/main/java/com/gkhy/framework/config/SecurityConfig.java
@@ -111,10 +111,10 @@
.authorizeHttpRequests((requests) -> {
permitAllUrl.getUrls().forEach(url -> requests.antMatchers(url).permitAll());
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
- requests.antMatchers("/login", "/register", "/captchaImage").permitAll()
+ requests.antMatchers("/login", "/register", "/captchaImage","/system/expert_info/**").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
- .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
+ .antMatchers("/doc.html","/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated();
})
diff --git a/expert-generator/src/main/resources/vm/java/domain.java.vm b/expert-generator/src/main/resources/vm/java/domain.java.vm
index 84e0fbc..437ad37 100644
--- a/expert-generator/src/main/resources/vm/java/domain.java.vm
+++ b/expert-generator/src/main/resources/vm/java/domain.java.vm
@@ -3,103 +3,106 @@
#foreach ($import in $importList)
import ${import};
#end
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.gkhy.common.annotation.Excel;
+import com.rchuing.sis.common.annotation.Excel;
#if($table.crud || $table.sub)
-import com.gkhy.common.core.domain.BaseEntity;
+import com.rchuing.sis.common.core.domain.BaseEntity;
#elseif($table.tree)
-import com.gkhy.common.core.domain.TreeEntity;
+import com.fenghuang.common.core.domain.TreeEntity;
#end
/**
* ${functionName}对象 ${tableName}
- *
+ *
* @author ${author}
* @date ${datetime}
*/
-#if($table.crud || $table.sub)
-#set($Entity="BaseEntity")
-#elseif($table.tree)
-#set($Entity="TreeEntity")
-#end
-public class ${ClassName} extends ${Entity}
-{
- private static final long serialVersionUID = 1L;
+ #if($table.crud || $table.sub)
+ #set($Entity="BaseEntity")
+ #elseif($table.tree)
+ #set($Entity="TreeEntity")
+ #end
+ @TableName(resultMap = "${packageName}.mapper.${ClassName}Mapper.${ClassName}Result")
+ public class ${ClassName} extends ${Entity}
+ {
+ private static final long serialVersionUID = 1L;
-#foreach ($column in $columns)
-#if(!$table.isSuperColumn($column.javaField))
- /** $column.columnComment */
-#if($column.list)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($parentheseIndex != -1)
- @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
-#elseif($column.javaType == 'Date')
- @JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
-#else
- @Excel(name = "${comment}")
-#end
-#end
- private $column.javaType $column.javaField;
+ #foreach ($column in $columns)
+ #if(!$table.isSuperColumn($column.javaField))
+ /** $column.columnComment */
+ #if($column.list)
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($parentheseIndex != -1)
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ #elseif($column.javaType == 'Date')
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
+ #else
+ @Excel(name = "${comment}")
+ #end
+ #end
+ #if($column.isPk == 1)
+ @TableId(value = "$column.columnName", type = IdType.AUTO)
+ #end
+ private $column.javaType $column.javaField;
-#end
-#end
-#if($table.sub)
- /** $table.subTable.functionName信息 */
- private List<${subClassName}> ${subclassName}List;
+ #end
+ #end
+ #if($table.sub)
+ /** $table.subTable.functionName信息 */
+ private List<${subClassName}> ${subclassName}List;
-#end
-#foreach ($column in $columns)
-#if(!$table.isSuperColumn($column.javaField))
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
- public void set${AttrName}($column.javaType $column.javaField)
- {
- this.$column.javaField = $column.javaField;
- }
+ #end
+ #foreach ($column in $columns)
+ #if(!$table.isSuperColumn($column.javaField))
+ #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
+ #set($AttrName=$column.javaField)
+ #else
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #end
+ public void set${AttrName}($column.javaType $column.javaField) {
+ this.$column.javaField = $column.javaField;
+ }
- public $column.javaType get${AttrName}()
- {
- return $column.javaField;
- }
-#end
-#end
+ public $column.javaType get${AttrName}() {
+ return $column.javaField;
+ }
+ #end
+ #end
-#if($table.sub)
- public List<${subClassName}> get${subClassName}List()
- {
- return ${subclassName}List;
- }
+ #if($table.sub)
+ public List<${subClassName}> get${subClassName}List() {
+ return ${subclassName}List;
+ }
- public void set${subClassName}List(List<${subClassName}> ${subclassName}List)
- {
- this.${subclassName}List = ${subclassName}List;
- }
+ public void set${subClassName}List(List<${subClassName}> ${subclassName}List) {
+ this.${subclassName}List = ${subclassName}List;
+ }
-#end
- @Override
- public String toString() {
- return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-#foreach ($column in $columns)
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
- .append("${column.javaField}", get${AttrName}())
-#end
-#if($table.sub)
- .append("${subclassName}List", get${subClassName}List())
-#end
- .toString();
- }
-}
+ #end
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ #foreach ($column in $columns)
+ #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
+ #set($AttrName=$column.javaField)
+ #else
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #end
+ .append("${column.javaField}", get${AttrName}())
+ #end
+ #if($table.sub)
+ .append("${subclassName}List", get${subClassName}List())
+ #end
+ .toString();
+ }
+ }
\ No newline at end of file
diff --git a/expert-generator/src/main/resources/vm/java/mapper.java.vm b/expert-generator/src/main/resources/vm/java/mapper.java.vm
index 7e7d7c2..8790aba 100644
--- a/expert-generator/src/main/resources/vm/java/mapper.java.vm
+++ b/expert-generator/src/main/resources/vm/java/mapper.java.vm
@@ -8,15 +8,15 @@
/**
* ${functionName}Mapper接口
- *
+ *
* @author ${author}
* @date ${datetime}
*/
-public interface ${ClassName}Mapper
+public interface ${ClassName}Mapper
{
/**
* 查询${functionName}
- *
+ *
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
@@ -24,7 +24,7 @@
/**
* 查询${functionName}列表
- *
+ *
* @param ${className} ${functionName}
* @return ${functionName}集合
*/
@@ -32,7 +32,7 @@
/**
* 新增${functionName}
- *
+ *
* @param ${className} ${functionName}
* @return 结果
*/
@@ -40,7 +40,7 @@
/**
* 修改${functionName}
- *
+ *
* @param ${className} ${functionName}
* @return 结果
*/
@@ -48,7 +48,7 @@
/**
* 删除${functionName}
- *
+ *
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
@@ -56,36 +56,36 @@
/**
* 批量删除${functionName}
- *
+ *
* @param ${pkColumn.javaField}s 需要删除的数据主键集合
* @return 结果
*/
public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
-#if($table.sub)
+ #if($table.sub)
- /**
- * 批量删除${subTable.functionName}
- *
- * @param ${pkColumn.javaField}s 需要删除的数据主键集合
- * @return 结果
- */
- public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
-
- /**
- * 批量新增${subTable.functionName}
- *
- * @param ${subclassName}List ${subTable.functionName}列表
- * @return 结果
- */
- public int batch${subClassName}(List<${subClassName}> ${subclassName}List);
-
+ /**
+ * 批量删除${subTable.functionName}
+ *
+ * @param ${pkColumn.javaField}s 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaType}[] ${pkColumn.javaField}s);
- /**
- * 通过${functionName}主键删除${subTable.functionName}信息
- *
- * @param ${pkColumn.javaField} ${functionName}ID
- * @return 结果
- */
- public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});
-#end
+ /**
+ * 批量新增${subTable.functionName}
+ *
+ * @param ${subclassName}List ${subTable.functionName}列表
+ * @return 结果
+ */
+ public int batch${subClassName}(List<${subClassName}> ${subclassName}List);
+
+
+ /**
+ * 通过${functionName}主键删除${subTable.functionName}信息
+ *
+ * @param ${pkColumn.javaField} ${functionName}ID
+ * @return 结果
+ */
+ public int delete${subClassName}By${subTableFkClassName}(${pkColumn.javaType} ${pkColumn.javaField});
+ #end
}
diff --git a/expert-generator/src/main/resources/vm/java/service.java.vm b/expert-generator/src/main/resources/vm/java/service.java.vm
index 264882b..1388232 100644
--- a/expert-generator/src/main/resources/vm/java/service.java.vm
+++ b/expert-generator/src/main/resources/vm/java/service.java.vm
@@ -2,18 +2,18 @@
import java.util.List;
import ${packageName}.domain.${ClassName};
+import com.baomidou.mybatisplus.extension.service.IService;
/**
* ${functionName}Service接口
- *
+ *
* @author ${author}
* @date ${datetime}
*/
-public interface I${ClassName}Service
-{
+public interface I${ClassName}Service extends IService<${ClassName}> {
/**
* 查询${functionName}
- *
+ *
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
@@ -21,7 +21,7 @@
/**
* 查询${functionName}列表
- *
+ *
* @param ${className} ${functionName}
* @return ${functionName}集合
*/
@@ -29,7 +29,7 @@
/**
* 新增${functionName}
- *
+ *
* @param ${className} ${functionName}
* @return 结果
*/
@@ -37,7 +37,7 @@
/**
* 修改${functionName}
- *
+ *
* @param ${className} ${functionName}
* @return 结果
*/
@@ -45,7 +45,7 @@
/**
* 批量删除${functionName}
- *
+ *
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键集合
* @return 结果
*/
@@ -53,9 +53,9 @@
/**
* 删除${functionName}信息
- *
+ *
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField});
-}
+}
\ No newline at end of file
diff --git a/expert-generator/src/main/resources/vm/java/serviceImpl.java.vm b/expert-generator/src/main/resources/vm/java/serviceImpl.java.vm
index ca20b6d..8f42917 100644
--- a/expert-generator/src/main/resources/vm/java/serviceImpl.java.vm
+++ b/expert-generator/src/main/resources/vm/java/serviceImpl.java.vm
@@ -1,169 +1,162 @@
package ${packageName}.service.impl;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
-#foreach ($column in $columns)
-#if($column.javaField == 'createTime' || $column.javaField == 'updateTime')
-import com.gkhy.common.utils.DateUtils;
-#break
-#end
-#end
+ #foreach ($column in $columns)
+ #if($column.javaField == 'createTime' || $column.javaField == 'updateTime')
+ import com.rchuing.common.utils.DateUtils;
+ #break
+ #end
+ #end
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-#if($table.sub)
-import java.util.ArrayList;
-import com.gkhy.common.utils.StringUtils;
-import org.springframework.transaction.annotation.Transactional;
-import ${packageName}.domain.${subClassName};
-#end
+ #if($table.sub)
+ import java.util.ArrayList;
+ import com.rchuing.common.utils.StringUtils;
+ import org.springframework.transaction.annotation.Transactional;
+ import ${packageName}.domain.${subClassName};
+ #end
import ${packageName}.mapper.${ClassName}Mapper;
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
/**
* ${functionName}Service业务层处理
- *
+ *
* @author ${author}
* @date ${datetime}
*/
@Service
-public class ${ClassName}ServiceImpl implements I${ClassName}Service
-{
+public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service {
@Autowired
private ${ClassName}Mapper ${className}Mapper;
/**
* 查询${functionName}
- *
+ *
* @param ${pkColumn.javaField} ${functionName}主键
* @return ${functionName}
*/
@Override
- public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
- {
+ public ${ClassName} select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
return ${className}Mapper.select${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
}
/**
* 查询${functionName}列表
- *
+ *
* @param ${className} ${functionName}
* @return ${functionName}
*/
@Override
- public List<${ClassName}> select${ClassName}List(${ClassName} ${className})
- {
+ public List<${ClassName}> select${ClassName}List(${ClassName} ${className}) {
return ${className}Mapper.select${ClassName}List(${className});
}
/**
* 新增${functionName}
- *
+ *
* @param ${className} ${functionName}
* @return 结果
*/
-#if($table.sub)
- @Transactional
-#end
+ #if($table.sub)
+ @Transactional
+ #end
@Override
- public int insert${ClassName}(${ClassName} ${className})
- {
-#foreach ($column in $columns)
-#if($column.javaField == 'createTime')
- ${className}.setCreateTime(DateUtils.getNowDate());
-#end
-#end
-#if($table.sub)
- int rows = ${className}Mapper.insert${ClassName}(${className});
- insert${subClassName}(${className});
- return rows;
-#else
- return ${className}Mapper.insert${ClassName}(${className});
-#end
+ public int insert${ClassName}(${ClassName} ${className}) {
+ #foreach ($column in $columns)
+ #if($column.javaField == 'createTime')
+ ${className}.setCreateTime(DateUtils.getNowDate());
+ #end
+ #end
+ #if($table.sub)
+ int rows = ${className}Mapper.insert${ClassName}(${className});
+ insert${subClassName}(${className});
+ return rows;
+ #else
+ return ${className}Mapper.insert${ClassName}(${className});
+ #end
}
/**
* 修改${functionName}
- *
+ *
* @param ${className} ${functionName}
* @return 结果
*/
-#if($table.sub)
- @Transactional
-#end
+ #if($table.sub)
+ @Transactional
+ #end
@Override
- public int update${ClassName}(${ClassName} ${className})
- {
-#foreach ($column in $columns)
-#if($column.javaField == 'updateTime')
- ${className}.setUpdateTime(DateUtils.getNowDate());
-#end
-#end
-#if($table.sub)
- ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
- insert${subClassName}(${className});
-#end
+ public int update${ClassName}(${ClassName} ${className}) {
+ #foreach ($column in $columns)
+ #if($column.javaField == 'updateTime')
+ ${className}.setUpdateTime(DateUtils.getNowDate());
+ #end
+ #end
+ #if($table.sub)
+ ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${className}.get${pkColumn.capJavaField}());
+ insert${subClassName}(${className});
+ #end
return ${className}Mapper.update${ClassName}(${className});
}
/**
* 批量删除${functionName}
- *
+ *
* @param ${pkColumn.javaField}s 需要删除的${functionName}主键
* @return 结果
*/
-#if($table.sub)
- @Transactional
-#end
+ #if($table.sub)
+ @Transactional
+ #end
@Override
- public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s)
- {
-#if($table.sub)
- ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
-#end
+ public int delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
+ #if($table.sub)
+ ${className}Mapper.delete${subClassName}By${subTableFkClassName}s(${pkColumn.javaField}s);
+ #end
return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}s(${pkColumn.javaField}s);
}
/**
* 删除${functionName}信息
- *
+ *
* @param ${pkColumn.javaField} ${functionName}主键
* @return 结果
*/
-#if($table.sub)
- @Transactional
-#end
+ #if($table.sub)
+ @Transactional
+ #end
@Override
- public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField})
- {
-#if($table.sub)
- ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
-#end
+ public int delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaType} ${pkColumn.javaField}) {
+ #if($table.sub)
+ ${className}Mapper.delete${subClassName}By${subTableFkClassName}(${pkColumn.javaField});
+ #end
return ${className}Mapper.delete${ClassName}By${pkColumn.capJavaField}(${pkColumn.javaField});
}
-#if($table.sub)
+ #if($table.sub)
- /**
- * 新增${subTable.functionName}信息
- *
- * @param ${className} ${functionName}对象
- */
- public void insert${subClassName}(${ClassName} ${className})
- {
- List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
- ${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
- if (StringUtils.isNotNull(${subclassName}List))
- {
- List<${subClassName}> list = new ArrayList<${subClassName}>();
- for (${subClassName} ${subclassName} : ${subclassName}List)
+ /**
+ * 新增${subTable.functionName}信息
+ *
+ * @param ${className} ${functionName}对象
+ */
+ public void insert${subClassName}(${ClassName} ${className}) {
+ List<${subClassName}> ${subclassName}List = ${className}.get${subClassName}List();
+ ${pkColumn.javaType} ${pkColumn.javaField} = ${className}.get${pkColumn.capJavaField}();
+ if (StringUtils.isNotNull(${subclassName}List))
{
- ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
- list.add(${subclassName});
- }
- if (list.size() > 0)
- {
- ${className}Mapper.batch${subClassName}(list);
+ List<${subClassName}> list = new ArrayList<${subClassName}>();
+ for (${subClassName} ${subclassName} : ${subclassName}List)
+ {
+ ${subclassName}.set${subTableFkClassName}(${pkColumn.javaField});
+ list.add(${subclassName});
+ }
+ if (list.size() > 0)
+ {
+ ${className}Mapper.batch${subClassName}(list);
+ }
}
}
- }
-#end
-}
+ #end
+}
\ No newline at end of file
diff --git a/expert-generator/src/main/resources/vm/java/sub-domain.java.vm b/expert-generator/src/main/resources/vm/java/sub-domain.java.vm
index 5025dbb..e2d8e20 100644
--- a/expert-generator/src/main/resources/vm/java/sub-domain.java.vm
+++ b/expert-generator/src/main/resources/vm/java/sub-domain.java.vm
@@ -1,76 +1,73 @@
package ${packageName}.domain;
-#foreach ($import in $subImportList)
-import ${import};
-#end
+ #foreach ($import in $subImportList)
+ import ${import};
+ #end
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.gkhy.common.annotation.Excel;
-import com.gkhy.common.core.domain.BaseEntity;
+import com.rchuing.common.annotation.Excel;
+import com.rchuing.common.core.domain.BaseEntity;
/**
* ${subTable.functionName}对象 ${subTableName}
- *
+ *
* @author ${author}
* @date ${datetime}
*/
-public class ${subClassName} extends BaseEntity
-{
+public class ${subClassName} extends BaseEntity {
private static final long serialVersionUID = 1L;
-#foreach ($column in $subTable.columns)
-#if(!$table.isSuperColumn($column.javaField))
- /** $column.columnComment */
-#if($column.list)
-#set($parentheseIndex=$column.columnComment.indexOf("("))
-#if($parentheseIndex != -1)
-#set($comment=$column.columnComment.substring(0, $parentheseIndex))
-#else
-#set($comment=$column.columnComment)
-#end
-#if($parentheseIndex != -1)
- @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
-#elseif($column.javaType == 'Date')
- @JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
-#else
- @Excel(name = "${comment}")
-#end
-#end
- private $column.javaType $column.javaField;
+ #foreach ($column in $subTable.columns)
+ #if(!$table.isSuperColumn($column.javaField))
+ /** $column.columnComment */
+ #if($column.list)
+ #set($parentheseIndex=$column.columnComment.indexOf("("))
+ #if($parentheseIndex != -1)
+ #set($comment=$column.columnComment.substring(0, $parentheseIndex))
+ #else
+ #set($comment=$column.columnComment)
+ #end
+ #if($parentheseIndex != -1)
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ #elseif($column.javaType == 'Date')
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
+ #else
+ @Excel(name = "${comment}")
+ #end
+ #end
+ private $column.javaType $column.javaField;
-#end
-#end
-#foreach ($column in $subTable.columns)
-#if(!$table.isSuperColumn($column.javaField))
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
- public void set${AttrName}($column.javaType $column.javaField)
- {
- this.$column.javaField = $column.javaField;
- }
+ #end
+ #end
+ #foreach ($column in $subTable.columns)
+ #if(!$table.isSuperColumn($column.javaField))
+ #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
+ #set($AttrName=$column.javaField)
+ #else
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #end
+ public void set${AttrName}($column.javaType $column.javaField) {
+ this.$column.javaField = $column.javaField;
+ }
- public $column.javaType get${AttrName}()
- {
- return $column.javaField;
- }
-#end
-#end
+ public $column.javaType get${AttrName}() {
+ return $column.javaField;
+ }
+ #end
+ #end
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-#foreach ($column in $subTable.columns)
-#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
-#set($AttrName=$column.javaField)
-#else
-#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
-#end
- .append("${column.javaField}", get${AttrName}())
-#end
- .toString();
+ #foreach ($column in $subTable.columns)
+ #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
+ #set($AttrName=$column.javaField)
+ #else
+ #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
+ #end
+ .append("${column.javaField}", get${AttrName}())
+ #end
+ .toString();
}
-}
+}
\ No newline at end of file
diff --git a/expert-system/pom.xml b/expert-system/pom.xml
index c1e747f..8ddf9ab 100644
--- a/expert-system/pom.xml
+++ b/expert-system/pom.xml
@@ -22,6 +22,11 @@
<groupId>com.gkhy</groupId>
<artifactId>expert-common</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ApplyRecord.java b/expert-system/src/main/java/com/gkhy/system/domain/ApplyRecord.java
index a3eca11..43b287b 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/ApplyRecord.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/ApplyRecord.java
@@ -1,14 +1,18 @@
package com.gkhy.system.domain;
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gkhy.common.annotation.Excel;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import java.util.Date;
+
/**
* 开启申请记录对象 apply_record
@@ -16,50 +20,60 @@
* @author expert
* @date 2024-11-13
*/
- @TableName(resultMap = "com.gkhy.system.mapper.ApplyRecordMapper.ApplyRecordResult")
- public class ApplyRecord extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.ApplyRecordMapper.ApplyRecordResult")
+@ApiModel(value = "系统配置记录", description = "专家申请系统记录")
+public class ApplyRecord extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** $column.columnComment */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
+ /**
+ * $column.columnComment
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
- /** 开始时间 */
- @JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
- private Date startTime;
+ /**
+ * 开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+ @ApiModelProperty("开始时间")
+ private Date startTime;
- /** 结束时间 */
- @JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
- private Date endTime;
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+ @ApiModelProperty("结束时间")
+ private Date endTime;
- public void setId(Long id) {
- this.id = id;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public Long getId() {
- return id;
- }
- public void setStartTime(Date startTime) {
- this.startTime = startTime;
- }
+ public Long getId() {
+ return id;
+ }
- public Date getStartTime() {
- return startTime;
- }
- public void setEndTime(Date endTime) {
- this.endTime = endTime;
- }
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
- public Date getEndTime() {
- return endTime;
- }
+ public Date getStartTime() {
+ return startTime;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ public void setEndTime(Date endTime) {
+ this.endTime = endTime;
+ }
+
+ public Date getEndTime() {
+ return endTime;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("startTime", getStartTime())
.append("endTime", getEndTime())
@@ -67,6 +81,6 @@
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/Evaluation.java b/expert-system/src/main/java/com/gkhy/system/domain/Evaluation.java
index 91b6bef..49448a9 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/Evaluation.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/Evaluation.java
@@ -3,10 +3,16 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.gkhy.common.annotation.Excel;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
/**
* 考评管理对象 evaluation
@@ -14,80 +20,103 @@
* @author expert
* @date 2024-11-13
*/
- @TableName(resultMap = "com.gkhy.system.mapper.EvaluationMapper.EvaluationResult")
- public class Evaluation extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.EvaluationMapper.EvaluationResult")
+@ApiModel(value = "考评管理对象", description = "考评管理表")
+public class Evaluation extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** $column.columnComment */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
+ /**
+ * $column.columnComment
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
- /** 分值 */
- @Excel(name = "分值")
- private Long score;
+ /**
+ * 分值
+ */
+ @Excel(name = "分值")
+ @NotNull(message ="分值不能为空" )
+ @ApiModelProperty(value = "分值",required = true)
+ private Long score;
- /** 内容 */
- @Excel(name = "内容")
- private String content;
+ /**
+ * 内容
+ */
+ @Excel(name = "内容")
+ @NotBlank(message ="内容不能为空" )
+ @ApiModelProperty(value = "内容",required = true)
+ private String content;
- /** 类型1加分项2扣分项 */
- @Excel(name = "类型1加分项2扣分项")
- private String scoreType;
+ /**
+ * 类型1加分项2扣分项
+ */
+ @Excel(name = "类型1加分项2扣分项")
+ @NotBlank(message ="类型不能为空" )
+ @ApiModelProperty(value = "类型1加分项2扣分项",required = true)
+ private String scoreType;
- /** 删除标志(0代表存在,1代表删除,默认0) */
- private Long delFlag;
+ /**
+ * 删除标志(0代表存在,1代表删除,默认0)
+ */
+ private Long delFlag;
- /** 乐观锁 */
- @Excel(name = "乐观锁")
- private Long version;
+ /**
+ * 乐观锁
+ */
+ @Excel(name = "乐观锁")
+ private Long version;
- public void setId(Long id) {
- this.id = id;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public Long getId() {
- return id;
- }
- public void setScore(Long score) {
- this.score = score;
- }
+ public Long getId() {
+ return id;
+ }
- public Long getScore() {
- return score;
- }
- public void setContent(String content) {
- this.content = content;
- }
+ public void setScore(Long score) {
+ this.score = score;
+ }
- public String getContent() {
- return content;
- }
- public void setScoreType(String scoreType) {
- this.scoreType = scoreType;
- }
+ public Long getScore() {
+ return score;
+ }
- public String getScoreType() {
- return scoreType;
- }
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
+ public void setContent(String content) {
+ this.content = content;
+ }
- public Long getDelFlag() {
- return delFlag;
- }
- public void setVersion(Long version) {
- this.version = version;
- }
+ public String getContent() {
+ return content;
+ }
- public Long getVersion() {
- return version;
- }
+ public void setScoreType(String scoreType) {
+ this.scoreType = scoreType;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ public String getScoreType() {
+ return scoreType;
+ }
+
+ public void setDelFlag(Long delFlag) {
+ this.delFlag = delFlag;
+ }
+
+ public Long getDelFlag() {
+ return delFlag;
+ }
+
+ public void setVersion(Long version) {
+ this.version = version;
+ }
+
+ public Long getVersion() {
+ return version;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("score", getScore())
.append("content", getContent())
@@ -98,6 +127,6 @@
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java b/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java
index 4d4364c..5fcb183 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpert.java
@@ -3,10 +3,14 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotNull;
+
/**
* 项目专家关联对象 project_expert
@@ -14,107 +18,134 @@
* @author expert
* @date 2024-11-14
*/
- @TableName(resultMap = "com.gkhy.system.mapper.ProjectExpertMapper.ProjectExpertResult")
- public class ProjectExpert extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.ProjectExpertMapper.ProjectExpertResult")
+@ApiModel(value = "项目专家关联对象", description = "项目专家关联对象表")
+public class ProjectExpert extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** $column.columnComment */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
+ /**
+ * $column.columnComment
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
- /** 项目id */
- @Excel(name = "项目id")
- private Long projectId;
+ /**
+ * 项目id
+ */
+ @ApiModelProperty(name = "项目名称",required = true)
+ @NotNull(message = "项目不能为空")
+ private Long projectId;
- /** 专家id */
- @Excel(name = "专家id")
- private Long expertId;
+ /**
+ * 专家id
+ */
+ @ApiModelProperty(name = "专家id",required = true)
+ @NotNull(message = "选择专家")
+ private Long expertId;
- /** 总分 */
- @Excel(name = "总分")
- private Long score;
+ /**
+ * 总分
+ */
+ @ApiModelProperty(name = "总分")
+ private Long score;
- /** 评估状态0未评估1已评估 */
- @Excel(name = "评估状态0未评估1已评估")
- private Long envaluationState;
+ /**
+ * 评估状态0未评估1已评估
+ */
+ @ApiModelProperty(name = "评估状态0未评估1已评估")
+ private Long evaluationState;
- /** 选取方式1固定2随机 */
- @Excel(name = "选取方式1固定2随机")
- private Long selectionMode;
+ /**
+ * 选取方式1固定2随机
+ */
+ @ApiModelProperty(name = "选取方式1固定2随机",required = true)
+ @NotNull(message = "选取方式不能为空")
+ private Long selectionMode;
- /** 是否组长0否1是 */
- @Excel(name = "是否组长0否1是")
- private Long teamLeader;
+ /**
+ * 是否组长0否1是
+ */
+ @ApiModelProperty(name = "是否组长0否1是",required = true)
+ @NotNull(message = "是否组长不能为空")
+ private Long teamLeader;
- /** 删除标志(0代表存在,1代表删除,默认0) */
- private Long delFlag;
+ /**
+ * 删除标志(0代表存在,1代表删除,默认0)
+ */
+ private Long delFlag;
- public void setId(Long id) {
- this.id = id;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public Long getId() {
- return id;
- }
- public void setProjectId(Long projectId) {
- this.projectId = projectId;
- }
+ public Long getId() {
+ return id;
+ }
- public Long getProjectId() {
- return projectId;
- }
- public void setExpertId(Long expertId) {
- this.expertId = expertId;
- }
+ public void setProjectId(Long projectId) {
+ this.projectId = projectId;
+ }
- public Long getExpertId() {
- return expertId;
- }
- public void setScore(Long score) {
- this.score = score;
- }
+ public Long getProjectId() {
+ return projectId;
+ }
- public Long getScore() {
- return score;
- }
- public void setEnvaluationState(Long envaluationState) {
- this.envaluationState = envaluationState;
- }
+ public void setExpertId(Long expertId) {
+ this.expertId = expertId;
+ }
- public Long getEnvaluationState() {
- return envaluationState;
- }
- public void setSelectionMode(Long selectionMode) {
- this.selectionMode = selectionMode;
- }
+ public Long getExpertId() {
+ return expertId;
+ }
- public Long getSelectionMode() {
- return selectionMode;
- }
- public void setTeamLeader(Long teamLeader) {
- this.teamLeader = teamLeader;
- }
+ public void setScore(Long score) {
+ this.score = score;
+ }
- public Long getTeamLeader() {
- return teamLeader;
- }
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
+ public Long getScore() {
+ return score;
+ }
- public Long getDelFlag() {
- return delFlag;
- }
+ public void setevaluationState(Long evaluationState) {
+ this.evaluationState = evaluationState;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ public Long getevaluationState() {
+ return evaluationState;
+ }
+
+ public void setSelectionMode(Long selectionMode) {
+ this.selectionMode = selectionMode;
+ }
+
+ public Long getSelectionMode() {
+ return selectionMode;
+ }
+
+ public void setTeamLeader(Long teamLeader) {
+ this.teamLeader = teamLeader;
+ }
+
+ public Long getTeamLeader() {
+ return teamLeader;
+ }
+
+ public void setDelFlag(Long delFlag) {
+ this.delFlag = delFlag;
+ }
+
+ public Long getDelFlag() {
+ return delFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectId", getProjectId())
.append("expertId", getExpertId())
.append("score", getScore())
- .append("envaluationState", getEnvaluationState())
+ .append("evaluationState", getevaluationState())
.append("selectionMode", getSelectionMode())
.append("teamLeader", getTeamLeader())
.append("delFlag", getDelFlag())
@@ -122,6 +153,6 @@
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpertDetail.java b/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpertDetail.java
index 97d99e2..a27a06d 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpertDetail.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/ProjectExpertDetail.java
@@ -3,10 +3,16 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.gkhy.common.annotation.Excel;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
/**
* 项目专家得分明细对象 project_expert_detail
@@ -14,71 +20,94 @@
* @author expert
* @date 2024-11-14
*/
- @TableName(resultMap = "com.gkhy.system.mapper.ProjectExpertDetailMapper.ProjectExpertDetailResult")
- public class ProjectExpertDetail extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.ProjectExpertDetailMapper.ProjectExpertDetailResult")
+@ApiModel(value = "项目专家得分明细对象", description = "项目专家得分明细对象表")
+public class ProjectExpertDetail extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** $column.columnComment */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
+ /**
+ * $column.columnComment
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
- /** 项目专家表id */
- @Excel(name = "项目专家表id")
- private Long projectExpert;
+ /**
+ * 项目专家表id
+ */
+ @Excel(name = "项目专家表id")
+ @ApiModelProperty(value = "项目专家表id",required = true)
+ @NotNull(message = "参数不能为空")
+ private Long projectExpertId;
- /** 内容 */
- @Excel(name = "内容")
- private String content;
+ /**
+ * 内容
+ */
+ @Excel(name = "内容")
+ @NotBlank(message = "内容不能为空")
+ @ApiModelProperty(value = "内容",required = true)
+ private String content;
- /** 分值 */
- @Excel(name = "分值")
- private Long score;
+ /**
+ * 分值
+ */
+ @ApiModelProperty(value = "分值")
+ @NotNull(message = "分值不能为空")
+ private Long score;
- /** 删除标志(0代表存在,1代表删除,默认0) */
- private Long delFlag;
+ @NotBlank(message = "评分类型不能为空")
+ @ApiModelProperty(value = "类型1加分项2扣分项",required = true)
+ private String scoreType;
- public void setId(Long id) {
- this.id = id;
- }
+ /**
+ * 删除标志(0代表存在,1代表删除,默认0)
+ */
+ private Long delFlag;
- public Long getId() {
- return id;
- }
- public void setProjectExpert(Long projectExpert) {
- this.projectExpert = projectExpert;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public Long getProjectExpert() {
- return projectExpert;
- }
- public void setContent(String content) {
- this.content = content;
- }
+ public Long getId() {
+ return id;
+ }
- public String getContent() {
- return content;
- }
- public void setScore(Long score) {
- this.score = score;
- }
+ public void setProjectExpertId(Long projectExpertId) {
+ this.projectExpertId = projectExpertId;
+ }
- public Long getScore() {
- return score;
- }
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
+ public Long getProjectExpertId() {
+ return projectExpertId;
+ }
- public Long getDelFlag() {
- return delFlag;
- }
+ public void setContent(String content) {
+ this.content = content;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ public String getContent() {
+ return content;
+ }
+
+ public void setScore(Long score) {
+ this.score = score;
+ }
+
+ public Long getScore() {
+ return score;
+ }
+
+ public void setDelFlag(Long delFlag) {
+ this.delFlag = delFlag;
+ }
+
+ public Long getDelFlag() {
+ return delFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
- .append("projectExpert", getProjectExpert())
+ .append("projectExpert", getProjectExpertId())
.append("content", getContent())
.append("score", getScore())
.append("delFlag", getDelFlag())
@@ -86,6 +115,14 @@
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+
+ public String getScoreType() {
+ return scoreType;
+ }
+
+ public void setScoreType( String scoreType) {
+ this.scoreType = scoreType;
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ProjectFile.java b/expert-system/src/main/java/com/gkhy/system/domain/ProjectFile.java
index 6e7bbf4..29a626d 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/ProjectFile.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/ProjectFile.java
@@ -3,10 +3,16 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.gkhy.common.annotation.Excel;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
/**
* 项目附件对象 project_file
@@ -14,135 +20,171 @@
* @author expert
* @date 2024-11-14
*/
- @TableName(resultMap = "com.gkhy.system.mapper.ProjectFileMapper.ProjectFileResult")
- public class ProjectFile extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.ProjectFileMapper.ProjectFileResult")
+@ApiModel(value = "项目附件对象", description = "项目附件对象表")
+public class ProjectFile extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** $column.columnComment */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
+ /**
+ * $column.columnComment
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
- /** 项目id */
- @Excel(name = "项目id")
- private Long projectId;
+ /**
+ * 项目id
+ */
+ @ApiModelProperty(value = "项目id",required = true)
+ @NotNull(message = "参数不能为空")
+ private Long projectId;
- /** 项目附件类型1审批单附件2项目附件 */
- @Excel(name = "项目附件类型1审批单附件2项目附件")
- private String module;
+ /**
+ * 项目附件类型1审批单附件2项目附件
+ */
+ @ApiModelProperty(value = "项目附件类型1审批单附件2项目附件")
+ @NotBlank(message = "项目附件类型不能为空")
+ private String module;
- /** 本地路径 */
- @Excel(name = "本地路径")
- private String filePath;
+ /**
+ * 本地路径
+ */
+ @Excel(name = "本地路径")
+ @ApiModelProperty(value = "本地路径")
+ private String filePath;
- /** 访问路径 */
- @Excel(name = "访问路径")
- private String fileUrl;
+ /**
+ * 访问路径
+ */
+ @Excel(name = "访问路径")
+ @ApiModelProperty(value = "访问路径")
+ private String fileUrl;
- /** 附件名称 */
- @Excel(name = "附件名称")
- private String fileName;
+ /**
+ * 附件名称
+ */
+ @ApiModelProperty(value = "附件名称")
+ private String fileName;
- /** 后缀 */
- @Excel(name = "后缀")
- private String fileSuffix;
+ /**
+ * 后缀
+ */
+ @ApiModelProperty(value = "后缀")
+ private String fileSuffix;
- /** 附件描述 */
- @Excel(name = "附件描述")
- private String fileDesc;
+ /**
+ * 附件描述
+ */
+ @ApiModelProperty(value = "附件描述")
+ private String fileDesc;
- /** 文件大小 */
- @Excel(name = "文件大小")
- private Long fileSize;
+ /**
+ * 文件大小
+ */
+ @ApiModelProperty(value = "文件大小")
+ private Long fileSize;
- /** 文件类型 */
- @Excel(name = "文件类型")
- private String fileType;
+ /**
+ * 文件类型
+ */
+ @ApiModelProperty(value = "文件类型")
+ private String fileType;
- /** 删除标志(0代表存在,1代表删除,默认0) */
- private Long delFlag;
+ /**
+ * 删除标志(0代表存在,1代表删除,默认0)
+ */
+ private Long delFlag;
- public void setId(Long id) {
- this.id = id;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public Long getId() {
- return id;
- }
- public void setProjectId(Long projectId) {
- this.projectId = projectId;
- }
+ public Long getId() {
+ return id;
+ }
- public Long getProjectId() {
- return projectId;
- }
- public void setModule(String module) {
- this.module = module;
- }
+ public void setProjectId(Long projectId) {
+ this.projectId = projectId;
+ }
- public String getModule() {
- return module;
- }
- public void setFilePath(String filePath) {
- this.filePath = filePath;
- }
+ public Long getProjectId() {
+ return projectId;
+ }
- public String getFilePath() {
- return filePath;
- }
- public void setFileUrl(String fileUrl) {
- this.fileUrl = fileUrl;
- }
+ public void setModule(String module) {
+ this.module = module;
+ }
- public String getFileUrl() {
- return fileUrl;
- }
- public void setFileName(String fileName) {
- this.fileName = fileName;
- }
+ public String getModule() {
+ return module;
+ }
- public String getFileName() {
- return fileName;
- }
- public void setFileSuffix(String fileSuffix) {
- this.fileSuffix = fileSuffix;
- }
+ public void setFilePath(String filePath) {
+ this.filePath = filePath;
+ }
- public String getFileSuffix() {
- return fileSuffix;
- }
- public void setFileDesc(String fileDesc) {
- this.fileDesc = fileDesc;
- }
+ public String getFilePath() {
+ return filePath;
+ }
- public String getFileDesc() {
- return fileDesc;
- }
- public void setFileSize(Long fileSize) {
- this.fileSize = fileSize;
- }
+ public void setFileUrl(String fileUrl) {
+ this.fileUrl = fileUrl;
+ }
- public Long getFileSize() {
- return fileSize;
- }
- public void setFileType(String fileType) {
- this.fileType = fileType;
- }
+ public String getFileUrl() {
+ return fileUrl;
+ }
- public String getFileType() {
- return fileType;
- }
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
+ public void setFileName(String fileName) {
+ this.fileName = fileName;
+ }
- public Long getDelFlag() {
- return delFlag;
- }
+ public String getFileName() {
+ return fileName;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ public void setFileSuffix(String fileSuffix) {
+ this.fileSuffix = fileSuffix;
+ }
+
+ public String getFileSuffix() {
+ return fileSuffix;
+ }
+
+ public void setFileDesc(String fileDesc) {
+ this.fileDesc = fileDesc;
+ }
+
+ public String getFileDesc() {
+ return fileDesc;
+ }
+
+ public void setFileSize(Long fileSize) {
+ this.fileSize = fileSize;
+ }
+
+ public Long getFileSize() {
+ return fileSize;
+ }
+
+ public void setFileType(String fileType) {
+ this.fileType = fileType;
+ }
+
+ public String getFileType() {
+ return fileType;
+ }
+
+ public void setDelFlag(Long delFlag) {
+ this.delFlag = delFlag;
+ }
+
+ public Long getDelFlag() {
+ return delFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectId", getProjectId())
.append("module", getModule())
@@ -158,6 +200,6 @@
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java b/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java
index a1c68c9..473232d 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java
@@ -1,14 +1,19 @@
package com.gkhy.system.domain;
-import java.util.Date;
-import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
/**
* 项目管理对象 project_management
@@ -16,181 +21,244 @@
* @author expert
* @date 2024-11-14
*/
- @TableName(resultMap = "com.gkhy.system.mapper.ProjectManagementMapper.ProjectManagementResult")
- public class ProjectManagement extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.ProjectManagementMapper.ProjectManagementResult")
+@ApiModel(value = "项目管理对象", description = "项目管理对象表")
+public class ProjectManagement extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** 主键 */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
+ /**
+ * 主键
+ */
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
- /** 项目名称 */
- @Excel(name = "项目名称")
- private String projectName;
+ /**
+ * 项目名称
+ */
+ @ApiModelProperty(value = "项目名称",required = true)
+ @NotBlank(message = "项目名称不能为空")
+ private String projectName;
- /** 处室 */
- @Excel(name = "处室")
- private Long deptId;
+ /**
+ * 处室
+ */
+ @ApiModelProperty(value = "处室",required = true)
+ @NotNull(message = "处室不能为空")
+ private Long deptId;
- /** 部门名称 */
- @Excel(name = "部门名称")
- private String deptName;
+ /**
+ * 部门名称
+ */
+ @ApiModelProperty(value = "处室名称",required = true)
+ @NotBlank(message = "处室不能为空")
+ private String deptName;
- /** 被检单位 */
- @Excel(name = "被检单位")
- private String companyName;
+ /**
+ * 被检单位
+ */
+ @ApiModelProperty(value = "被检单位")
+ private String companyName;
- /** 项目地址 */
- @Excel(name = "项目地址")
- private String projectAddress;
+ /**
+ * 项目地址
+ */
+ @ApiModelProperty(value = "项目地址",required = true)
+ @NotBlank(message = "项目地址不能为空")
+ private String projectAddress;
- /** 部门带队人员 */
- @Excel(name = "部门带队人员")
- private String deptUserName;
+ /**
+ * 部门带队人员
+ */
+ @ApiModelProperty(value = "部门带队人员",required = true)
+ @NotBlank(message = "处室带队人员不能为空")
+ private String deptUserName;
- /** 乐观锁 */
- @Excel(name = "乐观锁")
- private Long version;
+ /**
+ * 乐观锁
+ */
+ @ApiModelProperty(value = "乐观锁")
+ private Long version;
- /** 审批状态(0暂存,1生成审批单,2审批通过,3审批驳回,4完结) */
- @Excel(name = "审批状态(0暂存,1生成审批单,2审批通过,3审批驳回,4完结)")
- private Long state;
+ /**
+ * 审批状态(0暂存,1生成审批单,2审批通过,3审批驳回,4完结)
+ */
+ @ApiModelProperty(value = "审批状态(0暂存,1选取专家,2生成审批单,3审批通过,4完结)")
+ private Long state;
- /** 项目预计开始日期 */
- @JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "项目预计开始日期", width = 30, dateFormat = "yyyy-MM-dd")
- private Date projectDateStart;
+ @ApiModelProperty(value = "步骤1暂存2专家选取3审批4完结")
+ private Long step;
- /** 项目预计结束日期 */
- @JsonFormat(pattern = "yyyy-MM-dd")
- @Excel(name = "项目预计结束日期", width = 30, dateFormat = "yyyy-MM-dd")
- private Date projectDateEnd;
+ /**
+ * 项目预计开始日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "项目预计开始日期",required = true)
+ @NotNull(message = "项目预计开始日期不能为空")
+ private Date projectDateStart;
- /** 专家证书 */
- @Excel(name = "专家证书")
- private String expertCertificate;
+ /**
+ * 项目预计结束日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(value = "项目预计结束日期", required = true)
+ @NotNull(message = "项目预计结束日期不能为空")
+ private Date projectDateEnd;
- /** 评估状态0未评估1已评估 */
- @Excel(name = "评估状态0未评估1已评估")
- private Long envaluationState;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "项目审批时间")
+ private Date projectCheckTime;
- /** 专家人数 */
- @Excel(name = "专家人数")
- private Long expertNum;
+ /**
+ * 专家证书
+ */
+ @ApiModelProperty(value = "专家证书")
+ private String expertCertificate;
- /** 删除标志(0代表存在,1代表删除,默认0) */
- private Long delFlag;
+ /**
+ * 评估状态0未评估1已评估
+ */
+ @ApiModelProperty(value = "评估状态0未评估1已评估")
+ private Long evaluationState;
- public void setId(Long id) {
- this.id = id;
- }
+ /**
+ * 专家人数
+ */
+ @ApiModelProperty(value = "专家人数")
+ private Long expertNum;
- public Long getId() {
- return id;
- }
- public void setProjectName(String projectName) {
- this.projectName = projectName;
- }
+ @ApiModelProperty(value = "专家id")
+ private Long expertId;
- public String getProjectName() {
- return projectName;
- }
- public void setDeptId(Long deptId) {
- this.deptId = deptId;
- }
+ @ApiModelProperty(value = "专家名称组长")
+ private String expertName;
- public Long getDeptId() {
- return deptId;
- }
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(value = "项目结束日期")
+ private Date projectEndTime;
- public String getDeptName() {
- return deptName;
- }
- public void setCompanyName(String companyName) {
- this.companyName = companyName;
- }
+ @ApiModelProperty(value = "项目总结")
+ private String desc;
- public String getCompanyName() {
- return companyName;
- }
- public void setProjectAddress(String projectAddress) {
- this.projectAddress = projectAddress;
- }
+ /**
+ * 删除标志(0代表存在,1代表删除,默认0)
+ */
+ private Long delFlag;
- public String getProjectAddress() {
- return projectAddress;
- }
- public void setDeptUserName(String deptUserName) {
- this.deptUserName = deptUserName;
- }
+ public void setId(Long id) {
+ this.id = id;
+ }
- public String getDeptUserName() {
- return deptUserName;
- }
- public void setVersion(Long version) {
- this.version = version;
- }
+ public Long getId() {
+ return id;
+ }
- public Long getVersion() {
- return version;
- }
- public void setState(Long state) {
- this.state = state;
- }
+ public void setProjectName(String projectName) {
+ this.projectName = projectName;
+ }
- public Long getState() {
- return state;
- }
- public void setProjectDateStart(Date projectDateStart) {
- this.projectDateStart = projectDateStart;
- }
+ public String getProjectName() {
+ return projectName;
+ }
- public Date getProjectDateStart() {
- return projectDateStart;
- }
- public void setProjectDateEnd(Date projectDateEnd) {
- this.projectDateEnd = projectDateEnd;
- }
+ public void setDeptId(Long deptId) {
+ this.deptId = deptId;
+ }
- public Date getProjectDateEnd() {
- return projectDateEnd;
- }
- public void setExpertCertificate(String expertCertificate) {
- this.expertCertificate = expertCertificate;
- }
+ public Long getDeptId() {
+ return deptId;
+ }
- public String getExpertCertificate() {
- return expertCertificate;
- }
- public void setEnvaluationState(Long envaluationState) {
- this.envaluationState = envaluationState;
- }
+ public void setDeptName(String deptName) {
+ this.deptName = deptName;
+ }
- public Long getEnvaluationState() {
- return envaluationState;
- }
- public void setExpertNum(Long expertNum) {
- this.expertNum = expertNum;
- }
+ public String getDeptName() {
+ return deptName;
+ }
- public Long getExpertNum() {
- return expertNum;
- }
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
+ public void setCompanyName(String companyName) {
+ this.companyName = companyName;
+ }
- public Long getDelFlag() {
- return delFlag;
- }
+ public String getCompanyName() {
+ return companyName;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ public void setProjectAddress(String projectAddress) {
+ this.projectAddress = projectAddress;
+ }
+
+ public String getProjectAddress() {
+ return projectAddress;
+ }
+
+ public void setDeptUserName(String deptUserName) {
+ this.deptUserName = deptUserName;
+ }
+
+ public String getDeptUserName() {
+ return deptUserName;
+ }
+
+ public void setVersion(Long version) {
+ this.version = version;
+ }
+
+ public Long getVersion() {
+ return version;
+ }
+
+ public void setState(Long state) {
+ this.state = state;
+ }
+
+ public Long getState() {
+ return state;
+ }
+
+ public void setProjectDateStart(Date projectDateStart) {
+ this.projectDateStart = projectDateStart;
+ }
+
+ public Date getProjectDateStart() {
+ return projectDateStart;
+ }
+
+ public void setProjectDateEnd(Date projectDateEnd) {
+ this.projectDateEnd = projectDateEnd;
+ }
+
+ public Date getProjectDateEnd() {
+ return projectDateEnd;
+ }
+
+ public void setExpertCertificate(String expertCertificate) {
+ this.expertCertificate = expertCertificate;
+ }
+
+ public String getExpertCertificate() {
+ return expertCertificate;
+ }
+
+ public void setExpertNum(Long expertNum) {
+ this.expertNum = expertNum;
+ }
+
+ public Long getExpertNum() {
+ return expertNum;
+ }
+
+ public void setDelFlag(Long delFlag) {
+ this.delFlag = delFlag;
+ }
+
+ public Long getDelFlag() {
+ return delFlag;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectName", getProjectName())
.append("deptId", getDeptId())
@@ -204,13 +272,70 @@
.append("projectDateStart", getProjectDateStart())
.append("projectDateEnd", getProjectDateEnd())
.append("expertCertificate", getExpertCertificate())
- .append("envaluationState", getEnvaluationState())
+ .append("evaluationState", getEvaluationState())
.append("expertNum", getExpertNum())
.append("delFlag", getDelFlag())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+
+ public Date getProjectCheckTime() {
+ return projectCheckTime;
+ }
+
+ public void setProjectCheckTime(Date projectCheckTime) {
+ this.projectCheckTime = projectCheckTime;
+ }
+
+
+ public String getDesc() {
+ return desc;
+ }
+
+ public void setDesc(String desc) {
+ this.desc = desc;
+ }
+
+ public Long getExpertId() {
+ return expertId;
+ }
+
+ public void setExpertId(Long expertId) {
+ this.expertId = expertId;
+ }
+
+ public String getExpertName() {
+ return expertName;
+ }
+
+ public void setExpertName(String expertName) {
+ this.expertName = expertName;
+ }
+
+ public Date getProjectEndTime() {
+ return projectEndTime;
+ }
+
+ public void setProjectEndTime(Date projectEndTime) {
+ this.projectEndTime = projectEndTime;
+ }
+
+ public Long getStep() {
+ return step;
+ }
+
+ public void setStep(Long step) {
+ this.step = step;
+ }
+
+ public Long getEvaluationState() {
+ return evaluationState;
+ }
+
+ public void setEvaluationState(Long evaluationState) {
+ this.evaluationState = evaluationState;
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/SysExpertClassify.java b/expert-system/src/main/java/com/gkhy/system/domain/SysExpertClassify.java
index 532710d..dec36d2 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/SysExpertClassify.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/SysExpertClassify.java
@@ -1,19 +1,15 @@
-package com.gkhy.assess.system.domain;
+package com.gkhy.system.domain;
import com.baomidou.mybatisplus.annotation.*;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-import java.util.List;
-
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.gkhy.assess.common.domain.BaseEntity;
+import com.gkhy.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
+import java.util.List;
import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java b/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java
index 2d201cc..c83affc 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/SysExpertInfo.java
@@ -1,12 +1,9 @@
-package com.gkhy.assess.system.domain;
+package com.gkhy.system.domain;
import com.baomidou.mybatisplus.annotation.*;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.gkhy.assess.common.domain.BaseEntity;
+import com.gkhy.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
@@ -17,6 +14,7 @@
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
+import java.util.Date;
import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;
@@ -66,7 +64,8 @@
@NotNull(message ="出生日期不能为空" )
@ApiModelProperty("出生日期")
@TableField("birthday")
- private LocalDateTime birthday;
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date birthday;
@NotBlank(message ="手机号不能为空" )
@Length(min = 11, max = 11, message = "手机号只能为11位")
@@ -208,6 +207,25 @@
@TableField("level")
private String level;
+ @ApiModelProperty("评定等级1、一级,2、二级,3、三级")
+ @TableField("rating_level")
+ private String ratingLevel;
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @TableField("employment_date_start")
+ private Date employmentDateStart;
+
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @TableField("employment_date_end")
+ private Date employmentDateEnd;
+
+ @NotNull(message ="业务处室不能为空" )
+ @ApiModelProperty("业务处室")
+ @TableField("dept_id")
+ private Long deptId;
+
+ @ApiModelProperty("专家证书")
+ @TableField("expert_certificate")
+ private String expertCertificate;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/SysSettings.java b/expert-system/src/main/java/com/gkhy/system/domain/SysSettings.java
index 92bd6e4..93a4daf 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/SysSettings.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/SysSettings.java
@@ -1,12 +1,15 @@
package com.gkhy.system.domain;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.gkhy.common.annotation.Excel;
+import com.gkhy.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
-import com.rchuing.sis.common.annotation.Excel;
-import com.rchuing.sis.common.core.domain.BaseEntity;
+
+import javax.validation.constraints.NotBlank;
+
/**
* 系统配置对象 sys_settings
@@ -14,27 +17,31 @@
* @author expert
* @date 2024-11-13
*/
- @TableName(resultMap = "com.gkhy.system.mapper.SysSettingsMapper.SysSettingsResult")
- public class SysSettings extends BaseEntity
- {
- private static final long serialVersionUID = 1L;
+@TableName(resultMap = "com.gkhy.system.mapper.SysSettingsMapper.SysSettingsResult")
+@ApiModel(value = "系统配置对象", description = "专家申请系统设置")
+public class SysSettings extends BaseEntity {
+ private static final long serialVersionUID = 1L;
- /** 1开启2关闭 */
- @Excel(name = "1开启2关闭")
- private String state;
+ /**
+ * 1开启2关闭
+ */
+ @Excel(name = "1开启2关闭")
+ @NotBlank(message = "参数不能为空")
+ @ApiModelProperty("1开启2关闭")
+ private String state;
- public void setState(String state) {
- this.state = state;
- }
+ public void setState(String state) {
+ this.state = state;
+ }
- public String getState() {
- return state;
- }
+ public String getState() {
+ return state;
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("state", getState())
- .toString();
- }
- }
\ No newline at end of file
+ .toString();
+ }
+}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectArchiveReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectArchiveReq.java
index 61f481f..8ad5648 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectArchiveReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectArchiveReq.java
@@ -1,4 +1,36 @@
package com.gkhy.system.domain.vo.request;
-public class ProjectArchiveReq {
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.gkhy.system.domain.ProjectFile;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+@ApiModel(value = "项目归档" , description = "项目归档")
+@Data
+public class ProjectArchiveReq implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 主键
+ */
+ @ApiModelProperty(value = "项目id",required = true)
+ @NotNull
+ private Long id;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(name = "项目结束日期",required = true)
+ @NotNull(message = "结束日期必填")
+ private Date projectEndTime;
+
+ @ApiModelProperty(name = "项目总结")
+ private String desc;
+
+ @ApiModelProperty(name = "项目附件")
+ private List<ProjectFile> projectFile;
+
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectCheckReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectCheckReq.java
index cf8e40e..0fa6108 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectCheckReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectCheckReq.java
@@ -1,4 +1,27 @@
package com.gkhy.system.domain.vo.request;
-public class ProjectCheckReq {
+import com.gkhy.system.domain.ProjectFile;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+@ApiModel(value = "项目审批" , description = "项目审批")
+@Data
+public class ProjectCheckReq implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(name = "审批状态(3审批通过、1审批不通)",required = true)
+ @NotNull(message = "参数不能为空")
+ private Long state;
+
+ @ApiModelProperty(value = "项目id",required = true)
+ @NotNull
+ private Long id;
+
+ @ApiModelProperty(name = "项目附件-类型1审批单附件")
+ private List<ProjectFile> projectFile;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveBatchReqDto.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveBatchReqDto.java
index 806236e..f3c336f 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveBatchReqDto.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveBatchReqDto.java
@@ -1,4 +1,30 @@
package com.gkhy.system.domain.vo.request;
-public class ProjectExpertSaveBatchReqDto {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+@ApiModel(value = "项目专家关联对象批量处理", description = "项目专家关联对象批量处理")
+@Data
+public class ProjectExpertSaveBatchReqDto implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "删除数据")
+ private List<Long> delData;
+
+ @ApiModelProperty(value = "新增编辑数据")
+ @NotEmpty
+ private List<ProjectExpertSaveReqDto> saveData;
+ /**
+ * 项目id
+ */
+ @ApiModelProperty(name = "项目id",required = true)
+ @NotNull(message = "项目不能为空")
+ private Long id;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveReqDto.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveReqDto.java
index 4a18db1..ac9fb77 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveReqDto.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertSaveReqDto.java
@@ -1,16 +1,12 @@
-package com.gkhy.system.domain;
+package com.gkhy.system.domain.vo.request;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.gkhy.common.annotation.Excel;
-import com.gkhy.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
+import lombok.Data;
+import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
+import java.io.Serializable;
/**
@@ -19,141 +15,47 @@
* @author expert
* @date 2024-11-14
*/
-@TableName(resultMap = "com.gkhy.system.mapper.ProjectExpertMapper.ProjectExpertResult")
-@ApiModel(value = "项目专家关联对象", description = "项目专家关联对象表")
-public class ProjectExpert extends BaseEntity {
+@ApiModel(value = "项目专家关联对象新增编辑", description = "项目专家关联对象新增编辑")
+@Data
+public class ProjectExpertSaveReqDto implements Serializable {
private static final long serialVersionUID = 1L;
- /**
- * $column.columnComment
- */
- @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty(value = "id")
private Long id;
- /**
- * 项目id
- */
- @ApiModelProperty(name = "项目名称",required = true)
- @NotNull(message = "项目不能为空")
- private Long projectId;
-
- /**
- * 专家id
- */
+// /**
+// * 项目id
+// */
+// @ApiModelProperty(name = "项目名称",required = true)
+// @NotNull(message = "项目不能为空")
+// private Long projectId;
@ApiModelProperty(name = "专家id",required = true)
@NotNull(message = "选择专家")
private Long expertId;
- /**
- * 总分
- */
- @Excel(name = "总分")
- private Long score;
+ @ApiModelProperty(name = "专家名称",required = true)
+ @NotBlank(message = "选择专家名称")
+ private String expertName;
- /**
- * 评估状态0未评估1已评估
- */
- @ApiModelProperty(name = "评估状态0未评估1已评估")
- private Long envaluationState;
+// /**
+// * 总分
+// */
+// @Excel(name = "总分")
+// private Long score;
- /**
- * 选取方式1固定2随机
- */
+// /**
+// * 评估状态0未评估1已评估
+// */
+// @ApiModelProperty(name = "评估状态0未评估1已评估")
+// private Long evaluationState;
+
@ApiModelProperty(name = "选取方式1固定2随机",required = true)
@NotNull(message = "选取方式不能为空")
private Long selectionMode;
- /**
- * 是否组长0否1是
- */
@ApiModelProperty(name = "是否组长0否1是",required = true)
@NotNull(message = "是否组长不能为空")
private Long teamLeader;
- /**
- * 删除标志(0代表存在,1代表删除,默认0)
- */
- private Long delFlag;
- public void setId(Long id) {
- this.id = id;
- }
-
- public Long getId() {
- return id;
- }
-
- public void setProjectId(Long projectId) {
- this.projectId = projectId;
- }
-
- public Long getProjectId() {
- return projectId;
- }
-
- public void setExpertId(Long expertId) {
- this.expertId = expertId;
- }
-
- public Long getExpertId() {
- return expertId;
- }
-
- public void setScore(Long score) {
- this.score = score;
- }
-
- public Long getScore() {
- return score;
- }
-
- public void setEnvaluationState(Long envaluationState) {
- this.envaluationState = envaluationState;
- }
-
- public Long getEnvaluationState() {
- return envaluationState;
- }
-
- public void setSelectionMode(Long selectionMode) {
- this.selectionMode = selectionMode;
- }
-
- public Long getSelectionMode() {
- return selectionMode;
- }
-
- public void setTeamLeader(Long teamLeader) {
- this.teamLeader = teamLeader;
- }
-
- public Long getTeamLeader() {
- return teamLeader;
- }
-
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
-
- public Long getDelFlag() {
- return delFlag;
- }
-
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
- .append("id", getId())
- .append("projectId", getProjectId())
- .append("expertId", getExpertId())
- .append("score", getScore())
- .append("envaluationState", getEnvaluationState())
- .append("selectionMode", getSelectionMode())
- .append("teamLeader", getTeamLeader())
- .append("delFlag", getDelFlag())
- .append("createBy", getCreateBy())
- .append("createTime", getCreateTime())
- .append("updateBy", getUpdateBy())
- .append("updateTime", getUpdateTime())
- .toString();
- }
}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java
index 104a6ab..5b8d301 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertScoreSaveReq.java
@@ -1,6 +1,49 @@
package com.gkhy.system.domain.vo.request;
-import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
-public class ProjectExpertScoreReq implements Serializable {
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+@ApiModel(value = "项目专家人员考评分数" , description = "项目专家人员考评分数")
+@Data
+public class ProjectExpertScoreSaveReq implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "考评保存数据")
+ private List<Score> saveData;
+
+ @ApiModelProperty(value = "删除数据")
+ private List<Long> delData;
+
+ @ApiModelProperty(value = "项目专家id",required = true)
+ @NotNull
+ private Long projectExpertId;
+
+ @ApiModelProperty(value = "总分",required = true)
+ @NotNull(message = "得分不能为空")
+ private Long score;
+
+ @Data
+ static public class Score {
+
+ @ApiModelProperty(value = "数据id",required = false)
+ private Long id;
+
+ @ApiModelProperty(value = "评分",required = true)
+ @NotNull(message = "分数不能为空")
+ private Long score;
+
+ @ApiModelProperty(value = "类型1加分项2扣分项",required = true)
+ @NotBlank(message = "类型不能为空")
+ private String scoreType;
+
+ @ApiModelProperty(value = "评分内容",required = true)
+ @NotBlank(message = "内容不能为空")
+ private String content;
+ }
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertStateReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertStateReq.java
index 8ad5648..fc29c1f 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertStateReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertStateReq.java
@@ -1,36 +1,27 @@
package com.gkhy.system.domain.vo.request;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.gkhy.system.domain.ProjectFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
-import java.util.List;
-@ApiModel(value = "项目归档" , description = "项目归档")
+@ApiModel(value = "项目考评筛选" , description = "项目考评筛选")
@Data
-public class ProjectArchiveReq implements Serializable {
+public class ProjectExpertStateReq implements Serializable {
private static final long serialVersionUID = 1L;
- /**
- * 主键
- */
- @ApiModelProperty(value = "项目id",required = true)
- @NotNull
- private Long id;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- @ApiModelProperty(name = "项目结束日期",required = true)
- @NotNull(message = "结束日期必填")
- private Date projectEndTime;
+ @ApiModelProperty(value = "项目审批时间")
+ private Date projectCheckTime;
- @ApiModelProperty(name = "项目总结")
- private String desc;
+ @ApiModelProperty(value = "项目名称")
+ private String projectName;
- @ApiModelProperty(name = "项目附件")
- private List<ProjectFile> projectFile;
+ @ApiModelProperty(value = "评估状态0未评估1已评估")
+ private Long evaluationState;
+
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertTeamLeaderReqDto.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertTeamLeaderReqDto.java
index 4a62d4e..404fd32 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertTeamLeaderReqDto.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectExpertTeamLeaderReqDto.java
@@ -1,4 +1,20 @@
package com.gkhy.system.domain.vo.request;
-public class ProjectExpertTeamLeaderReqDto {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+@ApiModel(value = "项目专家关联对象设置组长操作", description = "项目专家关联对象设置组长操作")
+@Data
+public class ProjectExpertTeamLeaderReqDto implements Serializable {
+ private static final long serialVersionUID = 1L;
+ @ApiModelProperty(value = "id",required = true)
+ @NotNull
+ private Long id;
+
+ @ApiModelProperty(name = "是否组长0否1是",required = true)
+ @NotNull(message = "是否组长不能为空")
+ private Long teamLeader;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java
index 29a90ea..fc780ea 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/ProjectManageSaveReq.java
@@ -1,4 +1,85 @@
package com.gkhy.system.domain.vo.request;
-public class ProjectManageSaveReq {
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.Date;
+
+@ApiModel(value = "项目管理保存" , description = "项目管理保存")
+@Data
+public class ProjectManageSaveReq implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty(value = "id")
+ private Long id;
+
+ /**
+ * 项目名称
+ */
+ @ApiModelProperty(name = "项目名称",required = true)
+ @NotBlank(message = "项目名称不能为空")
+ private String projectName;
+
+ /**
+ * 处室
+ */
+ @ApiModelProperty(name = "处室",required = true)
+ @NotNull(message = "处室不能为空")
+ private Long deptId;
+
+ /**
+ * 部门名称
+ */
+ @ApiModelProperty(name = "处室名称",required = true)
+ @NotBlank(message = "处室不能为空")
+ private String deptName;
+
+ /**
+ * 被检单位
+ */
+ @ApiModelProperty(name = "被检单位")
+ private String companyName;
+
+ /**
+ * 项目地址
+ */
+ @ApiModelProperty(name = "项目地址",required = true)
+ @NotBlank(message = "项目地址不能为空")
+ private String projectAddress;
+
+ /**
+ * 部门带队人员
+ */
+ @ApiModelProperty(name = "部门带队人员",required = true)
+ @NotBlank(message = "处室带队人员不能为空")
+ private String deptUserName;
+
+ /**
+ * 项目预计开始日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(name = "项目预计开始日期",required = true)
+ @NotNull(message = "项目预计开始日期不能为空")
+ private Date projectDateStart;
+
+ /**
+ * 项目预计结束日期
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @ApiModelProperty(name = "项目预计结束日期", required = true)
+ @NotNull(message = "项目预计结束日期不能为空")
+ private Date projectDateEnd;
+
+
+ @ApiModelProperty(name = "项目概况",required = true)
+ @NotBlank(message = "项目概况不能为空")
+ private String remark;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertInfoRoundReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertInfoRoundReq.java
index db84763..4c1797f 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertInfoRoundReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertInfoRoundReq.java
@@ -1,4 +1,25 @@
package com.gkhy.system.domain.vo.request;
-public class SysExpertInfoRoundReq {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.util.List;
+
+@ApiModel(value = "项目专家选取随机", description = "项目专家选取随机")
+@Data
+public class SysExpertInfoRoundReq implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("专家领域")
+ private List<String> domain;
+
+ @ApiModelProperty("专家数量")
+ @NotNull
+ private Integer num;
+
+ @ApiModelProperty("评定等级1、一级,2、二级,3、三级")
+ private List<String> ratingLevel;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertSearchReqDto.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertSearchReqDto.java
index e873d6b..5a3145f 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertSearchReqDto.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysExpertSearchReqDto.java
@@ -1,4 +1,35 @@
package com.gkhy.system.domain.vo.request;
-public class SysExpertSearchReqDto {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Pattern;
+import java.io.Serializable;
+
+/**
+ * @author admin
+ */
+@Data
+@ApiModel(value = "专家查询信息审核", description = "专家查询信息审核")
+public class SysExpertSearchReqDto implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @NotBlank(message ="手机号不能为空" )
+ @Length(min = 11, max = 11, message = "手机号只能为11位")
+ @Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号码有误!")
+ @ApiModelProperty("手机号")
+ private String phone;
+
+ @NotBlank(message ="身份证号码不能为空" )
+ @Length(min = 18, max = 18, message = "身份证只能为18位")
+ @ApiModelProperty("身份证号码")
+ private String idCard;
+
+ @NotNull(message ="业务处室不能为空" )
+ @ApiModelProperty("业务处室")
+ private Long deptId;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysProjectExpertReq.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysProjectExpertReq.java
index 4c1797f..3518f21 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysProjectExpertReq.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/request/SysProjectExpertReq.java
@@ -1,25 +1,35 @@
package com.gkhy.system.domain.vo.request;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import javax.validation.constraints.NotNull;
import java.io.Serializable;
-import java.util.List;
+import java.util.Date;
-@ApiModel(value = "项目专家选取随机", description = "项目专家选取随机")
+@ApiModel(value = "专家考评记录查询条件", description = "专家考评记录查询条件")
@Data
-public class SysExpertInfoRoundReq implements Serializable {
+public class SysProjectExpertReq implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("专家领域")
- private List<String> domain;
+ private String domain;
- @ApiModelProperty("专家数量")
- @NotNull
- private Integer num;
+ @ApiModelProperty("专家姓名")
+ private String name;
- @ApiModelProperty("评定等级1、一级,2、二级,3、三级")
- private List<String> ratingLevel;
+ @ApiModelProperty("身份证号")
+ private String idCard;
+
+ @ApiModelProperty("项目名称")
+ private String projectName;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty( "评审开始日期")
+ private Date startTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty( "评审结束日期")
+ private Date endTime;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java
index 98ecae1..a55f381 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertCheckResp.java
@@ -1,4 +1,40 @@
package com.gkhy.system.domain.vo.response;
-public class ProjectExpertCheckResp {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+@ApiModel(value = "项目专家审批详情", description = "项目专家审批详情")
+@Data
+public class ProjectExpertCheckResp implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(name = "项目专家id")
+ private Long id;
+
+ @ApiModelProperty(name = "专家id")
+ private Long expertId;
+
+ @ApiModelProperty("专家名称")
+ private String name;
+
+ @ApiModelProperty("性别(0男,1女,2未知,默认2)")
+ private Integer sex;
+
+ @ApiModelProperty("身份证号码")
+ private String idCard;
+
+ @ApiModelProperty(name = "选取方式1固定2随机")
+ private Long selectionMode;
+
+ @ApiModelProperty(name = "是否组长0否1是")
+ private Long teamLeader;
+
+ @ApiModelProperty("评定等级1、一级,2、二级,3、三级")
+ private String ratingLevel;
+
+ @ApiModelProperty("专家领域")
+ private String domain;
+
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertEvaluationResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertEvaluationResp.java
index ff846a0..c0c7039 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertEvaluationResp.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertEvaluationResp.java
@@ -1,4 +1,25 @@
package com.gkhy.system.domain.vo.response;
-public class ProjectExpertEvaluationResp {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@ApiModel(value = "项目专家考评列表", description = "项目专家考评列表")
+@Data
+public class ProjectExpertEvaluationResp extends ProjectExpertCheckResp implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 总分
+ */
+ @ApiModelProperty(name = "总分")
+ private Long score;
+
+ /**
+ * 评估状态0未评估1已评估
+ */
+ @ApiModelProperty(name = "评估状态0未评估1已评估")
+ private Long evaluationState;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java
index 6c60811..84c81da 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java
@@ -1,19 +1,13 @@
-package com.gkhy.system.domain;
+package com.gkhy.system.domain.vo.response;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.gkhy.common.annotation.Excel;
-import com.gkhy.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
+import lombok.Data;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import java.io.Serializable;
import java.util.Date;
+import java.util.List;
/**
@@ -22,36 +16,28 @@
* @author expert
* @date 2024-11-14
*/
-@TableName(resultMap = "com.gkhy.system.mapper.ProjectManagementMapper.ProjectManagementResult")
-@ApiModel(value = "项目管理对象", description = "项目管理对象表")
-public class ProjectManagement extends BaseEntity {
+@ApiModel(value = "项目管理专家详情" , description = "项目管理专家详情")
+@Data
+public class ProjectExpertManagementInfoRes implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
- @TableId(value = "id", type = IdType.AUTO)
+ @ApiModelProperty(value = "项目id")
private Long id;
/**
* 项目名称
*/
- @ApiModelProperty(name = "项目名称",required = true)
- @NotBlank(message = "项目名称不能为空")
+ @ApiModelProperty(name = "项目名称")
private String projectName;
- /**
- * 处室
- */
- @ApiModelProperty(name = "处室",required = true)
- @NotNull(message = "处室不能为空")
- private Long deptId;
/**
* 部门名称
*/
- @ApiModelProperty(name = "处室名称",required = true)
- @NotBlank(message = "处室不能为空")
+ @ApiModelProperty(name = "处室名称")
private String deptName;
/**
@@ -63,211 +49,42 @@
/**
* 项目地址
*/
- @ApiModelProperty(name = "项目地址",required = true)
- @NotBlank(message = "项目地址不能为空")
+ @ApiModelProperty(name = "项目地址")
private String projectAddress;
- /**
- * 部门带队人员
- */
- @ApiModelProperty(name = "部门带队人员",required = true)
- @NotBlank(message = "处室带队人员不能为空")
- private String deptUserName;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(name = "项目审批时间")
+ private Date projectCheckTime;
- /**
- * 乐观锁
- */
- @ApiModelProperty(name = "乐观锁")
- private Long version;
+ @ApiModelProperty(name = "审批状态(0暂存,1选取专家,2生成审批单,3审批通过,4完结)")
+ private String state;
- /**
- * 审批状态(0暂存,1生成审批单,2审批通过,3审批驳回,4完结)
- */
- @Excel(name = "审批状态(0暂存,1生成审批单,2审批通过,3审批驳回,4完结)")
- private Long state;
+ @ApiModelProperty(value = "步骤1暂存2专家选取3审批4完结")
+ private Long step;
+// /**
+// * 部门带队人员
+// */
+// @ApiModelProperty(name = "部门带队人员")
+// private String deptUserName;
/**
* 项目预计开始日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
- @ApiModelProperty(name = "项目预计开始日期",required = true)
- @NotNull(message = "项目预计开始日期不能为空")
+ @ApiModelProperty(name = "项目预计开始日期")
private Date projectDateStart;
/**
* 项目预计结束日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
- @ApiModelProperty(name = "项目预计结束日期", required = true)
- @NotNull(message = "项目预计结束日期不能为空")
+ @ApiModelProperty(name = "项目预计结束日期")
private Date projectDateEnd;
- /**
- * 专家证书
- */
- @ApiModelProperty(name = "专家证书")
- private String expertCertificate;
+ @ApiModelProperty(name = "项目概况")
+ private String remark;
- /**
- * 评估状态0未评估1已评估
- */
- @ApiModelProperty(name = "评估状态0未评估1已评估")
- private Long envaluationState;
+ @ApiModelProperty(name = "专家数据")
+ private List<ProjectExpertCheckResp> projectExpertCheckResp;
- /**
- * 专家人数
- */
- @ApiModelProperty(name = "专家人数")
- private Long expertNum;
-
- /**
- * 删除标志(0代表存在,1代表删除,默认0)
- */
- private Long delFlag;
-
- public void setId(Long id) {
- this.id = id;
- }
-
- public Long getId() {
- return id;
- }
-
- public void setProjectName(String projectName) {
- this.projectName = projectName;
- }
-
- public String getProjectName() {
- return projectName;
- }
-
- public void setDeptId(Long deptId) {
- this.deptId = deptId;
- }
-
- public Long getDeptId() {
- return deptId;
- }
-
- public void setDeptName(String deptName) {
- this.deptName = deptName;
- }
-
- public String getDeptName() {
- return deptName;
- }
-
- public void setCompanyName(String companyName) {
- this.companyName = companyName;
- }
-
- public String getCompanyName() {
- return companyName;
- }
-
- public void setProjectAddress(String projectAddress) {
- this.projectAddress = projectAddress;
- }
-
- public String getProjectAddress() {
- return projectAddress;
- }
-
- public void setDeptUserName(String deptUserName) {
- this.deptUserName = deptUserName;
- }
-
- public String getDeptUserName() {
- return deptUserName;
- }
-
- public void setVersion(Long version) {
- this.version = version;
- }
-
- public Long getVersion() {
- return version;
- }
-
- public void setState(Long state) {
- this.state = state;
- }
-
- public Long getState() {
- return state;
- }
-
- public void setProjectDateStart(Date projectDateStart) {
- this.projectDateStart = projectDateStart;
- }
-
- public Date getProjectDateStart() {
- return projectDateStart;
- }
-
- public void setProjectDateEnd(Date projectDateEnd) {
- this.projectDateEnd = projectDateEnd;
- }
-
- public Date getProjectDateEnd() {
- return projectDateEnd;
- }
-
- public void setExpertCertificate(String expertCertificate) {
- this.expertCertificate = expertCertificate;
- }
-
- public String getExpertCertificate() {
- return expertCertificate;
- }
-
- public void setEnvaluationState(Long envaluationState) {
- this.envaluationState = envaluationState;
- }
-
- public Long getEnvaluationState() {
- return envaluationState;
- }
-
- public void setExpertNum(Long expertNum) {
- this.expertNum = expertNum;
- }
-
- public Long getExpertNum() {
- return expertNum;
- }
-
- public void setDelFlag(Long delFlag) {
- this.delFlag = delFlag;
- }
-
- public Long getDelFlag() {
- return delFlag;
- }
-
- @Override
- public String toString() {
- return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
- .append("id", getId())
- .append("projectName", getProjectName())
- .append("deptId", getDeptId())
- .append("deptName", getDeptName())
- .append("companyName", getCompanyName())
- .append("projectAddress", getProjectAddress())
- .append("deptUserName", getDeptUserName())
- .append("version", getVersion())
- .append("state", getState())
- .append("remark", getRemark())
- .append("projectDateStart", getProjectDateStart())
- .append("projectDateEnd", getProjectDateEnd())
- .append("expertCertificate", getExpertCertificate())
- .append("envaluationState", getEnvaluationState())
- .append("expertNum", getExpertNum())
- .append("delFlag", getDelFlag())
- .append("createBy", getCreateBy())
- .append("createTime", getCreateTime())
- .append("updateBy", getUpdateBy())
- .append("updateTime", getUpdateTime())
- .toString();
- }
}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertResp.java
index a55f381..a4ed33c 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertResp.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertResp.java
@@ -1,17 +1,35 @@
package com.gkhy.system.domain.vo.response;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
-@ApiModel(value = "项目专家审批详情", description = "项目专家审批详情")
+import java.util.Date;
+
+@ApiModel(value = "专家考评记录列表", description = "专家考评记录列表")
@Data
-public class ProjectExpertCheckResp implements Serializable {
+public class ProjectExpertResp implements Serializable {
private static final long serialVersionUID = 1L;
- @ApiModelProperty(name = "项目专家id")
- private Long id;
+ /**
+ * 主键
+ */
+ @ApiModelProperty(value = "项目专家id")
+ private Long projectExpertId;
+
+ /**
+ * 项目名称
+ */
+ @ApiModelProperty(name = "项目名称")
+ private String projectName;
+
+ @ApiModelProperty(name = "项目id")
+ private Long projectId;
+
+ @ApiModelProperty(name = "总分")
+ private Long score;
@ApiModelProperty(name = "专家id")
private Long expertId;
@@ -19,8 +37,6 @@
@ApiModelProperty("专家名称")
private String name;
- @ApiModelProperty("性别(0男,1女,2未知,默认2)")
- private Integer sex;
@ApiModelProperty("身份证号码")
private String idCard;
@@ -31,10 +47,11 @@
@ApiModelProperty(name = "是否组长0否1是")
private Long teamLeader;
- @ApiModelProperty("评定等级1、一级,2、二级,3、三级")
- private String ratingLevel;
-
@ApiModelProperty("专家领域")
private String domain;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(name = "评审时间")
+ private Date updateTime;
+
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertSectionResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertSectionResp.java
index a55f381..8219dab 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertSectionResp.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertSectionResp.java
@@ -5,16 +5,14 @@
import lombok.Data;
import java.io.Serializable;
-@ApiModel(value = "项目专家审批详情", description = "项目专家审批详情")
+
+@ApiModel(value = "项目专家随机获取", description = "项目专家随机获取")
@Data
-public class ProjectExpertCheckResp implements Serializable {
+public class ProjectExpertSectionResp implements Serializable {
private static final long serialVersionUID = 1L;
- @ApiModelProperty(name = "项目专家id")
- private Long id;
-
@ApiModelProperty(name = "专家id")
- private Long expertId;
+ private Long id;
@ApiModelProperty("专家名称")
private String name;
@@ -24,12 +22,6 @@
@ApiModelProperty("身份证号码")
private String idCard;
-
- @ApiModelProperty(name = "选取方式1固定2随机")
- private Long selectionMode;
-
- @ApiModelProperty(name = "是否组长0否1是")
- private Long teamLeader;
@ApiModelProperty("评定等级1、一级,2、二级,3、三级")
private String ratingLevel;
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertStateResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertStateResp.java
index 6e9883a..b66e51e 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertStateResp.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertStateResp.java
@@ -1,4 +1,37 @@
package com.gkhy.system.domain.vo.response;
-public class ProjectExpertStateResp {
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "项目考评列表" , description = "项目考评列表")
+public class ProjectExpertStateResp implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ private Long id;
+
+ @ApiModelProperty(name = "项目名称")
+ private String projectName;
+
+ @ApiModelProperty(name = "评估状态0未评估1已评估")
+ private Long evaluationState;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(name = "项目审批时间")
+ private Date projectCheckTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @ApiModelProperty(name = "项目结束日期")
+ private Date projectEndTime;
+
+ @ApiModelProperty(name = "处室名称")
+ private String deptName;
+
+ @ApiModelProperty(name = "专家人数")
+ private Long expertNum;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectNumResp.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectNumResp.java
index 8ed9a5d..a5b9b56 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectNumResp.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectNumResp.java
@@ -1,4 +1,27 @@
package com.gkhy.system.domain.vo.response;
-public class ProjectNumREsp {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+@ApiModel(value = "项目数量统计" , description = "项目数量统计")
+public class ProjectNumResp implements Serializable {
+
+ @ApiModelProperty(value = "总数量")
+ private Integer total = 0;
+
+ @ApiModelProperty(value = "基本选用")
+ private Integer staging = 0;
+
+ @ApiModelProperty(value = "专家选用")
+ private Integer expert = 0 ;
+
+ @ApiModelProperty(value = "审批")
+ private Integer approval = 0;
+
+ @ApiModelProperty(value = "结束")
+ private Integer end = 0;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/SysExpertSearchRep.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/SysExpertSearchRep.java
index 447a2cc..d9d48d2 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/SysExpertSearchRep.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/SysExpertSearchRep.java
@@ -1,4 +1,22 @@
package com.gkhy.system.domain.vo.response;
-public class SysExpertSearchRep {
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author admin
+ */
+@Data
+@ApiModel(value = "专家查询信息审核返回", description = "专家查询信息审核返回")
+public class SysExpertSearchRep implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("专家证书")
+ private String expertCertificate;
+
+ @ApiModelProperty("审批状态(0申请提交,1待审核,2审批通过,3审批不通过,4专家库)")
+ private Integer state;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/ApplyRecordMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/ApplyRecordMapper.java
index f239f14..d31b756 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/ApplyRecordMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/ApplyRecordMapper.java
@@ -1,7 +1,9 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.ApplyRecord;
+
+import java.util.List;
/**
* 开启申请记录Mapper接口
@@ -9,7 +11,7 @@
* @author expert
* @date 2024-11-13
*/
-public interface ApplyRecordMapper
+public interface ApplyRecordMapper extends BaseMapper<ApplyRecord>
{
/**
* 查询开启申请记录
@@ -22,10 +24,9 @@
/**
* 查询开启申请记录列表
*
- * @param applyRecord 开启申请记录
* @return 开启申请记录集合
*/
- public List<ApplyRecord> selectApplyRecordList(ApplyRecord applyRecord);
+ public List<ApplyRecord> selectApplyRecordList();
/**
* 新增开启申请记录
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/EvaluationMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/EvaluationMapper.java
index 55f0f6a..14935ec 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/EvaluationMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/EvaluationMapper.java
@@ -1,7 +1,9 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.Evaluation;
+
+import java.util.List;
/**
* 考评管理Mapper接口
@@ -9,7 +11,7 @@
* @author expert
* @date 2024-11-13
*/
-public interface EvaluationMapper
+public interface EvaluationMapper extends BaseMapper<Evaluation>
{
/**
* 查询考评管理
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertDetailMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertDetailMapper.java
index 6ce900f..e1f2f5c 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertDetailMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertDetailMapper.java
@@ -1,7 +1,9 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.ProjectExpertDetail;
+
+import java.util.List;
/**
* 项目专家得分明细Mapper接口
@@ -9,7 +11,7 @@
* @author expert
* @date 2024-11-14
*/
-public interface ProjectExpertDetailMapper
+public interface ProjectExpertDetailMapper extends BaseMapper<ProjectExpertDetail>
{
/**
* 查询项目专家得分明细
@@ -35,6 +37,8 @@
*/
public int insertProjectExpertDetail(ProjectExpertDetail projectExpertDetail);
+ int batchInsertProjectExpertDetail(List<ProjectExpertDetail> list);
+
/**
* 修改项目专家得分明细
*
@@ -43,6 +47,8 @@
*/
public int updateProjectExpertDetail(ProjectExpertDetail projectExpertDetail);
+ int batchUpdateProjectExpertDetail(List<ProjectExpertDetail> list);
+
/**
* 删除项目专家得分明细
*
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java
index c3ae4d7..f767c69 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectExpertMapper.java
@@ -1,7 +1,12 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.ProjectExpert;
+import com.gkhy.system.domain.vo.request.SysProjectExpertReq;
+import com.gkhy.system.domain.vo.response.ProjectExpertEvaluationResp;
+import com.gkhy.system.domain.vo.response.ProjectExpertResp;
+
+import java.util.List;
/**
* 项目专家关联Mapper接口
@@ -9,7 +14,7 @@
* @author expert
* @date 2024-11-14
*/
-public interface ProjectExpertMapper
+public interface ProjectExpertMapper extends BaseMapper<ProjectExpert>
{
/**
* 查询项目专家关联
@@ -35,6 +40,8 @@
*/
public int insertProjectExpert(ProjectExpert projectExpert);
+ int batchInsertProjectExpert(List<ProjectExpert> list);
+
/**
* 修改项目专家关联
*
@@ -43,6 +50,7 @@
*/
public int updateProjectExpert(ProjectExpert projectExpert);
+ int batchUpdateProjectExpert(List<ProjectExpert> list);
/**
* 删除项目专家关联
*
@@ -58,4 +66,25 @@
* @return 结果
*/
public int deleteProjectExpertByIds(Long[] ids);
+
+ /**
+ *获取未评价数量
+ * @param projectId
+ * @return
+ */
+ int getUnEva(Long projectId);
+
+ /**
+ *
+ * @param projectId
+ * @return
+ */
+ List<ProjectExpertEvaluationResp> projectExpertEvaluationList(Long projectId);
+
+ /**
+ * 专家考评记录列表
+ * @param req
+ * @return
+ */
+ List<ProjectExpertResp> projectExpertEvaList(SysProjectExpertReq req);
}
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectFileMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectFileMapper.java
index adac7b0..e0ec520 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectFileMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectFileMapper.java
@@ -1,7 +1,10 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.ProjectFile;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 项目附件Mapper接口
@@ -9,7 +12,7 @@
* @author expert
* @date 2024-11-14
*/
-public interface ProjectFileMapper
+public interface ProjectFileMapper extends BaseMapper<ProjectFile>
{
/**
* 查询项目附件
@@ -35,6 +38,8 @@
*/
public int insertProjectFile(ProjectFile projectFile);
+ int insertProjectFiles(List<ProjectFile> files);
+
/**
* 修改项目附件
*
@@ -51,6 +56,8 @@
*/
public int deleteProjectFileById(Long id);
+ int deleteProjectFileByIdAndType(@Param("projectId") Long projectId,@Param("module") String module);
+
/**
* 批量删除项目附件
*
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectManagementMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectManagementMapper.java
index c7e7afb..538b118 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/ProjectManagementMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/ProjectManagementMapper.java
@@ -1,7 +1,12 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.ProjectManagement;
+import com.gkhy.system.domain.vo.request.ProjectExpertStateReq;
+import com.gkhy.system.domain.vo.response.ProjectExpertManagementInfoRes;
+import com.gkhy.system.domain.vo.response.ProjectExpertStateResp;
+
+import java.util.List;
/**
* 项目管理Mapper接口
@@ -9,7 +14,7 @@
* @author expert
* @date 2024-11-14
*/
-public interface ProjectManagementMapper
+public interface ProjectManagementMapper extends BaseMapper<ProjectManagement>
{
/**
* 查询项目管理
@@ -58,4 +63,25 @@
* @return 结果
*/
public int deleteProjectManagementByIds(Long[] ids);
+
+ /**
+ * 详情
+ * @param id
+ * @return
+ */
+ ProjectExpertManagementInfoRes projectExpertCheckInfo(Long id);
+
+ /**
+ * 项目考评累表
+ * @param req
+ * @return
+ */
+ List<ProjectExpertStateResp> getProjectExpertSate(ProjectExpertStateReq req);
+
+ /**
+ *
+ * @param deptId
+ * @return
+ */
+ List<Integer> getDataNum (Long deptId);
}
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/SysDeptMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/SysDeptMapper.java
index adea451..647f6a1 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/SysDeptMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/SysDeptMapper.java
@@ -1,8 +1,9 @@
package com.gkhy.system.mapper;
-import java.util.List;
-import org.apache.ibatis.annotations.Param;
import com.gkhy.common.core.domain.entity.SysDept;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
/**
* 部门管理 数据层
@@ -20,6 +21,13 @@
public List<SysDept> selectDeptList(SysDept dept);
/**
+ *
+ * @param dept
+ * @return
+ */
+ public List<SysDept> getOutDeptList(SysDept dept);
+
+ /**
* 根据角色ID查询部门树信息
*
* @param roleId 角色ID
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertClassifyMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertClassifyMapper.java
index 5990ff6..ea1326a 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertClassifyMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertClassifyMapper.java
@@ -1,7 +1,7 @@
-package com.gkhy.assess.system.mapper;
+package com.gkhy.system.mapper;
-import com.gkhy.assess.system.domain.SysExpertClassify;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.system.domain.SysExpertClassify;
import org.apache.ibatis.annotations.Mapper;
/**
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertInfoMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertInfoMapper.java
index d945c6f..285628f 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertInfoMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/SysExpertInfoMapper.java
@@ -1,8 +1,13 @@
-package com.gkhy.assess.system.mapper;
+package com.gkhy.system.mapper;
-import com.gkhy.assess.system.domain.SysExpertInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.system.domain.SysExpertInfo;
+import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq;
+import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto;
+import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp;
+import com.gkhy.system.domain.vo.response.SysExpertSearchRep;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -28,7 +33,7 @@
* @param idCard
* @return
*/
- SysExpertInfo checkIdcardUnique(String idCard);
+ SysExpertInfo checkIdcardUnique(@Param("idCard") String idCard,@Param("deptId") Long deptId);
/**
* 批量删除专家信息
@@ -43,4 +48,18 @@
* @return
*/
SysExpertInfo getExpertInfoById(Long expertId);
+
+ /**
+ * 查询审批结果
+ * @param req
+ * @return
+ */
+ SysExpertSearchRep queryApprove(SysExpertSearchReqDto req);
+
+ /**
+ * 随机获取专家
+ * @param req
+ * @return
+ */
+ List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req);
}
diff --git a/expert-system/src/main/java/com/gkhy/system/mapper/SysSettingsMapper.java b/expert-system/src/main/java/com/gkhy/system/mapper/SysSettingsMapper.java
index f930315..7f6d3bc 100644
--- a/expert-system/src/main/java/com/gkhy/system/mapper/SysSettingsMapper.java
+++ b/expert-system/src/main/java/com/gkhy/system/mapper/SysSettingsMapper.java
@@ -1,7 +1,9 @@
package com.gkhy.system.mapper;
-import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.system.domain.SysSettings;
+
+import java.util.List;
/**
* 系统配置Mapper接口
@@ -9,15 +11,14 @@
* @author expert
* @date 2024-11-13
*/
-public interface SysSettingsMapper
+public interface SysSettingsMapper extends BaseMapper<SysSettings>
{
/**
* 查询系统配置
*
- * @param state 系统配置主键
* @return 系统配置
*/
- public SysSettings selectSysSettingsByState(String state);
+ public SysSettings selectSysSettingsByState();
/**
* 查询系统配置列表
@@ -38,10 +39,10 @@
/**
* 修改系统配置
*
- * @param sysSettings 系统配置
+ * @param state 系统配置
* @return 结果
*/
- public int updateSysSettings(SysSettings sysSettings);
+ public int updateSysSettingsState(String state);
/**
* 删除系统配置
diff --git a/expert-system/src/main/java/com/gkhy/system/service/IEvaluationService.java b/expert-system/src/main/java/com/gkhy/system/service/IEvaluationService.java
index 923e2c4..38657bf 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/IEvaluationService.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/IEvaluationService.java
@@ -1,8 +1,9 @@
package com.gkhy.system.service;
-import java.util.List;
-import com.gkhy.system.domain.Evaluation;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.system.domain.Evaluation;
+
+import java.util.List;
/**
* 考评管理Service接口
diff --git a/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java b/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java
index dfd8fb6..f79b35f 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/IProjectManagementService.java
@@ -1,8 +1,13 @@
package com.gkhy.system.service;
-import java.util.List;
-import com.gkhy.system.domain.ProjectManagement;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.system.domain.ProjectExpertDetail;
+import com.gkhy.system.domain.ProjectFile;
+import com.gkhy.system.domain.ProjectManagement;
+import com.gkhy.system.domain.vo.request.*;
+import com.gkhy.system.domain.vo.response.*;
+
+import java.util.List;
/**
* 项目管理Service接口
@@ -33,7 +38,7 @@
* @param projectManagement 项目管理
* @return 结果
*/
- public int insertProjectManagement(ProjectManagement projectManagement);
+ public Long insertProjectManagement(ProjectManageSaveReq projectManagement);
/**
* 修改项目管理
@@ -41,7 +46,7 @@
* @param projectManagement 项目管理
* @return 结果
*/
- public int updateProjectManagement(ProjectManagement projectManagement);
+ public void updateProjectManagement(ProjectExpertSaveBatchReqDto projectManagement);
/**
* 批量删除项目管理
@@ -58,4 +63,66 @@
* @return 结果
*/
public int deleteProjectManagementById(Long id);
+
+ /**
+ * 获取项目专家信息
+ * @param id
+ * @return
+ */
+ public ProjectExpertManagementInfoRes projectExpertCheckInfo(Long id);
+
+ /**
+ * 项目审批
+ * @param req
+ */
+ void projectCheck(ProjectCheckReq req);
+
+ /**
+ * 项目归档
+ * @param req
+ */
+ void projectArchive(ProjectArchiveReq req);
+
+ /**
+ * 项目考评
+ * @param req
+ * @return
+ */
+ List<ProjectExpertStateResp> getProjectExpertSate(ProjectExpertStateReq req);
+
+ /**
+ * 项目专家考评列表
+ * @param projectId
+ * @return
+ */
+ List<ProjectExpertEvaluationResp> projectExpertEvaluationList(Long projectId);
+
+ /**
+ * 专家考评保存
+ * @param req
+ */
+ void projectExpertDetailSave(ProjectExpertScoreSaveReq req);
+
+ /**
+ * 专家考评记录列表
+ * @param req
+ * @return
+ */
+ List<ProjectExpertResp> projectExpertEvaList(SysProjectExpertReq req);
+
+ /**
+ * 专家考评明细
+ * @param projectExpertId
+ * @return
+ */
+ List<ProjectExpertDetail> selectProjectExpertDetailList(Long projectExpertId);
+
+ /**
+ * 附件列表
+ * @return
+ */
+ List<ProjectFile> selectProjectFileList(Long projectId,String module );
+
+
+ ProjectNumResp getProjectNum();
}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/service/ISysDeptService.java b/expert-system/src/main/java/com/gkhy/system/service/ISysDeptService.java
index 98ade96..c6d8f9d 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/ISysDeptService.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/ISysDeptService.java
@@ -1,8 +1,9 @@
package com.gkhy.system.service;
-import java.util.List;
import com.gkhy.common.core.domain.TreeSelect;
import com.gkhy.common.core.domain.entity.SysDept;
+
+import java.util.List;
/**
* 部门管理 服务层
@@ -19,6 +20,8 @@
*/
public List<SysDept> selectDeptList(SysDept dept);
+ List<SysDept> getOutDeptList(SysDept dept);
+
/**
* 查询部门树结构信息
*
diff --git a/expert-system/src/main/java/com/gkhy/system/service/ISysSettingsService.java b/expert-system/src/main/java/com/gkhy/system/service/ISysSettingsService.java
index f3d0afe..01aee43 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/ISysSettingsService.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/ISysSettingsService.java
@@ -1,8 +1,10 @@
package com.gkhy.system.service;
-import java.util.List;
-import com.gkhy.system.domain.SysSettings;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.system.domain.ApplyRecord;
+import com.gkhy.system.domain.SysSettings;
+
+import java.util.List;
/**
* 系统配置Service接口
@@ -14,26 +16,10 @@
/**
* 查询系统配置
*
- * @param state 系统配置主键
* @return 系统配置
*/
- public SysSettings selectSysSettingsByState(String state);
+ public String selectSysSettings();
- /**
- * 查询系统配置列表
- *
- * @param sysSettings 系统配置
- * @return 系统配置集合
- */
- public List<SysSettings> selectSysSettingsList(SysSettings sysSettings);
-
- /**
- * 新增系统配置
- *
- * @param sysSettings 系统配置
- * @return 结果
- */
- public int insertSysSettings(SysSettings sysSettings);
/**
* 修改系统配置
@@ -41,21 +27,14 @@
* @param sysSettings 系统配置
* @return 结果
*/
- public int updateSysSettings(SysSettings sysSettings);
+ public int updateSysSettings(String sysSettings);
/**
- * 批量删除系统配置
+ * 查询开启申请记录列表
*
- * @param states 需要删除的系统配置主键集合
- * @return 结果
+ * @return 开启申请记录集合
*/
- public int deleteSysSettingsByStates(String[] states);
+ public List<ApplyRecord> selectApplyRecordList();
- /**
- * 删除系统配置信息
- *
- * @param state 系统配置主键
- * @return 结果
- */
- public int deleteSysSettingsByState(String state);
+
}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/service/SysExpertClassifyService.java b/expert-system/src/main/java/com/gkhy/system/service/SysExpertClassifyService.java
index b7be109..391871a 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/SysExpertClassifyService.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/SysExpertClassifyService.java
@@ -1,7 +1,7 @@
-package com.gkhy.assess.system.service;
+package com.gkhy.system.service;
-import com.gkhy.assess.system.domain.SysExpertClassify;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.system.domain.SysExpertClassify;
import java.util.List;
diff --git a/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java b/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java
index 9f6efe0..745abb6 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/SysExpertInfoService.java
@@ -1,8 +1,14 @@
-package com.gkhy.assess.system.service;
+package com.gkhy.system.service;
-import com.gkhy.assess.common.api.CommonPage;
-import com.gkhy.assess.system.domain.SysExpertInfo;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.system.domain.SysExpertInfo;
+import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq;
+import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto;
+import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp;
+import com.gkhy.system.domain.vo.response.SysExpertSearchRep;
+
+import java.util.List;
+
/**
* <p>
@@ -18,7 +24,7 @@
* @param expertInfo
* @return
*/
- CommonPage exportInfoList(SysExpertInfo expertInfo);
+ List<SysExpertInfo> exportInfoList(SysExpertInfo expertInfo);
/**
* 新增专家信息
@@ -61,4 +67,18 @@
* @return
*/
boolean changeApprove(SysExpertInfo expertInfo);
+
+ /**
+ *查询审批结果
+ * @param expertInfo
+ * @return
+ */
+ SysExpertSearchRep queryApprove(SysExpertSearchReqDto expertInfo);
+
+ /**
+ * 随机获取专家信息
+ * @param req
+ * @return
+ */
+ List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req);
}
diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/EvaluationServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/EvaluationServiceImpl.java
index 35c0ca0..0dbc23f 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/EvaluationServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/EvaluationServiceImpl.java
@@ -1,13 +1,15 @@
package com.gkhy.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import java.util.List;
- import com.rchuing.common.utils.DateUtils;
+import com.gkhy.common.utils.DateUtils;
+import com.gkhy.common.utils.SecurityUtils;
+import com.gkhy.system.domain.Evaluation;
+import com.gkhy.system.mapper.EvaluationMapper;
+import com.gkhy.system.service.IEvaluationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.gkhy.system.mapper.EvaluationMapper;
-import com.gkhy.system.domain.Evaluation;
-import com.gkhy.system.service.IEvaluationService;
+
+import java.util.List;
/**
* 考评管理Service业务层处理
@@ -50,6 +52,7 @@
*/
@Override
public int insertEvaluation(Evaluation evaluation) {
+ evaluation.setCreateBy(SecurityUtils.getUsername());
evaluation.setCreateTime(DateUtils.getNowDate());
return evaluationMapper.insertEvaluation(evaluation);
}
@@ -62,6 +65,7 @@
*/
@Override
public int updateEvaluation(Evaluation evaluation) {
+ evaluation.setUpdateBy(SecurityUtils.getUsername());
evaluation.setUpdateTime(DateUtils.getNowDate());
return evaluationMapper.updateEvaluation(evaluation);
}
@@ -74,6 +78,7 @@
*/
@Override
public int deleteEvaluationByIds(Long[] ids) {
+ //todo 校验被引用不可删除
return evaluationMapper.deleteEvaluationByIds(ids);
}
diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java
index ddee76c..9d55d55 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java
@@ -1,13 +1,29 @@
package com.gkhy.system.service.impl;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import java.util.List;
- import com.rchuing.common.utils.DateUtils;
+import com.gkhy.common.exception.ServiceException;
+import com.gkhy.common.utils.DateUtils;
+import com.gkhy.common.utils.SecurityUtils;
+import com.gkhy.common.utils.StringUtils;
+import com.gkhy.system.domain.ProjectExpert;
+import com.gkhy.system.domain.ProjectExpertDetail;
+import com.gkhy.system.domain.ProjectFile;
+import com.gkhy.system.domain.ProjectManagement;
+import com.gkhy.system.domain.vo.request.*;
+import com.gkhy.system.domain.vo.response.*;
+import com.gkhy.system.mapper.ProjectExpertDetailMapper;
+import com.gkhy.system.mapper.ProjectExpertMapper;
+import com.gkhy.system.mapper.ProjectFileMapper;
+import com.gkhy.system.mapper.ProjectManagementMapper;
+import com.gkhy.system.service.IProjectManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.gkhy.system.mapper.ProjectManagementMapper;
-import com.gkhy.system.domain.ProjectManagement;
-import com.gkhy.system.service.IProjectManagementService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 项目管理Service业务层处理
@@ -19,6 +35,15 @@
public class ProjectManagementServiceImpl extends ServiceImpl<ProjectManagementMapper, ProjectManagement> implements IProjectManagementService {
@Autowired
private ProjectManagementMapper projectManagementMapper;
+
+ @Autowired
+ private ProjectExpertMapper projectExpertMapper;
+
+ @Autowired
+ private ProjectFileMapper projectFileMapper;
+
+ @Autowired
+ private ProjectExpertDetailMapper projectExpertDetailMapper;
/**
* 查询项目管理
@@ -49,9 +74,26 @@
* @return 结果
*/
@Override
- public int insertProjectManagement(ProjectManagement projectManagement) {
- projectManagement.setCreateTime(DateUtils.getNowDate());
- return projectManagementMapper.insertProjectManagement(projectManagement);
+ public Long insertProjectManagement(ProjectManageSaveReq projectManagement) {
+ ProjectManagement projectManagementSave = new ProjectManagement();
+
+ projectManagementSave.setDelFlag(0L);
+ BeanUtil.copyProperties(projectManagement, projectManagementSave);
+ if (projectManagement.getId() != null){
+ checkDataPer(projectManagement.getId());
+
+ projectManagementSave.setUpdateBy(SecurityUtils.getUsername());
+ projectManagementSave.setUpdateTime(DateUtils.getNowDate());
+ projectManagementMapper.updateProjectManagement(projectManagementSave);
+ }else {
+ projectManagementSave.setStep(1L);
+ projectManagementSave.setCreateBy(SecurityUtils.getUsername());
+ projectManagementSave.setCreateTime(DateUtils.getNowDate());
+ projectManagementMapper.insertProjectManagement(projectManagementSave);
+ }
+
+
+ return projectManagementSave.getId();
}
/**
@@ -61,9 +103,129 @@
* @return 结果
*/
@Override
- public int updateProjectManagement(ProjectManagement projectManagement) {
- projectManagement.setUpdateTime(DateUtils.getNowDate());
- return projectManagementMapper.updateProjectManagement(projectManagement);
+ @Transactional
+ public void updateProjectManagement(ProjectExpertSaveBatchReqDto projectManagement) {
+ ProjectManagement projectManagement1 = checkDataPer(projectManagement.getId());
+ //专家选取
+
+ ProjectManagement projectManagementSave = new ProjectManagement();
+ projectManagementSave.setUpdateBy(SecurityUtils.getUsername());
+ projectManagementSave.setUpdateTime(DateUtils.getNowDate());
+ projectManagementSave.setId(projectManagement.getId());
+ if (projectManagement1.getState() != 1 && projectManagement1.getState() != 0){
+ throw new ServiceException("该步骤不可操作专家数据!");
+ }
+
+ List<ProjectExpertSaveReqDto> saveData = projectManagement.getSaveData();
+ if (!StringUtils.isNotEmpty(saveData)){
+ throw new ServiceException("专家不可为空!");
+ }
+ if (hasDuplicateExpertId(saveData)){
+ throw new ServiceException("专家重复!");
+ }
+ long count = saveData.stream()
+ .filter(dto -> dto.getSelectionMode() == 1)
+ .count();
+ if (count < 1){
+ throw new ServiceException("固定专家不能为空!");
+ }
+
+ if (projectManagement1.getStep() == 1 || projectManagement1.getStep() == 2){
+ projectManagementSave.setStep(2L);
+ projectManagementSave.setState(1L);
+ }else if (projectManagement1.getStep() == 3){
+ projectManagementSave.setStep(3L);
+ projectManagementSave.setState(2L);
+ projectManagementSave.setProjectCheckTime(new Date());
+ List<ProjectExpertSaveReqDto> collect = saveData.stream()
+ .filter(dto -> "1".equals(dto.getTeamLeader().toString()))
+ .collect(Collectors.toList());
+
+ if (StringUtils.isEmpty(collect)){
+ throw new ServiceException("缺少组长!");
+ }
+ if (collect.size() > 1){
+ throw new ServiceException("组长只能选一人!");
+ }
+ projectManagementSave.setExpertName(collect.get(0).getExpertName());
+ projectManagementSave.setExpertId(collect.get(0).getExpertId());
+ }
+
+ List<ProjectExpertSaveReqDto> saveList = saveData.stream()
+ .filter(dto -> dto.getId() == null)
+ .collect(Collectors.toList());
+ if (StringUtils.isNotEmpty(saveList)){
+ List<ProjectExpert> projectExperts = convertToProjectExpertList(saveList, projectManagement.getId());
+ int i = projectExpertMapper.batchInsertProjectExpert(projectExperts);
+ if (i < 1){
+ throw new ServiceException("保存专家失败!");
+ }
+ }
+ List<ProjectExpertSaveReqDto> editList = saveData.stream()
+ .filter(dto -> dto.getId() != null)
+ .collect(Collectors.toList());
+ if (StringUtils.isNotEmpty(editList)){
+ List<ProjectExpert> projectExperts = convertToProjectExpertList(editList, projectManagement.getId());
+ int i = projectExpertMapper.batchUpdateProjectExpert(projectExperts);
+ if (i < 1){
+ throw new ServiceException("保存专家失败!");
+ }
+ }
+ projectManagementSave.setExpertNum((long) saveData.size());
+ List<Long> delData = projectManagement.getDelData();
+ if (delData != null && delData.size() > 0) {
+ int i = projectExpertMapper.deleteProjectExpertByIds(delData.toArray(new Long[delData.size()]));
+ if (i < 1){
+ throw new ServiceException("保存专家失败!");
+ }
+ }
+
+ int i = projectManagementMapper.updateProjectManagement(projectManagementSave);
+ if (i < 1){
+ throw new ServiceException("保存专家失败!");
+ }
+ }
+
+
+ public List<ProjectExpert> convertToProjectExpertList(List<ProjectExpertSaveReqDto> reqDtos,Long projectId) {
+ List<ProjectExpert> projectExpertList = new ArrayList<>();
+ reqDtos.forEach(reqDto -> {
+ ProjectExpert projectExpert = convertToProjectExpert(reqDto,projectId);
+ projectExpertList.add(projectExpert);
+ });
+ return projectExpertList;
+ }
+
+ private ProjectExpert convertToProjectExpert(ProjectExpertSaveReqDto reqDto,Long projectId) {
+ ProjectExpert projectExpert = new ProjectExpert();
+ projectExpert.setProjectId(projectId);
+ projectExpert.setExpertId(reqDto.getExpertId());
+ projectExpert.setSelectionMode(reqDto.getSelectionMode());
+ projectExpert.setTeamLeader(reqDto.getTeamLeader());
+ if (reqDto.getId() == null){
+ projectExpert.setCreateBy(SecurityUtils.getUsername());
+ }else {
+ projectExpert.setUpdateBy(SecurityUtils.getUsername());
+ projectExpert.setId(reqDto.getId());
+ }
+ return projectExpert;
+ }
+
+
+
+ public boolean hasDuplicateExpertId(List<ProjectExpertSaveReqDto> saveData) {
+ // 使用 Stream API 收集 expertId 的频率
+ Map<Long, Long> frequencyMap = saveData.stream()
+ .collect(Collectors.groupingBy(ProjectExpertSaveReqDto::getExpertId, Collectors.counting()));
+
+ // 检查是否有任何 expertId 的频率大于 1
+ boolean hasDuplicates = frequencyMap.values().stream().anyMatch(count -> count > 1);
+
+ if (hasDuplicates) {
+ return true;
+ }
+
+ return false;
}
/**
@@ -74,6 +236,10 @@
*/
@Override
public int deleteProjectManagementByIds(Long[] ids) {
+ //todo 校验
+ for (Long id : ids) {
+ checkDataPer(id);
+ }
return projectManagementMapper.deleteProjectManagementByIds(ids);
}
@@ -87,4 +253,250 @@
public int deleteProjectManagementById(Long id) {
return projectManagementMapper.deleteProjectManagementById(id);
}
+
+ @Override
+ public ProjectExpertManagementInfoRes projectExpertCheckInfo(Long id) {
+ return projectManagementMapper.projectExpertCheckInfo(id);
+ }
+
+ @Override
+ @Transactional
+ public void projectCheck(ProjectCheckReq req) {
+ ProjectManagement projectManagement = checkDataPer(req.getId());
+
+ if (req.getState() != 3L && req.getState() != 1 ){
+ throw new ServiceException("参数异常!");
+ }
+ if (projectManagement.getStep() != 3){
+ throw new ServiceException("非审批步骤!");
+ }
+ Long state = projectManagement.getState();
+ if (req.getState() == 3 && state != 2){
+ throw new ServiceException("未生成审批单不可审批通过操作!");
+ }else if (req.getState() == 1 && state != 2){
+ throw new ServiceException("不可操作!");
+ }
+
+ List<ProjectFile> projectFile = req.getProjectFile();
+ ProjectManagement projectManagementUp = new ProjectManagement();
+ projectManagementUp.setId(req.getId());
+ projectManagementUp.setState(req.getState());
+ projectManagementUp.setUpdateBy(SecurityUtils.getUsername());
+ if (req.getState() == 3){
+ projectManagementUp.setStep(4L);
+ }else if (req.getState() == 1){
+ projectManagementUp.setStep(2L);
+ }
+ int i = projectManagementMapper.updateProjectManagement(projectManagementUp);
+ //驳回删
+ if (req.getState() == 1){
+ projectFileMapper.deleteProjectFileByIdAndType(req.getId(), "1");
+ }
+ if (i > 0 && StringUtils.isNotEmpty(projectFile) && req.getState() == 3){
+ //删除之前的该类型
+ projectFileMapper.deleteProjectFileByIdAndType(req.getId(), "1");
+ String username = SecurityUtils.getUsername();
+ projectFile.forEach(file -> {
+ file.setCreateBy(username);
+ file.setProjectId(req.getId());
+ });
+ int i1 = projectFileMapper.insertProjectFiles(projectFile);
+ if (i1 < 1){
+ throw new ServiceException("保存附件失败!");
+ }
+ }
+ }
+
+ @Override
+ public void projectArchive(ProjectArchiveReq req) {
+ ProjectManagement projectManagement = checkDataPer(req.getId());
+
+ Long state = projectManagement.getState();
+ if (state != 3L){
+ throw new ServiceException("此状态不可归档!");
+ }
+ List<ProjectFile> projectFile = req.getProjectFile();
+ ProjectManagement projectManagementUp = new ProjectManagement();
+ projectManagementUp.setId(req.getId());
+ projectManagementUp.setState(4L);
+ projectManagementUp.setDesc(req.getDesc());
+ projectManagementUp.setProjectEndTime(req.getProjectEndTime());
+ projectManagementUp.setUpdateBy(SecurityUtils.getUsername());
+ int i = projectManagementMapper.updateProjectManagement(projectManagementUp);
+ if (i > 0 && StringUtils.isNotEmpty(projectFile)){
+ String username = SecurityUtils.getUsername();
+ projectFile.forEach(file -> {
+ file.setCreateBy(username);
+ file.setProjectId(req.getId());
+ });
+ int i1 = projectFileMapper.insertProjectFiles(projectFile);
+ if (i1 < 1){
+ throw new ServiceException("保存附件失败!");
+ }
+ }
+
+ }
+
+ @Override
+ public List<ProjectExpertStateResp> getProjectExpertSate(ProjectExpertStateReq req) {
+ return projectManagementMapper.getProjectExpertSate(req);
+ }
+
+ @Override
+ public List<ProjectExpertEvaluationResp> projectExpertEvaluationList(Long projectId) {
+ return projectExpertMapper.projectExpertEvaluationList(projectId);
+ }
+
+ @Override
+ @Transactional
+ public void projectExpertDetailSave(ProjectExpertScoreSaveReq req) {
+
+ List<Long> delData = req.getDelData();
+ if (StringUtils.isNotEmpty(delData)){
+ projectExpertDetailMapper.deleteProjectExpertDetailByIds(delData.toArray(new Long[delData.size()]));
+ }
+
+
+ ProjectExpert projectExpert1 = projectExpertMapper.selectProjectExpertById(req.getProjectExpertId());
+ if (projectExpert1 == null){
+ throw new ServiceException("项目专家不存在!");
+ }
+ ProjectManagement projectManagement1 = checkData(projectExpert1.getProjectId());
+ if (projectManagement1.getState() != 4){
+ throw new ServiceException("项目未完成!");
+ }
+
+ //更新项目专家表
+ ProjectExpert projectExpert = new ProjectExpert();
+ projectExpert.setId(req.getProjectExpertId());
+ projectExpert.setScore(req.getScore());
+ projectExpert.setevaluationState(1L);
+ int i = projectExpertMapper.updateProjectExpert(projectExpert);
+ if (i < 1){
+ throw new ServiceException("保存失败!");
+ }
+
+ List<ProjectExpertScoreSaveReq.Score> saveData = req.getSaveData();
+
+ if (StringUtils.isNotEmpty(saveData)){
+ List<ProjectExpertDetail> projectExpertDetails = dealData(saveData, req.getProjectExpertId());
+ List<ProjectExpertDetail> saveList = projectExpertDetails.stream()
+ .filter(dto -> dto.getId() == null)
+ .collect(Collectors.toList());
+ if (StringUtils.isNotEmpty(saveList)){
+ int i12 = projectExpertDetailMapper.batchInsertProjectExpertDetail(saveList);
+ if (i12 < 1){
+ throw new ServiceException("保存失败!");
+ }
+ }
+ List<ProjectExpertDetail> updateList = projectExpertDetails.stream()
+ .filter(dto -> dto.getId() != null)
+ .collect(Collectors.toList());
+ if (StringUtils.isNotEmpty(updateList)){
+ int i1 = projectExpertDetailMapper.batchUpdateProjectExpertDetail(updateList);
+ if (i1 < 1){
+ throw new ServiceException("保存失败!");
+ }
+ }
+ }
+
+ //验证是否都已考评
+ int unEva = projectExpertMapper.getUnEva(projectExpert1.getProjectId());
+ if (unEva == 0){
+ ProjectManagement projectManagement = new ProjectManagement();
+ projectManagement.setId(projectExpert1.getProjectId());
+ projectManagement.setEvaluationState(1L);
+ projectManagement.setUpdateBy(SecurityUtils.getUsername());
+ int i1 = projectManagementMapper.updateProjectManagement(projectManagement);
+ if (i1 < 1){
+ throw new ServiceException("保存失败!");
+ }
+ }
+
+ }
+
+ @Override
+ public List<ProjectExpertResp> projectExpertEvaList(SysProjectExpertReq req) {
+ return projectExpertMapper.projectExpertEvaList(req);
+ }
+
+ @Override
+ public List<ProjectExpertDetail> selectProjectExpertDetailList(Long projectExpertId) {
+ ProjectExpertDetail projectExpertDetail = new ProjectExpertDetail();
+ projectExpertDetail.setProjectExpertId(projectExpertId);
+ return projectExpertDetailMapper.selectProjectExpertDetailList(projectExpertDetail);
+ }
+
+ @Override
+ public List<ProjectFile> selectProjectFileList(Long projectId,String module ) {
+ ProjectFile projectFile = new ProjectFile();
+ projectFile.setProjectId(projectId);
+ projectFile.setModule(module);
+ List<ProjectFile> projectFiles = projectFileMapper.selectProjectFileList(projectFile);
+ if (StringUtils.isNotEmpty(projectFiles)){
+ return projectFiles;
+ }
+ return Collections.emptyList();
+ }
+
+ @Override
+ public ProjectNumResp getProjectNum() {
+ ProjectNumResp projectNumResp = new ProjectNumResp();
+ List<Integer> dataNum = projectManagementMapper.getDataNum(SecurityUtils.isAdmin(SecurityUtils.getUserId()) ? null : SecurityUtils.getDeptId());
+ if (!StringUtils.isEmpty(dataNum)){
+ Map<Integer, Long> statusCounts = dataNum.stream()
+ .collect(Collectors.groupingBy(
+ status -> status, // 分组键
+ Collectors.counting() // 计数
+ ));
+ projectNumResp.setTotal(dataNum.size());
+ projectNumResp.setApproval(statusCounts.get(3) == null ? 0 : statusCounts.get(3).intValue());
+ projectNumResp.setExpert(statusCounts.get(1) == null ? 0 : statusCounts.get(1).intValue());
+ projectNumResp.setStaging(statusCounts.get(0) == null ? 0:statusCounts.get(0).intValue());
+ projectNumResp.setEnd(statusCounts.get(4) == null ? 0:statusCounts.get(4).intValue());
+ }
+ return projectNumResp;
+ }
+
+ private List<ProjectExpertDetail> dealData(List<ProjectExpertScoreSaveReq.Score> data,Long projectExpertId){
+ List<ProjectExpertDetail> dealData = new ArrayList<>();
+ data.forEach(dto -> {
+ ProjectExpertDetail projectExpertDetail = new ProjectExpertDetail();
+ projectExpertDetail.setProjectExpertId(projectExpertId);
+ projectExpertDetail.setContent(dto.getContent());
+ projectExpertDetail.setScore(dto.getScore());
+ projectExpertDetail.setScoreType(dto.getScoreType());
+ if (dto.getId() == null){
+ projectExpertDetail.setCreateBy(SecurityUtils.getUsername());
+ }else {
+ projectExpertDetail.setId(dto.getId());
+ projectExpertDetail.setUpdateBy(SecurityUtils.getUsername());
+ }
+
+ dealData.add(projectExpertDetail);
+ });
+ return dealData;
+ }
+
+
+ public ProjectManagement checkData(Long id){
+ ProjectManagement projectManagement = projectManagementMapper.selectProjectManagementById(id);
+ if (ObjectUtil.isNull(projectManagement)){
+ throw new ServiceException("数据不存在!");
+ }
+ return projectManagement;
+ }
+
+ public ProjectManagement checkDataPer(Long id){
+ ProjectManagement projectManagement = checkData(id);
+ Long deptId = projectManagement.getDeptId();
+ // 本部门审批?
+ if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && deptId.intValue() != SecurityUtils.getDeptId().intValue()){
+ throw new ServiceException("非本部门数据,无权操作!");
+ }
+ if (projectManagement.getState() == 4){
+ throw new ServiceException("已结项,无权操作!");
+ }
+ return projectManagement;
+ }
}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysDeptServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysDeptServiceImpl.java
index ce34ff6..e24b8e7 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysDeptServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysDeptServiceImpl.java
@@ -1,11 +1,5 @@
package com.gkhy.system.service.impl;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.stream.Collectors;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
import com.gkhy.common.annotation.DataScope;
import com.gkhy.common.constant.UserConstants;
import com.gkhy.common.core.domain.TreeSelect;
@@ -20,6 +14,13 @@
import com.gkhy.system.mapper.SysDeptMapper;
import com.gkhy.system.mapper.SysRoleMapper;
import com.gkhy.system.service.ISysDeptService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 部门管理 服务实现
@@ -48,6 +49,11 @@
return deptMapper.selectDeptList(dept);
}
+ @Override
+ public List<SysDept> getOutDeptList(SysDept dept) {
+ return deptMapper.getOutDeptList(dept);
+ }
+
/**
* 查询部门树结构信息
*
diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertClassifyServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertClassifyServiceImpl.java
index d452bcc..94881e1 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertClassifyServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertClassifyServiceImpl.java
@@ -1,15 +1,15 @@
-package com.gkhy.assess.system.service.impl;
+package com.gkhy.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gkhy.assess.common.enums.DeleteFlagEnum;
-import com.gkhy.assess.common.exception.ApiException;
-import com.gkhy.assess.common.utils.StringUtils;
-import com.gkhy.assess.system.domain.SysExpertClassify;
-import com.gkhy.assess.system.mapper.SysExpertClassifyMapper;
-import com.gkhy.assess.system.service.SysExpertClassifyService;
-import com.gkhy.assess.system.utils.ShiroUtils;
+import com.gkhy.common.enums.DeleteFlagEnum;
+import com.gkhy.common.exception.ServiceException;
+import com.gkhy.common.utils.SecurityUtils;
+import com.gkhy.common.utils.StringUtils;
+import com.gkhy.system.domain.SysExpertClassify;
+import com.gkhy.system.mapper.SysExpertClassifyMapper;
+import com.gkhy.system.service.SysExpertClassifyService;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -33,7 +33,7 @@
if(StringUtils.isNotBlank(expertClassify.getClassifyName())){
lambdaQueryWrapper.like(SysExpertClassify::getClassifyName,expertClassify.getClassifyName());
}
- lambdaQueryWrapper.eq(SysExpertClassify::getDelFlag,DeleteFlagEnum.UN_DELETE.getCode());
+ lambdaQueryWrapper.eq(SysExpertClassify::getDelFlag, DeleteFlagEnum.UN_DELETE.getCode());
List<SysExpertClassify> classifies= list(lambdaQueryWrapper);
//筛选出所有一级标签
return classifies.stream()
@@ -53,10 +53,10 @@
@Override
public int modClassify(SysExpertClassify expertClassify) {
- expertClassify.setUpdateBy(ShiroUtils.getSysUser().getUsername());
+ expertClassify.setUpdateBy(SecurityUtils.getUsername());
boolean b=updateById(expertClassify);
if(!b){
- throw new ApiException("修改专家分类失败");
+ throw new ServiceException("修改专家分类失败");
}
return 1;
}
@@ -66,20 +66,20 @@
SysExpertClassify classify = new SysExpertClassify();
classify.setId(classifyId);
classify.setDelFlag(DeleteFlagEnum.DELETED.getCode());
- classify.setUpdateBy(ShiroUtils.getSysUser().getUsername());
+ classify.setUpdateBy(SecurityUtils.getUsername());
boolean b=updateById(classify);
if(!b){
- throw new ApiException("删除专家分类失败");
+ throw new ServiceException("删除专家分类失败");
}
return 1;
}
@Override
public int addClassify(SysExpertClassify expertClassify) {
- expertClassify.setCreateBy(ShiroUtils.getSysUser().getUsername());
+ expertClassify.setCreateBy(SecurityUtils.getUsername());
boolean b=save(expertClassify);
if(!b){
- throw new ApiException("新增专家分类失败");
+ throw new ServiceException("新增专家分类失败");
}
return 1;
}
diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java
index fe922cb..521e5b8 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java
@@ -1,17 +1,18 @@
-package com.gkhy.assess.system.service.impl;
+package com.gkhy.system.service.impl;
+
import cn.hutool.core.util.ObjectUtil;
-import com.gkhy.assess.common.api.CommonPage;
-import com.gkhy.assess.common.enums.DeleteFlagEnum;
-import com.gkhy.assess.common.exception.ApiException;
-import com.gkhy.assess.common.utils.PageUtil;
-import com.gkhy.assess.system.domain.SysAgency;
-import com.gkhy.assess.system.domain.SysExpertInfo;
-import com.gkhy.assess.system.domain.SysUser;
-import com.gkhy.assess.system.mapper.SysExpertInfoMapper;
-import com.gkhy.assess.system.service.SysExpertInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.gkhy.assess.system.utils.ShiroUtils;
+import com.gkhy.common.enums.DeleteFlagEnum;
+import com.gkhy.common.exception.ServiceException;
+import com.gkhy.common.utils.SecurityUtils;
+import com.gkhy.system.domain.SysExpertInfo;
+import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq;
+import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto;
+import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp;
+import com.gkhy.system.domain.vo.response.SysExpertSearchRep;
+import com.gkhy.system.mapper.SysExpertInfoMapper;
+import com.gkhy.system.service.SysExpertInfoService;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -28,21 +29,23 @@
public class SysExpertInfoServiceImpl extends ServiceImpl<SysExpertInfoMapper, SysExpertInfo> implements SysExpertInfoService {
@Override
- public CommonPage exportInfoList(SysExpertInfo expertInfo) {
- PageUtil.startPage();
- List<SysExpertInfo> agencyList=baseMapper.expertInfoList(expertInfo);
- return CommonPage.restPage(agencyList);
+ public List<SysExpertInfo> exportInfoList(SysExpertInfo expertInfo) {
+ //todo 验证是否是管理不是管理只能看本部门
+ if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+ expertInfo.setDeptId(SecurityUtils.getDeptId());
+ }
+ return baseMapper.expertInfoList(expertInfo);
}
@Override
public int addExpertInfo(SysExpertInfo expertInfo) {
if(!checkIdCardUnique(new SysExpertInfo().setIdCard(expertInfo.getIdCard()))){
- throw new ApiException(expertInfo.getIdCard()+"身份证号码已经存在");
+ throw new ServiceException("该业务处室申请数据已存在");
}
- expertInfo.setCreateBy(ShiroUtils.getSysUser().getUsername());
+ expertInfo.setCreateBy(expertInfo.getName());
boolean b=save(expertInfo);
if(!b){
- throw new ApiException("新增专家信息失败");
+ throw new ServiceException("新增专家信息失败");
}
return 1;
}
@@ -50,12 +53,12 @@
@Override
public int modExpertInfo(SysExpertInfo expertInfo) {
if(!checkIdCardUnique(expertInfo)){
- throw new ApiException(expertInfo.getIdCard()+"身份证号码已经存在");
+ throw new ServiceException("该业务处室申请数据已存在");
}
- expertInfo.setUpdateBy(ShiroUtils.getSysUser().getUsername());
+ expertInfo.setUpdateBy(SecurityUtils.getUsername());
boolean b=updateById(expertInfo);
if(!b){
- throw new ApiException("修改专家信息失败");
+ throw new ServiceException("修改专家信息失败");
}
return 1;
}
@@ -65,10 +68,10 @@
SysExpertInfo expertInfo = new SysExpertInfo();
expertInfo.setId(expertId);
expertInfo.setDelFlag(DeleteFlagEnum.DELETED.getCode());
- expertInfo.setUpdateBy(ShiroUtils.getSysUser().getUsername());
+ expertInfo.setUpdateBy(SecurityUtils.getUsername());
boolean b= updateById(expertInfo);
if(!b){
- throw new ApiException("删除专家信息失败");
+ throw new ServiceException("删除专家信息失败");
}
return 1;
}
@@ -87,12 +90,12 @@
public SysExpertInfo checkExpertInfoDataScope(Long expertId) {
if(expertId==null){
- throw new ApiException("专家id为空!");
+ throw new ServiceException("专家id为空!");
}
SysExpertInfo expertInfo = baseMapper.getExpertInfoById(expertId);
if (ObjectUtil.isNull(expertInfo))
{
- throw new ApiException("专家数据不存在!");
+ throw new ServiceException("专家数据不存在!");
}
return expertInfo;
}
@@ -101,13 +104,27 @@
public boolean changeApprove(SysExpertInfo expertInfo) {
checkExpertInfoDataScope(expertInfo.getId());
SysExpertInfo se=new SysExpertInfo().setId(expertInfo.getId()).setState(expertInfo.getState());
- se.setUpdateBy(ShiroUtils.getSysUser().getUsername());
+ se.setUpdateBy(SecurityUtils.getUsername());
return updateById(se);
+ }
+
+ @Override
+ public SysExpertSearchRep queryApprove(SysExpertSearchReqDto expertInfo) {
+ SysExpertSearchRep sysExpertSearchRep = baseMapper.queryApprove(expertInfo);
+ if (null == sysExpertSearchRep){
+ throw new ServiceException("申请记录不存!");
+ }
+ return sysExpertSearchRep;
+ }
+
+ @Override
+ public List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req) {
+ return baseMapper.getExpertRound(req);
}
public boolean checkIdCardUnique(SysExpertInfo expertInfo){
Long expertId = expertInfo.getId()==null? -1L : expertInfo.getId();
- SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard());
+ SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard(),expertInfo.getDeptId());
if (info!=null && info.getId().longValue() != expertId.longValue())
{
return false;
diff --git a/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java b/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java
index 6568a77..9fdb3c3 100644
--- a/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java
+++ b/expert-system/src/main/java/com/gkhy/system/service/impl/SysSettingsServiceImpl.java
@@ -1,12 +1,24 @@
package com.gkhy.system.service.impl;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import java.util.List;
+import com.gkhy.common.core.redis.RedisCache;
+import com.gkhy.common.core.text.Convert;
+import com.gkhy.common.enums.OpenFlagEnum;
+import com.gkhy.common.exception.ServiceException;
+import com.gkhy.common.utils.SecurityUtils;
+import com.gkhy.common.utils.StringUtils;
+import com.gkhy.system.domain.ApplyRecord;
+import com.gkhy.system.domain.SysSettings;
+import com.gkhy.system.mapper.ApplyRecordMapper;
+import com.gkhy.system.mapper.SysSettingsMapper;
+import com.gkhy.system.service.ISysSettingsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.gkhy.system.mapper.SysSettingsMapper;
-import com.gkhy.system.domain.SysSettings;
-import com.gkhy.system.service.ISysSettingsService;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
/**
* 系统配置Service业务层处理
@@ -19,38 +31,53 @@
@Autowired
private SysSettingsMapper sysSettingsMapper;
+ @Autowired
+ private RedisCache redisCache;
+
+ @Autowired
+ private ApplyRecordMapper applyRecordMapper;
+
+public static final String APPLY_SETTINGS = "APPLY_SETTINGS_KEY";
+
+ @PostConstruct
+ public void init()
+ {
+ loadingSettingsCache();
+ }
+
/**
* 查询系统配置
*
- * @param state 系统配置主键
+
* @return 系统配置
*/
@Override
- public SysSettings selectSysSettingsByState(String state) {
- return sysSettingsMapper.selectSysSettingsByState(state);
+ public String selectSysSettings() {
+
+ String state = Convert.toStr(redisCache.getCacheObject(APPLY_SETTINGS));
+ if (StringUtils.isNotEmpty(state))
+ {
+ return state;
+ }
+
+ SysSettings sysSettings = sysSettingsMapper.selectSysSettingsByState();
+ if (StringUtils.isNotNull(sysSettings)) {
+ redisCache.setCacheObject(APPLY_SETTINGS, sysSettings.getState());
+ return sysSettings.getState();
+ }
+
+ return OpenFlagEnum.CLOSE.getCode();
}
- /**
- * 查询系统配置列表
- *
- * @param sysSettings 系统配置
- * @return 系统配置
- */
- @Override
- public List<SysSettings> selectSysSettingsList(SysSettings sysSettings) {
- return sysSettingsMapper.selectSysSettingsList(sysSettings);
+ public void loadingSettingsCache(){
+ SysSettings sysSettings = sysSettingsMapper.selectSysSettingsByState();
+ if (sysSettings != null) {
+ redisCache.setCacheObject(APPLY_SETTINGS, sysSettings.getState());
+ }else {
+ redisCache.setCacheObject(APPLY_SETTINGS, OpenFlagEnum.CLOSE.getCode());
+ }
}
- /**
- * 新增系统配置
- *
- * @param sysSettings 系统配置
- * @return 结果
- */
- @Override
- public int insertSysSettings(SysSettings sysSettings) {
- return sysSettingsMapper.insertSysSettings(sysSettings);
- }
/**
* 修改系统配置
@@ -59,29 +86,51 @@
* @return 结果
*/
@Override
- public int updateSysSettings(SysSettings sysSettings) {
- return sysSettingsMapper.updateSysSettings(sysSettings);
+ @Transactional
+ public int updateSysSettings(String sysSettings) {
+
+ int i = sysSettingsMapper.updateSysSettingsState(sysSettings);
+ if (i > 0){
+ String state = Convert.toStr(redisCache.getCacheObject(APPLY_SETTINGS));
+
+ if (OpenFlagEnum.OPEN.getCode().equals(sysSettings)){
+ if (StringUtils.isNotEmpty(state) && OpenFlagEnum.OPEN.getCode().equals(state)){
+ throw new ServiceException("当前状态已开启!");
+ }
+ ApplyRecord applyRecord = new ApplyRecord();
+ applyRecord.setStartTime(DateUtil.date());
+ applyRecord.setCreateBy(SecurityUtils.getUsername());
+ int i1 = applyRecordMapper.insertApplyRecord(applyRecord);
+ if (i1 < 1){
+ throw new ServiceException("开启失败,稍后再试!");
+ }
+ }else {
+ if (StringUtils.isNotEmpty(state) && OpenFlagEnum.CLOSE.getCode().equals(state)){
+ throw new ServiceException("当前状态已关闭!");
+ }
+ List<ApplyRecord> list = applyRecordMapper.selectApplyRecordList();
+ if (StringUtils.isNotEmpty(list)){
+ ApplyRecord applyRecord = list.get(0);
+ applyRecord.setEndTime(DateUtil.date());
+ applyRecord.setUpdateBy(SecurityUtils.getUsername());
+ int i1 = applyRecordMapper.updateApplyRecord(applyRecord);
+ if (i1 < 1){
+ throw new ServiceException("关闭失败,稍后再试!");
+ }
+ }
+ }
+ redisCache.setCacheObject(APPLY_SETTINGS, sysSettings);
+ }
+ return i;
}
/**
- * 批量删除系统配置
+ * 查询开启申请记录列表
*
- * @param states 需要删除的系统配置主键
- * @return 结果
+ * @return 开启申请记录
*/
@Override
- public int deleteSysSettingsByStates(String[] states) {
- return sysSettingsMapper.deleteSysSettingsByStates(states);
- }
-
- /**
- * 删除系统配置信息
- *
- * @param state 系统配置主键
- * @return 结果
- */
- @Override
- public int deleteSysSettingsByState(String state) {
- return sysSettingsMapper.deleteSysSettingsByState(state);
+ public List<ApplyRecord> selectApplyRecordList() {
+ return applyRecordMapper.selectApplyRecordList();
}
}
\ No newline at end of file
diff --git a/expert-system/src/main/resources/mapper/system/ApplyRecordMapper.xml b/expert-system/src/main/resources/mapper/system/ApplyRecordMapper.xml
index 4ddf3f0..e8be75c 100644
--- a/expert-system/src/main/resources/mapper/system/ApplyRecordMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ApplyRecordMapper.xml
@@ -19,11 +19,8 @@
</sql>
<select id="selectApplyRecordList" parameterType="ApplyRecord" resultMap="ApplyRecordResult">
- <include refid="selectApplyRecordVo"/>
- <where>
- <if test="startTime != null "> and start_time = #{startTime}</if>
- <if test="endTime != null "> and end_time = #{endTime}</if>
- </where>
+ select id, start_time, end_time, create_by, create_time, update_by, update_time from apply_record
+ order by create_time desc
</select>
<select id="selectApplyRecordById" parameterType="Long" resultMap="ApplyRecordResult">
diff --git a/expert-system/src/main/resources/mapper/system/EvaluationMapper.xml b/expert-system/src/main/resources/mapper/system/EvaluationMapper.xml
index fff4cda..1e00355 100644
--- a/expert-system/src/main/resources/mapper/system/EvaluationMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/EvaluationMapper.xml
@@ -23,12 +23,14 @@
<select id="selectEvaluationList" parameterType="Evaluation" resultMap="EvaluationResult">
<include refid="selectEvaluationVo"/>
- <where>
+ <where>
+ and del_flag = 0
<if test="score != null "> and score = #{score}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="scoreType != null and scoreType != ''"> and score_type = #{scoreType}</if>
<if test="version != null "> and version = #{version}</if>
</where>
+ order by create_time desc
</select>
<select id="selectEvaluationById" parameterType="Long" resultMap="EvaluationResult">
diff --git a/expert-system/src/main/resources/mapper/system/ProjectExpertDetailMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectExpertDetailMapper.xml
index 69bdbd6..c306e4b 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectExpertDetailMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectExpertDetailMapper.xml
@@ -6,9 +6,10 @@
<resultMap type="ProjectExpertDetail" id="ProjectExpertDetailResult">
<result property="id" column="id" />
- <result property="projectExpert" column="project_expert" />
+ <result property="projectExpertId" column="project_expert_id" />
<result property="content" column="content" />
<result property="score" column="score" />
+ <result property="scoreType" column="score_type" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -17,16 +18,18 @@
</resultMap>
<sql id="selectProjectExpertDetailVo">
- select id, project_expert, content, score, del_flag, create_by, create_time, update_by, update_time from project_expert_detail
+ select id, project_expert_id, content, score, del_flag,score_type, create_by, create_time, update_by, update_time from project_expert_detail
</sql>
<select id="selectProjectExpertDetailList" parameterType="ProjectExpertDetail" resultMap="ProjectExpertDetailResult">
<include refid="selectProjectExpertDetailVo"/>
- <where>
- <if test="projectExpert != null "> and project_expert = #{projectExpert}</if>
+ <where>
+ and del_flag = 0
+ <if test="projectExpertId != null "> and project_expert_id = #{projectExpertId}</if>
<if test="content != null and content != ''"> and content = #{content}</if>
<if test="score != null "> and score = #{score}</if>
</where>
+ order by create_time desc
</select>
<select id="selectProjectExpertDetailById" parameterType="Long" resultMap="ProjectExpertDetailResult">
@@ -37,9 +40,10 @@
<insert id="insertProjectExpertDetail" parameterType="ProjectExpertDetail" useGeneratedKeys="true" keyProperty="id">
insert into project_expert_detail
<trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="projectExpert != null">project_expert,</if>
+ <if test="projectExpertId != null">project_expert_id,</if>
<if test="content != null and content != ''">content,</if>
<if test="score != null">score,</if>
+ <if test="scoreType != null and scoreType != ''">score_type,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@@ -47,9 +51,10 @@
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="projectExpert != null">#{projectExpert},</if>
+ <if test="projectExpertId != null">#{projectExpertId},</if>
<if test="content != null and content != ''">#{content},</if>
<if test="score != null">#{score},</if>
+ <if test="scoreType != null and scoreType != ''">#{scoreType},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@@ -58,12 +63,30 @@
</trim>
</insert>
+ <insert id="batchInsertProjectExpertDetail" parameterType="java.util.List" >
+ insert into project_expert_detail
+ ( project_expert_id, content, score, score_type, create_by)
+ values
+ <foreach collection="list" item="item" separator=",">
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="item.projectExpertId != null">#{item.projectExpertId},</if>
+ <if test="item.content != null and item.content != ''">#{item.content},</if>
+ <if test="item.score != null">#{item.score},</if>
+ <if test="item.scoreType != null and item.scoreType != ''">#{item.scoreType},</if>
+ <if test="item.createBy != null">#{item.createBy},</if>
+ </trim>
+ </foreach>
+ </insert>
+
+
+
<update id="updateProjectExpertDetail" parameterType="ProjectExpertDetail">
update project_expert_detail
<trim prefix="SET" suffixOverrides=",">
- <if test="projectExpert != null">project_expert = #{projectExpert},</if>
+ <if test="projectExpertId != null">project_expert_id = #{projectExpertId},</if>
<if test="content != null and content != ''">content = #{content},</if>
<if test="score != null">score = #{score},</if>
+ <if test="scoreType != null and scoreType != ''">score_type = #{scoreType},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
@@ -73,14 +96,32 @@
where id = #{id}
</update>
- <delete id="deleteProjectExpertDetailById" parameterType="Long">
- delete from project_expert_detail where id = #{id}
- </delete>
+ <update id="batchUpdateProjectExpertDetail" parameterType="java.util.List">
+ <foreach collection="list" item="item" separator=";">
+ update project_expert_detail
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="item.projectExpertId != null">project_expert_id = #{item.projectExpertId},</if>
+ <if test="item.content != null and item.content != ''">content = #{item.content},</if>
+ <if test="item.score != null">score = #{item.score},</if>
+ <if test="item.scoreType != null and item.scoreType != ''">score_type = #{item.scoreType},</if>
+ <if test="item.delFlag != null">del_flag = #{item.delFlag},</if>
+ <if test="item.createBy != null">create_by = #{item.createBy},</if>
+ <if test="item.createTime != null">create_time = #{item.createTime},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy},</if>
+ <if test="item.updateTime != null">update_time = #{item.updateTime},</if>
+ </trim>
+ where id = #{item.id}
+ </foreach>
+ </update>
- <delete id="deleteProjectExpertDetailByIds" parameterType="String">
- delete from project_expert_detail where id in
+ <update id="deleteProjectExpertDetailById" parameterType="Long">
+ update project_expert_detail set del_flag = 1 where id = #{id}
+ </update>
+
+ <update id="deleteProjectExpertDetailByIds" parameterType="String">
+ update project_expert_detail set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
- </delete>
+ </update>
</mapper>
\ No newline at end of file
diff --git a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
index 3d07764..e4476e1 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
@@ -9,7 +9,7 @@
<result property="projectId" column="project_id" />
<result property="expertId" column="expert_id" />
<result property="score" column="score" />
- <result property="envaluationState" column="envaluation_state" />
+ <result property="evaluationState" column="evaluation_state" />
<result property="selectionMode" column="selection_mode" />
<result property="teamLeader" column="team_leader" />
<result property="delFlag" column="del_flag" />
@@ -20,16 +20,17 @@
</resultMap>
<sql id="selectProjectExpertVo">
- select id, project_id, expert_id, score, envaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time from project_expert
+ select id, project_id, expert_id, score, evaluation_state, selection_mode, team_leader, del_flag, create_by, create_time, update_by, update_time from project_expert
</sql>
<select id="selectProjectExpertList" parameterType="ProjectExpert" resultMap="ProjectExpertResult">
<include refid="selectProjectExpertVo"/>
- <where>
+ <where>
+ and del_flag = 0
<if test="projectId != null "> and project_id = #{projectId}</if>
<if test="expertId != null "> and expert_id = #{expertId}</if>
<if test="score != null "> and score = #{score}</if>
- <if test="envaluationState != null "> and envaluation_state = #{envaluationState}</if>
+ <if test="evaluationState != null "> and evaluation_state = #{evaluationState}</if>
<if test="selectionMode != null "> and selection_mode = #{selectionMode}</if>
<if test="teamLeader != null "> and team_leader = #{teamLeader}</if>
</where>
@@ -46,7 +47,7 @@
<if test="projectId != null">project_id,</if>
<if test="expertId != null">expert_id,</if>
<if test="score != null">score,</if>
- <if test="envaluationState != null">envaluation_state,</if>
+ <if test="evaluationState != null">evaluation_state,</if>
<if test="selectionMode != null">selection_mode,</if>
<if test="teamLeader != null">team_leader,</if>
<if test="delFlag != null">del_flag,</if>
@@ -59,7 +60,7 @@
<if test="projectId != null">#{projectId},</if>
<if test="expertId != null">#{expertId},</if>
<if test="score != null">#{score},</if>
- <if test="envaluationState != null">#{envaluationState},</if>
+ <if test="evaluationState != null">#{evaluationState},</if>
<if test="selectionMode != null">#{selectionMode},</if>
<if test="teamLeader != null">#{teamLeader},</if>
<if test="delFlag != null">#{delFlag},</if>
@@ -70,13 +71,22 @@
</trim>
</insert>
+ <insert id="batchInsertProjectExpert" parameterType="java.util.List" >
+ insert into project_expert (project_id,expert_id,selection_mode,team_leader,create_by)
+ values
+ <foreach collection="list" item="item" separator=",">
+ (#{item.projectId},#{item.expertId},#{item.selectionMode},#{item.teamLeader},#{item.createBy})
+ </foreach>
+ </insert>
+
+
<update id="updateProjectExpert" parameterType="ProjectExpert">
update project_expert
<trim prefix="SET" suffixOverrides=",">
<if test="projectId != null">project_id = #{projectId},</if>
<if test="expertId != null">expert_id = #{expertId},</if>
<if test="score != null">score = #{score},</if>
- <if test="envaluationState != null">envaluation_state = #{envaluationState},</if>
+ <if test="evaluationState != null">evaluation_state = #{evaluationState},</if>
<if test="selectionMode != null">selection_mode = #{selectionMode},</if>
<if test="teamLeader != null">team_leader = #{teamLeader},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
@@ -88,14 +98,72 @@
where id = #{id}
</update>
- <delete id="deleteProjectExpertById" parameterType="Long">
- delete from project_expert where id = #{id}
- </delete>
+ <update id="batchUpdateProjectExpert" parameterType="java.util.List">
+ <foreach collection="list" item="item" separator=";">
+ update project_expert
+ <set>
+ <if test="item.projectId != null">project_id = #{item.projectId},</if>
+ <if test="item.expertId != null">expert_id = #{item.expertId},</if>
+ <if test="item.score != null">score = #{item.score},</if>
+ <if test="item.evaluationState != null">evaluation_state = #{item.evaluationState},</if>
+ <if test="item.selectionMode != null">selection_mode = #{item.selectionMode},</if>
+ <if test="item.teamLeader != null">team_leader = #{item.teamLeader},</if>
+ <if test="item.updateBy != null">update_by = #{item.updateBy}</if>
+ </set>
+ where id = #{item.id}
+ </foreach>
+ </update>
- <delete id="deleteProjectExpertByIds" parameterType="String">
- delete from project_expert where id in
+ <update id="deleteProjectExpertById" parameterType="Long">
+ update project_expert set del_flag= 1 where id = #{id}
+ </update>
+
+ <update id="deleteProjectExpertByIds" parameterType="String">
+ update project_expert set del_flag= 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
- </delete>
+ </update>
+
+ <select id="getUnEva" resultType="int" parameterType="Long">
+ select count(id) from project_expert where project_id = #{id} and del_flag = 0 and evaluation_state = 0
+ </select>
+
+ <select id="projectExpertEvaluationList" parameterType="Long" resultType="com.gkhy.system.domain.vo.response.ProjectExpertEvaluationResp">
+ select b.id ,b.expert_id expertId ,c.name,c.sex,c.id_card idCard,c.domain,c.rating_level ratingLevel,
+ b.selection_mode selectionMode,b.team_leader teamLeader,b.score,b.evaluation_state evaluationState
+ from project_expert b
+ left join sys_expert_info c on b.expert_id = c.id
+ where b.project_id = #{projectId}
+ order by b.team_leader asc , b.selection_mode asc, b.create_time desc
+ </select>
+
+
+ <select id="projectExpertEvaList" parameterType="com.gkhy.system.domain.vo.request.SysProjectExpertReq" resultType="com.gkhy.system.domain.vo.response.ProjectExpertResp">
+ select a.id projectId, a.project_name projectName,
+ b.id projectExpertId,b.expert_id expertId,c.name,c.id_card idCard,c.domain,b.selection_mode selectionMode,
+ b.team_leader teamLeader,b.update_time updateTime,b.score
+ from project_management a
+ left join project_expert b on a.id = b.project_id and b.del_flag = 0
+ left join sys_expert_info c on b.expert_id = c.id
+ where 1=1
+ <if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+ <if test="name != null and name != ''">
+ and c.name like concat('%', #{name}, '%')
+ </if>
+ <if test="idCard != null and idCard != ''">
+ and c.id_card like concat('%', #{idCard}, '%')
+ </if>
+ <if test="domain != null and domain != ''">
+ and c.domain like concat('%', #{domain}, '%')
+ </if>
+ <if test="startTime != null "><!-- 开始时间检索 -->
+ and date_format(b.update_time,'%y%m%d') >= date_format(#{startTime},'%y%m%d')
+ </if>
+ <if test="endTime != null "><!-- 结束时间检索 -->
+ and date_format(b.update_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d')
+ </if>
+ order by b.team_leader asc , b.create_time desc
+ </select>
+
</mapper>
\ No newline at end of file
diff --git a/expert-system/src/main/resources/mapper/system/ProjectFileMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectFileMapper.xml
index 7dfd6e8..aebc10a 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectFileMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectFileMapper.xml
@@ -28,7 +28,8 @@
<select id="selectProjectFileList" parameterType="ProjectFile" resultMap="ProjectFileResult">
<include refid="selectProjectFileVo"/>
- <where>
+ <where>
+ and del_flag = 0
<if test="projectId != null "> and project_id = #{projectId}</if>
<if test="module != null and module != ''"> and module = #{module}</if>
<if test="filePath != null and filePath != ''"> and file_path = #{filePath}</if>
@@ -82,6 +83,32 @@
</trim>
</insert>
+
+
+ <insert id="insertProjectFiles" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
+ insert into project_file
+ (project_id,module,file_path,file_url,file_name,file_suffix,file_desc,file_size,file_type,create_by)
+ values
+ <foreach collection="list" item="item" separator=",">
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="item.projectId != null">#{item.projectId},</if>
+ <if test="item.module != null and item.module != ''">#{item.module},</if>
+ <if test="item.filePath != null">#{item.filePath},</if>
+ <if test="item.fileUrl != null">#{item.fileUrl},</if>
+ <if test="item.fileName != null">#{item.fileName},</if>
+ <if test="item.fileSuffix != null">#{item.fileSuffix},</if>
+ <if test="item.fileDesc != null">#{item.fileDesc},</if>
+ <if test="item.fileSize != null">#{item.fileSize},</if>
+ <if test="item.fileType != null">#{item.fileType},</if>
+ <if test="item.createBy != null">#{item.createBy},</if>
+ </trim>
+ </foreach>
+ </insert>
+
+
+
+
+
<update id="updateProjectFile" parameterType="ProjectFile">
update project_file
<trim prefix="SET" suffixOverrides=",">
@@ -95,22 +122,24 @@
<if test="fileSize != null">file_size = #{fileSize},</if>
<if test="fileType != null">file_type = #{fileType},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
- <if test="createBy != null">create_by = #{createBy},</if>
- <if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
- <delete id="deleteProjectFileById" parameterType="Long">
- delete from project_file where id = #{id}
- </delete>
+ <update id="deleteProjectFileById" parameterType="Long">
+ update project_file set del_flag = 1 where id = #{id}
+ </update>
- <delete id="deleteProjectFileByIds" parameterType="String">
- delete from project_file where id in
+ <update id="deleteProjectFileByIdAndType" >
+ update project_file set del_flag = 1 where project_id = #{projectId} and module = #{module}
+ </update>
+
+ <update id="deleteProjectFileByIds" parameterType="String">
+ update project_file set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
- </delete>
+ </update>
</mapper>
\ No newline at end of file
diff --git a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
index 484be7f..e636c7d 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
@@ -17,9 +17,15 @@
<result property="remark" column="remark" />
<result property="projectDateStart" column="project_date_start" />
<result property="projectDateEnd" column="project_date_end" />
+ <result property="projectCheckTime" column="project_check_time" />
<result property="expertCertificate" column="expert_certificate" />
- <result property="envaluationState" column="envaluation_state" />
+ <result property="evaluationState" column="evaluation_state" />
<result property="expertNum" column="expert_num" />
+ <result property="expertId" column="expert_id" />
+ <result property="expertName" column="expert_name" />
+ <result property="projectEndTime" column="project_end_time" />
+ <result property="desc" column="desc" />
+ <result property="step" column="step" />
<result property="delFlag" column="del_flag" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -27,13 +33,45 @@
<result property="updateTime" column="update_time" />
</resultMap>
+ <resultMap type="com.gkhy.system.domain.vo.response.ProjectExpertManagementInfoRes" id="ProjectManagementInfoResult">
+ <result property="id" column="id" />
+ <result property="projectName" column="project_name" />
+ <result property="deptName" column="dept_name" />
+ <result property="remark" column="remark" />
+ <result property="state" column="state" />
+ <result property="step" column="step" />
+ <result property="companyName" column="company_name" />
+ <result property="projectAddress" column="project_address" />
+<!-- <result property="deptUserName" column="dept_user_name" />-->
+ <result property="projectDateStart" column="project_date_start" />
+ <result property="projectDateEnd" column="project_date_end" />
+ <result property="projectCheckTime" column="project_check_time" />
+ <collection property="projectExpertCheckResp" javaType="java.util.List" resultMap="ExpertCheck" />
+ </resultMap>
+ <resultMap id="ExpertCheck" type="com.gkhy.system.domain.vo.response.ProjectExpertCheckResp">
+ <result property="id" column="project_expert_id" />
+ <result property="expertId" column="expert_id_info" />
+ <result property="name" column="name" />
+ <result property="sex" column="sex" />
+ <result property="idCard" column="id_card" />
+ <result property="domain" column="domain" />
+ <result property="ratingLevel" column="rating_level" />
+ <result property="selectionMode" column="selection_mode" />
+ <result property="teamLeader" column="team_leader" />
+ </resultMap>
+
<sql id="selectProjectManagementVo">
- select id, project_name, dept_id, dept_name, company_name, project_address, dept_user_name, version, state, remark, project_date_start, project_date_end, expert_certificate, envaluation_state, expert_num, del_flag, create_by, create_time, update_by, update_time from project_management
+ select id, project_name, dept_id, dept_name, company_name, project_address, dept_user_name,
+ version, state, remark, project_date_start, project_date_end, expert_certificate,
+ evaluation_state, expert_num, del_flag, create_by, create_time, update_by, update_time,project_check_time,expert_id,
+ expert_name,project_end_time,'desc',step
+ from project_management
</sql>
<select id="selectProjectManagementList" parameterType="ProjectManagement" resultMap="ProjectManagementResult">
<include refid="selectProjectManagementVo"/>
- <where>
+ <where>
+ and del_flag = 0
<if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
@@ -42,17 +80,18 @@
<if test="deptUserName != null and deptUserName != ''"> and dept_user_name like concat('%', #{deptUserName}, '%')</if>
<if test="version != null "> and version = #{version}</if>
<if test="state != null "> and state = #{state}</if>
+ <if test="step!= null "> and step = #{step}</if>
<if test="projectDateStart != null "> and project_date_start = #{projectDateStart}</if>
<if test="projectDateEnd != null "> and project_date_end = #{projectDateEnd}</if>
<if test="expertCertificate != null and expertCertificate != ''"> and expert_certificate = #{expertCertificate}</if>
- <if test="envaluationState != null "> and envaluation_state = #{envaluationState}</if>
+ <if test="evaluationState != null "> and evaluation_state = #{evaluationState}</if>
<if test="expertNum != null "> and expert_num = #{expertNum}</if>
</where>
</select>
<select id="selectProjectManagementById" parameterType="Long" resultMap="ProjectManagementResult">
<include refid="selectProjectManagementVo"/>
- where id = #{id}
+ where id = #{id} and del_flag = 0
</select>
<insert id="insertProjectManagement" parameterType="ProjectManagement" useGeneratedKeys="true" keyProperty="id">
@@ -66,11 +105,12 @@
<if test="deptUserName != null and deptUserName != ''">dept_user_name,</if>
<if test="version != null">version,</if>
<if test="state != null">state,</if>
+ <if test="step != null">step,</if>
<if test="remark != null">remark,</if>
<if test="projectDateStart != null">project_date_start,</if>
<if test="projectDateEnd != null">project_date_end,</if>
<if test="expertCertificate != null">expert_certificate,</if>
- <if test="envaluationState != null">envaluation_state,</if>
+ <if test="evaluationState != null">evaluation_state,</if>
<if test="expertNum != null">expert_num,</if>
<if test="delFlag != null">del_flag,</if>
<if test="createBy != null">create_by,</if>
@@ -87,11 +127,12 @@
<if test="deptUserName != null and deptUserName != ''">#{deptUserName},</if>
<if test="version != null">#{version},</if>
<if test="state != null">#{state},</if>
+ <if test="step != null">#{step},</if>
<if test="remark != null">#{remark},</if>
<if test="projectDateStart != null">#{projectDateStart},</if>
<if test="projectDateEnd != null">#{projectDateEnd},</if>
<if test="expertCertificate != null">#{expertCertificate},</if>
- <if test="envaluationState != null">#{envaluationState},</if>
+ <if test="evaluationState != null">#{evaluationState},</if>
<if test="expertNum != null">#{expertNum},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="createBy != null">#{createBy},</if>
@@ -112,12 +153,18 @@
<if test="deptUserName != null and deptUserName != ''">dept_user_name = #{deptUserName},</if>
<if test="version != null">version = #{version},</if>
<if test="state != null">state = #{state},</if>
+ <if test="step != null">step = #{step},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="projectDateStart != null">project_date_start = #{projectDateStart},</if>
<if test="projectDateEnd != null">project_date_end = #{projectDateEnd},</if>
+ <if test="projectCheckTime != null">project_check_time = #{projectCheckTime},</if>
<if test="expertCertificate != null">expert_certificate = #{expertCertificate},</if>
- <if test="envaluationState != null">envaluation_state = #{envaluationState},</if>
+ <if test="evaluationState != null">evaluation_state = #{evaluationState},</if>
<if test="expertNum != null">expert_num = #{expertNum},</if>
+ <if test="expertId != null">expert_id = #{expertId},</if>
+ <if test="expertName != null and expertName != ''">expert_name = #{expertName},</if>
+ <if test="projectEndTime != null">project_end_time = #{projectEndTime},</if>
+ <if test="desc != null and desc != ''">`desc` = #{desc},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
@@ -127,14 +174,37 @@
where id = #{id}
</update>
- <delete id="deleteProjectManagementById" parameterType="Long">
- delete from project_management where id = #{id}
- </delete>
+ <update id="deleteProjectManagementById" parameterType="Long">
+ update project_management set del_flag = 1 where id = #{id}
+ </update>
- <delete id="deleteProjectManagementByIds" parameterType="String">
- delete from project_management where id in
+ <update id="deleteProjectManagementByIds" parameterType="String">
+ update project_management set del_flag = 1 where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
- </delete>
+ </update>
+
+ <select id="projectExpertCheckInfo" parameterType="Long" resultMap="ProjectManagementInfoResult">
+ select a.id,a.step, a.project_name, a.dept_name, a.company_name, a.project_address, a.project_date_start, a.project_date_end, a.remark,a.project_check_time,a.state,
+ b.id project_expert_id,b.expert_id expert_id_info,c.name,c.sex,c.id_card,c.domain,c.rating_level,b.selection_mode,b.team_leader
+ from project_management a
+ left join project_expert b on a.id = b.project_id and b.del_flag = 0
+ left join sys_expert_info c on b.expert_id = c.id
+ where a.id = #{id}
+ order by b.team_leader asc , b.create_time desc
+ </select>
+ <select id="getProjectExpertSate" parameterType="com.gkhy.system.domain.vo.request.ProjectExpertStateReq" resultType="com.gkhy.system.domain.vo.response.ProjectExpertStateResp">
+ select a.id, a.project_name, a.evaluation_state, a.project_check_time, a.project_end_time, a.dept_name, a.expert_num
+ from project_management a
+ where a.del_flag = 0 and a.state = 4
+ <if test="projectCheckTime != null "> and a.project_check_time = #{projectCheckTime}</if>
+ <if test="projectName != null and projectName != ''"> and a.project_name like concat('%', #{projectName}, '%')</if>
+ <if test="evaluationState != null "> and a.evaluation_state = #{evaluationState}</if>
+ </select>
+
+ <select id="getDataNum" parameterType="Long" resultType="Integer">
+ select state from project_management where del_flag = 0
+ <if test="deptId != null "> and dept_id = #{deptId}</if>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/expert-system/src/main/resources/mapper/system/SysDeptMapper.xml b/expert-system/src/main/resources/mapper/system/SysDeptMapper.xml
index 2f0479b..9e45e86 100644
--- a/expert-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -46,6 +46,26 @@
${params.dataScope}
order by d.parent_id, d.order_num
</select>
+
+
+ <select id="getOutDeptList" parameterType="SysDept" resultMap="SysDeptResult">
+ <include refid="selectDeptVo"/>
+ where d.del_flag = '0'
+ <if test="deptId != null and deptId != 0">
+ AND dept_id = #{deptId}
+ </if>
+ <if test="parentId != null and parentId != 0">
+ AND parent_id = #{parentId}
+ </if>
+ <if test="deptName != null and deptName != ''">
+ AND dept_name like concat('%', #{deptName}, '%')
+ </if>
+ <if test="status != null and status != ''">
+ AND status = #{status}
+ </if>
+ order by d.parent_id, d.order_num
+ </select>
+
<select id="selectDeptListByRoleId" resultType="Long">
select d.dept_id
diff --git a/expert-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml b/expert-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml
index b97128d..268f3b8 100644
--- a/expert-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/SysExpertClassifyMapper.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gkhy.assess.system.mapper.SysExpertClassifyMapper">
+<mapper namespace="com.gkhy.system.mapper.SysExpertClassifyMapper">
</mapper>
diff --git a/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml b/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml
index 29e81b0..204996e 100644
--- a/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/SysExpertInfoMapper.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gkhy.assess.system.mapper.SysExpertInfoMapper">
+<mapper namespace="com.gkhy.system.mapper.SysExpertInfoMapper">
<sql id="selectExpertInfoVo">
select id,name,sex,birthday,phone,title,state,electronic_photo,id_card,duty_status,
@@ -8,7 +8,7 @@
graduation_school,degree,speciality,current_profession,support_direction_safety,
support_direction_prevention,support_direction_emergency,resume_key,paper_situation_key,
reward_key,achievement_key,personal_opinion_key,recommend_unit_opinion_key,remark,create_by,
- create_time,big_classify,small_classify,del_flag,source
+ create_time,big_classify,small_classify,del_flag,source,rating_level,employment_date_start,employment_date_end,expert_certificate,dept_id
from sys_expert_info
</sql>
@@ -19,8 +19,9 @@
</foreach>
</update>
- <select id="expertInfoList" resultType="com.gkhy.assess.system.domain.SysExpertInfo">
- select id,name,sex,birthday,phone,title,degree,state,speciality,big_classify,small_classify,id_card,company_name,domain,level,current_profession,duty_status,support_direction_safety,create_time from sys_expert_info
+ <select id="expertInfoList" resultType="com.gkhy.system.domain.SysExpertInfo">
+ select id,name,sex,birthday,phone,title,degree,state,speciality,big_classify,small_classify,id_card,company_name,
+ domain,level,current_profession,duty_status,support_direction_safety,create_time,rating_level,employment_date_start,employment_date_end,expert_certificate from sys_expert_info
<where>
and del_flag = 0
<if test="name != null and name != ''">
@@ -28,6 +29,9 @@
</if>
<if test="bigClassify != null">
and big_classify = #{bigClassify}
+ </if>
+ <if test="ratingLevel != null and ratingLevel != ''">
+ and rating_level = #{ratingLevel}
</if>
<if test="smallClassify != null">
and small_classify = #{smallClassify}
@@ -38,21 +42,51 @@
<if test="state != null">
and state = #{state}
</if>
+ <if test="deptId != null">
+ and dept_id = #{deptId}
+ </if>
<if test="params.startTime != null "><!-- 开始时间检索 -->
and date_format(create_time,'%y%m%d') >= date_format(#{params.startTime},'%y%m%d')
</if>
<if test="params.endTime != null "><!-- 结束时间检索 -->
and date_format(create_time,'%y%m%d') <= date_format(#{params.endTime},'%y%m%d')
</if>
+
</where>
order by create_time desc
</select>
- <select id="checkIdcardUnique" resultType="com.gkhy.assess.system.domain.SysExpertInfo">
- select id,name from sys_expert_info where id_card=#{idCard} and del_flag=0 limit 1
+ <select id="checkIdcardUnique" resultType="com.gkhy.system.domain.SysExpertInfo">
+ select id,name from sys_expert_info where id_card=#{idCard} and dept_id = #{deptId} and del_flag=0 limit 1
</select>
- <select id="getExpertInfoById" resultType="com.gkhy.assess.system.domain.SysExpertInfo">
+ <select id="getExpertInfoById" resultType="com.gkhy.system.domain.SysExpertInfo">
<include refid="selectExpertInfoVo"/>
where id=#{expertId}
</select>
+
+
+ <select id="queryApprove" parameterType="com.gkhy.system.domain.vo.request.SysExpertSearchReqDto" resultType="com.gkhy.system.domain.vo.response.SysExpertSearchRep">
+ select expert_certificate,state from sys_expert_info where id_card=#{idCard} and dept_id = #{deptId} and phone = #{phone} and del_flag=0 limit 1
+ </select>
+
+ <select id="getExpertRound" parameterType="com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq"
+ resultType="com.gkhy.system.domain.vo.response.ProjectExpertSectionResp">
+ select id,name,sex,id_card idCard,
+ domain,rating_level ratingLevel from sys_expert_info
+ where del_flag = 0
+ <if test="domain != null and domain.size() > 0">
+ and domain in
+ <foreach collection="domain" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ <if test="ratingLevel != null and ratingLevel.size() > 0">
+ and rating_level in
+ <foreach collection="ratingLevel" item="item" open="(" separator="," close=")">
+ #{item}
+ </foreach>
+ </if>
+ ORDER BY RAND()
+ LIMIT #{num}
+ </select>
</mapper>
diff --git a/expert-system/src/main/resources/mapper/system/SysSettingsMapper.xml b/expert-system/src/main/resources/mapper/system/SysSettingsMapper.xml
index e9d8f66..bec945a 100644
--- a/expert-system/src/main/resources/mapper/system/SysSettingsMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/SysSettingsMapper.xml
@@ -19,9 +19,8 @@
</where>
</select>
- <select id="selectSysSettingsByState" parameterType="String" resultMap="SysSettingsResult">
- <include refid="selectSysSettingsVo"/>
- where state = #{state}
+ <select id="selectSysSettingsByState" resultMap="SysSettingsResult">
+ select state from sys_settings where id = 1
</select>
<insert id="insertSysSettings" parameterType="SysSettings">
@@ -34,11 +33,8 @@
</trim>
</insert>
- <update id="updateSysSettings" parameterType="SysSettings">
- update sys_settings
- <trim prefix="SET" suffixOverrides=",">
- </trim>
- where state = #{state}
+ <update id="updateSysSettingsState" parameterType="String">
+ update sys_settings set state = #{state} where id=1
</update>
<delete id="deleteSysSettingsByState" parameterType="String">
diff --git a/pom.xml b/pom.xml
index 2465e44..e83a57c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,16 +4,16 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi</artifactId>
+ <groupId>com.gkhy</groupId>
+ <artifactId>expert</artifactId>
<version>3.8.8</version>
- <name>ruoyi</name>
- <url>http://www.ruoyi.vip</url>
- <description>若依管理系统</description>
+ <name>expert</name>
+ <url>http://www.expert.vip</url>
+ <description>专家管理系统</description>
<properties>
- <ruoyi.version>3.8.8</ruoyi.version>
+ <expert.version>3.8.8</expert.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
@@ -30,11 +30,13 @@
<poi.version>4.1.2</poi.version>
<velocity.version>2.3</velocity.version>
<jwt.version>0.9.1</jwt.version>
+ <mybatis-plus.version>3.5.1</mybatis-plus.version>
<!-- override dependency version -->
<tomcat.version>9.0.96</tomcat.version>
<logback.version>1.2.13</logback.version>
<spring-security.version>5.7.12</spring-security.version>
<spring-framework.version>5.3.39</spring-framework.version>
+ <hutool.version>5.8.9</hutool.version>
</properties>
<!-- 依赖声明 -->
@@ -66,6 +68,17 @@
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-boot-starter</artifactId>
+ <version>${mybatis-plus.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.baomidou</groupId>
+ <artifactId>mybatis-plus-generator</artifactId>
+ <version>${mybatis-plus.version}</version>
</dependency>
<!-- 覆盖logback的依赖配置-->
@@ -129,17 +142,17 @@
</dependency>
<!-- Swagger3依赖 -->
- <dependency>
- <groupId>io.springfox</groupId>
- <artifactId>springfox-boot-starter</artifactId>
- <version>${swagger.version}</version>
- <exclusions>
- <exclusion>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-models</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
+<!-- <dependency>-->
+<!-- <groupId>io.springfox</groupId>-->
+<!-- <artifactId>springfox-boot-starter</artifactId>-->
+<!-- <version>${swagger.version}</version>-->
+<!-- <exclusions>-->
+<!-- <exclusion>-->
+<!-- <groupId>io.swagger</groupId>-->
+<!-- <artifactId>swagger-models</artifactId>-->
+<!-- </exclusion>-->
+<!-- </exclusions>-->
+<!-- </dependency>-->
<!-- io常用工具类 -->
<dependency>
@@ -183,51 +196,55 @@
<version>${kaptcha.version}</version>
</dependency>
- <!-- 定时任务-->
- <dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-quartz</artifactId>
- <version>${ruoyi.version}</version>
- </dependency>
<!-- 代码生成-->
<dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-generator</artifactId>
- <version>${ruoyi.version}</version>
+ <groupId>com.gkhy</groupId>
+ <artifactId>expert-generator</artifactId>
+ <version>${expert.version}</version>
</dependency>
<!-- 核心模块-->
<dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-framework</artifactId>
- <version>${ruoyi.version}</version>
+ <groupId>com.gkhy</groupId>
+ <artifactId>expert-framework</artifactId>
+ <version>${expert.version}</version>
</dependency>
<!-- 系统模块-->
<dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-system</artifactId>
- <version>${ruoyi.version}</version>
+ <groupId>com.gkhy</groupId>
+ <artifactId>expert-system</artifactId>
+ <version>${expert.version}</version>
</dependency>
<!-- 通用工具-->
<dependency>
- <groupId>com.ruoyi</groupId>
- <artifactId>ruoyi-common</artifactId>
- <version>${ruoyi.version}</version>
+ <groupId>com.gkhy</groupId>
+ <artifactId>expert-common</artifactId>
+ <version>${expert.version}</version>
+ </dependency>
+ <!--Hutool Java工具包-->
+ <dependency>
+ <groupId>cn.hutool</groupId>
+ <artifactId>hutool-all</artifactId>
+ <version>${hutool.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.github.xiaoymin</groupId>
+ <artifactId>knife4j-spring-boot-starter</artifactId>
+ <version>3.0.3</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<modules>
- <module>ruoyi-admin</module>
- <module>ruoyi-framework</module>
- <module>ruoyi-system</module>
- <module>ruoyi-quartz</module>
- <module>ruoyi-generator</module>
- <module>ruoyi-common</module>
+ <module>expert-admin</module>
+ <module>expert-framework</module>
+ <module>expert-system</module>
+ <module>expert-generator</module>
+ <module>expert-common</module>
</modules>
<packaging>pom</packaging>
diff --git a/ry.bat b/ry.bat
index 69abee7..acd4ee0 100644
--- a/ry.bat
+++ b/ry.bat
@@ -1,21 +1,21 @@
@echo off
-rem jarƽ��Ŀ¼
-set AppName=ruoyi-admin.jar
+rem jarƽ��Ŀ¼
+set AppName=expert-admin.jar
-rem JVM����
+rem JVM����
set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
ECHO.
- ECHO. [1] ����%AppName%
- ECHO. [2] �ر�%AppName%
- ECHO. [3] ����%AppName%
- ECHO. [4] ����״̬ %AppName%
- ECHO. [5] �� ��
+ ECHO. [1] ����%AppName%
+ ECHO. [2] �ر�%AppName%
+ ECHO. [3] ����%AppName%
+ ECHO. [4] ����״̬ %AppName%
+ ECHO. [5] �� ��
ECHO.
-ECHO.������ѡ����Ŀ�����:
+ECHO.������ѡ����Ŀ�����:
set /p ID=
IF "%id%"=="1" GOTO start
IF "%id%"=="2" GOTO stop
@@ -35,11 +35,11 @@
start javaw %JVM_OPTS% -jar %AppName%
-echo starting����
+echo starting����
echo Start %AppName% success...
goto:eof
-rem ����stopͨ��jps�������pid����������
+rem ����stopͨ��jps�������pid����������
:stop
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do (
set pid=%%a
@@ -48,7 +48,7 @@
if not defined pid (echo process %AppName% does not exists) else (
echo prepare to kill %image_name%
echo start kill %pid% ...
- rem ���ݽ���ID��kill����
+ rem ���ݽ���ID��kill����
taskkill /f /pid %pid%
)
goto:eof
diff --git a/ry.sh b/ry.sh
index d6a9cf3..5e80935 100644
--- a/ry.sh
+++ b/ry.sh
@@ -1,6 +1,6 @@
#!/bin/sh
# ./ry.sh start 启动 stop 停止 restart 重启 status 状态
-AppName=ruoyi-admin.jar
+AppName=expert-admin.jar
# JVM参数
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
diff --git a/sql/ry_20240629.sql b/sql/ry_20240629.sql
index a8647d2..27b2560 100644
--- a/sql/ry_20240629.sql
+++ b/sql/ry_20240629.sql
@@ -161,7 +161,7 @@
insert into sys_menu values('1', '系统管理', '0', '1', 'system', null, '', '', 1, 0, 'M', '0', '0', '', 'system', 'admin', sysdate(), '', null, '系统管理目录');
insert into sys_menu values('2', '系统监控', '0', '2', 'monitor', null, '', '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', sysdate(), '', null, '系统监控目录');
insert into sys_menu values('3', '系统工具', '0', '3', 'tool', null, '', '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', sysdate(), '', null, '系统工具目录');
-insert into sys_menu values('4', '若依官网', '0', '4', 'http://ruoyi.vip', null, '', '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', sysdate(), '', null, '若依官网地址');
+insert into sys_menu values('4', '若依官网', '0', '4', 'http://expert.vip', null, '', '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', sysdate(), '', null, '若依官网地址');
-- 二级菜单
insert into sys_menu values('100', '用户管理', '1', '1', 'user', 'system/user/index', '', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', sysdate(), '', null, '用户管理菜单');
insert into sys_menu values('101', '角色管理', '1', '2', 'role', 'system/role/index', '', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', sysdate(), '', null, '角色管理菜单');
--
Gitblit v1.9.2