Commit ffa2b81b authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/develop' into develop

parents bbbdd686 2313f8e6
......@@ -44,8 +44,9 @@ spec: # 资源规范字段
kubernetes.io/hostname: yfmaster1
containers: # 容器
- name: yifu-insurances # 容器的名字
image: 192.168.1.110:5500/qas-mvp/yifu-insurances-biz:1.0.0 # 容器镜像地址
imagePullPolicy: Never # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
image: localhost:5000/qas-mvp/yifu-insurances-biz:1.0.0 #临时地址
# image: 192.168.1.110:5500/qas-mvp/yifu-insurances-biz:1.0.0 # 容器镜像地址
imagePullPolicy: IfNotPresent # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
# Always,每次都检查;Never,每次都不检查(不管本地是否有);IfNotPresent,如果本地有就不检查,如果没有就拉取(手动测试时,
# 已经打好镜像存在docker容器中时,使用存在不检查级别,
# 默认为每次都检查,然后会进行拉取新镜像,因镜像仓库不存在,导致部署失败)
......
......@@ -261,7 +261,7 @@
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<!-- 天翼云-->
<my.hub.host>192.168.1.110:5500</my.hub.host>
<my.hub.host>localhost:5000</my.hub.host>
<map.group.name>qas-mvp</map.group.name>
<!-- 众多参数配置 -->
</properties>
......@@ -284,7 +284,7 @@
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>test</profiles.active>
<!-- 天翼云-->
<my.hub.host>192.168.1.110:5500</my.hub.host>
<my.hub.host>localhost:5000</my.hub.host>
<map.group.name>qas-mvp</map.group.name>
<!-- 众多参数配置 -->
</properties>
......
......@@ -183,4 +183,10 @@ public class EmpProjectDispatchVo implements Serializable {
*/
@Schema(description = "社保-县")
private Integer socialTown;
/**
* 试用期(单位月)
*/
@Schema(description ="试用期(单位月)")
private String tryPeriod;
}
......@@ -2256,6 +2256,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
project.setEmpId(emp.getId());
}
}
project.setProjectSource(CommonConstants.ONE_STRING);
project.setEmpNo(tEmployeeProjectService.getEmpNo(project.getDeptNo()));
tEmployeeProjectService.save(project);
projectAdd.setId(project.getId());
......
......@@ -16,6 +16,17 @@ spring:
username: root
password: yf_zsk
url: jdbc:mysql://192.168.1.65:22306/yifu_checks?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&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}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
## spring security 配置
security:
......
......@@ -492,4 +492,12 @@ public interface ErrorCodes {
* 派增异常: 已存在兼职工伤,请派减后再派增五险
*/
String EMP_DISPATCH_SOCIAL_INJURY_EXISTING_LIMIT = "emp.dispatch.social.injury.existing.limit";
/**
* 派增异常: 失败项重新派单社保户与已有社保户不一致
*/
String EMP_DISPATCH_SOCIAL_HOLD_NOT_SAME = "emp.dispatch.social.hold.same";
/**
* 派增异常: 失败项重新派单缴纳方式不可变更
*/
String EMP_DISPATCH_SOCIAL_PAYMENT_TYPE_NOT_SAME = "emp.dispatch.social.payment.type.same";
}
......@@ -831,7 +831,7 @@ public class ExcelUtil <T> implements Serializable {
//校验字段是否符合要求 返回错误信息
error = validateUtil(c, attr, i + 2);
if (null == error && attr.isDate() && Common.isNotNull(c)) {
c.replace("/","-").replace(CommonConstants.YEAR,"-")
c = c.replace("/","-").replace(CommonConstants.YEAR,"-")
.replace(CommonConstants.MONTH,"-").replace(CommonConstants.DAY,"");
Pattern pattern = Pattern.compile("[0-9]*");
if (pattern.matcher(c).matches()) {
......
......@@ -189,6 +189,10 @@ emp_dispatch_exist=\u6D3E\u589E\u5F02\u5E38\uFF1A \u540C\u4E00\u8EAB\u4EFD\u8BC1
emp.dispatch.social.injury.existing.limit=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5DF2\u5B58\u5728\u517C\u804C\u5DE5\u4F24\uFF0C\u8BF7\u6D3E\u51CF\u540E\u518D\u6D3E\u589E\u4E94\u9669
emp.dispatch.social.hold.same=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5931\u8D25\u9879\u91CD\u65B0\u6D3E\u5355\u793E\u4FDD\u6237\u4E0E\u5DF2\u6709\u793E\u4FDD\u6237\u4E0D\u4E00\u81F4
emp.dispatch.social.payment.type.same=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5931\u8D25\u9879\u91CD\u65B0\u6D3E\u5355\u7F34\u7EB3\u65B9\u5F0F\u4E0D\u53EF\u53D8\u66F4
......
......@@ -36,17 +36,17 @@ public class InsurancesConstants {
*/
public static final String CHANGE_ERROR = "数据发生变动,请刷新数据后重新办理";
/**
* 导出办理
* 投保导出办理
*/
public static final String EXPORT = "导出办理";
public static final String EXPORT = "投保导出办理";
/**
* 投保退回
*/
public static final String ROLLBACK = "投保退回";
/**
* 办理成功
* 投保办理成功
*/
public static final String SUCCESSFUL = "办理成功";
public static final String SUCCESSFUL = "投保办理成功";
/**
* 登记保单保费
*/
......@@ -687,18 +687,18 @@ public class InsurancesConstants {
public static final String INSURANCE_REFUND_IMPORT = "导入减员数据";
/**
* 导出待减员数据
* 减员导出办理
*/
public static final String INSURANCE_REFUND_EXPORT = "导出待减员数据";
public static final String INSURANCE_REFUND_EXPORT = "减员导出办理";
/**
* 减员成功
* 减员办理成功
*/
public static final String INSURANCE_REFUND_SUCCESS = "减员成功";
public static final String INSURANCE_REFUND_SUCCESS = "减员办理成功";
/**
* 减员退回
* 减员退回成功
*/
public static final String INSURANCE_REFUND_FAILED = "减员退回";
......
......@@ -36,7 +36,7 @@ public class EKPInteractiveParam implements Serializable {
/**
* 单据类型 (0、与薪资合并结算 1、单独结算)
*/
@Schema(description = "单据类型 (0、预估单 1、实缴单)")
@Schema(description = "单据类型 (1、预估单 2、实缴单)")
private Integer settleType;
/**
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
......@@ -33,62 +19,84 @@ import java.math.BigDecimal;
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_account_item")
@Schema(description = "工资报账表附加-工资明细")
public class TSalaryAccountItem {
@Tag(name = "工资报账表附加-工资明细")
public class TSalaryAccountItem extends Model<TSalaryAccountItem> {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty(value = "主键")
private String id;
/**
* 工资报账表ID
*/
@ExcelProperty(value = "工资报账表ID")
@Length(max = 32, message = "工资报账表ID不能超过32个字符")
@NotBlank(message = "工资报账表ID不能为空")
@ExcelAttribute(name = "工资报账表ID", isNotEmpty = true, errorInfo = "工资报账表ID不能为空", maxLength = 32)
private String salaryAccountId;
/**
* 表头名称
*/
@ExcelProperty(value = "表头名称")
@Length(max = 50, message = "表头名称不能超过50个字符")
@NotBlank(message = "表头名称不能为空")
@ExcelAttribute(name = "表头名称", isNotEmpty = true, errorInfo = "表头名称不能为空", maxLength = 50)
private String cnName;
/**
* JAVA属性名称
*/
@ExcelProperty(value = "JAVA属性名称")
@Length(max = 32, message = "JAVA属性名称不能超过32个字符")
@NotBlank(message = "JAVA属性名称不能为空")
@ExcelAttribute(name = "JAVA属性名称", isNotEmpty = true, errorInfo = "JAVA属性名称不能为空", maxLength = 32)
private String javaFiedName;
/**
* 属性值
*/
@ExcelProperty(value = "属性值")
@ExcelAttribute(name = "属性值")
private BigDecimal salaryMoney;
/**
* 文本值
*/
@ExcelProperty(value = "文本值")
@Length(max = 100, message = "文本值不能超过100个字符")
@ExcelAttribute(name = "文本值", maxLength = 100)
private String textValue;
/**
* 是否进行计算扣税:1:计算;0:不计算
*/
@ExcelProperty(value = "是否进行计算扣税:1:计算;0:不计算")
@NotBlank(message = "是否进行计算扣税不能为空")
@ExcelAttribute(name = "是否进行计算扣税", isNotEmpty = true, errorInfo = "是否进行计算扣税不能为空")
private Integer isTax;
/**
* 员工身份证号
*/
@TableField(exist = false)
private String empIdcard;
/**
* 结算月
*/
@TableField(exist = false)
private String settlementMonth;
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
private String id;
/**
* 工资报账表ID
*/
@ExcelAttribute(name = "工资报账表ID", isNotEmpty = true, errorInfo = "工资报账表ID不能为空", maxLength = 32)
@NotBlank(message = "工资报账表ID不能为空")
@Length(max = 32, message = "工资报账表ID不能超过32个字符")
@ExcelProperty("工资报账表ID")
private String salaryAccountId;
/**
* 表头名称
*/
@ExcelAttribute(name = "表头名称", isNotEmpty = true, errorInfo = "表头名称不能为空", maxLength = 50)
@NotBlank(message = "表头名称不能为空")
@Length(max = 50, message = "表头名称不能超过50个字符")
@ExcelProperty("表头名称")
private String cnName;
/**
* JAVA属性名称
*/
@ExcelAttribute(name = "JAVA属性名称", isNotEmpty = true, errorInfo = "JAVA属性名称不能为空", maxLength = 32)
@NotBlank(message = "JAVA属性名称不能为空")
@Length(max = 32, message = "JAVA属性名称不能超过32个字符")
@ExcelProperty("JAVA属性名称")
private String javaFiedName;
/**
* 属性值
*/
@ExcelAttribute(name = "属性值")
@ExcelProperty("属性值")
private BigDecimal salaryMoney;
/**
* 是否进行计算扣税:1:计算;0:不计算
*/
@ExcelAttribute(name = "是否进行计算扣税:1:计算;0:不计算", isNotEmpty = true, errorInfo = "是否进行计算扣税:1:计算;0:不计算不能为空")
@NotBlank(message = "是否进行计算扣税:1:计算;0:不计算不能为空")
@ExcelProperty("是否进行计算扣税:1:计算;0:不计算")
private Integer isTax;
/**
* 文本值
*/
@ExcelAttribute(name = "文本值", maxLength = 500)
@Length(max = 500, message = "文本值不能超过500个字符")
@ExcelProperty("文本值")
private String textValue;
/**
* 财务类型0:工资;1:绩效;2:其他;3:劳务费
*/
@TableField(exist = false)
private String salaryType;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Data
@TableName("t_salary_standard_set")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "薪资工资条配置主表")
public class TSalaryStandardSet extends BaseEntity {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
private String id;
/**
* 工资主表ID
*/
@ExcelAttribute(name = "工资主表ID", isNotEmpty = true, errorInfo = "工资主表ID不能为空", maxLength = 32)
@NotBlank(message = "工资主表ID不能为空")
@Length(max = 32, message = "工资主表ID不能超过32个字符")
@ExcelProperty("工资主表ID")
private String salaryId;
/**
* 结算部门id
*/
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@NotBlank(message = "结算部门id不能为空")
@Length(max = 32, message = "结算部门id不能超过32个字符")
@ExcelProperty("结算部门id")
private String deptId;
/**
* 是否为0不显示:0显示;1不显示
*/
@ExcelAttribute(name = "是否为0不显示:0显示;1不显示")
@ExcelProperty("是否为0不显示:0显示;1不显示")
private Integer isZero;
@TableName("t_salary_standard_set")
@Tag(name = "薪资工资条配置主表")
public class TSalaryStandardSet extends Model<TSalaryStandardSet> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty(value = "主键")
private String id;
/**
* 工资主表ID
*/
@NotBlank(message = "工资主表ID不能为空")
@Length(max = 32, message = "工资主表ID不能超过32个字符")
@ExcelAttribute(name = "工资主表ID", isNotEmpty = true, errorInfo = "工资主表ID不能为空", maxLength = 32)
@ExcelProperty(value = "工资主表ID")
private String salaryId;
/**
* 结算部门id
*/
@NotBlank(message = "结算部门id不能为空")
@Length(max = 32, message = "结算部门id不能超过32个字符")
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@ExcelProperty(value = "结算部门id")
private String deptId;
/**
* 创建人
*/
@NotBlank(message = "创建人不能为空")
@Length(max = 32, message = "创建人不能超过32个字符")
@ExcelAttribute(name = "创建人", isNotEmpty = true, errorInfo = "创建人不能为空", maxLength = 32)
@ExcelProperty(value = "创建人")
private String createUser;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间")
@ExcelProperty(value = "创建时间")
private LocalDateTime createTime;
/**
* 是否为0不显示:0显示;1不显示
*/
@ExcelAttribute(name = "是否为0不显示:0显示;1不显示")
@ExcelProperty(value = "是否为0不显示:0显示;1不显示")
private Integer isZero;
/**
* 明细
*/
@TableField(exist = false)
@ExcelProperty(value = "明细")
private List<TSalaryStandardSetDetail> detailList = new ArrayList<>();
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_salary_standard_set_detail")
@Schema(description = "薪资工资条配置明细表")
public class TSalaryStandardSetDetail {
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
private String id;
/**
* TSalaryStandardSet表的主键
*/
@ExcelAttribute(name = "TSalaryStandardSet表的主键", isNotEmpty = true, errorInfo = "TSalaryStandardSet表的主键不能为空", maxLength = 32)
@NotBlank(message = "TSalaryStandardSet表的主键不能为空")
@Length(max = 32, message = "TSalaryStandardSet表的主键不能超过32个字符")
@ExcelProperty("TSalaryStandardSet表的主键")
private String setId;
/**
* cnName
*/
@ExcelAttribute(name = "cnName", isNotEmpty = true, errorInfo = "cnName不能为空", maxLength = 50)
@NotBlank(message = "cnName不能为空")
@Length(max = 50, message = "cnName不能超过50个字符")
@ExcelProperty("cnName")
private String cnName;
/**
* orderLine
*/
@ExcelAttribute(name = "orderLine", isNotEmpty = true, errorInfo = "orderLine不能为空")
@NotBlank(message = "orderLine不能为空")
@ExcelProperty("orderLine")
private Integer orderLine;
@Tag(name = "薪资工资条配置明细表")
public class TSalaryStandardSetDetail extends Model<TSalaryStandardSetDetail> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty(value = "主键")
private String id;
/**
*TSalaryStandardSet表的主键
*/
@NotBlank(message = "TSalaryStandardSet表的主键不能为空")
@Length(max = 32, message = "TSalaryStandardSet表的主键不能超过32个字符")
@ExcelAttribute(name = "TSalaryStandardSet表的主键", isNotEmpty = true, errorInfo = "不能为空", maxLength = 32)
@ExcelProperty(value = "TSalaryStandardSet表的主键")
private String setId;
/**
*
*/
@NotBlank(message = "不能为空")
@Length(max = 50, message = "不能超过50个字符")
@ExcelAttribute(name = "", isNotEmpty = true, errorInfo = "不能为空", maxLength = 50)
@ExcelProperty(value = "")
private String cnName;
/**
*
*/
@NotNull(message = "不能为空")
@ExcelAttribute(name = "", isNotEmpty = true, errorInfo = "不能为空")
@ExcelProperty(value = "")
private Integer orderLine;
}
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 工资条VO
*
* @author hgw
* @date 2021-10-8 14:53:35
*/
@Data
@Tag(name = "工资条VO")
public class TSalarySetVo implements Serializable {
private static final long serialVersionUID = 1L;
@Schema(description = "工资明细")
private Set<String> salaryItem = new HashSet<>();
@Schema(description = "工资条配置,顺序的明细在detailList里")
private TSalaryStandardSet salarySet = new TSalaryStandardSet();
@Schema(description = "报账明细")
private List<TSalaryAccountItem> itemList = new ArrayList<>();
}
......@@ -80,7 +80,7 @@ public class TDeptSeeController {
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tdeptsee_get')")
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<TDeptSee> getById(@PathVariable("id") String id) {
return R.ok(tDeptSeeService.getById(id));
......
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
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.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalarySetVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2019-07-30 15:00:05
*/
@RestController
@AllArgsConstructor
@RequestMapping("/tsalaryaccountitem")
@Tag(name = "工资报账表附加-工资明细")
public class TSalaryAccountItemController {
private final TSalaryAccountItemService tSalaryAccountItemService;
private final TSalaryStandardSetService tSalaryStandardSetService;
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryAccountItem>> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.getTSalaryAccountItemPage(page, tSalaryAccountItem));
}
/**
* 简单分页查询
* @author fxj
* @date 2022-03-11
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/noPage")
public R<List<TSalaryAccountItem>> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.getTSalaryAccountItemNoPage(tSalaryAccountItem));
}
/**
* @param accountId
* @Description: 获取报账明细
* @Author: hgw
* @Date: 2020/5/21 16:01
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Operation(description = "获取报账明细")
@PostMapping("/getAccountItemByAccountId")
public List<TSalaryAccountItem> getAccountItemByAccountId(String accountId) {
if (Common.isNotNull(accountId)) {
TSalaryAccountItem item = new TSalaryAccountItem();
item.setSalaryAccountId(accountId);
QueryWrapper<TSalaryAccountItem> queryWrapperAi = new QueryWrapper<>();
queryWrapperAi.setEntity(item);
return tSalaryAccountItemService.list(queryWrapperAi);
} else {
return new ArrayList<>();
}
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryAccountItem> getById(@PathVariable("id") String id) {
return new R<>(tSalaryAccountItemService.getById(id));
}
/**
* 新增记录
*
* @param tSalaryAccountItem
* @return R
*/
@Operation(description = "新增")
@SysLog("新增工资报账表附加-工资明细")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_add')")
public R save(@RequestBody TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.save(tSalaryAccountItem));
}
/**
* 修改记录
*
* @param tSalaryAccountItem
* @return R
*/
@Operation(description = "修改")
@SysLog("修改工资报账表附加-工资明细")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_edit')")
public R update(@RequestBody TSalaryAccountItem tSalaryAccountItem) {
return new R<>(tSalaryAccountItemService.updateById(tSalaryAccountItem));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除")
@SysLog("删除工资报账表附加-工资明细")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalaryaccountitem_del')")
public R removeById(@PathVariable String id) {
return new R<>(tSalaryAccountItemService.removeById(id));
}
/**
* @param accountId 报账id
* @Description: 获取实发金额
* @Author: hgw
* @Date: 2019/11/28 14:53
* @return: java.math.BigDecimal
**/
@Operation(description = "获取实发金额(accountId:报账id)")
@GetMapping("/getActualMoneyByAccountId")
public BigDecimal getActualMoneyByAccountId(@RequestParam String accountId) {
return tSalaryAccountItemService.getMoneyByAccountIdAndJavaFiedName(accountId, SalaryConstants.ACTUAL_SALARY_SUM_JAVA);
}
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
@Operation(description = "新工资条-获取工资列明细以及配置")
@GetMapping("/getSalarySet")
public R<TSalarySetVo> getSalarySet(@RequestParam String salaryId) {
Set<String> items = tSalaryAccountItemService.getItemSet(salaryId);
TSalaryStandardSet ss = tSalaryStandardSetService.lambdaQuery()
.eq(TSalaryStandardSet::getSalaryId, salaryId).last(" order by CREATE_TIME desc limit 1 ").one();
if (ss != null && Common.isNotNull(ss.getId())) {
List<TSalaryStandardSetDetail> detail = tSalaryStandardSetDetailService.list(
Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, ss.getId()).last(" order by order_line asc "));
ss.setDetailList(detail);
}
TSalarySetVo setVo = new TSalarySetVo();
setVo.setSalaryItem(items);
setVo.setSalarySet(ss);
return new R<>(setVo);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@RestController
@RequiredArgsConstructor
@AllArgsConstructor
@RequestMapping("/tsalarystandardset")
@Tag(name = "薪资工资条配置主表管理")
@Tag(name = "薪资工资条配置主表")
public class TSalaryStandardSetController {
private final TSalaryStandardSetService tSalaryStandardSetService;
private final TSalaryStandardSetService tSalaryStandardSetService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSet>> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet) {
return new R<>(tSalaryStandardSetService.getTSalaryStandardSetPage(page, tSalaryStandardSet));
}
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 不分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_get')" )
public R<List<TSalaryStandardSet>> getTSalaryStandardSetNoPage(@RequestBody TSalaryStandardSetSearchVo tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.noPageDiy(tSalaryStandardSet));
}
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSet>> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSet tSalaryStandardSet) {
return new R<>(tSalaryStandardSetService.getTSalaryStandardSetPage(page, tSalaryStandardSet));
}
/**
* 通过id查询薪资工资条配置主表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tsalarystandardset_get')")
@GetMapping("/{id}")
public R<TSalaryStandardSet> getById(@PathVariable("id") String id) {
return R.ok(tSalaryStandardSetService.getById(id));
}
/**
* 新增薪资工资条配置主表
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return R
*/
@Operation(summary = "新增薪资工资条配置主表", description = "新增薪资工资条配置主表:hasPermission('salary_tsalarystandardset_add')")
@SysLog("新增薪资工资条配置主表")
@PostMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_add')")
public R<Boolean> save(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.save(tSalaryStandardSet));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryStandardSet> getById(@PathVariable("id") String id) {
return new R<>(tSalaryStandardSetService.getById(id));
}
/**
* 修改薪资工资条配置主表
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return R
*/
@Operation(summary = "修改薪资工资条配置主表", description = "修改薪资工资条配置主表:hasPermission('salary_tsalarystandardset_edit')")
@SysLog("修改薪资工资条配置主表")
@PutMapping
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_edit')")
public R<Boolean> updateById(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return R.ok(tSalaryStandardSetService.updateById(tSalaryStandardSet));
}
/**
* 新增记录
*
* @param tSalaryStandardSet
* @return R
*/
@Operation(description = "新增或修改(wxhr:tsalarystandardset_add)")
@PostMapping("/saveOrUptateSet")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardset_add')")
public R<TSalaryStandardSet> saveOrUptateSet(@RequestBody TSalaryStandardSet tSalaryStandardSet) {
return tSalaryStandardSetService.saveOrUpdateSet(tSalaryStandardSet);
}
/**
* 通过id删除薪资工资条配置主表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除薪资工资条配置主表", description = "通过id删除薪资工资条配置主表:hasPermission('salary_tsalarystandardset_del')")
@SysLog("通过id删除薪资工资条配置主表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tsalarystandardset_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tSalaryStandardSetService.removeById(id));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除(wxhr:tsalarystandardset_del)")
@SysLog("删除薪资工资条配置主表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardset_del')")
public R<Boolean> removeById(@PathVariable String id) {
tSalaryStandardSetDetailService.remove(Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, id));
return new R<>(tSalaryStandardSetService.removeById(id));
}
}
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2021-10-08 14:36:56
*/
@RestController
@AllArgsConstructor
@RequestMapping("/tsalarystandardsetdetail")
@Tag(name = "薪资工资条配置明细表")
public class TSalaryStandardSetDetailController {
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryStandardSetDetail>> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.getTSalaryStandardSetDetailPage(page, tSalaryStandardSetDetail));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation(description = "id查询")
@GetMapping("/{id}")
public R<TSalaryStandardSetDetail> getById(@PathVariable("id") String id) {
return new R<>(tSalaryStandardSetDetailService.getById(id));
}
/**
* 新增记录
*
* @param tSalaryStandardSetDetail
* @return R
*/
@Operation(description = "新增(wxhr:tsalarystandardsetdetail_add)")
@PostMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_add')")
public R<Boolean> save(@Valid @RequestBody TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.save(tSalaryStandardSetDetail));
}
/**
* 修改记录
*
* @param tSalaryStandardSetDetail
* @return R
*/
@Operation(description = "修改(wxhr:tsalarystandardsetdetail_edit)")
@SysLog("修改薪资工资条配置明细表")
@PutMapping
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_edit')")
public R<Boolean> update(@RequestBody TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return new R<>(tSalaryStandardSetDetailService.updateById(tSalaryStandardSetDetail));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation(description = "删除(wxhr:tsalarystandardsetdetail_del)")
@SysLog("删除薪资工资条配置明细表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('wxhr:tsalarystandardsetdetail_del')")
public R<Boolean> removeById(@PathVariable String id) {
return new R<>(tSalaryStandardSetDetailService.removeById(id));
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Mapper
public interface TSalaryAccountItemMapper extends BaseMapper<TSalaryAccountItem> {
/**
* 工资报账表附加-工资明细简单分页查询
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, @Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page page, @Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
List<TSalaryAccountItem> getTSalaryAccountItemPage(@Param("tSalaryAccountItem") TSalaryAccountItem tSalaryAccountItem);
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllTSalaryAccountItem(@Param("settleDepartId") String settleDepartId,
@Param("settleMonth") String settleMonth, @Param("javaFiedName") String javaFiedName,
@Param("finallyYear") String finallyYear, @Param("empIdcard") String empIdcard,
@Param("accountId") String accountId);
/**
* @param idCard 身份证
* @param maxYearMonth 最大年月
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getEmpAllSalaryAccountItem(@Param("idCard") String idCard, @Param("maxYearMonth") String maxYearMonth, @Param("invoiceTitle") String invoiceTitle);
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:04
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllItemVoList(@Param("idCardList") List<String> idCardList, @Param("invoiceTitle") String invoiceTitle);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月总工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAllMoney(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param accountId 报账表id串
* @param javaFiedName java字段名
* @return
* @Author pwang
* @Date 2019-11-06 15:42
**/
BigDecimal getAllMoneyByAccountIdAndFiedName(@Param("accountId") String accountId
, @Param("javaFiedName") String javaFiedName);
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
BigDecimal getMoneyByAccountIdAndJavaFiedName(@Param("accountId") String accountId
, @Param("javaFiedName") String javaFiedName);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取月份条数(前12个月平均工资,要除以工资月数,这里就是工资月数)
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.long.Integer
**/
Integer getAverageSalaryItemMonthCount(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月总工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getEngineerAllMoney(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取月份条数(前12个月平均工资,要除以工资月数,这里就是工资月数)
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.long.Integer
**/
Integer getEngineerAverageSalaryItemMonthCount(@Param("settleDepartId") String settleDepartId
, @Param("javaFiedName") String javaFiedName, @Param("salaryDate") String salaryDate
, @Param("empIdcard") String empIdcard);
List<TSalaryAccountItem> getAccountItemList(@Param("tSalaryAccount") TSalaryAccount tSalaryAccount
, @Param("createUserId") String createUserId, @Param("userDeptId") Integer userDeptId
, @Param("unitName") String unitName, @Param("idStr") String idStr
, @Param("settleMonthStart") String settleMonthStart, @Param("settleMonthEnd") String settleMonthEnd);
List<Map<String,Object>> getSumByAccountId( @Param("account")List<TSalaryAccount> account);
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
Set<String> getItemSet(@Param("salaryId") String salaryId);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Mapper
public interface TSalaryStandardSetDetailMapper extends BaseMapper<TSalaryStandardSetDetail> {
/**
* 薪资工资条配置明细表简单分页查询
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, @Param("tSalaryStandardSetDetail") TSalaryStandardSetDetail tSalaryStandardSetDetail);
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page
, @Param("tSalaryStandardSetDetail") TSalaryStandardSetDetail tSalaryStandardSetDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Mapper
public interface TSalaryStandardSetMapper extends BaseMapper<TSalaryStandardSet> {
/**
* 薪资工资条配置主表简单分页查询
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, @Param("tSalaryStandardSet") TSalaryStandardSet tSalaryStandardSet);
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page
, @Param("tSalaryStandardSet") TSalaryStandardSet tSalaryStandardSet);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
public interface TSalaryAccountItemService extends IService<TSalaryAccountItem> {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem);
List<TSalaryAccountItem> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem);
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @param finallyYear 年终奖所在的结算年
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getAllTSalaryAccountItem(String settleDepartId, String settleMonth, String javaFiedName,
String finallyYear, String empIdcard, String accountId);
/**
* @param idCard
* @param maxYearMonth
* @param invoiceTitle
* @Description: 获取员工所有报账,累计扣税
* @Author: hgw
* @Date: 2019/9/30 18:19
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
List<TSalaryAccountItem> getEmpAllSalaryAccountItem(String idCard, String maxYearMonth, String invoiceTitle);
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:25
* @return: java.util.Map<java.lang.String, java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>>
**/
Map<String, List<TSalaryAccountItem>> getAllItemVoList(List<String> idCardList, String invoiceTitle);
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月平均工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAverageSalary(String settleDepartId, String javaFiedName, String salaryDate, String empIdcard);
/**
* @param accountId 结算主体id
* @param javaFiedName 属性名
* @Description: 获取前几个月平均工资
* @Author: pwang
* @Date: 2019/11/06 16:51
* @return: java.math.BigDecimal
**/
BigDecimal getAllMoneyByAccountIdAndFiedName(String accountId, String javaFiedName);
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
BigDecimal getMoneyByAccountIdAndJavaFiedName(String accountId, String javaFiedName);
List<TSalaryAccountItem> getAccountItemList(TSalaryAccount tSalaryAccount, String createUserId, Integer userDeptId
, String unitName, String idStr, String settleMonthStart, String settleMonthEnd);
List<Map<String,Object>> getSumByAccountId(List<TSalaryAccount> account);
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
Set<String> getItemSet(String salaryId);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
......@@ -24,7 +9,17 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
public interface TSalaryStandardSetDetailService extends IService<TSalaryStandardSetDetail> {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page, TSalaryStandardSetDetail tSalaryStandardSetDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
public interface TSalaryStandardSetService extends IService<TSalaryStandardSet> {
/**
* 薪资工资条配置主表简单分页查询
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet);
List<TSalaryStandardSet> noPageDiy(TSalaryStandardSetSearchVo searchVo);
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSet tSalaryStandardSet);
/**
* @param salaryId 工资id
* @param deptId 结算主体id
* @Description: 复制工资条配置,根据结算主体id
* @Author: hgw
* @Date: 2021/10/8 15:53
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
void copyLastSetByDeptId(String salaryId, String deptId, String userId);
/**
* @param tSalaryStandardSet
* @Description: 新增或修改工资条配置以及详情
* @Author: hgw
* @Date: 2021/10/8 15:27
* @return: com.yifu.cloud.v1.common.core.util.R<com.yifu.cloud.v1.hrms.api.entity.TSalaryStandardSet>
**/
R<TSalaryStandardSet> saveOrUpdateSet(TSalaryStandardSet tSalaryStandardSet);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountItemMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
/**
* 工资报账表附加-工资明细
*
* @author hgw
* @date 2022-08-05 11:40:15
* @date 2019-07-30 15:00:05
*/
@Log4j2
@Service
@Service("tSalaryAccountItemService")
public class TSalaryAccountItemServiceImpl extends ServiceImpl<TSalaryAccountItemMapper, TSalaryAccountItem> implements TSalaryAccountItemService {
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Override
public IPage<TSalaryAccountItem> getTSalaryAccountItemPage(Page<TSalaryAccountItem> page, TSalaryAccountItem tSalaryAccountItem) {
return baseMapper.getTSalaryAccountItemPage(page, tSalaryAccountItem);
}
/**
* 工资报账表附加-工资明细简单分页查询
*
* @param tSalaryAccountItem 工资报账表附加-工资明细
* @return
*/
@Override
public List<TSalaryAccountItem> getTSalaryAccountItemNoPage(TSalaryAccountItem tSalaryAccountItem) {
return baseMapper.getTSalaryAccountItemPage(tSalaryAccountItem);
}
/**
* @param settleDepartId
* @param settleMonth
* @param javaFiedName
* @Description: 获取报账详情信息
* @Author: hgw
* @Date: 2019/9/29 18:26
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Override
public List<TSalaryAccountItem> getAllTSalaryAccountItem(String settleDepartId, String settleMonth, String javaFiedName,
String finallyYear, String empIdcard, String accountId) {
return baseMapper.getAllTSalaryAccountItem(settleDepartId, settleMonth, javaFiedName, finallyYear, empIdcard, accountId);
}
/**
* @param idCard 身份证
* @param maxYearMonth 最大年月
* @param invoiceTitle 封面抬头
* @Description:
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
@Override
public List<TSalaryAccountItem> getEmpAllSalaryAccountItem(String idCard, String maxYearMonth, String invoiceTitle) {
return baseMapper.getEmpAllSalaryAccountItem(idCard, maxYearMonth, invoiceTitle);
}
/**
* @param idCardList
* @param invoiceTitle
* @Description: 获取所有报账,组装map,工资导入使用
* @Author: hgw
* @Date: 2022/1/27 17:25
* @return: java.util.Map<java.lang.String, java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>>
**/
@Override
public Map<String, List<TSalaryAccountItem>> getAllItemVoList(List<String> idCardList, String invoiceTitle) {
List<TSalaryAccountItem> list = baseMapper.getAllItemVoList(idCardList, invoiceTitle);
Map<String, List<TSalaryAccountItem>> itemMap = new HashMap<>();
if (list != null && !list.isEmpty()) {
List<TSalaryAccountItem> voList;
for (TSalaryAccountItem item : list) {
voList = itemMap.get(item.getEmpIdcard());
if (voList == null) {
voList = new ArrayList<>();
}
voList.add(item);
itemMap.put(item.getEmpIdcard(), voList);
}
}
return itemMap;
}
/**
* @param settleDepartId 结算主体id
* @param javaFiedName 属性名
* @param salaryDate 工资月
* @param empIdcard 身份证
* @Description: 获取前几个月平均工资
* @Author: hgw
* @Date: 2019/10/29 16:51
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getAverageSalary(String settleDepartId, String javaFiedName, String salaryDate, String empIdcard) {
BigDecimal allMoney = baseMapper.getAllMoney(settleDepartId, javaFiedName, salaryDate, empIdcard);
Integer monthNum = baseMapper.getAverageSalaryItemMonthCount(settleDepartId, javaFiedName, salaryDate, empIdcard);
//工资报账明细里没找到,到工程工资里找
if (allMoney == null || allMoney.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.EQUAL
|| monthNum == null || monthNum == 0) {
allMoney = baseMapper.getEngineerAllMoney(settleDepartId, javaFiedName, salaryDate, empIdcard);
monthNum = baseMapper.getEngineerAverageSalaryItemMonthCount(settleDepartId, javaFiedName, salaryDate, empIdcard);
}
//计算平均工资
if (allMoney != null && allMoney.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.MORE_THAN
&& monthNum != null && monthNum > CommonConstants.ZERO_INT) {
allMoney = allMoney.divide(new BigDecimal(monthNum), 2, BigDecimal.ROUND_HALF_UP);
}
return allMoney;
}
/**
* @param accountId 结算主体id
* @param javaFiedName 属性名
* @Description: 获取前几个月平均工资
* @Author: pwang
* @Date: 2019/11/06 16:51
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getAllMoneyByAccountIdAndFiedName(String accountId, String javaFiedName) {
return baseMapper.getAllMoneyByAccountIdAndFiedName(accountId, javaFiedName);
}
/**
* @param accountId 报账id
* @param javaFiedName 属性名
* @Description: 获取报账表相关金额
* @Author: hgw
* @Date: 2019/11/22 18:19
* @return: java.math.BigDecimal
**/
@Override
public BigDecimal getMoneyByAccountIdAndJavaFiedName(String accountId, String javaFiedName) {
return baseMapper.getMoneyByAccountIdAndJavaFiedName(accountId, javaFiedName);
}
@Override
public List<TSalaryAccountItem> getAccountItemList(TSalaryAccount tSalaryAccount, String createUserId, Integer userDeptId
, String unitName, String idStr, String settleMonthStart, String settleMonthEnd) {
return baseMapper.getAccountItemList(tSalaryAccount, createUserId, userDeptId, unitName, idStr
, settleMonthStart, settleMonthEnd);
}
@Override
public List<Map<String,Object>> getSumByAccountId(List<TSalaryAccount> account) {
return baseMapper.getSumByAccountId(account);
}
/**
* @param salaryId
* @Description: 获取工资明细
* @Author: hgw
* @Date: 2021/9/30 18:05
* @return: java.util.Set<java.lang.String>
**/
@Override
public Set<String> getItemSet(String salaryId) {
return baseMapper.getItemSet(salaryId);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetDetailMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 薪资工资条配置明细表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:56
*/
@Log4j2
@Service
@Service("tSalaryStandardSetDetailService")
public class TSalaryStandardSetDetailServiceImpl extends ServiceImpl<TSalaryStandardSetDetailMapper, TSalaryStandardSetDetail> implements TSalaryStandardSetDetailService {
/**
* 薪资工资条配置明细表简单分页查询
*
* @param tSalaryStandardSetDetail 薪资工资条配置明细表
* @return
*/
@Override
public IPage<TSalaryStandardSetDetail> getTSalaryStandardSetDetailPage(Page<TSalaryStandardSetDetail> page
, TSalaryStandardSetDetail tSalaryStandardSetDetail) {
return baseMapper.getTSalaryStandardSetDetailPage(page, tSalaryStandardSetDetail);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import cn.hutool.core.util.ArrayUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetDetailService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardSetService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSetSearchVo;
import lombok.extern.log4j.Log4j2;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* 薪资工资条配置主表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @date 2021-10-08 14:36:57
*/
@Log4j2
@Service
@AllArgsConstructor
@Slf4j
@Service("tSalaryStandardSetService")
public class TSalaryStandardSetServiceImpl extends ServiceImpl<TSalaryStandardSetMapper, TSalaryStandardSet> implements TSalaryStandardSetService {
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Override
public IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page, TSalaryStandardSetSearchVo tSalaryStandardSet) {
return baseMapper.getTSalaryStandardSetPage(page, tSalaryStandardSet);
}
@Override
public List<TSalaryStandardSet> noPageDiy(TSalaryStandardSetSearchVo searchVo) {
LambdaQueryWrapper<TSalaryStandardSet> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryStandardSet::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private final TSalaryStandardSetDetailService tSalaryStandardSetDetailService;
private final TSalaryStandardService tSalaryStandardService;
/**
* 薪资工资条配置主表简单分页查询
*
* @param tSalaryStandardSet 薪资工资条配置主表
* @return
*/
@Override
public IPage<TSalaryStandardSet> getTSalaryStandardSetPage(Page<TSalaryStandardSet> page
, TSalaryStandardSet tSalaryStandardSet) {
return baseMapper.getTSalaryStandardSetPage(page, tSalaryStandardSet);
}
/**
* @param salaryId 工资主表id
* @param deptId 结算主体id
* @Description: 复制工资条配置,根据结算主体id
* @Author: hgw
* @Date: 2021/10/8 15:53
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
@Override
public void copyLastSetByDeptId(String salaryId, String deptId, String userId) {
if (Common.isNotNull(salaryId) && Common.isNotNull(deptId)) {
TSalaryStandardSet ss = this.lambdaQuery().eq(TSalaryStandardSet::getDeptId, deptId).last("order by CREATE_TIME desc limit 1").one();
if (ss != null && Common.isNotNull(ss.getId())) {
List<TSalaryStandardSetDetail> detailList = tSalaryStandardSetDetailService.list(
Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, ss.getId()));
TSalaryStandardSet newSet = new TSalaryStandardSet();
newSet.setCreateTime(LocalDateTime.now());
newSet.setCreateUser(userId);
newSet.setIsZero(ss.getIsZero());
newSet.setSalaryId(salaryId);
newSet.setDeptId(deptId);
// 保存主表
this.save(newSet);
// 保存明细表
this.saveDetail(detailList, newSet);
}
}
}
/**
* @param detailList
* @param newSet
* @Description: 保存明细表
* @Author: hgw
* @Date: 2021/10/8 15:52
* @return: void
**/
private void saveDetail(List<TSalaryStandardSetDetail> detailList, TSalaryStandardSet newSet) {
if (detailList != null && !detailList.isEmpty()) {
TSalaryStandardSetDetail newDetail;
for (TSalaryStandardSetDetail detail : detailList) {
newDetail = new TSalaryStandardSetDetail();
newDetail.setSetId(newSet.getId());
newDetail.setCnName(detail.getCnName());
newDetail.setOrderLine(detail.getOrderLine());
tSalaryStandardSetDetailService.save(newDetail);
}
}
}
private LambdaQueryWrapper buildQueryWrapper(TSalaryStandardSetSearchVo entity) {
LambdaQueryWrapper<TSalaryStandardSet> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TSalaryStandardSet::getCreateTime, entity.getCreateTimes()[0])
.le(TSalaryStandardSet::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TSalaryStandardSet::getCreateName, entity.getCreateName());
}
return wrapper;
}
@Override
public R<TSalaryStandardSet> saveOrUpdateSet(TSalaryStandardSet tSalaryStandardSet) {
YifuUser user = SecurityUtils.getUser();
if (user == null || user.getId() == null) {
return R.failed("未获取到登录人信息!");
}
if (Common.isEmpty(tSalaryStandardSet.getSalaryId())) {
TSalaryStandard ss = tSalaryStandardService.getById(tSalaryStandardSet.getSalaryId());
if (!ss.getCreateBy().equals(String.valueOf(user.getId()))) {
return R.failed("非创建人,不可编辑!");
}
}
if (Common.isEmpty(tSalaryStandardSet.getId())) {
tSalaryStandardSet.setCreateTime(LocalDateTime.now());
tSalaryStandardSet.setCreateUser(String.valueOf(user.getId()));
this.save(tSalaryStandardSet);
} else {
this.updateById(tSalaryStandardSet);
tSalaryStandardSetDetailService.remove(Wrappers.<TSalaryStandardSetDetail>query().lambda().eq(TSalaryStandardSetDetail::getSetId, tSalaryStandardSet.getId()));
}
if (tSalaryStandardSet.getDetailList() != null && !tSalaryStandardSet.getDetailList().isEmpty()) {
for (TSalaryStandardSetDetail detail : tSalaryStandardSet.getDetailList()) {
detail.setId(null);
detail.setSetId(tSalaryStandardSet.getId());
tSalaryStandardSetDetailService.save(detail);
}
}
return new R<>(tSalaryStandardSet);
}
}
......@@ -271,7 +271,7 @@
AND a.SALARY_MONTH = #{tSalaryStandard.salaryMonth}
</if>
<if test="tSalaryStandard.status == null">
AND a.STATUS = 1 OR a.STATUS = 2
AND a.STATUS = 1 OR a.STATUS = 2 OR a.STATUS = 5
</if>
<if test="tSalaryStandard.status != null">
AND a.STATUS = #{tSalaryStandard.status}
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetDetailMapper">
<resultMap id="tSalaryStandardSetDetailMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail">
<id property="id" column="id"/>
<result property="setId" column="set_id"/>
<result property="cnName" column="cn_name"/>
<result property="orderLine" column="order_line"/>
</resultMap>
<resultMap id="tSalaryStandardSetDetailMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSetDetail">
<id property="id" column="id"/>
<result property="setId" column="set_id"/>
<result property="cnName" column="cn_name"/>
<result property="orderLine" column="order_line"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.set_id,
a.cn_name,
a.order_line
</sql>
a.id,
a.set_id,
a.cn_name,
a.order_line
</sql>
<sql id="tSalaryStandardSetDetail_where">
<if test="tSalaryStandardSetDetail != null">
<if test="tSalaryStandardSetDetail.id != null and tSalaryStandardSetDetail.id.trim() != ''">
AND a.id = #{tSalaryStandardSetDetail.id}
</if>
<if test="tSalaryStandardSetDetail.setId != null and tSalaryStandardSetDetail.setId.trim() != ''">
AND a.set_id = #{tSalaryStandardSetDetail.setId}
</if>
<if test="tSalaryStandardSetDetail.cnName != null and tSalaryStandardSetDetail.cnName.trim() != ''">
AND a.cn_name = #{tSalaryStandardSetDetail.cnName}
</if>
<if test="tSalaryStandardSetDetail.orderLine != null">
AND a.order_line = #{tSalaryStandardSetDetail.orderLine}
</if>
<if test="tSalaryStandardSetDetail.id != null and tSalaryStandardSetDetail.id.trim() != ''">
AND a.id = #{tSalaryStandardSetDetail.id}
</if>
<if test="tSalaryStandardSetDetail.setId != null and tSalaryStandardSetDetail.setId.trim() != ''">
AND a.set_id = #{tSalaryStandardSetDetail.setId}
</if>
<if test="tSalaryStandardSetDetail.cnName != null and tSalaryStandardSetDetail.cnName.trim() != ''">
AND a.cn_name = #{tSalaryStandardSetDetail.cnName}
</if>
<if test="tSalaryStandardSetDetail.orderLine != null">
AND a.order_line = #{tSalaryStandardSetDetail.orderLine}
</if>
</if>
</sql>
<!--tSalaryStandardSetDetail简单分页查询-->
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardSetMapper">
<resultMap id="tSalaryStandardSetMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet">
<id property="id" column="id"/>
<result property="salaryId" column="SALARY_ID"/>
<result property="deptId" column="DEPT_ID"/>
<result property="isZero" column="IS_ZERO"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap>
<resultMap id="tSalaryStandardSetMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandardSet">
<id property="id" column="id"/>
<result property="salaryId" column="SALARY_ID"/>
<result property="deptId" column="DEPT_ID"/>
<result property="createUser" column="CREATE_USER"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="isZero" column="IS_ZERO"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.SALARY_ID,
a.DEPT_ID,
a.CREATE_USER,
a.CREATE_TIME,
a.IS_ZERO,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
a.id,
a.SALARY_ID,
a.DEPT_ID,
a.CREATE_USER,
a.CREATE_TIME,
a.IS_ZERO
</sql>
<sql id="tSalaryStandardSet_where">
<if test="tSalaryStandardSet != null">
<if test="tSalaryStandardSet.id != null and tSalaryStandardSet.id.trim() != ''">
AND a.id = #{tSalaryStandardSet.id}
</if>
<if test="tSalaryStandardSet.salaryId != null and tSalaryStandardSet.salaryId.trim() != ''">
AND a.SALARY_ID = #{tSalaryStandardSet.salaryId}
</if>
<if test="tSalaryStandardSet.deptId != null and tSalaryStandardSet.deptId.trim() != ''">
AND a.DEPT_ID = #{tSalaryStandardSet.deptId}
</if>
<if test="tSalaryStandardSet.isZero != null">
AND a.IS_ZERO = #{tSalaryStandardSet.isZero}
</if>
<if test="tSalaryStandardSet.id != null and tSalaryStandardSet.id.trim() != ''">
AND a.id = #{tSalaryStandardSet.id}
</if>
<if test="tSalaryStandardSet.salaryId != null and tSalaryStandardSet.salaryId.trim() != ''">
AND a.SALARY_ID = #{tSalaryStandardSet.salaryId}
</if>
<if test="tSalaryStandardSet.deptId != null and tSalaryStandardSet.deptId.trim() != ''">
AND a.DEPT_ID = #{tSalaryStandardSet.deptId}
</if>
<if test="tSalaryStandardSet.createUser != null and tSalaryStandardSet.createUser.trim() != ''">
AND a.CREATE_USER = #{tSalaryStandardSet.createUser}
</if>
<if test="tSalaryStandardSet.createTime != null">
AND a.CREATE_TIME = #{tSalaryStandardSet.createTime}
</if>
<if test="tSalaryStandardSet.isZero != null">
AND a.IS_ZERO = #{tSalaryStandardSet.isZero}
</if>
</if>
</sql>
<!--tSalaryStandardSet简单分页查询-->
......
......@@ -195,7 +195,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金缴纳地-省
*/
@ExcelAttribute(name = "公积金缴纳地-省" )
@ExcelAttribute(name = "公积金缴纳地-省", isArea = true)
@Schema(description ="公积金缴纳地-省")
@ExcelProperty("公积金缴纳地-省")
private String fundProvince;
......@@ -203,7 +203,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金缴纳地-市
*/
@ExcelAttribute(name = "公积金缴纳地-市" )
@ExcelAttribute(name = "公积金缴纳地-市",isArea = true, parentField = "fundProvince")
@Schema(description ="公积金缴纳地-市")
@ExcelProperty("公积金缴纳地-市")
private String fundCity;
......@@ -211,7 +211,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金缴纳地-县
*/
@ExcelAttribute(name = "公积金缴纳地-县" )
@ExcelAttribute(name = "公积金缴纳地-县",isArea = true, parentField = "fundCity")
@Schema(description ="公积金缴纳地-县")
@ExcelProperty("公积金缴纳地-县")
private String fundTown;
......@@ -219,7 +219,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 社保缴纳地-省
*/
@ExcelAttribute(name = "社保缴纳地-省" )
@ExcelAttribute(name = "社保缴纳地-省",isArea = true)
@Schema(description ="社保缴纳地-省")
@ExcelProperty("社保缴纳地-省")
private String socialProvince;
......@@ -227,7 +227,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 社保缴纳地-市
*/
@ExcelAttribute(name = "社保缴纳地-市" )
@ExcelAttribute(name = "社保缴纳地-市", isArea = true, parentField = "socialProvince")
@Schema(description ="社保缴纳地-市")
@ExcelProperty("社保缴纳地-市")
private String socialCity;
......@@ -235,7 +235,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 社保缴纳地-县
*/
@ExcelAttribute(name = "社保缴纳地-县" )
@ExcelAttribute(name = "社保缴纳地-县", isArea = true, parentField = "socialCity")
@Schema(description ="社保缴纳地-县")
@ExcelProperty("社保缴纳地-县")
private String socialTown;
......@@ -367,51 +367,33 @@ public class TPaymentInfo extends BaseEntity {
/**
* 单位养老基数
*/
@ExcelAttribute(name = "单位养老基数" )
@ExcelAttribute(name = "单位养老基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位养老基数")
private BigDecimal unitPensionSet;
/**
* 单位医疗基数
*/
@ExcelAttribute(name = "单位医疗基数" )
@ExcelAttribute(name = "单位医疗基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位医疗基数")
private BigDecimal unitMedicalSet;
/**
* 单位失业基数
*/
@ExcelAttribute(name = "单位失业基数" )
@ExcelAttribute(name = "单位失业基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位失业基数")
private BigDecimal unitUnemploymentSet;
/**
* 单位工伤基数
* 工伤基数
*/
@ExcelAttribute(name = "单位工伤基数" )
@ExcelProperty("单位工伤基数")
@ExcelAttribute(name = "工伤基数", isFloat = true,max = "999999999.99")
@ExcelProperty("工伤基数")
private BigDecimal unitInjurySet;
/**
* 单位生育基数
* 生育基数
*/
@ExcelAttribute(name = "单位生育基数" )
@ExcelProperty("单位生育基数")
@ExcelAttribute(name = "生育基数", isFloat = true,max = "999999999.99")
@ExcelProperty("生育基数")
private BigDecimal unitBirthSet;
/**
* 个人养老基数
*/
@ExcelAttribute(name = "个人养老基数")
@ExcelProperty("个人养老基数")
private BigDecimal personalPensionSet;
/**
* 个人医疗基数
*/
@ExcelAttribute(name = "个人医疗基数")
@ExcelProperty("个人医疗基数")
private BigDecimal personalMedicalSet;
/**
* 个人失业基数
*/
@ExcelAttribute(name = "个人失业基数")
@ExcelProperty("个人失业基数")
private BigDecimal personalUnemploymentSet;
/**
* 单位养老比例
*/
......@@ -535,14 +517,14 @@ public class TPaymentInfo extends BaseEntity {
/**
* 公积金编号
*/
@ExcelAttribute(name = "公积金编号", maxLength = 50)
@Size(max = 50, message = "公积金编号不可超过50位")
@ExcelAttribute(name = "公积金编号", maxLength = 20)
@Size(max = 20, message = "公积金编号不可超过20位")
@ExcelProperty("公积金编号")
private String providentNo;
/**
* 单位公积金基数
*/
@ExcelAttribute(name = "单位公积金基数")
@ExcelAttribute(name = "单位公积金基数", isFloat = true,max = "999999999.99")
@ExcelProperty("单位公积金基数")
private BigDecimal unitProvidentSet;
/**
......@@ -560,7 +542,7 @@ public class TPaymentInfo extends BaseEntity {
/**
* 个人公积金基数
*/
@ExcelAttribute(name = "个人公积金基数")
@ExcelAttribute(name = "个人公积金基数", isFloat = true,max = "999999999.99")
@ExcelProperty("个人公积金基数")
private BigDecimal personalProidentSet;
/**
......@@ -570,5 +552,17 @@ public class TPaymentInfo extends BaseEntity {
@ExcelProperty("个人公积金费用")
private BigDecimal personalProvidentSum;
/**
* 工资社保结算状态 0: 未结算 1: 待结算 2: 已结算
*/
@ExcelAttribute(name = "工资社保结算状态", maxLength = 1,isDataId = true,dataType = "settlement_flag")
@ExcelProperty("工资社保结算状态")
private String salarySocialFlag;
/**
* 工资公积金结算状态 0: 未结算 1: 待结算 2: 已结算
*/
@ExcelAttribute(name = "工资公积金结算状态", maxLength = 1,isDataId = true,dataType = "settlement_flag")
@ExcelProperty("工资公积金结算状态")
private String salaryFundFlag;
}
......@@ -99,7 +99,7 @@ public class TPreDispatchInfo extends BaseEntity {
@Schema(description ="身份证号")
@NotNull(message = "身份证号码不可为空")
@Size(max = 20, message = "身份证号码不可超过20位")
@ExcelAttribute(name = "身份证号", isNotEmpty = true,errorInfo = "身份证号不能为空", maxLength = 20, isIdCard = true)
@ExcelAttribute(name = "身份证号", isNotEmpty = true,errorInfo = "身份证号不能为空", maxLength = 20)
private String empIdcard;
/**
......
......@@ -92,10 +92,9 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
@ExcelProperty("社保缴纳地-县")
private Integer socialTown;
/**
* 社保缴纳月份empNo
* 社保缴纳月份
*/
@Length(max = 6, message = "社保缴纳月份不能超过6个字符")
@ExcelAttribute(name = "社保缴纳月份", isNotEmpty = true, errorInfo = "社保缴纳月份不可为空", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "社保缴纳月份", isNotEmpty = true, errorInfo = "社保缴纳月份不可为空", maxLength = 6, min = 6, isInteger = true)
@Schema(description = "社保缴纳月份")
@ExcelProperty("社保缴纳月份")
private String socialPayMonth;
......@@ -103,7 +102,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
* 社保生成月份
*/
@Length(max = 6, message = "社保生成月份不能超过6个字符")
@ExcelAttribute(name = "社保生成月份", isNotEmpty = true, errorInfo = "社保生成月份不可为空", maxLength = 6,isInteger = true)
@ExcelAttribute(name = "社保生成月份", isNotEmpty = true, errorInfo = "社保生成月份不可为空", maxLength = 6, min = 6,isInteger = true)
@Schema(description = "社保生成月份")
@ExcelProperty("社保生成月份")
private String socialCreateMonth;
......@@ -118,14 +117,14 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人缴费基数
*/
@ExcelAttribute(name = "个人缴费基数")
@ExcelAttribute(name = "个人缴费基数", isFloat = true,max = "999999999.99")
@Schema(description = "个人缴费基数")
@ExcelProperty("个人缴费基数")
private BigDecimal personalSet;
/**
* 单位缴费基数
*/
@ExcelAttribute(name = "单位缴费基数")
@ExcelAttribute(name = "单位缴费基数", isFloat = true,max = "999999999.99")
@Schema(description = "单位缴费基数")
@ExcelProperty("单位缴费基数")
private BigDecimal unitSet;
......@@ -133,14 +132,14 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人缴费额
*/
@ExcelAttribute(name = "个人缴费额")
@ExcelAttribute(name = "个人缴费额", isFloat = true,max = "999999999.99")
@Schema(description = "个人缴费额")
@ExcelProperty("个人缴费额")
private BigDecimal personalMoney;
/**
* 单位缴费额
*/
@ExcelAttribute(name = "单位缴费额")
@ExcelAttribute(name = "单位缴费额", isFloat = true,max = "999999999.99")
@Schema(description = "单位缴费额")
@ExcelProperty("单位缴费额")
private BigDecimal unitMoney;
......@@ -148,21 +147,21 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 医保基数
*/
@ExcelAttribute(name = "医保基数")
@ExcelAttribute(name = "医保基数", isFloat = true,max = "999999999.99")
@Schema(description = "医保基数")
@ExcelProperty("医保基数")
private BigDecimal medicalSet;
/**
* 医保单位缴费
*/
@ExcelAttribute(name = "医保单位缴费")
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99")
@Schema(description = "医保单位缴费")
@ExcelProperty("医保单位缴费")
private BigDecimal unitMedicalMoney;
/**
* 医保个人缴费
*/
@ExcelAttribute(name = "医保个人缴费")
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99")
@Schema(description = "医保个人缴费")
@ExcelProperty("医保个人缴费")
private BigDecimal personalMedicalMoney;
......@@ -170,7 +169,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 单位医疗救助金 (对应单位大病)
*/
@ExcelAttribute(name = "单位医疗救助金")
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99")
@Schema(description = "单位医疗救助金")
@ExcelProperty("单位医疗救助金")
private BigDecimal unitBigailmentMoney;
......@@ -178,7 +177,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人医疗救助金 (对应个人大病)
*/
@ExcelAttribute(name = "个人医疗救助金")
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99")
@Schema(description = "个人医疗救助金")
@ExcelProperty("个人医疗救助金")
private BigDecimal personalBigailmentMoney;
......
......@@ -396,11 +396,11 @@ public class TPreDispatchReduceVo {
private String pensionAddressReduce;
/**
* 养老截止时间
* 养老时间
*/
@Schema(description ="养老截止时间")
@Schema(description ="养老时间")
@Length(max = 6, message = "养老时间不能超过6个字符")
@ExcelAttribute(name = "养老时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "养老时间", maxLength = 6, min = 6, isInteger = true)
private String pensionEndReduce;
/**
......@@ -415,7 +415,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="医疗时间")
@Length(max = 6, message = "医疗时间不能超过6个字符")
@ExcelAttribute(name = "医疗时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "医疗时间", maxLength = 6, min = 6, isInteger = true)
private String medicalEndReduce;
/**
......@@ -423,7 +423,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="工伤时间")
@Length(max = 6, message = "工伤时间不能超过6个字符")
@ExcelAttribute(name = "工伤时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "工伤时间", maxLength = 6, min = 6, isInteger = true)
private String injuryEndReduce;
/**
......@@ -438,7 +438,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="生育时间")
@Length(max = 6, message = "生育时间不能超过6个字符")
@ExcelAttribute(name = "生育时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "生育时间", maxLength = 6, min = 6, isInteger = true)
private String birthEndReduce;
/**
......@@ -468,7 +468,7 @@ public class TPreDispatchReduceVo {
*/
@Schema(description ="公积金时间")
@Length(max = 6, message = "公积金时间不能超过6个字符")
@ExcelAttribute(name = "公积金时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "公积金时间", maxLength = 6, min = 6, isInteger = true)
private String fundEndReduce;
/**
......
......@@ -330,7 +330,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 医疗截止时间
*/
@Length(max = 6, message = "医疗截止时间不能超过6个字符")
@ExcelAttribute(name = "医疗截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "医疗截止时间", maxLength = 6, min = 6, isInteger = true)
private String medicalEndReduce;
/**
* 工伤截止城市
......@@ -342,7 +342,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 工伤截止时间
*/
@Length(max = 6, message = "工伤截止时间不能超过6个字符")
@ExcelAttribute(name = "工伤截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "工伤截止时间", maxLength = 6, min = 6, isInteger = true)
private String injuryEndReduce;
/**
* 生育截止城市
......@@ -354,7 +354,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 生育截止时间
*/
@Length(max = 6, message = "生育截止时间不能超过6个字符")
@ExcelAttribute(name = "生育截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "生育截止时间", maxLength = 6, min = 6, isInteger = true)
private String birthEndReduce;
/**
* 失业截止城市
......@@ -366,7 +366,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 失业截止时间
*/
@Length(max = 6, message = "失业截止时间不能超过6个字符")
@ExcelAttribute(name = "失业截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "失业截止时间", maxLength = 6, min = 6, isInteger = true)
private String unemploymentEndReduce;
/**
* 公积金截止城市
......@@ -378,7 +378,7 @@ public class TPreDispatchUpdateVo extends TPreDispatchInfo {
* 公积金截止时间
*/
@Length(max = 6, message = "公积金截止时间不能超过6个字符")
@ExcelAttribute(name = "公积金截止时间", maxLength = 6, isInteger = true)
@ExcelAttribute(name = "公积金截止时间", maxLength = 6, min = 6, isInteger = true)
private String fundEndReduce;
/**
......
......@@ -55,14 +55,14 @@ public class TPaymentInfoImportLogController {
@Operation(description = "导出社保导入日志")
@GetMapping("/exportPaymentInfoLog")
public String exportPaymentInfoLog(HttpServletResponse response) {
public String exportPaymentInfoLog() {
YifuUser user = SecurityUtils.getUser();
String key = user.getId() + CommonConstants.DOWN_LINE_STRING + CommonConstants.PAYMENT_SOCIAL_WAIT_EXPORT;
String importRandom = (String) redisUtil.get(key);
if (StringUtils.isBlank(importRandom)) {
if (StringUtils.isNotBlank(importRandom)) {
return importRandom;
}
return null;
return CommonConstants.ZERO_STRING;
}
/**
......
......@@ -64,7 +64,7 @@ public interface TDispatchInfoService extends IService<TDispatchInfo> {
DispatchDetailVo getSocialAndFundInfoById(String id);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, Integer flag, String auditStatus, String auditRemark, String remark);
List<ErrorMessage> addBatchApplyAudit(List<String> idsList, YifuUser user, int flag, String auditStatus, String auditRemark, String remark);
R<List<ErrorMessage>> addApplyAudit(String ids, String auditStatus, String auditRemark, String remark);
......
......@@ -57,6 +57,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.*;
import com.alibaba.excel.EasyExcel;
......@@ -198,8 +199,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
return R.failed("非本人创建的数据禁止删除!");
}
if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus()) &&
!CommonConstants.ONE_STRING.equals(user.getId())) {
if (CommonConstants.ZERO_STRING.equals(paymentInfo.getPushStatus())) {
return R.failed("已推送至结算平台禁止删除!");
}
baseMapper.deleteById(id);
......@@ -560,12 +560,16 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
} while (computeFlag);
String importSuccessKey = user.getId() + CommonConstants.DOWN_LINE_STRING + CommonConstants.PAYMENT_SOCIAL_WAIT_EXPORT;
DecimalFormat df = new DecimalFormat("0.00000");
String maerialRatio = df.format((float)atomicLine.get()/list.size());
// 创建一个数值格式化对象
NumberFormat numberFormat = NumberFormat.getInstance();
// 设置精确到小数点后2位
numberFormat.setMaximumFractionDigits(2);
String maerialRatio = numberFormat.format((float)atomicLine.get()/(float)list.size()*100);
redisUtil.set(importSuccessKey, maerialRatio, 1800L);
} catch (Exception e) {
log.error("社保缴费库数据批量导入异常:" + e);
log.error("社保缴费库数据批量导入异常:" + e);
redisUtil.remove(key);
} finally {
paymentInfoPensionMap.clear();
......@@ -1003,11 +1007,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
paymentInfo.setUnitUnemploymentSet(infoVo.getUnitUnemploymentSet());
paymentInfo.setUnitUnemploymentPer(infoVo.getUnitUnemploymentPer());
paymentInfo.setUnitBigailmentPer(infoVo.getUnitBigailmentPer());
paymentInfo.setPersonalPensionSet(paymentInfo.getUnitPensionSet());
paymentInfo.setPersonalPensionPer(infoVo.getPersonalPensionPer());
paymentInfo.setPersonalMedicalPer(infoVo.getPersonalMedicalPer());
paymentInfo.setPersonalMedicalSet(paymentInfo.getUnitMedicalSet());
paymentInfo.setPersonalUnemploymentSet(paymentInfo.getUnitUnemploymentSet());
paymentInfo.setPersonalUnemploymentPer(infoVo.getPersonalUnemploymentPer());
paymentInfo.setPersonalBigailmentPer(infoVo.getPersonalBigailmentPer());
paymentInfo.setCompanyAccrual(infoVo.getCompanyAccrual());
......@@ -1744,8 +1745,15 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
}
} while (computeFlag);
String importSuccessKey = user.getId() + CommonConstants.DOWN_LINE_STRING + CommonConstants.PAYMENT_SOCIAL_WAIT_EXPORT;
redisUtil.set(importSuccessKey, random, 1800L);
// 创建一个数值格式化对象
NumberFormat numberFormat = NumberFormat.getInstance();
// 设置精确到小数点后2位
numberFormat.setMaximumFractionDigits(2);
String maerialRatio = numberFormat.format((float)atomicLine.get()/(float)list.size()*100);
redisUtil.set(importSuccessKey, maerialRatio, 1800L);
} catch (Exception e) {
log.error("社保缴费库数据批量导入异常:" + e);
......@@ -2056,11 +2064,8 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
payExists.setUnitPensionMoney(infoVo.getUnitMoney());
payExists.setPersonalPensionMoney(infoVo.getPersonalMoney());
payExists.setUnitPensionSet(infoVo.getUnitSet());
payExists.setPersonalPensionSet(infoVo.getPersonalSet());
payExists.setUnitPensionMoney(infoVo.getUnitMoney());
payExists.setPersonalPensionMoney(infoVo.getPersonalMoney());
payExists.setUnitPensionSet(infoVo.getUnitSet());
payExists.setPersonalPensionSet(infoVo.getPersonalSet());
payExists.setUnitSocialSum(BigDecimalUtils.safeAdd(payExists.getUnitPensionMoney()
, payExists.getUnitSocialSum()));
payExists.setSocialSecurityPersonalSum(BigDecimalUtils.safeAdd(payExists.getPersonalPensionMoney()
......@@ -2070,11 +2075,9 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
payExists.setUnitUnemploymentMoney(infoVo.getUnitMoney());
payExists.setPersonalUnemploymentMoney(infoVo.getPersonalMoney());
payExists.setUnitUnemploymentSet(infoVo.getUnitSet());
payExists.setPersonalUnemploymentSet(infoVo.getPersonalSet());
payExists.setUnitUnemploymentMoney(infoVo.getUnitMoney());
payExists.setPersonalUnemploymentMoney(infoVo.getPersonalMoney());
payExists.setUnitUnemploymentSet(infoVo.getUnitSet());
payExists.setPersonalUnemploymentSet(infoVo.getPersonalSet());
payExists.setUnitSocialSum(BigDecimalUtils.safeAdd(payExists.getUnitUnemploymentMoney()
, payExists.getUnitSocialSum()));
payExists.setSocialSecurityPersonalSum(BigDecimalUtils.safeAdd(payExists.getPersonalUnemploymentMoney()
......@@ -2092,13 +2095,11 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
payExists.setUnitMedicalMoney(infoVo.getUnitMedicalMoney());
payExists.setUnitMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalMedicalMoney(infoVo.getPersonalMedicalMoney());
payExists.setPersonalMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalBigmailmentMoney(infoVo.getPersonalBigailmentMoney());
payExists.setUnitBigmailmentMoney(infoVo.getUnitBigailmentMoney());
payExists.setUnitMedicalMoney(infoVo.getUnitMedicalMoney());
payExists.setUnitMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalMedicalMoney(infoVo.getPersonalMedicalMoney());
payExists.setPersonalMedicalSet(infoVo.getMedicalSet());
payExists.setPersonalBigmailmentMoney(infoVo.getPersonalBigailmentMoney());
payExists.setUnitBigmailmentMoney(infoVo.getUnitBigailmentMoney());
payExists.setSocialSecurityNo(infoVo.getSocialSecurityNo());
......
......@@ -15,3 +15,14 @@ spring:
username: root
password: yf_zsk
url: jdbc:mysql://192.168.1.65:22306/mvp_social?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&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}
pool-name: AmytangHikariCP
minimum-idle: 10 # 最小空闲连接数量
idle-timeout: 60000 # 空闲连接存活最大时间,默认600000(10分钟)
maximum-pool-size: 12 # 连接池最大连接数,默认是10
auto-commit: true #此属性控制从池返回的连接的默认自动提交行为,默认值:true
max-lifetime: 1800000 #此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
\ No newline at end of file
......@@ -68,9 +68,6 @@
<result property="unitUnemploymentSet" column="UNIT_UNEMPLOYMENT_SET"/>
<result property="unitInjurySet" column="UNIT_INJURY_SET"/>
<result property="unitBirthSet" column="UNIT_BIRTH_SET"/>
<result property="personalPensionSet" column="PERSONAL_PENSION_SET"/>
<result property="personalMedicalSet" column="PERSONAL_MEDICAL_SET"/>
<result property="personalUnemploymentSet" column="PERSONAL_UNEMPLOYMENT_SET"/>
<result property="unitPensionPer" column="UNIT_PENSION_PER"/>
<result property="unitMedicalPer" column="UNIT_MEDICAL_PER"/>
<result property="unitUnemploymentPer" column="UNIT_UNEMPLOYMENT_PER"/>
......@@ -92,6 +89,8 @@
<result property="personalUnemploymentMoney" column="PERSONAL_UNEMPLOYMENT_MONEY"/>
<result property="personalBigmailmentMoney" column="PERSONAL_BIGMAILMENT_MONEY"/>
<result property="providentNo" column="PROVIDENT_NO"/>
<result property="salarySocialFlag" column="SALARY_SOCIAL_FLAG"/>
<result property="salaryFundFlag" column="SALARY_FUND_FLAG"/>
<result property="unitProvidentSet" column="UNIT_PROVIDENT_SET"/>
<result property="providentPercent" column="PROVIDENT_PERCENT"/>
<result property="unitProvidentSum" column="UNIT_PROVIDENT_SUM"/>
......@@ -141,6 +140,8 @@
a.TELECOM_NUMBER,
a.SORT_TIME,
a.AGENT_ID,
a.SALARY_SOCIAL_FLAG,
a.SALARY_FUND_FLAG,
a.FINANCE_BILL_ID,
a.COMPANY_ACCRUAL,
a.PERSONAL_ACCRUAL,
......@@ -268,7 +269,7 @@
AND a.ID = #{tPaymentInfo.id}
</if>
<if test="tPaymentInfo.empName != null and tPaymentInfo.empName.trim() != ''">
AND a.EMP_NAME like CONCAT(#{tPaymentInfo.empName},'%')
AND a.EMP_NAME = #{tPaymentInfo.empName}
</if>
<if test="tPaymentInfo.empNo != null and tPaymentInfo.empNo.trim() != ''">
AND a.EMP_NO like CONCAT(#{tPaymentInfo.empNo},'%')
......@@ -277,7 +278,7 @@
AND a.EMP_ID = #{tPaymentInfo.empId}
</if>
<if test="tPaymentInfo.empIdcard != null and tPaymentInfo.empIdcard.trim() != ''">
AND a.EMP_IDCARD like CONCAT(#{tPaymentInfo.empIdcard},'%')
AND a.EMP_IDCARD = #{tPaymentInfo.empIdcard}
</if>
<if test="tPaymentInfo.unitId != null and tPaymentInfo.unitId.trim() != ''">
AND a.UNIT_ID = #{tPaymentInfo.unitId}
......@@ -286,7 +287,7 @@
AND a.SETTLE_DOMAIN_ID = #{tPaymentInfo.settleDomainId}
</if>
<if test="tPaymentInfo.socialHousehold != null and tPaymentInfo.socialHousehold.trim() != ''">
AND a.SOCIAL_HOUSEHOLD = #{tPaymentInfo.socialHousehold}
AND a.SOCIAL_HOUSEHOLD like CONCAT(#{tPaymentInfo.socialHousehold},'%')
</if>
<if test="tPaymentInfo.socialSecurityNo != null and tPaymentInfo.socialSecurityNo.trim() != ''">
AND a.SOCIAL_SECURITY_NO like CONCAT(#{tPaymentInfo.socialSecurityNo},'%')
......@@ -316,25 +317,16 @@
AND a.PROVIDENT_CREATE_MONTH = #{tPaymentInfo.providentCreateMonth}
</if>
<if test="tPaymentInfo.providentHousehold != null and tPaymentInfo.providentHousehold.trim() != ''">
AND a.PROVIDENT_HOUSEHOLD = #{tPaymentInfo.providentHousehold}
AND a.PROVIDENT_HOUSEHOLD like CONCAT(#{tPaymentInfo.providentHousehold},'%')
</if>
<if test="tPaymentInfo.providentPayAddr != null and tPaymentInfo.providentPayAddr.trim() != ''">
AND a.PROVIDENT_PAY_ADDR = #{tPaymentInfo.providentPayAddr}
</if>
<if test="tPaymentInfo.fundProvince != null and tPaymentInfo.fundProvince.trim() != ''">
AND a.FUND_PROVINCE = #{tPaymentInfo.fundProvince}
</if>
<if test="tPaymentInfo.fundCity != null and tPaymentInfo.fundCity.trim() != ''">
AND a.FUND_CITY = #{tPaymentInfo.fundCity}
</if>
<if test="tPaymentInfo.fundTown != null and tPaymentInfo.fundTown.trim() != ''">
AND a.FUND_TOWN = #{tPaymentInfo.fundTown}
</if>
<if test="tPaymentInfo.socialProvince != null and tPaymentInfo.socialProvince.trim() != ''">
AND a.SOCIAL_PROVINCE = #{tPaymentInfo.socialProvince}
AND (a.SOCIAL_PROVINCE = '${tPaymentInfo.socialProvince}' or a.FUND_PROVINCE = '${tPaymentInfo.socialProvince}')
</if>
<if test="tPaymentInfo.socialCity != null and tPaymentInfo.socialCity.trim() != ''">
AND a.SOCIAL_CITY = #{tPaymentInfo.socialCity}
AND (a.SOCIAL_CITY = '${tPaymentInfo.socialCity}' or a.FUND_CITY = '${tPaymentInfo.socialCity}')
</if>
<if test="tPaymentInfo.socialTown == null">
<if test="tPaymentInfo.socialCity != null">
......@@ -409,15 +401,6 @@
<if test="tPaymentInfo.unitBirthSet != null">
AND a.UNIT_BIRTH_SET = #{tPaymentInfo.unitBirthSet}
</if>
<if test="tPaymentInfo.personalPensionSet != null">
AND a.PERSONAL_PENSION_SET = #{tPaymentInfo.personalPensionSet}
</if>
<if test="tPaymentInfo.personalMedicalSet != null">
AND a.PERSONAL_MEDICAL_SET = #{tPaymentInfo.personalMedicalSet}
</if>
<if test="tPaymentInfo.personalUnemploymentSet != null">
AND a.PERSONAL_UNEMPLOYMENT_SET = #{tPaymentInfo.personalUnemploymentSet}
</if>
<if test="tPaymentInfo.unitPensionPer != null">
AND a.UNIT_PENSION_PER = #{tPaymentInfo.unitPensionPer}
</if>
......@@ -527,7 +510,7 @@
AND a.ID = #{tPaymentInfo.id}
</if>
<if test="tPaymentInfo.empName != null and tPaymentInfo.empName.trim() != ''">
AND a.EMP_NAME like CONCAT(#{tPaymentInfo.empName},'%')
AND a.EMP_NAME = #{tPaymentInfo.empName}
</if>
<if test="tPaymentInfo.empNo != null and tPaymentInfo.empNo.trim() != ''">
AND a.EMP_NO like CONCAT(#{tPaymentInfo.empNo},'%')
......@@ -536,7 +519,7 @@
AND a.EMP_ID = #{tPaymentInfo.empId}
</if>
<if test="tPaymentInfo.empIdcard != null and tPaymentInfo.empIdcard.trim() != ''">
AND a.EMP_IDCARD like CONCAT(#{tPaymentInfo.empIdcard},'%')
AND a.EMP_IDCARD = #{tPaymentInfo.empIdcard}
</if>
<if test="tPaymentInfo.unitId != null and tPaymentInfo.unitId.trim() != ''">
AND a.UNIT_ID = #{tPaymentInfo.unitId}
......@@ -545,7 +528,7 @@
AND a.SETTLE_DOMAIN_ID = #{tPaymentInfo.settleDomainId}
</if>
<if test="tPaymentInfo.socialHousehold != null and tPaymentInfo.socialHousehold.trim() != ''">
AND a.SOCIAL_HOUSEHOLD = #{tPaymentInfo.socialHousehold}
AND a.SOCIAL_HOUSEHOLD like CONCAT(#{tPaymentInfo.socialHousehold},'%')
</if>
<if test="tPaymentInfo.socialSecurityNo != null and tPaymentInfo.socialSecurityNo.trim() != ''">
AND a.SOCIAL_SECURITY_NO like CONCAT(#{tPaymentInfo.socialSecurityNo},'%')
......@@ -572,7 +555,7 @@
AND a.PROVIDENT_CREATE_MONTH = #{tPaymentInfo.providentCreateMonth}
</if>
<if test="tPaymentInfo.providentHousehold != null and tPaymentInfo.providentHousehold.trim() != ''">
AND a.PROVIDENT_HOUSEHOLD = #{tPaymentInfo.providentHousehold}
AND a.PROVIDENT_HOUSEHOLD like CONCAT(#{tPaymentInfo.providentHousehold},'%')
</if>
<if test="tPaymentInfo.providentPayAddr != null and tPaymentInfo.providentPayAddr.trim() != ''">
AND a.PROVIDENT_PAY_ADDR = #{tPaymentInfo.providentPayAddr}
......@@ -665,15 +648,6 @@
<if test="tPaymentInfo.unitBirthSet != null">
AND a.UNIT_BIRTH_SET = #{tPaymentInfo.unitBirthSet}
</if>
<if test="tPaymentInfo.personalPensionSet != null">
AND a.PERSONAL_PENSION_SET = #{tPaymentInfo.personalPensionSet}
</if>
<if test="tPaymentInfo.personalMedicalSet != null">
AND a.PERSONAL_MEDICAL_SET = #{tPaymentInfo.personalMedicalSet}
</if>
<if test="tPaymentInfo.personalUnemploymentSet != null">
AND a.PERSONAL_UNEMPLOYMENT_SET = #{tPaymentInfo.personalUnemploymentSet}
</if>
<if test="tPaymentInfo.unitPensionPer != null">
AND a.UNIT_PENSION_PER = #{tPaymentInfo.unitPensionPer}
</if>
......@@ -807,9 +781,6 @@
<result property="unitUnemploymentSet" column="UNIT_UNEMPLOYMENT_SET"/>
<result property="unitInjurySet" column="UNIT_INJURY_SET"/>
<result property="unitBirthSet" column="UNIT_BIRTH_SET"/>
<result property="personalPensionSet" column="PERSONAL_PENSION_SET"/>
<result property="personalMedicalSet" column="PERSONAL_MEDICAL_SET"/>
<result property="personalUnemploymentSet" column="PERSONAL_UNEMPLOYMENT_SET"/>
<result property="unitPensionPer" column="UNIT_PENSION_PER"/>
<result property="unitMedicalPer" column="UNIT_MEDICAL_PER"/>
<result property="unitUnemploymentPer" column="UNIT_UNEMPLOYMENT_PER"/>
......
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