企业管理-员工信息

This commit is contained in:
xiao-fajia 2024-08-07 15:54:39 +08:00
parent 93af3ee12e
commit 95b4242133
12 changed files with 186 additions and 101 deletions

View File

@ -15,6 +15,12 @@
点亮企业管理库
</description>
<dependencies>
<!-- 引用基础库 -->
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>dl-module-base</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-module-system-api</artifactId>

View File

@ -1,14 +1,15 @@
package cn.iocoder.yudao.module.staff.controller.admin;
package cn.iocoder.yudao.module.company.controller.admin;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import cn.iocoder.yudao.module.label.entity.Label;
import cn.iocoder.yudao.module.company.entity.CompanyStaff;
import cn.iocoder.yudao.module.company.service.CompanyStaffService;
import cn.iocoder.yudao.module.company.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyStaffRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
@ -125,6 +126,7 @@ public class CompanyStaffController {
}
/**
* 导出员工信息表
* @author 小李
* @date 18:01 2024/8/6
* @param pageReqVO 查询条件--暂时导出所有
@ -144,4 +146,14 @@ public class CompanyStaffController {
columnWidthMap.put(10, 20);
ExcelUtils.write(response, "企业信息表.xls", "数据", CompanyStaff.class, list,columnWidthMap);
}
/**
* 获取当前登录用户的标签
* @author 小李
* @date 14:59 2024/8/7
**/
@GetMapping("/labels")
public CommonResult<List<Label>> getLabels(){
return success(staffService.getLabels());
}
}

View File

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.staff.entity;
package cn.iocoder.yudao.module.company.entity;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
@ -11,7 +11,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
/**
* 企业管理-员工信息实体
@ -58,7 +58,7 @@ public class CompanyStaff extends TenantBaseDO {
/** 工作日期 */
@ExcelProperty("工作日期")
private LocalDate workDate;
private Date workDate;
/** 工龄 */
@ExcelProperty("工龄")
@ -66,7 +66,7 @@ public class CompanyStaff extends TenantBaseDO {
/** 入职日期 */
@ExcelProperty("入职日期")
private LocalDate joinedDate;
private Date joinedDate;
/** 司龄 */
@ExcelProperty("司龄")

View File

@ -1,15 +1,13 @@
package cn.iocoder.yudao.module.staff.mapper;
package cn.iocoder.yudao.module.company.mapper;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.company.entity.CompanyStaff;
import cn.iocoder.yudao.module.company.vo.CompanyStaffReqVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 企业管理-员工信息表
* @author 小李

View File

@ -1,13 +1,15 @@
package cn.iocoder.yudao.module.staff.service;
package cn.iocoder.yudao.module.company.service;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import cn.iocoder.yudao.module.label.entity.Label;
import cn.iocoder.yudao.module.company.entity.CompanyStaff;
import cn.iocoder.yudao.module.company.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyStaffRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import javax.validation.Valid;
import java.util.List;
/**
* 企业管理-员工信息表 服务
@ -47,4 +49,11 @@ public interface CompanyStaffService extends IService<CompanyStaff> {
* @param id 员工ID
**/
void deleteStaff(String id);
/**
* 获取当前登录用户的标签
* @author 小李
* @date 14:59 2024/8/7
**/
List<Label> getLabels();
}

View File

