Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
dcd57199
Commit
dcd57199
authored
Jun 13, 2023
by
fangxinjiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
人员花名册
parent
ba24e9af
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1441 additions
and
0 deletions
+1441
-0
TPersonnelRoster.java
.../cloud/plus/v1/yifu/archives/entity/TPersonnelRoster.java
+370
-0
TPersonnelRosterSearchVo.java
...ud/plus/v1/yifu/archives/vo/TPersonnelRosterSearchVo.java
+56
-0
TPersonnelRosterVo.java
...fu/cloud/plus/v1/yifu/archives/vo/TPersonnelRosterVo.java
+369
-0
TPersonnelRosterController.java
.../yifu/archives/controller/TPersonnelRosterController.java
+136
-0
TPersonnelRosterMapper.java
.../plus/v1/yifu/archives/mapper/TPersonnelRosterMapper.java
+41
-0
TPersonnelRosterService.java
...lus/v1/yifu/archives/service/TPersonnelRosterService.java
+49
-0
TPersonnelRosterServiceImpl.java
...fu/archives/service/impl/TPersonnelRosterServiceImpl.java
+171
-0
TPersonnelRosterMapper.xml
...-biz/src/main/resources/mapper/TPersonnelRosterMapper.xml
+249
-0
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TPersonnelRoster.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
org.hibernate.validator.constraints.Length
;
import
java.util.Date
;
/**
* @author fxj
* @date 2023-06-13 15:42:17
*/
@Data
@TableName
(
"t_personnel_roster"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
""
)
public
class
TPersonnelRoster
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 客户名称
*/
@ExcelAttribute
(
name
=
"客户名称"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"客户名称不能超过50个字符"
)
@ExcelProperty
(
"客户名称"
)
@Schema
(
description
=
"客户名称"
)
private
String
customerName
;
/**
* 项目名称
*/
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"项目名称不能超过50个字符"
)
@ExcelProperty
(
"项目名称"
)
@Schema
(
description
=
"项目名称"
)
private
String
departName
;
/**
* 项目编码
*/
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"项目编码不能超过50个字符"
)
@ExcelProperty
(
"项目编码"
)
@Schema
(
description
=
"项目编码"
)
private
String
departNo
;
/**
* 业务类型
*/
@ExcelAttribute
(
name
=
"业务类型"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"业务类型不能超过50个字符"
)
@ExcelProperty
(
"业务类型"
)
@Schema
(
description
=
"业务类型"
)
private
String
businessPrimary
;
/**
* 二级分类
*/
@ExcelAttribute
(
name
=
"二级分类"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"二级分类不能超过50个字符"
)
@ExcelProperty
(
"二级分类"
)
@Schema
(
description
=
"二级分类"
)
private
String
businessSeconed
;
/**
* 三级分类
*/
@ExcelAttribute
(
name
=
"三级分类"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"三级分类不能超过50个字符"
)
@ExcelProperty
(
"三级分类"
)
@Schema
(
description
=
"三级分类"
)
private
String
businessThird
;
/**
* 标签
*/
@ExcelAttribute
(
name
=
"标签"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"标签不能超过50个字符"
)
@ExcelProperty
(
"标签"
)
@Schema
(
description
=
"标签"
)
private
String
label
;
/**
* 条线类型
*/
@ExcelAttribute
(
name
=
"条线类型"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"条线类型不能超过50个字符"
)
@ExcelProperty
(
"条线类型"
)
@Schema
(
description
=
"条线类型"
)
private
String
businessType
;
/**
* BU归属
*/
@ExcelAttribute
(
name
=
"BU归属"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"BU归属不能超过30个字符"
)
@ExcelProperty
(
"BU归属"
)
@Schema
(
description
=
"BU归属"
)
private
String
buBelong
;
/**
* 员工类型
*/
@ExcelAttribute
(
name
=
"员工类型"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"员工类型不能超过20个字符"
)
@ExcelProperty
(
"员工类型"
)
@Schema
(
description
=
"员工类型"
)
private
String
empType
;
/**
* 员工姓名
*/
@ExcelAttribute
(
name
=
"员工姓名"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"员工姓名不能超过20个字符"
)
@ExcelProperty
(
"员工姓名"
)
@Schema
(
description
=
"员工姓名"
)
private
String
empName
;
/**
* 性别
*/
@ExcelAttribute
(
name
=
"性别"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"性别不能超过10个字符"
)
@ExcelProperty
(
"性别"
)
@Schema
(
description
=
"性别"
)
private
String
empSex
;
/**
* 出生日期
*/
@ExcelAttribute
(
name
=
"出生日期"
,
isDate
=
true
)
@ExcelProperty
(
"出生日期"
)
@Schema
(
description
=
"出生日期"
)
private
Date
empBirthDate
;
/**
* 年龄
*/
@ExcelAttribute
(
name
=
"年龄"
,
maxLength
=
3
)
@Length
(
max
=
3
,
message
=
"年龄不能超过3个字符"
)
@ExcelProperty
(
"年龄"
)
@Schema
(
description
=
"年龄"
)
private
String
empAge
;
/**
* 身份证号
*/
@ExcelAttribute
(
name
=
"身份证号"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"身份证号不能超过20个字符"
)
@ExcelProperty
(
"身份证号"
)
@Schema
(
description
=
"身份证号"
)
private
String
empIdcard
;
/**
* 银行卡号
*/
@ExcelAttribute
(
name
=
"银行卡号"
,
maxLength
=
25
)
@Length
(
max
=
25
,
message
=
"银行卡号不能超过25个字符"
)
@ExcelProperty
(
"银行卡号"
)
@Schema
(
description
=
"银行卡号"
)
private
String
bankNo
;
/**
* 开户行总行
*/
@ExcelAttribute
(
name
=
"开户行总行"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"开户行总行不能超过50个字符"
)
@ExcelProperty
(
"开户行总行"
)
@Schema
(
description
=
"开户行总行"
)
private
String
bankName
;
/**
* 开户行-省
*/
@ExcelAttribute
(
name
=
"开户行-省"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"开户行-省不能超过30个字符"
)
@ExcelProperty
(
"开户行-省"
)
@Schema
(
description
=
"开户行-省"
)
private
String
bankProvince
;
/**
* 开户行-市
*/
@ExcelAttribute
(
name
=
"开户行-市"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"开户行-市不能超过30个字符"
)
@ExcelProperty
(
"开户行-市"
)
@Schema
(
description
=
"开户行-市"
)
private
String
bankCity
;
/**
* 开户行支行
*/
@ExcelAttribute
(
name
=
"开户行支行"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"开户行支行不能超过50个字符"
)
@ExcelProperty
(
"开户行支行"
)
@Schema
(
description
=
"开户行支行"
)
private
String
bankNameSub
;
/**
* 手机号码
*/
@ExcelAttribute
(
name
=
"手机号码"
,
maxLength
=
15
)
@Length
(
max
=
15
,
message
=
"手机号码不能超过15个字符"
)
@ExcelProperty
(
"手机号码"
)
@Schema
(
description
=
"手机号码"
)
private
String
empPhone
;
/**
* 档案地-省
*/
@ExcelAttribute
(
name
=
"档案地-省"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"档案地-省不能超过30个字符"
)
@ExcelProperty
(
"档案地-省"
)
@Schema
(
description
=
"档案地-省"
)
private
String
empProvince
;
/**
* 档案地-市
*/
@ExcelAttribute
(
name
=
"档案地-市"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"档案地-市不能超过30个字符"
)
@ExcelProperty
(
"档案地-市"
)
@Schema
(
description
=
"档案地-市"
)
private
String
empCity
;
/**
* 档案地-县
*/
@ExcelAttribute
(
name
=
"档案地-县"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"档案地-县不能超过30个字符"
)
@ExcelProperty
(
"档案地-县"
)
@Schema
(
description
=
"档案地-县"
)
private
String
empTown
;
/**
* 社保缴纳地
*/
@ExcelAttribute
(
name
=
"社保缴纳地"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"社保缴纳地不能超过50个字符"
)
@ExcelProperty
(
"社保缴纳地"
)
@Schema
(
description
=
"社保缴纳地"
)
private
String
socialAddress
;
/**
* 合同申请编号
*/
@ExcelAttribute
(
name
=
"合同申请编号"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"合同申请编号不能超过32个字符"
)
@ExcelProperty
(
"合同申请编号"
)
@Schema
(
description
=
"合同申请编号"
)
private
String
contractApplyNo
;
/**
* 合同起始时间
*/
@ExcelAttribute
(
name
=
"合同起始时间"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"合同起始时间不能超过20个字符"
)
@ExcelProperty
(
"合同起始时间"
)
@Schema
(
description
=
"合同起始时间"
)
private
String
contractStart
;
/**
* 合同截止时间
*/
@ExcelAttribute
(
name
=
"合同截止时间"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"合同截止时间不能超过20个字符"
)
@ExcelProperty
(
"合同截止时间"
)
@Schema
(
description
=
"合同截止时间"
)
private
String
contractEnd
;
/**
* 合同类型
*/
@ExcelAttribute
(
name
=
"合同类型"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"合同类型不能超过10个字符"
)
@ExcelProperty
(
"合同类型"
)
@Schema
(
description
=
"合同类型"
)
private
String
contractType
;
/**
* 业务细分
*/
@ExcelAttribute
(
name
=
"业务细分"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"业务细分不能超过20个字符"
)
@ExcelProperty
(
"业务细分"
)
@Schema
(
description
=
"业务细分"
)
private
String
businessDetail
;
/**
* 签订类型
*/
@ExcelAttribute
(
name
=
"签订类型"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"签订类型不能超过20个字符"
)
@ExcelProperty
(
"签订类型"
)
@Schema
(
description
=
"签订类型"
)
private
String
signType
;
/**
* 签订期限
*/
@ExcelAttribute
(
name
=
"签订期限"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"签订期限不能超过10个字符"
)
@ExcelProperty
(
"签订期限"
)
@Schema
(
description
=
"签订期限"
)
private
String
signTerm
;
/**
* 合同甲方
*/
@ExcelAttribute
(
name
=
"合同甲方"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"合同甲方不能超过50个字符"
)
@ExcelProperty
(
"合同甲方"
)
@Schema
(
description
=
"合同甲方"
)
private
String
contractPartyA
;
/**
* 合同岗位
*/
@ExcelAttribute
(
name
=
"合同岗位"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"合同岗位不能超过20个字符"
)
@ExcelProperty
(
"合同岗位"
)
@Schema
(
description
=
"合同岗位"
)
private
String
contractPost
;
/**
* 工时制
*/
@ExcelAttribute
(
name
=
"工时制"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"工时制不能超过10个字符"
)
@ExcelProperty
(
"工时制"
)
@Schema
(
description
=
"工时制"
)
private
String
contractTaskTime
;
/**
* 合同编码
*/
@ExcelAttribute
(
name
=
"合同编码"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"合同编码不能超过30个字符"
)
@ExcelProperty
(
"合同编码"
)
@Schema
(
description
=
"合同编码"
)
private
String
contractCode
;
/**
* 合同创建人
*/
@ExcelAttribute
(
name
=
"合同创建人"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"合同创建人不能超过10个字符"
)
@ExcelProperty
(
"合同创建人"
)
@Schema
(
description
=
"合同创建人"
)
private
String
contractCreater
;
/**
* 合同创建时间
*/
@ExcelAttribute
(
name
=
"合同创建时间"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"合同创建时间不能超过10个字符"
)
@ExcelProperty
(
"合同创建时间"
)
@Schema
(
description
=
"合同创建时间"
)
private
String
contractCreateTime
;
/**
* 数据生产月
*/
@ExcelAttribute
(
name
=
"数据生产月"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"数据生产月不能超过10个字符"
)
@ExcelProperty
(
"数据生产月"
)
@Schema
(
description
=
"数据生产月"
)
private
String
dataCreateMonth
;
/**
* dataCreateMomth
*/
@ExcelAttribute
(
name
=
"dataCreateMomth"
,
maxLength
=
255
)
@Length
(
max
=
255
,
message
=
"dataCreateMomth不能超过255个字符"
)
@ExcelProperty
(
"dataCreateMomth"
)
@Schema
(
description
=
"dataCreateMomth"
)
private
String
dataCreateMomth
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TPersonnelRosterSearchVo.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* @author fxj
* @date 2023-06-13 15:42:17
*/
@Data
public
class
TPersonnelRosterSearchVo
extends
TPersonnelRoster
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"创建时间区间"
)
private
LocalDateTime
[]
createTimes
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TPersonnelRosterVo.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author fxj
* @date 2023-06-13 15:42:17
*/
@Data
public
class
TPersonnelRosterVo
extends
RowIndex
implements
Serializable
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@NotBlank
(
message
=
"id 不能为空"
)
@Length
(
max
=
32
,
message
=
"id 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"id"
,
isNotEmpty
=
true
,
errorInfo
=
"id 不能为空"
,
maxLength
=
32
)
@Schema
(
description
=
"id"
)
@ExcelProperty
(
"id"
)
private
String
id
;
/**
* 客户名称
*/
@Length
(
max
=
50
,
message
=
"客户名称 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"客户名称"
,
maxLength
=
50
)
@Schema
(
description
=
"客户名称"
)
@ExcelProperty
(
"客户名称"
)
private
String
customerName
;
/**
* 项目名称
*/
@Length
(
max
=
50
,
message
=
"项目名称 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
50
)
@Schema
(
description
=
"项目名称"
)
@ExcelProperty
(
"项目名称"
)
private
String
departName
;
/**
* 项目编码
*/
@Length
(
max
=
50
,
message
=
"项目编码 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
50
)
@Schema
(
description
=
"项目编码"
)
@ExcelProperty
(
"项目编码"
)
private
String
departNo
;
/**
* 业务类型
*/
@Length
(
max
=
50
,
message
=
"业务类型 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"业务类型"
,
maxLength
=
50
)
@Schema
(
description
=
"业务类型"
)
@ExcelProperty
(
"业务类型"
)
private
String
businessPrimary
;
/**
* 二级分类
*/
@Length
(
max
=
50
,
message
=
"二级分类 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"二级分类"
,
maxLength
=
50
)
@Schema
(
description
=
"二级分类"
)
@ExcelProperty
(
"二级分类"
)
private
String
businessSeconed
;
/**
* 三级分类
*/
@Length
(
max
=
50
,
message
=
"三级分类 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"三级分类"
,
maxLength
=
50
)
@Schema
(
description
=
"三级分类"
)
@ExcelProperty
(
"三级分类"
)
private
String
businessThird
;
/**
* 标签
*/
@Length
(
max
=
50
,
message
=
"标签 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"标签"
,
maxLength
=
50
)
@Schema
(
description
=
"标签"
)
@ExcelProperty
(
"标签"
)
private
String
label
;
/**
* 条线类型
*/
@Length
(
max
=
50
,
message
=
"条线类型 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"条线类型"
,
maxLength
=
50
)
@Schema
(
description
=
"条线类型"
)
@ExcelProperty
(
"条线类型"
)
private
String
businessType
;
/**
* BU归属
*/
@Length
(
max
=
30
,
message
=
"BU归属 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"BU归属"
,
maxLength
=
30
)
@Schema
(
description
=
"BU归属"
)
@ExcelProperty
(
"BU归属"
)
private
String
buBelong
;
/**
* 员工类型
*/
@Length
(
max
=
20
,
message
=
"员工类型 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"员工类型"
,
maxLength
=
20
)
@Schema
(
description
=
"员工类型"
)
@ExcelProperty
(
"员工类型"
)
private
String
empType
;
/**
* 员工姓名
*/
@Length
(
max
=
20
,
message
=
"员工姓名 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"员工姓名"
,
maxLength
=
20
)
@Schema
(
description
=
"员工姓名"
)
@ExcelProperty
(
"员工姓名"
)
private
String
empName
;
/**
* 性别
*/
@Length
(
max
=
10
,
message
=
"性别 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"性别"
,
maxLength
=
10
)
@Schema
(
description
=
"性别"
)
@ExcelProperty
(
"性别"
)
private
String
empSex
;
/**
* 出生日期
*/
@ExcelAttribute
(
name
=
"出生日期"
,
isDate
=
true
)
@Schema
(
description
=
"出生日期"
)
@ExcelProperty
(
"出生日期"
)
private
Date
empBirthDate
;
/**
* 年龄
*/
@Length
(
max
=
3
,
message
=
"年龄 不能超过3 个字符"
)
@ExcelAttribute
(
name
=
"年龄"
,
maxLength
=
3
)
@Schema
(
description
=
"年龄"
)
@ExcelProperty
(
"年龄"
)
private
String
empAge
;
/**
* 身份证号
*/
@Length
(
max
=
20
,
message
=
"身份证号 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"身份证号"
,
maxLength
=
20
)
@Schema
(
description
=
"身份证号"
)
@ExcelProperty
(
"身份证号"
)
private
String
empIdcard
;
/**
* 银行卡号
*/
@Length
(
max
=
25
,
message
=
"银行卡号 不能超过25 个字符"
)
@ExcelAttribute
(
name
=
"银行卡号"
,
maxLength
=
25
)
@Schema
(
description
=
"银行卡号"
)
@ExcelProperty
(
"银行卡号"
)
private
String
bankNo
;
/**
* 开户行总行
*/
@Length
(
max
=
50
,
message
=
"开户行总行 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"开户行总行"
,
maxLength
=
50
)
@Schema
(
description
=
"开户行总行"
)
@ExcelProperty
(
"开户行总行"
)
private
String
bankName
;
/**
* 开户行-省
*/
@Length
(
max
=
30
,
message
=
"开户行-省 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"开户行-省"
,
maxLength
=
30
)
@Schema
(
description
=
"开户行-省"
)
@ExcelProperty
(
"开户行-省"
)
private
String
bankProvince
;
/**
* 开户行-市
*/
@Length
(
max
=
30
,
message
=
"开户行-市 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"开户行-市"
,
maxLength
=
30
)
@Schema
(
description
=
"开户行-市"
)
@ExcelProperty
(
"开户行-市"
)
private
String
bankCity
;
/**
* 开户行支行
*/
@Length
(
max
=
50
,
message
=
"开户行支行 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"开户行支行"
,
maxLength
=
50
)
@Schema
(
description
=
"开户行支行"
)
@ExcelProperty
(
"开户行支行"
)
private
String
bankNameSub
;
/**
* 手机号码
*/
@Length
(
max
=
15
,
message
=
"手机号码 不能超过15 个字符"
)
@ExcelAttribute
(
name
=
"手机号码"
,
maxLength
=
15
)
@Schema
(
description
=
"手机号码"
)
@ExcelProperty
(
"手机号码"
)
private
String
empPhone
;
/**
* 档案地-省
*/
@Length
(
max
=
30
,
message
=
"档案地-省 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"档案地-省"
,
maxLength
=
30
)
@Schema
(
description
=
"档案地-省"
)
@ExcelProperty
(
"档案地-省"
)
private
String
empProvince
;
/**
* 档案地-市
*/
@Length
(
max
=
30
,
message
=
"档案地-市 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"档案地-市"
,
maxLength
=
30
)
@Schema
(
description
=
"档案地-市"
)
@ExcelProperty
(
"档案地-市"
)
private
String
empCity
;
/**
* 档案地-县
*/
@Length
(
max
=
30
,
message
=
"档案地-县 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"档案地-县"
,
maxLength
=
30
)
@Schema
(
description
=
"档案地-县"
)
@ExcelProperty
(
"档案地-县"
)
private
String
empTown
;
/**
* 社保缴纳地
*/
@Length
(
max
=
50
,
message
=
"社保缴纳地 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"社保缴纳地"
,
maxLength
=
50
)
@Schema
(
description
=
"社保缴纳地"
)
@ExcelProperty
(
"社保缴纳地"
)
private
String
socialAddress
;
/**
* 合同申请编号
*/
@Length
(
max
=
32
,
message
=
"合同申请编号 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"合同申请编号"
,
maxLength
=
32
)
@Schema
(
description
=
"合同申请编号"
)
@ExcelProperty
(
"合同申请编号"
)
private
String
contractApplyNo
;
/**
* 合同起始时间
*/
@Length
(
max
=
20
,
message
=
"合同起始时间 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"合同起始时间"
,
maxLength
=
20
)
@Schema
(
description
=
"合同起始时间"
)
@ExcelProperty
(
"合同起始时间"
)
private
String
contractStart
;
/**
* 合同截止时间
*/
@Length
(
max
=
20
,
message
=
"合同截止时间 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"合同截止时间"
,
maxLength
=
20
)
@Schema
(
description
=
"合同截止时间"
)
@ExcelProperty
(
"合同截止时间"
)
private
String
contractEnd
;
/**
* 合同类型
*/
@Length
(
max
=
10
,
message
=
"合同类型 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"合同类型"
,
maxLength
=
10
)
@Schema
(
description
=
"合同类型"
)
@ExcelProperty
(
"合同类型"
)
private
String
contractType
;
/**
* 业务细分
*/
@Length
(
max
=
20
,
message
=
"业务细分 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"业务细分"
,
maxLength
=
20
)
@Schema
(
description
=
"业务细分"
)
@ExcelProperty
(
"业务细分"
)
private
String
businessDetail
;
/**
* 签订类型
*/
@Length
(
max
=
20
,
message
=
"签订类型 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"签订类型"
,
maxLength
=
20
)
@Schema
(
description
=
"签订类型"
)
@ExcelProperty
(
"签订类型"
)
private
String
signType
;
/**
* 签订期限
*/
@Length
(
max
=
10
,
message
=
"签订期限 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"签订期限"
,
maxLength
=
10
)
@Schema
(
description
=
"签订期限"
)
@ExcelProperty
(
"签订期限"
)
private
String
signTerm
;
/**
* 合同甲方
*/
@Length
(
max
=
50
,
message
=
"合同甲方 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"合同甲方"
,
maxLength
=
50
)
@Schema
(
description
=
"合同甲方"
)
@ExcelProperty
(
"合同甲方"
)
private
String
contractPartyA
;
/**
* 合同岗位
*/
@Length
(
max
=
20
,
message
=
"合同岗位 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"合同岗位"
,
maxLength
=
20
)
@Schema
(
description
=
"合同岗位"
)
@ExcelProperty
(
"合同岗位"
)
private
String
contractPost
;
/**
* 工时制
*/
@Length
(
max
=
10
,
message
=
"工时制 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"工时制"
,
maxLength
=
10
)
@Schema
(
description
=
"工时制"
)
@ExcelProperty
(
"工时制"
)
private
String
contractTaskTime
;
/**
* 合同编码
*/
@Length
(
max
=
30
,
message
=
"合同编码 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"合同编码"
,
maxLength
=
30
)
@Schema
(
description
=
"合同编码"
)
@ExcelProperty
(
"合同编码"
)
private
String
contractCode
;
/**
* 合同创建人
*/
@Length
(
max
=
10
,
message
=
"合同创建人 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"合同创建人"
,
maxLength
=
10
)
@Schema
(
description
=
"合同创建人"
)
@ExcelProperty
(
"合同创建人"
)
private
String
contractCreater
;
/**
* 合同创建时间
*/
@Length
(
max
=
10
,
message
=
"合同创建时间 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"合同创建时间"
,
maxLength
=
10
)
@Schema
(
description
=
"合同创建时间"
)
@ExcelProperty
(
"合同创建时间"
)
private
String
contractCreateTime
;
/**
* 数据生产月
*/
@Length
(
max
=
10
,
message
=
"数据生产月 不能超过10 个字符"
)
@ExcelAttribute
(
name
=
"数据生产月"
,
maxLength
=
10
)
@Schema
(
description
=
"数据生产月"
)
@ExcelProperty
(
"数据生产月"
)
private
String
dataCreateMonth
;
/**
* dataCreateMomth
*/
@Length
(
max
=
255
,
message
=
"dataCreateMomth 不能超过255 个字符"
)
@ExcelAttribute
(
name
=
"dataCreateMomth"
,
maxLength
=
255
)
@Schema
(
description
=
"dataCreateMomth"
)
@ExcelProperty
(
"dataCreateMomth"
)
private
String
dataCreateMomth
;
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TPersonnelRosterController.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TPersonnelRosterService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
*
*
* @author fxj
* @date 2023-06-13 15:42:17
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tpersonnelroster"
)
@Tag
(
name
=
"员工花名册"
)
public
class
TPersonnelRosterController
{
private
final
TPersonnelRosterService
tPersonnelRosterService
;
/**
* 简单分页查询
* @param page 分页对象
* @param tPersonnelRoster
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TPersonnelRoster
>>
getTPersonnelRosterPage
(
Page
<
TPersonnelRoster
>
page
,
TPersonnelRosterSearchVo
tPersonnelRoster
)
{
return
new
R
<>(
tPersonnelRosterService
.
getTPersonnelRosterPage
(
page
,
tPersonnelRoster
));
}
/**
* 不分页查询
* @param tPersonnelRoster
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TPersonnelRoster
>>
getTPersonnelRosterNoPage
(
@RequestBody
TPersonnelRosterSearchVo
tPersonnelRoster
)
{
return
R
.
ok
(
tPersonnelRosterService
.
noPageDiy
(
tPersonnelRoster
));
}
/**
* 通过id查询
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('demo_tpersonnelroster_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tpersonnelroster_get')"
)
public
R
<
TPersonnelRoster
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tPersonnelRosterService
.
getById
(
id
));
}
/**
* 新增
* @param tPersonnelRoster
* @return R
*/
@Operation
(
summary
=
"新增"
,
description
=
"新增:hasPermission('demo_tpersonnelroster_add')"
)
@SysLog
(
"新增"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('demo_tpersonnelroster_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TPersonnelRoster
tPersonnelRoster
)
{
return
R
.
ok
(
tPersonnelRosterService
.
save
(
tPersonnelRoster
));
}
/**
* 修改
* @param tPersonnelRoster
* @return R
*/
@Operation
(
summary
=
"修改"
,
description
=
"修改:hasPermission('demo_tpersonnelroster_edit')"
)
@SysLog
(
"修改"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('demo_tpersonnelroster_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TPersonnelRoster
tPersonnelRoster
)
{
return
R
.
ok
(
tPersonnelRosterService
.
updateById
(
tPersonnelRoster
));
}
/**
* 通过id删除
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除"
,
description
=
"通过id删除:hasPermission('demo_tpersonnelroster_del')"
)
@SysLog
(
"通过id删除"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tpersonnelroster_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tPersonnelRosterService
.
removeById
(
id
));
}
/**
* 批量导出
* @author fxj
* @date 2023-06-13 15:42:17
**/
@Operation
(
description
=
"导出 hasPermission('demo_tpersonnelroster-export')"
)
@PostMapping
(
"/export"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tpersonnelroster-export')"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
TPersonnelRosterSearchVo
searchVo
)
{
tPersonnelRosterService
.
listExport
(
response
,
searchVo
);
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TPersonnelRosterMapper.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
/**
*
*
* @author fxj
* @date 2023-06-13 15:42:17
*/
@Mapper
public
interface
TPersonnelRosterMapper
extends
BaseMapper
<
TPersonnelRoster
>
{
/**
* 简单分页查询
* @param tPersonnelRoster
* @return
*/
IPage
<
TPersonnelRoster
>
getTPersonnelRosterPage
(
Page
<
TPersonnelRoster
>
page
,
@Param
(
"tPersonnelRoster"
)
TPersonnelRoster
tPersonnelRoster
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TPersonnelRosterService.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
service
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
*
*
* @author fxj
* @date 2023-06-13 15:42:17
*/
public
interface
TPersonnelRosterService
extends
IService
<
TPersonnelRoster
>
{
/**
* 简单分页查询
* @param tPersonnelRoster
* @return
*/
IPage
<
TPersonnelRoster
>
getTPersonnelRosterPage
(
Page
<
TPersonnelRoster
>
page
,
TPersonnelRosterSearchVo
tPersonnelRoster
);
void
listExport
(
HttpServletResponse
response
,
TPersonnelRosterSearchVo
searchVo
);
List
<
TPersonnelRoster
>
noPageDiy
(
TPersonnelRosterSearchVo
searchVo
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TPersonnelRosterServiceImpl.java
0 → 100644
View file @
dcd57199
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.read.listener.ReadListener
;
import
com.alibaba.excel.read.metadata.holder.ReadRowHolder
;
import
com.alibaba.excel.util.ListUtils
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TPersonnelRosterMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TPersonnelRosterService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterVo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
*
*
* @author fxj
* @date 2023-06-13 15:42:17
*/
@Log4j2
@Service
public
class
TPersonnelRosterServiceImpl
extends
ServiceImpl
<
TPersonnelRosterMapper
,
TPersonnelRoster
>
implements
TPersonnelRosterService
{
/**
* 简单分页查询
* @param tPersonnelRoster
* @return
*/
@Override
public
IPage
<
TPersonnelRoster
>
getTPersonnelRosterPage
(
Page
<
TPersonnelRoster
>
page
,
TPersonnelRosterSearchVo
tPersonnelRoster
){
return
baseMapper
.
getTPersonnelRosterPage
(
page
,
tPersonnelRoster
);
}
/**
* 批量导出
* @param searchVo
* @return
*/
@Override
public
void
listExport
(
HttpServletResponse
response
,
TPersonnelRosterSearchVo
searchVo
){
String
fileName
=
"批量导出"
+
DateUtil
.
getThisTime
()
+
".xlsx"
;
//获取要导出的列表
List
<
TPersonnelRoster
>
list
=
new
ArrayList
<>();
long
count
=
noPageCountDiy
(
searchVo
);
ServletOutputStream
out
=
null
;
try
{
out
=
response
.
getOutputStream
();
response
.
setContentType
(
CommonConstants
.
MULTIPART_FORM_DATA
);
response
.
setCharacterEncoding
(
"utf-8"
);
response
.
setHeader
(
CommonConstants
.
CONTENT_DISPOSITION
,
CommonConstants
.
ATTACHMENT_FILENAME
+
URLEncoder
.
encode
(
fileName
,
CommonConstants
.
UTF8
));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter
excelWriter
=
EasyExcel
.
write
(
out
,
TPersonnelRoster
.
class
).
build
();
int
index
=
0
;
if
(
count
>
CommonConstants
.
ZERO_INT
){
for
(
int
i
=
0
;
i
<=
count
;
)
{
// 获取实际记录
searchVo
.
setLimitStart
(
i
);
searchVo
.
setLimitEnd
(
CommonConstants
.
EXCEL_EXPORT_LIMIT
);
list
=
noPageDiy
(
searchVo
);
if
(
Common
.
isNotNull
(
list
)){
ExcelUtil
<
TPersonnelRoster
>
util
=
new
ExcelUtil
<>(
TPersonnelRoster
.
class
);
for
(
TPersonnelRoster
vo:
list
){
util
.
convertEntity
(
vo
,
null
,
null
,
null
);
}
}
if
(
Common
.
isNotNull
(
list
)){
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
""
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
index
++;
}
i
=
i
+
CommonConstants
.
EXCEL_EXPORT_LIMIT
;
if
(
Common
.
isNotNull
(
list
)){
list
.
clear
();
}
}
}
else
{
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
""
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
}
if
(
Common
.
isNotNull
(
list
)){
list
.
clear
();
}
out
.
flush
();
excelWriter
.
finish
();
}
catch
(
Exception
e
){
log
.
error
(
"执行异常"
,
e
);
}
finally
{
try
{
if
(
null
!=
out
)
{
out
.
close
();
}
}
catch
(
IOException
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
}
}
@Override
public
List
<
TPersonnelRoster
>
noPageDiy
(
TPersonnelRosterSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TPersonnelRoster
>
wrapper
=
buildQueryWrapper
(
searchVo
);
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
)){
wrapper
.
in
(
TPersonnelRoster:
:
getId
,
idList
);
}
if
(
searchVo
.
getLimitStart
()
>=
0
&&
searchVo
.
getLimitEnd
()
>
0
){
wrapper
.
last
(
" limit "
+
searchVo
.
getLimitStart
()
+
","
+
searchVo
.
getLimitEnd
());
}
wrapper
.
orderByDesc
(
BaseEntity:
:
getCreateTime
);
return
baseMapper
.
selectList
(
wrapper
);
}
private
Long
noPageCountDiy
(
TPersonnelRosterSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TPersonnelRoster
>
wrapper
=
buildQueryWrapper
(
searchVo
);
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
)){
wrapper
.
in
(
TPersonnelRoster:
:
getId
,
idList
);
}
return
baseMapper
.
selectCount
(
wrapper
);
}
private
LambdaQueryWrapper
buildQueryWrapper
(
TPersonnelRosterSearchVo
entity
){
LambdaQueryWrapper
<
TPersonnelRoster
>
wrapper
=
Wrappers
.
lambdaQuery
();
if
(
ArrayUtil
.
isNotEmpty
(
entity
.
getCreateTimes
()))
{
wrapper
.
ge
(
TPersonnelRoster:
:
getCreateTime
,
entity
.
getCreateTimes
()[
0
])
.
le
(
TPersonnelRoster:
:
getCreateTime
,
entity
.
getCreateTimes
()[
1
]);
}
if
(
Common
.
isNotNull
(
entity
.
getCreateName
())){
wrapper
.
eq
(
TPersonnelRoster:
:
getCreateName
,
entity
.
getCreateName
());
}
return
wrapper
;
}
}
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TPersonnelRosterMapper.xml
0 → 100644
View file @
dcd57199
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yifu.cloud.plus.v1.yifu.archives.mapper.TPersonnelRosterMapper"
>
<resultMap
id=
"tPersonnelRosterMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"customerName"
column=
"CUSTOMER_NAME"
/>
<result
property=
"departName"
column=
"DEPART_NAME"
/>
<result
property=
"departNo"
column=
"DEPART_NO"
/>
<result
property=
"businessPrimary"
column=
"BUSINESS_PRIMARY"
/>
<result
property=
"businessSeconed"
column=
"BUSINESS_SECONED"
/>
<result
property=
"businessThird"
column=
"BUSINESS_THIRD"
/>
<result
property=
"label"
column=
"LABEL"
/>
<result
property=
"businessType"
column=
"BUSINESS_TYPE"
/>
<result
property=
"buBelong"
column=
"BU_BELONG"
/>
<result
property=
"empType"
column=
"EMP_TYPE"
/>
<result
property=
"empName"
column=
"EMP_NAME"
/>
<result
property=
"empSex"
column=
"EMP_SEX"
/>
<result
property=
"empBirthDate"
column=
"EMP_BIRTH_DATE"
/>
<result
property=
"empAge"
column=
"EMP_AGE"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
/>
<result
property=
"bankNo"
column=
"BANK_NO"
/>
<result
property=
"bankName"
column=
"BANK_NAME"
/>
<result
property=
"bankProvince"
column=
"BANK_PROVINCE"
/>
<result
property=
"bankCity"
column=
"BANK_CITY"
/>
<result
property=
"bankNameSub"
column=
"BANK_NAME_SUB"
/>
<result
property=
"empPhone"
column=
"EMP_PHONE"
/>
<result
property=
"empProvince"
column=
"EMP_PROVINCE"
/>
<result
property=
"empCity"
column=
"EMP_CITY"
/>
<result
property=
"empTown"
column=
"EMP_TOWN"
/>
<result
property=
"socialAddress"
column=
"SOCIAL_ADDRESS"
/>
<result
property=
"contractApplyNo"
column=
"CONTRACT_APPLY_NO"
/>
<result
property=
"contractStart"
column=
"CONTRACT_START"
/>
<result
property=
"contractEnd"
column=
"CONTRACT_END"
/>
<result
property=
"contractType"
column=
"CONTRACT_TYPE"
/>
<result
property=
"businessDetail"
column=
"BUSINESS_DETAIL"
/>
<result
property=
"signType"
column=
"SIGN_TYPE"
/>
<result
property=
"signTerm"
column=
"SIGN_TERM"
/>
<result
property=
"contractPartyA"
column=
"CONTRACT_PARTY_A"
/>
<result
property=
"contractPost"
column=
"CONTRACT_POST"
/>
<result
property=
"contractTaskTime"
column=
"CONTRACT_TASK_TIME"
/>
<result
property=
"contractCode"
column=
"CONTRACT_CODE"
/>
<result
property=
"contractCreater"
column=
"CONTRACT_CREATER"
/>
<result
property=
"contractCreateTime"
column=
"CONTRACT_CREATE_TIME"
/>
<result
property=
"dataCreateMonth"
column=
"DATA_CREATE_MONTH"
/>
<result
property=
"dataCreateMomth"
column=
"DATA_CREATE_MOMTH"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
a.CUSTOMER_NAME,
a.DEPART_NAME,
a.DEPART_NO,
a.BUSINESS_PRIMARY,
a.BUSINESS_SECONED,
a.BUSINESS_THIRD,
a.LABEL,
a.BUSINESS_TYPE,
a.BU_BELONG,
a.EMP_TYPE,
a.EMP_NAME,
a.EMP_SEX,
a.EMP_BIRTH_DATE,
a.EMP_AGE,
a.EMP_IDCARD,
a.BANK_NO,
a.BANK_NAME,
a.BANK_PROVINCE,
a.BANK_CITY,
a.BANK_NAME_SUB,
a.EMP_PHONE,
a.EMP_PROVINCE,
a.EMP_CITY,
a.EMP_TOWN,
a.SOCIAL_ADDRESS,
a.CONTRACT_APPLY_NO,
a.CONTRACT_START,
a.CONTRACT_END,
a.CONTRACT_TYPE,
a.BUSINESS_DETAIL,
a.SIGN_TYPE,
a.SIGN_TERM,
a.CONTRACT_PARTY_A,
a.CONTRACT_POST,
a.CONTRACT_TASK_TIME,
a.CONTRACT_CODE,
a.CONTRACT_CREATER,
a.CONTRACT_CREATE_TIME,
a.DATA_CREATE_MONTH,
a.DATA_CREATE_MOMTH
</sql>
<sql
id=
"tPersonnelRoster_where"
>
<if
test=
"tPersonnelRoster != null"
>
<if
test=
"tPersonnelRoster.id != null and tPersonnelRoster.id.trim() != ''"
>
AND a.ID = #{tPersonnelRoster.id}
</if>
<if
test=
"tPersonnelRoster.customerName != null and tPersonnelRoster.customerName.trim() != ''"
>
AND a.CUSTOMER_NAME = #{tPersonnelRoster.customerName}
</if>
<if
test=
"tPersonnelRoster.departName != null and tPersonnelRoster.departName.trim() != ''"
>
AND a.DEPART_NAME = #{tPersonnelRoster.departName}
</if>
<if
test=
"tPersonnelRoster.departNo != null and tPersonnelRoster.departNo.trim() != ''"
>
AND a.DEPART_NO = #{tPersonnelRoster.departNo}
</if>
<if
test=
"tPersonnelRoster.businessPrimary != null and tPersonnelRoster.businessPrimary.trim() != ''"
>
AND a.BUSINESS_PRIMARY = #{tPersonnelRoster.businessPrimary}
</if>
<if
test=
"tPersonnelRoster.businessSeconed != null and tPersonnelRoster.businessSeconed.trim() != ''"
>
AND a.BUSINESS_SECONED = #{tPersonnelRoster.businessSeconed}
</if>
<if
test=
"tPersonnelRoster.businessThird != null and tPersonnelRoster.businessThird.trim() != ''"
>
AND a.BUSINESS_THIRD = #{tPersonnelRoster.businessThird}
</if>
<if
test=
"tPersonnelRoster.label != null and tPersonnelRoster.label.trim() != ''"
>
AND a.LABEL = #{tPersonnelRoster.label}
</if>
<if
test=
"tPersonnelRoster.businessType != null and tPersonnelRoster.businessType.trim() != ''"
>
AND a.BUSINESS_TYPE = #{tPersonnelRoster.businessType}
</if>
<if
test=
"tPersonnelRoster.buBelong != null and tPersonnelRoster.buBelong.trim() != ''"
>
AND a.BU_BELONG = #{tPersonnelRoster.buBelong}
</if>
<if
test=
"tPersonnelRoster.empType != null and tPersonnelRoster.empType.trim() != ''"
>
AND a.EMP_TYPE = #{tPersonnelRoster.empType}
</if>
<if
test=
"tPersonnelRoster.empName != null and tPersonnelRoster.empName.trim() != ''"
>
AND a.EMP_NAME = #{tPersonnelRoster.empName}
</if>
<if
test=
"tPersonnelRoster.empSex != null and tPersonnelRoster.empSex.trim() != ''"
>
AND a.EMP_SEX = #{tPersonnelRoster.empSex}
</if>
<if
test=
"tPersonnelRoster.empBirthDate != null"
>
AND a.EMP_BIRTH_DATE = #{tPersonnelRoster.empBirthDate}
</if>
<if
test=
"tPersonnelRoster.empAge != null and tPersonnelRoster.empAge.trim() != ''"
>
AND a.EMP_AGE = #{tPersonnelRoster.empAge}
</if>
<if
test=
"tPersonnelRoster.empIdcard != null and tPersonnelRoster.empIdcard.trim() != ''"
>
AND a.EMP_IDCARD = #{tPersonnelRoster.empIdcard}
</if>
<if
test=
"tPersonnelRoster.bankNo != null and tPersonnelRoster.bankNo.trim() != ''"
>
AND a.BANK_NO = #{tPersonnelRoster.bankNo}
</if>
<if
test=
"tPersonnelRoster.bankName != null and tPersonnelRoster.bankName.trim() != ''"
>
AND a.BANK_NAME = #{tPersonnelRoster.bankName}
</if>
<if
test=
"tPersonnelRoster.bankProvince != null and tPersonnelRoster.bankProvince.trim() != ''"
>
AND a.BANK_PROVINCE = #{tPersonnelRoster.bankProvince}
</if>
<if
test=
"tPersonnelRoster.bankCity != null and tPersonnelRoster.bankCity.trim() != ''"
>
AND a.BANK_CITY = #{tPersonnelRoster.bankCity}
</if>
<if
test=
"tPersonnelRoster.bankNameSub != null and tPersonnelRoster.bankNameSub.trim() != ''"
>
AND a.BANK_NAME_SUB = #{tPersonnelRoster.bankNameSub}
</if>
<if
test=
"tPersonnelRoster.empPhone != null and tPersonnelRoster.empPhone.trim() != ''"
>
AND a.EMP_PHONE = #{tPersonnelRoster.empPhone}
</if>
<if
test=
"tPersonnelRoster.empProvince != null and tPersonnelRoster.empProvince.trim() != ''"
>
AND a.EMP_PROVINCE = #{tPersonnelRoster.empProvince}
</if>
<if
test=
"tPersonnelRoster.empCity != null and tPersonnelRoster.empCity.trim() != ''"
>
AND a.EMP_CITY = #{tPersonnelRoster.empCity}
</if>
<if
test=
"tPersonnelRoster.empTown != null and tPersonnelRoster.empTown.trim() != ''"
>
AND a.EMP_TOWN = #{tPersonnelRoster.empTown}
</if>
<if
test=
"tPersonnelRoster.socialAddress != null and tPersonnelRoster.socialAddress.trim() != ''"
>
AND a.SOCIAL_ADDRESS = #{tPersonnelRoster.socialAddress}
</if>
<if
test=
"tPersonnelRoster.contractApplyNo != null and tPersonnelRoster.contractApplyNo.trim() != ''"
>
AND a.CONTRACT_APPLY_NO = #{tPersonnelRoster.contractApplyNo}
</if>
<if
test=
"tPersonnelRoster.contractStart != null and tPersonnelRoster.contractStart.trim() != ''"
>
AND a.CONTRACT_START = #{tPersonnelRoster.contractStart}
</if>
<if
test=
"tPersonnelRoster.contractEnd != null and tPersonnelRoster.contractEnd.trim() != ''"
>
AND a.CONTRACT_END = #{tPersonnelRoster.contractEnd}
</if>
<if
test=
"tPersonnelRoster.contractType != null and tPersonnelRoster.contractType.trim() != ''"
>
AND a.CONTRACT_TYPE = #{tPersonnelRoster.contractType}
</if>
<if
test=
"tPersonnelRoster.businessDetail != null and tPersonnelRoster.businessDetail.trim() != ''"
>
AND a.BUSINESS_DETAIL = #{tPersonnelRoster.businessDetail}
</if>
<if
test=
"tPersonnelRoster.signType != null and tPersonnelRoster.signType.trim() != ''"
>
AND a.SIGN_TYPE = #{tPersonnelRoster.signType}
</if>
<if
test=
"tPersonnelRoster.signTerm != null and tPersonnelRoster.signTerm.trim() != ''"
>
AND a.SIGN_TERM = #{tPersonnelRoster.signTerm}
</if>
<if
test=
"tPersonnelRoster.contractPartyA != null and tPersonnelRoster.contractPartyA.trim() != ''"
>
AND a.CONTRACT_PARTY_A = #{tPersonnelRoster.contractPartyA}
</if>
<if
test=
"tPersonnelRoster.contractPost != null and tPersonnelRoster.contractPost.trim() != ''"
>
AND a.CONTRACT_POST = #{tPersonnelRoster.contractPost}
</if>
<if
test=
"tPersonnelRoster.contractTaskTime != null and tPersonnelRoster.contractTaskTime.trim() != ''"
>
AND a.CONTRACT_TASK_TIME = #{tPersonnelRoster.contractTaskTime}
</if>
<if
test=
"tPersonnelRoster.contractCode != null and tPersonnelRoster.contractCode.trim() != ''"
>
AND a.CONTRACT_CODE = #{tPersonnelRoster.contractCode}
</if>
<if
test=
"tPersonnelRoster.contractCreater != null and tPersonnelRoster.contractCreater.trim() != ''"
>
AND a.CONTRACT_CREATER = #{tPersonnelRoster.contractCreater}
</if>
<if
test=
"tPersonnelRoster.contractCreateTime != null and tPersonnelRoster.contractCreateTime.trim() != ''"
>
AND a.CONTRACT_CREATE_TIME = #{tPersonnelRoster.contractCreateTime}
</if>
<if
test=
"tPersonnelRoster.dataCreateMonth != null and tPersonnelRoster.dataCreateMonth.trim() != ''"
>
AND a.DATA_CREATE_MONTH = #{tPersonnelRoster.dataCreateMonth}
</if>
<if
test=
"tPersonnelRoster.dataCreateMomth != null and tPersonnelRoster.dataCreateMomth.trim() != ''"
>
AND a.DATA_CREATE_MOMTH = #{tPersonnelRoster.dataCreateMomth}
</if>
</if>
</sql>
<!--tPersonnelRoster简单分页查询-->
<select
id=
"getTPersonnelRosterPage"
resultMap=
"tPersonnelRosterMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_personnel_roster a
<where>
1=1
<include
refid=
"tPersonnelRoster_where"
/>
</where>
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment