From 686bd303ddc68db338fe352c38392194217168a5 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期二, 11 三月 2025 15:27:59 +0800
Subject: [PATCH] 修改业务逻辑增加项目编码
---
expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml | 3 +
expert-common/src/main/java/com/gkhy/common/utils/uuid/RandomStringGenerator.java | 29 ++++++++++++++
expert-system/src/main/java/com/gkhy/system/domain/ProjectManagement.java | 11 +++++
expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml | 9 +++-
expert-admin/src/main/java/com/gkhy/web/controller/system/SysDeptController.java | 2
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertManagementInfoRes.java | 3 +
expert-common/src/main/java/com/gkhy/common/utils/SecurityUtils.java | 15 ++++---
expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java | 3 +
expert-system/src/main/java/com/gkhy/system/service/impl/ProjectManagementServiceImpl.java | 4 +
9 files changed, 67 insertions(+), 12 deletions(-)
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 f567dce..44a0ff3 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
@@ -38,7 +38,7 @@
/**
* 获取部门列表
*/
- @PreAuthorize("@ss.hasPermi('system:dept:list')")
+// @PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
@ApiOperation(value = "获取部门列表")
public R<List<SysDept>> list(SysDept dept)
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/SecurityUtils.java b/expert-common/src/main/java/com/gkhy/common/utils/SecurityUtils.java
index 7435b1a..9ce7cb2 100644
--- a/expert-common/src/main/java/com/gkhy/common/utils/SecurityUtils.java
+++ b/expert-common/src/main/java/com/gkhy/common/utils/SecurityUtils.java
@@ -1,17 +1,18 @@
package com.gkhy.common.utils;
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.util.PatternMatchUtils;
import com.gkhy.common.constant.Constants;
import com.gkhy.common.constant.HttpStatus;
import com.gkhy.common.core.domain.entity.SysRole;
import com.gkhy.common.core.domain.model.LoginUser;
import com.gkhy.common.exception.ServiceException;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.util.PatternMatchUtils;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 安全服务工具类
diff --git a/expert-common/src/main/java/com/gkhy/common/utils/uuid/RandomStringGenerator.java b/expert-common/src/main/java/com/gkhy/common/utils/uuid/RandomStringGenerator.java
new file mode 100644
index 0000000..e0fb62c
--- /dev/null
+++ b/expert-common/src/main/java/com/gkhy/common/utils/uuid/RandomStringGenerator.java
@@ -0,0 +1,29 @@
+package com.gkhy.common.utils.uuid;
+
+import java.util.Random;
+
+public class RandomStringGenerator {
+
+ private static final String CHARACTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+ private static final int LENGTH = 10;
+
+ public static String generateRandomString(int length) {
+ Random random = new Random();
+ StringBuilder stringBuilder = new StringBuilder(length);
+
+ for (int i = 0; i < length; i++) {
+ int index = random.nextInt(CHARACTERS.length());
+ stringBuilder.append(CHARACTERS.charAt(index));
+ }
+
+ return stringBuilder.toString();
+ }
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 75; i++) {
+ String randomString = generateRandomString(10);
+ System.out.println(randomString);
+ }
+
+ }
+}
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 f2ffdc2..3ce2309 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
@@ -127,6 +127,9 @@
@ApiModelProperty(value = "评估状态0未评估1已评估")
private Long evaluationState;
+ @ApiModelProperty(value = "项目编码")
+ private String projectCode;
+
/**
* 专家人数
*/
@@ -353,4 +356,12 @@
public void setDeptPostName(ProjectDeptPostDTO deptPostName) {
this.deptPostName = deptPostName;
}
+
+ public String getProjectCode() {
+ return projectCode;
+ }
+
+ public void setProjectCode(String projectCode) {
+ this.projectCode = projectCode;
+ }
}
\ No newline at end of file
diff --git a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java
index 9905b40..e55e1d1 100644
--- a/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java
+++ b/expert-system/src/main/java/com/gkhy/system/domain/vo/response/ProjectExpertExportInfoRes.java
@@ -26,6 +26,9 @@
@ApiModelProperty(name = "出差事由")
private String projectName;
+ @ApiModelProperty(name = "项目编码")
+ private String projectCode;
+
/**
* 部门名称
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 827c487..b161de3 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
@@ -33,6 +33,9 @@
@ApiModelProperty(name = "项目名称")
private String projectName;
+ @ApiModelProperty(name = "项目编码")
+ private String projectCode;
+
/**
* 部门名称
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 f404659..0cc440c 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
@@ -8,6 +8,7 @@
import com.gkhy.common.utils.DateUtils;
import com.gkhy.common.utils.SecurityUtils;
import com.gkhy.common.utils.StringUtils;
+import com.gkhy.common.utils.uuid.RandomStringGenerator;
import com.gkhy.system.domain.*;
import com.gkhy.system.domain.vo.request.*;
import com.gkhy.system.domain.vo.response.*;
@@ -65,7 +66,7 @@
*/
@Override
public List<ProjectManagement> selectProjectManagementList(ProjectManagement projectManagement) {
- if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
+ if (!SecurityUtils.isAdmin(SecurityUtils.getUserId()) && SecurityUtils.getUserId() != 130L){
projectManagement.setDeptId(SecurityUtils.getDeptId());
}
return projectManagementMapper.selectProjectManagementList(projectManagement);
@@ -93,6 +94,7 @@
// projectManagementMapper.updateProjectManagement(projectManagementSave);
updateById(projectManagementSave);
}else {
+ projectManagementSave.setProjectCode(RandomStringGenerator.generateRandomString(10));
projectManagementSave.setStep(1L);
projectManagementSave.setCreateBy(SecurityUtils.getUsername());
projectManagementSave.setCreateTime(DateUtils.getNowDate());
diff --git a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
index 17a7e23..8d44d68 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectExpertMapper.xml
@@ -41,6 +41,7 @@
<resultMap type="com.gkhy.system.domain.vo.response.ProjectExpertExportInfoRes" id="ProjectExpertExportInfoResult">
<result property="projectName" column="project_name" />
<result property="deptName" column="dept_name" />
+ <result property="projectCode" column="project_code" />
<collection property="projectExpertExportResps" javaType="java.util.List" resultMap="ExpertExport" />
</resultMap>
<resultMap id="ExpertExport" type="com.gkhy.system.domain.vo.response.ProjectExpertExportResp">
@@ -284,7 +285,7 @@
<select id="projectExpertExportList" parameterType="Long" resultMap="ProjectExpertExportInfoResult">
- select a.project_name ,a.dept_name
+ select a.project_name ,a.dept_name,a.project_code
,c.name,c.id_card,c.name,c.job,c.title,c.company_name,b.freight_basis,b.billing_instructions,
b.billing_duration, b.after_tax_amount, b.open_bank, b.bank_card,b.taxable_income,b.income_tax_payable,b.tax_expert_fee
from project_management a
diff --git a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
index 3b8cf54..395a7ac 100644
--- a/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
+++ b/expert-system/src/main/resources/mapper/system/ProjectManagementMapper.xml
@@ -7,6 +7,7 @@
<resultMap type="ProjectManagement" id="ProjectManagementResult">
<result property="id" column="id" />
<result property="projectName" column="project_name" />
+ <result property="projectCode" column="project_code" />
<result property="deptId" column="dept_id" />
<result property="deptName" column="dept_name" />
<result property="jobCategory" column="job_category" />
@@ -37,6 +38,7 @@
<resultMap type="com.gkhy.system.domain.vo.response.ProjectExpertManagementInfoRes" id="ProjectManagementInfoResult">
<result property="id" column="id" />
<result property="projectName" column="project_name" />
+ <result property="projectCode" column="project_code" />
<result property="deptName" column="dept_name" />
<result property="remark" column="remark" />
<result property="state" column="state" />
@@ -69,7 +71,7 @@
select id, project_name, dept_id, dept_name, job_category, project_address,dept_post_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
+ expert_name,project_end_time,`desc`,step,project_code
from project_management
</sql>
@@ -78,6 +80,7 @@
<where>
and del_flag = 0
<if test="projectName != null and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
+ <if test="projectCode != null and projectCode != ''"> and project_code like concat('%', #{projectCode}, '%')</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
<if test="deptName != null and deptName != ''"> and dept_name like concat('%', #{deptName}, '%')</if>
<if test="jobCategory != null and jobCategory != ''"> and job_category like concat('%', #{jobCategory}, '%')</if>
@@ -104,6 +107,7 @@
insert into project_management
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectName != null and projectName != ''">project_name,</if>
+ <if test="projectCode != null and projectCode != ''">project_code,</if>
<if test="deptId != null">dept_id,</if>
<if test="deptName != null and deptName != ''">dept_name,</if>
<if test="jobCategory != null and jobCategory != ''">job_category,</if>
@@ -127,6 +131,7 @@
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectName != null and projectName != ''">#{projectName},</if>
+ <if test="projectCode != null and projectCode != ''">#{projectCode},</if>
<if test="deptId != null">#{deptId},</if>
<if test="deptName != null and deptName != ''">#{deptName},</if>
<if test="jobCategory != null and jobCategory != ''">#{jobCategory},</if>
@@ -197,7 +202,7 @@
<select id="projectExpertCheckInfo" parameterType="Long" resultMap="ProjectManagementInfoResult">
select a.id,a.step, a.project_name, a.dept_name, a.job_category, 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,
- c.company_name,c.phone,a.create_time selection_time,c.remark expert_remark
+ c.company_name,c.phone,a.create_time selection_time,c.remark expert_remark,a.project_code
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
--
Gitblit v1.9.2