From 2892b2a80babdde59f8dcf6750b26870a6d6a853 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: 星期一, 16 六月 2025 14:05:41 +0800
Subject: [PATCH] 部分功能调整
---
multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java | 4 ++
multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java | 18 +++++++++
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java | 28 +++++++++++---
multi-system/src/main/resources/mapper/system/SysDeptMapper.xml | 16 ++++----
multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java | 36 +++++++++---------
multi-system/src/main/java/com/gkhy/exam/system/service/impl/InformationPlatformServiceImpl.java | 4 +-
multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java | 9 ++--
multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml | 5 +-
8 files changed, 79 insertions(+), 41 deletions(-)
diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
index 907972f..646990a 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/system/SysDeptController.java
@@ -31,7 +31,7 @@
*
* @author expert
*/
-@Api(tags = "部门-业务处室")
+@Api(tags = "部门管理")
@RestController
@RequestMapping("/system/dept")
public class SysDeptController
@@ -60,17 +60,17 @@
* 查询部门列表(排除节点)
*/
//@PreAuthorize("hasAnyAuthority('system:dept:list')")
- @GetMapping("/list/exclude/{deptId}")
- @ApiImplicitParams({
- @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
- })
- @ApiOperation(value = "查询部门列表(排除节点)")
- public CommonResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
- {
- List<SysDept> depts = deptService.getOutDeptList(new SysDept());
- depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
- return CommonResult.success(depts);
- }
+// @GetMapping("/list/exclude/{deptId}")
+// @ApiImplicitParams({
+// @ApiImplicitParam(paramType = "query", name = "deptId", dataType = "Long", required = true, value = "部门id"),
+// })
+// @ApiOperation(value = "查询部门列表(排除节点)")
+// public CommonResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
+// {
+// List<SysDept> depts = deptService.getOutDeptList(new SysDept());
+// depts.removeIf(d -> d.getDeptId().intValue() == deptId || ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
+// return CommonResult.success(depts);
+// }
/**
* 根据部门编号获取详细信息
@@ -182,19 +182,19 @@
*/
//@PreAuthorize("hasAnyAuthority('system:dept:remove')")
@DeleteMapping("/{deptId}")
- @ApiOperation(value = "删除部门门业务处室")
+ @ApiOperation(value = "删除部门")
public CommonResult remove(@PathVariable Long deptId)
{
if (deptService.hasChildByDeptId(deptId))
{
return CommonResult.failed("存在下级部门,不允许删除");
}
- if (deptService.checkDeptExistUser(deptId))
- {
- return CommonResult.failed("部门存在用户,不允许删除");
- }
+// if (deptService.checkDeptExistUser(deptId))
+// {
+// return CommonResult.failed("部门存在用户,不允许删除");
+// }
//todo 校验专家是否申请复用
- deptService.checkDeptDataScope(deptId);
+// deptService.checkDeptDataScope(deptId);
return CommonResult.success(deptService.deleteDeptById(deptId));
}
}
diff --git a/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java b/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java
index ef46723..59d75ab 100644
--- a/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java
+++ b/multi-common/src/main/java/com/gkhy/exam/common/utils/SecurityUtils.java
@@ -48,6 +48,24 @@
+ /*
+ **
+ * 用户ID
+ **/
+ public static Long getCompanyId()
+ {
+ try
+ {
+ return getLoginUser().getUser().getCompanyId();
+ }
+ catch (Exception e)
+ {
+ throw new ApiException("获取用户公司异常");
+ }
+ }
+
+
+
/**
* 获取用户账户
**/
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java
index c820bc5..d96eddf 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/SysClauseManagement.java
@@ -16,6 +16,10 @@
@ApiModelProperty("排序")
private Integer sort;
+ @ApiModelProperty("条款名称")
+ @NotBlank(message = "条款名称不能为空")
+ private String name;
+
@ApiModelProperty("条款编码")
@NotBlank(message = "条款编码不能为空")
private String clauseNum;
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InformationPlatformServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InformationPlatformServiceImpl.java
index aa04a95..5c21ccc 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InformationPlatformServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/InformationPlatformServiceImpl.java
@@ -27,7 +27,7 @@
@Override
public List<InformationPlatform> getInformationPlatforms(Long companyId) {
if (companyId == null) {
- companyId = SecurityUtils.getLoginUser().getUser().getCompanyId();
+ companyId = SecurityUtils.getCompanyId();
}
LambdaQueryWrapper<InformationPlatform> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(InformationPlatform::getCompanyId, companyId);
@@ -41,7 +41,7 @@
@Override
public int saveInformationPlatform(InformationPlatform informationPlatform) {
Long companyId = informationPlatform.getCompanyId();
- if (!companyId.equals(SecurityUtils.getLoginUser().getUser().getCompanyId())){
+ if (!companyId.equals(SecurityUtils.getCompanyId())){
throw new ApiException("无权操作!");
}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
index 1de4082..08d1d5e 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysClauseManagementServiceImpl.java
@@ -3,6 +3,7 @@
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.exam.common.exception.ApiException;
import com.gkhy.exam.common.utils.SecurityUtils;
import com.gkhy.exam.system.domain.SysClauseManagement;
import com.gkhy.exam.system.mapper.SysClauseManagementMapper;
@@ -29,13 +30,13 @@
@Override
public int saveSysClauseManagement(SysClauseManagement sysClauseManagement) {
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
- throw new RuntimeException("没有权限访问!");
+ throw new ApiException("没有权限访问!");
}
LambdaQueryWrapper<SysClauseManagement> lambdaQueryWrapper = Wrappers.<SysClauseManagement>lambdaQuery()
.eq(SysClauseManagement::getDelFlag, "0").eq(SysClauseManagement::getClauseNum, sysClauseManagement.getClauseNum());
if (sysClauseManagement.getId() == null){
if (baseMapper.selectCount(lambdaQueryWrapper) > 0){
- throw new RuntimeException("条款编号已存在!");
+ throw new ApiException("条款编号已存在!");
}
sysClauseManagement.setCreateBy(SecurityUtils.getUsername());
sysClauseManagement.setCreateTime(LocalDateTime.now());
@@ -43,7 +44,7 @@
}else {
lambdaQueryWrapper.ne(SysClauseManagement::getId, sysClauseManagement.getId());
if (baseMapper.selectCount(lambdaQueryWrapper) > 0){
- throw new RuntimeException("条款编号已存在!");
+ throw new ApiException("条款编号已存在!");
}
sysClauseManagement.setUpdateBy(SecurityUtils.getUsername());
sysClauseManagement.setUpdateTime(LocalDateTime.now());
@@ -56,7 +57,7 @@
@Override
public int delSysClauseManagement(Long id) {
if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
- throw new RuntimeException("没有权限访问!");
+ throw new ApiException("没有权限访问!");
}
//todo 校验已使用的?
SysClauseManagement sysClauseManagement = new SysClauseManagement();
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
index a35cc97..77338d2 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/SysDeptServiceImpl.java
@@ -28,6 +28,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.*;
@@ -64,6 +65,9 @@
public List<DeptVo> selectDeptList(SysDept dept)
{
+ if (dept.getCompanyId() == null){
+ dept.setCompanyId(SecurityUtils.getCompanyId());
+ }
return deptMapper.selectDeptList(dept);
}
@@ -208,7 +212,7 @@
public boolean checkDeptNameUnique(SysDept dept)
{
Long deptId = ObjectUtil.isNull(dept.getDeptId()) ? -1L : dept.getDeptId();
- Long companyId = SecurityUtils.getLoginUser().getUser().getCompanyId();
+ Long companyId = SecurityUtils.getCompanyId();
SysDept info = deptMapper.checkDeptNameUnique(companyId,dept.getDeptName(), dept.getParentId());
if (ObjectUtil.isNotNull(info) && info.getDeptId().longValue() != deptId.longValue())
@@ -258,8 +262,9 @@
}
@Override
+ @Transactional
public int saveDept(SysDeptSaveDTOReq dept) {
- Long companyId = SecurityUtils.getLoginUser().getUser().getCompanyId();
+ Long companyId = SecurityUtils.getCompanyId();
if (!companyId.equals(dept.getCompanyId())){
throw new ApiException("无权操作!");
}
@@ -294,8 +299,9 @@
}
@Override
+ @Transactional
public int saveDeptResponsibility(SysDeptResponsibilityReqVo reqVo) {
- Long companyId = SecurityUtils.getLoginUser().getUser().getCompanyId();
+ Long companyId = SecurityUtils.getCompanyId();
if (!companyId.equals(reqVo.getCompanyId())){
throw new ApiException("无权操作!");
}
@@ -324,13 +330,16 @@
@Override
public List<SysFunctionalDistribution> getFunctionalDistributionList(Long companyId) {
+ if (companyId != null){
+ companyId = SecurityUtils.getCompanyId();
+ }
return sysFunctionalDistributionMapper.selectListVo(companyId);
}
@Override
public int initFunctionalDistribution(Long companyId) {
- if (!companyId.equals(SecurityUtils.getLoginUser().getUser().getCompanyId())){
+ if (!companyId.equals(SecurityUtils.getCompanyId())){
throw new ApiException("无权操作!");
}
sysFunctionalDistributionMapper.delete(new LambdaQueryWrapper<SysFunctionalDistribution>().eq(SysFunctionalDistribution::getCompanyId, SecurityUtils.getLoginUser().getUser().getCompanyId()));
@@ -396,9 +405,14 @@
if (emptyIdClauseNumSet.size() != emptyIdClauseNums.size()){
throw new ApiException("部门条款编码重复!");
}
+ List<Long> emptyIdClauseIds = sysDeptResponsibilityList.stream()
+ .filter(item -> item.getId() != null)
+ .map(SysDeptResponsibility::getId)
+ .collect(Collectors.toList());
+
if (!emptyIdClauseNums.isEmpty()){
List<SysDeptResponsibility> sysDeptResponsibilities = deptResponsibilityMapper.selectList(new LambdaQueryWrapper<SysDeptResponsibility>()
- .eq(SysDeptResponsibility::getDeptId, reqVo.getDeptId()).in(SysDeptResponsibility::getClauseNum, emptyIdClauseNums));
+ .eq(SysDeptResponsibility::getDeptId, reqVo.getDeptId()).in(SysDeptResponsibility::getClauseNum, emptyIdClauseNums).notIn(SysDeptResponsibility::getId, emptyIdClauseIds));
if (!sysDeptResponsibilities.isEmpty()){
throw new ApiException("部门条款编码重复!");
}
@@ -426,7 +440,7 @@
.update(new SysDeptResponsibility(),
new LambdaUpdateWrapper<SysDeptResponsibility>().set(SysDeptResponsibility::getDelFlag, UserConstant.DEPT_DISABLE)
.set(SysDeptResponsibility::getUpdateTime, LocalDateTime.now()).set(SysDeptResponsibility::getUpdateBy, SecurityUtils.getUsername())
- .eq(SysDeptResponsibility::getDeptId, deptId));
+ .eq(SysDeptResponsibility::getDeptId, deptId).in(SysDeptResponsibility::getId, delCaluseIds));
}
private void batchSaveCaluse(Long deptId,Long companyId, List<CaluseVO1> caluseVO1List) {
@@ -449,9 +463,11 @@
sysDeptResponsibility.setCompanyId(companyId);
sysDeptResponsibility.setDeptId(deptId);
+
if (sysDeptResponsibility.getId() == null){
sysDeptResponsibility.setCreateBy(SecurityUtils.getUsername());
sysDeptResponsibility.setCreateTime(LocalDateTime.now());
+ sysDeptResponsibility.setDataType("2");
deptResponsibilityMapper.insert(sysDeptResponsibility);
}else {
sysDeptResponsibility.setUpdateBy(SecurityUtils.getUsername());
diff --git a/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml
index 25c1557..acf425c 100644
--- a/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -42,24 +42,24 @@
select d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader_user_id, d.company_id, d.status, d.del_flag, d.create_by, d.create_time,d.person_num,d.internal_auditors,
d.responsibilities,u.name as leader_name,d2.dept_name as parent_name, dr.content ,dr.clause_num
from sys_dept d
- left join sys_user u on d.leader_user_id = u.user_id
+ left join sys_user u on d.leader_user_id = u.id
left join sys_dept d2 on d.parent_id = d2.dept_id
left join sys_dept_responsibility dr on d.dept_id = dr.dept_id and dr.del_flag = '0' and data_type = 2
where d.del_flag = '0'
<if test="companyId != null and companyId != 0">
- AND company_id = #{companyId}
+ AND d.company_id = #{companyId}
</if>
<if test="deptId != null and deptId != 0">
- AND dept_id = #{deptId}
+ AND d.dept_id = #{deptId}
</if>
<if test="parentId != null and parentId != 0">
- AND parent_id = #{parentId}
+ AND d.parent_id = #{parentId}
</if>
<if test="deptName != null and deptName != ''">
- AND dept_name like concat('%', #{deptName}, '%')
+ AND d.dept_name like concat('%', #{deptName}, '%')
</if>
<if test="status != null and status != ''">
- AND status = #{status}
+ AND d.status = #{status}
</if>
order by d.parent_id, d.order_num
</select>
@@ -131,7 +131,7 @@
and del_flag = '0' limit 1
</select>
- <insert id="insertDept" parameterType="com.gkhy.exam.common.domain.entity.SysDept">
+ <insert id="insertDept" parameterType="com.gkhy.exam.common.domain.entity.SysDept" useGeneratedKeys="true" keyProperty="deptId">
insert into sys_dept(
<if test="deptId != null and deptId != 0">dept_id,</if>
<if test="parentId != null and parentId != 0">parent_id,</if>
@@ -202,7 +202,7 @@
</update>
<delete id="deleteDeptById" parameterType="Long">
- update sys_dept set del_flag = '2' where dept_id = #{deptId}
+ update sys_dept set del_flag = '1' where dept_id = #{deptId}
</delete>
</mapper>
\ No newline at end of file
diff --git a/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml b/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml
index 2602307..0b505ee 100644
--- a/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/SysFunctionalDistributionMapper.xml
@@ -24,13 +24,12 @@
a.company_id,
a.clause_num,
a.choose_lab,
- a.dept_name,
a.create_by,
a.create_time,
a.update_by,
a.update_time
from sys_functional_distribution a
- left join sys_dept b on a.dept_id = b.id
+ left join sys_dept b on a.dept_id = b.dept_id
where 1=1 and a.company_id = #{companyId}
order by a.clause_num asc
@@ -45,7 +44,7 @@
<foreach collection="list" item="item" separator=";">
update sys_functional_distribution
<trim prefix="SET" suffixOverrides=",">
- <if test="item.score != null">choose_lab = #{item.chooseLab},</if>
+ <if test="item.chooseLab != null">choose_lab = #{item.chooseLab},</if>
<if test="item.updateBy != null">update_by = #{item.updateBy},</if>
<if test="item.updateTime != null">update_time = #{item.updateTime},</if>
</trim>
--
Gitblit v1.9.2