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