添加员工基础功能模块

This commit is contained in:
yangjun 2025-04-01 09:22:28 +08:00
parent 1f3996bff5
commit 1a1d3510ee
6 changed files with 424 additions and 0 deletions

View File

@ -0,0 +1,180 @@
package com.nu.modules.bizEmployeesInfo.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.util.oConvertUtils;
import com.nu.modules.bizEmployeesInfo.entity.BizEmployeesInfo;
import com.nu.modules.bizEmployeesInfo.service.IBizEmployeesInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 员工信息
* @Author: jeecg-boot
* @Date: 2025-04-01
* @Version: V1.0
*/
@Api(tags="员工信息")
@RestController
@RequestMapping("/bizEmployeesInfo/bizEmployeesInfo")
@Slf4j
public class BizEmployeesInfoController extends JeecgController<BizEmployeesInfo, IBizEmployeesInfoService> {
@Autowired
private IBizEmployeesInfoService bizEmployeesInfoService;
/**
* 分页列表查询
*
* @param bizEmployeesInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "员工信息-分页列表查询")
@ApiOperation(value="员工信息-分页列表查询", notes="员工信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<BizEmployeesInfo>> queryPageList(BizEmployeesInfo bizEmployeesInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<BizEmployeesInfo> queryWrapper = QueryGenerator.initQueryWrapper(bizEmployeesInfo, req.getParameterMap());
Page<BizEmployeesInfo> page = new Page<BizEmployeesInfo>(pageNo, pageSize);
IPage<BizEmployeesInfo> pageList = bizEmployeesInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param bizEmployeesInfo
* @return
*/
@AutoLog(value = "员工信息-添加")
@ApiOperation(value="员工信息-添加", notes="员工信息-添加")
@RequiresPermissions("bizEmployeesInfo:biz_employees_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody BizEmployeesInfo bizEmployeesInfo) {
bizEmployeesInfoService.save(bizEmployeesInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param bizEmployeesInfo
* @return
*/
@AutoLog(value = "员工信息-编辑")
@ApiOperation(value="员工信息-编辑", notes="员工信息-编辑")
@RequiresPermissions("bizEmployeesInfo:biz_employees_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody BizEmployeesInfo bizEmployeesInfo) {
bizEmployeesInfoService.updateById(bizEmployeesInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "员工信息-通过id删除")
@ApiOperation(value="员工信息-通过id删除", notes="员工信息-通过id删除")
@RequiresPermissions("bizEmployeesInfo:biz_employees_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
bizEmployeesInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "员工信息-批量删除")
@ApiOperation(value="员工信息-批量删除", notes="员工信息-批量删除")
@RequiresPermissions("bizEmployeesInfo:biz_employees_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.bizEmployeesInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "员工信息-通过id查询")
@ApiOperation(value="员工信息-通过id查询", notes="员工信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<BizEmployeesInfo> queryById(@RequestParam(name="id",required=true) String id) {
BizEmployeesInfo bizEmployeesInfo = bizEmployeesInfoService.getById(id);
if(bizEmployeesInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(bizEmployeesInfo);
}
/**
* 导出excel
*
* @param request
* @param bizEmployeesInfo
*/
@RequiresPermissions("bizEmployeesInfo:biz_employees_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, BizEmployeesInfo bizEmployeesInfo) {
return super.exportXls(request, bizEmployeesInfo, BizEmployeesInfo.class, "员工信息");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("bizEmployeesInfo:biz_employees_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, BizEmployeesInfo.class);
}
}

View File

@ -0,0 +1,189 @@
package com.nu.modules.bizEmployeesInfo.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 员工信息
* @Author: jeecg-boot
* @Date: 2025-04-01
* @Version: V1.0
*/
@Data
@TableName("nu_biz_employees_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="biz_employees_info对象", description="员工信息")
public class BizEmployeesInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**姓名*/
@Excel(name = "姓名", width = 15)
@ApiModelProperty(value = "姓名")
private java.lang.String name;
/**性别*/
@Excel(name = "性别", width = 15, dicCode = "sex")
@Dict(dicCode = "sex")
@ApiModelProperty(value = "性别")
private java.lang.String sex;
/**民族*/
@Excel(name = "民族", width = 15)
@ApiModelProperty(value = "民族")
private java.lang.String national;
/**身份证号*/
@Excel(name = "身份证号", width = 15)
@ApiModelProperty(value = "身份证号")
private java.lang.String idCard;
/**联系电话*/
@Excel(name = "联系电话", width = 15)
@ApiModelProperty(value = "联系电话")
private java.lang.String tel;
/**入职时间*/
@Excel(name = "入职时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "入职时间")
private java.util.Date entryTime;
/**岗位级别*/
@Excel(name = "岗位级别", width = 15, dicCode = "post_level")
@Dict(dicCode = "post_level")
@ApiModelProperty(value = "岗位级别")
private java.lang.String postLevel;
/**出生日期*/
@Excel(name = "出生日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "出生日期")
private java.util.Date dateOfBirth;
/**婚否*/
@Excel(name = "婚否", width = 15, dicCode = "married_or_not")
@Dict(dicCode = "married_or_not")
@ApiModelProperty(value = "婚否")
private java.lang.String marriedOrNot;
/**工资*/
@Excel(name = "工资", width = 15, dicCode = "wages")
@Dict(dicCode = "wages")
@ApiModelProperty(value = "工资")
private java.lang.String wages;
/**身高*/
@Excel(name = "身高", width = 15)
@ApiModelProperty(value = "身高")
private java.lang.Double height;
/**体重*/
@Excel(name = "体重", width = 15)
@ApiModelProperty(value = "体重")
private java.lang.Double weight;
/**家庭住址*/
@Excel(name = "家庭住址", width = 15)
@ApiModelProperty(value = "家庭住址")
private java.lang.String address;
/**是否吸烟*/
@Excel(name = "是否吸烟", width = 15, dicCode = "is_smoking")
@Dict(dicCode = "is_smoking")
@ApiModelProperty(value = "是否吸烟")
private java.lang.String isSmoking;
/**健康状况*/
@Excel(name = "健康状况", width = 15, dicCode = "health_status")
@Dict(dicCode = "health_status")
@ApiModelProperty(value = "健康状况")
private java.lang.String healthStatus;
/**户籍所在地*/
@Excel(name = "户籍所在地", width = 15)
@ApiModelProperty(value = "户籍所在地")
private java.lang.String houseAddress;
/**政治面貌*/
@Excel(name = "政治面貌", width = 15, dicCode = "political_appearance")
@Dict(dicCode = "political_appearance")
@ApiModelProperty(value = "政治面貌")
private java.lang.String politicalAppearance;
/**紧急联系人*/
@Excel(name = "紧急联系人", width = 15)
@ApiModelProperty(value = "紧急联系人")
private java.lang.String emergencyContact;
/**紧急联系人电话*/
@Excel(name = "紧急联系人电话", width = 15)
@ApiModelProperty(value = "紧急联系人电话")
private java.lang.String emergencyTel;
/**紧急联系人与本人关系*/
@Excel(name = "紧急联系人与本人关系", width = 15)
@ApiModelProperty(value = "紧急联系人与本人关系")
private java.lang.String emergencyRelationship;
/**户口性质*/
@Excel(name = "户口性质", width = 15, dicCode = "hukou_nature")
@Dict(dicCode = "hukou_nature")
@ApiModelProperty(value = "户口性质")
private java.lang.String hukouNature;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private java.lang.String content;
/**身份证正面*/
@Excel(name = "身份证正面", width = 15)
@ApiModelProperty(value = "身份证正面")
private java.lang.String idCardPositive;
/**身份证反面*/
@Excel(name = "身份证反面", width = 15)
@ApiModelProperty(value = "身份证反面")
private java.lang.String idCardNegative;
/**合同正面*/
@Excel(name = "合同正面", width = 15)
@ApiModelProperty(value = "合同正面")
private java.lang.String contractPositive;
/**合同反面*/
@Excel(name = "合同反面", width = 15)
@ApiModelProperty(value = "合同反面")
private java.lang.String contractNegative;
/**健康证正面*/
@Excel(name = "健康证正面", width = 15)
@ApiModelProperty(value = "健康证正面")
private java.lang.String healthCertificatePositive;
/**健康证反面*/
@Excel(name = "健康证反面", width = 15)
@ApiModelProperty(value = "健康证反面")
private java.lang.String healthCertificateNegative;
/**银行卡正面*/
@Excel(name = "银行卡正面", width = 15)
@ApiModelProperty(value = "银行卡正面")
private java.lang.String bankPositive;
/**银行卡反面*/
@Excel(name = "银行卡反面", width = 15)
@ApiModelProperty(value = "银行卡反面")
private java.lang.String bankNegative;
/**资质证*/
@Excel(name = "资质证", width = 15)
@ApiModelProperty(value = "资质证")
private java.lang.String qualification;
/**无犯罪证明*/
@Excel(name = "无犯罪证明", width = 15)
@ApiModelProperty(value = "无犯罪证明")
private java.lang.String noCrimeCertificate;
/**区域*/
@Excel(name = "区域", width = 15)
@ApiModelProperty(value = "区域")
private java.lang.String regional;
/**服务标签*/
@Excel(name = "服务标签", width = 15)
@ApiModelProperty(value = "服务标签")
private java.lang.String serviceTag;
}

View File

@ -0,0 +1,17 @@
package com.nu.modules.bizEmployeesInfo.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.bizEmployeesInfo.entity.BizEmployeesInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 员工信息
* @Author: jeecg-boot
* @Date: 2025-04-01
* @Version: V1.0
*/
public interface BizEmployeesInfoMapper extends BaseMapper<BizEmployeesInfo> {
}

View File

@ -0,0 +1,5 @@
<?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="com.nu.modules.bizEmployeesInfo.mapper.BizEmployeesInfoMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.nu.modules.bizEmployeesInfo.service;
import com.nu.modules.bizEmployeesInfo.entity.BizEmployeesInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 员工信息
* @Author: jeecg-boot
* @Date: 2025-04-01
* @Version: V1.0
*/
public interface IBizEmployeesInfoService extends IService<BizEmployeesInfo> {
}

View File

@ -0,0 +1,19 @@
package com.nu.modules.bizEmployeesInfo.service.impl;
import com.nu.modules.bizEmployeesInfo.entity.BizEmployeesInfo;
import com.nu.modules.bizEmployeesInfo.mapper.BizEmployeesInfoMapper;
import com.nu.modules.bizEmployeesInfo.service.IBizEmployeesInfoService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 员工信息
* @Author: jeecg-boot
* @Date: 2025-04-01
* @Version: V1.0
*/
@Service
public class BizEmployeesInfoServiceImpl extends ServiceImpl<BizEmployeesInfoMapper, BizEmployeesInfo> implements IBizEmployeesInfoService {
}