Commit e2e8466a authored by zhaji's avatar zhaji

Merge branch 'develop' into feature-zhaji

parents 1a5d9dc7 d302a622
......@@ -44,7 +44,7 @@ spec: # 资源规范字段
containers: # 容器
- name: yifu-auth # 容器的名字
#image: 192.168.1.110:5500/qas-mvp/yifu-auth:1.0.0 # 容器镜像地址
image: localhost:5000/qas-mvp/yifu-auth-biz:1.0.0 #临时地址
image: localhost:5000/qas-mvp/yifu-auth:1.0.0 #临时地址
imagePullPolicy: IfNotPresent # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent
# Always,每次都检查;Never,每次都不检查(不管本地是否有);IfNotPresent,如果本地有就不检查,如果没有就拉取(手动测试时,
# 已经打好镜像存在docker容器中时,使用存在不检查级别,
......
......@@ -447,4 +447,12 @@ public interface CommonConstants {
public static final String[] SOCIAL_HANDLE_TYPE = {"0","养老", "医疗", "失业", "工伤", "生育", "大病"};
public static final int SIXTY_INT = 60;
/**
* param error
* @Author fxj
* @Date 2020-08-25
**/
public static final String PARAM_INFO_ERROR = "传参有误!";
}
......@@ -68,12 +68,12 @@ public class TSalaryAccount extends BaseEntity {
@ExcelProperty("工资表ID")
private String salaryFormId;
/**
* 工资月
* 薪酬月份
*/
@ExcelAttribute(name = "工资月", isNotEmpty = true, errorInfo = "工资月不能为空", maxLength = 6)
@NotBlank(message = "工资月不能为空")
@Length(max = 6, message = "工资月不能超过6个字符")
@ExcelProperty("工资月")
@ExcelAttribute(name = "薪酬月份", isNotEmpty = true, errorInfo = "薪酬月份不能为空", maxLength = 6)
@NotBlank(message = "薪酬月份不能为空")
@Length(max = 6, message = "薪酬月份不能超过6个字符")
@ExcelProperty("薪酬月份")
private String salaryMonth;
/**
* 员工 ID
......@@ -92,9 +92,9 @@ public class TSalaryAccount extends BaseEntity {
/**
* 员工身份证号
*/
@ExcelAttribute(name = "员工身份证号", maxLength = 25)
@Length(max = 25, message = "员工身份证号不能超过25个字符")
@ExcelProperty("员工身份证号")
@ExcelAttribute(name = "身份证号", maxLength = 25)
@Length(max = 25, message = "身份证号不能超过25个字符")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 银行卡号
......@@ -104,11 +104,11 @@ public class TSalaryAccount extends BaseEntity {
@ExcelProperty("银行卡号")
private String bankNo;
/**
* 开户行
* 开户行总行
*/
@ExcelAttribute(name = "开户行", maxLength = 50)
@Length(max = 50, message = "开户行不能超过50个字符")
@ExcelProperty("开户行")
@ExcelAttribute(name = "开户行总行", maxLength = 50)
@Length(max = 50, message = "开户行总行不能超过50个字符")
@ExcelProperty("开户行总行")
private String bankName;
/**
* 结算部门id
......@@ -172,12 +172,12 @@ public class TSalaryAccount extends BaseEntity {
@ExcelProperty("公积金扣缴月份")
private String deduProvidentMonth;
/**
* 表单类型0:工资;1:绩效;2:其他;3:劳务费;4:稿酬
* 报表类型0:薪资;1:绩效;2:其他;3:劳务费;4:稿酬
*/
@ExcelAttribute(name = "表单类型0:工资;1:绩效;2:其他;3:劳务费;4:稿酬", isNotEmpty = true, errorInfo = "表单类型0:工资;1:绩效;2:其他;3:劳务费;4:稿酬不能为空", maxLength = 32)
@NotBlank(message = "表单类型0:工资;1:绩效;2:其他;3:劳务费;4:稿酬不能为空")
@Length(max = 32, message = "表单类型0:工资;1:绩效;2:其他;3:劳务费;4:稿酬不能超过32个字符")
@ExcelProperty("表单类型0:工资;1:绩效;2:其他;3:劳务费;4:稿酬")
@ExcelAttribute(name = "报表类型", readConverterExp = "0=薪资,1=绩效,2=其他,3=劳务费,4=稿酬")
@NotBlank(message = "报表类型不能为空")
@Length(max = 32, message = "报表类型不能超过32个字符")
@ExcelProperty("报表类型")
private String formType;
/**
* 结算月
......@@ -260,9 +260,9 @@ public class TSalaryAccount extends BaseEntity {
/**
* 手机号
*/
@ExcelAttribute(name = "手机号", maxLength = 11)
@Length(max = 11, message = "手机号不能超过11个字符")
@ExcelProperty("手机号")
@ExcelAttribute(name = "手机号", maxLength = 11)
@Length(max = 11, message = "手机号不能超过11个字符")
@ExcelProperty("手机号")
private String empPhone;
/**
* 是否自有员工0:否;1:是自有员工
......@@ -270,6 +270,17 @@ public class TSalaryAccount extends BaseEntity {
@ExcelAttribute(name = "是否自有员工0:否;1:是自有员工")
@ExcelProperty("是否自有员工0:否;1:是自有员工")
private Integer ownFlag;
@Schema(description = "劳务费、稿酬是否含有发薪0:否;1:是")
@ExcelAttribute(name = "劳务费、稿酬是否含有发薪")
@ExcelProperty("劳务费、稿酬是否含有发薪")
private Integer haveSalaryFlag;
@Schema(description = "是否含有特殊金额0:否;1:是")
@ExcelAttribute(name = "是否含有特殊金额")
@ExcelProperty("是否含有特殊金额")
private Integer haveSpecialFlag;
/**
* 本月是否重复金额0:否;1:是重复导入的
*/
......@@ -286,13 +297,13 @@ public class TSalaryAccount extends BaseEntity {
/**
* 开户行省
*/
@ExcelAttribute(name = "开户行省")
@ExcelAttribute(name = "开户行省", isArea = true)
@ExcelProperty("开户行省")
private String bankProvince;
/**
* 开户行市
*/
@ExcelAttribute(name = "开户行市")
@ExcelAttribute(name = "开户行市", isArea = true, parentField = "bankProvince")
@ExcelProperty("开户行市")
private String bankCity;
/**
......@@ -303,10 +314,10 @@ public class TSalaryAccount extends BaseEntity {
@ExcelProperty("是否个人承担部分税费:0否1是")
private String isPersonTax;
/**
* 应发(劳务费、稿酬)
* 应发薪酬(劳务费、稿酬)
*/
@ExcelAttribute(name = "应发(劳务费、稿酬)")
@ExcelProperty("应发(劳务费、稿酬)")
@ExcelAttribute(name = "应发薪酬")
@ExcelProperty("应发薪酬")
private BigDecimal relaySalary;
/**
* 实发(个人实收)
......@@ -315,10 +326,10 @@ public class TSalaryAccount extends BaseEntity {
@ExcelProperty("实发(个人实收)")
private BigDecimal actualSalary;
/**
* 个税(个人承担)
* 个税金额(个人承担)
*/
@ExcelAttribute(name = "个税(个人承担)")
@ExcelProperty("个税(个人承担)")
@ExcelAttribute(name = "个税金额")
@ExcelProperty("个税金额")
private BigDecimal salaryTax;
/**
* 公司应发
......
......@@ -208,6 +208,25 @@ public class TSalaryStandard extends BaseEntity {
@Length(max = 200, message = "自有员工强行提交的备注不能超过200个字符")
@ExcelProperty("自有员工强行提交的备注")
private String ownRemark;
@Schema(description = "劳务费、稿酬是否含有发薪0:否;1:是")
@ExcelAttribute(name = "劳务费、稿酬是否含有发薪")
@ExcelProperty("劳务费、稿酬是否含有发薪")
private Integer haveSalaryFlag;
@Schema(description = "含有发薪的强行提交的备注", name = "haveSalaryRemark")
@ExcelAttribute(name = "含有发薪的强行提交的备注")
private String haveSalaryRemark;
@Schema(description = "是否含有特殊金额0:否;1:是")
@ExcelAttribute(name = "是否含有特殊金额")
@ExcelProperty("是否含有特殊金额")
private Integer haveSpecialFlag;
@Schema(description = "含有特殊金额的强行提交的备注", name = "haveSpecialRemark")
@ExcelAttribute(name = "含有特殊金额的强行提交的备注")
private String haveSpecialRemark;
/**
* 提交备注
*/
......
......@@ -21,62 +21,40 @@ import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
/**
* 统计-申报人员
* 申报对象表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @author huyc
* @date 2022-08-11 10:56:10
*/
@Data
@TableName("t_statistics_tax_declarer")
@Schema(description = "统计-申报人员")
public class TStatisticsTaxDeclarer {
@TableName("t_statistics_declarer")
@EqualsAndHashCode()
@Schema(description = "申报对象表")
public class TStatisticsDeclarer {
/**
* id
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("id")
@ExcelProperty("ID")
private String id;
/**
* 税务主体(封面抬头)
*/
@ExcelAttribute(name = "税务主体(封面抬头)", maxLength = 50)
@Length(max = 50, message = "税务主体(封面抬头)不能超过50个字符")
@ExcelProperty("税务主体(封面抬头)")
private String invoiceTitle;
/**
* 结算部门id
*/
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id不能为空", maxLength = 32)
@NotBlank(message = "结算部门id不能为空")
@Length(max = 32, message = "结算部门id不能超过32个字符")
@ExcelProperty("结算部门id")
private String settleDepartId;
/**
* 结算部门no
*/
@ExcelAttribute(name = "结算部门no", isNotEmpty = true, errorInfo = "结算部门no不能为空", maxLength = 50)
@NotBlank(message = "结算部门no不能为空")
@Length(max = 50, message = "结算部门no不能超过50个字符")
@ExcelProperty("结算部门no")
private String settleDepartNo;
/**
* 结算部门name
* 申报单位
*/
@ExcelAttribute(name = "结算部门name", isNotEmpty = true, errorInfo = "结算部门name不能为空", maxLength = 50)
@NotBlank(message = "结算部门name不能为空")
@Length(max = 50, message = "结算部门name不能超过50个字符")
@ExcelProperty("结算部门name")
private String settleDepartName;
@ExcelAttribute(name = "申报单位", maxLength = 50)
@Length(max = 50, message = "申报单位不能超过50个字符")
@ExcelProperty("申报单位")
private String declareUnit;
/**
* 申报月份
*/
......@@ -85,87 +63,61 @@ public class TStatisticsTaxDeclarer {
@Length(max = 6, message = "申报月份不能超过6个字符")
@ExcelProperty("申报月份")
private String declareMonth;
/**
* 员工 ID
*/
@ExcelAttribute(name = "员工 ID", maxLength = 32)
@Length(max = 32, message = "员工 ID不能超过32个字符")
@ExcelProperty("员工 ID")
private String empId;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名", maxLength = 50)
@Length(max = 50, message = "员工姓名不能超过50个字符")
@ExcelAttribute(name = "员工姓名", maxLength = 20)
@Length(max = 20, message = "员工姓名不能超过20个字符")
@ExcelProperty("员工姓名")
private String empName;
/**
* 员工身份证号
* 身份证号
*/
@ExcelAttribute(name = "员工身份证号", maxLength = 25)
@Length(max = 25, message = "员工身份证号不能超过25个字符")
@ExcelProperty("员工身份证号")
@ExcelAttribute(name = "身份证号", maxLength = 20)
@Length(max = 20, message = "身份证号不能超过20个字符")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 手机号码
*/
@ExcelAttribute(name = "手机号码", maxLength = 25)
@Length(max = 25, message = "手机号码不能超过25个字符")
@ExcelAttribute(name = "手机号码", maxLength = 11)
@Length(max = 11, message = "手机号码不能超过11个字符")
@ExcelProperty("手机号码")
private String phone;
/**
* 人员状态(在职/临时/离职)
*/
@ExcelAttribute(name = "人员状态(在职/临时/离职)", maxLength = 5)
@Length(max = 5, message = "人员状态(在职/临时/离职)不能超过5个字符")
@ExcelProperty("人员状态(在职/临时/离职)")
private String userStatus;
/**
* 任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员
*/
@ExcelAttribute(name = "任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员", maxLength = 5)
@Length(max = 5, message = "任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员不能超过5个字符")
@ExcelProperty("任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员")
private String userType;
/**
* 任职受雇从业日期(计税月份)
*/
@ExcelAttribute(name = "任职受雇从业日期(计税月份)", maxLength = 20)
@Length(max = 20, message = "任职受雇从业日期(计税月份)不能超过20个字符")
@ExcelProperty("任职受雇从业日期(计税月份)")
private String taxMonth;
private String empPhone;
/**
* 单位id
* 人员状态
*/
@ExcelAttribute(name = "单位id", maxLength = 32)
@Length(max = 32, message = "单位id不能超过32个字符")
@ExcelProperty("单位id")
private String unitId;
@ExcelAttribute(name = "人员状态", maxLength = 2)
@Length(max = 2, message = "人员状态不能超过2个字符")
@ExcelProperty("人员状态")
private String empStatus;
/**
* 单位no
* 任职受雇从业类型
*/
@ExcelAttribute(name = "单位no", maxLength = 50)
@Length(max = 50, message = "单位no不能超过50个字符")
@ExcelProperty("单位no")
private String unitNo;
@ExcelAttribute(name = "任职受雇从业类型", maxLength = 2)
@Length(max = 2, message = "任职受雇从业类型不能超过2个字符")
@ExcelProperty("任职受雇从业类型")
private String occupationType;
/**
* 单位name
* 任职受雇从业日期
*/
@ExcelAttribute(name = "单位name", maxLength = 50)
@Length(max = 50, message = "单位name不能超过50个字符")
@ExcelProperty("单位name")
private String unitName;
@ExcelAttribute(name = "任职受雇从业日期", maxLength = 20)
@Length(max = 20, message = "任职受雇从业日期不能超过20个字符")
@ExcelProperty("任职受雇从业日期")
private String occupationMonth;
/**
* 个税
* 本月是否申报 0 是 1 否
*/
@ExcelAttribute(name = "个税")
@ExcelProperty("个税")
private BigDecimal salaryTax;
@ExcelAttribute(name = "本月是否申报", maxLength = 1)
@Length(max = 1, message = "本月是否申报不能超过1个字符")
@ExcelProperty("本月是否申报")
private String isDeclare;
/**
* 专项总金额
* 不申报原因
*/
@ExcelAttribute(name = "专项总金额")
@ExcelProperty("专项总金额")
private BigDecimal specialDeduMoney;
@ExcelAttribute(name = "不申报原因", maxLength = 200)
@Length(max = 200, message = "不申报原因不能超过200个字符")
@ExcelProperty("不申报原因")
private String undeclareReason;
}
......@@ -16,11 +16,14 @@
*/
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Set;
/**
* 工资报账主表(工资条)
......@@ -31,17 +34,12 @@ import java.time.LocalDateTime;
@Data
public class TSalaryAccountSearchVo extends TSalaryAccount {
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
@TableField(exist = false)
private List<String> idList;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
@TableField(exist = false)
@Schema(description = "导出的表头的Set")
private Set<String> exportFields;
/**
* @Author fxj
* 查询数据起
......
......@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TApprovalRecord;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
......@@ -30,6 +31,7 @@ public class TSalaryDetailVo implements Serializable {
private Map<String, String> accountTitle = new HashMap<>(); //报账表浮动表头Map
private List<String> titleSortList = new ArrayList<>(); //报账表浮动表头排序List
//非扣税项附件
private List<TSalaryAtta> attaList = new ArrayList<>();
/**
* 薪资类审核记录 fxj 2021-11-15
*/
......
......@@ -16,20 +16,20 @@
*/
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxDeclarer;
import io.swagger.v3.oas.annotations.media.Schema;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 统计-申报人员
* 申报对象表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @author huyc
* @date 2022-08-11 10:56:10
*/
@Data
public class TStatisticsTaxDeclarerSearchVo extends TStatisticsTaxDeclarer {
public class TStatisticsDeclarerSearchVo extends TStatisticsDeclarer {
/**
* 多选导出或删除等操作
......
......@@ -19,70 +19,42 @@ package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 统计-申报人员
* 申报对象表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @author huyc
* @date 2022-08-11 10:56:10
*/
@Data
public class TStatisticsTaxDeclarerVo extends RowIndex implements Serializable {
public class TStatisticsDeclarerVo extends RowIndex implements Serializable {
/**
* id
* ID
*/
@TableId(type = IdType.ASSIGN_ID)
@NotBlank(message = "id 不能为空")
@Length(max = 32, message = "id 不能超过32 个字符")
@ExcelAttribute(name = "id", isNotEmpty = true, errorInfo = "id 不能为空", maxLength = 32)
@Schema(description = "id")
@ExcelProperty("id")
@NotBlank(message = "ID 不能为空")
@Length(max = 32, message = "ID 不能超过32 个字符")
@ExcelAttribute(name = "ID", isNotEmpty = true, errorInfo = "ID 不能为空", maxLength = 32)
@Schema(description = "ID")
@ExcelProperty("ID")
private String id;
/**
* 税务主体(封面抬头)
*/
@Length(max = 50, message = "税务主体(封面抬头) 不能超过50 个字符")
@ExcelAttribute(name = "税务主体(封面抬头)", maxLength = 50)
@Schema(description = "税务主体(封面抬头)")
@ExcelProperty("税务主体(封面抬头)")
private String invoiceTitle;
/**
* 结算部门id
*/
@NotBlank(message = "结算部门id 不能为空")
@Length(max = 32, message = "结算部门id 不能超过32 个字符")
@ExcelAttribute(name = "结算部门id", isNotEmpty = true, errorInfo = "结算部门id 不能为空", maxLength = 32)
@Schema(description = "结算部门id")
@ExcelProperty("结算部门id")
private String settleDepartId;
/**
* 结算部门no
*/
@NotBlank(message = "结算部门no 不能为空")
@Length(max = 50, message = "结算部门no 不能超过50 个字符")
@ExcelAttribute(name = "结算部门no", isNotEmpty = true, errorInfo = "结算部门no 不能为空", maxLength = 50)
@Schema(description = "结算部门no")
@ExcelProperty("结算部门no")
private String settleDepartNo;
/**
* 结算部门name
* 申报单位
*/
@NotBlank(message = "结算部门name 不能为空")
@Length(max = 50, message = "结算部门name 不能超过50 个字符")
@ExcelAttribute(name = "结算部门name", isNotEmpty = true, errorInfo = "结算部门name 不能为空", maxLength = 50)
@Schema(description = "结算部门name")
@ExcelProperty("结算部门name")
private String settleDepartName;
@Length(max = 50, message = "申报单位 不能超过50 个字符")
@ExcelAttribute(name = "申报单位", maxLength = 50)
@Schema(description = "申报单位")
@ExcelProperty("申报单位")
private String declareUnit;
/**
* 申报月份
*/
......@@ -92,99 +64,69 @@ public class TStatisticsTaxDeclarerVo extends RowIndex implements Serializable {
@Schema(description = "申报月份")
@ExcelProperty("申报月份")
private String declareMonth;
/**
* 员工 ID
*/
@Length(max = 32, message = "员工 ID 不能超过32 个字符")
@ExcelAttribute(name = "员工 ID", maxLength = 32)
@Schema(description = "员工 ID")
@ExcelProperty("员工 ID")
private String empId;
/**
* 员工姓名
*/
@Length(max = 50, message = "员工姓名 不能超过50 个字符")
@ExcelAttribute(name = "员工姓名", maxLength = 50)
@Length(max = 20, message = "员工姓名 不能超过20 个字符")
@ExcelAttribute(name = "员工姓名", maxLength = 20)
@Schema(description = "员工姓名")
@ExcelProperty("员工姓名")
private String empName;
/**
* 员工身份证号
* 身份证号
*/
@Length(max = 25, message = "员工身份证号 不能超过25 个字符")
@ExcelAttribute(name = "员工身份证号", maxLength = 25)
@Schema(description = "员工身份证号")
@ExcelProperty("员工身份证号")
@Length(max = 20, message = "身份证号 不能超过20 个字符")
@ExcelAttribute(name = "身份证号", maxLength = 20)
@Schema(description = "身份证号")
@ExcelProperty("身份证号")
private String empIdcard;
/**
* 手机号码
*/
@Length(max = 25, message = "手机号码 不能超过25 个字符")
@ExcelAttribute(name = "手机号码", maxLength = 25)
@Length(max = 11, message = "手机号码 不能超过11 个字符")
@ExcelAttribute(name = "手机号码", maxLength = 11)
@Schema(description = "手机号码")
@ExcelProperty("手机号码")
private String phone;
/**
* 人员状态(在职/临时/离职)
*/
@Length(max = 5, message = "人员状态(在职/临时/离职) 不能超过5 个字符")
@ExcelAttribute(name = "人员状态(在职/临时/离职)", maxLength = 5)
@Schema(description = "人员状态(在职/临时/离职)")
@ExcelProperty("人员状态(在职/临时/离职)")
private String userStatus;
/**
* 任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员
*/
@Length(max = 5, message = "任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员 不能超过5 个字符")
@ExcelAttribute(name = "任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员", maxLength = 5)
@Schema(description = "任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员")
@ExcelProperty("任职受雇从业类型(雇员/其他(劳务人员))-目前为雇员")
private String userType;
/**
* 任职受雇从业日期(计税月份)
*/
@Length(max = 20, message = "任职受雇从业日期(计税月份) 不能超过20 个字符")
@ExcelAttribute(name = "任职受雇从业日期(计税月份)", maxLength = 20)
@Schema(description = "任职受雇从业日期(计税月份)")
@ExcelProperty("任职受雇从业日期(计税月份)")
private String taxMonth;
private String empPhone;
/**
* 单位id
* 人员状态
*/
@Length(max = 32, message = "单位id 不能超过32 个字符")
@ExcelAttribute(name = "单位id", maxLength = 32)
@Schema(description = "单位id")
@ExcelProperty("单位id")
private String unitId;
@Length(max = 2, message = "人员状态 不能超过2 个字符")
@ExcelAttribute(name = "人员状态", maxLength = 2)
@Schema(description = "人员状态")
@ExcelProperty("人员状态")
private String empStatus;
/**
* 单位no
* 任职受雇从业类型
*/
@Length(max = 50, message = "单位no 不能超过50 个字符")
@ExcelAttribute(name = "单位no", maxLength = 50)
@Schema(description = "单位no")
@ExcelProperty("单位no")
private String unitNo;
@Length(max = 2, message = "任职受雇从业类型 不能超过2 个字符")
@ExcelAttribute(name = "任职受雇从业类型", maxLength = 2)
@Schema(description = "任职受雇从业类型")
@ExcelProperty("任职受雇从业类型")
private String occupationType;
/**
* 单位name
* 任职受雇从业日期
*/
@Length(max = 50, message = "单位name 不能超过50 个字符")
@ExcelAttribute(name = "单位name", maxLength = 50)
@Schema(description = "单位name")
@ExcelProperty("单位name")
private String unitName;
@Length(max = 20, message = "任职受雇从业日期 不能超过20 个字符")
@ExcelAttribute(name = "任职受雇从业日期", maxLength = 20)
@Schema(description = "任职受雇从业日期")
@ExcelProperty("任职受雇从业日期")
private String occupationMonth;
/**
* 个税
* 本月是否申报
*/
@ExcelAttribute(name = "个税")
@Schema(description = "个税")
@ExcelProperty("个税")
private BigDecimal salaryTax;
@Length(max = 1, message = "本月是否申报 不能超过1 个字符")
@ExcelAttribute(name = "本月是否申报", maxLength = 1)
@Schema(description = "本月是否申报")
@ExcelProperty("本月是否申报")
private String isDeclare;
/**
* 专项总金额
* 不申报原因
*/
@ExcelAttribute(name = "专项总金额")
@Schema(description = "专项总金额")
@ExcelProperty("专项总金额")
private BigDecimal specialDeduMoney;
@Length(max = 200, message = "不申报原因 不能超过200 个字符")
@ExcelAttribute(name = "不申报原因", maxLength = 200)
@Schema(description = "不申报原因")
@ExcelProperty("不申报原因")
private String undeclareReason;
}
......@@ -17,19 +17,20 @@
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.OSSUtil;
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.TSalaryAtta;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAttaService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAttaSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.net.URL;
import java.util.List;
......@@ -39,93 +40,113 @@ import java.util.List;
* @author hgw
* @date 2022-08-05 11:40:14
*/
@Log4j2
@RestController
@RequiredArgsConstructor
@RequestMapping("/tsalaryatta")
@Tag(name = "薪资结算附件表管理")
@Tag(name = "薪资结算附件表")
public class TSalaryAttaController {
private final TSalaryAttaService tSalaryAttaService;
private OSSUtil ossUtil;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSalaryAtta 薪资结算附件表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TSalaryAtta>> getTSalaryAttaPage(Page<TSalaryAtta> page, TSalaryAttaSearchVo tSalaryAtta) {
return new R<>(tSalaryAttaService.getTSalaryAttaPage(page, tSalaryAtta));
}
/**
* 不分页查询
*
* @param tSalaryAtta 薪资结算附件表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage")
//@PreAuthorize("@pms.hasPermission('salary_tsalaryatta_get')" )
public R<List<TSalaryAtta>> getTSalaryAttaNoPage(@RequestBody TSalaryAttaSearchVo tSalaryAtta) {
return R.ok(tSalaryAttaService.noPageDiy(tSalaryAtta));
* @param recordId 工程薪资暂停发发放记录的id
* @Description:
* @Author: hgw
* @Date: 2021/10/27 17:31
* @return: com.yifu.cloud.v1.common.core.util.R<java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAtta>>
**/
@Schema(description = "获取list(recordId 工程薪资暂停发发放记录的id)")
@GetMapping("/getTSalaryAttaList")
public R<List<TSalaryAtta>> getTSalaryAttaList(@RequestParam String recordId) {
return new R<>(tSalaryAttaService.getAttaListByRecordId(recordId));
}
/**
* 通过id查询薪资结算附件表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tsalaryatta_get')")
@GetMapping("/{id}")
public R<TSalaryAtta> getById(@PathVariable("id") String id) {
return R.ok(tSalaryAttaService.getById(id));
* @param linkId id
* @Description: 获取附件
* @Author: hgw
* @Date: 2021-12-8 15:36:58
* @return: com.yifu.cloud.v1.common.core.util.R<java.util.List < com.yifu.cloud.v1.hrms.api.entity.TSalaryAtta>>
**/
@Schema(description = "获取list(linkId, linkType链接类型:0工资;1工程工资;2暂停发;3自定义项暂停发;4打印记录;5核准表打印记录6:非扣税 7发放失败 8自有员工附件 9财务回执附件 10换人换卡附件;11薪资原表;12劳务费或稿酬已有发薪记录;13薪资特殊值(3500、5000))")
@GetMapping("/getTSalaryAttaListByIdType")
public R<List<TSalaryAtta>> getTSalaryAttaListByIdType(@RequestParam String linkId, @RequestParam Integer linkType) {
return new R<>(tSalaryAttaService.getAttaListHaveSrc(linkId, linkType));
}
/**
* 新增薪资结算附件表
* 阿里云处理文件上传
*
* @param tSalaryAtta 薪资结算附件表
* @return R
* @param file 文件
* @param filePath 如: import 或 import/test/test..../test
* @return
* @throws IOException
*/
@Operation(summary = "新增薪资结算附件表", description = "新增薪资结算附件表:hasPermission('salary_tsalaryatta_add')")
@SysLog("新增薪资结算附件表")
@PostMapping
@PreAuthorize("@pms.hasPermission('salary_tsalaryatta_add')")
public R<Boolean> save(@RequestBody TSalaryAtta tSalaryAtta) {
return R.ok(tSalaryAttaService.save(tSalaryAtta));
@SysLog("薪资附件上传")
@Schema(description = "OSS文件上传接口。linkType类型:0工资;1工程工资;2暂停发;3自定义项暂停发;4薪资打印记录;5核准表打印记录;6:非扣税项;8自有员工附件;9:财务回执附件;10换人换卡附件;11薪资原表")
/*@ApiImplicitParams({
@ApiImplicitParam(name = "file", value = "Form文件上传", required = true, dataType = "__file", paramType = "form"),
@ApiImplicitParam(name = "filePath", value = "文件上传路径", dataType = "String", paramType = "form"),
@ApiImplicitParam(name = "linkId", value = "链接ID(工资主表id、工程主表id、自定义项表id等)", required = true, dataType = "String", paramType = "form"),
@ApiImplicitParam(name = "linkType", value = "类型:0工资;1工程工资;2暂停发;3自定义项暂停发;4薪资打印记录;5核准表打印记录;6:非扣税项;8自有员工附件;9:财务回执附件;10换人换卡附件;11薪资原表", required = true, dataType = "int", paramType = "form"),
@ApiImplicitParam(name = "engineerType", value = "工程文件类型:0三方协议;1委托付款函;2劳务费;3其他", required = true, dataType = "int", paramType = "form")
})*/
@PostMapping(value = "/ossUploadFile")
public R uploadImg(@RequestBody MultipartFile file, String filePath, String linkId
, Integer linkType, Integer engineerType, String printRemark, String recordId) throws IOException {
return tSalaryAttaService.uploadAtta(file, filePath, linkId, linkType, engineerType, printRemark, recordId);
}
/**
* 修改薪资结算附件表
* 获取附件下载地址
*
* @param tSalaryAtta 薪资结算附件表
* @return R
*/
@Operation(summary = "修改薪资结算附件表", description = "修改薪资结算附件表:hasPermission('salary_tsalaryatta_edit')")
@SysLog("修改薪资结算附件表")
@PutMapping
@PreAuthorize("@pms.hasPermission('salary_tsalaryatta_edit')")
public R<Boolean> updateById(@RequestBody TSalaryAtta tSalaryAtta) {
return R.ok(tSalaryAttaService.updateById(tSalaryAtta));
* @param id
* @return
* @Author fxj
* @Date 2019-08-16
**/
@Schema(description = "附件预览下载地址")
@SysLog("附件预览下载地址")
@GetMapping("/ossFileUrl/{id}")
public R ossFileUrl(@PathVariable String id) {
TSalaryAtta salaryAtta = tSalaryAttaService.getById(id);
if (null == salaryAtta) {
return R.failed("无对应附件信息");
}
URL url = ossUtil.getObjectUrl(null, salaryAtta.getAttaSrc());
salaryAtta.setAttaUrl(url.toString());
return new R<>(salaryAtta);
}
/**
* 通过id删除薪资结算附件表
* 删除数据库记录和OSS文件
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除薪资结算附件表", description = "通过id删除薪资结算附件表:hasPermission('salary_tsalaryatta_del')")
@SysLog("通过id删除薪资结算附件表")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tsalaryatta_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tSalaryAttaService.removeById(id));
* @param id
* @return
* @Author fxj
* @Date 2019-09-09
**/
@Schema(description = "客户/员工表单附件删除")
@SysLog("客户/员工表单附件删除")
@GetMapping("/ossFileDelete/{id}")
public R ossFileDelete(@PathVariable String id) {
try {
TSalaryAtta salaryAtta = tSalaryAttaService.getById(id);
if (null == salaryAtta) {
return R.failed("无对应附件信息");
}
if (tSalaryAttaService.removeById(id)) {
ossUtil.deleteObject(null, salaryAtta.getAttaSrc());
return R.ok("删除成功!");
}
} catch (Exception e) {
log.error("附件删除异常:" + e.getMessage());
return R.failed("附件删除异常!");
}
return R.ok("删除失败!");
}
}
/*
* 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.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsDeclarerService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsDeclarerSearchVo;
import lombok.SneakyThrows;
import org.springframework.security.access.prepost.PreAuthorize;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
/**
* 申报对象表
*
* @author huyc
* @date 2022-08-11 10:56:10
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tstatisticsdeclarer" )
@Tag(name = "申报对象表管理")
public class TStatisticsDeclarerController {
private final TStatisticsDeclarerService tStatisticsDeclarerService;
/**
* 简单分页查询
* @param page 分页对象
* @param tStatisticsDeclarer 申报对象表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TStatisticsDeclarer>> getTStatisticsDeclarerPage(Page<TStatisticsDeclarer> page, TStatisticsDeclarerSearchVo tStatisticsDeclarer) {
return new R<>(tStatisticsDeclarerService.getTStatisticsDeclarerPage(page,tStatisticsDeclarer));
}
/**
* 不分页查询
* @param tStatisticsDeclarer 申报对象表
* @return
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage" )
public R<List<TStatisticsDeclarer>> getTStatisticsDeclarerNoPage(@RequestBody TStatisticsDeclarerSearchVo tStatisticsDeclarer) {
return R.ok(tStatisticsDeclarerService.noPageDiy(tStatisticsDeclarer));
}
/**
* 通过id查询申报对象表
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tstatisticsdeclarer_get')")
@GetMapping("/{id}" )
public R<TStatisticsDeclarer> getById(@PathVariable("id" ) String id) {
return R.ok(tStatisticsDeclarerService.getById(id));
}
/**
* 新增申报对象表
* @param tStatisticsDeclarer 申报对象表
* @return R
*/
@Operation(summary = "新增申报对象表", description = "新增申报对象表:hasPermission('salary_tstatisticsdeclarer_add')")
@SysLog("新增申报对象表" )
@PostMapping
@PreAuthorize("@pms.hasPermission('salary_tstatisticsdeclarer_add')" )
public R<Boolean> save(@RequestBody TStatisticsDeclarer tStatisticsDeclarer) {
return R.ok(tStatisticsDeclarerService.save(tStatisticsDeclarer));
}
/**
* 修改申报对象表
* @param tStatisticsDeclarer 申报对象表
* @return R
*/
@Operation(summary = "修改申报对象表", description = "修改申报对象表:hasPermission('salary_tstatisticsdeclarer_edit')")
@SysLog("修改申报对象表" )
@PutMapping
@PreAuthorize("@pms.hasPermission('salary_tstatisticsdeclarer_edit')" )
public R<Boolean> updateById(@RequestBody TStatisticsDeclarer tStatisticsDeclarer) {
return R.ok(tStatisticsDeclarerService.updateById(tStatisticsDeclarer));
}
/**
* 通过id删除申报对象表
* @param id id
* @return R
*/
@Operation(summary = "通过id删除申报对象表", description = "通过id删除申报对象表:hasPermission('salary_tstatisticsdeclarer_del')")
@SysLog("通过id删除申报对象表" )
@DeleteMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('salary_tstatisticsdeclarer_del')" )
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tStatisticsDeclarerService.removeById(id));
}
/**
* 申报对象表 批量导入
*
* @author huyc
* @date 2022-08-11 10:56:10
**/
@SneakyThrows
@Operation(description = "批量新增申报对象表 hasPermission('salary_tstatisticsdeclarer-batch-import')")
@SysLog("批量新增申报对象表")
@PostMapping("/importListAdd")
@PreAuthorize("@pms.hasPermission('salary_tstatisticsdeclarer-batch-import')")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) throws IOException {
return tStatisticsDeclarerService.importDiy(file.getInputStream());
}
/**
* 申报对象表 批量导出
* @author huyc
* @date 2022-08-11 10:56:10
**/
@Operation(description = "导出申报对象表 hasPermission('salary_tstatisticsdeclarer-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('salary_tstatisticsdeclarer-export')")
public void export(HttpServletResponse response, @RequestBody TStatisticsDeclarerSearchVo searchVo) {
tStatisticsDeclarerService.listExport(response,searchVo);
}
}
/*
* 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.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.TStatisticsTaxDeclarer;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxDeclarerService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxDeclarerSearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
* 统计-申报人员
*
* @author hgw
* @date 2022-08-05 11:40:14
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tstatisticstaxdeclarer")
@Tag(name = "统计-申报人员管理")
public class TStatisticsTaxDeclarerController {
private final TStatisticsTaxDeclarerService tStatisticsTaxDeclarerService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tStatisticsTaxDeclarer 统计-申报人员
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TStatisticsTaxDeclarer>> getTStatisticsTaxDeclarerPage(Page<TStatisticsTaxDeclarer> page, TStatisticsTaxDeclarerSearchVo tStatisticsTaxDeclarer) {
return new R<>(tStatisticsTaxDeclarerService.getTStatisticsTaxDeclarerPage(page, tStatisticsTaxDeclarer));
}
/**
* 通过id查询统计-申报人员
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('salary_tstatisticstaxdeclarer_get')")
@GetMapping("/{id}")
public R<TStatisticsTaxDeclarer> getById(@PathVariable("id") String id) {
return R.ok(tStatisticsTaxDeclarerService.getById(id));
}
/**
* 通过id删除统计-申报人员
*
* @param id id
* @return R
*/
@Operation(summary = "通过id删除统计-申报人员", description = "通过id删除统计-申报人员:hasPermission('salary_tstatisticstaxdeclarer_del')")
@SysLog("通过id删除统计-申报人员")
@DeleteMapping("/{id}")
@PreAuthorize("@pms.hasPermission('salary_tstatisticstaxdeclarer_del')")
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(tStatisticsTaxDeclarerService.removeById(id));
}
/**
* 统计-申报人员 批量导出
*
* @author hgw
* @date 2022-08-05 11:40:14
**/
@Operation(description = "导出统计-申报人员 hasPermission('salary_tstatisticstaxdeclarer-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('salary_tstatisticstaxdeclarer-export')")
public void export(HttpServletResponse response, @RequestBody TStatisticsTaxDeclarerSearchVo searchVo) {
tStatisticsTaxDeclarerService.listExport(response, searchVo);
}
}
......@@ -23,6 +23,9 @@ import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 薪资结算附件表
*
......@@ -31,10 +34,13 @@ import org.apache.ibatis.annotations.Param;
*/
@Mapper
public interface TSalaryAttaMapper extends BaseMapper<TSalaryAtta> {
/**
* 薪资结算附件表简单分页查询
* @param tSalaryAtta 薪资结算附件表
* @return
*/
IPage<TSalaryAtta> getTSalaryAttaPage(Page<TSalaryAtta> page, @Param("tSalaryAtta") TSalaryAtta tSalaryAtta);
/**
* 薪资结算附件表简单分页查询
*
* @param tAtta 薪资结算附件表
* @return
*/
IPage<TSalaryAtta> getTAttaPage(Page page, @Param("tAtta") TSalaryAtta tAtta);
List<TSalaryAtta> getTAttaList(@Param("tAtta") TSalaryAtta tAtta);
}
......@@ -18,23 +18,24 @@
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.TStatisticsTaxDeclarer;
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.TStatisticsDeclarer;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 统计-申报人员
* 申报对象表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @author huyc
* @date 2022-08-11 10:56:10
*/
@Mapper
public interface TStatisticsTaxDeclarerMapper extends BaseMapper<TStatisticsTaxDeclarer> {
public interface TStatisticsDeclarerMapper extends BaseMapper<TStatisticsDeclarer> {
/**
* 统计-申报人员简单分页查询
* @param tStatisticsTaxDeclarer 统计-申报人员
* 申报对象表简单分页查询
* @param tStatisticsDeclarer 申报对象表
* @return
*/
IPage<TStatisticsTaxDeclarer> getTStatisticsTaxDeclarerPage(Page<TStatisticsTaxDeclarer> page, @Param("tStatisticsTaxDeclarer") TStatisticsTaxDeclarer tStatisticsTaxDeclarer);
IPage<TStatisticsDeclarer> getTStatisticsDeclarerPage(Page<TStatisticsDeclarer> page, @Param("tStatisticsDeclarer") TStatisticsDeclarer tStatisticsDeclarer);
}
......@@ -4,6 +4,7 @@ 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.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryDetailVo;
import java.util.List;
......@@ -34,5 +35,7 @@ public interface SalaryUploadService extends IService<TSalaryStandard> {
**/
R<String> saveAndSubmit(List<TSalaryAccountVo> savList);
R<TSalaryDetailVo> getBill(String salaryFormId);
}
......@@ -20,9 +20,12 @@ 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.common.core.vo.FileVo;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAttaSearchVo;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
/**
......@@ -32,12 +35,67 @@ import java.util.List;
* @date 2022-08-05 11:40:14
*/
public interface TSalaryAttaService extends IService<TSalaryAtta> {
/**
* 薪资结算附件表简单分页查询
* @param tSalaryAtta 薪资结算附件表
* @return
*/
IPage<TSalaryAtta> getTSalaryAttaPage(Page<TSalaryAtta> page, TSalaryAttaSearchVo tSalaryAtta);
List<TSalaryAtta> noPageDiy(TSalaryAttaSearchVo searchVo);
/**
* 薪资结算附件表简单分页查询
*
* @param tAtta 薪资结算附件表
* @return
*/
IPage<TSalaryAtta> getTAttaPage(Page<TSalaryAtta> page, TSalaryAtta tAtta);
/**
* @param linkId 工程工资id
* @param recordId 暂停发发放id
* @Description: 工程薪资暂停发附件上传
* @Author: hgw
* @Date: 2021/10/27 15:43
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
R<String> uploadEngineerPauseSalaryAtta(MultipartFile[] file, String filePath, String linkId, Integer linkType
, Integer[] engineerType, String recordId) throws IOException;
/**
* @param linkId 工资id
* @param recordId 自定义暂停发发放id
* @Description: 自定义暂停发附件上传
* @Author: hgw
* @Date: 2021-11-22 17:37:24
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
R<String> uploadPauseDiyAtta(MultipartFile[] file, String filePath, String linkId, Integer linkType
, String recordId) throws IOException;
/**
* @param linkId 工资id
* @Description: 自定义暂停发附件上传
* @Author: hgw
* @Date: 2021-11-22 17:37:24
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
R<String> uploadLostAndFoundAtta(MultipartFile[] file, String filePath, String linkId, Integer linkType) throws IOException;
/**
* @Description: 薪资附件上传-通用
* @Author: hgw
* @Date: 2021/10/27 15:43
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.String>
**/
R<FileVo> uploadAtta(MultipartFile file, String filePath, String linkId, Integer linkType, Integer engineerType
, String printRemark, String recordId) throws IOException;
/**
* @param linkId
* @param linkType
* @Description: 获取list,并且从oss服务器根据AttaSrc获取路径,塞入AttaUrl
* @Author: hgw
* @Date: 2021/11/19 16:03
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAtta>
**/
List<TSalaryAtta> getAttaListHaveSrc(String linkId, Integer linkType);
List<TSalaryAtta> getAttaListByRecordId(String recordId);
void updateAttaByLinkId(List<String> salaryAttaIds, String linkId);
void setSrc(List<TSalaryAtta> attaList);
}
......@@ -17,35 +17,34 @@
package com.yifu.cloud.plus.v1.yifu.salary.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer;
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.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxDeclarer;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxDeclarerSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsDeclarerSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.List;
/**
* 统计-申报人员
* 申报对象表
*
* @author hgw
* @date 2022-08-05 11:40:14
* @author huyc
* @date 2022-08-11 10:56:10
*/
public interface TStatisticsTaxDeclarerService extends IService<TStatisticsTaxDeclarer> {
public interface TStatisticsDeclarerService extends IService<TStatisticsDeclarer> {
/**
* 统计-申报人员简单分页查询
* @param tStatisticsTaxDeclarer 统计-申报人员
* 申报对象表简单分页查询
* @param tStatisticsDeclarer 申报对象表
* @return
*/
IPage<TStatisticsTaxDeclarer> getTStatisticsTaxDeclarerPage(Page<TStatisticsTaxDeclarer> page, TStatisticsTaxDeclarerSearchVo tStatisticsTaxDeclarer);
IPage<TStatisticsDeclarer> getTStatisticsDeclarerPage(Page<TStatisticsDeclarer> page, TStatisticsDeclarerSearchVo tStatisticsDeclarer);
R<List<ErrorMessage>> importDiy(InputStream inputStream);
void listExport(HttpServletResponse response, TStatisticsTaxDeclarerSearchVo searchVo);
void listExport(HttpServletResponse response, TStatisticsDeclarerSearchVo searchVo);
List<TStatisticsTaxDeclarer> noPageDiy(TStatisticsTaxDeclarerSearchVo searchVo);
List<TStatisticsDeclarer> noPageDiy(TStatisticsDeclarerSearchVo searchVo);
}
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TDepartSettlementInfo;
......@@ -49,7 +50,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
private final DaprArchivesProperties archivesProperties;
private final DaprCheckProperties daprCheckProperties;
private final DaprSocialProperties socialProperties;
private final DaprInsurancesProperties insurancesProperties;
private final TSalaryStandardService tSalaryStandardService;
......@@ -80,6 +80,10 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
private final MSalaryPaymentResService salaryPaymentResService;
private final TSalaryAttaService tSalaryAttaService;
private final TApprovalRecordService auditLogService;
/**
* @param jsonString 客户原表数据
* @param repeatFlag 默认 0:不允许重复导入已存在系统内的数据;1:允许重复导入
......@@ -1420,5 +1424,50 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
return "0";
}
/**
* @param salaryFormId 工资表id
* @Description: 获取结算单
* @Author: hgw
* @Date: 2019/9/9 17:49
* @return: com.yifu.cloud.v1.common.core.util.R
**/
@Override
public R<TSalaryDetailVo> getBill(String salaryFormId) {
//工资主表
TSalaryStandard salary = tSalaryStandardService.getById(salaryFormId);
TSalaryDetailVo salaryDetailVo = new TSalaryDetailVo();
if (salary != null) {
List<TSalaryAtta> attaList = null;
if (salary.getType() == null || salary.getType() != CommonConstants.ONE_INT) {
//报账表
TSalaryAccount salaryAccount = new TSalaryAccount();
salaryAccount.setSalaryFormId(salaryFormId);
QueryWrapper<TSalaryAccount> queryWrapperSa = new QueryWrapper<>();
queryWrapperSa.setEntity(salaryAccount);
List<TSalaryAccount> salaryAccountList = tSalaryAccountService.list(queryWrapperSa);
//报账表明细
if (salaryAccountList != null && salaryAccountList.size() > CommonConstants.ZERO_INT) {
TSalaryAccountItem item;
QueryWrapper<TSalaryAccountItem> queryWrapperAi;
List<TSalaryAccountItem> itemList;
for (TSalaryAccount a : salaryAccountList) {
item = new TSalaryAccountItem();
item.setSalaryAccountId(a.getId());
queryWrapperAi = new QueryWrapper<>();
queryWrapperAi.setEntity(item);
itemList = tSalaryAccountItemService.list(queryWrapperAi);
a.setSaiList(itemList);
}
}
salaryDetailVo.setSalaryAccountList(salaryAccountList);
attaList = tSalaryAttaService.getAttaListHaveSrc(salary.getId(), 230);
}
salaryDetailVo.setAttaList(attaList);
salaryDetailVo.setAuditLogList(auditLogService.list(Wrappers.<TApprovalRecord>query().lambda().eq(TApprovalRecord::getSalaryId, salary.getId())));
}
//结算单
salaryDetailVo.setSalary(salary);
return new R<>(salaryDetailVo);
}
}
......@@ -80,7 +80,7 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
*/
@Override
public void listExport(HttpServletResponse response, TSalaryAccountSearchVo searchVo) {
String fileName = "不良记录批量导出" + DateUtil.getThisTime() + ".xlsx";
String fileName = "员工报账批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TSalaryAccount> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
......@@ -91,8 +91,7 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter excelWriter = EasyExcel.write(out, TSalaryAccount.class).build();
ExcelWriter excelWriter = EasyExcel.write(out, TSalaryAccount.class).includeColumnFiledNames(searchVo.getExportFields()).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; ) {
......@@ -141,9 +140,8 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
@Override
public List<TSalaryAccount> noPageDiy(TSalaryAccountSearchVo searchVo) {
LambdaQueryWrapper<TSalaryAccount> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryAccount::getId, idList);
if (Common.isNotNull(searchVo.getIdList())) {
wrapper.in(TSalaryAccount::getId, searchVo.getIdList());
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
......@@ -154,20 +152,14 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
private Long noPageCountDiy(TSalaryAccountSearchVo searchVo) {
LambdaQueryWrapper<TSalaryAccount> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TSalaryAccount::getId, idList);
if (Common.isNotNull(searchVo.getIdList())) {
wrapper.in(TSalaryAccount::getId, searchVo.getIdList());
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TSalaryAccountSearchVo entity) {
LambdaQueryWrapper<TSalaryAccount> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(entity.getCreateTimes())) {
wrapper.ge(TSalaryAccount::getCreateTime, entity.getCreateTimes()[0])
.le(TSalaryAccount::getCreateTime,
entity.getCreateTimes()[1]);
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(TSalaryAccount::getCreateName, entity.getCreateName());
}
......
/*
* 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.bean.BeanUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxDeclarer;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsTaxDeclarerMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxDeclarerService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxDeclarerSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxDeclarerVo;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
* 统计-申报人员
*
* @author hgw
* @date 2022-08-05 11:40:14
*/
@Log4j2
@Service
public class TStatisticsTaxDeclarerServiceImpl extends ServiceImpl<TStatisticsTaxDeclarerMapper, TStatisticsTaxDeclarer> implements TStatisticsTaxDeclarerService {
/**
* 统计-申报人员简单分页查询
*
* @param tStatisticsTaxDeclarer 统计-申报人员
* @return
*/
@Override
public IPage<TStatisticsTaxDeclarer> getTStatisticsTaxDeclarerPage(Page<TStatisticsTaxDeclarer> page, TStatisticsTaxDeclarerSearchVo tStatisticsTaxDeclarer) {
return baseMapper.getTStatisticsTaxDeclarerPage(page, tStatisticsTaxDeclarer);
}
/**
* 统计-申报人员批量导出
*
* @return
*/
@Override
public void listExport(HttpServletResponse response, TStatisticsTaxDeclarerSearchVo searchVo) {
String fileName = "不良记录批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TStatisticsTaxDeclarer> list = new ArrayList<>();
long count = noPageCountDiy(searchVo);
ServletOutputStream out = null;
try {
out = response.getOutputStream();
response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter excelWriter = EasyExcel.write(out, TStatisticsTaxDeclarer.class).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; ) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo);
if (Common.isNotNull(list)) {
ExcelUtil<TStatisticsTaxDeclarer> util = new ExcelUtil<>(TStatisticsTaxDeclarer.class);
for (TStatisticsTaxDeclarer vo : list) {
util.convertEntity(vo, null, null, null);
}
}
if (Common.isNotNull(list)) {
WriteSheet writeSheet = EasyExcel.writerSheet("统计-申报人员" + index).build();
excelWriter.write(list, writeSheet);
index++;
}
i = i + CommonConstants.EXCEL_EXPORT_LIMIT;
if (Common.isNotNull(list)) {
list.clear();
}
}
} else {
WriteSheet writeSheet = EasyExcel.writerSheet("统计-申报人员" + index).build();
excelWriter.write(list, writeSheet);
}
if (Common.isNotNull(list)) {
list.clear();
}
out.flush();
excelWriter.finish();
} catch (Exception e) {
log.error("执行异常", e);
} finally {
try {
if (null != out) {
out.close();
}
} catch (IOException e) {
log.error("执行异常", e);
}
}
}
@Override
public List<TStatisticsTaxDeclarer> noPageDiy(TStatisticsTaxDeclarerSearchVo searchVo) {
LambdaQueryWrapper<TStatisticsTaxDeclarer> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TStatisticsTaxDeclarer::getId, idList);
}
if (searchVo.getLimitStart() >= 0 && searchVo.getLimitEnd() > 0) {
wrapper.last(" limit " + searchVo.getLimitStart() + "," + searchVo.getLimitEnd());
}
return baseMapper.selectList(wrapper);
}
private Long noPageCountDiy(TStatisticsTaxDeclarerSearchVo searchVo) {
LambdaQueryWrapper<TStatisticsTaxDeclarer> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
if (Common.isNotNull(idList)) {
wrapper.in(TStatisticsTaxDeclarer::getId, idList);
}
return baseMapper.selectCount(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(TStatisticsTaxDeclarerSearchVo entity) {
LambdaQueryWrapper<TStatisticsTaxDeclarer> wrapper = Wrappers.lambdaQuery();
return wrapper;
}
@Override
public R<List<ErrorMessage>> importDiy(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<TStatisticsTaxDeclarerVo> util1 = new ExcelUtil<>(TStatisticsTaxDeclarerVo.class);
;
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, TStatisticsTaxDeclarerVo.class, new ReadListener<TStatisticsTaxDeclarerVo>() {
/**
* 单次缓存的数据量
*/
public static final int BATCH_COUNT = CommonConstants.BATCH_COUNT;
/**
*临时存储
*/
private List<TStatisticsTaxDeclarerVo> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
@Override
public void invoke(TStatisticsTaxDeclarerVo data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Integer rowIndex = readRowHolder.getRowIndex();
data.setRowIndex(rowIndex + 1);
ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex());
if (Common.isNotNull(errorMessage)) {
errorMessageList.add(errorMessage);
} else {
cachedDataList.add(data);
}
if (cachedDataList.size() >= BATCH_COUNT) {
saveData();
// 存储完成清理 list
cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
importTStatisticsTaxDeclarer(cachedDataList, errorMessageList);
log.info("存储数据库成功!");
}
}).sheet().doRead();
} catch (Exception e) {
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR, e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
}
return R.ok(errorMessageList);
}
private void importTStatisticsTaxDeclarer(List<TStatisticsTaxDeclarerVo> excelVOList, List<ErrorMessage> errorMessageList) {
// 个性化校验逻辑
ErrorMessage errorMsg;
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
TStatisticsTaxDeclarerVo excel = excelVOList.get(i);
// 数据合法情况 TODO
// 插入
insertExcel(excel);
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), CommonConstants.SAVE_SUCCESS));
}
}
/**
* 插入excel bad record
*/
private void insertExcel(TStatisticsTaxDeclarerVo excel) {
TStatisticsTaxDeclarer insert = new TStatisticsTaxDeclarer();
BeanUtil.copyProperties(excel, insert);
this.save(insert);
}
}
......@@ -65,6 +65,8 @@
<result property="salaryTax" column="SALARY_TAX"/>
<result property="relaySalaryUnit" column="RELAY_SALARY_UNIT"/>
<result property="salaryTaxUnit" column="SALARY_TAX_UNIT"/>
<result property="haveSalaryFlag" column="HAVE_SALARY_FLAG"/>
<result property="haveSpecialFlag" column="HAVE_SPECIAL_FLAG"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -107,7 +109,9 @@
a.ACTUAL_SALARY,
a.SALARY_TAX,
a.RELAY_SALARY_UNIT,
a.SALARY_TAX_UNIT
a.SALARY_TAX_UNIT,
a.HAVE_SALARY_FLAG,
a.HAVE_SPECIAL_FLAG
</sql>
<sql id="tSalaryAccount_where">
<if test="tSalaryAccount != null">
......
......@@ -23,7 +23,7 @@
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAttaMapper">
<resultMap id="tSalaryAttaMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta">
<resultMap id="tAttaMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAtta">
<id property="id" column="ID"/>
<result property="attaName" column="ATTA_NAME"/>
<result property="attaSrc" column="ATTA_SRC"/>
......@@ -42,7 +42,7 @@
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
</resultMap>
<sql id="Base_Column_List">
<sql id="selectParams">
a.ID,
a.ATTA_NAME,
a.ATTA_SRC,
......@@ -61,54 +61,75 @@
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql id="tSalaryAtta_where">
<if test="tSalaryAtta != null">
<if test="tSalaryAtta.id != null and tSalaryAtta.id.trim() != ''">
AND a.ID = #{tSalaryAtta.id}
</if>
<if test="tSalaryAtta.attaName != null and tSalaryAtta.attaName.trim() != ''">
AND a.ATTA_NAME = #{tSalaryAtta.attaName}
</if>
<if test="tSalaryAtta.attaSrc != null and tSalaryAtta.attaSrc.trim() != ''">
AND a.ATTA_SRC = #{tSalaryAtta.attaSrc}
</if>
<if test="tSalaryAtta.attaUrl != null and tSalaryAtta.attaUrl.trim() != ''">
AND a.ATTA_URL = #{tSalaryAtta.attaUrl}
</if>
<if test="tSalaryAtta.attaSize != null">
AND a.ATTA_SIZE = #{tSalaryAtta.attaSize}
</if>
<if test="tSalaryAtta.attaType != null and tSalaryAtta.attaType.trim() != ''">
AND a.ATTA_TYPE = #{tSalaryAtta.attaType}
</if>
<if test="tSalaryAtta.linkId != null and tSalaryAtta.linkId.trim() != ''">
AND a.LINK_ID = #{tSalaryAtta.linkId}
</if>
<if test="tSalaryAtta.linkType != null">
AND a.LINK_TYPE = #{tSalaryAtta.linkType}
</if>
<if test="tSalaryAtta.engineerType != null">
AND a.ENGINEER_TYPE = #{tSalaryAtta.engineerType}
</if>
<if test="tSalaryAtta.printRemark != null and tSalaryAtta.printRemark.trim() != ''">
AND a.print_remark = #{tSalaryAtta.printRemark}
</if>
<if test="tSalaryAtta.recordId != null and tSalaryAtta.recordId.trim() != ''">
AND a.record_id = #{tSalaryAtta.recordId}
</if>
<if test="tSalaryAtta.recordStatus != null">
AND a.record_status = #{tSalaryAtta.recordStatus}
</if>
</if>
</sql>
<!--tSalaryAtta简单分页查询-->
<select id="getTSalaryAttaPage" resultMap="tSalaryAttaMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_salary_atta a
<where>
1=1
<include refid="tSalaryAtta_where"/>
</where>
</select>
<!-- 基础查询 -->
<sql id="tSalaryAtta_where">
<if test="tAtta != null">
<if test="tAtta.id != null and tAtta.id.trim() != ''">
AND ID = #{tAtta.id}
</if>
<if test="tAtta.attaName != null and tAtta.attaName.trim() != ''">
AND ATTA_NAME = #{tAtta.attaName}
</if>
<if test="tAtta.attaSrc != null and tAtta.attaSrc.trim() != ''">
AND ATTA_SRC = #{tAtta.attaSrc}
</if>
<if test="tAtta.attaUrl != null and tAtta.attaUrl.trim() != ''">
AND ATTA_URL = #{tAtta.attaUrl}
</if>
<if test="tAtta.attaSize != null and tAtta.attaSize.trim() != ''">
AND ATTA_SIZE = #{tAtta.attaSize}
</if>
<if test="tAtta.attaType != null and tAtta.attaType.trim() != ''">
AND ATTA_TYPE = #{tAtta.attaType}
</if>
<if test="tAtta.linkId != null and tAtta.linkId.trim() != ''">
AND LINK_ID = #{tAtta.linkId}
</if>
<if test="tAtta.linkType != null">
<if test="tAtta.linkType != 230 and tAtta.linkType != 236">
AND LINK_TYPE = #{tAtta.linkType}
</if>
/* 普通工资以及暂停发以及自定义暂停发流转 */
<if test="tAtta.linkType == 230">
AND LINK_TYPE in (2,3,0,8)
</if>
/* 非扣税以及自定义暂停发流转 */
<if test="tAtta.linkType == 236">
AND LINK_TYPE in (2,3,6)
</if>
</if>
<if test="tAtta.engineerType != null">
AND ENGINEER_TYPE = #{tAtta.engineerType}
</if>
<if test="tAtta.recordId != null and tAtta.recordId.trim() != ''">
AND record_id = #{tAtta.recordId}
</if>
<if test="tAtta.recordStatus != null">
AND record_status = #{tAtta.recordStatus}
</if>
</if>
</sql>
<!--tAtta简单分页查询-->
<select id="getTAttaPage" resultMap="tAttaMap">
SELECT
<include refid="selectParams"/>
FROM t_salary_atta
<where>
1=1
<include refid="tSalaryAtta_where"/>
</where>
order by CREATE_TIME
</select>
<!--tAtta简单分页查询-->
<select id="getTAttaList" resultMap="tAttaMap">
SELECT
<include refid="selectParams"/>
FROM t_salary_atta
<where>
1=1
<include refid="tSalaryAtta_where"/>
</where>
order by CREATE_TIME
</select>
</mapper>
......@@ -48,6 +48,10 @@
<result property="ownNums" column="OWN_NUMS"/>
<result property="ownMoney" column="OWN_MONEY"/>
<result property="ownRemark" column="OWN_REMARK"/>
<result property="haveSalaryFlag" column="HAVE_SALARY_FLAG"/>
<result property="haveSpecialFlag" column="HAVE_SPECIAL_FLAG"/>
<result property="haveSalaryRemark" column="HAVE_SALARY_REMARK"/>
<result property="haveSpecialRemark" column="HAVE_SPECIAL_REMARK"/>
<result property="submitRemark" column="SUBMIT_REMARK"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
......@@ -85,6 +89,10 @@
a.OWN_NUMS,
a.OWN_MONEY,
a.OWN_REMARK,
a.HAVE_SALARY_FLAG,
a.HAVE_SALARY_REMARK,
a.HAVE_SPECIAL_FLAG,
a.HAVE_SPECIAL_REMARK,
a.SUBMIT_REMARK,
a.CREATE_BY,
a.CREATE_NAME,
......
<?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.TStatisticsDeclarerMapper">
<resultMap id="tStatisticsDeclarerMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer">
<id property="id" column="ID"/>
<result property="declareUnit" column="DECLARE_UNIT"/>
<result property="declareMonth" column="DECLARE_MONTH"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="empPhone" column="EMP_PHONE"/>
<result property="empStatus" column="EMP_STATUS"/>
<result property="occupationType" column="OCCUPATION_TYPE"/>
<result property="occupationMonth" column="OCCUPATION_MONTH"/>
<result property="isDeclare" column="IS_DECLARE"/>
<result property="undeclareReason" column="UNDECLARE_REASON"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.DECLARE_UNIT,
a.DECLARE_MONTH,
a.EMP_NAME,
a.EMP_IDCARD,
a.EMP_PHONE,
a.EMP_STATUS,
a.OCCUPATION_TYPE,
a.OCCUPATION_MONTH,
a.IS_DECLARE,
a.UNDECLARE_REASON
</sql>
<sql id="tStatisticsDeclarer_where">
<if test="tStatisticsDeclarer != null">
<if test="tStatisticsDeclarer.id != null and tStatisticsDeclarer.id.trim() != ''">
AND a.ID = #{tStatisticsDeclarer.id}
</if>
<if test="tStatisticsDeclarer.declareUnit != null and tStatisticsDeclarer.declareUnit.trim() != ''">
AND a.DECLARE_UNIT like concat(#{tStatisticsDeclarer.declareUnit},'%')
</if>
<if test="tStatisticsDeclarer.declareMonth != null and tStatisticsDeclarer.declareMonth.trim() != ''">
AND a.DECLARE_MONTH = #{tStatisticsDeclarer.declareMonth}
</if>
<if test="tStatisticsDeclarer.empName != null and tStatisticsDeclarer.empName.trim() != ''">
AND a.EMP_NAME = #{tStatisticsDeclarer.empName}
</if>
<if test="tStatisticsDeclarer.empIdcard != null and tStatisticsDeclarer.empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{tStatisticsDeclarer.empIdcard}
</if>
<if test="tStatisticsDeclarer.empPhone != null and tStatisticsDeclarer.empPhone.trim() != ''">
AND a.EMP_PHONE = #{tStatisticsDeclarer.empPhone}
</if>
<if test="tStatisticsDeclarer.empStatus != null and tStatisticsDeclarer.empStatus.trim() != ''">
AND a.EMP_STATUS = #{tStatisticsDeclarer.empStatus}
</if>
<if test="tStatisticsDeclarer.occupationType != null and tStatisticsDeclarer.occupationType.trim() != ''">
AND a.OCCUPATION_TYPE = #{tStatisticsDeclarer.occupationType}
</if>
<if test="tStatisticsDeclarer.occupationMonth != null and tStatisticsDeclarer.occupationMonth.trim() != ''">
AND a.OCCUPATION_MONTH = #{tStatisticsDeclarer.occupationMonth}
</if>
<if test="tStatisticsDeclarer.isDeclare != null and tStatisticsDeclarer.isDeclare.trim() != ''">
AND a.IS_DECLARE = #{tStatisticsDeclarer.isDeclare}
</if>
<if test="tStatisticsDeclarer.undeclareReason != null and tStatisticsDeclarer.undeclareReason.trim() != ''">
AND a.UNDECLARE_REASON = #{tStatisticsDeclarer.undeclareReason}
</if>
</if>
</sql>
<!--tStatisticsDeclarer简单分页查询-->
<select id="getTStatisticsDeclarerPage" resultMap="tStatisticsDeclarerMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_statistics_declarer a
<where>
1=1
<include refid="tStatisticsDeclarer_where"/>
</where>
order by a.DECLARE_MONTH desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsTaxDeclarerMapper">
<resultMap id="tStatisticsTaxDeclarerMap" type="com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxDeclarer">
<id property="id" column="id"/>
<result property="invoiceTitle" column="INVOICE_TITLE"/>
<result property="settleDepartId" column="SETTLE_DEPART_ID"/>
<result property="settleDepartNo" column="SETTLE_DEPART_NO"/>
<result property="settleDepartName" column="SETTLE_DEPART_NAME"/>
<result property="declareMonth" column="DECLARE_MONTH"/>
<result property="empId" column="EMP_ID"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="phone" column="PHONE"/>
<result property="userStatus" column="user_status"/>
<result property="userType" column="user_type"/>
<result property="taxMonth" column="tax_month"/>
<result property="unitId" column="UNIT_ID"/>
<result property="unitNo" column="UNIT_NO"/>
<result property="unitName" column="UNIT_NAME"/>
<result property="salaryTax" column="salary_tax"/>
<result property="specialDeduMoney" column="special_dedu_money"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.INVOICE_TITLE,
a.SETTLE_DEPART_ID,
a.SETTLE_DEPART_NO,
a.SETTLE_DEPART_NAME,
a.DECLARE_MONTH,
a.EMP_ID,
a.EMP_NAME,
a.EMP_IDCARD,
a.PHONE,
a.user_status,
a.user_type,
a.tax_month,
a.UNIT_ID,
a.UNIT_NO,
a.UNIT_NAME,
a.salary_tax,
a.special_dedu_money
</sql>
<sql id="tStatisticsTaxDeclarer_where">
<if test="tStatisticsTaxDeclarer != null">
<if test="tStatisticsTaxDeclarer.id != null and tStatisticsTaxDeclarer.id.trim() != ''">
AND a.id = #{tStatisticsTaxDeclarer.id}
</if>
<if test="tStatisticsTaxDeclarer.invoiceTitle != null and tStatisticsTaxDeclarer.invoiceTitle.trim() != ''">
AND a.INVOICE_TITLE = #{tStatisticsTaxDeclarer.invoiceTitle}
</if>
<if test="tStatisticsTaxDeclarer.settleDepartId != null and tStatisticsTaxDeclarer.settleDepartId.trim() != ''">
AND a.SETTLE_DEPART_ID = #{tStatisticsTaxDeclarer.settleDepartId}
</if>
<if test="tStatisticsTaxDeclarer.settleDepartNo != null and tStatisticsTaxDeclarer.settleDepartNo.trim() != ''">
AND a.SETTLE_DEPART_NO = #{tStatisticsTaxDeclarer.settleDepartNo}
</if>
<if test="tStatisticsTaxDeclarer.settleDepartName != null and tStatisticsTaxDeclarer.settleDepartName.trim() != ''">
AND a.SETTLE_DEPART_NAME = #{tStatisticsTaxDeclarer.settleDepartName}
</if>
<if test="tStatisticsTaxDeclarer.declareMonth != null and tStatisticsTaxDeclarer.declareMonth.trim() != ''">
AND a.DECLARE_MONTH = #{tStatisticsTaxDeclarer.declareMonth}
</if>
<if test="tStatisticsTaxDeclarer.empId != null and tStatisticsTaxDeclarer.empId.trim() != ''">
AND a.EMP_ID = #{tStatisticsTaxDeclarer.empId}
</if>
<if test="tStatisticsTaxDeclarer.empName != null and tStatisticsTaxDeclarer.empName.trim() != ''">
AND a.EMP_NAME = #{tStatisticsTaxDeclarer.empName}
</if>
<if test="tStatisticsTaxDeclarer.empIdcard != null and tStatisticsTaxDeclarer.empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{tStatisticsTaxDeclarer.empIdcard}
</if>
<if test="tStatisticsTaxDeclarer.phone != null and tStatisticsTaxDeclarer.phone.trim() != ''">
AND a.PHONE = #{tStatisticsTaxDeclarer.phone}
</if>
<if test="tStatisticsTaxDeclarer.userStatus != null and tStatisticsTaxDeclarer.userStatus.trim() != ''">
AND a.user_status = #{tStatisticsTaxDeclarer.userStatus}
</if>
<if test="tStatisticsTaxDeclarer.userType != null and tStatisticsTaxDeclarer.userType.trim() != ''">
AND a.user_type = #{tStatisticsTaxDeclarer.userType}
</if>
<if test="tStatisticsTaxDeclarer.taxMonth != null and tStatisticsTaxDeclarer.taxMonth.trim() != ''">
AND a.tax_month = #{tStatisticsTaxDeclarer.taxMonth}
</if>
<if test="tStatisticsTaxDeclarer.unitId != null and tStatisticsTaxDeclarer.unitId.trim() != ''">
AND a.UNIT_ID = #{tStatisticsTaxDeclarer.unitId}
</if>
<if test="tStatisticsTaxDeclarer.unitNo != null and tStatisticsTaxDeclarer.unitNo.trim() != ''">
AND a.UNIT_NO = #{tStatisticsTaxDeclarer.unitNo}
</if>
<if test="tStatisticsTaxDeclarer.unitName != null and tStatisticsTaxDeclarer.unitName.trim() != ''">
AND a.UNIT_NAME = #{tStatisticsTaxDeclarer.unitName}
</if>
<if test="tStatisticsTaxDeclarer.salaryTax != null">
AND a.salary_tax = #{tStatisticsTaxDeclarer.salaryTax}
</if>
<if test="tStatisticsTaxDeclarer.specialDeduMoney != null">
AND a.special_dedu_money = #{tStatisticsTaxDeclarer.specialDeduMoney}
</if>
</if>
</sql>
<!--tStatisticsTaxDeclarer简单分页查询-->
<select id="getTStatisticsTaxDeclarerPage" resultMap="tStatisticsTaxDeclarerMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_statistics_tax_declarer a
<where>
1=1
<include refid="tStatisticsTaxDeclarer_where"/>
</where>
</select>
</mapper>
......@@ -132,14 +132,14 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人缴费额
*/
@ExcelAttribute(name = "个人缴费额", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "个人缴费额", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description = "个人缴费额")
@ExcelProperty("个人缴费额")
private BigDecimal personalMoney;
/**
* 单位缴费额
*/
@ExcelAttribute(name = "单位缴费额", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "单位缴费额", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description = "单位缴费额")
@ExcelProperty("单位缴费额")
private BigDecimal unitMoney;
......@@ -154,14 +154,14 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 医保单位缴费
*/
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description = "医保单位缴费")
@ExcelProperty("医保单位缴费")
private BigDecimal unitMedicalMoney;
/**
* 医保个人缴费
*/
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description = "医保个人缴费")
@ExcelProperty("医保个人缴费")
private BigDecimal personalMedicalMoney;
......@@ -169,7 +169,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 单位医疗救助金 (对应单位大病)
*/
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description = "单位医疗救助金")
@ExcelProperty("单位医疗救助金")
private BigDecimal unitBigailmentMoney;
......@@ -177,7 +177,7 @@ public class TPaymentHeFeiVo extends RowIndex implements Serializable {
/**
* 个人医疗救助金 (对应个人大病)
*/
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description = "个人医疗救助金")
@ExcelProperty("个人医疗救助金")
private BigDecimal personalBigailmentMoney;
......
......@@ -330,14 +330,14 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
/**
* 单位补缴利息
*/
@ExcelAttribute(name = "单位补缴利息", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "单位补缴利息", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="单位补缴利息")
@ExcelProperty("单位补缴利息")
private BigDecimal companyAccrual;
/**
* 个人补缴利息
*/
@ExcelAttribute(name = "个人补缴利息", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "个人补缴利息", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="个人补缴利息")
@ExcelProperty("个人补缴利息")
private BigDecimal personalAccrual;
......@@ -449,70 +449,70 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
/**
* 养老单位缴费
*/
@ExcelAttribute(name = "养老单位缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "养老单位缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="养老单位缴费")
@ExcelProperty("养老单位缴费")
private BigDecimal unitPensionMoney;
/**
* 医保单位缴费
*/
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "医保单位缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="医保单位缴费")
@ExcelProperty("医保单位缴费")
private BigDecimal unitMedicalMoney;
/**
* 失业单位缴费
*/
@ExcelAttribute(name = "失业单位缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "失业单位缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="失业单位缴费")
@ExcelProperty("失业单位缴费")
private BigDecimal unitUnemploymentMoney;
/**
* 工伤缴费
*/
@ExcelAttribute(name = "工伤缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "工伤缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="工伤缴费")
@ExcelProperty("工伤缴费")
private BigDecimal unitInjuryMoney;
/**
* 生育缴费
*/
@ExcelAttribute(name = "生育缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "生育缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="生育缴费")
@ExcelProperty("生育缴费")
private BigDecimal unitBirthMoney;
/**
* 单位医疗救助金
*/
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "单位医疗救助金", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="单位医疗救助金")
@ExcelProperty("单位医疗救助金")
private BigDecimal unitBigmailmentMoney;
/**
* 养老个人缴费
*/
@ExcelAttribute(name = "养老个人缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "养老个人缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="养老个人缴费")
@ExcelProperty("养老个人缴费")
private BigDecimal personalPensionMoney;
/**
* 医保个人缴费
*/
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "医保个人缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="医保个人缴费")
@ExcelProperty("医保个人缴费")
private BigDecimal personalMedicalMoney;
/**
* 失业个人缴费
*/
@ExcelAttribute(name = "失业个人缴费", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "失业个人缴费", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="失业个人缴费")
@ExcelProperty("失业个人缴费")
private BigDecimal personalUnemploymentMoney;
/**
* 个人医疗救助金
*/
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "个人医疗救助金", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="个人医疗救助金")
@ExcelProperty("个人医疗救助金")
private BigDecimal personalBigmailmentMoney;
......@@ -541,7 +541,7 @@ public class TPaymentInfoVo extends RowIndex implements Serializable {
/**
* 公积金单边金额
*/
@ExcelAttribute(name = "公积金单边金额", isFloat = true,max = "999999999.99")
@ExcelAttribute(name = "公积金单边金额", isFloat = true,max = "999999999.99", min= -999999999)
@Schema(description ="公积金单边金额")
@ExcelProperty("公积金单边金额")
private BigDecimal unitProvidentSum;
......
......@@ -50,8 +50,8 @@ public class TSocialFundHistoryVo extends RowIndex implements Serializable {
@ExcelProperty("身份证号")
private String empIdcard;
@ExcelAttribute(name = "缴纳类型", readConverterExp = "0=最低,1=自定义缴纳,2=最高")
@Schema(description = "缴纳类型(0最低、1自定义缴纳、2最高)")
@ExcelAttribute(name = "缴纳类型", readConverterExp = "0=最低,1=自定义,2=最高")
@Schema(description = "缴纳类型(0最低、1自定义、2最高)")
@ExcelProperty("缴纳类型")
private String paymentType;
......
......@@ -1460,6 +1460,7 @@ public class TForecastLibraryServiceImpl extends ServiceImpl<TForecastLibraryMap
);
for (TSocialFundInfo socialFundInfo : socialFundInfoList) {
this.changeFundInfoByBase(socialFundInfo, sysBaseSetInfo);
socialFundInfo.setDoMonth(sysBaseSetInfo.getDoMonth());
socialFundInfoMap.put(socialFundInfo.getId(), socialFundInfo);
}
}
......
......@@ -144,7 +144,6 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, TPaymentInfo.class).includeColumnFiledNames(searchVo.getExportFields()).build();
;
int index = 0;
if (count > CommonConstants.ZERO_INT) {
for (int i = 0; i <= count; ) {
......
......@@ -915,9 +915,9 @@ public class TPreDispatchInfoServiceImpl extends ServiceImpl<TPreDispatchInfoMap
private List<TPreDispatchInfo> changePreRes(List<TPreDispatchReduceVo> list) {
List<TPreDispatchInfo> listInfo = new ArrayList<>();
TPreDispatchInfo preInfo = new TPreDispatchInfo();
if (Common.isNotNull(list)){
for (TPreDispatchReduceVo info:list){
TPreDispatchInfo preInfo = new TPreDispatchInfo();
BeanUtils.copyProperties(info,preInfo);
listInfo.add(preInfo);
}
......
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