Commit f68114b5 authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/MVP1.7.7' into MVP1.7.7

parents da193285 f96d44b4
...@@ -18,4 +18,5 @@ public class EmpProjectStatusVo implements Serializable { ...@@ -18,4 +18,5 @@ public class EmpProjectStatusVo implements Serializable {
private String empIdcard; private String empIdcard;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime projectTime; private LocalDateTime projectTime;
private String empProjectId;
} }
...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller; ...@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectBelongDeptService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectBelongDeptService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectScpVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectScpVO;
...@@ -29,6 +30,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R; ...@@ -29,6 +30,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.UserPermissionVo; import com.yifu.cloud.plus.v1.yifu.common.core.vo.UserPermissionVo;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -182,4 +184,17 @@ public class TEmployeeProjectBelongDeptController { ...@@ -182,4 +184,17 @@ public class TEmployeeProjectBelongDeptController {
return R.ok(tEmployeeProjectBelongDeptService.getNoneDeptCount(tEmployeeProjectBelongDept)); return R.ok(tEmployeeProjectBelongDeptService.getNoneDeptCount(tEmployeeProjectBelongDept));
} }
/**
* @Author huych
* @Description 根据项目id和用户id查询csp部门信息
* @Date 14:27 2025/3/10
* @Param
* @return
**/
@Inner
@PostMapping("/inner/saveOrDeleteDeptRelation")
public R<Boolean> saveOrDeleteDeptRelation(@RequestBody SysCspDeptVo vo) {
return R.ok(tEmployeeProjectBelongDeptService.saveOrDeleteDeptRelation(vo));
}
} }
...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.service; ...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectScpVO; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectScpVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeProjectBelongDeptSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeProjectBelongDeptSearchVo;
...@@ -76,4 +77,6 @@ public interface TEmployeeProjectBelongDeptService extends IService<TEmployeePro ...@@ -76,4 +77,6 @@ public interface TEmployeeProjectBelongDeptService extends IService<TEmployeePro
*/ */
Integer getNoneDeptCount(TEmployeeProjectBelongDeptSearchVo tEmployeeProjectBelongDept); Integer getNoneDeptCount(TEmployeeProjectBelongDeptSearchVo tEmployeeProjectBelongDept);
Boolean saveOrDeleteDeptRelation(SysCspDeptVo vo);
} }
...@@ -22,6 +22,7 @@ import com.alibaba.excel.write.metadata.WriteSheet; ...@@ -22,6 +22,7 @@ import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeProjectBelongDeptMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeProjectBelongDeptMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectBelongDeptService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeProjectBelongDeptService;
...@@ -194,4 +195,18 @@ public class TEmployeeProjectBelongDeptServiceImpl extends ServiceImpl<TEmployee ...@@ -194,4 +195,18 @@ public class TEmployeeProjectBelongDeptServiceImpl extends ServiceImpl<TEmployee
public Integer getNoneDeptCount(TEmployeeProjectBelongDeptSearchVo tEmployeeProjectBelongDept) { public Integer getNoneDeptCount(TEmployeeProjectBelongDeptSearchVo tEmployeeProjectBelongDept) {
return baseMapper.getNoneDeptCount(tEmployeeProjectBelongDept); return baseMapper.getNoneDeptCount(tEmployeeProjectBelongDept);
} }
@Override
public Boolean saveOrDeleteDeptRelation(SysCspDeptVo vo) {
if (Common.isNotNull(vo.getDepartName())) {
TEmployeeProjectBelongDept dept = new TEmployeeProjectBelongDept();
dept.setId(vo.getProjectId());
dept.setEmpDeptid(vo.getDepartId().toString());
dept.setEmpDeptname(vo.getDepartName());
this.save(dept);
} else {
this.removeById(vo.getProjectId());
}
return true;
}
} }
...@@ -155,6 +155,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -155,6 +155,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
.eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT).last(CommonConstants.LAST_ONE_SQL)); .eq(TEmployeeProject::getProjectStatus, CommonConstants.ZERO_INT).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(employeeProject)) { if (Common.isNotNull(employeeProject)) {
vo.setProjectTime(employeeProject.getCreateTime()); vo.setProjectTime(employeeProject.getCreateTime());
vo.setEmpProjectId(employeeProject.getId());
return vo; return vo;
} }
return null; return null;
...@@ -169,6 +170,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap ...@@ -169,6 +170,7 @@ public class TEmployeeProjectServiceImpl extends ServiceImpl<TEmployeeProjectMap
.eq(TEmployeeProject::getProjectStatus, CommonConstants.ONE_INT).last(CommonConstants.LAST_ONE_SQL)); .eq(TEmployeeProject::getProjectStatus, CommonConstants.ONE_INT).last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(employeeProject)) { if (Common.isNotNull(employeeProject)) {
vo.setProjectTime(employeeProject.getLeaveTime()); vo.setProjectTime(employeeProject.getLeaveTime());
vo.setEmpProjectId(employeeProject.getId());
return vo; return vo;
} }
return null; return null;
......
...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.common.dapr.util; ...@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
...@@ -518,4 +519,15 @@ public class ArchivesDaprUtil { ...@@ -518,4 +519,15 @@ public class ArchivesDaprUtil {
public R<Boolean> selectExitEmpProject(TInsuranceUnpurchasePersonCardVo cardVo) { public R<Boolean> selectExitEmpProject(TInsuranceUnpurchasePersonCardVo cardVo) {
return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeeproject/inner/selectExitEmpProject", JSON.toJSONString(cardVo), Boolean.class, SecurityConstants.FROM_IN); return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeeproject/inner/selectExitEmpProject", JSON.toJSONString(cardVo), Boolean.class, SecurityConstants.FROM_IN);
} }
/**
* @Author huyc
* @Description 新增或者删除项目档案与所属部门的关联表
* @Date 17:07 2025/3/10
* @Param
* @return
**/
public R<Boolean> saveOrDeleteDeptRelation(SysCspDeptVo vo) {
return HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeeprojectbelongdept/inner/saveOrDeleteDeptRelation", JSON.toJSONString(vo), Boolean.class, SecurityConstants.FROM_IN);
}
} }
package com.yifu.cloud.plus.v1.yifu.common.dapr.util; package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.*; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
...@@ -129,4 +130,15 @@ public class UpmsDaprUtils { ...@@ -129,4 +130,15 @@ public class UpmsDaprUtils {
public R<Boolean> selectExitDeptCompany(String deptId) { public R<Boolean> selectExitDeptCompany(String deptId) {
return HttpDaprUtil.invokeMethodPost(daprUpmsProperties.getAppUrl(),daprUpmsProperties.getAppId(),"/user/inner/selectExitDeptCompany", deptId, Boolean.class, SecurityConstants.FROM_IN); return HttpDaprUtil.invokeMethodPost(daprUpmsProperties.getAppUrl(),daprUpmsProperties.getAppId(),"/user/inner/selectExitDeptCompany", deptId, Boolean.class, SecurityConstants.FROM_IN);
} }
/**
* @Author huyc
* @Description 判断部门是否属于分公司
* @Date 10:38 2025/1/20
* @Param
* @return
**/
public R<SysCspDeptVo> selectCspDeptByUserDeptId(SysCspDeptVo vo) {
return HttpDaprUtil.invokeMethodPost(daprUpmsProperties.getAppUrl(),daprUpmsProperties.getAppId(),"/user/inner/selectInnerCspDeptByUserDeptId", JSON.toJSONString(vo), SysCspDeptVo.class, SecurityConstants.FROM_IN);
}
} }
...@@ -98,6 +98,10 @@ public class EmployeeRegistration extends BaseEntity { ...@@ -98,6 +98,10 @@ public class EmployeeRegistration extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private int outNum; private int outNum;
@Schema(description = "项目档案id")
@TableField(exist = false)
private String empProjectId;
} }
...@@ -24,10 +24,12 @@ import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationHrExportVo; ...@@ -24,10 +24,12 @@ import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationHrExportVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationSearchVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationSearchVo;
import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationVo; import com.yifu.cloud.plus.v1.csp.vo.EmployeeRegistrationVo;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProjectBelongDept;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpProjectStatusVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpProjectStatusVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeProjectBelongDeptSearchCspVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeProjectBelongDeptSearchCspVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ClientNameConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
...@@ -102,6 +104,12 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -102,6 +104,12 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
*/ */
@Override @Override
public IPage<EmployeeRegistration> getHrEmployeeRegistrationPage(Page<EmployeeRegistration> page, EmployeeRegistrationSearchVo employeeRegistration) { public IPage<EmployeeRegistration> getHrEmployeeRegistrationPage(Page<EmployeeRegistration> page, EmployeeRegistrationSearchVo employeeRegistration) {
YifuUser user = SecurityUtils.getUser();
long roleId = 1839501715787390978L;
boolean isSsc = this.haveRole(user, roleId);
if (isSsc) {
employeeRegistration.setCustomerUserLoginname(null);
}
return baseMapper.getEmployeeRegistrationPage(page, employeeRegistration); return baseMapper.getEmployeeRegistrationPage(page, employeeRegistration);
} }
...@@ -365,7 +373,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -365,7 +373,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
exit = getOutEmpProjectStatus(vo); exit = getOutEmpProjectStatus(vo);
} }
if (Common.isNotNull(exit)) { if (Common.isNotNull(exit)) {
return R.ok(exit.getProjectTime()); return R.ok(exit);
} }
registrationNow.setProcessStatus(CommonConstants.ZERO_STRING); registrationNow.setProcessStatus(CommonConstants.ZERO_STRING);
baseMapper.updateById(registrationNow); baseMapper.updateById(registrationNow);
...@@ -386,6 +394,13 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -386,6 +394,13 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
logService.saveLog(registration.getId(), CommonConstants.ZERO_STRING,RegistConstants.MESSAGE_FINISH, registration.getProjectCreateTime(), logService.saveLog(registration.getId(), CommonConstants.ZERO_STRING,RegistConstants.MESSAGE_FINISH, registration.getProjectCreateTime(),
user.getNickname(),CommonConstants.ONE_STRING.equals(registrationNow.getFeedbackType()) user.getNickname(),CommonConstants.ONE_STRING.equals(registrationNow.getFeedbackType())
? RegistConstants.BEFORE_IN_PROJECT :RegistConstants.BEFORE_OUT_PROJECT); ? RegistConstants.BEFORE_IN_PROJECT :RegistConstants.BEFORE_OUT_PROJECT);
SysCspDeptVo vo = new SysCspDeptVo();
if (CommonConstants.ONE_STRING.equals(registrationNow.getFeedbackType())) {
vo.setDepartName(registrationNow.getEmpDeptname());
vo.setDepartId(Long.valueOf(registrationNow.getEmpDeptid()));
}
vo.setProjectId(registration.getEmpProjectId());
archivesDaprUtil.saveOrDeleteDeptRelation(vo);
baseMapper.updateById(registrationNow); baseMapper.updateById(registrationNow);
return R.ok(); return R.ok();
} }
...@@ -452,12 +467,24 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -452,12 +467,24 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
//数据初始化 //数据初始化
private void initRegistInfo(EmployeeRegistration insert,YifuUser user,TSettleDomainSelectVo selectVo) { private void initRegistInfo(EmployeeRegistration insert,YifuUser user,TSettleDomainSelectVo selectVo) {
insert.setRegistorDeptname(user.getDeptName()); SysCspDeptVo vo = new SysCspDeptVo();
insert.setRegistorDeptid(user.getDeptId().toString()); vo.setUserId(user.getId());
vo.setProjectId(selectVo.getId());
R<SysCspDeptVo> booleanR = upmsDaprUtils.selectCspDeptByUserDeptId(vo);
if (Common.isEmpty(booleanR) || Common.isEmpty(booleanR.getData())) {
insert.setRegistorDeptname(user.getDeptName());
insert.setRegistorDeptid(user.getDeptId().toString());
insert.setEmpDeptid(user.getDeptId().toString());
insert.setEmpDeptname(user.getDeptName());
} else {
vo = booleanR.getData();
insert.setRegistorDeptname(vo.getDepartName());
insert.setRegistorDeptid(vo.getDepartId().toString());
insert.setEmpDeptid(vo.getDepartId().toString());
insert.setEmpDeptname(vo.getDepartName());
}
insert.setRegistorUsername(user.getNickname()); insert.setRegistorUsername(user.getNickname());
insert.setRegistorPhone(user.getPhone()); insert.setRegistorPhone(user.getPhone());
insert.setEmpDeptid(user.getDeptId().toString());
insert.setEmpDeptname(user.getDeptName());
insert.setCustomerPhone(selectVo.getCsPhone()); insert.setCustomerPhone(selectVo.getCsPhone());
insert.setCustomerUsername(selectVo.getCsName()); insert.setCustomerUsername(selectVo.getCsName());
insert.setCustomerUserLoginname(selectVo.getCsLoginName()); insert.setCustomerUserLoginname(selectVo.getCsLoginName());
...@@ -516,6 +543,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -516,6 +543,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (!wxConfig.sendTextCard(restTemplate, requestMap)) { if (!wxConfig.sendTextCard(restTemplate, requestMap)) {
wxConfig.sendTextCard(restTemplate, requestMap); wxConfig.sendTextCard(restTemplate, requestMap);
} }
//企业微信发送记录
logService.saveLog(user.getUserId(), CommonConstants.ZERO_STRING,"企业微信消息提醒", LocalDateTime.now(),
registration.getRegistorUsername(),"提醒人:" + user.getNickname());
} }
} }
...@@ -601,4 +631,14 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr ...@@ -601,4 +631,14 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
} }
} }
} }
public boolean haveRole(YifuUser user, long roleId) {
List<Long> roleList = user.getClientRoleMap().get(ClientNameConstants.CLIENT_MVP);
for (Long role : roleList) {
if (role == roleId) {
return true;
}
}
return false;
}
} }
package com.yifu.cloud.plus.v1.yifu.admin.api.vo;
import lombok.Data;
/**
* csp部门信息
*
* @author huych
* @since 1.9.7
*/
@Data
public class SysCspDeptVo {
/**
* 部门名称
*/
private String departName;
/**
* 部门id
*/
private Long departId;
/**
* 用户id
*/
private String userId;
/**
* 项目id
*/
private String projectId;
}
...@@ -665,4 +665,29 @@ public class UserController { ...@@ -665,4 +665,29 @@ public class UserController {
@RequestParam(required = false) String nickname) { @RequestParam(required = false) String nickname) {
return userService.cspUserPage(page, deptId,username,nickname); return userService.cspUserPage(page, deptId,username,nickname);
} }
/**
* @Author huych
* @Description 根据项目id和用户id查询csp部门信息
* @Date 14:27 2025/3/10
* @Param
* @return
**/
@Inner
@PostMapping("/inner/selectInnerCspDeptByUserDeptId")
public R<SysCspDeptVo> selectInnerCspDeptByUserDeptId(@RequestBody SysCspDeptVo vo) {
return userService.selectCspDeptByUserDeptId(vo);
}
/**
* @Author huych
* @Description 根据项目id和用户id查询csp部门信息
* @Date 14:27 2025/3/10
* @Param
* @return
**/
@PostMapping("/selectCspDeptByUserDeptId")
public R<SysCspDeptVo> selectCspDeptByUserDeptId(@RequestBody SysCspDeptVo vo) {
return userService.selectCspDeptByUserDeptId(vo);
}
} }
...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.admin.mapper; ...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.admin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUserDeptPermission; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUserDeptPermission;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -36,4 +37,6 @@ public interface SysUserDeptPermissionMapper extends BaseMapper<SysUserDeptPermi ...@@ -36,4 +37,6 @@ public interface SysUserDeptPermissionMapper extends BaseMapper<SysUserDeptPermi
List<SysUserDeptPermission> getUserDeptPermissionList(@Param("userId")String userId); List<SysUserDeptPermission> getUserDeptPermissionList(@Param("userId")String userId);
SysCspDeptVo selectCasDeptVo(@Param("userId") String userId, @Param("projectId") String projectId);
} }
...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.admin.service; ...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.admin.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUserDeptPermission; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUserDeptPermission;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserCspVO; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserCspVO;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.UserPermissionVo; import com.yifu.cloud.plus.v1.yifu.common.core.vo.UserPermissionVo;
...@@ -64,4 +65,6 @@ public interface SysUserDeptPermissionService extends IService<SysUserDeptPermis ...@@ -64,4 +65,6 @@ public interface SysUserDeptPermissionService extends IService<SysUserDeptPermis
R<Boolean> updateByIdAsso(UserCspVO entity); R<Boolean> updateByIdAsso(UserCspVO entity);
R<Boolean> removeUserDeptPermissionById(String userId, String projectNo); R<Boolean> removeUserDeptPermissionById(String userId, String projectNo);
SysCspDeptVo selectCasDeptVo(String userId, String projectId);
} }
...@@ -23,10 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,10 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.admin.api.dto.UserDTO; import com.yifu.cloud.plus.v1.yifu.admin.api.dto.UserDTO;
import com.yifu.cloud.plus.v1.yifu.admin.api.dto.UserInfo; import com.yifu.cloud.plus.v1.yifu.admin.api.dto.UserInfo;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.BusinessUserVo; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.*;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserExcelVO;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserPasswordVo;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserVO;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
...@@ -215,4 +212,6 @@ public interface SysUserService extends IService<SysUser> { ...@@ -215,4 +212,6 @@ public interface SysUserService extends IService<SysUser> {
R<IPage<SysUser>> cspUserPage(Page page, String deptId, String userName, String nickName); R<IPage<SysUser>> cspUserPage(Page page, String deptId, String userName, String nickName);
R<SysCspDeptVo> selectCspDeptByUserDeptId(SysCspDeptVo vo);
} }
...@@ -561,6 +561,10 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl ...@@ -561,6 +561,10 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
*/ */
@Override @Override
public R<String> removeCspDeptById(Long deptId) { public R<String> removeCspDeptById(Long deptId) {
SysDept findInfo = baseMapper.selectById(deptId);
if (Common.isEmpty(findInfo)) {
return R.failed("部门未找到");
}
int hasChild = baseMapper.hasChildByDeptId(deptId); int hasChild = baseMapper.hasChildByDeptId(deptId);
if (hasChild > 0) { if (hasChild > 0) {
return R.failed("存在下级部门,不允许删除"); return R.failed("存在下级部门,不允许删除");
...@@ -570,8 +574,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl ...@@ -570,8 +574,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
return R.failed("部门下仍然有员工,请调出所有员工后,删除部门"); return R.failed("部门下仍然有员工,请调出所有员工后,删除部门");
} }
this.removeById(deptId); this.removeById(deptId);
// 清理用户权限,重新获取用户的部门权限
List<String> userNames = sysUserMapper.getCspUserByDeptId(deptId.toString()); // 清理用户权限,重新获取项目下的用户的部门权限
List<String> userNames = sysUserMapper.getCspUserByProjectNo(findInfo.getProjectNo());
if (Common.isNotNull(userNames)){ if (Common.isNotNull(userNames)){
for (String us:userNames){ for (String us:userNames){
redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ us); redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ us);
...@@ -623,8 +628,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl ...@@ -623,8 +628,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
baseMapper.updateById(updateEntity); baseMapper.updateById(updateEntity);
List<DeptSortVo> moveVos = dept.getDeptSortList(); List<DeptSortVo> moveVos = dept.getDeptSortList();
baseMapper.batchUpdateSort(moveVos); baseMapper.batchUpdateSort(moveVos);
//清理用户权限 // 清理用户权限
List<String> userNames = sysUserMapper.getCspUserByDeptId(dept.getDeptId()); // List<String> userNames = sysUserMapper.getCspUserByDeptId(dept.getDeptId());
List<String> userNames = sysUserMapper.getCspUserByProjectNo(updateEntity.getProjectNo());
if (Common.isNotNull(userNames)){ if (Common.isNotNull(userNames)){
for (String us:userNames){ for (String us:userNames){
redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ us); redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ us);
......
...@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ...@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDept; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDept;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUserDeptPermission; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUserDeptPermission;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserCspVO; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.UserCspVO;
import com.yifu.cloud.plus.v1.yifu.admin.constants.UserDeptPermConstants; import com.yifu.cloud.plus.v1.yifu.admin.constants.UserDeptPermConstants;
import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysDeptMapper; import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysDeptMapper;
...@@ -398,9 +399,19 @@ public class SysUserDeptPermissionServiceImpl extends ServiceImpl<SysUserDeptPer ...@@ -398,9 +399,19 @@ public class SysUserDeptPermissionServiceImpl extends ServiceImpl<SysUserDeptPer
if (Common.isEmpty(permission)){ if (Common.isEmpty(permission)){
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR); return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
} }
SysUser user = sysUserMapper.selectById(userId);
if (Common.isEmpty(user)){
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
if (baseMapper.deleteById(permission.getId()) > CommonConstants.ZERO_INT){ if (baseMapper.deleteById(permission.getId()) > CommonConstants.ZERO_INT){
redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ user.getUsername());
return R.ok(Boolean.TRUE,CommonConstants.RESULT_DATA_SUCESS); return R.ok(Boolean.TRUE,CommonConstants.RESULT_DATA_SUCESS);
} }
return R.failed(Boolean.FALSE,CommonConstants.RESULT_DATA_FAIL); return R.failed(Boolean.FALSE,CommonConstants.RESULT_DATA_FAIL);
} }
@Override
public SysCspDeptVo selectCasDeptVo(String userId, String projectId) {
return baseMapper.selectCasDeptVo(userId,projectId);
}
} }
...@@ -1012,4 +1012,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl ...@@ -1012,4 +1012,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return R.ok(baseMapper.cspUserPage(page,deptId,userName,nickName,dept.getProjectNo())); return R.ok(baseMapper.cspUserPage(page,deptId,userName,nickName,dept.getProjectNo()));
} }
@Override
public R<SysCspDeptVo> selectCspDeptByUserDeptId(SysCspDeptVo vo) {
SysCspDeptVo returnVo = userDeptPermissionService.selectCasDeptVo(vo.getUserId(),vo.getProjectId());
if (Common.isEmpty(returnVo)) {
return null;
} else {
vo.setDepartName(returnVo.getDepartName());
vo.setDepartId(returnVo.getDepartId());
}
return R.ok(vo);
}
} }
...@@ -59,4 +59,14 @@ ...@@ -59,4 +59,14 @@
FROM sys_user_dept_permission a FROM sys_user_dept_permission a
WHERE a.user_id = #{userId} WHERE a.user_id = #{userId}
</select> </select>
<select id="selectCasDeptVo" resultType="com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysCspDeptVo">
SELECT
b.name as departName,
a.dept_id as departId
FROM sys_user_dept_permission a
inner join sys_dept b on a.dept_id = b.dept_id
WHERE a.user_id = #{userId} and a.project_id = #{projectId}
limit 1
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment