Commit 68874d21 authored by fangxinjiang's avatar fangxinjiang

Merge branch 'develop'

# Conflicts:
#	k8s-bash/yifu-auth-deployment.yaml
#	yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TEmployeeProjectMapper.java
#	yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TSettleDomainServiceImpl.java
#	yifu-archives/yifu-archives-biz/src/main/resources/mapper/TEmployeeProjectMapper.xml
#	yifu-common/yifu-common-dapr/src/main/resources/daprConfig.properties
#	yifu-insurances/yifu-insurances-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/insurances/service/insurance/impl/TInsuranceDetailServiceImpl.java
#	yifu-mail/yifu-mail-api/pom.xml
#	yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TDispatchInfoController.java
#	yifu-upms/yifu-upms-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/admin/controller/UserController.java
parents 9c69000b 96b315e2
......@@ -33,7 +33,8 @@ spec: # 资源规范字段
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
#dapr.io/http-max-request-size: "8MB" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
......
apiVersion: apps/v1 # 指定api版本,此值必须在kubectl api-versions中
kind: Deployment # 指定创建资源的角色/类型
metadata: # 资源的元数据/属性
name: yifu-business # 资源的名字,在同一个namespace中必须唯一
namespace: qas-mvp # 部署在哪个namespace中
spec: # 资源规范字段
selector: # 选择器
matchLabels: # 匹配标签
app: yifu-business
replicas: 1 # 声明副本数目
#revisionHistoryLimit: 3 # 保留历史版本
#strategy: # 策略
# rollingUpdate: # 滚动更新
# maxSurge: 30% # 最大额外可以存在的副本数,可以为百分比,也可以为整数
# maxUnavailable: 30% # 示在更新过程中能够进入不可用状态的 Pod 的最大值,可以为百分比,也可以为整数
# type: RollingUpdate # 滚动更新策略
template: # 模版
metadata: # 模版
labels: # 设定资源的标签
app: yifu-business
annotations:
dapr.io/enabled: "true" #设定此参数为 true 注入Dapr sidecar到pod
dapr.io/app-id: "yifu-business" #应用程序唯一 ID。 用于服务发现、状态封装 和 发布/订阅 消费者ID
dapr.io/app-port: "5034" #这个参数告诉Dapr你的应用程序正在监听哪个端口。
#dapr.io/log-level: "debug" #为 Dapr sidecar设置日志级别。 允许的值是debug,info,warn,error。 默认是 info
#dapr.io/log-as-json: "false" #将此参数设置为true以JSON格式输出日志。 默认值为 false.
#dapr.io/config: file #告诉 Dapr 要使用哪个配置 CRD
dapr.io/app-protocol: "http" #告诉 Dapr 你的应用程序正在使用哪种协议。 有效选项是 http and grpc。 Default is http
#dapr.io/app-max-concurrency: "20" #限制应用程序的并发量。 有效的数值是大于 0
#dapr.io/app-ssl: "false" #告诉Dapr通过不安全的SSL连接调用应用程序。 同时适用于HTTP和gRPC。 Traffic between your app and the Dapr sidecar is encrypted with a certificate issued by a non-trusted certificate authority, which is considered insecure. 默认值为 false.
dapr.io/metrics-port: "9090" #设置 sidecar 度量服务器的端口。 默认值为 9090
#dapr.io/sidecar-cpu-limit: 2 #Dapr sidecar可以使用的最大CPU数量。 默认情况下未设置
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
spec: # 资源规范字段
nodeSelector: # node 选择器
node-type: worker # node标签
containers: # 容器
- name: yifu-business # 容器的名字
#image: hub.worfu.com/qas-mvp/yifu-business-biz:1.0.0 # 容器镜像地址
image: hub.worfu.com/qas-mvp/yifu-business-biz:1.0.0 #临时地址
imagePullPolicy: Always # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
# Always,每次都检查;Never,每次都不检查(不管本地是否有);IfNotPresent,如果本地有就不检查,如果没有就拉取(手动测试时,
# 已经打好镜像存在docker容器中时,使用存在不检查级别,
# 默认为每次都检查,然后会进行拉取新镜像,因镜像仓库不存在,导致部署失败)
ports:
- containerPort: 5034 # 容器端口
env: # 启动环境配置信息 active and timeZone set
- name: SPRING_PROFILES_ACTIVE
value: test
- name: TZ
value: Asia/Shanghai
resources: #资源配置限制
limits: # 最大使用
memory: "2048Mi"
#cpu: 300m # CPU,1核心 = 1000m
requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行
#cpu: 100m
memory: "500Mi"
#livenessProbe: # pod 内部健康检查的设置
# httpGet: # 通过httpget检查健康,返回200-399之间,则认为容器正常
# path: /healthCheck # URI地址
# port: 8080 # 端口
# scheme: HTTP # 协议
# # host: 127.0.0.1 # 主机地址
# initialDelaySeconds: 30 # 表明第一次检测在容器启动后多长时间后开始
# timeoutSeconds: 5 # 检测的超时时间
# periodSeconds: 30 # 检查间隔时间
# successThreshold: 1 # 成功门槛
# failureThreshold: 5 # 失败门槛,连接失败5次,pod杀掉,重启一个新的pod
# readinessProbe: # Pod 准备服务健康检查设置
# httpGet:
# path: /healthCheck
# port: 8080
# scheme: HTTP
# initialDelaySeconds: 30
# timeoutSeconds: 5
# periodSeconds: 10
# successThreshold: 1
# failureThreshold: 5
#也可以用这种方法
#exec: 执行命令的方法进行监测,如果其退出码不为0,则认为容器正常
# command:
# - cat
# - /tmp/health
#也可以用这种方法
#tcpSocket: # 通过tcpSocket检查健康
# port: number
#ports:
# - name: http # 名称
# containerPort: 8080 # 容器开发对外的端口
# protocol: TCP # 协议
imagePullSecrets: # 镜像仓库拉取密钥
- name: login
#affinity: # 亲和性调试
# nodeAffinity: # 节点亲和力
# requiredDuringSchedulingIgnoredDuringExecution: # pod 必须部署到满足条件的节点上
# nodeSelectorTerms: # 节点满足任何一个条件就可以
# - matchExpressions: # 有多个选项,则只有同时满足这些逻辑选项的节点才能运行 pod
# - key: beta.kubernetes.io/arch
# operator: In
# values:
# - amd64
\ No newline at end of file
apiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中
kind: Service # 指定创建资源的角色/类型
metadata: # 资源的元数据/属性
labels: # 设定资源的标签
app: yifu-business # 资源的名字,在同一个namespace中必须唯一
name: yifu-business # 资源的名字,在同一个namespace中必须唯一
namespace: qas-mvp # 部署在哪个namespace中
spec: # 资源规范字段
ports:
- port: 5034 # service 端口
protocol: TCP # 协议
targetPort: 5034 # 容器暴露的端口
name: http-business # 端口名称
- port: 3500 # service 端口
protocol: TCP # 协议
targetPort: 3500 # 容器暴露的端口
name: http-business-dapr
selector: # 选择器
app: yifu-business # 资源名称
type: ClusterIP # ClusterIP 类型
\ No newline at end of file
......@@ -33,7 +33,8 @@ spec: # 资源规范字段
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
#dapr.io/http-max-request-size: "8MB" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
......
......@@ -33,7 +33,8 @@ spec: # 资源规范字段
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
#dapr.io/http-max-request-size: "8MB" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
......
......@@ -33,7 +33,8 @@ spec: # 资源规范字段
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
#dapr.io/http-max-request-size: "8MB" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
......
......@@ -33,8 +33,8 @@ spec: # 资源规范字段
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
#dapr.io/http-max-request-size: "8MB" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
#dapr.io/sidecar-listen-addresses: "0.0.0.0"
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
spec: # 资源规范字段
......
apiVersion: apps/v1 # 指定api版本,此值必须在kubectl api-versions中
kind: Deployment # 指定创建资源的角色/类型
metadata: # 资源的元数据/属性
name: yifu-business # 资源的名字,在同一个namespace中必须唯一
namespace: prd-mvp # 部署在哪个namespace中
spec: # 资源规范字段
selector: # 选择器
matchLabels: # 匹配标签
app: yifu-business
replicas: 1 # 声明副本数目
#revisionHistoryLimit: 3 # 保留历史版本
#strategy: # 策略
# rollingUpdate: # 滚动更新
# maxSurge: 30% # 最大额外可以存在的副本数,可以为百分比,也可以为整数
# maxUnavailable: 30% # 示在更新过程中能够进入不可用状态的 Pod 的最大值,可以为百分比,也可以为整数
# type: RollingUpdate # 滚动更新策略
template: # 模版
metadata: # 模版
labels: # 设定资源的标签
app: yifu-business
annotations:
dapr.io/enabled: "true" #设定此参数为 true 注入Dapr sidecar到pod
dapr.io/app-id: "yifu-business" #应用程序唯一 ID。 用于服务发现、状态封装 和 发布/订阅 消费者ID
dapr.io/app-port: "5034" #这个参数告诉Dapr你的应用程序正在监听哪个端口。
#dapr.io/log-level: "debug" #为 Dapr sidecar设置日志级别。 允许的值是debug,info,warn,error。 默认是 info
#dapr.io/log-as-json: "false" #将此参数设置为true以JSON格式输出日志。 默认值为 false.
#dapr.io/config: file #告诉 Dapr 要使用哪个配置 CRD
dapr.io/app-protocol: "http" #告诉 Dapr 你的应用程序正在使用哪种协议。 有效选项是 http and grpc。 Default is http
#dapr.io/app-max-concurrency: "20" #限制应用程序的并发量。 有效的数值是大于 0
#dapr.io/app-ssl: "false" #告诉Dapr通过不安全的SSL连接调用应用程序。 同时适用于HTTP和gRPC。 Traffic between your app and the Dapr sidecar is encrypted with a certificate issued by a non-trusted certificate authority, which is considered insecure. 默认值为 false.
dapr.io/metrics-port: "9090" #设置 sidecar 度量服务器的端口。 默认值为 9090
#dapr.io/sidecar-cpu-limit: 2 #Dapr sidecar可以使用的最大CPU数量。 默认情况下未设置
#dapr.io/sidecar-memory-limit: "800Mi" #Dapr sidecar可以使用的最大内存量。默认情况下未设置 请参阅 https://kubernetes.io/docs/tasks/administer-cluster/manage-resources/quota-memory-cpu-namespace/ 的有效值。
#dapr.io/sidecar-cpu-request: 1 #Dapr sidecar要求的 CPU 数量
#dapr.io/sidecar-memory-request #Dapr sidecar 请求的内存数量
dapr.io/http-max-request-size: "100" #增加http和grpc服务器请求正文参数的最大大小,单位为MB,以处理大文件的上传。 默认值为 4 MB
dapr.io/http-read-buffer-size: "16" #Dapr has a default limit of 4KB for the http header read buffer size. When sending http headers that are bigger than the default 4KB, you can increase this value. Otherwise, you may encounter a Too big request header
dapr.io/sidecar-listen-addresses: "0.0.0.0"
# 更多dapr配置请参考 https://www.bookstack.cn/read/dapr-1.5-zh/cc77b74e2cc2f4d4.md
spec: # 资源规范字段
nodeSelector: # node 选择器
node-type: worker # node标签
containers: # 容器
- name: yifu-business # 容器的名字
#image: hub.worfu.com/prd-mvp/yifu-business-biz:1.0.0 # 容器镜像地址
image: hub.worfu.com/prd-mvp/yifu-business-biz:1.0.0 #临时地址
imagePullPolicy: Always # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
# Always,每次都检查;Never,每次都不检查(不管本地是否有);IfNotPresent,如果本地有就不检查,如果没有就拉取(手动测试时,
# 已经打好镜像存在docker容器中时,使用存在不检查级别,
# 默认为每次都检查,然后会进行拉取新镜像,因镜像仓库不存在,导致部署失败)
ports:
- containerPort: 5034 # 容器端口
env: # 启动环境配置信息 active and timeZone set
- name: SPRING_PROFILES_ACTIVE
value: prd
- name: TZ
value: Asia/Shanghai
resources: #资源配置限制
limits: # 最大使用
memory: "2048Mi"
#cpu: 300m # CPU,1核心 = 1000m
requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行
#cpu: 100m
memory: "500Mi"
#livenessProbe: # pod 内部健康检查的设置
# httpGet: # 通过httpget检查健康,返回200-399之间,则认为容器正常
# path: /healthCheck # URI地址
# port: 8080 # 端口
# scheme: HTTP # 协议
# # host: 127.0.0.1 # 主机地址
# initialDelaySeconds: 30 # 表明第一次检测在容器启动后多长时间后开始
# timeoutSeconds: 5 # 检测的超时时间
# periodSeconds: 30 # 检查间隔时间
# successThreshold: 1 # 成功门槛
# failureThreshold: 5 # 失败门槛,连接失败5次,pod杀掉,重启一个新的pod
# readinessProbe: # Pod 准备服务健康检查设置
# httpGet:
# path: /healthCheck
# port: 8080
# scheme: HTTP
# initialDelaySeconds: 30
# timeoutSeconds: 5
# periodSeconds: 10
# successThreshold: 1
# failureThreshold: 5
#也可以用这种方法
#exec: 执行命令的方法进行监测,如果其退出码不为0,则认为容器正常
# command:
# - cat
# - /tmp/health
#也可以用这种方法
#tcpSocket: # 通过tcpSocket检查健康
# port: number
#ports:
# - name: http # 名称
# containerPort: 8080 # 容器开发对外的端口
# protocol: TCP # 协议
imagePullSecrets: # 镜像仓库拉取密钥
- name: login
#affinity: # 亲和性调试
# nodeAffinity: # 节点亲和力
# requiredDuringSchedulingIgnoredDuringExecution: # pod 必须部署到满足条件的节点上
# nodeSelectorTerms: # 节点满足任何一个条件就可以
# - matchExpressions: # 有多个选项,则只有同时满足这些逻辑选项的节点才能运行 pod
# - key: beta.kubernetes.io/arch
# operator: In
# values:
# - amd64
\ No newline at end of file
apiVersion: v1 # 指定api版本,此值必须在kubectl api-versions中
kind: Service # 指定创建资源的角色/类型
metadata: # 资源的元数据/属性
labels: # 设定资源的标签
app: yifu-business # 资源的名字,在同一个namespace中必须唯一
name: yifu-business # 资源的名字,在同一个namespace中必须唯一
namespace: prd-mvp # 部署在哪个namespace中
spec: # 资源规范字段
ports:
- port: 5034 # service 端口
protocol: TCP # 协议
targetPort: 5034 # 容器暴露的端口
name: http-business # 端口名称
#- port: 3500 # service 端口
# protocol: TCP # 协议
# targetPort: 3500 # 容器暴露的端口
# name: http-business-dapr
selector: # 选择器
app: yifu-business # 资源名称
type: ClusterIP # ClusterIP 类型
\ No newline at end of file
......@@ -103,6 +103,7 @@
<module>yifu-salary</module>
<module>yifu-order</module>
<module>yifu-mail</module>
<module>yifu-business</module>
</modules>
<dependencyManagement>
......
......@@ -8,6 +8,7 @@
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu</artifactId>
<version>1.0.0</version>
<relativePath/>
</parent>
<artifactId>yifu-archives-api</artifactId>
......
package com.yifu.cloud.plus.v1.yifu.archives.entity;
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 io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* b端用户客户关系表
*
* @author pwang
* @date 2020-08-26 12:00:12
*/
@Data
@TableName("m_setttle_customer_user")
@Tag(name = "b端用户客户关系表")
public class MSetttleCustomerUser {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "主键", name = "id")
private String id;
/**
* 客户id
*/
@NotBlank(message = "客户id不能为空")
@Length(max = 32, message = "客户id不能超过32个字符")
@ExcelAttribute(name = "客户id", isNotEmpty = true, errorInfo = "客户id不能为空", maxLength = 32)
@Schema(description = "客户id", name = "customerId")
private String customerId;
/**
* 结算主体id
*/
@NotBlank(message = "结算主体id不能为空")
@Length(max = 32, message = "结算主体id不能超过32个字符")
@ExcelAttribute(name = "结算主体id", isNotEmpty = true, errorInfo = "结算主体id不能为空", maxLength = 32)
@Schema(description = "结算主体id", name = "settleId")
private String settleId;
/**
* 用户id
*/
@NotBlank(message = "用户id不能为空")
@Length(max = 32, message = "用户id不能超过32个字符")
@ExcelAttribute(name = "用户id", isNotEmpty = true, errorInfo = "用户id不能为空", maxLength = 32)
@Schema(description = "用户id", name = "userId")
private String userId;
}
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.ToString;
import java.time.LocalDate;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/**
*
* @TableName t_business_employee_extend_info
*/
@TableName(value ="t_business_employee_extend_info")
@Data
@ToString
public class TBusinessEmployeeExtendInfo extends Model<TBusinessEmployeeExtendInfo> {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**
* 身份证号码
*/
private String empIdcard;
/**
* 姓名
*/
private String empName;
/**
* 部门名称
*/
private String departName;
/**
* 部门id
*/
private Integer departId;
/**
* 部门编码 对应部门实体中的TreeLogo
*/
private String departCode;
/**
* b端岗位
*/
private String businessPost;
/**
* b端员工工号
*/
private String businessTelecomNumber;
/**
* 标签,字典值(英文逗号分割)
*/
private String employeeTags;
/**
* 第一学历和专业
*/
private String firstDegreeAndMajor;
/**
* 第一学历院校
*/
private String firstDegreeGraduateSchool;
/**
* 最高学历和专业
*/
private String highestDegreeAndMajor;
/**
* 最高学历院校
*/
private String highestDegreeGraduateSchool;
/**
* 联系方式
*/
private String contactInfo;
/**
* 档案所在地
*/
private String archivesAddr;
/**
* 0在职 1离职 3 临时
*/
private String businessWorkingStatus;
/**
* B端维护的离职时间
*/
private LocalDate businessLeaveDate;
/**
* B端维护的入职时间
*/
private LocalDate businessEnjoinDate;
/**
* B端维护的离职原因
*/
private String businessLeaveReason;
/**
* 0未删除 1已删除
*/
@TableLogic
private String deleteFlag;
/**
* 证件类型
*/
private String documentType;
/**
* @description: dto转实体
* @param dtoList
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.basic.TBusinessEmployeeExtendInfo>
* @author: wangweiguo
* @date: 2021/8/10
*/
public static List<TBusinessEmployeeExtendInfo> covertDtoListToList(Collection<?> dtoList) {
return dtoList.stream().map(o -> {
TBusinessEmployeeExtendInfo entity = new TBusinessEmployeeExtendInfo();
BeanUtil.copyProperties(o, entity, CopyOptions.create().setIgnoreNullValue(true));
return entity;
}).collect(Collectors.toList());
}
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -26,6 +26,7 @@ import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* 客户信息
......@@ -250,5 +251,6 @@ public class TCustomerInfo extends BaseEntity {
@Schema(description = "账户余额")
private BigDecimal balance;
private List<String> customerIds;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
/**
* @Author hgw
* @Date 2021-8-18 16:32:44
**/
@Getter
@Setter
@ToString
public class BusinessEmployeeExtendByLeave implements Serializable {
/**
* b端员工工号
*/
private String businessTelecomNumber;
/**
* 员工姓名
*/
private String empName;
/**
* 身份证号码
*/
private String empIdcard;
/**
* 部门名称
*/
private String departName;
/**
* 部门id
*/
private Integer departId;
/**
* b端岗位
*/
private String businessPost;
/**
* 0在职 1离职 3 临时
*/
private String businessWorkingStatus;
// B端部门treelogo
private String departCode;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @description: 分页查询VO
* @author: wangweiguo
* @date: 2021/8/10
*/
@Setter
@Getter
@ToString
public class BusinessEmployeeExtendListVO implements Serializable {
/**
* 项目人员表主键
*/
@Schema(description = "项目人员表主键", name = "id")
private String id;
/**
* 人员表主键
*/
@Schema(description = "人员表主键", name = "empId")
private String empId;
/**
* 人员拓展表主键
*/
@Schema(description = "人员拓展表主键", name = "extendId")
private String extendId;
/**
* 姓名
*/
@Schema(description = "姓名", name = "empName")
private String empName;
/**
* 身份证号
*/
@Schema(description = "身份证号")
private String empIdcard;
/**
* 入职日期
*/
@Schema(description = "入职日期", name = "businessEnjoinDate")
private LocalDate businessEnjoinDate;
/**
* 业务项目
*/
@Schema(description = "业务项目", name = "settleDomain")
private String settleDomain;
/**
* 部门名称
*/
@Schema(description ="所属部门")
private String departName;
/**
* 部门id
*/
@Schema(description ="部门id")
private Integer departId;
/**
* b端岗位
*/
@Schema(description ="岗位")
private String businessPost;
/**
* b端员工工号
*/
@Schema(description ="电信工号")
private String businessTelecomNumber;
/**
* 标签,字典值(英文逗号分割)
*/
@Schema(description ="标签,字典值(英文逗号分割)")
private String employeeTags;
/**
* B端在职状态 0在职 1离职 3临时
*/
@Schema(description ="B端在职状态 0在职 1离职 3临时")
private String businessWorkingStatus;
/**
* hro在职状态 0 在职 1 离职
*/
@Schema(description ="职状态 0 在职 1 离职 和businessWorkFlag字段联合判断临时")
private String workFlag;
/**
* hro在职状态 3临时
*/
@Schema(description ="3 临时,其他状态不判断")
private String workingStatusSub;
/**
* B端维护的离职时间
*/
@Schema(description ="B端维护的离职时间")
private LocalDateTime businessLeaveDate;
/**
* 证件类型 逗号分割
*/
@Schema(description ="证件类型 逗号分割")
private String documentType;
/**
* 结算主体名称
*/
@Schema(description ="结算主体名称")
private String settleDomainName;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @Author wangweiguo
* @Description BusinessEmployeeExtendVO
* @Date 21:15 2021/8/17
**/
@Getter
@Setter
@ToString
public class BusinessEmployeeExtendVO implements Serializable {
/**
* 主键
*/
private String id;
/**
* 员工姓名
*/
private String empName;
/**
* 身份证号码
*/
private String empIdcard;
/**
* 部门名称
*/
private String departName;
/**
* 部门id
*/
private Integer departId;
/**
* 部门编码 对应部门实体中的TreeLogo
*/
private String departCode;
/**
* b端岗位
*/
private String businessPost;
/**
* b端员工工号
*/
private String businessTelecomNumber;
/**
* 标签,字典值(英文逗号分割)
*/
private String employeeTags;
/**
* 第一学历和专业
*/
private String firstDegreeAndMajor;
/**
* 第一学历院校
*/
private String firstDegreeGraduateSchool;
/**
* 最高学历和专业
*/
private String highestDegreeAndMajor;
/**
* 最高学历院校
*/
private String highestDegreeGraduateSchool;
/**
* 联系方式
*/
private String contactInfo;
/**
* 档案所在地
*/
private String archivesAddr;
/**
* 0在职 1离职 3 临时
*/
private String businessWorkingStatus;
/**
* B端维护的离职时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime businessLeaveDate;
/**
* B端维护的入职时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime businessEnjoinDate;
/**
* B端维护的离职原因
*/
private String businessLeaveReason;
/**
* 0未删除 1已删除
*/
@TableLogic
private String deleteFlag;
/**
* 证件类型
*/
private String documentType;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* @description: b端人员信息导出excel VO
* @author: wangweiguo
* @date: 2021/8/10
*/
@Getter
@Setter
@ToString
public class BusinessEmployeeExtentExcelVO implements Serializable {
/**
* 姓名
*/
@Schema(description = "姓名", name = "empName")
private String empName;
/**
* 身份证号
*/
@Schema(description = "身份证号")
private String empIdcard;
/**
* b端员工工号
*/
@Schema(description ="电信工号")
private String businessTelecomNumber;
/**
* 部门名称
*/
@Schema(description ="所属部门")
private String departName;
/**
* 部门id
*/
@Schema(description ="部门id")
private Integer departId;
/**
* 业务项目
*/
@Schema(description = "业务项目", name = "settleDomain")
private String settleDomain;
/**
* b端岗位
*/
@Schema(description ="岗位")
private String businessPost;
/**
* 第一学历和专业
*/
@Schema(description ="第一学历和专业")
private String firstDegreeAndMajor;
/**
* 第一学历院校
*/
@Schema(description ="第一学历院校")
private String firstDegreeGraduateSchool;
/**
* 最高学历和专业
*/
@Schema(description ="最高学历和专业")
private String highestDegreeAndMajor;
/**
* 最高学历院校
*/
@Schema(description ="最高学历院校")
private String highestDegreeGraduateSchool;
/**
* 联系方式
*/
@Schema(description ="联系方式")
private String contactInfo;
/**
* 档案所在地
*/
@Schema(description ="档案所在地")
private String archivesAddr;
/**
* 入职日期
*/
@Schema(description = "入职日期", name = "businessEnjoinDate")
private LocalDate businessEnjoinDate;
/**
* 标签,字典值(英文逗号分割)
*/
@Schema(description ="标签,字典值(英文逗号分割)")
private String employeeTags;
/**
* B端在职状态 0在职 1离职 3临时
*/
@Schema(description ="B端在职状态 0在职 1离职 3临时")
private String businessWorkingStatus;
/**
* hro在职状态 0 在职 1 离职
*/
@Schema(description ="职状态 0 在职 1 离职 和businessWorkFlag字段联合判断临时")
private String workFlag;
/**
* hro在职状态 3临时
*/
@Schema(description ="3 临时,其他状态不判断")
private String workingStatusSub;
/**
* B端维护的离职时间
*/
@Schema(description ="B端维护的离职时间")
private LocalDateTime businessLeaveDate;
/**
* 证件类型 逗号分割
*/
@Schema(description ="证件类型 逗号分割")
private String documentType;
/**
* 结算主体名称
*/
@Schema(description ="结算主体名称")
private String settleDomainName;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo;
import lombok.Data;
import java.util.List;
/**
* @author hgw2
* @description B端使用的远程接口
* @date 2023/1/4
*/
@Data
public class BusinessEmployeeListVo {
private List<TBusinessEmployeeExtendInfo> empList;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.util.List;
/**
* @program: master
* @description: b端回显的客户信息包装类
* @author: pwang
* @create: 2020-08-26 19:47
**/
@Data
@Tag(name = "b端回显的客户信息包装类")
public class CustomerForBusinessVo {
//已有的客户信息
@Schema(name = "已有的客户信息")
private List<String> hadCustomer;
//已有的结算主体信息
@Schema(name = "已有的结算主体信息")
private List<String> hadSettle;
//客户分页信息
/* @Schema(name = "客户分页信息")
Page<TCustomerInfo> customerInfoPage;*/
//结算主体
@Schema(name = "客户信息")
private List<TCustomerInfo> customerList;
//结算主体
@Schema(name = "结算主体")
private List<TSettleDomain> settleDomainList;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.io.Serializable;
@Data
public class CustomerOwnerSelectVo implements Serializable {
/**
* 单位名称
*/
private String customerName;
/**
* 单位编码
*/
private String customerCode;
/**
* 单位ID
*/
private String customerId;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
/**
* B端员工合同列表对象
* @Author fxj
* @Date 2020-08-25
**/
@Data
public class EmpContractBusinessPageVo {
/**
* 主键
*/
@Schema(description = "主键", name = "id")
private String id;
/**
* 员工主键
*/
@Schema(description = "员工主键", name = "empId")
private String empId;
/**
* 员工编码
*/
@Schema(description = "员工编码", name = "empNo")
private String empNo;
/**
* 员工姓名
*/
@Schema(description = "姓名", name = "empName")
private String empName;
/**
* 员工身份证号
*/
@Schema(description = "员工身份证号", name = "empIdcard")
private String empIdcard;
/**
* 合同性质
*/
@Schema(description = "合同性质", name = "contractName")
private String contractName;
/**
* 合同类型
*/
@Schema(description = "合同类型", name = "contractType")
private String contractType;
/**
* 合同起始日期
*/
@Schema(description = "合同起始日期", name = "contractStart")
private LocalDate contractStart;
/**
* 合同结束日期
*/
@Schema(description = "合同结束日期", name = "contractEnd")
private LocalDate contractEnd;
/**
* 签订情况
*/
@Schema(description = "签订情况", name = "situation")
private String situation;
/**
* 是否作废 0否/1是
*/
@Schema(description = "是否作废 0否/1是", name = "isObsolete")
private String isObsolete;
/**
* 是否在用 0是/1否
*/
@Schema(description = "是否在用 0是/1否", name = "inUse")
private String inUse;
/**
* 结算主体
*/
@Schema(description = "结算主体", name = "settleDomain")
private String settleDomain;
/**
* 续签次数
*/
@Schema(description = "续签次数", name = "settleDomain")
@TableField(exist = false)
private Integer renewCount;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import lombok.Data;
import java.util.List;
/**
* 获取B端员工详情
* @Author fxj
* @Date 2020-08-25
**/
@Data
public class EmployeeBusinessDetailVo {
/**
* 员工详情
**/
private EmployeeBusinessVo employeeBusinessVo;
/**
* 员工合同信息
**/
private List<TEmployeeContractInfo> contractInfoList;
/**
* 员工劳动合同开始日期
**/
private String contractStartDate;
/**
* 员工劳动合同结束日期
**/
private String contractEndDate;
/**
* 合同签订情况 新签/续签
**/
private String situation;
/**
* 累计续签次数
**/
private Integer situationCount;
/**
* 合同过期天数 默认提醒3个月的到期的合同,如果三个月外才到期的不做提示
**/
private Integer contractOverdue;
/**
* 社保停缴时间 如果有离职日期 限制对应离职的那条档案的社保派减日期
**/
private String socialReduceDate;
/**
* 公积金停缴时间 如果有离职日期 限制对应离职的那条档案的公积金派减日期
**/
private String fundReduceDate;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.MSetttleCustomerUser;
import lombok.Data;
/**
* @Author fxj
* @Description 用户客户关系包装类
* @Date 16:32 2022/12/27
* @Param
* @return
**/
@Data
public class MSetttleCustomerUserVo extends MSetttleCustomerUser {
/**
* 客户名称
**/
private String customerName;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
/**
* 获取社保公积金派减日期
* @Author fxj
* @Date 2020-08-25
**/
@Data
public class SocialAndFundReduceVo {
private String empId;
/**
* 社保停缴时间 如果有离职日期 限制对应离职的那条档案的社保派减日期
**/
private String socialReduceDate;
/**
* 公积金停缴时间 如果有离职日期 限制对应离职的那条档案的公积金派减日期
**/
private String fundReduceDate;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo;
import lombok.Data;
import java.util.List;
@Data
public class TBusinessDataListVo {
private List<TBusinessEmployeeExtendInfo> extendInfo;
private List<BusinessEmployeeExtendVO> extendVO;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.util.List;
/**
* @description: hroB端人员信息列表查询条件
* @author: wangweiguo
* @date: 2021/8/9
*/
@Getter
@Setter
@ToString
public class THroBusinessUserQuery implements Serializable {
/**
* 身份证号码
*/
@Schema(description ="身份证号码")
private String empIdcard;
/**
* 员工姓名
*/
@Schema(description ="姓名")
private String empName;
/**
* 部门名称
*/
@Schema(description ="部门名称")
private String departName;
/**
* 部门id
*/
@Schema(description ="部门id")
private String departId;
/**
* b端岗位
*/
@Schema(description ="岗位")
private String businessPost;
/**
* b端员工工号
*/
@Schema(description ="电信工号")
private String businessTelecomNumber;
/**
* 标签,字典值(英文逗号分割)
*/
@Schema(description ="标签名称")
private String employeeTagName;
/**
* 0 在职 1 个人离职 2 临时
*/
@Schema(description ="0 在职 1 离职 3 临时")
private String businessWorkingStatus;
/**
* 是否持证 0否 1是
*/
@Schema(description ="是否持证 0否 1是")
private String documentStatus;
/**
* 结算主体id
*/
@Schema(description ="结算主体id")
private String settleDomainId;
@JsonIgnore
private String deleteFlag;
@JsonIgnore
List<String> settleDomainIds;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @program: master
* @description: 分页展示包装类
* @author: pwang
* @create: 2019-09-02 11:40
**/
@Tag(name = "结算主体表分页包装类")
@Data
public class TSettleDomainVo extends TSettleDomain implements Serializable {
/**
*客户名称
**/
@Schema(description = "客户编码", name = "customerCode")
//非本表字段
@TableField(exist = false)
private String customerCode;
/**
*客户名称
**/
@Schema(description = "客户名称", name = "customerName")
//非本表字段
@TableField(exist = false)
private String customerName;
/**
*客户id
**/
//非本表字段
@TableField(exist = false)
private String customerId;
/**
* 归属服务公司Id(乙方)
*/
@Schema(description = "归属服务公司Id(合同属性)", name = "businessSubject")
//非本表字段
@TableField(exist = false)
private String businessSubject;
/**
* 归属服务公司名称
*/
@Schema(description = "归属服务公司名称(合同属性)", name = "businessSubject")
//非本表字段
@TableField(exist = false)
private String businessSubjectName;
/**
*合同名称
**/
//非本表字段
@TableField(exist = false)
private String contractName;
//业务类型
@TableField(exist = false)
@Schema(description = "业务类型")
private String businessType;
//业务类型细分
@TableField(exist = false)
@Schema(description = "业务细分")
private String businessSub;
@TableField(exist = false)
@Schema(description = "创建月(需求变更查FIRST_PASS_TIME)")
private String createMonth;
/**************************************结算主体改造新增字段2021-03-17 开始*********************************************/
@Schema(description = "业务类型分类", name = "businessPrimaryType")
private String businessPrimaryType;
@Schema(description = "业务类型二级分类", name = "businessSecondType")
private String businessSecondType;
@Schema(description = "业务类型三级分类", name = "businessThirdType")
private String businessThirdType;
/**
* 0:人事;1:非人事
*/
@Schema(description = "0:人事;1:非人事", name = "type")
private Integer type;
/**************************************结算主体改造新增字段2021-03-17 结束********************************************/
/**************************************结算主体改造可先不关联合同2021-05-17 开始********************************************/
/**
* 创建类型:0 合同之后 1 合同之前
*/
@Schema(description = "创建类型:0:合同之后 1:合同之前", name = "createType")
private String createType;
/**
* 关联合同:0是1否
*/
@Schema(description = "关联合同:0是1否", name = "relateFlag")
private String relateFlag;
/**
* 异常说明
*/
@Schema(description = "异常说明", name = "exceptionRemark")
private String exceptionRemark;
/**************************************结算主体改造可先不关联合同2021-05-17 结算主体改造新增字段2021-03-17 结束****************/
/**
* B端 传参 客户ID
*/
@TableField(exist = false)
private List<String> customerIds;
/**
* B端 传参 结算主体ID
*/
@TableField(exist = false)
private List<String> settleDomainIds;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.time.LocalDate;
/**
* @description: 更新人员信息拓展表dto
* @author: wangweiguo
* @date: 2021/8/10
*/
@Getter
@Setter
@ToString
public class UpdateBusinessEmployeeExtendDTO implements Serializable {
/**
* 拓展表id
*/
@Schema(description = "拓展表id")
private String extendId;
/**
* 身份证号码
*/
@Schema(description = "身份证号码")
@NotBlank(message = "身份证号码不能为空")
private String empIdcard;
/**
* 姓名
*/
@Schema(description = "姓名")
private String empName;
/**
* 部门名称
*/
@Schema(description = "部门名称")
@NotBlank(message = "部门名称不能为空")
@Length(max = 50, message = "部门名称长度不超过50字符")
private String departName;
/**
* 部门id
*/
@Schema(description = "部门id")
private Integer departId;
/**
* 部门编码
*/
@Schema(description = "部门编码")
private String departCode;
/**
* b端岗位
*/
@Schema(description = "b端岗位")
@Length(max = 50, message = "岗位长度不超过50字符")
private String businessPost;
/**
* b端员工工号
*/
@Schema(description = "电信工号")
@Length(max = 20, message = "电信工号长度不超过20字符")
@NotBlank(message = "电信工号不能为空")
private String businessTelecomNumber;
/**
* 标签,字典值(英文逗号分割)
*/
@Schema(description = "标签,字典值(英文逗号分割)")
private String employeeTags;
/**
* 第一学历和专业
*/
@Schema(description = "第一学历和专业")
@Length(max = 20, message = "第一学历和专业长度不超过20字符")
private String firstDegreeAndMajor;
/**
* 第一学历院校
*/
@Schema(description = "第一学历院校")
@Length(max = 20, message = "第一学历院校长度不超过20字符")
private String firstDegreeGraduateSchool;
/**
* 最高学历和专业
*/
@Schema(description = "最高学历和专业")
@Length(max = 20, message = "最高学历和专业长度不超过20字符")
private String highestDegreeAndMajor;
/**
* 最高学历院校
*/
@Schema(description = "最高学历院校")
@Length(max = 20, message = "最高学历院校长度不超过20字符")
private String highestDegreeGraduateSchool;
/**
* 联系方式
*/
@Schema(description = "联系方式")
@Length(max = 11, message = "联系方式长度不超过11字符")
@Pattern(regexp = "(?:(?:\\+|00)86)?1\\d{10}", message = "联系方式格式错误")
@NotBlank(message = "联系方式不能为空")
private String contactInfo;
/**
* 档案托管地
*/
@Schema(description = "档案托管地")
@Length(max = 20, message = "档案托管地长度不超过20字符")
private String archivesAddr;
/**
* B端维护的离职时间
*/
@Schema(description = "B端维护的离职时间")
private LocalDate businessLeaveDate;
/**
* B端维护的入职时间
*/
@Schema(description = "B端维护的入职时间")
@NotNull(message = "入职时间不能为空")
private LocalDate businessEnjoinDate;
@TableField(exist = false)
private static final long serialVersionUID = 1L;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
import java.time.LocalDate;
/**
* @description: 更新人员信息冗余字段DTO
* @author: wangweiguo
* @date: 2021/8/12
*/
@Getter
@Setter
@ToString
public class UpdateEmployeeExtendRedundancyDTO implements Serializable {
/**
* 身份证号
*/
private String empIdcard;
/**
* 标签名称,英文逗号分割
*/
private String employeeTags;
/**
* 离职日期
*/
private LocalDate businessLeaveDate;
/**
* 离职原因
*/
private String businessLeaveReason;
/**
* 在职状态 0在职 1离职 3临时
*/
private String businessWorkingStatus;
/**
* 证件类型,英文逗号分割
*/
private String documentType;
/**
* 部门id
*/
private Integer departId;
/**
* 部门名称
*/
private String departName;
/**
* 部门treeLogo
*/
private String treeLogo;
/**
* 部门id真实值
*/
private Integer departIdVal;
}
......@@ -17,6 +17,11 @@
<dependencies>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-business-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-check-api</artifactId>
......
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.MSetttleCustomerUser;
import com.yifu.cloud.plus.v1.yifu.archives.service.MSetttleCustomerUserService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainListVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
import java.util.Map;
/**
* @Author fxj
* @Description b端用户客户关系表
* @Date 16:24 2022/12/27
* @Param
* @return
**/
@RestController
@AllArgsConstructor
@RequestMapping("/msetttlecustomeruser")
@Tag(name = "b端用户客户关系表")
public class MSetttleCustomerUserController {
private final MSetttleCustomerUserService mSetttleCustomerUserService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param mSetttleCustomerUser b端用户客户关系表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<MSetttleCustomerUser>> getMSetttleCustomerUserPage(Page<MSetttleCustomerUser> page, MSetttleCustomerUser mSetttleCustomerUser) {
return new R<>(mSetttleCustomerUserService.getMSetttleCustomerUserPage(page, mSetttleCustomerUser));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<MSetttleCustomerUser> getById(@PathVariable("id") String id) {
return new R<>(mSetttleCustomerUserService.getById(id));
}
/**
* 新增记录
*
* @param mSetttleCustomerUser
* @return R
*/
@Operation(description = "新增(wxhr:msetttlecustomeruser_add)")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:msetttlecustomeruser_add')")
public R<Boolean> save(@Valid @RequestBody MSetttleCustomerUser mSetttleCustomerUser) {
return new R<>(mSetttleCustomerUserService.save(mSetttleCustomerUser));
}
/**
* 修改记录
*
* @param mSetttleCustomerUser
* @return R
*/
@Operation(description = "修改(wxhr:msetttlecustomeruser_edit)")
@SysLog("修改b端用户客户关系表")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:msetttlecustomeruser_edit')")
public R<Boolean> update(@RequestBody MSetttleCustomerUser mSetttleCustomerUser) {
return new R<>(mSetttleCustomerUserService.updateById(mSetttleCustomerUser));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除(wxhr:msetttlecustomeruser_del)")
@SysLog("删除b端用户客户关系表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:msetttlecustomeruser_del')")
public R<Boolean> removeById(@PathVariable String id) {
return new R<>(mSetttleCustomerUserService.removeById(id));
}
/**
* 远程接口获取客户用户关系
*/
@Inner
@PostMapping("/inner/getCustomerUserMap")
public Map<String,String> getCustomerUserMap(@RequestBody List<Integer> userIdList) {
return mSetttleCustomerUserService.getCustomerUser(userIdList);
}
/**
* 远程接口获取客户关系数
*/
@Inner
@GetMapping("/inner/getCustomerCount")
public Integer getCustomerCount() {
return mSetttleCustomerUserService.getCustomerCount();
}
/**
* @Author fxj
* @Description 远程接口获取用户B端权限关系
* @Date 10:18 2023/1/10
**/
@Inner
@PostMapping("/getSettlePermissionForB")
public TSettleDomainListVo getSettlePermissionForB(@RequestBody String userId) {
TSettleDomainListVo vo = new TSettleDomainListVo();
vo.setDeptIds(mSetttleCustomerUserService.getSettlePermissionForB(userId));
return vo;
}
}
......@@ -160,6 +160,23 @@ public class TSettleDomainController {
return vo;
}
/**
* 获取登录用户拥有的项目信息及单位部分信息
*
* @param
* @return
* @Author fxj
* @Date 2019-08-28
**/
@Operation(description = "获取登录用户拥有的项目数据)")
@Inner
@PostMapping("/getPermissionByUserId")
public TSettleDomainListVo getPermissionByUserId(@RequestBody String userId) {
TSettleDomainListVo vo = new TSettleDomainListVo();
vo.setDeptIds(tSettleDomainService.getSettleDomainIdsByUserId(userId));
return vo;
}
/**
* @param
* @Author: wangan
......
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.MSetttleCustomerUser;
import com.yifu.cloud.plus.v1.yifu.archives.vo.MSetttleCustomerUserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* b端用户客户关系表
*
* @author pwang
* @date 2020-08-26 12:00:12
*/
@Mapper
public interface MSetttleCustomerUserMapper extends BaseMapper<MSetttleCustomerUser> {
/**
* b端用户客户关系表简单分页查询
*
* @param mSetttleCustomerUser b端用户客户关系表
* @return
*/
IPage<MSetttleCustomerUser> getMSetttleCustomerUserPage(Page<MSetttleCustomerUser> page, @Param("mSetttleCustomerUser") MSetttleCustomerUser mSetttleCustomerUser);
List<MSetttleCustomerUserVo> getCustomerUser(@Param("userIdList")List<Integer> userIdList);
Integer getCustomerCount();
List<String> getSettlePermissionForB(@Param("userId")String userId);
}
package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtendByLeave;
import com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtendVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @description: b端员工信息拓展信息 mapper
* @author: wangweiguo
* @date: 2021/8/6
* @Entity com.yifu.cloud.v1.hrms.api.entity.basic.TBusinessEmployeeExtendInfo
*/
@Mapper
public interface TBusinessEmployeeExtendInfoMapper extends BaseMapper<TBusinessEmployeeExtendInfo> {
List<BusinessEmployeeExtendVO> getNotLeaveExtendList();
/**
* @param
* @Description: 获取所有扩展信息
* @Author: hgw
* @Date: 2021/8/18 16:41
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.vo.basic.BusinessEmployeeExtendByLeave>
**/
List<BusinessEmployeeExtendByLeave> getInfoByLeaveList();
TBusinessEmployeeExtendInfo getDataByEmpIdcard(@Param("empIdcard") String empIdcard);
TBusinessEmployeeExtendInfo getDataById(@Param("extendId") String extendId);
}
......@@ -21,10 +21,7 @@ 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.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractExportAuditVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractExportVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeExportVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -87,4 +84,17 @@ public interface TEmployeeContractInfoMapper extends BaseMapper<TEmployeeContrac
List<EmployeeContractExportAuditVO> noPageDiy(@Param("tEmployeeContractInfo")TEmployeeContractSearchVo searchVo);
int noPageCountDiy(@Param("tEmployeeContractInfo")TEmployeeContractSearchVo searchVo);
/**
* B端获取在用合同信息
**/
IPage<EmpContractBusinessPageVo> getContractBusinessPage(Page page, @Param("tEmployeeContractInfo") EmpContractBusinessPageVo tEmployeeContractInfo, @Param("settleDomainIds") List<String> settleDomainIds, @Param("flag") Integer flag);
/**
* B获取3个月内的到期合同提醒
**/
Integer getContractBusinessAlertCount(@Param("tEmployeeContractInfo") EmpContractBusinessPageVo tEmployeeContractInfo
, @Param("settleDomainIds") List<String> settleDomainIds, @Param("alertMonth")Integer alertMonth);
List<EmpContractBusinessPageVo> getOtherContractBusinessInfo(@Param("empId")String empId, @Param("contractId")String contractId);
}
......@@ -22,9 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpIdCardAndDeptVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportParamVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -93,5 +91,26 @@ public interface TEmployeeProjectMapper extends BaseMapper<TEmployeeProject> {
**/
int everyDayUpdateEmployeContractStatus();
/**
* 分页:B端获取登录用户对应单位的员工数据
* @Author fxj
* @Date 2020-08-25
* @UpdateDate 2021-08-09 wwg
* @param page
* @param query
**/
IPage<BusinessEmployeeExtendListVO> getTEmployeeBusinessPage(Page page, @Param("query") THroBusinessUserQuery query);
/**
* 根据条件查询,不分页
* @description: 根据条件查询,不分页
* @param query
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.vo.basic.BusinessEmployeeExtentExcelVO>
* @author: wangweiguo
* @date: 2021/8/10
*/
List<BusinessEmployeeExtentExcelVO> getTEmployeeBusinessList(@Param("query") THroBusinessUserQuery query);
int updateSocialAndFundStatusById(@Param("project")TEmployeeProject project);
int updateSocialAndFundStatusById(@Param("project")TEmployeeProject project);
}
......@@ -20,10 +20,10 @@ 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.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.vo.IdNameNoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ProjectSetInfoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -78,4 +78,18 @@ public interface TSettleDomainMapper extends BaseMapper<TSettleDomain> {
List<ProjectSetInfoVo> getSetInfoByCodes(@Param(value = "codes") List<String> codes);
List<TSettleDomain> getSettleInfoByCodes(@Param(value = "codes") List<String> codes);
List<TSettleDomain> getOwnSettleDomainNoPage(@Param("userId") String userId, @Param("name") String name);
IPage<TSettleDomainVo> getOwnSettleDomain(Page page, @Param("userId") String userId, @Param("name") String name);
IPage<TCustomerInfo> getTCustomerInfoPageForB(Page page, @Param("tSettleDomain")TCustomerInfo tSettleDomain);
IPage<TSettleDomainVo> getTSettleDomainPageB(Page page, @Param("tSettleDomain")TSettleDomainVo tSettleDomain);
List<TCustomerInfo> getTCustomerInfoForB(@Param("ids")List<String> tSettleDomain);
IPage<CustomerOwnerSelectVo> getCustomerOwnerPage(Page page,
@Param("customerName")String customerName,
@Param("userId")String userId);
}
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.MSetttleCustomerUser;
import java.util.List;
import java.util.Map;
/**
* @Author fxj
* @Description b端用户客户关系表
* @Date 16:34 2022/12/27
* @Param
* @return
**/
public interface MSetttleCustomerUserService extends IService<MSetttleCustomerUser> {
/**
* b端用户客户关系表简单分页查询
*
* @param mSetttleCustomerUser b端用户客户关系表
* @return
*/
IPage<MSetttleCustomerUser> getMSetttleCustomerUserPage(Page<MSetttleCustomerUser> page, MSetttleCustomerUser mSetttleCustomerUser);
Map<String,String> getCustomerUser(List<Integer> userIdList);
Integer getCustomerCount();
List<String> getSettlePermissionForB(String userId);
}
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtendByLeave;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TBusinessDataListVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.UpdateEmployeeExtendRedundancyDTO;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @description: b端员工信息拓展信息 service
* @author: wangweiguo
* @date: 2021/8/6
*/
public interface TBusinessEmployeeExtendInfoService extends IService<TBusinessEmployeeExtendInfo> {
/**
* 更新人员信息冗余字段
* @description: 更新人员信息冗余字段
* @param dto
* @return: Boolean
* @author: wangweiguo
* @date: 2021/8/12
*/
Boolean updateEmployeeExtendRedundancy(List<UpdateEmployeeExtendRedundancyDTO> dto);
/**
* @description: 根据身份证号查询人员拓展表信息
* @param empIdcard 身份证号
* @return: com.yifu.cloud.v1.hrms.api.entity.basic.TBusinessEmployeeExtendInfo
* @author: wangweiguo
* @date: 2021/8/10
*/
TBusinessEmployeeExtendInfo getByEmpIdCard(String empIdcard);
/**
* @param businessTelecomNumber
* @Description: 根据工号返回附属信息
* @Author: hgw
* @Date: 2021/8/18 17:03
* @return: com.yifu.cloud.v1.hrms.api.entity.basic.TBusinessEmployeeExtendInfo
**/
TBusinessEmployeeExtendInfo getByBusinessTelecomNumber(String businessTelecomNumber);
/**
* 根据jsonStr批量更新人员信息拓展表信息
* @description:
* @param jsonStr
* @param empInfoMap
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/10
*/
R<List<ErrorMessage>> batchUpdateEmployeeExtendByJsonStr(String jsonStr, HashMap<String, TEmployeeProject> empInfoMap);
/**
* 根据身份证号获取拓展信息列表
* @description: 根据身份证号获取拓展信息列表
* @param idCardList
* @return: com.yifu.cloud.v1.common.core.util.R<List<TBusinessEmployeeExtendInfo>>
* @author: wangweiguo
* @date: 2021/8/16
*/
List<TBusinessEmployeeExtendInfo> getListByIdCardList(List<String> idCardList);
/**
* 查询-列表:内部服务调用,获取所有非离职员工拓展表信息
* @description: 查询-列表:内部服务调用,获取所有非离职员工拓展表信息
* @return: com.yifu.cloud.v1.common.core.util.R<java.util.List<com.yifu.cloud.v1.hrms.api.vo.basic.BusinessEmployeeExtendVO>>
* @author: wangweiguo
* @date: 2021/8/17
*/
TBusinessDataListVo getNotLeaveExtendList();
/**
* @param
* @Description: 获取所有附属信息
* @Author: hgw
* @Date: 2021/8/18 16:45
* @return: com.yifu.cloud.v1.common.core.util.R<java.util.Map < java.lang.String, com.yifu.cloud.v1.hrms.api.vo.basic.BusinessEmployeeExtendByLeave>>
**/
Map<String, BusinessEmployeeExtendByLeave> getInfoByLeaveMap();
/**
* b端人员信息编辑拓展信息
* @description: b端人员信息编辑拓展信息
* @param tBusinessEmployeeExtendInfo 实体
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/19
*/
R<Boolean> saveOrUpdateData(TBusinessEmployeeExtendInfo tBusinessEmployeeExtendInfo);
boolean updateEmpExtendCertInfo(UpdateEmployeeExtendRedundancyDTO dto);
TBusinessEmployeeExtendInfo getDataById(String extendId);
}
......@@ -21,10 +21,7 @@ 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.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpContractAuditVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractExportVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ErrorVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
......@@ -180,4 +177,11 @@ public interface TEmployeeContractInfoService extends IService<TEmployeeContract
void exportAuditContractInfo(TEmployeeContractSearchVo contractInfo, HttpServletResponse response);
R<List<ErrorMessage>> auditContractBatch(EmpContractAuditVo contractAuditVo, YifuUser user);
IPage<EmpContractBusinessPageVo> getContractBusinessPage(Page<EmpContractBusinessPageVo> page, EmpContractBusinessPageVo contractBusinessPageVo, List<String> settleDomainIds, Integer alertFlag);
Integer getContractBusinessAlertCount(List<String> settleDomainIds);
List<EmpContractBusinessPageVo> getOtherContractBusinessInfo(String empId, String contractId);
}
......@@ -23,10 +23,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeProject;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmpStatusVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeProjectExportParamVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainDataVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.UpProjectSocialFundVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
......@@ -228,4 +225,35 @@ public interface TEmployeeProjectService extends IService<TEmployeeProject> {
R<List<TSettleDomainDataVo>> selectSettleMentData(List<String> deptNoList);
/**
* B端获取登录用户对应单位的员工数据
* @Author fxj
* @Date 2020-08-25
* @UpdaeDate 2021-08-09 wwg
* @param page
* @param query
* @return
**/
IPage<BusinessEmployeeExtendListVO> getTEmployeeBusinessPage(Page<EmployeeBusinessVo> page, THroBusinessUserQuery query);
/**
* 获取档案B端要求数据
* @Author fxj
* @Date 2020-05-25
* @param empId
* @return
**/
EmployeeBusinessDetailVo getEmployeeBusinessInfoById(String empId, String settleDomain);
R<EmployeeBusinessVo> getEmployeeBusinessVoById(String empId);
/**
* b端人员信息导出
* @description: 导出:b端人员信息导出
* @param query
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/10
*/
R<List<BusinessEmployeeExtentExcelVO>> exportByParams(THroBusinessUserQuery query);
}
......@@ -20,6 +20,7 @@ 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.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
......@@ -110,4 +111,15 @@ public interface TSettleDomainService extends IService<TSettleDomain> {
R updateProjectStopStatus(List<TSettleDomainUpdVo> list);
List<TSettleDomain> getOwnSettleDomainNoPage(String toString, String settleName);
R<IPage<TSettleDomainVo>> getOwnSettleDomain(Page<TSettleDomainVo> page, String userId, String name);
R<IPage<TCustomerInfo>> getTCustomerInfoPageForB(Page<TCustomerInfo> page, TCustomerInfo tCustomerInfo);
R<IPage<TSettleDomainVo>> getTSettleDomainPageB(Page<TSettleDomainVo> page, TSettleDomainVo tSettleDomain);
List<TCustomerInfo> getTCustomerInfoForB(List<String> customerList);
R<IPage<CustomerOwnerSelectVo>> getCustomerOwnerPage(Page<CustomerOwnerSelectVo> page, String customerName, String userId);
}
package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.archives.entity.MSetttleCustomerUser;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.MSetttleCustomerUserMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.MSetttleCustomerUserService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.MSetttleCustomerUserVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author fxj
* @Description b端用户客户关系表
* @Date 16:33 2022/12/27
* @Param
* @return
**/
@Service
public class MSetttleCustomerUserServiceImpl extends ServiceImpl<MSetttleCustomerUserMapper, MSetttleCustomerUser> implements MSetttleCustomerUserService {
/**
* b端用户客户关系表简单分页查询
*
* @param mSetttleCustomerUser b端用户客户关系表
* @return
*/
@Override
public IPage<MSetttleCustomerUser> getMSetttleCustomerUserPage(Page<MSetttleCustomerUser> page, MSetttleCustomerUser mSetttleCustomerUser) {
return baseMapper.getMSetttleCustomerUserPage(page, mSetttleCustomerUser);
}
@Override
public Map<String, String> getCustomerUser(List<Integer> userIdList) {
Map<String,String> map = new HashMap<>();
List<MSetttleCustomerUserVo> list = baseMapper.getCustomerUser(userIdList);
if(Common.isNotNull(list)){
for(MSetttleCustomerUserVo vo :list){
map.put(vo.getUserId(),vo.getCustomerName());
}
}
return map;
}
@Override
public Integer getCustomerCount() {
return baseMapper.getCustomerCount();
}
@Override
public List<String> getSettlePermissionForB(String userId) {
if (Common.isNotNull(userId)){
return baseMapper.getSettlePermissionForB(userId);
}
return null;
}
}
......@@ -67,6 +67,7 @@ import java.math.BigDecimal;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
......@@ -1393,11 +1394,83 @@ public class TEmployeeContractInfoServiceImpl extends ServiceImpl<TEmployeeContr
// 不是待提交,记录审核记录
this.setAuditInfo(tEmployeeContractInfo);
this.updateById(tEmployeeContractInfo);
errorMessages.add(new ErrorMessage(i,"审核成功!",CommonConstants.GREEN));
errorMessages.add(new ErrorMessage(i,"审核成功!",CommonConstants.GREEN,contract.getApplyNo()));
}
if (errorCount == CommonConstants.ZERO_INT){
return R.ok();
}
return R.ok(errorMessages);
}
/**
* B端合同列表查询接口
* @Author fxj
* @Date 2020-08-25
* @param page
* @param contractBusinessPageVo
* @param flag 0 按3个月内到期提醒 1 不安提醒查询
* @return
**/
@Override
public IPage<EmpContractBusinessPageVo> getContractBusinessPage(Page<EmpContractBusinessPageVo> page, EmpContractBusinessPageVo contractBusinessPageVo, List<String> settleDomainIds, Integer flag) {
IPage<EmpContractBusinessPageVo> pageVoList = baseMapper.getContractBusinessPage(page, contractBusinessPageVo, settleDomainIds,flag);
List<EmpContractBusinessPageVo> voList = pageVoList.getRecords();
List<TEmployeeContractInfo> contractInfoList = null;
List<String> empIds = new ArrayList<>();
if (Common.isNotNull(voList)){
for (EmpContractBusinessPageVo vo:voList){
empIds.add(vo.getEmpId());
}
}
if (Common.isNotNull(empIds)){
contractInfoList = baseMapper.selectList(Wrappers.<TEmployeeContractInfo>query().lambda()
.eq(TEmployeeContractInfo::getIsObsolete,CommonConstants.ZERO_STRING)
.in(TEmployeeContractInfo::getEmpId,empIds));
}
HashMap<String,Integer> countMap = new HashMap<>();
if (Common.isNotNull(contractInfoList)){
Integer count;
for (TEmployeeContractInfo contractInfo:contractInfoList){
count = countMap.get(contractInfo.getEmpId());
count = null ==count?1:(count+1);
countMap.put(contractInfo.getEmpId(),count);
}
}
if (Common.isNotNull(voList)){
for (EmpContractBusinessPageVo pageVo:voList){
pageVo.setRenewCount(countMap.get(pageVo.getEmpId()));
}
}
pageVoList.setRecords(voList);
return pageVoList;
}
/**
* B端查询合同到期提醒数(查询3个月内到期的合同)
* @Author fxj
* @Date 2020-08-25
* @param
* @return
**/
@Override
public Integer getContractBusinessAlertCount(List<String> settleDomainIds) {
EmpContractBusinessPageVo contractBusinessPageVo = new EmpContractBusinessPageVo();
contractBusinessPageVo.setInUse(CommonConstants.ZERO_STRING);
contractBusinessPageVo.setIsObsolete(CommonConstants.ZERO_STRING);
return baseMapper.getContractBusinessAlertCount(contractBusinessPageVo,settleDomainIds,CommonConstants.THREE_INT);
}
/**
* B端查询对应员工指定合同ID之外的其他合同信息
* @Author fxj
* @Date 2020-08-25
* @param empId
* @param contractId
* @return
**/
@Override
public List<EmpContractBusinessPageVo> getOtherContractBusinessInfo(String empId, String contractId) {
return baseMapper.getOtherContractBusinessInfo(empId,contractId);
}
}
......@@ -2322,7 +2322,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
contract.setAuditStatus(CommonConstants.ONE_INT);
contract.setApplyNo(contractServicer.getCode(false));
contract.setInUse(CommonConstants.ONE_STRING);
contract.setIsObsolete(CommonConstants.ZERO_ONE);
contract.setIsObsolete(CommonConstants.ZERO_STRING);
contract.setDispatchFlag(CommonConstants.ONE_STRING);
contract.setType(CommonConstants.ZERO_STRING);
contractServicer.save(contract);
......
......@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaMap;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysUserListVo;
import com.yifu.cloud.plus.v1.yifu.archives.constants.ArchivesConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TCutsomerDataPermisson;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TCutsomerDataPermissonMapper;
......@@ -41,13 +42,12 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.CacheManager;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -81,7 +81,7 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
public IPage<IdNameNoVo> getUnitPage(Page<IdNameNoVo> page, IdNameNoVo idNameNoVo) {
return baseMapper.getUnitPage(page, idNameNoVo);
}
private final CacheManager cacheManager;
/**
* @Author fxj
* @Description 清除项目缓存
......@@ -95,6 +95,12 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
for(String userId : userIdList){
redisUtil.remove(CacheConstants.WXHR_SETTLE_DOMAIN_VOS_BY_USERID +"_"+userId);
redisUtil.remove(CacheConstants.WXHR_SETTLE_DOMAIN_NOS_BY_USERID +"_"+userId);
// 清空userinfo
Objects.requireNonNull(cacheManager.getCache(CacheConstants.USER_DETAILS)).clear();
redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ user.getUsername());
if( Common.isNotNull(user.getPhone())){
redisUtil.remove(CacheConstants.USER_DETAILS + "_phone::"+ user.getPhone());
}
}
} catch (Exception e) {
log.error("清除缓存错误:",e);
......@@ -428,4 +434,42 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
}
return true;
}
@Override
public List<TSettleDomain> getOwnSettleDomainNoPage(String userId, String settleName) {
if(Common.isNotNull(userId)){
return baseMapper.getOwnSettleDomainNoPage(userId,settleName);
}
return Collections.emptyList();
}
@Override
public R<IPage<TSettleDomainVo>> getOwnSettleDomain(Page<TSettleDomainVo> page, String userId, String name) {
if(Common.isNotNull(userId)){
return R.ok(baseMapper.getOwnSettleDomain(page,userId,name),CommonConstants.RESULT_DATA_SUCESS);
}
return (R<IPage<TSettleDomainVo>>) Collections.emptyList();
}
@Override
public R<IPage<TCustomerInfo>> getTCustomerInfoPageForB(Page<TCustomerInfo> page, TCustomerInfo tCustomerInfo) {
return R.ok(baseMapper.getTCustomerInfoPageForB(page,tCustomerInfo));
}
@Override
public R<IPage<TSettleDomainVo>> getTSettleDomainPageB(Page<TSettleDomainVo> page, TSettleDomainVo tSettleDomain) {
return R.ok(baseMapper.getTSettleDomainPageB(page,tSettleDomain));
}
@Override
public List<TCustomerInfo> getTCustomerInfoForB(List<String> customerList) {
if (Common.isNotNull(customerList)){
return baseMapper.getTCustomerInfoForB(customerList);
}
return null;
}
@Override
public R<IPage<CustomerOwnerSelectVo>> getCustomerOwnerPage(Page<CustomerOwnerSelectVo> page, String customerName,
String userId) {
return R.ok(baseMapper.getCustomerOwnerPage(page,customerName,userId));
}
}
package com.yifu.cloud.plus.v1.yifu.archives.utils;
import lombok.Getter;
import lombok.Setter;
import javax.validation.Valid;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @program: master
* @description: 验证list对象
* @author: pwang
* @create: 2020-07-29 20:17
**/
@Getter
@Setter
public class ListWrapper<E> implements Serializable {
private static final long serialVersionUID = 1L;
@Valid
private List<E> list;
public ListWrapper() {
list = new ArrayList<>();
}
public ListWrapper(List<E> list) {
this.list = list;
}
}
<?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.yifu.cloud.plus.v1.yifu.archives.mapper.MSetttleCustomerUserMapper">
<resultMap id="mSetttleCustomerUserMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.MSetttleCustomerUser">
<id property="id" column="id"/>
<result property="customerId" column="customer_id"/>
<result property="settleId" column="settle_id"/>
<result property="userId" column="user_id"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.customer_id,
a.settle_id,
a.user_id
</sql>
<sql id="mSetttleCustomerUser_where">
<if test="mSetttleCustomerUser != null">
<if test="mSetttleCustomerUser.id != null and mSetttleCustomerUser.id.trim() != ''">
AND a.id = #{mSetttleCustomerUser.id}
</if>
<if test="mSetttleCustomerUser.customerId != null and mSetttleCustomerUser.customerId.trim() != ''">
AND a.customer_id = #{mSetttleCustomerUser.customerId}
</if>
<if test="mSetttleCustomerUser.settleId != null and mSetttleCustomerUser.settleId.trim() != ''">
AND a.settle_id = #{mSetttleCustomerUser.settleId}
</if>
<if test="mSetttleCustomerUser.userId != null and mSetttleCustomerUser.userId.trim() != ''">
AND a.user_id = #{mSetttleCustomerUser.userId}
</if>
</if>
</sql>
<!--mSetttleCustomerUser简单分页查询-->
<select id="getMSetttleCustomerUserPage" resultMap="mSetttleCustomerUserMap">
SELECT
<include refid="Base_Column_List"/>
FROM m_setttle_customer_user a
<where>
1=1
<include refid="mSetttleCustomerUser_where"/>
</where>
</select>
<select id="getCustomerUser" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.MSetttleCustomerUserVo">
select a.user_id,GROUP_CONCAT(DISTINCT b.CUSTOMER_NAME) as CUSTOMER_NAME from m_setttle_customer_user a
left join t_settle_domain b on a.customer_id = b.CUSTOMER_ID
where a.user_id in
<foreach item="item" index="index" collection="userIdList" open="(" separator="," close=")">
'${item}'
</foreach>
GROUP BY a.user_id
</select>
<select id="getCustomerCount" resultType="java.lang.Integer">
SELECT count(DISTINCT customer_id) from m_setttle_customer_user a ;
</select>
<select id="getSettlePermissionForB" resultType="java.lang.String">
SELECT DISTINCT settle_id from m_setttle_customer_user a where a.user_id=#{userId}
</select>
</mapper>
<?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.yifu.cloud.plus.v1.yifu.archives.mapper.TBusinessEmployeeExtendInfoMapper">
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtendVO">
<id property="id" column="ID" jdbcType="VARCHAR"/>
<result property="empIdcard" column="EMP_IDCARD" jdbcType="VARCHAR"/>
<result property="empName" column="EMP_NAME" jdbcType="VARCHAR"/>
<result property="departName" column="DEPART_NAME" jdbcType="VARCHAR"/>
<result property="departId" column="DEPART_ID" jdbcType="INTEGER"/>
<result property="departCode" column="DEPART_CODE" jdbcType="VARCHAR"/>
<result property="businessPost" column="BUSINESS_POST" jdbcType="VARCHAR"/>
<result property="businessTelecomNumber" column="BUSINESS_TELECOM_NUMBER" jdbcType="VARCHAR"/>
<result property="employeeTags" column="EMPLOYEE_TAGS" jdbcType="VARCHAR"/>
<result property="firstDegreeAndMajor" column="FIRST_DEGREE_AND_MAJOR" jdbcType="VARCHAR"/>
<result property="firstDegreeGraduateSchool" column="FIRST_DEGREE_GRADUATE_SCHOOL" jdbcType="VARCHAR"/>
<result property="highestDegreeAndMajor" column="HIGHEST_DEGREE_AND_MAJOR" jdbcType="VARCHAR"/>
<result property="highestDegreeGraduateSchool" column="HIGHEST_DEGREE_GRADUATE_SCHOOL" jdbcType="VARCHAR"/>
<result property="contactInfo" column="CONTACT_INFO" jdbcType="VARCHAR"/>
<result property="archivesAddr" column="ARCHIVES_ADDR" jdbcType="VARCHAR"/>
<result property="businessWorkingStatus" column="BUSINESS_WORKING_STATUS" jdbcType="CHAR"/>
<result property="documentType" column="DOCUMENT_TYPE" jdbcType="VARCHAR"/>
<result property="businessLeaveDate" column="BUSINESS_LEAVE_DATE"/>
<result property="businessEnjoinDate" column="BUSINESS_ENJOIN_DATE"/>
<result property="businessLeaveReason" column="BUSINESS_LEAVE_REASON" jdbcType="VARCHAR"/>
<result property="deleteFlag" column="DELETE_FLAG" jdbcType="CHAR"/>
</resultMap>
<!-- 离职信息导入获取 -->
<resultMap id="LeaveResultMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtendByLeave">
<result property="businessTelecomNumber" column="BUSINESS_TELECOM_NUMBER" jdbcType="VARCHAR"/>
<result property="empIdcard" column="EMP_IDCARD" jdbcType="VARCHAR"/>
<result property="empName" column="EMP_NAME" jdbcType="VARCHAR"/>
<result property="departName" column="DEPART_NAME" jdbcType="VARCHAR"/>
<result property="departId" column="DEPART_ID" jdbcType="INTEGER"/>
<result property="businessPost" column="BUSINESS_POST" jdbcType="VARCHAR"/>
<result property="businessWorkingStatus" column="BUSINESS_WORKING_STATUS" jdbcType="CHAR"/>
<result property="departCode" column="DEPART_CODE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.EMP_IDCARD,
a.EMP_NAME,
a.DEPART_NAME,
a.DEPART_ID,
a.BUSINESS_POST,
a.BUSINESS_TELECOM_NUMBER,
a.BUSINESS_ENJOIN_DATE,
a.EMPLOYEE_TAGS,
a.FIRST_DEGREE_AND_MAJOR,
a.FIRST_DEGREE_GRADUATE_SCHOOL,
a.BUSINESS_LEAVE_DATE,
a.BUSINESS_LEAVE_REASON,
a.HIGHEST_DEGREE_AND_MAJOR,
a.HIGHEST_DEGREE_GRADUATE_SCHOOL,
a.CONTACT_INFO,
a.BUSINESS_WORKING_STATUS,
a.DOCUMENT_TYPE,
a.ARCHIVES_ADDR
</sql>
<select id="getNotLeaveExtendList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from t_business_employee_extend_info a
<where>
1=1
and a.BUSINESS_WORKING_STATUS <![CDATA[<>]]> '1'
and a.DELETE_FLAG = '0'
</where>
</select>
<!-- hgw 2021-8-18 16:41:01 获取所有扩展信息 -->
<select id="getInfoByLeaveList" resultMap="LeaveResultMap">
select
a.BUSINESS_TELECOM_NUMBER,
a.EMP_IDCARD,
a.EMP_NAME,
a.DEPART_NAME,
a.DEPART_ID,
a.BUSINESS_POST,
a.BUSINESS_WORKING_STATUS,
a.DEPART_CODE
from t_business_employee_extend_info a
where a.BUSINESS_TELECOM_NUMBER is not null
GROUP BY a.BUSINESS_TELECOM_NUMBER
</select>
<select id="getDataByEmpIdcard" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo">
select
a.ID,
a.EMP_IDCARD,
b.EMP_NAME,
a.DEPART_NAME,
a.DEPART_ID,
a.BUSINESS_POST,
a.BUSINESS_TELECOM_NUMBER,
a.BUSINESS_ENJOIN_DATE,
a.EMPLOYEE_TAGS,
a.FIRST_DEGREE_AND_MAJOR,
a.FIRST_DEGREE_GRADUATE_SCHOOL,
a.BUSINESS_LEAVE_DATE,
a.BUSINESS_LEAVE_REASON,
a.HIGHEST_DEGREE_AND_MAJOR,
a.HIGHEST_DEGREE_GRADUATE_SCHOOL,
a.CONTACT_INFO,
a.BUSINESS_WORKING_STATUS,
a.DOCUMENT_TYPE,
a.ARCHIVES_ADDR
from t_business_employee_extend_info a
left join t_employee_info b on a.EMP_IDCARD = b.EMP_IDCARD
where 1=1
and a.EMP_IDCARD = #{empIdcard}
and b.DELETE_FLAG = '0'
limit 1
</select>
<select id="getDataById" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.TBusinessEmployeeExtendInfo">
select
a.ID,
a.EMP_IDCARD,
b.EMP_NAME,
a.DEPART_NAME,
a.DEPART_ID,
a.BUSINESS_POST,
a.BUSINESS_TELECOM_NUMBER,
a.BUSINESS_ENJOIN_DATE,
a.EMPLOYEE_TAGS,
a.FIRST_DEGREE_AND_MAJOR,
a.FIRST_DEGREE_GRADUATE_SCHOOL,
a.BUSINESS_LEAVE_DATE,
a.BUSINESS_LEAVE_REASON,
a.HIGHEST_DEGREE_AND_MAJOR,
a.HIGHEST_DEGREE_GRADUATE_SCHOOL,
a.CONTACT_INFO,
a.BUSINESS_WORKING_STATUS,
a.DOCUMENT_TYPE,
a.ARCHIVES_ADDR
from t_business_employee_extend_info a
left join t_employee_info b on a.EMP_IDCARD = b.EMP_IDCARD
where 1=1
and a.ID = #{extendId}
and b.DELETE_FLAG = '0'
limit 1
</select>
</mapper>
......@@ -556,4 +556,126 @@
</if>
</where>
</select>
<!--*********************************B端合同列表开始2020-08-27**************************************-->
<resultMap id="tEmpContractInfoBusinessMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.EmpContractBusinessPageVo">
<id property="id" column="ID"/>
<result property="empNo" column="EMP_NO"/>
<result property="empId" column="EMP_ID"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="contractName" column="CONTRACT_NAME"/>
<result property="contractType" column="CONTRACT_TYPE"/>
<result property="contractStart" column="CONTRACT_START"/>
<result property="contractEnd" column="CONTRACT_END"/>
<result property="situation" column="SITUATION"/>
<result property="isObsolete" column="IS_OBSOLETE"/>
<result property="settleDomain" column="SETTLE_DOMAIN"/>
<result property="inUse" column="IN_USE"/>
</resultMap>
<!--B端合同列表简单分页查询-->
<select id="getContractBusinessPage" resultMap="tEmpContractInfoBusinessMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_employee_contract_info a
LEFT JOIN t_employee_contract_info b on a.EMP_ID=b.EMP_ID and b.CREATE_TIME >a.CREATE_TIME
<where>
b.id is NULL
<if test="tEmployeeContractInfo != null">
<if test="tEmployeeContractInfo.empName != null and tEmployeeContractInfo.empName.trim() != ''">
AND a.EMP_NAME like CONCAT('%',#{tEmployeeContractInfo.empName},'%')
</if>
<if test="tEmployeeContractInfo.situation != null and tEmployeeContractInfo.situation != ''">
AND a.SITUATION = #{tEmployeeContractInfo.situation}
</if>
<if test="tEmployeeContractInfo.isObsolete != null and tEmployeeContractInfo.isObsolete.trim() != ''">
AND a.IS_OBSOLETE = #{tEmployeeContractInfo.isObsolete}
</if>
<if test="tEmployeeContractInfo.settleDomain != null and tEmployeeContractInfo.settleDomain != ''">
AND a.SETTLE_DOMAIN = #{tEmployeeContractInfo.settleDomain}
</if>
<if test="tEmployeeContractInfo.inUse != null and tEmployeeContractInfo.inUse.trim() != ''">
AND a.IN_USE = #{tEmployeeContractInfo.inUse}
</if>
</if>
<if test="settleDomainIds != null and settleDomainIds.size >0">
AND a.SETTLE_DOMAIN in
<foreach item="item" index="index" collection="settleDomainIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="flag != null and flag == 0">
AND a.CONTRACT_END <![CDATA[<]]> ADDDATE(current_date,INTERVAL 3 month) AND a.CONTRACT_END <![CDATA[>]]> now()
AND a.IN_USE = '0'
</if>
</where>
order by a.EMP_ID,a.CONTRACT_START DESC
</select>
<select id="getContractBusinessAlertCount" resultType="java.lang.Integer">
SELECT
count(1)
FROM t_employee_contract_info a
LEFT JOIN t_employee_contract_info b on a.EMP_ID=b.EMP_ID and b.CREATE_TIME >a.CREATE_TIME
<where>
b.id is NULL
<if test="tEmployeeContractInfo != null">
<if test="tEmployeeContractInfo.empName != null and tEmployeeContractInfo.empName.trim() != ''">
AND a.EMP_NAME like CONCAT(#{tEmployeeContractInfo.empName},'%')
</if>
<if test="tEmployeeContractInfo.situation != null and tEmployeeContractInfo.situation != ''">
AND a.SITUATION = #{tEmployeeContractInfo.situation}
</if>
<if test="tEmployeeContractInfo.isObsolete != null and tEmployeeContractInfo.isObsolete.trim() != ''">
AND a.IS_OBSOLETE = #{tEmployeeContractInfo.isObsolete}
</if>
<if test="tEmployeeContractInfo.settleDomain != null and tEmployeeContractInfo.settleDomain != ''">
AND a.SETTLE_DOMAIN = #{tEmployeeContractInfo.settleDomain}
</if>
<if test="tEmployeeContractInfo.inUse != null and tEmployeeContractInfo.inUse.trim() != ''">
AND a.IN_USE = #{tEmployeeContractInfo.inUse}
</if>
</if>
<if test="settleDomainIds != null and settleDomainIds.size >0">
AND a.SETTLE_DOMAIN in
<foreach item="item" index="index" collection="settleDomainIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="alertMonth != null">
AND a.CONTRACT_END <![CDATA[<]]> ADDDATE(current_date,INTERVAL #{alertMonth} month) AND a.CONTRACT_END <![CDATA[>]]> now()
</if>
</where>
</select>
<!--获取最新合同,通过员工身份证-->
<select id="getOtherContractBusinessInfo" resultMap="tEmpContractInfoBusinessMap">
SELECT
a.ID,
a.EMP_NO,
a.EMP_ID,
a.EMP_NAME,
a.EMP_IDCARD,
a.CONTRACT_NAME,
a.CONTRACT_TYPE,
a.CONTRACT_START,
a.CONTRACT_END,
a.SITUATION,
a.IS_OBSOLETE,
a.SETTLE_DOMAIN,
a.IN_USE
FROM t_employee_contract_info a
where
IS_OBSOLETE = '0'
<if test="empId != null">
AND a.EMP_ID = #{empId}
</if>
<if test="contractId != null">
AND a.id != #{contractId}
</if>
ORDER BY a.CREATE_TIME DESC
</select>
</mapper>
......@@ -883,4 +883,126 @@
</trim>
WHERE a.id=#{project.id}
</update>
<resultMap id="businessEmployeeExtendListVO" type="com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtendListVO">
</resultMap>
<select id="getTEmployeeBusinessPage" resultMap="businessEmployeeExtendListVO">
SELECT
a.ID,
a.EMP_ID as empId,
b.ID as extendId,
a.EMP_NAME,
a.EMP_IDCARD,
if(b.BUSINESS_ENJOIN_DATE is not null, b.BUSINESS_ENJOIN_DATE, a.ENJOIN_DATE) as BUSINESS_ENJOIN_DATE,
a.DEPT_ID SETTLE_DOMAIN,
b.DEPART_NAME,
b.DEPART_ID,
if(b.BUSINESS_POST is not null, b.BUSINESS_POST, a.POST) as BUSINESS_POST,
b.BUSINESS_TELECOM_NUMBER,
b.EMPLOYEE_TAGS,
if(b.BUSINESS_WORKING_STATUS is not null, b.BUSINESS_WORKING_STATUS, a.PROJECT_STATUS) as BUSINESS_WORKING_STATUS,
a.PROJECT_STATUS WORK_FLAG,
a.STATUS WORKING_STATUS_SUB,
b.BUSINESS_LEAVE_DATE,
b.DOCUMENT_TYPE,
c.DEPART_NAME as SETTLE_DOMAIN_NAME
FROM t_employee_project a
left join t_business_employee_extend_info b on a.EMP_IDCARD = b.EMP_IDCARD
left join t_settle_domain c on a.DEPT_ID = c.ID
where a.DELETE_FLAG = '0' and c.DELETE_FLAG = '0' and a.PROJECT_STATUS = '0'
<include refid="BusinessQuery"/>
order by a.ENJOIN_DATE DESC
</select>
<sql id="BusinessQuery">
<if test="query.empIdcard != null and query.empIdcard.trim() != ''">
AND a.EMP_IDCARD like CONCAT('%', #{query.empIdcard},'%')
</if>
<if test="query.empName != null and query.empName.trim() != ''">
AND a.EMP_NAME like CONCAT('%',#{query.empName},'%')
</if>
<if test="query.settleDomainId != null and query.settleDomainId.trim() != ''">
AND a.DEPT_ID = #{query.settleDomainId}
</if>
<if test="query.businessPost != null and query.businessPost != ''">
AND b.BUSINESS_POST like CONCAT('%',#{query.businessPost},'%')
</if>
<if test="query.departName != null and query.departName.trim() != ''">
AND b.DEPART_NAME like CONCAT(#{query.departName},'%')
</if>
<if test="query.departId != null and query.departId != 1">
AND (b.DEPART_ID = #{query.departId} or b.DEPART_CODE like concat('%-', #{query.departId},'-%'))
</if>
<if test="query.businessTelecomNumber != null and query.businessTelecomNumber.trim() != ''">
AND b.BUSINESS_TELECOM_NUMBER like CONCAT('%',#{query.businessTelecomNumber} ,'%')
</if>
<!-- businessWorkingStatus: 0 在职 1 离职 -->
<if test="query.businessWorkingStatus != null and query.businessWorkingStatus.trim() != ''">
<!-- 0查询在职 -->
<if test="query.businessWorkingStatus == '0'.toString()">
AND (b.BUSINESS_WORKING_STATUS is null or b.BUSINESS_WORKING_STATUS = '0')
</if>
<!-- 1查询离职 -->
<if test="query.businessWorkingStatus == '1'.toString()">
AND b.BUSINESS_WORKING_STATUS = '1'
</if>
</if>
<if test="query.employeeTagName != null and query.employeeTagName.trim() != ''">
AND b.EMPLOYEE_TAGS like CONCAT('%',#{query.employeeTagName},'%')
</if>
<!-- 是否持证 0否 1是 -->
<if test="query.documentStatus != null and query.documentStatus.trim() != '' and query.documentStatus == '0'.toString()">
AND if(b.DOCUMENT_TYPE = '', b.DOCUMENT_TYPE = '', b.DOCUMENT_TYPE is null)
</if>
<if test="query.documentStatus != null and query.documentStatus.trim() != '' and query.documentStatus == '1'.toString()">
AND b.DOCUMENT_TYPE is NOT NULL AND b.DOCUMENT_TYPE <![CDATA[<>]]> ''
</if>
<if test="query.settleDomainIds != null and query.settleDomainIds.size >0">
and a.DEPT_ID in
<foreach item="settleDomainId" index="index" collection="query.settleDomainIds" open="(" separator="," close=")">
#{settleDomainId}
</foreach>
</if>
</sql>
<resultMap id="businessEmployeeExtentExcelVO" type="com.yifu.cloud.plus.v1.yifu.archives.vo.BusinessEmployeeExtentExcelVO">
</resultMap>
<select id="getTEmployeeBusinessList" resultMap="businessEmployeeExtentExcelVO">
SELECT
a.EMP_NAME,
a.EMP_IDCARD,
b.BUSINESS_TELECOM_NUMBER,
b.DEPART_NAME,
b.DEPART_ID,
a.DEPT_ID SETTLE_DOMAIN,
b.BUSINESS_POST,
b.FIRST_DEGREE_AND_MAJOR,
b.FIRST_DEGREE_GRADUATE_SCHOOL,
b.HIGHEST_DEGREE_AND_MAJOR,
b.HIGHEST_DEGREE_GRADUATE_SCHOOL,
b.CONTACT_INFO,
b.ARCHIVES_ADDR,
if(b.BUSINESS_ENJOIN_DATE is not null, b.BUSINESS_ENJOIN_DATE, a.ENJOIN_DATE) as BUSINESS_ENJOIN_DATE,
b.EMPLOYEE_TAGS,
if(b.BUSINESS_WORKING_STATUS is not null, b.BUSINESS_WORKING_STATUS, a.PROJECT_STATUS) as BUSINESS_WORKING_STATUS,
a.PROJECT_STATUS WORK_FLAG,
a.STATUS WORKING_STATUS_SUB,
if(b.BUSINESS_LEAVE_DATE is not null, b.BUSINESS_LEAVE_DATE, a.LEAVE_TIME) as BUSINESS_LEAVE_DATE,
b.DOCUMENT_TYPE,
c.DEPART_NAME as SETTLE_DOMAIN_NAME
FROM t_employee_project a
left join t_business_employee_extend_info b on a.EMP_IDCARD = b.EMP_IDCARD
left join t_settle_domain c on a.DEPT_ID = c.ID
where a.DELETE_FLAG = '0' and c.DELETE_FLAG = '0' and a.PROJECT_STATUS = '0'
<include refid="BusinessQuery"/>
order by a.ENJOIN_DATE DESC
</select>
<update id="updateSocialAndFundStatusById" >
update t_employee_project a
<trim prefix="set" suffixOverrides=",">
<if test="project.id != null">a.id=a.id,</if>
<if test="project.socialStatus != null">SOCIAL_STATUS=#{project.socialStatus},</if>
<if test="project.fundStatus != null">FUND_STATUS=#{project.fundStatus},</if>
</trim>
WHERE a.id=#{project.id}
</update>
</mapper>
......@@ -314,4 +314,119 @@
</foreach>
</if>
</select>
<select id="getOwnSettleDomainNoPage" resultMap="tSettleDomainMap">
SELECT
<include refid="Base_Column_List"/>
FROM
t_settle_domain a
where
1=1
<if test="name != null and name.trim() != ''">
and a.DEPART_NAME like concat("%",#{name},"%")
</if>
and a.id in (select b.settle_id from m_setttle_customer_user b where b.user_id = #{userId}) and a.DELETE_FLAG = '0'
</select>
<select id="getOwnSettleDomain" resultMap="tSettleDomainMap">
SELECT
<include refid="Base_Column_List"/>
FROM
t_settle_domain a
where
1=1
<if test="name != null and name.trim() != ''">
and a.DEPART_NAME like concat("%",#{name},"%")
</if>
and a.id in (select b.settle_id from m_setttle_customer_user b where b.user_id = #{userId}) and a.DELETE_FLAG = '0'
</select>
<select id="getTCustomerInfoPageForB" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo">
SELECT
a.CUSTOMER_ID AS 'id',
a.CUSTOMER_NAME as 'customerName',
a.CUSTOMER_NO as 'customerCode'
FROM t_settle_domain a
WHERE a.DELETE_FLAG='0'
<if test="tSettleDomain != null">
<if test="tSettleDomain.customerName != null and tSettleDomain.customerName.trim() != ''">
and a.CUSTOMER_NAME like concat('%', #{tSettleDomain.customerName} ,'%')
</if>
<if test="tSettleDomain.customerCode != null and tSettleDomain.customerCode.trim() != ''">
and a.CUSTOMER_NO = #{tSettleDomain.customerCode}
</if>
<if test="tSettleDomain.customerIds != null and tSettleDomain.customerIds.size() > 0">
and a.CUSTOMER_ID in
<foreach collection="tSettleDomain.customerIds" item="param" index="index" open="(" close=")" separator=",">
#{param}
</foreach>
</if>
</if>
group by a.CUSTOMER_NO order by CREATE_TIME desc
</select>
<select id="getTSettleDomainPageB" resultMap="tSettleDomainMap">
SELECT
<include refid="Base_Column_List"/>
FROM
t_settle_domain a
where
1=1
<if test="tSettleDomain.customerName != null and tSettleDomain.customerName.trim() != ''">
AND a.CUSTOMER_NAME like CONCAT('%',#{tSettleDomain.customerName,jdbcType=VARCHAR},'%')
</if>
<if test="tSettleDomain.customerCode != null and tSettleDomain.customerCode.trim() != ''">
AND a.CUSTOMER_CODE like CONCAT('%',#{tSettleDomain.customerCode,jdbcType=VARCHAR},'%')
</if>
<if test="tSettleDomain.departNo != null and tSettleDomain.departNo.trim() != ''">
AND a.DEPART_NO like CONCAT('%',#{tSettleDomain.departNo,jdbcType=VARCHAR},'%')
</if>
<if test="tSettleDomain.departName != null and tSettleDomain.departName.trim() != ''">
AND a.DEPART_NAME like CONCAT('%',#{tSettleDomain.departName,jdbcType=VARCHAR},'%')
</if>
<if test="tSettleDomain.settleDomainIds != null and tSettleDomain.settleDomainIds.size >0">
AND a.id in
<foreach item="item" index="index" collection="tSettleDomain.settleDomainIds" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<select id="getTCustomerInfoForB" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.TCustomerInfo">
SELECT
a.CUSTOMER_ID AS 'id',
a.CUSTOMER_NAME as 'customerName',
a.CUSTOMER_NO as 'customerCode'
FROM t_settle_domain a
WHERE a.DELETE_FLAG='0'
<if test="ids != null and ids.size() > 0">
and a.CUSTOMER_ID in
<foreach collection="ids" item="param" index="index" open="(" close=")" separator=",">
#{param}
</foreach>
</if>
group by a.CUSTOMER_NO order by CREATE_TIME desc
</select>
<select id="getCustomerOwnerPage" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.CustomerOwnerSelectVo">
SELECT
a.CUSTOMER_ID AS 'customerId',
a.CUSTOMER_NAME as 'customerName',
a.CUSTOMER_NO as 'customerCode'
FROM
t_settle_domain a
where
1=1
<if test="customerName != null and customerName.trim() != ''">
AND a.CUSTOMER_NAME like CONCAT('%',#{customerName},'%')
</if>
<if test="settleIdList != null and settleIdList.size >0">
AND a.id in
<foreach item="item" index="index" collection="settleIdList" open="(" separator="," close=")">
#{item}
</foreach>
</if>
and a.id in (select b.settle_id from m_setttle_customer_user b where b.user_id = #{userId}) and a.DELETE_FLAG = '0'
group by a.CUSTOMER_NO order by CREATE_TIME desc
</select>
</mapper>
......@@ -115,7 +115,9 @@ public class YifuTokenEndpoint {
user.getNickname(),user.getSystemFlag(), SecurityConstants.BCRYPT + user.getPassword(),
user.getPhone(), true, true, true,
CommonConstants.STATUS_NORMAL.equals(user.getLockFlag()),
user.getUserGroup(),authorities, user.getLdapDn());
user.getUserGroup(),authorities, user.getLdapDn(),
info.getClientRoleMap(),info.getSettleIdList(),
user.getType());
thisUser.setClientRoleMap(info.getClientRoleMap());
return thisUser;
}
......
......@@ -80,12 +80,12 @@ public class YifuClientLoginSuccessHandler implements AuthenticationSuccessHandl
}*/
/*if (null != user.getClientRoleMap()){//验证角色
List<Integer> thisClientRoleList = user.getClientRoleMap().get(clientId);
List<Long> thisClientRoleList = user.getClientRoleMap().get(clientId);
if(null == thisClientRoleList){
if(null != ServiceNameConstants.CLIENT_NAME_MAP.get(clientId)){
clientId = ServiceNameConstants.CLIENT_NAME_MAP.get(clientId);
}
throw new InvalidException(user.getNickName()+"没有\""+ clientId +"\"的角色!请联系管理员分配角色!");
throw new InvalidException(user.getNickname()+"没有\""+ clientId +"\"的角色!请联系管理员分配角色!");
}else{
if (null != user.getAuthorities()){//剔除非登录终端的权限(权限只能重建,不能修改)
final String finalClientId = clientId;
......
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>yifu</artifactId>
<groupId>com.yifu.cloud.plus.v1</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>yifu-business</artifactId>
<description>定时任务提供</description>
<packaging>pom</packaging>
<!--项目子模块-->
<modules>
<module>yifu-business-api</module>
<module>yifu-business-biz</module>
</modules>
</project>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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