Commit 5c6caba2 authored by huyuchen's avatar huyuchen

Merge branch 'fxj-dev' into develop

# Conflicts:
#	yifu-common/yifu-common-dapr/src/main/resources/META-INF/spring.factories
#	yifu-common/yifu-common-ldap/src/main/resources/ldapConfig.properties
parents c1319299 72c3b978
apiVersion: apps/v1 # 指定api版本,此值必须在kubectl api-versions中
kind: Deployment # 指定创建资源的角色/类型
metadata: # 资源的元数据/属性
name: yifu-ekp # 资源的名字,在同一个namespace中必须唯一
namespace: qas-mvp # 部署在哪个namespace中
spec: # 资源规范字段
selector: # 选择器
matchLabels: # 匹配标签
app: yifu-ekp
replicas: 2 # 声明副本数目
#revisionHistoryLimit: 3 # 保留历史版本
#strategy: # 策略
# rollingUpdate: # 滚动更新
# maxSurge: 30% # 最大额外可以存在的副本数,可以为百分比,也可以为整数
# maxUnavailable: 30% # 示在更新过程中能够进入不可用状态的 Pod 的最大值,可以为百分比,也可以为整数
# type: RollingUpdate # 滚动更新策略
template: # 模版
metadata: # 模版
labels: # 设定资源的标签
app: yifu-ekp
annotations:
dapr.io/enabled: "true" #设定此参数为 true 注入Dapr sidecar到pod
dapr.io/app-id: "yifu-ekp" #应用程序唯一 ID。 用于服务发现、状态封装 和 发布/订阅 消费者ID
dapr.io/app-port: "5077" #这个参数告诉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标签
kubernetes.io/hostname: yfmaster1
containers: # 容器
- name: yifu-ekp # 容器的名字
#image: 192.168.1.110:5500/qas-mvp/yifu-ekp-biz:1.0.0 # 容器镜像地址
image: hub.worfu.com/qas-mvp/yifu-ekp-biz:1.0.0 #临时地址
imagePullPolicy: Always # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
# Always,每次都检查;Never,每次都不检查(不管本地是否有);IfNotPresent,如果本地有就不检查,如果没有就拉取(手动测试时,
# 已经打好镜像存在docker容器中时,使用存在不检查级别,
# 默认为每次都检查,然后会进行拉取新镜像,因镜像仓库不存在,导致部署失败)
ports:
- containerPort: 5002 # 容器端口
env: # 启动环境配置信息 active and timeZone set
- name: SPRING_PROFILES_ACTIVE
value: test
- name: TZ
value: Asia/Shanghai
resources: #资源配置限制
limits: # 最大使用
memory: "4096Mi"
#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-ekp # 资源的名字,在同一个namespace中必须唯一
name: yifu-ekp # 资源的名字,在同一个namespace中必须唯一
namespace: qas-mvp # 部署在哪个namespace中
spec: # 资源规范字段
ports:
- port: 5077 # service 端口
protocol: TCP # 协议
targetPort: 5077 # 容器暴露的端口
name: http-ekp # 端口名称
- port: 3500 # service 端口
protocol: TCP # 协议
targetPort: 3500 # 容器暴露的端口
name: http-ekp-dapr
selector: # 选择器
app: yifu-ekp # 资源名称
type: ClusterIP # ClusterIP 类型
\ No newline at end of file
......@@ -106,6 +106,7 @@
<module>yifu-business</module>
<module>yifu-msg</module>
<module>yifu-permission</module>
<module>yifu-ekp</module>
</modules>
<dependencyManagement>
......
......@@ -73,6 +73,10 @@ public class DateUtil {
* yyyy-MM-dd hh:mm:ss
*/
public static final String DATETIME_PATTERN_MINUTE = "yyyy-MM-dd HH:mm";
/**
* yyyy-MM-dd-hh
*/
public static final String DATETIME_PATTERN_HOUR = "yyyyMMddHH";
/**
* yyyyMMddHHmmss
*/
......@@ -478,6 +482,20 @@ public class DateUtil {
return cal.getTime();
}
/**
* @param date
* @param mnt
* @return java.util.Date
*/
public static String dateIncreaseByHour(Date date, int mnt, String fmt) {
Calendar cal = GregorianCalendar.getInstance(TimeZone.getTimeZone("GMT"));
cal.setTime(date);
cal.add(Calendar.HOUR, mnt);
return dateToString(cal.getTime(), fmt);
}
/**
* @param date
* @param mnt
......
......@@ -50,6 +50,18 @@
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-ekp</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-ekp-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<properties>
......
package com.yifu.cloud.plus.v1.yifu.common.dapr.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* @Author huyc
* @Date 2024-02-28
* @Description
* @Version 1.0
*/
@Data
@Component
@PropertySource("classpath:daprConfig.properties")
@ConfigurationProperties(value = "dapr.ekp", ignoreInvalidFields = false)
public class DaprEkpProperties {
/*
* @author fxj
* @date 14:34
* @Description dapr sidercar url 如:http://localhost:3005/v1.0/invoke/
**/
String appUrl;
/*
* @author fxj
* @date 14:35
* @decription app_id 如:"yifu_upms_sider"
**/
String appId;
String appPort;
String httpPort;
String grpcPort;
String metricsPort;
}
package com.yifu.cloud.plus.v1.yifu.common.dapr.util;
import com.alibaba.fastjson.JSON;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprEkpProperties;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.*;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import java.util.List;
/**
* @Author huyc
* @Date 2024-02-28
* @Description
* @Version 1.0
*/
@Log4j2
@EnableConfigurationProperties(DaprEkpProperties.class)
public class EkpDaprUtils {
@Autowired
private DaprEkpProperties daprProperties;
/**
* @Author huyc
* @Description 新增社保明细数据
* @Date 16:18 2024/02/28
* @Param
* @return
**/
public R<EkpSocialPushInfoVo> pushSocialInfoToEkp(List<EkpPushSocialParam> unPushList) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpSocialPush/inner/pushSocialInfoToEkp", JSON.toJSONString(unPushList), EkpSocialPushInfoVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 新增公积金明细数据
* @Date 10:22 2024/03/06
* @Param
* @return
**/
public R<EkpSocialPushInfoVo> pushFundInfoToEkp(List<EkpPushFundParam> unPushList) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpFundPush/inner/pushFundInfoToEkp", JSON.toJSONString(unPushList), EkpSocialPushInfoVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 新增工资明细数据
* @Date 10:23 2024/03/11
* @Param
* @return
**/
public R<Boolean> pushSalaryInfoToEkp(List<EkpSalaryParam> unPushList) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpSalaryPush/inner/pushSalaryInfoToEkp", JSON.toJSONString(unPushList), Boolean.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 新增管理费明细数据
* @Date 9:23 2024/03/14
* @Param
* @return
**/
public R<EkpIncomePushInfoVo> pushManagerInfoToEkp(EkpIncomeParamManage incomeParam) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpmanagerinfo/inner/pushManangerInfoToEkp", JSON.toJSONString(incomeParam), EkpIncomePushInfoVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 新增管理费明细数据
* @Date 9:23 2024/03/14
* @Param
* @return
**/
public R<EkpSocialPushInfoVo> jobPushManagerInfoToEkp(List<EkpIncomeParamManage> incomeParam) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpmanagerinfo/inner/jobPushManagerInfoToEkp", JSON.toJSONString(incomeParam), EkpSocialPushInfoVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 新增风险金明细数据
* @Date 11:15 2024/03/18
* @Param
* @return
**/
public R<EkpIncomePushInfoVo> pushRiskInfoToEkp(EkpIncomeParamRisk incomeParam) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpriskinfo/inner/pushRiskInfoToEkp", JSON.toJSONString(incomeParam), EkpIncomePushInfoVo.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 新增风险金明细数据
* @Date 11:15 2024/03/18
* @Param
* @return
**/
public R<EkpSocialPushInfoVo> jobpushRiskInfoToEkp(List<EkpIncomeParamRisk> incomeParam) {
return HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/ekpriskinfo/inner/jobPushRiskInfoToEkp", JSON.toJSONString(incomeParam), EkpSocialPushInfoVo.class, SecurityConstants.FROM_IN);
}
}
......@@ -5,5 +5,6 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SocialDaprUtils,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.InsuranceDaprUtil,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.PermissionDaprUtil,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SalaryDaprUtil
com.yifu.cloud.plus.v1.yifu.common.dapr.util.SalaryDaprUtil,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.EkpDaprUtils,\
com.yifu.cloud.plus.v1.yifu.common.dapr.util.PermissionDaprUtil
......@@ -30,4 +30,16 @@ dapr.msg.appId=yifu-msg
#\u6D4B\u8BD5\u73AF\u5883-EKP\u6743\u9650
dapr.permission.appUrl=http://yifu-permission.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
dapr.permission.appId=yifu-permission
\ No newline at end of file
dapr.permission.appId=yifu-permission
#\u6D4B\u8BD5\u73AF\u5883-EKP
dapr.ekp.appUrl=http://yifu-ekp.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
dapr.ekp.appId=yifu-ekp
#\u6D4B\u8BD5\u73AF\u5883-\u85AA\u8D44\u670D\u52A1
#dapr.salary.appUrl=http://yifu-salary.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
#dapr.salary.appId=yifu-salary
#\u6D4B\u8BD5\u73AF\u5883-\u793E\u4FDD\u670D\u52A1
#dapr.social.appUrl=http://yifu-social.qas-mvp.svc.cluster.local:3500/v1.0/invoke/
#dapr.social.appId=yifu-social
\ No newline at end of file
......@@ -154,7 +154,7 @@ public class EkpPushFundParam implements Serializable {
private String fd_3b43922217c6f8;
/**
* 公积金创建人姓名
* 缴纳地
**/
private String fd_3b5cc487bb46fa;
......
......@@ -258,8 +258,15 @@ public class EkpPushSocialParam implements Serializable {
private String fd_3b438e33f37378;
/**
* 社保创建人姓名
* 缴纳地
**/
private String fd_3b5cc58d1a70fe;
/**
* 社保ids
**/
private String socialIds;
/**
* 是否为预估
**/
private String ygFlag;
}
\ No newline at end of file
ldap.url=192.168.0.240
ldap.port=389
ldap.userName=cn=admin,dc=worfu,dc=com
ldap.password=Yifu123456!
ldap.password=Yifu123ABC!
ldap.dn=dc=worfu,dc=com
ldap.baseDn=ou=\u7696\u4FE1\u4EBA\u529B\u96C6\u56E2,ou=wanxin,dc=worfu,dc=com
\ No newline at end of file
# 忽略匹配下列规则的Git 提交 V2.1.0
### gradle ###
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
### STS ###
.settings/
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
*.lock
rebel.xml
### NetBeans ###
nbproject/private/
build/
nbbuild/
nbdist/
.nb-gradle/
### maven ###
target/
*.war
*.ear
*.zip
*.tar
*.tar.gz
### logs ####
/logs/
*.log
### temp ignore ###
*.cache
*.diff
*.patch
*.tmp
*.java~
*.properties~
*.xml~
### system ignore ###
.DS_Store
Thumbs.db
Servers
.metadata
upload
gen_code
### node ###
node_modules
<?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-ekp</artifactId>
<description>EKP-数据处理</description>
<packaging>pom</packaging>
<!--项目子模块-->
<modules>
<module>yifu-ekp-api</module>
<module>yifu-ekp-biz</module>
</modules>
</project>
<?xml version="1.0"?>
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu</artifactId>
<version>1.0.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>yifu-ekp-api</artifactId>
<packaging>jar</packaging>
<description>EKP 数据处理</description>
<dependencies>
<!-- core 工具类 -->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-core</artifactId>
</dependency>
<!--swagger 注解-->
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
</dependency>
<!--mybatis 依赖-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-mybatis</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-archives-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-ekp</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-social-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
/*
* 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.ekp.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 公积金明细表
*
* @author fxj
* @date 2024-03-06 09:33:55
*/
@Data
@TableName("ekp_fund_info")
@EqualsAndHashCode()
@Schema(description = "公积金明细表")
public class EkpFundInfo {
@TableId(type = IdType.ASSIGN_ID)
private String fd_id;
@Schema(description ="订单类型")
private String fd_3add9dd7833db8;
@Schema(description ="是否有预估")
private String fd_3add9de0be85e4;
@Schema(description ="与工资合并结算")
private String fd_3add9e1a670144;
@Schema(description ="项目编码")
private String fd_3adfe8c70d3fd4;
@Schema(description ="项目名称")
private String fd_3adfe8c8468e54;
@Schema(description ="单号")
private String fd_3adfe95c169c48;
@Schema(description ="客户编码")
private String fd_3adfe8c73cb5a4;
@Schema(description ="客户名称")
private String fd_3adfe8c81a0e42;
@Schema(description ="姓名")
private String fd_3adfe8c79989d4;
@Schema(description ="身份证号")
private String fd_3adfe8c7e4cf7a;
@Schema(description ="生成月份")
private String fd_3adfe8cb96c41e;
@Schema(description ="缴纳月份")
private String fd_3adfe8cf632700;
@Schema(description ="实际结算月份")
private String fd_3adfe8cff746bc;
@Schema(description ="预估单位部分")
private Double fd_3adfeb4e8064a8;
@Schema(description ="预估个人部分")
private Double fd_3adfeb52a4d2e2;
@Schema(description ="实缴单位部分")
private Double fd_3adfeb52fbe966;
@Schema(description ="实缴个人部分")
private Double fd_3adfeb5366dd82;
@Schema(description ="单位差异")
private Double fd_3adfeb53c70f72;
@Schema(description ="个人差异")
private Double fd_3adfeb5413fb44;
@Schema(description ="应收")
private Double fd_3adfeb7b624f06;
@Schema(description ="结算状态")
private String fd_3add9ea428879a;
@Schema(description ="收款状态")
private String fd_3add9eaeed2560;
@Schema(description ="结算单号")
private String fd_3adfeb830523b6;
@Schema(description ="收款单号")
private String fd_3adfeb8489e6c2;
@Schema(description ="应支出")
private Double fd_3adfeb7bd97464;
@Schema(description ="支出结算状态")
private String fd_3add9edfbc6f7e;
@Schema(description ="付款状态")
private String fd_3add9eed23894a;
@Schema(description ="支出缴纳单号")
private String fd_3adfeb83a704c8;
@Schema(description ="付款单号")
private String fd_3adfeb84175f28;
@Schema(description ="公积金账户")
private String fd_3aeafa8cc144bc;
@Schema(description ="是否全部结算")
private String fd_3b13afd1ef7798;
@Schema(description ="HRO结算月份")
private Date fd_3b13d8f8fdfb76;
@Schema(description ="项目台账ID")
private String fd_3b16e37baa5650_text;
@Schema(description ="项目台账ID(ID)")
private String fd_3b16e37baa5650;
@Schema(description ="是否为BPO业务")
private String fd_3b178ec510bf48;
@Schema(description ="个人应支")
private Double fd_3b35a6989dfde8;
@Schema(description ="单位应收")
private Double fd_3b35a6518b73b2;
@Schema(description ="单位应支")
private Double fd_3b35a6992a20a4;
@Schema(description ="个人应收")
private Double fd_3b35a65138a7fc;
@Schema(description ="薪酬申请编号")
private String fd_3b3cabbf094f1a;
@Schema(description ="变更记录")
private String fd_3b3e41ef8db782;
@Schema(description ="创建人姓名")
private String fd_3b439246fcdc7c;
@Schema(description ="缴纳地")
private String fd_3b5cc4b2aae22a;
@Schema(description ="公积金id")
private String fd_3b10b38f90d138;
@Schema(description ="我司到款单位")
private String fd_3b01956c77864c ;
@Schema(description ="创建时间")
private Date createTime;
}
/*
* 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.ekp.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* @author huyc
* @date 2024-03-13 16:14:37
*/
@Data
@TableName("ekp_manager_info")
@EqualsAndHashCode()
@Schema(description = "管理费明细表")
public class EkpManagerInfo {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "id")
private String fdId;
/**
* 项目编码
*/
@Schema(description = "项目编码")
private String fd_3adfef5e5b9d34;
/**
* 项目名称
*/
@Schema(description = "项目名称")
private String fd_3adfef5eb6691c;
/**
* 单号
*/
@Schema(description = "单号")
private String fd_3adfef7f5d2b52;
/**
* 客户编码
*/
@Schema(description = "客户编码")
private String fd_3adfef80202ab2;
/**
* 客户名称
*/
@Schema(description = "客户名称")
private String fd_3adfef7fc1c886;
/**
* 类型
*/
@Schema(description = "类型")
private String fd_3adda3037e3bda;
/**
* 产生来源
*/
@Schema(description = "产生来源")
private String fd_3adda320daef5a;
/**
* 姓名
*/
@Schema(description = "姓名")
private String fd_3adfef948da848;
/**
* 身份证号
*/
@Schema(description = "身份证号")
private String fd_3adfef94dcdbb4;
/**
* 管理费金额
*/
@Schema(description = "管理费金额")
private Double fd_3adfef963bae28;
/**
* 应收
*/
@Schema(description = "应收")
private Double fd_3adfefa3daae72;
/**
* 结算状态
*/
@Schema(description = "结算状态")
private String fd_3adfefaaa3bbd0;
/**
* 收款状态
*/
@Schema(description = "收款状态")
private String fd_3adfefaaef583e;
/**
* 实际结算月份
*/
@Schema(description = "实际结算月份")
private String fd_3ae0c23cb3fccc;
/**
* 生成月份
*/
@Schema(description = "生成月份")
private String fd_3ae0c23b2e9a92;
/**
* 结算单号
*/
@Schema(description = "结算单号")
private String fd_3aead3c68b1078;
/**
* 收款单号
*/
@Schema(description = "收款单号")
private String fd_3aeae58b14691c;
/**
* 数据来源
*/
@Schema(description = "数据来源")
private String fd_3b0b7231bb5896;
/**
* 是否全部结算
*/
@Schema(description = "是否全部结算")
private String fd_3b13b15f5b63fa;
/**
* 管理费ID
*/
@Schema(description = "管理费ID")
private String fd_3b13dc864a3052;
/**
* HRO结算月
*/
@Schema(description = "HRO结算月")
private String fd_3b13dd215b55b2;
/**
* 项目台账ID(ID)
*/
@Schema(description = "项目台账ID(ID)")
private String fd_3b16e47cb6874c;
/**
* 项目台账ID
*/
@Schema(description = "项目台账ID")
private String fd_3b16e47cb6874c_text;
/**
* 薪酬申请编号
*/
@Schema(description = "薪酬申请编号")
private String fd_3b3bf110837a96;
/**
* 变更记录
*/
@Schema(description = "变更记录")
private String fd_3b3e43a10ab4b2;
@Schema(description = "创建时间")
private Date createTime;
}
/*
* 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.ekp.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* @author huyc
* @date 2024-03-13 16:14:37
*/
@Data
@TableName("ekp_risk_info")
@EqualsAndHashCode()
@Schema(description = "风险金明细表")
public class EkpRiskInfo {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@Schema(description = "id")
private String fdId;
/**
* 项目编码
*/
@Schema(description = "项目编码")
private String fd_3adfef5e5b9d34;
/**
* 项目名称
*/
@Schema(description = "项目名称")
private String fd_3adfef5eb6691c;
/**
* 单号
*/
@Schema(description = "单号")
private String fd_3adfef7f5d2b52;
/**
* 客户编码
*/
@Schema(description = "客户编码")
private String fd_3adfef80202ab2;
/**
* 客户名称
*/
@Schema(description = "客户名称")
private String fd_3adfef7fc1c886;
/**
* 类型
*/
@Schema(description = "类型")
private String fd_3adda3037e3bda;
/**
* 产生来源
*/
@Schema(description = "产生来源")
private String fd_3adda320daef5a;
/**
* 姓名
*/
@Schema(description = "姓名")
private String fd_3adfef948da848;
/**
* 身份证号
*/
@Schema(description = "身份证号")
private String fd_3adfef94dcdbb4;
/**
* 风险金金额
*/
@Schema(description = "风险金金额")
private Double fd_3adfef963bae28;
/**
* 应收
*/
@Schema(description = "应收")
private Double fd_3adfefa3daae72;
/**
* 结算状态
*/
@Schema(description = "结算状态")
private String fd_3adfefaaa3bbd0;
/**
* 收款状态
*/
@Schema(description = "收款状态")
private String fd_3adfefaaef583e;
/**
* 生成月份
*/
@Schema(description = "生成月份")
private String fd_3ae0c3032cffc8;
/**
* 实际结算月份
*/
@Schema(description = "实际结算月份")
private String fd_3ae0c3044e5958;
/**
* 结算单号
*/
@Schema(description = "结算单号")
private String fd_3aead7204bb594;
/**
* 收款单号
*/
@Schema(description = "收款单号")
private String fd_3aeae59b70fe5a;
/**
* 数据来源
*/
@Schema(description = "数据来源")
private String fd_3b0b7210ce9432;
/**
* 是否全部结算
*/
@Schema(description = "是否全部结算")
private String fd_3b13b218b76a36;
/**
* HRO结算月份
*/
@Schema(description = "HRO结算月份")
private String fd_3b13b2093b95ec;
/**
* 风险金ID
*/
@Schema(description = "风险金ID")
private String fd_3b13db120a8224;
/**
* 项目台账ID
*/
@Schema(description = "项目台账ID")
private String fd_3b16e4cd2c9a86_text;
/**
* 项目台账ID(ID)
*/
@Schema(description = "项目台账ID(ID)")
private String fd_3b16e4cd2c9a86;
/**
* 薪酬申请编号
*/
@Schema(description = "薪酬申请编号")
private String fd_3b3bf0c3198840;
/**
* 变更记录
*/
@Schema(description = "变更记录")
private String fd_3b3e4252b16714;
@Schema(description = "创建时间")
private Date createTime;
}
package com.yifu.cloud.plus.v1.ekp.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 社保明细表
*
* @author huyc
* @date 2024-02-29 11:21:56
*/
@Data
@TableName("ekp_social_info")
@EqualsAndHashCode()
@Schema(description = "社保明细表")
public class EkpSocialInfo {
@TableId(type = IdType.ASSIGN_ID)
private String fd_id;
@Schema(description ="订单类型")
private String fd_3add9dd7833db8;
@Schema(description ="是否有预估")
private String fd_3add9de0be85e4;
@Schema(description ="与工资合并结算")
private String fd_3add9e1a670144;
@Schema(description ="项目编码")
private String fd_3adfe8c70d3fd4;
@Schema(description ="项目名称")
private String fd_3adfe8c8468e54;
@Schema(description ="单号")
private String fd_3adfe95c169c48;
@Schema(description ="客户编码")
private String fd_3adfe8c73cb5a4;
@Schema(description ="客户名称")
private String fd_3adfe8c81a0e42;
@Schema(description ="姓名")
private String fd_3adfe8c79989d4;
@Schema(description ="身份证号")
private String fd_3adfe8c7e4cf7a;
@Schema(description ="生成月份")
private String fd_3adfe8cb96c41e;
@Schema(description ="缴纳月份")
private String fd_3adfe8cf632700;
@Schema(description ="实际结算月份")
private String fd_3adfe8cff746bc;
@Schema(description ="预估单位部分")
private Double fd_3adfeb4e8064a8;
@Schema(description ="实缴个人部分")
private Double fd_3adfeb5366dd82;
@Schema(description ="单位差异")
private Double fd_3adfeb53c70f72;
@Schema(description ="个人差异")
private Double fd_3adfeb5413fb44;
@Schema(description ="应收")
private Double fd_3adfeb7b624f06;
@Schema(description ="结算状态")
private String fd_3add9ea428879a;
@Schema(description ="收款状态")
private String fd_3add9eaeed2560;
@Schema(description ="结算单号")
private String fd_3adfeb830523b6;
@Schema(description ="收款单号")
private String fd_3adfeb8489e6c2;
@Schema(description ="应支出")
private Double fd_3adfeb7bd97464;
@Schema(description ="支出结算状态")
private String fd_3add9edfbc6f7e;
@Schema(description ="付款状态")
private String fd_3add9eed23894a;
@Schema(description ="支出缴纳单号")
private String fd_3adfeb83a704c8;
@Schema(description ="付款单号")
private String fd_3adfeb84175f28;
@Schema(description ="社保户")
private String fd_3aeafa25916e82;
@Schema(description ="实缴个人失业")
private Double fd_3af9f2fa79ee72;
@Schema(description ="实缴个人养老")
private Double fd_3af9f2ec516c30;
@Schema(description ="实缴个人补缴利息")
private Double fd_3af9f2fcde9158;
@Schema(description ="预估个人合计")
private Double fd_3af9f285ee1e38;
@Schema(description ="实缴单位失业")
private Double fd_3af9f2dd5d8fb8;
@Schema(description ="实缴单位工伤")
private Double fd_3af9f2e03295dc;
@Schema(description ="预估个人养老")
private Double fd_3af9f27a3974e6;
@Schema(description ="预估单位医疗")
private Double fd_3af9f25b851e94;
@Schema(description ="实缴合计")
private Double fd_3af9f3059e5b9c;
@Schema(description ="预估单位大病救助")
private Double fd_3af9f26a3cae94;
@Schema(description ="预估单位生育")
private Double fd_3af9f263e094c6;
@Schema(description ="预估单位工伤")
private Double fd_3af9f2617e530a;
@Schema(description ="预估个人补缴利息")
private Double fd_3af9f281651734;
@Schema(description ="实缴单位合计")
private Double fd_3af9f2e9208e4e;
@Schema(description ="实缴单位大病救助")
private Double fd_3af9f2e6dfb3f4;
@Schema(description ="实缴个人医疗")
private Double fd_3af9f2f8290f24;
@Schema(description ="实缴单位生育")
private Double fd_3af9f2e237f794;
@Schema(description ="实缴单位补缴利息")
private Double fd_3af9f2e45a5d78;
@Schema(description ="预估个人大病救助")
private Double fd_3af9f283a6f288;
@Schema(description ="实缴单位医疗")
private Double fd_3af9f2db1e5e16;
@Schema(description ="预估个人医疗")
private Double fd_3af9f27ce947ac;
@Schema(description ="实缴个人大病救助")
private Double fd_3af9f2ff2c9f42;
@Schema(description ="预估单位失业")
private Double fd_3af9f25f5e9cc4;
@Schema(description ="预估合计")
private Double fd_3af9f2883941b4;
@Schema(description ="预估单位补缴利息")
private Double fd_3af9f267a03bd6;
@Schema(description ="实缴个人合计")
private Double fd_3af9f303037214;
@Schema(description ="实缴单位养老")
private Double fd_3af9f2d8df88c0;
@Schema(description ="预估个人失业")
private Double fd_3af9f27efdd912;
@Schema(description ="预估单位养老")
private Double fd_3af9f257b1b586;
@Schema(description ="我司到款单位")
private String fd_3b0194c7336de0;
@Schema(description ="社保ID")
private String fd_3b0b716e771e06;
@Schema(description ="是否全部结算")
private String fd_3b1354c3add8c2;
@Schema(description ="项目台账ID")
private String fd_3b16e2f436ff98_text;
@Schema(description ="项目台账ID(ID)")
private String fd_3b16e2f436ff98;
@Schema(description ="是否为BPO业务")
private String fd_3b178e3ba5e258;
@Schema(description ="单位应收")
private Double fd_3b35a57b6e9d0a;
@Schema(description ="单位应支")
private Double fd_3b35a5b0b04d54;
@Schema(description ="个人应收")
private Double fd_3b35a57aee1428;
@Schema(description ="个人应支")
private Double fd_3b35a5b03100c4;
@Schema(description ="薪酬申请编号")
private String fd_3b3cab5f343a90;
@Schema(description ="变更记录")
private String fd_3b3e41ac916e66;
@Schema(description ="创建人姓名")
private String fd_3b438e61af0a56;
@Schema(description ="缴纳地")
private String fd_3b5cc5e697079a;
@Schema(description ="社保合集ID")
private String fd_3b6495a5ad6e10;
@Schema(description ="创建时间")
private Date createTime;
}
package com.yifu.cloud.plus.v1.ekp.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author huyc
* @Date 2024/3/1
* @Description 获取项目明细信息
* @Version 1.0
*/
@Data
public class EkpDeptInfoVo implements Serializable {
/**
* fdId
**/
private String fdId;
/**
* 是否为BPO项目
**/
private String isBpo;
/**
* 社保费用
**/
private String socialType;
/**
* 结算方式
**/
private String settleType;
/**
* 项目名称
**/
private String deptName;
/**
* 项目编码
**/
private String deptNo;
}
package com.yifu.cloud.plus.v1.ekp.vo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentSocialPush;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author huyc
* @Date 2024/2/29
* @Description 社保明细推送相关参数
* @Version 1.0
*/
@Data
public class EkpIncomePushInfoVo implements Serializable {
/**
* 社保id合并
**/
private String id;
}
package com.yifu.cloud.plus.v1.ekp.vo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentSocialPush;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author huyc
* @Date 2024/2/29
* @Description 社保明细推送相关参数
* @Version 1.0
*/
@Data
public class EkpSocialPushInfoVo implements Serializable {
/**
* 社保明细
**/
private List<TPaymentSocialPush> unPushInfo;
/**
* 社保id集合
**/
private List<String> paymentIds;
/**
* 社保id合并
**/
private String paymentIdSum;
}
package com.yifu.cloud.plus.v1.ekp.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author huyc
* @Date 2024/3/15
* @Description 社保明细更新相关参数
* @Version 1.0
*/
@Data
public class EkpSocialStatusUpdateVo implements Serializable {
/**
* 社保明细
**/
private List<Object> param;
/**
* 更新sql
**/
private String updateSql;
}
package com.yifu.cloud.plus.v1.ekp.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author huyc
* @Date 2024/3/1
* @Description 获取社保公积金订单明细信息
* @Version 1.0
*/
@Data
public class EkpSocialSumInfoVo implements Serializable {
/**
* 预估合计
**/
private Double ygSum;
/**
* 预估个人合计
**/
private Double ygPersonSum;
/**
* 实缴合计
**/
private Double sjSum;
/**
* 预估单位合计
**/
private Double ygDwSum;
/**
* 实缴单位合计
**/
private Double sjDwSum;
/**
* 实缴个人合计
**/
private Double sjPersonSum;
/**
* 应收
**/
private Double ys;
/**
* 个人应收
**/
private Double personYs;
/**
* 单位应收
**/
private Double dwYs;
/**
* 应支出
**/
private Double yzc;
/**
* 个人应支
**/
private Double personYzc;
/**
* 单位应支
**/
private Double dwYzc;
}
FROM moxm/java:1.8-full
RUN mkdir -p /yifu-ekp-biz
WORKDIR yifu-ekp-biz
ARG JAR_FILE=target/yifu-ekp-biz.jar
COPY ${JAR_FILE} app.jar
EXPOSE 5077
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
CMD sleep 60; java -jar app.jar $JAVA_OPTS
#!/usr/bin/env bash
mvn clean package -Pprd -Dmaven.test.skip=true docker:build -DpushImage
\ No newline at end of file
#!/usr/bin/env bash
mvn clean package -Ptest -Dmaven.test.skip=true docker:build -DpushImage
\ No newline at end of file
#!/usr/bin/env bash
mvn clean package -Dmaven.test.skip=true docker:build -DpushImage
\ No newline at end of file
<?xml version="1.0"?>
<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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu</artifactId>
<version>1.0.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>yifu-ekp-biz</artifactId>
<packaging>jar</packaging>
<description>EKP-数据处理</description>
<dependencies>
<!--选配: orm 模块-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-ekp-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--必备:安全模块-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-security</artifactId>
</dependency>
<!--必备:日志处理-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-log</artifactId>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-archives-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-salary-api</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-insurances-api</artifactId>
<version>1.0.0</version>
</dependency>
<!--必备:swagger-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-swagger</artifactId>
</dependency>
<!--必备:undertow容器-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-archives-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-salary-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.apache.shardingsphere</groupId>-->
<!-- <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>-->
<!-- <version>5.1.2</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.shardingsphere</groupId>-->
<!-- <artifactId>sharding-transaction-base-seata-at</artifactId>-->
<!-- <version>4.1.1</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.yifu.cloud.plus.v1</groupId>
<artifactId>yifu-common-ekp</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.1.0</version>
<configuration>
<serverId>docker-hub</serverId>
<!--指定生成的镜像名-->
<imageName>${my.hub.host}/${map.group.name}/${project.artifactId}:${project.version}</imageName>
<dockerDirectory>${project.basedir}/</dockerDirectory>
<!--指定远程 docker api地址-->
<!--<dockerHost>http://172.16.66.232:2375</dockerHost>-->
<!-- 这里是复制 jar 包到 docker 容器指定目录配置-->
<resources>
<resource>
<targetPath>/</targetPath>
<!--jar 包所在的路径 此处配置的 即对应 target 目录-->
<directory>${project.build.directory}</directory>
<!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<forceTags>true</forceTags>
</configuration>
</plugin>
</plugins>
</build>
</project>
package com.yifu.cloud.plus.v1.ekp;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.EnableYifuResourceServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author pig archetype
* <p>
* 项目启动类
*/
@EnableYifuResourceServer
@SpringBootApplication
public class EkpApplication {
public static void main(String[] args) {
SpringApplication.run(EkpApplication.class, args);
}
}
//package com.yifu.cloud.plus.v1.ekp.config;
//
//import com.google.common.collect.Range;
//import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
//import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
//import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
//import org.apache.shardingsphere.sharding.api.sharding.standard.StandardShardingAlgorithm;
//import org.springframework.stereotype.Component;
//
//import java.time.format.DateTimeFormatter;
//import java.util.*;
//
//@Component
//public class OTAStrategyShardingAlgorithm implements StandardShardingAlgorithm<String> {
//
// private static final DateTimeFormatter yyyy = DateTimeFormatter.ofPattern("yyyy");
//
// /**
// * 数据插入
// * @param collection
// * @param preciseShardingValue
// * @Author hyc
// * @Date 2022-07-21
// * @return
// */
// @Override
// public String doSharding(Collection<String> collection, PreciseShardingValue<String> preciseShardingValue) {
//
// String value = preciseShardingValue.getValue();
// String tableSuffix = value.substring(0,4);
// String logicTableName = preciseShardingValue.getLogicTableName();
// String table = logicTableName.concat("_").concat(tableSuffix);
// return collection.stream().filter(s -> s.equals(table)).findFirst().orElseThrow(() -> new RuntimeException("逻辑分表不存在"));
// }
//
// /**
// * 【范围】数据查询
// * @param collection
// * @param rangeShardingValue
// * @Author hyc
// * @Date 2022-07-21
// * @return
// */
// @Override
// public Collection<String> doSharding(Collection<String> collection, RangeShardingValue<String> rangeShardingValue) {
// // 逻辑表名
// String logicTableName = rangeShardingValue.getLogicTableName();
//
// // 范围参数
// Range<String> valueRange = rangeShardingValue.getValueRange();
// Set<String> queryRangeTables = extracted(logicTableName, valueRange.lowerEndpoint(), valueRange.upperEndpoint());
// ArrayList<String> tables = new ArrayList<>(collection);
// tables.retainAll(queryRangeTables);
// return tables;
// }
//
// /**
// * 根据范围计算表名
// * @param logicTableName 逻辑表明
// * @param lowerEndpoint 范围起点
// * @param upperEndpoint 范围终端
// * @Author hyc
// * @Date 2022-07-21
// * @return 物理表名集合
// */
// private Set<String> extracted(String logicTableName, String lowerEndpoint, String upperEndpoint) {
// Set<String> rangeTable = new HashSet<>();
// while (DateUtil.stringToDate(lowerEndpoint + "01").before(DateUtil.stringToDate(upperEndpoint + "01"))) {
// String str = getTableNameByDate(lowerEndpoint, logicTableName);
// rangeTable.add(str);
// lowerEndpoint = DateUtil.dateToString(DateUtil.dateIncreaseByYear(DateUtil.stringToDate(lowerEndpoint + "01"),1),DateUtil.DATETIME_YYYYMM);
// }
// // 获取物理表明
// String tableName = getTableNameByDate(upperEndpoint, logicTableName);
// rangeTable.add(tableName);
// return rangeTable;
// }
//
// /**
// * 根据日期获取表明
// * @param dateTime 日期
// * @param logicTableName 逻辑表名
// * @Author hyc
// * @Date 2022-07-21
// * @return 物理表名
// */
// private String getTableNameByDate(String dateTime, String logicTableName) {
// String tableSuffix = dateTime.substring(0,4);
// return logicTableName.concat("_").concat(tableSuffix);
// }
//
// @Override
// public Properties getProps() {
// return null;
// }
//
// @Override
// public void init(Properties properties) {
//
// }
//}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.EkpFundInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 社保明细推送
* @author huyc
* @date 2024-02-28 17:01:22
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/ekpFundPush" )
@Tag(name = "公积金明细推送")
public class TEkpFundInfoController {
private final EkpFundInfoService fundInfoService;
/**
* @param unPushList
* @Description: 推送公积金明细数据
* @Author: huyc
* @Date: 2024/3/6
* @return:
**/
@Inner
@PostMapping("/inner/pushFundInfoToEkp")
public EkpSocialPushInfoVo pushFundInfoToEkp(@RequestBody List<EkpPushFundParam> unPushList) {
return fundInfoService.pushFundInfoToEkp(unPushList);
}
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.EkpManagerInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpIncomeParamManage;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
*
*
* @author huyc
* @date 2024-03-13 16:14:37
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/ekpmanagerinfo" )
@Tag(name = "管理费明细")
public class TEkpManagerInfoController {
private final EkpManagerInfoService ekpManagerInfoService;
/**
* @param incomeParam
* @Description: 推送管理费明细数据
* @Author: huyc
* @Date: 2024/3/14
* @return:
**/
@Inner
@PostMapping("/inner/pushManangerInfoToEkp")
public EkpIncomePushInfoVo pushManangerInfoToEkp(@RequestBody EkpIncomeParamManage incomeParam) {
return ekpManagerInfoService.pushManangerInfoToEkp(incomeParam);
}
/**
* @param incomeParamList
* @Description: 推送管理费明细数据
* @Author: huyc
* @Date: 2024/3/14
* @return:
**/
@Inner
@PostMapping("/inner/jobPushManagerInfoToEkp")
public EkpSocialPushInfoVo jobPushManagerInfoToEkp(@RequestBody List<EkpIncomeParamManage> incomeParamList) {
return ekpManagerInfoService.jobPushManagerInfoToEkp(incomeParamList);
}
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.EkpRiskInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpIncomeParamRisk;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
*
*
* @author huyc
* @date 2024-03-13 16:14:37
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/ekpriskinfo" )
@Tag(name = "风险金明细")
public class TEkpRiskInfoController {
private final EkpRiskInfoService ekpRiskInfoService;
/**
* @param incomeParam
* @Description: 推送管理费明细数据
* @Author: huyc
* @Date: 2024/3/14
* @return:
**/
@Inner
@PostMapping("/inner/pushRiskInfoToEkp")
public EkpIncomePushInfoVo pushRiskInfoToEkp(@RequestBody EkpIncomeParamRisk incomeParam) {
return ekpRiskInfoService.pushRiskInfoToEkp(incomeParam);
}
/**
* @param incomeParam
* @Description: 推送管理费明细数据
* @Author: huyc
* @Date: 2024/3/14
* @return:
**/
@Inner
@PostMapping("/inner/jobPushRiskInfoToEkp")
public EkpSocialPushInfoVo jobPushRiskInfoToEkp(@RequestBody List<EkpIncomeParamRisk> incomeParam) {
return ekpRiskInfoService.jobPushRiskInfoToEkp(incomeParam);
}
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.EkpSalaryInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* 工资明细推送
* @author huyc
* @date 2024-03-11 10:04:12
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/ekpSalaryPush" )
@Tag(name = "工资明细推送")
public class TEkpSalaryInfoController {
private final EkpSalaryInfoService salaryInfoService;
/**
* @param unPushList
* @Description: 推送工资明细数据
* @Author: huyc
* @Date: 2024/2/29
* @return:
**/
@Inner
@PostMapping("/inner/pushSalaryInfoToEkp")
public Boolean pushSalaryInfoToEkp(@RequestBody List<EkpSalaryParam> unPushList) {
return salaryInfoService.pushSalaryInfoToEkp(unPushList);
}
}
package com.yifu.cloud.plus.v1.ekp.controller;
import com.alibaba.fastjson.JSONObject;
import com.yifu.cloud.plus.v1.ekp.service.EkpSocialInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialStatusUpdateVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
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 com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.List;
/**
* 社保明细推送
* @author huyc
* @date 2024-02-28 17:01:22
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/ekpSocialPush" )
@Tag(name = "社保明细推送")
public class TEkpSocialInfoController {
private final EkpSocialInfoService socialInfoService;
/**
* @param unPushList
* @Description: 推送社保明细数据
* @Author: huyc
* @Date: 2024/2/29
* @return:
**/
@Inner
@PostMapping("/inner/pushSocialInfoToEkp")
public EkpSocialPushInfoVo pushSocialInfoToEkp(@RequestBody List<EkpPushSocialParam> unPushList) {
return socialInfoService.pushSocialInfoToEkp(unPushList);
}
/**
* 修改项目表--EKP调用接口
* @author hyc
* @param jsonStr 社保订单明细
* @return R
*/
@Operation(summary = "更新社保明细状态--EKP调用接口", description = "更新社保明细状态--EKP调用接口")
@SysLog("更新社保明细状态--EKP调用接口")
@PostMapping("/updateScoialStatus")
public R updateScoialStatus(@RequestBody String jsonStr) {
try {
jsonStr = URLDecoder.decode(jsonStr, CommonConstants.UTF8).replace("=", "");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
List<EkpSocialStatusUpdateVo> list= JSONObject.parseArray(jsonStr, EkpSocialStatusUpdateVo.class);
return socialInfoService.updateScoialStatus(list);
}
}
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpFundInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialSumInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 社保明细表
*
* @author huyc
* @date 2024-02-29 11:21:56
*/
@Mapper
public interface EkpFundInfoMapper extends BaseMapper<EkpFundInfo> {
/**
* 获取所有项目信息
* @param
* @return
*/
List<EkpDeptInfoVo> getAllEkpDeptInfo();
/**
* 根据身份证和生成月份获取费用合计
* @param
* @return
*/
EkpSocialSumInfoVo getCostSumInfo(@Param("card") String empIdCard, @Param("month") String createMonth);
/**
* 查询公积金id是否存在
* @param
* @return
*/
long getFundCount(@Param("fundId") String fundId);
}
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpManagerInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
*
*
* @author huyc
* @date 2024-03-13 16:14:37
*/
@Mapper
public interface EkpManagerInfoMapper extends BaseMapper<EkpManagerInfo> {
/**
* 根据身项目编码获取ekp项目明细
* @param
* @return
*/
EkpDeptInfoVo getEkpDeptInfoByNo(@Param("deptNo") String getEkpDeptInfoByNo);
}
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpRiskInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
*
*
* @author huyc
* @date 2024-03-13 16:14:37
*/
@Mapper
public interface EkpRiskInfoMapper extends BaseMapper<EkpRiskInfo> {
/**
* 根据身项目编码获取ekp项目明细
* @param
* @return
*/
EkpDeptInfoVo getEkpDeptInfoByNo(@Param("deptNo") String getEkpDeptInfoByNo);
}
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSalaryInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialSumInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 工资明细表
*
* @author huyc
* @date 2024-03-11 11:21:56
*/
@Mapper
public interface EkpSalaryInfoMapper extends BaseMapper<EkpSalaryInfo> {
/**
* 获取所有项目信息
* @param
* @return
*/
List<EkpDeptInfoVo> getAllEkpDeptInfo();
/**
* 根据身份证和生成月份获取费用合计
* @param
* @return
*/
EkpSocialSumInfoVo getCostSumInfo(@Param("card") String empIdCard, @Param("month") String createMonth);
}
package com.yifu.cloud.plus.v1.ekp.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialSumInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 社保明细表
*
* @author huyc
* @date 2024-02-29 11:21:56
*/
@Mapper
public interface EkpSocialInfoMapper extends BaseMapper<EkpSocialInfo> {
/**
* 获取所有项目信息
* @param
* @return
*/
List<EkpDeptInfoVo> getAllEkpDeptInfo();
/**
* 根据身份证和生成月份获取费用合计
* @param
* @return
*/
EkpSocialSumInfoVo getCostSumInfo(@Param("card") String empIdCard, @Param("month") String createMonth);
void updateSocialStatus(@Param("sql") String sql);
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpFundInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 公积金明细表
*
* @author huyc
* @date 2024-02-29 11:21:56
*/
public interface EkpFundInfoService extends IService<EkpFundInfo> {
@Transactional
EkpSocialPushInfoVo pushFundInfoToEkp(List<EkpPushFundParam> unPushList);
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpManagerInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpIncomeParamManage;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
*
*
* @author huyc
* @date 2024-03-13 16:14:37
*/
public interface EkpManagerInfoService extends IService<EkpManagerInfo> {
@Transactional
EkpIncomePushInfoVo pushManangerInfoToEkp(EkpIncomeParamManage incomeParam);
@Transactional
EkpSocialPushInfoVo jobPushManagerInfoToEkp(List<EkpIncomeParamManage> incomeParam);
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpRiskInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpIncomeParamRisk;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
*
*
* @author huyc
* @date 2024-03-13 16:14:37
*/
public interface EkpRiskInfoService extends IService<EkpRiskInfo> {
@Transactional
EkpIncomePushInfoVo pushRiskInfoToEkp(EkpIncomeParamRisk incomeParam);
@Transactional
EkpSocialPushInfoVo jobPushRiskInfoToEkp(List<EkpIncomeParamRisk> incomeParam);
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSalaryInfo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 工资明细表
*
* @author huyc
* @date 2024-03-11 11:21:56
*/
public interface EkpSalaryInfoService extends IService<EkpSalaryInfo> {
@Transactional
// @ShardingTransactionType(TransactionType.BASE)
Boolean pushSalaryInfoToEkp(List<EkpSalaryParam> unPushList);
}
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialStatusUpdateVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 社保明细表
*
* @author huyc
* @date 2024-02-29 11:21:56
*/
public interface EkpSocialInfoService extends IService<EkpSocialInfo> {
@Transactional
// @ShardingTransactionType(TransactionType.BASE)
EkpSocialPushInfoVo pushSocialInfoToEkp(List<EkpPushSocialParam> unPushList);
R updateScoialStatus(List<EkpSocialStatusUpdateVo> list);
}
package com.yifu.cloud.plus.v1.ekp.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.ekp.entity.EkpManagerInfo;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpManagerInfoMapper;
import com.yifu.cloud.plus.v1.ekp.service.EkpManagerInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpIncomeParamManage;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* @author huyc
* @date 2024-03-14 10:14:37
*/
@Log4j2
@Service
public class EkpManagerInfoServiceImpl extends ServiceImpl<EkpManagerInfoMapper, EkpManagerInfo> implements EkpManagerInfoService {
/**
* //@Description: 管理费明细推送至ekp
* //@Author: huyc
* //@Date: 2024-3-14
* //@return: void
**/
public EkpIncomePushInfoVo pushManangerInfoToEkp(EkpIncomeParamManage incomeParam) {
//根据项目编码获取ekp所有项目信息
EkpDeptInfoVo deptInfo = baseMapper.getEkpDeptInfoByNo(incomeParam.getFd_3adfef5e5b9d34());
EkpManagerInfo managerInfoCount;
try {
//去重 防止重复推送
managerInfoCount = baseMapper.selectOne(Wrappers.<EkpManagerInfo>query().lambda()
.eq(EkpManagerInfo::getFd_3b13dc864a3052, incomeParam.getFd_3b13dae9bd70f8())
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(managerInfoCount).isPresent()) {
return null;
}
EkpManagerInfo managerInfo = new EkpManagerInfo();
//对象信息赋值
copyManagerProperties(incomeParam, managerInfo);
//项目信息
managerInfo.setFd_3b16e47cb6874c_text(deptInfo.getDeptName());
managerInfo.setFd_3b16e47cb6874c(deptInfo.getFdId());
//实际结算月份
if ("结算月本月数据".equals(deptInfo.getSocialType())) {
managerInfo.setFd_3ae0c23cb3fccc(incomeParam.getFd_3ae0c23cb3fccc());
} else if ("结算月上月数据".equals(deptInfo.getSocialType())) {
managerInfo.setFd_3ae0c23cb3fccc(DateUtil.dateToString(DateUtil.addMonthByDate(DateUtil.parseDate(incomeParam.getFd_3ae0c23cb3fccc(), "yyyy-MM"), -1), "yyyy-MM"));
} else {
managerInfo.setFd_3ae0c23cb3fccc("");
}
//是否全部结算
managerInfo.setFd_3b13b15f5b63fa("全量未结算数据".equals(deptInfo.getSocialType()) ? "是" : "否");
//创建时间
managerInfo.setCreateTime(DateUtil.getCurrentDateTime());
int i = baseMapper.insert(managerInfo);
if (i>0) {
EkpIncomePushInfoVo infoVo = new EkpIncomePushInfoVo();
infoVo.setId(managerInfo.getFdId());
return infoVo;
}else {
return null;
}
} catch (Exception e) {
log.error("管理费明细推送失败:", e);
return null;
}
}
/**
* //@Description: 管理费明细推送至ekp
* //@Author: huyc
* //@Date: 2024-3-14
* //@return: void
**/
public EkpSocialPushInfoVo jobPushManagerInfoToEkp(List<EkpIncomeParamManage> incomeParamList) {
List<EkpManagerInfo> managerInfolist = new ArrayList<>();
EkpManagerInfo managerInfoCount;
EkpDeptInfoVo deptInfo;
List<String> paymentIds = new ArrayList<>();
try {
for (EkpIncomeParamManage incomeParam : incomeParamList) {
//根据项目编码获取ekp所有项目信息
deptInfo = baseMapper.getEkpDeptInfoByNo(incomeParam.getFd_3adfef5e5b9d34());
//去重 防止重复推送
managerInfoCount = baseMapper.selectOne(Wrappers.<EkpManagerInfo>query().lambda()
.eq(EkpManagerInfo::getFd_3b13dc864a3052, incomeParam.getFd_3b13dae9bd70f8())
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(managerInfoCount).isPresent()) {
return null;
}
EkpManagerInfo managerInfo = new EkpManagerInfo();
//对象信息赋值
copyManagerProperties(incomeParam, managerInfo);
//项目信息
managerInfo.setFd_3b16e47cb6874c_text(deptInfo.getDeptName());
managerInfo.setFd_3b16e47cb6874c(deptInfo.getFdId());
//实际结算月份
if ("结算月本月数据".equals(deptInfo.getSocialType())) {
managerInfo.setFd_3ae0c23cb3fccc(incomeParam.getFd_3ae0c23cb3fccc());
} else if ("结算月上月数据".equals(deptInfo.getSocialType())) {
managerInfo.setFd_3ae0c23cb3fccc(DateUtil.dateToString(DateUtil.addMonthByDate(DateUtil.parseDate(incomeParam.getFd_3ae0c23cb3fccc(), "yyyy-MM"), -1), "yyyy-MM"));
} else {
managerInfo.setFd_3ae0c23cb3fccc("");
}
//是否全部结算
managerInfo.setFd_3b13b15f5b63fa("全量未结算数据".equals(deptInfo.getSocialType()) ? "是" : "否");
//创建时间
managerInfo.setCreateTime(DateUtil.getCurrentDateTime());
managerInfolist.add(managerInfo);
paymentIds.add(managerInfo.getFd_3b13dc864a3052());
}
if (!managerInfolist.isEmpty()) {
boolean flag = this.saveBatch(managerInfolist);
if (flag) {
//推送成功保存社保明细合并的数据对应关系
EkpSocialPushInfoVo pushInfoVo = new EkpSocialPushInfoVo();
pushInfoVo.setPaymentIds(paymentIds);
return pushInfoVo;
}
}
} catch (Exception e) {
log.error("管理费明细推送失败:", e);
return null;
}
return null;
}
private void copyManagerProperties(EkpIncomeParamManage incomeParam, EkpManagerInfo managerInfo) {
//项目编码
managerInfo.setFd_3adfef5e5b9d34(incomeParam.getFd_3adfef5e5b9d34());
//项目名称
managerInfo.setFd_3adfef5eb6691c(incomeParam.getFd_3adfef5eb6691c());
//单号
managerInfo.setFd_3adfef7f5d2b52(incomeParam.getFd_3adfef7f5d2b52());
//客户编码
managerInfo.setFd_3adfef80202ab2(incomeParam.getFd_3adfef80202ab2());
//客户名称
managerInfo.setFd_3adfef7fc1c886(incomeParam.getFd_3adfef7fc1c886());
//类型
managerInfo.setFd_3adda3037e3bda(incomeParam.getFd_3adda3037e3bda());
//产生来源
managerInfo.setFd_3adda320daef5a(incomeParam.getFd_3adda320daef5a());
//薪酬申请编号
managerInfo.setFd_3b3bf110837a96(incomeParam.getFd_3b3bf13759b850());
//姓名
managerInfo.setFd_3adfef948da848(incomeParam.getFd_3adfef948da848());
//身份证号
managerInfo.setFd_3adfef94dcdbb4(incomeParam.getFd_3adfef94dcdbb4());
//生成月份
managerInfo.setFd_3ae0c23b2e9a92(incomeParam.getFd_3ae0c23b2e9a92());
//HRO结算月
managerInfo.setFd_3b13dd215b55b2(incomeParam.getFd_3ae0c23cb3fccc());
//数据来源
managerInfo.setFd_3b0b7231bb5896("HRO");
//管理费ID
managerInfo.setFd_3b13dc864a3052(incomeParam.getFd_3b13dae9bd70f8());
//管理费金额
managerInfo.setFd_3adfef963bae28(CommonConstants.EMPTY_STRING.equals(incomeParam.getFd_3adfef963bae28()) ? null : Double.parseDouble(incomeParam.getFd_3adfef963bae28()));
//应收
managerInfo.setFd_3adfefa3daae72(CommonConstants.EMPTY_STRING.equals(incomeParam.getFd_3adfefa3daae72()) ? null : Double.parseDouble(incomeParam.getFd_3adfefa3daae72()));
//结算状态
managerInfo.setFd_3adfefaaa3bbd0("未结算");
//收款状态
managerInfo.setFd_3adfefaaef583e("未收");
//单号
managerInfo.setFd_3adfef7f5d2b52("GLF" + LocalDateTimeUtils.formatTime(LocalDateTime.now(), DateUtil.DATE_PATTERN)
+ "_" + managerInfo.getFd_3b13dc864a3052());
}
}
package com.yifu.cloud.plus.v1.ekp.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.ekp.entity.EkpRiskInfo;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpRiskInfoMapper;
import com.yifu.cloud.plus.v1.ekp.service.EkpRiskInfoService;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpIncomePushInfoVo;
import com.yifu.cloud.plus.v1.ekp.vo.EkpSocialPushInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpIncomeParamRisk;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
* @author huyc
* @date 2024-03-13 16:14:37
*/
@Log4j2
@Service
public class EkpRiskInfoServiceImpl extends ServiceImpl<EkpRiskInfoMapper, EkpRiskInfo> implements EkpRiskInfoService {
/**
* //@Description: 风险金明细推送至ekp
* //@Author: huyc
* //@Date: 2024-3-14
* //@return: void
**/
public EkpIncomePushInfoVo pushRiskInfoToEkp(EkpIncomeParamRisk incomeParam) {
//根据项目编码获取ekp所有项目信息
EkpDeptInfoVo deptInfo = baseMapper.getEkpDeptInfoByNo(incomeParam.getFd_3adfef5e5b9d34());
EkpRiskInfo riskInfoCount;
try {
//去重 防止重复推送
riskInfoCount = baseMapper.selectOne(Wrappers.<EkpRiskInfo>query().lambda()
.eq(EkpRiskInfo::getFd_3b13db120a8224, incomeParam.getFd_3b13dac4c03022())
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(riskInfoCount).isPresent()) {
return null;
}
EkpRiskInfo riskInfoInfo = new EkpRiskInfo();
//对象信息赋值
copyManagerProperties(incomeParam, riskInfoInfo);
//项目信息
riskInfoInfo.setFd_3b16e4cd2c9a86_text(deptInfo.getDeptName());
riskInfoInfo.setFd_3b16e4cd2c9a86(deptInfo.getFdId());
//实际结算月份
if ("结算月本月数据".equals(deptInfo.getSocialType())) {
riskInfoInfo.setFd_3ae0c3044e5958(incomeParam.getFd_3ae0c3044e5958());
} else if ("结算月上月数据".equals(deptInfo.getSocialType())) {
riskInfoInfo.setFd_3ae0c3044e5958(DateUtil.dateToString(DateUtil.addMonthByDate(DateUtil.parseDate(incomeParam.getFd_3ae0c3044e5958(), "yyyy-MM"), -1), "yyyy-MM"));
} else {
riskInfoInfo.setFd_3ae0c3044e5958("");
}
//是否全部结算
riskInfoInfo.setFd_3b13b218b76a36("全量未结算数据".equals(deptInfo.getSocialType()) ? "是" : "否");
//创建时间
riskInfoInfo.setCreateTime(DateUtil.getCurrentDateTime());
int i = baseMapper.insert(riskInfoInfo);
if (i>0) {
EkpIncomePushInfoVo infoVo = new EkpIncomePushInfoVo();
infoVo.setId(riskInfoInfo.getFdId());
return infoVo;
} else {
return null;
}
} catch (Exception e) {
log.error("管理费明细推送失败:", e);
return null;
}
}
/**
* //@Description: 风险金明细推送至ekp
* //@Author: huyc
* //@Date: 2024-3-14
* //@return: void
**/
public EkpSocialPushInfoVo jobPushRiskInfoToEkp(List<EkpIncomeParamRisk> incomeParamList) {
List<String> paymentIds = new ArrayList<>();
List<EkpRiskInfo> riskInfoList = new ArrayList();
EkpRiskInfo riskInfoCount;
EkpDeptInfoVo deptInfo;
try {
for (EkpIncomeParamRisk incomeParam : incomeParamList) {
//根据项目编码获取ekp所有项目信息
deptInfo = baseMapper.getEkpDeptInfoByNo(incomeParam.getFd_3adfef5e5b9d34());
//去重 防止重复推送
riskInfoCount = baseMapper.selectOne(Wrappers.<EkpRiskInfo>query().lambda()
.eq(EkpRiskInfo::getFd_3b13db120a8224, incomeParam.getFd_3b13dac4c03022())
.last(CommonConstants.LAST_ONE_SQL));
if (Optional.ofNullable(riskInfoCount).isPresent()) {
return null;
}
EkpRiskInfo riskInfoInfo = new EkpRiskInfo();
//对象信息赋值
copyManagerProperties(incomeParam, riskInfoInfo);
//项目信息
riskInfoInfo.setFd_3b16e4cd2c9a86_text(deptInfo.getDeptName());
riskInfoInfo.setFd_3b16e4cd2c9a86(deptInfo.getFdId());
//实际结算月份
if ("结算月本月数据".equals(deptInfo.getSocialType())) {
riskInfoInfo.setFd_3ae0c3044e5958(incomeParam.getFd_3ae0c3044e5958());
} else if ("结算月上月数据".equals(deptInfo.getSocialType())) {
riskInfoInfo.setFd_3ae0c3044e5958(DateUtil.dateToString(DateUtil.addMonthByDate(DateUtil.parseDate(incomeParam.getFd_3ae0c3044e5958(), "yyyy-MM"), -1), "yyyy-MM"));
} else {
riskInfoInfo.setFd_3ae0c3044e5958("");
}
//是否全部结算
riskInfoInfo.setFd_3b13b218b76a36("全量未结算数据".equals(deptInfo.getSocialType()) ? "是" : "否");
//创建时间
riskInfoInfo.setCreateTime(DateUtil.getCurrentDateTime());
paymentIds.add(riskInfoInfo.getFd_3b13db120a8224());
riskInfoList.add(riskInfoInfo);
}
if (!riskInfoList.isEmpty()) {
boolean flag = this.saveBatch(riskInfoList);
if (flag) {
//推送成功保存社保明细合并的数据对应关系
EkpSocialPushInfoVo pushInfoVo = new EkpSocialPushInfoVo();
pushInfoVo.setPaymentIds(paymentIds);
return pushInfoVo;
}
}
} catch (Exception e) {
log.error("管理费明细推送失败:", e);
return null;
}
return null;
}
private void copyManagerProperties(EkpIncomeParamRisk incomeParam, EkpRiskInfo riskInfoInfo) {
//项目编码
riskInfoInfo.setFd_3adfef5e5b9d34(incomeParam.getFd_3adfef5e5b9d34());
//项目名称
riskInfoInfo.setFd_3adfef5eb6691c(incomeParam.getFd_3adfef5eb6691c());
//单号
riskInfoInfo.setFd_3adfef7f5d2b52(incomeParam.getFd_3adfef7f5d2b52());
//客户编码
riskInfoInfo.setFd_3adfef80202ab2(incomeParam.getFd_3adfef80202ab2());
//客户名称
riskInfoInfo.setFd_3adfef7fc1c886(incomeParam.getFd_3adfef7fc1c886());
//类型
riskInfoInfo.setFd_3adda3037e3bda(incomeParam.getFd_3adda3037e3bda());
//产生来源
riskInfoInfo.setFd_3adda320daef5a(incomeParam.getFd_3adda320daef5a());
//薪酬申请编号
riskInfoInfo.setFd_3b3bf0c3198840(incomeParam.getFd_3b3bf0e75ef6c4());
//姓名
riskInfoInfo.setFd_3adfef948da848(incomeParam.getFd_3adfef948da848());
//身份证号
riskInfoInfo.setFd_3adfef94dcdbb4(incomeParam.getFd_3adfef94dcdbb4());
//生成月份
riskInfoInfo.setFd_3ae0c3032cffc8(incomeParam.getFd_3ae0c3032cffc8());
//HRO结算月
riskInfoInfo.setFd_3b13b2093b95ec(incomeParam.getFd_3ae0c3044e5958());
//数据来源
riskInfoInfo.setFd_3b0b7210ce9432("HRO");
//风险金ID
riskInfoInfo.setFd_3b13db120a8224(incomeParam.getFd_3b13dac4c03022());
//管理费金额
riskInfoInfo.setFd_3adfef963bae28(CommonConstants.EMPTY_STRING.equals(incomeParam.getFd_3adfef963bae28()) ? null : Double.parseDouble(incomeParam.getFd_3adfef963bae28()));
//应收
riskInfoInfo.setFd_3adfefa3daae72(CommonConstants.EMPTY_STRING.equals(incomeParam.getFd_3adfefa3daae72()) ? null : Double.parseDouble(incomeParam.getFd_3adfefa3daae72()));
//结算状态
riskInfoInfo.setFd_3adfefaaa3bbd0("未结算");
//收款状态
riskInfoInfo.setFd_3adfefaaef583e("未收");
//单号
riskInfoInfo.setFd_3adfef7f5d2b52("FXJ" + LocalDateTimeUtils.formatTime(LocalDateTime.now(), DateUtil.DATE_PATTERN)
+ "_" + riskInfoInfo.getFd_3b13db120a8224());
}
}
# 数据源配置
spring:
shardingsphere:
datasource:
ds0:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.1.122:33306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root
password: ll_mysql
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 0 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
names: ds0
rules:
sharding:
key-generators:
snowflake:
type: SNOWFLAKE
sharding-algorithms:
t-payment-inline:
props:
strategy: standard
algorithmClassName: com.yifu.cloud.plus.v1.ekp.config.OTAStrategyShardingAlgorithm
type: CLASS_BASED
tables:
ekp_social_info:
actual-data-nodes: ds0.ekp_social_info_20$->{23..24}
key-generate-strategy:
column: fd_id
key-generator-name: snowflake
table-strategy:
standard:
sharding-column: fd_3adfe8cb96c41e
sharding-algorithm-name: t-payment-inline
mvc:
pathmatch:
matching-strategy: ant_path_matcher
config:
activate:
on-profile: dev
redis:
host: 127.0.0.1
## spring security 配置
security:
oauth2:
resource:
loadBalanced: true
token-info-uri: http://127.0.0.1:3000/oauth/check_token
# 直接放行URL
ignore:
urls:
- /v3/api-docs
- /actuator/**
- /swagger-ui/**
\ No newline at end of file
# 数据源配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: ll_mysql
url: jdbc:mysql://192.168.0.143:3306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 0 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
mvc:
pathmatch:
matching-strategy: ant_path_matcher
config:
activate:
on-profile: prd
redis:
host: 192.168.10.153
port: 22379
password: '@yf_2017'
## spring security 配置
security:
oauth2:
resource:
loadBalanced: true
token-info-uri: http://127.0.0.1:3000/oauth/check_token
# 直接放行URL
ignore:
urls:
- /v3/api-docs
- /actuator/**
- /swagger-ui/**
\ No newline at end of file
## 数据源配置
#spring:
# shardingsphere:
# datasource:
# ds0:
# type: com.zaxxer.hikari.HikariDataSource
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://192.168.1.122:33306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
# username: root
# password: ll_mysql
# hikari:
# driver-class-name: ${spring.datasource.driver-class-name}
# jdbc-url: ${spring.datasource.url}
# username: ${spring.datasource.username}
# password: ${spring.datasource.password}
# pool-name: AmytangHikariCP
# minimum-idle: 10 # 最小空闲连接数量
# idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
# maximum-pool-size: 12 # 连接池最大连接数,默认是10
# auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
# max-lifetime: 0 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
# names: ds0
# rules:
# sharding:
# key-generators:
# snowflake:
# type: SNOWFLAKE
# sharding-algorithms:
# t-payment-inline:
# props:
# strategy: standard
# algorithmClassName: com.yifu.cloud.plus.v1.ekp.config.OTAStrategyShardingAlgorithm
# type: CLASS_BASED
# tables:
# ekp_social_info:
# actual-data-nodes: ds0.ekp_social_info_20$->{23..24}
# key-generate-strategy:
# column: fd_id
# key-generator-name: snowflake
# table-strategy:
# standard:
# sharding-column: fd_3adfe8cb96c41e
# sharding-algorithm-name: t-payment-inline
#
# mvc:
# pathmatch:
# matching-strategy: ant_path_matcher
# config:
# activate:
# on-profile: test
# redis:
# host: 192.168.1.65
# port: 22379
# password: '@yf_2017'
### spring security 配置
#security:
# oauth2:
# resource:
# loadBalanced: true
# token-info-uri: http://127.0.0.1:3000/oauth/check_token
# # 直接放行URL
# ignore:
# urls:
# - /v3/api-docs
# - /actuator/**
# - /swagger-ui/**
# 数据源配置
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
config:
activate:
on-profile: test
redis:
host: 192.168.1.65
port: 22379
password: '@yf_2017'
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: ll_mysql
url: jdbc:mysql://192.168.1.122:33306/ekp?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
hikari:
driver-class-name: ${spring.datasource.driver-class-name}
jdbc-url: ${spring.datasource.url}
username: ${spring.datasource.username}
password: ${spring.datasource.password}
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 0 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
## spring security 配置
security:
oauth2:
resource:
loadBalanced: true
token-info-uri: http://127.0.0.1:3000/oauth/check_token
# 直接放行URL
ignore:
urls:
- /v3/api-docs
- /actuator/**
- /swagger-ui/**
\ No newline at end of file
server:
port: 5077
# 加解密根密码
jasypt:
encryptor:
password: yifu #根密码
# 暴露监控端点
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
# mybaits-plus配置
mybatis-plus:
mapper-locations: classpath:/mapper/*Mapper.xml
global-config:
banner: false
db-config:
id-type: auto
table-underline: true
logic-delete-value: 1
logic-not-delete-value: 0
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
spring:
application:
name: @artifactId@
servlet:
multipart:
#所有上传文件最大大小
max-request-size: 100MB
#单个文件最大大小
max-file-size: 50MB
#swagger 文档 https://springdoc.org/
### OpenAPI3 注解
# OpenAPI 3 注解位置
# @Tag(name = “接口类描述”) Controller 类上
# @Operation(summary =“接口方法描述”) Controller 方法上
# @Parameters Controller 方法上
# @Parameter(description=“参数描述”) Controller 方法上 @Parameters 里
# @Parameter(description=“参数描述”) Controller 方法的参数上
# @Parameter(hidden = true) 或 @Hidden --
# @Schema DTO类上
# @Schema DTO属性上
springdoc:
api-docs:
#是否开启文档功能
enabled: true
#swagger后端请求地址
path: /api-docs
swagger-ui:
#自定义swagger前端请求路径,输入http:127.0.0.1:8080/test会自动重定向到swagger页面
path: /api
#包扫描路径
packages-to-scan: com.yifu.cloud.plus.v1.ekp.controller
#这里定义了两个分组,可定义多个,也可以不定义
group-configs:
#分组名
#- group: admin
#按路径匹配
# pathsToMatch: /admin/**
#分组名
- group: ekp
#按包路径匹配
packagesToScan: com.yifu.cloud.plus.v1.ekp.controller
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false">
<springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
<property name="log.path" value="logs/${spring.application.name}"/>
<!-- 彩色日志格式 -->
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- 彩色日志依赖的渲染类 -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
<conversionRule conversionWord="wex"
converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
<conversionRule conversionWord="wEx"
converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
<!-- Console log output -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- Log file debug output -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
</appender>
<!-- Log file error output -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<maxFileSize>50MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
</appender>
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="debug"/>
<appender-ref ref="error"/>
</root>
</configuration>
<?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.ekp.mapper.EkpFundInfoMapper">
<resultMap id="ekpSocialInfoMap" type="com.yifu.cloud.plus.v1.ekp.entity.EkpFundInfo">
<id property="fd_id" column="fd_id"/>
<result property="fd_3add9dd7833db8" column="fd_3add9dd7833db8"/>
<result property="fd_3add9de0be85e4" column="fd_3add9de0be85e4"/>
<result property="fd_3add9e1a670144" column="fd_3add9e1a670144"/>
<result property="fd_3adfe8c70d3fd4" column="fd_3adfe8c70d3fd4"/>
<result property="fd_3adfe8c8468e54" column="fd_3adfe8c8468e54"/>
<result property="fd_3adfe95c169c48" column="fd_3adfe95c169c48"/>
<result property="fd_3adfe8c73cb5a4" column="fd_3adfe8c73cb5a4"/>
<result property="fd_3adfe8c81a0e42" column="fd_3adfe8c81a0e42"/>
<result property="fd_3adfe8c79989d4" column="fd_3adfe8c79989d4"/>
<result property="fd_3adfe8c7e4cf7a" column="fd_3adfe8c7e4cf7a"/>
<result property="fd_3adfe8cb96c41e" column="fd_3adfe8cb96c41e"/>
<result property="fd_3adfe8cf632700" column="fd_3adfe8cf632700"/>
<result property="fd_3adfe8cff746bc" column="fd_3adfe8cff746bc"/>
<result property="fd_3adfeb4e8064a8" column="fd_3adfeb4e8064a8"/>
<result property="fd_3adfeb52a4d2e2" column="fd_3adfeb52a4d2e2"/>
<result property="fd_3adfeb52fbe966" column="fd_3adfeb52fbe966"/>
<result property="fd_3adfeb5366dd82" column="fd_3adfeb5366dd82"/>
<result property="fd_3adfeb53c70f72" column="fd_3adfeb53c70f72"/>
<result property="fd_3adfeb5413fb44" column="fd_3adfeb5413fb44"/>
<result property="fd_3adfeb7b624f06" column="fd_3adfeb7b624f06"/>
<result property="fd_3add9ea428879a" column="fd_3add9ea428879a"/>
<result property="fd_3add9eaeed2560" column="fd_3add9eaeed2560"/>
<result property="fd_3adfeb830523b6" column="fd_3adfeb830523b6"/>
<result property="fd_3adfeb8489e6c2" column="fd_3adfeb8489e6c2"/>
<result property="fd_3adfeb7bd97464" column="fd_3adfeb7bd97464"/>
<result property="fd_3add9edfbc6f7e" column="fd_3add9edfbc6f7e"/>
<result property="fd_3add9eed23894a" column="fd_3add9eed23894a"/>
<result property="fd_3adfeb83a704c8" column="fd_3adfeb83a704c8"/>
<result property="fd_3adfeb84175f28" column="fd_3adfeb84175f28"/>
<result property="fd_3aeafa8cc144bc" column="fd_3aeafa8cc144bc"/>
<result property="fd_3b13afd1ef7798" column="fd_3b13afd1ef7798"/>
<result property="fd_3b13d8f8fdfb76" column="fd_3b13d8f8fdfb76"/>
<result property="fd_3b16e37baa5650_text" column="fd_3b16e37baa5650_text"/>
<result property="fd_3b16e37baa5650" column="fd_3b16e37baa5650"/>
<result property="fd_3b178ec510bf48" column="fd_3b178ec510bf48"/>
<result property="fd_3b35a6989dfde8" column="fd_3b35a6989dfde8"/>
<result property="fd_3b35a6518b73b2" column="fd_3b35a6518b73b2"/>
<result property="fd_3b35a6992a20a4" column="fd_3b35a6992a20a4"/>
<result property="fd_3b35a65138a7fc" column="fd_3b35a65138a7fc"/>
<result property="fd_3b3cabbf094f1a" column="fd_3b3cabbf094f1a"/>
<result property="fd_3b3e41ef8db782" column="fd_3b3e41ef8db782"/>
<result property="fd_3b439246fcdc7c" column="fd_3b439246fcdc7c"/>
<result property="fd_3b5cc4b2aae22a" column="fd_3b5cc4b2aae22a"/>
<result property="fd_3b10b38f90d138" column="fd_3b10b38f90d138"/>
<result property="fd_3b01956c77864c" column="fd_3b01956c77864c"/>
<result property="createTime" column="create_time"/>
</resultMap>
<!--查询项目信息-->
<select id="getAllEkpDeptInfo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo">
SELECT
a.fd_id as fdId,
a.fd_3b1480cd9dcb60 as settleType,
a.fd_3b15f64dd59a28 as isBpo,
a.fd_3b13b25ea90966 as socialType,
a.fd_3a2b38c61ef9aa as deptName,
a.fd_3a37fe508071fe as deptNo
from ekp_24a8e6a7fc143bb8c48a a
group by fd_3a37fe508071fe
</select>
<!--查询公积金明细信息-->
<select id="getCostSumInfo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpSocialSumInfoVo">
SELECT
round(sum(ifnull(fd_3adfeb52a4d2e2,0)),2) as ygPersonSum,
round(sum(ifnull(fd_3adfeb4e8064a8,0)),2) as ygDwSum,
round(sum(ifnull(fd_3adfeb52fbe966,0)),2) as sjDwSum,
round(sum(ifnull(fd_3adfeb5366dd82,0)),2) as sjPersonSum,
round(sum(ifnull(fd_3adfeb7b624f06,0)),2) as ys,
round(sum(ifnull(fd_3b35a65138a7fc,0)),2) as personYs,
round(sum(ifnull(fd_3b35a6518b73b2,0)),2) as dwYs
from ekp_fund_info
where fd_3adfe8c7e4cf7a = #{card} and fd_3adfe8cb96c41e = #{month}
</select>
<select id="getFundCount" resultType="java.lang.Long">
SELECT
count(1)
from ekp_fund_info
where fd_3b10b38f90d138 = #{fundId}
</select>
</mapper>
<?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.ekp.mapper.EkpManagerInfoMapper">
<resultMap id="ekpManagerInfoMap" type="com.yifu.cloud.plus.v1.ekp.entity.EkpManagerInfo">
<id property="fdId" column="fd_id"/>
<result property="fd_3adfef5e5b9d34" column="fd_3adfef5e5b9d34"/>
<result property="fd_3adfef5eb6691c" column="fd_3adfef5eb6691c"/>
<result property="fd_3adfef7f5d2b52" column="fd_3adfef7f5d2b52"/>
<result property="fd_3adfef80202ab2" column="fd_3adfef80202ab2"/>
<result property="fd_3adfef7fc1c886" column="fd_3adfef7fc1c886"/>
<result property="fd_3adda3037e3bda" column="fd_3adda3037e3bda"/>
<result property="fd_3adda320daef5a" column="fd_3adda320daef5a"/>
<result property="fd_3adfef948da848" column="fd_3adfef948da848"/>
<result property="fd_3adfef94dcdbb4" column="fd_3adfef94dcdbb4"/>
<result property="fd_3adfef963bae28" column="fd_3adfef963bae28"/>
<result property="fd_3adfefa3daae72" column="fd_3adfefa3daae72"/>
<result property="fd_3adfefaaa3bbd0" column="fd_3adfefaaa3bbd0"/>
<result property="fd_3adfefaaef583e" column="fd_3adfefaaef583e"/>
<result property="fd_3ae0c23cb3fccc" column="fd_3ae0c23cb3fccc"/>
<result property="fd_3ae0c23b2e9a92" column="fd_3ae0c23b2e9a92"/>
<result property="fd_3aead3c68b1078" column="fd_3aead3c68b1078"/>
<result property="fd_3aeae58b14691c" column="fd_3aeae58b14691c"/>
<result property="fd_3b0b7231bb5896" column="fd_3b0b7231bb5896"/>
<result property="fd_3b13b15f5b63fa" column="fd_3b13b15f5b63fa"/>
<result property="fd_3b13dc864a3052" column="fd_3b13dc864a3052"/>
<result property="fd_3b13dd215b55b2" column="fd_3b13dd215b55b2"/>
<result property="fd_3b16e47cb6874c" column="fd_3b16e47cb6874c"/>
<result property="fd_3b16e47cb6874c_text" column="fd_3b16e47cb6874c_text"/>
<result property="fd_3b3bf110837a96" column="fd_3b3bf110837a96"/>
<result property="fd_3b3e43a10ab4b2" column="fd_3b3e43a10ab4b2"/>
<result property="createTime" column="create_time"/>
</resultMap>
<!--查询项目信息-->
<select id="getEkpDeptInfoByNo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo">
SELECT
a.fd_id as fdId,
a.fd_3b1480cd9dcb60 as settleType,
a.fd_3b15f64dd59a28 as isBpo,
a.fd_3b13b29acea0e6 as socialType,
a.fd_3a2b38c61ef9aa as deptName,
a.fd_3a37fe508071fe as deptNo
from ekp_24a8e6a7fc143bb8c48a a
where a.fd_3a37fe508071fe = #{deptNo} limit 1
</select>
</mapper>
<?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.ekp.mapper.EkpRiskInfoMapper">
<resultMap id="ekpRiskInfoMap" type="com.yifu.cloud.plus.v1.ekp.entity.EkpRiskInfo">
<id property="fdId" column="fd_id"/>
<result property="fd_3adfef5e5b9d34" column="fd_3adfef5e5b9d34"/>
<result property="fd_3adfef5eb6691c" column="fd_3adfef5eb6691c"/>
<result property="fd_3adfef7f5d2b52" column="fd_3adfef7f5d2b52"/>
<result property="fd_3adfef80202ab2" column="fd_3adfef80202ab2"/>
<result property="fd_3adfef7fc1c886" column="fd_3adfef7fc1c886"/>
<result property="fd_3adda3037e3bda" column="fd_3adda3037e3bda"/>
<result property="fd_3adda320daef5a" column="fd_3adda320daef5a"/>
<result property="fd_3adfef948da848" column="fd_3adfef948da848"/>
<result property="fd_3adfef94dcdbb4" column="fd_3adfef94dcdbb4"/>
<result property="fd_3adfef963bae28" column="fd_3adfef963bae28"/>
<result property="fd_3adfefa3daae72" column="fd_3adfefa3daae72"/>
<result property="fd_3adfefaaa3bbd0" column="fd_3adfefaaa3bbd0"/>
<result property="fd_3adfefaaef583e" column="fd_3adfefaaef583e"/>
<result property="fd_3ae0c3032cffc8" column="fd_3ae0c3032cffc8"/>
<result property="fd_3ae0c3044e5958" column="fd_3ae0c3044e5958"/>
<result property="fd_3aead7204bb594" column="fd_3aead7204bb594"/>
<result property="fd_3aeae59b70fe5a" column="fd_3aeae59b70fe5a"/>
<result property="fd_3b0b7210ce9432" column="fd_3b0b7210ce9432"/>
<result property="fd_3b13b218b76a36" column="fd_3b13b218b76a36"/>
<result property="fd_3b13b2093b95ec" column="fd_3b13b2093b95ec"/>
<result property="fd_3b13db120a8224" column="fd_3b13db120a8224"/>
<result property="fd_3b16e4cd2c9a86_text" column="fd_3b16e4cd2c9a86_text"/>
<result property="fd_3b16e4cd2c9a86" column="fd_3b16e4cd2c9a86"/>
<result property="fd_3b3bf0c3198840" column="fd_3b3bf0c3198840"/>
<result property="fd_3b3e4252b16714" column="fd_3b3e4252b16714"/>
<result property="createTime" column="create_time"/>
</resultMap>
<!--查询项目信息-->
<select id="getEkpDeptInfoByNo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo">
SELECT
a.fd_id as fdId,
a.fd_3b1480cd9dcb60 as settleType,
a.fd_3b15f64dd59a28 as isBpo,
a.fd_3b13b2b48cc506 as socialType,
a.fd_3a2b38c61ef9aa as deptName,
a.fd_3a37fe508071fe as deptNo
from ekp_24a8e6a7fc143bb8c48a a
where a.fd_3a37fe508071fe = #{deptNo} limit 1
</select>
</mapper>
<?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.ekp.mapper.EkpSalaryInfoMapper">
<resultMap id="ekpSalaryInfoMap" type="com.yifu.cloud.plus.v1.ekp.entity.EkpSalaryInfo">
<id property="fd_id" column="fd_id"/>
<result property="fd_3adfedf98ccba2" column="fd_3adfedf98ccba2"/>
<result property="fd_3adfedf9d2bf1c" column="fd_3adfedf9d2bf1c"/>
<result property="fd_3adfedfa4410aa" column="fd_3adfedfa4410aa"/>
<result property="fd_3adfedfacd65d6" column="fd_3adfedfacd65d6"/>
<result property="fd_3adfedfb174068" column="fd_3adfedfb174068"/>
<result property="fd_3adfedfb5a68a2" column="fd_3adfedfb5a68a2"/>
<result property="fd_3adfedfb8f76d4" column="fd_3adfedfb8f76d4"/>
<result property="fd_3adfedfbd23ab8" column="fd_3adfedfbd23ab8"/>
<result property="fd_3adfedfcb17f1e" column="fd_3adfedfcb17f1e"/>
<result property="fd_3adfedfc453cc4" column="fd_3adfedfc453cc4"/>
<result property="fd_3adfee063acff0" column="fd_3adfee063acff0"/>
<result property="fd_3adfee0690737c" column="fd_3adfee0690737c"/>
<result property="fd_3adfee01668666" column="fd_3adfee01668666"/>
<result property="fd_3adfedfed8bb28" column="fd_3adfedfed8bb28"/>
<result property="fd_3adfedff3a7430" column="fd_3adfedff3a7430"/>
<result property="fd_3adfee0009d070" column="fd_3adfee0009d070"/>
<result property="fd_3adfee01dea2fa" column="fd_3adfee01dea2fa"/>
<result property="fd_3adfee12cb8840" column="fd_3adfee12cb8840"/>
<result property="fd_3adfee1374ed7a" column="fd_3adfee1374ed7a"/>
<result property="fd_3adfee1e2b2f78" column="fd_3adfee1e2b2f78"/>
<result property="fd_3adfee1e88723e" column="fd_3adfee1e88723e"/>
<result property="fd_3adfee1ee24680" column="fd_3adfee1ee24680"/>
<result property="fd_3adfee1f32fa24" column="fd_3adfee1f32fa24"/>
<result property="fd_3adfee1f901c46" column="fd_3adfee1f901c46"/>
<result property="fd_3adfee1ff1ca6a" column="fd_3adfee1ff1ca6a"/>
<result property="fd_3adfee203f86b2" column="fd_3adfee203f86b2"/>
<result property="fd_3adfee20fe5ba4" column="fd_3adfee20fe5ba4"/>
<result property="fd_3adfee21802434" column="fd_3adfee21802434"/>
<result property="fd_3adfee4ba5ad36" column="fd_3adfee4ba5ad36"/>
<result property="fd_3adfee4c0c59ee" column="fd_3adfee4c0c59ee"/>
<result property="fd_3adfee5dd14866" column="fd_3adfee5dd14866"/>
<result property="fd_3adfee5e3d1638" column="fd_3adfee5e3d1638"/>
<result property="fd_3adfeeb34ea0ea" column="fd_3adfeeb34ea0ea"/>
<result property="fd_3adfeededfb5a6" column="fd_3adfeededfb5a6"/>
<result property="fd_3adfeed3a20598" column="fd_3adfeed3a20598"/>
<result property="fd_3adfeec6db8766" column="fd_3adfeec6db8766"/>
<result property="fd_3adfeef8ef38fc" column="fd_3adfeef8ef38fc"/>
<result property="fd_3adfeedd08222c" column="fd_3adfeedd08222c"/>
<result property="fd_3adfeec730ec44" column="fd_3adfeec730ec44"/>
<result property="fd_3adfeef9440ab2" column="fd_3adfeef9440ab2"/>
<result property="fd_3adfeedd5f3cb2" column="fd_3adfeedd5f3cb2"/>
<result property="fd_3adfeec782070a" column="fd_3adfeec782070a"/>
<result property="fd_3adfeef9b9fb3e" column="fd_3adfeef9b9fb3e"/>
<result property="fd_3adfeeddacf6d4" column="fd_3adfeeddacf6d4"/>
<result property="fd_3adfeec7ccdd1c" column="fd_3adfeec7ccdd1c"/>
<result property="fd_3adfeefa1eba32" column="fd_3adfeefa1eba32"/>
<result property="fd_3adfeede08d430" column="fd_3adfeede08d430"/>
<result property="fd_3aea309696d32e" column="fd_3aea309696d32e"/>
<result property="fd_3aea30866d0c30" column="fd_3aea30866d0c30"/>
<result property="fd_3aeadf182ef6a2" column="fd_3aeadf182ef6a2"/>
<result property="fd_3aeadf1992544c" column="fd_3aeadf1992544c"/>
<result property="fd_3aeadf17522642" column="fd_3aeadf17522642"/>
<result property="fd_3aeadf191c62a0" column="fd_3aeadf191c62a0"/>
<result property="fd_3aeadede4cea84" column="fd_3aeadede4cea84"/>
<result property="fd_3aeadee1cf1266" column="fd_3aeadee1cf1266"/>
<result property="fd_3aeadf1892fdb2" column="fd_3aeadf1892fdb2"/>
<result property="fd_3aeadf17b7d03a" column="fd_3aeadf17b7d03a"/>
<result property="fd_3af9d5874f8166" column="fd_3af9d5874f8166"/>
<result property="fd_3afaa69ad4d16a" column="fd_3afaa69ad4d16a"/>
<result property="fd_3afab16f356672" column="fd_3afab16f356672"/>
<result property="fd_3b10afe8c70742" column="fd_3b10afe8c70742"/>
<result property="fd_3b13b1b91f5b34" column="fd_3b13b1b91f5b34"/>
<result property="fd_3b13b1d1ff9678" column="fd_3b13b1d1ff9678"/>
<result property="fd_3b16cecc2bbd16" column="fd_3b16cecc2bbd16"/>
<result property="fd_3b16cecd47a856" column="fd_3b16cecd47a856"/>
<result property="fd_3b16e418905f52" column="fd_3b16e418905f52"/>
<result property="fd_3b16e418905f52_text" column="fd_3b16e418905f52_text"/>
<result property="fd_3b178f3e24cc32" column="fd_3b178f3e24cc32"/>
<result property="fd_3b3beee3ec7e12" column="fd_3b3beee3ec7e12"/>
<result property="fd_3b73c214e52982" column="fd_3b73c214e52982"/>
<result property="fd_3b84d6a6c7b8f0" column="fd_3b84d6a6c7b8f0"/>
<result property="fd_3b9893328ffb46" column="fd_3b9893328ffb46"/>
<result property="fd_3bbc0711464020" column="fd_3bbc0711464020"/>
<result property="fd_3bcd2e63600446" column="fd_3bcd2e63600446"/>
<result property="fd_3bcd2e64868de6" column="fd_3bcd2e64868de6"/>
<result property="fd_3bcd2e6259fdbe" column="fd_3bcd2e6259fdbe"/>
<result property="fd_3bcd2f1a073260" column="fd_3bcd2f1a073260"/>
<result property="fd_3bcd2f180f2a8c" column="fd_3bcd2f180f2a8c"/>
<result property="fd_3bcd3102f612ea" column="fd_3bcd3102f612ea"/>
<result property="fd_3bcd2ef618ee54" column="fd_3bcd2ef618ee54"/>
<result property="fd_3bcd3119a295be" column="fd_3bcd3119a295be"/>
<result property="fd_3bcdeed22ec8dc" column="fd_3bcdeed22ec8dc"/>
<result property="fd_3bcd34a8c296c8" column="fd_3bcd34a8c296c8"/>
<result property="fd_3bcd2ef8728fe0" column="fd_3bcd2ef8728fe0"/>
<result property="fd_3bcd2f18fd1840" column="fd_3bcd2f18fd1840"/>
<result property="fd_3bcd3100f45ca2" column="fd_3bcd3100f45ca2"/>
<result property="fd_3bcd2ef727ac6a" column="fd_3bcd2ef727ac6a"/>
<result property="fd_3bcd3101d95dd8" column="fd_3bcd3101d95dd8"/>
<result property="fd_3bcd311a72d000" column="fd_3bcd311a72d000"/>
<result property="fd_3bee2056eeb800" column="fd_3bee2056eeb800"/>
<result property="fd_3c3e5ff65115a2" column="fd_3c3e5ff65115a2"/>
</resultMap>
<!--查询项目信息-->
<select id="getAllEkpDeptInfo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo">
SELECT
a.fd_id as fdId,
a.fd_3b1480cd9dcb60 as settleType,
a.fd_3b15f64dd59a28 as isBpo,
a.fd_3b13b28d4123ee as socialType,
a.fd_3a2b38c61ef9aa as deptName,
a.fd_3a37fe508071fe as deptNo
from ekp_24a8e6a7fc143bb8c48a a
group by fd_3a37fe508071fe
</select>
<!--查询工资明细信息-->
<select id="getCostSumInfo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpSocialSumInfoVo">
SELECT
round(sum(ifnull(fd_3af9f2883941b4,0)),2) as ygSum,
round(sum(ifnull(fd_3af9f285ee1e38,0)),2) as ygPersonSum,
round(sum(ifnull(fd_3af9f3059e5b9c,0)),2) as sjSum,
round(sum(ifnull(fd_3adfeb4e8064a8,0)),2) as ygDwSum,
round(sum(ifnull(fd_3af9f2e9208e4e,0)),2) as sjDwSum,
round(sum(ifnull(fd_3af9f303037214,0)),2) as sjPersonSum,
round(sum(ifnull(fd_3adfeb7b624f06,0)),2) as ys,
round(sum(ifnull(fd_3b35a57aee1428,0)),2) as personYs,
round(sum(ifnull(fd_3b35a57b6e9d0a,0)),2) as dwYs,
round(sum(ifnull(fd_3adfeb7bd97464,0)),2) as yzc,
round(sum(ifnull(fd_3b35a5b03100c4,0)),2) as personYzc,
round(sum(ifnull(fd_3b35a5b0b04d54,0)),2) as dwYzc
from ekp_social_info
where fd_3adfe8c7e4cf7a = #{card} and fd_3adfe8cb96c41e = #{month}
</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.ekp.mapper.EkpSocialInfoMapper">
<resultMap id="ekpSocialInfoMap" type="com.yifu.cloud.plus.v1.ekp.entity.EkpSocialInfo">
<id property="fd_id" column="fd_id"/>
<result property="fd_3add9dd7833db8" column="fd_3add9dd7833db8"/>
<result property="fd_3add9de0be85e4" column="fd_3add9de0be85e4"/>
<result property="fd_3add9e1a670144" column="fd_3add9e1a670144"/>
<result property="fd_3adfe8c70d3fd4" column="fd_3adfe8c70d3fd4"/>
<result property="fd_3adfe8c8468e54" column="fd_3adfe8c8468e54"/>
<result property="fd_3adfe95c169c48" column="fd_3adfe95c169c48"/>
<result property="fd_3adfe8c73cb5a4" column="fd_3adfe8c73cb5a4"/>
<result property="fd_3adfe8c81a0e42" column="fd_3adfe8c81a0e42"/>
<result property="fd_3adfe8c79989d4" column="fd_3adfe8c79989d4"/>
<result property="fd_3adfe8c7e4cf7a" column="fd_3adfe8c7e4cf7a"/>
<result property="fd_3adfe8cb96c41e" column="fd_3adfe8cb96c41e"/>
<result property="fd_3adfe8cf632700" column="fd_3adfe8cf632700"/>
<result property="fd_3adfe8cff746bc" column="fd_3adfe8cff746bc"/>
<result property="fd_3adfeb4e8064a8" column="fd_3adfeb4e8064a8"/>
<result property="fd_3adfeb5366dd82" column="fd_3adfeb5366dd82"/>
<result property="fd_3adfeb53c70f72" column="fd_3adfeb53c70f72"/>
<result property="fd_3adfeb5413fb44" column="fd_3adfeb5413fb44"/>
<result property="fd_3adfeb7b624f06" column="fd_3adfeb7b624f06"/>
<result property="fd_3add9ea428879a" column="fd_3add9ea428879a"/>
<result property="fd_3add9eaeed2560" column="fd_3add9eaeed2560"/>
<result property="fd_3adfeb830523b6" column="fd_3adfeb830523b6"/>
<result property="fd_3adfeb8489e6c2" column="fd_3adfeb8489e6c2"/>
<result property="fd_3adfeb7bd97464" column="fd_3adfeb7bd97464"/>
<result property="fd_3add9edfbc6f7e" column="fd_3add9edfbc6f7e"/>
<result property="fd_3add9eed23894a" column="fd_3add9eed23894a"/>
<result property="fd_3adfeb83a704c8" column="fd_3adfeb83a704c8"/>
<result property="fd_3adfeb84175f28" column="fd_3adfeb84175f28"/>
<result property="fd_3aeafa25916e82" column="fd_3aeafa25916e82"/>
<result property="fd_3af9f2fa79ee72" column="fd_3af9f2fa79ee72"/>
<result property="fd_3af9f2ec516c30" column="fd_3af9f2ec516c30"/>
<result property="fd_3af9f2fcde9158" column="fd_3af9f2fcde9158"/>
<result property="fd_3af9f285ee1e38" column="fd_3af9f285ee1e38"/>
<result property="fd_3af9f2dd5d8fb8" column="fd_3af9f2dd5d8fb8"/>
<result property="fd_3af9f2e03295dc" column="fd_3af9f2e03295dc"/>
<result property="fd_3af9f27a3974e6" column="fd_3af9f27a3974e6"/>
<result property="fd_3af9f25b851e94" column="fd_3af9f25b851e94"/>
<result property="fd_3af9f3059e5b9c" column="fd_3af9f3059e5b9c"/>
<result property="fd_3af9f26a3cae94" column="fd_3af9f26a3cae94"/>
<result property="fd_3af9f263e094c6" column="fd_3af9f263e094c6"/>
<result property="fd_3af9f2617e530a" column="fd_3af9f2617e530a"/>
<result property="fd_3af9f281651734" column="fd_3af9f281651734"/>
<result property="fd_3af9f2e9208e4e" column="fd_3af9f2e9208e4e"/>
<result property="fd_3af9f2e6dfb3f4" column="fd_3af9f2e6dfb3f4"/>
<result property="fd_3af9f2f8290f24" column="fd_3af9f2f8290f24"/>
<result property="fd_3af9f2e237f794" column="fd_3af9f2e237f794"/>
<result property="fd_3af9f2e45a5d78" column="fd_3af9f2e45a5d78"/>
<result property="fd_3af9f283a6f288" column="fd_3af9f283a6f288"/>
<result property="fd_3af9f2db1e5e16" column="fd_3af9f2db1e5e16"/>
<result property="fd_3af9f27ce947ac" column="fd_3af9f27ce947ac"/>
<result property="fd_3af9f2ff2c9f42" column="fd_3af9f2ff2c9f42"/>
<result property="fd_3af9f25f5e9cc4" column="fd_3af9f25f5e9cc4"/>
<result property="fd_3af9f2883941b4" column="fd_3af9f2883941b4"/>
<result property="fd_3af9f267a03bd6" column="fd_3af9f267a03bd6"/>
<result property="fd_3af9f303037214" column="fd_3af9f303037214"/>
<result property="fd_3af9f2d8df88c0" column="fd_3af9f2d8df88c0"/>
<result property="fd_3af9f257b1b586" column="fd_3af9f257b1b586"/>
<result property="fd_3b0194c7336de0" column="fd_3b0194c7336de0"/>
<result property="fd_3b0b716e771e06" column="fd_3b0b716e771e06"/>
<result property="fd_3b1354c3add8c2" column="fd_3b1354c3add8c2"/>
<result property="fd_3b16e2f436ff98_text" column="fd_3b16e2f436ff98_text"/>
<result property="fd_3b16e2f436ff98" column="fd_3b16e2f436ff98"/>
<result property="fd_3b178e3ba5e258" column="fd_3b178e3ba5e258"/>
<result property="fd_3b35a57b6e9d0a" column="fd_3b35a57b6e9d0a"/>
<result property="fd_3b35a5b0b04d54" column="fd_3b35a5b0b04d54"/>
<result property="fd_3b35a57aee1428" column="fd_3b35a57aee1428"/>
<result property="fd_3b35a5b03100c4" column="fd_3b35a5b03100c4"/>
<result property="fd_3b3cab5f343a90" column="fd_3b3cab5f343a90"/>
<result property="fd_3b3e41ac916e66" column="fd_3b3e41ac916e66"/>
<result property="fd_3b438e61af0a56" column="fd_3b438e61af0a56"/>
<result property="fd_3b5cc5e697079a" column="fd_3b5cc5e697079a"/>
<result property="fd_3b6495a5ad6e10" column="fd_3b6495a5ad6e10"/>
<result property="createTime" column="create_time"/>
</resultMap>
<!--查询项目信息-->
<select id="getAllEkpDeptInfo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo">
SELECT
a.fd_id as fdId,
a.fd_3b1480cd9dcb60 as settleType,
a.fd_3b15f64dd59a28 as isBpo,
a.fd_3b13479cedebd4 as socialType,
a.fd_3a2b38c61ef9aa as deptName,
a.fd_3a37fe508071fe as deptNo
from ekp_24a8e6a7fc143bb8c48a a
group by fd_3a37fe508071fe
</select>
<!--查询社保明细信息-->
<select id="getCostSumInfo" resultType="com.yifu.cloud.plus.v1.ekp.vo.EkpSocialSumInfoVo">
SELECT
round(sum(ifnull(fd_3af9f2883941b4,0)),2) as ygSum,
round(sum(ifnull(fd_3af9f285ee1e38,0)),2) as ygPersonSum,
round(sum(ifnull(fd_3af9f3059e5b9c,0)),2) as sjSum,
round(sum(ifnull(fd_3adfeb4e8064a8,0)),2) as ygDwSum,
round(sum(ifnull(fd_3af9f2e9208e4e,0)),2) as sjDwSum,
round(sum(ifnull(fd_3af9f303037214,0)),2) as sjPersonSum,
round(sum(ifnull(fd_3adfeb7b624f06,0)),2) as ys,
round(sum(ifnull(fd_3b35a57aee1428,0)),2) as personYs,
round(sum(ifnull(fd_3b35a57b6e9d0a,0)),2) as dwYs,
round(sum(ifnull(fd_3adfeb7bd97464,0)),2) as yzc,
round(sum(ifnull(fd_3b35a5b03100c4,0)),2) as personYzc,
round(sum(ifnull(fd_3b35a5b0b04d54,0)),2) as dwYzc
from ekp_social_info
where fd_3adfe8c7e4cf7a = #{card} and fd_3adfe8cb96c41e = #{month}
</select>
<update id="updateSocialStatus">
#{sql}
</update>
</mapper>
client {
application.id = seata-server ## 应用唯一id
transaction.service.group = yifu_tx_group ## 所属事务组
}
\ No newline at end of file
......@@ -8,6 +8,7 @@ spring:
redis:
host: 127.0.0.1
port: 6379
password: '@yf_2017'
datasource:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
......
......@@ -693,8 +693,8 @@
,ifnull(withholidingPersonFund.SALARY_MONEY,'') fd_3b16ce4b7fc42a
,ifnull(withholidingUnitSocial.SALARY_MONEY,'') fd_3bcd41d857b764
,ifnull(withholidingUnitFund.SALARY_MONEY,'') fd_3bcd41d77e4812
,ifnull(withholidingUnitSocial.SALARY_MONEY,'0')+ifnull(withholidingPersonSocial.SALARY_MONEY,'0') social_sum
,ifnull(withholidingUnitFund.SALARY_MONEY,'0')+ifnull(withholidingPersonFund.SALARY_MONEY,'0') fund_sum
,round(ifnull(withholidingUnitSocial.SALARY_MONEY,'0')+ifnull(withholidingPersonSocial.SALARY_MONEY,'0'),2) social_sum
,round(ifnull(withholidingUnitFund.SALARY_MONEY,'0')+ifnull(withholidingPersonFund.SALARY_MONEY,'0'),2) fund_sum
,concat(left(ifnull(a.DEDU_SOCIAL_MONTH,'1970'),4),'-',right(ifnull(a.DEDU_SOCIAL_MONTH,'02'),2)) DEDU_SOCIAL_MONTH
,concat(left(ifnull(a.DEDU_PROVIDENT_MONTH,'1970'),4),'-',right(ifnull(a.DEDU_PROVIDENT_MONTH,'02'),2)) DEDU_PROVIDENT_MONTH
,ifnull(s.BPO_FLAG,'') fd_3b178f0ded2114
......
......@@ -30,6 +30,7 @@ import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -42,7 +43,7 @@ import java.util.Date;
@Data
@TableName("t_income")
@Schema(description = "收入明细表")
public class TIncome{
public class TIncome implements Serializable {
/**
* 主键
......
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