@ -0,0 +1,97 @@
package cn.iocoder.yudao.module.company.service.impl;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.label.entity.Label;
import cn.iocoder.yudao.module.label.service.LabelService;
import cn.iocoder.yudao.module.company.entity.CompanyStaff;
import cn.iocoder.yudao.module.company.mapper.CompanyStaffMapper;
import cn.iocoder.yudao.module.company.service.CompanyStaffService;
import cn.iocoder.yudao.module.company.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.company.vo.CompanyStaffRespVO;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import cn.iocoder.yudao.module.system.api.user.dto.UserDTO;
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* 企业管理-员工信息表 服务实现类
* @author 小李
* @date 16:29 2024/8/6
**/
@Service
public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, CompanyStaff> implements CompanyStaffService {
@Resource
private CompanyStaffMapper staffMapper;
@Resource
private AdminUserApi adminUserApi;
@Resource
private LabelService labelService;
/**
* 获得企业管理-员工信息表分页
* @author 小李
* @date 17:11 2024/8/6
* @param pageReqVO 分页查询
* @param page 分页对象
**/
@Override
public IPage<CompanyStaff> queryListPage(CompanyStaffReqVO pageReqVO, Page<CompanyStaff> page) {
return staffMapper.selectListPage(pageReqVO, page);
}
/**
* 新增企业管理-员工管理信息
* @author 小李
* @date 13:57 2024/8/7
* @param staffRespVO 员工对象
**/
@Override
@DSTransactional
public void saveStaff(CompanyStaffRespVO staffRespVO) {
// 获取当前登录用户的信息
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
AdminUserRespDTO user = adminUserApi.getUser(loginUser.getId());
// 创建UserDTO用于给sys_user插入数据
UserDTO userDTO = new UserDTO();
userDTO.setUsername(staffRespVO.getLoginAccount());
userDTO.setPassword(staffRespVO.getPassword());
userDTO.setNickname(staffRespVO.getName());
userDTO.setDeptId(user.getDeptId());
userDTO.setMobile(staffRespVO.getTel());
adminUserApi.createUser(userDTO);
// 获取sys_users中刚插入记录ID
Long id = userDTO.getId();
}
@Override
public void updateStaff(CompanyStaffRespVO staffRespVO) {
}
@Override
public void deleteStaff(String id) {
}
/**
* 获取当前登录用户的标签
* @author 小李
* @date 14:59 2024/8/7
**/
@Override
public List<Label> getLabels(){
return labelService.list(new QueryWrapper<Label>());
}
}

View File

@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.staff.vo;
package cn.iocoder.yudao.module.company.vo;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.company.entity.CompanyStaff;
import lombok.Data;
/**

View File

@ -0,0 +1,35 @@
package cn.iocoder.yudao.module.company.vo;
import cn.iocoder.yudao.module.company.entity.CompanyStaff;
import lombok.Data;
import java.util.List;
/**
* 员工响应或提交VO
* @author 小李
* @date 16:50 2024/8/6
**/
@Data
public class CompanyStaffRespVO extends CompanyStaff {
/**
* 登录账号
**/
private String loginAccount;
/**
* 登录密码
**/
private String password;
/**
* 员工附件IDS
*/
List<String> fileIdArray;
/**
* 员工标签
**/
List<String> labelsArray;
}

View File

@ -1,52 +0,0 @@
package cn.iocoder.yudao.module.staff.service.impl;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import cn.iocoder.yudao.module.staff.mapper.CompanyStaffMapper;
import cn.iocoder.yudao.module.staff.service.CompanyStaffService;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffReqVO;
import cn.iocoder.yudao.module.staff.vo.CompanyStaffRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 企业管理-员工信息表 服务实现类
* @author 小李
* @date 16:29 2024/8/6
**/
@Service
public class CompanyStaffServiceImpl extends ServiceImpl<CompanyStaffMapper, CompanyStaff> implements CompanyStaffService {
@Resource
private CompanyStaffMapper staffMapper;
/**
* 获得企业管理-员工信息表分页
* @author 小李
* @date 17:11 2024/8/6
* @param pageReqVO 分页查询
* @param page 分页对象
**/
@Override
public IPage<CompanyStaff> queryListPage(CompanyStaffReqVO pageReqVO, Page<CompanyStaff> page) {
return staffMapper.selectListPage(pageReqVO, page);
}
@Override
public void saveStaff(CompanyStaffRespVO staffRespVO) {
}
@Override
public void updateStaff(CompanyStaffRespVO staffRespVO) {
}
@Override
public void deleteStaff(String id) {
}
}

View File

@ -1,20 +0,0 @@
package cn.iocoder.yudao.module.staff.vo;
import cn.iocoder.yudao.module.staff.entity.CompanyStaff;
import lombok.Data;
import java.util.List;
/**
* 员工响应或提交VO
* @author 小李
* @date 16:50 2024/8/6
**/
@Data
public class CompanyStaffRespVO extends CompanyStaff {
/**
* 员工附件IDS
*/
List<String> fileIdArray;
}

View File

@ -0,0 +1,9 @@
<?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="cn.iocoder.yudao.module.company.mapper.CompanyStaffMapper">
<select id="selectListPage" resultType="cn.iocoder.yudao.module.company.entity.CompanyStaff">
select * from company_staff
</select>
</mapper>

View File

@ -1,9 +0,0 @@
<?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="cn.iocoder.yudao.module.staff.mapper.CompanyStaffMapper">
<select id="selectListPage" resultType="cn.iocoder.yudao.module.staff.entity.CompanyStaff">
select * from company_staff
</select>
</mapper>