Commit 2f650ae2 authored by huyuchen's avatar huyuchen

Merge branch 'develop'

# Conflicts:
#	yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/util/Common.java
#	yifu-common/yifu-common-dapr/src/main/resources/daprConfig.properties
parents a85d4162 d80cf2ae
...@@ -7,7 +7,7 @@ spec: # 资源规范字段 ...@@ -7,7 +7,7 @@ spec: # 资源规范字段
selector: # 选择器 selector: # 选择器
matchLabels: # 匹配标签 matchLabels: # 匹配标签
app: yifu-archives app: yifu-archives
replicas: 2 # 声明副本数目 replicas: 1 # 声明副本数目
#revisionHistoryLimit: 3 # 保留历史版本 #revisionHistoryLimit: 3 # 保留历史版本
#strategy: # 策略 #strategy: # 策略
# rollingUpdate: # 滚动更新 # rollingUpdate: # 滚动更新
......
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("feed_back_detail")
public class FeedBackDetail implements Serializable {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**
* 反馈人
*/
@Schema(description ="反馈人")
private String feedbackPerson;
/**
* 反馈时间
*/
@Schema(description ="反馈时间")
private Date feedbackTime;
/**
* 反馈原因
*/
@Schema(description ="反馈原因")
private String feedbackReason;
/**
* 反馈详情
*/
@Schema(description ="反馈详情")
private String feedbackDetail;
/**
* 续签代办表关联主键
*/
@Schema(description ="续签代办表关联主键")
private String contractAlertId;
/**
* 续签代办表关联主键
*/
@Schema(description ="申请编号")
private String applyNo;
@Schema(description ="是否反馈")
private Integer isFeedback;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
...@@ -269,9 +269,59 @@ public class TEmpContractAlert extends BaseEntity { ...@@ -269,9 +269,59 @@ public class TEmpContractAlert extends BaseEntity {
private String empPhone; private String empPhone;
/**
* 是否反馈
*/
@ExcelAttribute(name = "是否反馈" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否反馈")
@Schema(description = "是否反馈")
private Integer isFeedback;
/**
* 反馈原因
*/
@ExcelAttribute(name = "未续签原因" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("未续签原因")
@Schema(description = "未续签原因")
private String feedbackReason;
/**
* 详情
*/
@ExcelAttribute(name = "具体描述信息" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("具体描述信息")
@Schema(description = "具体描述信息")
private String feedbackDetail;
/**
* 反馈人
*/
@ExcelAttribute(name = "反馈人" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("反馈人")
@Schema(description = "反馈人")
private String feedbackPerson;
/**
* 反馈时间
*/
@ExcelAttribute(name = "反馈时间" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("反馈时间")
@Schema(description = "反馈时间")
private Date feedbackTime;
/** /**
* 合同截止日期 * 合同截止日期
*/ */
@TableField(exist = false) @TableField(exist = false)
private Date auditTime; private Date auditTime;
@Schema(description = "申请编码")
private String applyNo;
} }
...@@ -130,6 +130,13 @@ public class TEmployeeContractInfo extends BaseEntity { ...@@ -130,6 +130,13 @@ public class TEmployeeContractInfo extends BaseEntity {
@ExcelAttribute(name = "客户名称", maxLength = 128) @ExcelAttribute(name = "客户名称", maxLength = 128)
@Schema(description = "客户名称", name = "subjectUnit") @Schema(description = "客户名称", name = "subjectUnit")
private String subjectUnit; private String subjectUnit;
/**
* 0 是 1 否
*/
@Length(max = 1, message = "是否同步终止合同、减项、减档不能超过1个字符")
@ExcelAttribute(name = "是否同步终止合同、减项、减档", maxLength = 1)
@Schema(description = "是否同步终止合同、减项、减档", name = "changeContractAndEmployee")
private String changeContractAndEmployee;
/** /**
* 签订类型(字典也是汉字 * 签订类型(字典也是汉字
*/ */
......
...@@ -511,5 +511,14 @@ public class TSettleDomain extends BaseEntity { ...@@ -511,5 +511,14 @@ public class TSettleDomain extends BaseEntity {
@ExcelIgnore @ExcelIgnore
@TableField(exist = false) @TableField(exist = false)
private String serviceTeam; private String serviceTeam;
/**
* 条线类型
*/
@Schema(description = "条线类型")
private String lineType;
/**
* BU归属
*/
@Schema(description = "BU归属")
private String buBelong;
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 任务处理清单表
*
* @author huyc
* @date 2023-06-15 12:18:28
*/
@Data
@TableName("t_work_handler_info")
@EqualsAndHashCode()
@Schema(description = "任务处理清单表")
public class TWorkHandlerInfo {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String id;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码不能为空", maxLength = 32)
@NotBlank(message = "项目编码不能为空")
@Length(max = 32, message = "项目编码不能超过32个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String departNo;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", isNotEmpty = true, errorInfo = "项目名称不能为空", maxLength = 50)
@NotBlank(message = "项目名称不能为空")
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
@Schema(description = "项目名称")
private String departName;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名", maxLength = 32)
@Length(max = 32, message = "员工姓名不能超过32个字符")
@ExcelProperty("员工姓名")
@Schema(description = "员工姓名")
private String empName;
/**
* 员工身份证
*/
@ExcelAttribute(name = "员工身份证", maxLength = 32)
@Length(max = 32, message = "员工身份证不能超过32个字符")
@ExcelProperty("员工身份证")
@Schema(description = "员工身份证")
private String empIdcard;
/**
* 是否删除(0否/1是)
*/
@ExcelAttribute(name = "是否删除", isExport = false)
@Schema(description = "是否删除(0否/1是)")
private String deleteFlag;
/**
* 联动端口
*/
@ExcelAttribute(name = "联动端口", maxLength = 8)
@Length(max = 8, message = "联动端口不能超过8个字符")
@ExcelProperty("联动端口")
@Schema(description = "联动端口")
private String infoFrom;
/**
* 操作人
*/
@ExcelAttribute(name = "操作人", maxLength = 32)
@Length(max = 32, message = "操作人不能超过32个字符")
@ExcelProperty("操作人")
@Schema(description = "操作人")
private String operUser;
/**
* 操作时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "操作时间")
@TableField(fill = FieldFill.INSERT)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("操作时间")
private LocalDateTime operTime;
/**
* 执行结果
*/
@ExcelAttribute(name = "执行结果", readConverterExp = "0=未执行,1=部分成功,2=全部成功")
@Length(max = 5, message = "执行结果不能超过5个字符")
@ExcelProperty("执行结果")
@Schema(description = "执行结果")
private String operResult;
/**
* 执行详情
*/
@ExcelAttribute(name = "执行详情", maxLength = 255)
@Length(max = 255, message = "执行详情不能超过255个字符")
@ExcelProperty("执行详情")
@Schema(description = "执行详情")
private String operInfo;
/**
* 原因
*/
@ExcelAttribute(name = "原因", maxLength = 255)
@Length(max = 255, message = "原因不能超过255个字符")
@ExcelProperty("原因")
@Schema(description = "原因")
private String reason;
/**
* 明细id
*/
@ExcelAttribute(name = "明细id",isExport = false)
@Schema(description = "明细id")
private String detailId;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.entity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Set;
/**
* 任务处理清单表
*
* @author huyc
* @date 2023-06-15 12:18:28
*/
@Data
public class TWorkHandlerInfoSearchVo extends TWorkHandlerInfo {
@Schema(description = "导出的表头的Set")
private Set<String> exportFields;
/**
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* @Author fxj
* 查询数据起
**/
@Schema(description = "查询limit 开始")
private int limitStart;
/**
* @Author fxj
* 查询数据止
**/
@Schema(description = "查询limit 数据条数")
private int limitEnd;
/**
* 开始日期
*/
@Schema(description = "开始日期")
private String startTime;
/**
* 结束日期
*/
@Schema(description = "结束日期")
private String endTime;
}
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Date;
@Data
public class ChangeFeedBackAllVo {
private String [] ids;
/**
* 是否反馈
*/
private Integer isFeedback;
/**
* 反馈原因
*/
@Schema(description = "未续签原因")
private String feedbackReason;
/**
* 详情
*/
@Schema(description = "具体描述信息")
private String feedbackDetail;
/**
* 反馈人
*/
@Schema(description = "反馈人")
private String feedbackPerson;
/**
* 反馈时间
*/
@Schema(description = "反馈时间")
private Date feedbackTime;
@Schema(description = "申请编号")
private String applyNo;
}
...@@ -198,4 +198,9 @@ public class DispatchEmpVo implements Serializable { ...@@ -198,4 +198,9 @@ public class DispatchEmpVo implements Serializable {
@Schema(description ="项目状态(0正常;1已减项)") @Schema(description ="项目状态(0正常;1已减项)")
private Integer projectStatus; private Integer projectStatus;
/**
* 通信地址
*/
private String contactAddress;
} }
...@@ -161,4 +161,11 @@ public class EmpAddDispatchVo extends TEmployeeInfo { ...@@ -161,4 +161,11 @@ public class EmpAddDispatchVo extends TEmployeeInfo {
@Schema(description = "是否删除 0否/1是") @Schema(description = "是否删除 0否/1是")
private String deleteFlag; private String deleteFlag;
/**
* 通信地址
*/
@Schema(description = "通信地址")
private String contactAddress;
} }
...@@ -191,6 +191,18 @@ public class EmployeeContractExportVO implements Serializable { ...@@ -191,6 +191,18 @@ public class EmployeeContractExportVO implements Serializable {
@Schema(description = "审核状态") @Schema(description = "审核状态")
private String auditStatus; private String auditStatus;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelAttribute(name = "不通过原因")
@Schema(description = "不通过原因")
@ExcelProperty("不通过原因")
private String noPassReason;
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelAttribute(name = "审核说明")
@Schema(description = "审核说明")
@ExcelProperty("审核说明")
private String remark;
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("合同状态") @ExcelProperty("合同状态")
@ExcelAttribute(name = "合同状态", readConverterExp = "0=可用,1=不可用") @ExcelAttribute(name = "合同状态", readConverterExp = "0=可用,1=不可用")
...@@ -239,6 +251,11 @@ public class EmployeeContractExportVO implements Serializable { ...@@ -239,6 +251,11 @@ public class EmployeeContractExportVO implements Serializable {
@ExcelProperty("创建人") @ExcelProperty("创建人")
private String createName; private String createName;
@ExcelAttribute(name = "审核人")
@ExcelProperty("审核人")
@Schema(description = "审核人")
private String auditUserName;
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
...@@ -268,4 +285,5 @@ public class EmployeeContractExportVO implements Serializable { ...@@ -268,4 +285,5 @@ public class EmployeeContractExportVO implements Serializable {
@Schema(description = "导出的表头的Set") @Schema(description = "导出的表头的Set")
private Set<String> exportFields; private Set<String> exportFields;
} }
...@@ -185,4 +185,12 @@ public class EmployeeContractVO extends RowIndex implements Serializable { ...@@ -185,4 +185,12 @@ public class EmployeeContractVO extends RowIndex implements Serializable {
@ExcelAttribute(name = "备注", maxLength = 200) @ExcelAttribute(name = "备注", maxLength = 200)
@Schema(description = "备注", name = "remark") @Schema(description = "备注", name = "remark")
private String remark; private String remark;
/**
* 0 是 1 否
*/
@Length(max = 1, message = "是否同步终止合同、减项、减档不能超过1个字符")
@ExcelAttribute(name = "是否同步终止合同、减项、减档", maxLength = 1,readConverterExp = "0=是,1=否")
@Schema(description = "是否同步终止合同、减项、减档", name = "changeContractAndEmployee")
private String changeContractAndEmployee;
} }
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import lombok.Data;
import java.io.Serializable;
/**
* @Author huyc
* @Date 2023/6/25
* @Description
*/
@Data
public class InsertWorkHandlerVo implements Serializable {
/**
* 项目编码
*/
String departNo;
/**
* 项目名称
*/
String departName;
/**
* 员工姓名
*/
private String empName;
/**
* 员工身份证
*/
String empIdcard;
/**
* 操作人
*/
String operUser;
/**
* 明细id
*/
String detailId;
}
...@@ -21,6 +21,7 @@ import io.swagger.v3.oas.annotations.media.Schema; ...@@ -21,6 +21,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* @author fxj * @author fxj
...@@ -52,5 +53,21 @@ public class TPersonnelRosterSearchVo extends TPersonnelRoster { ...@@ -52,5 +53,21 @@ public class TPersonnelRosterSearchVo extends TPersonnelRoster {
**/ **/
@Schema(description = "查询limit 数据条数") @Schema(description = "查询limit 数据条数")
private int limitEnd; private int limitEnd;
/**
* @Author fxj
* 业务类型
**/
private List<String> businessTypes;
/**
* @Author fxj
* BU归属
**/
private List<String> buBelongs;
/**
* @Author fxj
* 员工类型
**/
private List<String> empTypes;
} }
...@@ -350,20 +350,12 @@ public class TPersonnelRosterVo extends RowIndex implements Serializable { ...@@ -350,20 +350,12 @@ public class TPersonnelRosterVo extends RowIndex implements Serializable {
@ExcelProperty("合同创建时间") @ExcelProperty("合同创建时间")
private String contractCreateTime; private String contractCreateTime;
/** /**
* 数据生 * 数据生
*/ */
@Length(max = 10, message = "数据生月 不能超过10 个字符") @Length(max = 10, message = "数据生月 不能超过10 个字符")
@ExcelAttribute(name = "数据生月", maxLength = 10) @ExcelAttribute(name = "数据生月", maxLength = 10)
@Schema(description = "数据生月") @Schema(description = "数据生月")
@ExcelProperty("数据生月") @ExcelProperty("数据生月")
private String dataCreateMonth; private String dataCreateMonth;
/**
* dataCreateMomth
*/
@Length(max = 255, message = "dataCreateMomth 不能超过255 个字符")
@ExcelAttribute(name = "dataCreateMomth", maxLength = 255)
@Schema(description = "dataCreateMomth")
@ExcelProperty("dataCreateMomth")
private String dataCreateMomth;
} }
package com.yifu.cloud.plus.v1.yifu.archives.vo; package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
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.media.Schema;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.DecimalMax;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -440,4 +430,15 @@ public class TSettleDomainEkpVo implements Serializable { ...@@ -440,4 +430,15 @@ public class TSettleDomainEkpVo implements Serializable {
*/ */
@Schema(description = "EKP的服务团队", name = "serviceTeam") @Schema(description = "EKP的服务团队", name = "serviceTeam")
private String serviceTeam; private String serviceTeam;
/**
* 条线类型
*/
@Schema(description = "条线类型")
private String lineType;
/**
* BU归属
*/
@Schema(description = "BU归属")
private String buBelong;
} }
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @Author fxj
* @Date 2022/6/27
* @Description
* @Version 1.0
*/
@Data
public class TWorkHandlerInfoVo implements Serializable {
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码不能为空", maxLength = 32)
@NotBlank(message = "项目编码不能为空")
@Length(max = 32, message = "项目编码不能超过32个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String departNo;
/**
* 项目名称
*/
@ExcelAttribute(name = "项目名称", isNotEmpty = true, errorInfo = "项目名称不能为空", maxLength = 50)
@NotBlank(message = "项目名称不能为空")
@Length(max = 50, message = "项目名称不能超过50个字符")
@ExcelProperty("项目名称")
@Schema(description = "项目名称")
private String departName;
/**
* 员工姓名
*/
@ExcelAttribute(name = "员工姓名", maxLength = 32)
@Length(max = 32, message = "员工姓名不能超过32个字符")
@ExcelProperty("员工姓名")
@Schema(description = "员工姓名")
private String empName;
/**
* 员工身份证
*/
@ExcelAttribute(name = "员工身份证", maxLength = 32)
@Length(max = 32, message = "员工身份证不能超过32个字符")
@ExcelProperty("员工身份证")
@Schema(description = "员工身份证")
private String empIdcard;
/**
* 联动端口
*/
@ExcelAttribute(name = "联动端口", maxLength = 8)
@Length(max = 8, message = "联动端口不能超过8个字符")
@ExcelProperty("联动端口")
@Schema(description = "联动端口")
private String infoFrom;
/**
* 操作人
*/
@ExcelAttribute(name = "操作人", maxLength = 32)
@Length(max = 32, message = "操作人不能超过32个字符")
@ExcelProperty("操作人")
@Schema(description = "操作人")
private String operUser;
/**
* 操作时间
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "操作时间")
@TableField(fill = FieldFill.INSERT)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("操作时间")
private LocalDateTime operTime;
/**
* 执行结果
*/
@ExcelAttribute(name = "执行结果")
@Length(max = 5, message = "执行结果不能超过5个字符")
@ExcelProperty("执行结果")
@Schema(description = "执行结果")
private String operResult;
/**
* 执行详情
*/
@ExcelAttribute(name = "执行详情", maxLength = 255)
@Length(max = 255, message = "执行详情不能超过255个字符")
@ExcelProperty("执行详情")
@Schema(description = "执行详情")
private String operInfo;
/**
* 原因
*/
@ExcelAttribute(name = "原因", maxLength = 255)
@Length(max = 255, message = "原因不能超过255个字符")
@ExcelProperty("原因")
@Schema(description = "原因")
private String reason;
}
...@@ -44,4 +44,13 @@ public class UpProjectSocialFundVo implements Serializable { ...@@ -44,4 +44,13 @@ public class UpProjectSocialFundVo implements Serializable {
String fileTown; String fileTown;
// 档案地-手机号码 // 档案地-手机号码
String mobile; String mobile;
//是否同步终止合同、减项、减档 0 是 1 否
String changeContractAndEmployee;
String userName;
String userId;
String empName;
String deptName;
String detailId;
String contactAddress;
String highEducation;
} }
...@@ -25,6 +25,8 @@ public class UpdateEmpVo implements Serializable { ...@@ -25,6 +25,8 @@ public class UpdateEmpVo implements Serializable {
// 备注 // 备注
String remarkTemp; String remarkTemp;
// 通信地址
String contactAddress;
// type 0 审核通过 2.审核不通过 // type 0 审核通过 2.审核不通过
String type; String type;
......
...@@ -56,9 +56,10 @@ public class EmployeeConstants { ...@@ -56,9 +56,10 @@ public class EmployeeConstants {
public static final String WORKING_HOURS_EMPTY = "工时制不能为空"; public static final String WORKING_HOURS_EMPTY = "工时制不能为空";
public static final String EXIT_PRIJECT_STATUS = "人员已有该项目信息,禁止重复添加"; public static final String EXIT_PRIJECT_STATUS = "人员已有该项目信息,禁止重复添加";
public static final String CONTRACT_REDUCE_INFO_NOT_EMPTY = "签订类型为终止时,离职日期和终止原因必填"; public static final String CONTRACT_REDUCE_INFO_NOT_EMPTY = "签订类型为终止时,离职日期、终止原因和是否同步终止合同、减项、减档必填";
public static final String CONTRACT_REDUCE_REASON_NOT_EMPTY = "终止原因为其他时,原因说明必填"; public static final String CONTRACT_REDUCE_REASON_NOT_EMPTY = "终止原因为其他时,原因说明必填";
/** /**
* 对应项目编码已停止合作 * 对应项目编码已停止合作
*/ */
......
...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpContractAlertService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpContractAlertService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeFeedBackAllVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
...@@ -55,6 +56,7 @@ public class TEmpContractAlertController { ...@@ -55,6 +56,7 @@ public class TEmpContractAlertController {
private final TEmpContractAlertService tEmpContractAlertService; private final TEmpContractAlertService tEmpContractAlertService;
private final MenuUtil menuUtil; private final MenuUtil menuUtil;
/** /**
* 分页查询 * 分页查询
* @param page 分页对象 * @param page 分页对象
...@@ -171,4 +173,33 @@ public class TEmpContractAlertController { ...@@ -171,4 +173,33 @@ public class TEmpContractAlertController {
public R taskCreateContractAlert() { public R taskCreateContractAlert() {
return tEmpContractAlertService.taskCreateContractAlert(); return tEmpContractAlertService.taskCreateContractAlert();
} }
/**
* 批量反馈
*
* @author wzb
* @param changeFeedBackAllVo
* @return {@link R}
*/
@Operation(summary = "批量反馈", description = "批量反馈")
@PostMapping("/changeFeedbackAll")
public R<Boolean> changeFeedBackAll(@RequestBody ChangeFeedBackAllVo changeFeedBackAllVo) {
return R.ok(tEmpContractAlertService.changeFeedBackAll(changeFeedBackAllVo));
}
/**
* 获取反馈日志详情
*
* @author wzb
* @param id
* @return {@link R}
*/
@Operation(summary = "获取反馈日志详情", description = "获取反馈日志详情")
@GetMapping("/getFeedbackDetail/{applyNo}" )
public R getFeedbackDetail(@PathVariable("applyNo" ) String applyNo) {
return R.ok(tEmpContractAlertService.getFeedbackDetail(applyNo));
}
} }
...@@ -21,9 +21,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -21,9 +21,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster; import com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster;
import com.yifu.cloud.plus.v1.yifu.archives.service.TPersonnelRosterService; import com.yifu.cloud.plus.v1.yifu.archives.service.TPersonnelRosterService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; 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.dapr.util.MenuUtil;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -47,18 +55,28 @@ import java.util.List; ...@@ -47,18 +55,28 @@ import java.util.List;
public class TPersonnelRosterController { public class TPersonnelRosterController {
private final TPersonnelRosterService tPersonnelRosterService; private final TPersonnelRosterService tPersonnelRosterService;
private final MenuUtil menuUtil;
/** /**
* 简单分页查询 * 简单分页查询
* @param page 分页对象 * @param page 分页对象
* @param tPersonnelRoster * @param searchVo
* @return * @return
*/ */
@Operation(description = "简单分页查询") @Operation(description = "简单分页查询")
@GetMapping("/page") @GetMapping("/page")
public R<IPage<TPersonnelRoster>> getTPersonnelRosterPage(Page<TPersonnelRoster> page, TPersonnelRosterSearchVo tPersonnelRoster) { public R<IPage<TPersonnelRoster>> getTPersonnelRosterPage(Page<TPersonnelRoster> page, TPersonnelRosterSearchVo searchVo) {
return new R<>(tPersonnelRosterService.getTPersonnelRosterPage(page,tPersonnelRoster)); YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
if (Common.isNotNull(searchVo.getAuthSql())) {
if (searchVo.getAuthSql().contains(CommonConstants.A_DEPT_ID)) {
searchVo.setAuthSql(searchVo.getAuthSql().replace(CommonConstants.A_DEPT_ID, "a.SETTLE_DOMAIN"));
}
if (searchVo.getAuthSql().contains("1=2 EXISTS")) {
searchVo.setAuthSql(searchVo.getAuthSql().replace("1=2 EXISTS", "EXISTS"));
}
}
return new R<>(tPersonnelRosterService.getTPersonnelRosterPage(page,searchVo));
} }
/** /**
* 不分页查询 * 不分页查询
...@@ -67,7 +85,7 @@ public class TPersonnelRosterController { ...@@ -67,7 +85,7 @@ public class TPersonnelRosterController {
*/ */
@Operation(summary = "不分页查询", description = "不分页查询") @Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage" ) @PostMapping("/noPage" )
public R<List<TPersonnelRoster>> getTPersonnelRosterNoPage(@RequestBody TPersonnelRosterSearchVo tPersonnelRoster) { public R<List<TPersonnelRosterExportVo>> getTPersonnelRosterNoPage(@RequestBody TPersonnelRosterSearchVo tPersonnelRoster) {
return R.ok(tPersonnelRosterService.noPageDiy(tPersonnelRoster)); return R.ok(tPersonnelRosterService.noPageDiy(tPersonnelRoster));
} }
...@@ -129,8 +147,44 @@ public class TPersonnelRosterController { ...@@ -129,8 +147,44 @@ public class TPersonnelRosterController {
**/ **/
@Operation(description = "导出 hasPermission('demo_tpersonnelroster-export')") @Operation(description = "导出 hasPermission('demo_tpersonnelroster-export')")
@PostMapping("/export") @PostMapping("/export")
@PreAuthorize("@pms.hasPermission('demo_tpersonnelroster-export')")
public void export(HttpServletResponse response, @RequestBody TPersonnelRosterSearchVo searchVo) { public void export(HttpServletResponse response, @RequestBody TPersonnelRosterSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
if (Common.isNotNull(searchVo.getAuthSql())) {
if (searchVo.getAuthSql().contains(CommonConstants.A_DEPT_ID)) {
searchVo.setAuthSql(searchVo.getAuthSql().replace(CommonConstants.A_DEPT_ID, "a.SETTLE_DOMAIN"));
}
if (searchVo.getAuthSql().contains("1=2 EXISTS")) {
searchVo.setAuthSql(searchVo.getAuthSql().replace("1=2 EXISTS", "EXISTS"));
}
}
tPersonnelRosterService.listExport(response,searchVo); tPersonnelRosterService.listExport(response,searchVo);
} }
/**
* @Author fxj
* @Description 每月26号更新人员花名册
* @Date 10:57 2023/6/19
* @Param
* @return
**/
@Operation(summary = "每月26号更新人员花名册", description = "每月26号更新人员花名册")
@Inner
@PostMapping("/inner/everyMonthUpdateRoster")
public void everyMonthUpdateRoster() {
tPersonnelRosterService.everyMonthUpdateRoster();
}
private void setAuth(TPersonnelRosterSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, searchVo);
if (Common.isNotNull(searchVo.getAuthSql())) {
if (searchVo.getAuthSql().contains(CommonConstants.A_DEPT_ID)) {
searchVo.setAuthSql(searchVo.getAuthSql().replace(CommonConstants.A_DEPT_ID, "dept_id"));
}
if (searchVo.getAuthSql().contains(CommonConstants.A_CREATE_BY)) {
searchVo.setAuthSql(searchVo.getAuthSql().replace(CommonConstants.A_CREATE_BY, "CREATE_BY"));
}
}
}
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.service.TWorkHandlerInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.InsertWorkHandlerVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
* 任务处理清单表
*
* @author huyc
* @date 2023-06-15 12:18:28
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tworkhandlerinfo")
@Tag(name = "任务处理清单表管理")
public class TWorkHandlerInfoController {
private final TWorkHandlerInfoService tWorkHandlerInfoService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tWorkHandlerInfo 任务处理清单表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TWorkHandlerInfo>> getTWorkHandlerInfoPage(Page<TWorkHandlerInfo> page, TWorkHandlerInfoSearchVo tWorkHandlerInfo) {
return new R<>(tWorkHandlerInfoService.getTWorkHandlerInfoPage(page, tWorkHandlerInfo));
}
/**
* 通过id查询任务处理清单表
*
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('archives_tworkhandlerinfo_get')")
@GetMapping("/{id}")
@PreAuthorize("@pms.hasPermission('archives_tworkhandlerinfo_get')")
public R<TWorkHandlerInfo> getById(@PathVariable("id") String id) {
return R.ok(tWorkHandlerInfoService.getById(id));
}
/**
* 任务处理清单表 批量导出
*
* @author huyc
* @date 2023-06-15 12:18:28
**/
@Operation(description = "导出任务处理清单表 hasPermission('archives_tworkhandlerinfo-export')")
@PostMapping("/export")
@PreAuthorize("@pms.hasPermission('archives_tworkhandlerinfo-export')")
public void export(HttpServletResponse response, @RequestBody TWorkHandlerInfoSearchVo searchVo) {
tWorkHandlerInfoService.listExport(response, searchVo);
}
/**
* 新增任务处理表
* @author huyc
* @date 2023-06-25 12:18:28
**/
@Operation(description = "新增任务处理表)")
@Inner
@PostMapping("/inner/insertWorkHandler")
public Boolean insertWorkHandler(@RequestBody InsertWorkHandlerVo vo) {
return tWorkHandlerInfoService.insertWorkHandler(vo);
}
}
package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FeedBackDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface FeedBackDetailMapper extends BaseMapper<FeedBackDetail> {
List<FeedBackDetail> getDetail(@Param("applyNo") String applyNo);
List<FeedBackDetail> getAll();
FeedBackDetail findByApplyNo(@Param("applyNo") String applyNo);
}
...@@ -19,7 +19,9 @@ package com.yifu.cloud.plus.v1.yifu.archives.mapper; ...@@ -19,7 +19,9 @@ package com.yifu.cloud.plus.v1.yifu.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeFeedBackAllVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* 员工合同续签待办 * 员工合同续签待办
...@@ -31,4 +33,7 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -31,4 +33,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface TEmpContractAlertMapper extends BaseMapper<TEmpContractAlert> { public interface TEmpContractAlertMapper extends BaseMapper<TEmpContractAlert> {
void truncate(); void truncate();
boolean changeFeedBackAll(@Param("changeFeedBackAllVo") ChangeFeedBackAllVo changeFeedBackAllVo);
} }
...@@ -21,9 +21,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -21,9 +21,13 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster; import com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* *
* *
...@@ -37,5 +41,19 @@ public interface TPersonnelRosterMapper extends BaseMapper<TPersonnelRoster> { ...@@ -37,5 +41,19 @@ public interface TPersonnelRosterMapper extends BaseMapper<TPersonnelRoster> {
* @param tPersonnelRoster * @param tPersonnelRoster
* @return * @return
*/ */
IPage<TPersonnelRoster> getTPersonnelRosterPage(Page<TPersonnelRoster> page, @Param("tPersonnelRoster") TPersonnelRoster tPersonnelRoster); IPage<TPersonnelRoster> getTPersonnelRosterPage(Page<TPersonnelRoster> page, @Param("tPersonnelRoster") TPersonnelRosterSearchVo tPersonnelRoster);
/**
* @Author fxj
* @Description 获取待生成人员花名册数据
* @Date 11:41 2023/6/19
* @Param
* @return
**/
List<TPersonnelRoster> getTPersonnelRoster(@Param("tPersonnelRoster") TPersonnelRoster tPersonnelRoster);
Integer getTPersonnelRosterCount(@Param("tPersonnelRoster") TPersonnelRoster tPersonnelRoster);
int noPageCountDiy(@Param("tPersonnelRoster")TPersonnelRosterSearchVo searchVo);
List<TPersonnelRosterExportVo> noPageDiy(@Param("tPersonnelRoster")TPersonnelRosterSearchVo 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.archives.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TWorkHandlerInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 任务处理清单表
*
* @author huyc
* @date 2023-06-15 12:18:28
*/
@Mapper
public interface TWorkHandlerInfoMapper extends BaseMapper<TWorkHandlerInfo> {
/**
* 任务处理清单表简单分页查询
* @param tWorkHandlerInfo 任务处理清单表
* @return
*/
IPage<TWorkHandlerInfo> getTWorkHandlerInfoPage(Page<TWorkHandlerInfo> page, @Param("tWorkHandlerInfo") TWorkHandlerInfoSearchVo tWorkHandlerInfo);
Integer noPageCountDiy(@Param("tWorkHandlerInfo") TWorkHandlerInfoSearchVo tWorkHandlerInfo);
List<TWorkHandlerInfoVo> noPageDiy(@Param("tWorkHandlerInfo") TWorkHandlerInfoSearchVo tWorkHandlerInfo);
}
...@@ -20,7 +20,9 @@ package com.yifu.cloud.plus.v1.yifu.archives.service; ...@@ -20,7 +20,9 @@ package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FeedBackDetail;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeFeedBackAllVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
...@@ -47,5 +49,12 @@ public interface TEmpContractAlertService extends IService<TEmpContractAlert> { ...@@ -47,5 +49,12 @@ public interface TEmpContractAlertService extends IService<TEmpContractAlert> {
* @Date 2022-07-4 * @Date 2022-07-4
**/ **/
R<Boolean> taskCreateContractAlert(); R<Boolean> taskCreateContractAlert();
boolean changeFeedBackAll(ChangeFeedBackAllVo changeFeedBackAllVo);
List<FeedBackDetail> getFeedbackDetail(String applyNo);
} }
...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.service; ...@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo; import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeLog; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeLog;
import com.yifu.cloud.plus.v1.yifu.archives.vo.UpProjectSocialFundVo;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
/** /**
...@@ -56,6 +57,19 @@ public interface TEmployeeLogService extends IService<TEmployeeLog> { ...@@ -56,6 +57,19 @@ public interface TEmployeeLogService extends IService<TEmployeeLog> {
**/ **/
<T> TEmployeeLog saveModificationRecord(Integer type, String empId, String projectId, T oldInfo, T newInfo, YifuUser user); <T> TEmployeeLog saveModificationRecord(Integer type, String empId, String projectId, T oldInfo, T newInfo, YifuUser user);
/**
* 生成修改记录
* @Author pwang
* @Date 2022-06-22 11:32
* @param type 类型:0人员档案;1项目档案;2人员和项目档案;3员工合同更新
* @param empId 档案id
* @param projectId 项目id
* @param oldInfo
* @param newInfo
* @return
**/
<T> TEmployeeLog saveModificationRecord(Integer type, String empId, String projectId, T oldInfo, T newInfo, UpProjectSocialFundVo vo);
/** /**
* 生成修改记录 * 生成修改记录
* @Author pwang * @Author pwang
......
...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster; import com.yifu.cloud.plus.v1.yifu.archives.entity.TPersonnelRoster;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.TPersonnelRosterSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage; import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
...@@ -45,5 +46,7 @@ public interface TPersonnelRosterService extends IService<TPersonnelRoster> { ...@@ -45,5 +46,7 @@ public interface TPersonnelRosterService extends IService<TPersonnelRoster> {
void listExport(HttpServletResponse response, TPersonnelRosterSearchVo searchVo); void listExport(HttpServletResponse response, TPersonnelRosterSearchVo searchVo);
List<TPersonnelRoster> noPageDiy(TPersonnelRosterSearchVo searchVo); List<TPersonnelRosterExportVo> noPageDiy(TPersonnelRosterSearchVo searchVo);
void everyMonthUpdateRoster();
} }
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.InsertWorkHandlerVo;
import javax.servlet.http.HttpServletResponse;
/**
* 任务处理清单表
*
* @author huyc
* @date 2023-06-15 12:18:28
*/
public interface TWorkHandlerInfoService extends IService<TWorkHandlerInfo> {
/**
* 任务处理清单表简单分页查询
* @param tWorkHandlerInfo 任务处理清单表
* @return
*/
IPage<TWorkHandlerInfo> getTWorkHandlerInfoPage(Page<TWorkHandlerInfo> page, TWorkHandlerInfoSearchVo tWorkHandlerInfo);
void listExport(HttpServletResponse response, TWorkHandlerInfoSearchVo searchVo);
Boolean insertWorkHandler(InsertWorkHandlerVo vo);
}
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.archives.service.impl; package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.ExcelWriter;
...@@ -27,15 +28,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -27,15 +28,15 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.constants.ArchivesConstants; import com.yifu.cloud.plus.v1.yifu.archives.constants.ArchivesConstants;
import com.yifu.cloud.plus.v1.yifu.archives.entity.*; import com.yifu.cloud.plus.v1.yifu.archives.entity.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmpContractAlertMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.*;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeContractInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeProjectMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpContractAlertService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmpContractAlertService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeFeedBackAllVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo; import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity; import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -62,6 +63,8 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -62,6 +63,8 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
private final TEmployeeProjectMapper projectMapper; private final TEmployeeProjectMapper projectMapper;
private final FeedBackDetailMapper feedbackDetailMapper;
@Override @Override
public IPage<TEmpContractAlert> pageDiy(Page page, ContractAlertSearchVo searchVo) { public IPage<TEmpContractAlert> pageDiy(Page page, ContractAlertSearchVo searchVo) {
LambdaQueryWrapper<TEmpContractAlert> wrapper = buildQueryWrapper(searchVo); LambdaQueryWrapper<TEmpContractAlert> wrapper = buildQueryWrapper(searchVo);
...@@ -246,6 +249,9 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -246,6 +249,9 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
if (Common.isNotNull(entity.getUnitNo())) { if (Common.isNotNull(entity.getUnitNo())) {
wrapper.eq(TEmpContractAlert::getUnitNo, entity.getUnitNo()); wrapper.eq(TEmpContractAlert::getUnitNo, entity.getUnitNo());
} }
if (Common.isNotNull(entity.getIsFeedback())){
wrapper.eq(TEmpContractAlert::getIsFeedback,entity.getIsFeedback());
}
return wrapper; return wrapper;
} }
/** /**
...@@ -303,6 +309,8 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -303,6 +309,8 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
return R.ok(); return R.ok();
} }
private void initExistMap(Map<String, TEmpContractAlert> existMap) { private void initExistMap(Map<String, TEmpContractAlert> existMap) {
List<TEmpContractAlert> exists = baseMapper.selectList(Wrappers.<TEmpContractAlert>query()); List<TEmpContractAlert> exists = baseMapper.selectList(Wrappers.<TEmpContractAlert>query());
if (Common.isNotNull(exists)){ if (Common.isNotNull(exists)){
...@@ -357,12 +365,26 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -357,12 +365,26 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
}else { }else {
alert.setFirstAlertTime(new Date()); alert.setFirstAlertTime(new Date());
} }
List<FeedBackDetail> list = feedbackDetailMapper.getAll();
for (FeedBackDetail feedBackDetail : list) {
FeedBackDetail feedBackDetail1 = feedbackDetailMapper.findByApplyNo(feedBackDetail.getApplyNo());
if(null!=feedbackDetailMapper.findByApplyNo(contract.getApplyNo())){
alert.setIsFeedback(feedBackDetail1.getIsFeedback());
alert.setFeedbackDetail(feedBackDetail1.getFeedbackDetail());
alert.setFeedbackReason(feedBackDetail1.getFeedbackReason());
alert.setFeedbackPerson(feedBackDetail1.getFeedbackPerson());
alert.setFeedbackTime(feedBackDetail1.getFeedbackTime());
} else {
alert.setIsFeedback(CommonConstants.ZERO_INT);
}
}
alert.setApplyNo(contract.getApplyNo());
// 2023-4-3 09:38:21 hgw 添加 // 2023-4-3 09:38:21 hgw 添加
alert.setUnitId(contract.getCustomerId()); alert.setUnitId(contract.getCustomerId());
alert.setUnitName(contract.getSubjectUnit()); alert.setUnitName(contract.getSubjectUnit());
alert.setUnitNo(contract.getUnitNo()); alert.setUnitNo(contract.getUnitNo());
alert.setEmpPhone(employeeInfo.getEmpPhone()); alert.setEmpPhone(employeeInfo.getEmpPhone());
alert.setCreateBy(contract.getCreateBy()); alert.setCreateBy(contract.getCreateBy());
alert.setCreateName(contract.getCreateName()); alert.setCreateName(contract.getCreateName());
alert.setContractId(contract.getId()); alert.setContractId(contract.getId());
...@@ -403,4 +425,29 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM ...@@ -403,4 +425,29 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
alert.setHandleStatus(CommonConstants.ZERO_STRING); alert.setHandleStatus(CommonConstants.ZERO_STRING);
alertMap.put(alert.getEmpIdcard()+CommonConstants.DOWN_LINE_STRING+alert.getProjectNo(),alert); alertMap.put(alert.getEmpIdcard()+CommonConstants.DOWN_LINE_STRING+alert.getProjectNo(),alert);
} }
@Override
public boolean changeFeedBackAll(ChangeFeedBackAllVo changeFeedBackAllVo) {
YifuUser user = SecurityUtils.getUser();
for (int i = 0; i < changeFeedBackAllVo.getIds().length; i++) {
FeedBackDetail feedbackDetail = new FeedBackDetail();
feedbackDetail.setFeedbackPerson(user.getNickname());
feedbackDetail.setFeedbackTime(DateTime.now());
feedbackDetail.setApplyNo(changeFeedBackAllVo.getIds()[i]);
feedbackDetail.setFeedbackReason(changeFeedBackAllVo.getFeedbackReason());
feedbackDetail.setFeedbackDetail(changeFeedBackAllVo.getFeedbackDetail());
feedbackDetail.setIsFeedback(CommonConstants.ONE_INT);
feedbackDetailMapper.insert(feedbackDetail);
}
changeFeedBackAllVo.setIsFeedback(CommonConstants.ONE_INTEGER);
changeFeedBackAllVo.setFeedbackPerson(user.getNickname());
changeFeedBackAllVo.setFeedbackTime(DateTime.now());
return baseMapper.changeFeedBackAll(changeFeedBackAllVo);
}
@Override
public List<FeedBackDetail> getFeedbackDetail(String applyNo) {
return feedbackDetailMapper.getDetail(applyNo);
}
} }
...@@ -2211,9 +2211,11 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2211,9 +2211,11 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
employeeInfo = baseMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda() employeeInfo = baseMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getDeleteFlag,CommonConstants.ZERO_STRING) .eq(TEmployeeInfo::getDeleteFlag,CommonConstants.ZERO_STRING)
.eq(TEmployeeInfo::getEmpIdcard,vo.getEmpIdCard()) .eq(TEmployeeInfo::getEmpIdcard,vo.getEmpIdCard())
.eq(TEmployeeInfo::getStatus,CommonConstants.ZERO_INT)
.last(CommonConstants.LAST_ONE_SQL)); .last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(employeeInfo)){ if (Common.isNotNull(employeeInfo)){
if(Common.isNotNull(vo.getContactAddress())) {
employeeInfo.setContactAddress(vo.getContactAddress());
}
employeeInfo.setStatus(CommonConstants.ONE_INT); employeeInfo.setStatus(CommonConstants.ONE_INT);
baseMapper.updateById(employeeInfo); baseMapper.updateById(employeeInfo);
} }
...@@ -2245,7 +2247,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2245,7 +2247,7 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
contractAudit.setCreateName(vo.getCreateName()); contractAudit.setCreateName(vo.getCreateName());
contractAudit.setCreateTime(LocalDateTime.now()); contractAudit.setCreateTime(LocalDateTime.now());
//审核通过 //审核通过
c.setAuditUserName(c.getCreateBy()); c.setAuditUserName(vo.getCreateName());
if (CommonConstants.ZERO_STRING.equals(vo.getType())){ if (CommonConstants.ZERO_STRING.equals(vo.getType())){
c.setAuditStatus(CommonConstants.TWO_INT); c.setAuditStatus(CommonConstants.TWO_INT);
c.setInUse(CommonConstants.ZERO_STRING); c.setInUse(CommonConstants.ZERO_STRING);
...@@ -2368,6 +2370,38 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2368,6 +2370,38 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
employeeInfo = new TEmployeeInfo(); employeeInfo = new TEmployeeInfo();
BeanUtil.copyProperties(empAdd, employeeInfo); BeanUtil.copyProperties(empAdd, employeeInfo);
employeeInfo.setEmpCode(getCode()); employeeInfo.setEmpCode(getCode());
employeeInfo.setContactAddress(empAdd.getContactAddress());
if(empAdd.getHignEducation().equals("文盲")) {
employeeInfo.setHignEducation("1");
}
if(empAdd.getHignEducation().equals("小学")) {
employeeInfo.setHignEducation("2");
}
if(empAdd.getHignEducation().equals("初中")) {
employeeInfo.setHignEducation("3");
}
if(empAdd.getHignEducation().equals("高中")) {
employeeInfo.setHignEducation("4");
}
if(empAdd.getHignEducation().equals("大专")) {
employeeInfo.setHignEducation("5");
}
if(empAdd.getHignEducation().equals("本科")) {
employeeInfo.setHignEducation("6");
}
if(empAdd.getHignEducation().equals("硕士")) {
employeeInfo.setHignEducation("7");
}
if(empAdd.getHignEducation().equals("技工")) {
employeeInfo.setHignEducation("9");
}
if(empAdd.getHignEducation().equals("职高")) {
employeeInfo.setHignEducation("10");
}
if(empAdd.getHignEducation().equals("中专")) {
employeeInfo.setHignEducation("11");
}
employeeInfo.setIsCollege(CommonConstants.ONE_INT);
employeeInfo.setStatus(CommonConstants.ZERO_INT); employeeInfo.setStatus(CommonConstants.ZERO_INT);
date = IdCardUtil.getBirthdate(employeeInfo.getEmpIdcard()); date = IdCardUtil.getBirthdate(employeeInfo.getEmpIdcard());
if (Common.isNotNull(date)) { if (Common.isNotNull(date)) {
...@@ -2412,6 +2446,19 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T ...@@ -2412,6 +2446,19 @@ public class TEmployeeInfoServiceImpl extends ServiceImpl<TEmployeeInfoMapper, T
projectAdd.setId(project.getId()); projectAdd.setId(project.getId());
projectAdd.setEmpNo(project.getEmpNo()); projectAdd.setEmpNo(project.getEmpNo());
projectsMap.put(project.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + project.getDeptNo(), projectAdd); projectsMap.put(project.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + project.getDeptNo(), projectAdd);
//查询人员档案
TEmployeeInfo tEmployeeInfo = baseMapper.selectOne(Wrappers.<TEmployeeInfo>query().lambda()
.eq(TEmployeeInfo::getEmpIdcard, project.getEmpIdcard())
.eq(TEmployeeInfo::getDeleteFlag, CommonConstants.STATUS_NORMAL)
.eq(TEmployeeInfo::getFileStatus, CommonConstants.ZERO_INT));
if (Common.isNotNull(tEmployeeInfo)) {
TEmployeeInfo tEmployeeInfoCompare = baseMapper.selectById(tEmployeeInfo.getId());
tEmployeeInfo.setProjectNum(tEmployeeInfo.getProjectNum() + CommonConstants.ONE_INT);
tEmployeeLogService.saveModificationRecord(CommonConstants.dingleDigitIntArray[0],
tEmployeeInfoCompare.getId(), "", tEmployeeInfoCompare, tEmployeeInfo);
baseMapper.updateById(tEmployeeInfo);
}
} }
} catch (Exception e) { } catch (Exception e) {
log.error(projectAdd.getEmpIdcard() + CommonConstants.COLON_STRING + "派单新增项目档案失败",e); log.error(projectAdd.getEmpIdcard() + CommonConstants.COLON_STRING + "派单新增项目档案失败",e);
......
...@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo; ...@@ -23,6 +23,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractAttachInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeLog; import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeLog;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeLogMapper; import com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmployeeLogMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeLogService; import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeLogService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.UpProjectSocialFundVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.equator.HrEquator; import com.yifu.cloud.plus.v1.yifu.common.core.util.equator.HrEquator;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
...@@ -95,6 +96,35 @@ public class TEmployeeLogServiceImpl extends ServiceImpl<TEmployeeLogMapper, TEm ...@@ -95,6 +96,35 @@ public class TEmployeeLogServiceImpl extends ServiceImpl<TEmployeeLogMapper, TEm
return null; return null;
} }
@Override
public <T> TEmployeeLog saveModificationRecord(Integer type, String empId, String projectId, T oldInfo, T newInfo, UpProjectSocialFundVo vo) {
try{
//比较记录不影响业务逻辑,用try套住
//比较差异
String differenceKey = HrEquator.comparisonValue(oldInfo, newInfo);
//如果有差异保存差异
if(!Common.isEmpty(differenceKey)){
TEmployeeLog employeeLog = new TEmployeeLog();
employeeLog.setProjectId(projectId);
employeeLog.setType(type);
employeeLog.setEmpId(empId);
employeeLog.setCreateTime(LocalDateTime.now());
if (Common.isNotNull(vo)) {
employeeLog.setCreateBy(vo.getUserId());
employeeLog.setCreateName(vo.getUserName());
}
employeeLog.setOldInfo(JSON.toJSONString(oldInfo,features));
employeeLog.setNewInfo(JSON.toJSONString(newInfo,features));
employeeLog.setDifferenceInfo(differenceKey);
baseMapper.insert(employeeLog);
return employeeLog;
}
}catch (Exception e){
log.error(JSON.toJSON(oldInfo)+"插入修改记录报错>>>",e);
}
return null;
}
@Override @Override
public <T> TEmployeeLog saveModificationRecord(Integer type, String empId, String projectId, T oldInfo, T newInfo, FddContractAttachInfo fddContractAttachInfo) { public <T> TEmployeeLog saveModificationRecord(Integer type, String empId, String projectId, T oldInfo, T newInfo, FddContractAttachInfo fddContractAttachInfo) {
try{ try{
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
package com.yifu.cloud.plus.v1.yifu.archives.service.impl; package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -98,12 +99,14 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T ...@@ -98,12 +99,14 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
redisUtil.remove(CacheConstants.WXHR_SETTLE_DOMAIN_NOS_BY_USERID +"_"+userId); redisUtil.remove(CacheConstants.WXHR_SETTLE_DOMAIN_NOS_BY_USERID +"_"+userId);
redisUtil.remove(CacheConstants.DATA_AUTH_DETAILS +"_0"); redisUtil.remove(CacheConstants.DATA_AUTH_DETAILS +"_0");
redisUtil.remove(CacheConstants.DATA_AUTH_DETAILS +"_1"); redisUtil.remove(CacheConstants.DATA_AUTH_DETAILS +"_1");
if (Common.isNotNull(user)){
redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ user.getUsername());
if( Common.isNotNull(user.getPhone())){
redisUtil.remove(CacheConstants.USER_DETAILS + "_phone::"+ user.getPhone());
}
}
// 清空userinfo // 清空userinfo
Objects.requireNonNull(cacheManager.getCache(CacheConstants.USER_DETAILS)).clear(); Objects.requireNonNull(cacheManager.getCache(CacheConstants.USER_DETAILS)).clear();
redisUtil.remove(CacheConstants.USER_DETAILS +"::"+ user.getUsername());
if( Common.isNotNull(user.getPhone())){
redisUtil.remove(CacheConstants.USER_DETAILS + "_phone::"+ user.getPhone());
}
} }
} catch (Exception e) { } catch (Exception e) {
log.error("清除缓存错误:",e); log.error("清除缓存错误:",e);
...@@ -210,6 +213,7 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T ...@@ -210,6 +213,7 @@ public class TSettleDomainServiceImpl extends ServiceImpl<TSettleDomainMapper, T
// 处理服务团队数据权限 2022-09-19 fxj // 处理服务团队数据权限 2022-09-19 fxj
initServerTeamPermission(domain); initServerTeamPermission(domain);
domain.setDeleteFlag(CommonConstants.ZERO_STRING); domain.setDeleteFlag(CommonConstants.ZERO_STRING);
log.error(JSON.toJSONString(vo));
if (Common.isNotNull(tSettleDomainInfo)) { if (Common.isNotNull(tSettleDomainInfo)) {
baseMapper.updateById(domain); baseMapper.updateById(domain);
} else { } else {
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.write.metadata.WriteSheet;
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.archives.entity.TWorkHandlerInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TWorkHandlerInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TWorkHandlerInfoService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.InsertWorkHandlerVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TWorkHandlerInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 任务处理清单表
*
* @author huyc
* @date 2023-06-15 12:18:28
*/
@Log4j2
@Service
public class TWorkHandlerInfoServiceImpl extends ServiceImpl<TWorkHandlerInfoMapper, TWorkHandlerInfo> implements TWorkHandlerInfoService {
/**
* 任务处理清单表简单分页查询
* @param tWorkHandlerInfo 任务处理清单表
* @return
*/
@Override
public IPage<TWorkHandlerInfo> getTWorkHandlerInfoPage(Page<TWorkHandlerInfo> page, TWorkHandlerInfoSearchVo tWorkHandlerInfo){
return baseMapper.getTWorkHandlerInfoPage(page,tWorkHandlerInfo);
}
/**
* 任务处理清单表批量导出
* @param searchVo 任务处理清单表
* @return
*/
@Override
public void listExport(HttpServletResponse response, TWorkHandlerInfoSearchVo searchVo){
String fileName = "任务处理清单表批量导出" + DateUtil.getThisTime() + ".xlsx";
//获取要导出的列表
List<TWorkHandlerInfoVo> list = new ArrayList<>();
Integer count = baseMapper.noPageCountDiy(searchVo);
try (ServletOutputStream out = response.getOutputStream()) {
response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName , CommonConstants.UTF8));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, TWorkHandlerInfoVo.class).includeColumnFieldNames(searchVo.getExportFields()).build();
int index = 0;
if (count > CommonConstants.ZERO_INT){
for (int i = 0; i <= count; i += CommonConstants.EXCEL_EXPORT_LIMIT) {
// 获取实际记录
searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = baseMapper.noPageDiy(searchVo);
if (Common.isNotNull(list)){
WriteSheet writeSheet = EasyExcel.writerSheet("任务处理清单表"+index).build();
excelWriter.write(list,writeSheet);
index++;
}
if (Common.isNotNull(list)){
list.clear();
}
}
}else {
WriteSheet writeSheet = EasyExcel.writerSheet("任务处理清单表"+index).build();
excelWriter.write(list,writeSheet);
}
if (Common.isNotNull(list)){
list.clear();
}
excelWriter.finish();
}catch (Exception e){
log.error("执行异常" ,e);
}
}
@Override
public Boolean insertWorkHandler(InsertWorkHandlerVo vo) {
//增加任务处理情况查询表数据
TWorkHandlerInfo handlerInfo = new TWorkHandlerInfo();
handlerInfo.setEmpIdcard(vo.getEmpIdcard());
handlerInfo.setEmpName(null == vo.getEmpName() ? "" : vo.getEmpName());
handlerInfo.setDepartName(null == vo.getDepartName() ? "" : vo.getDepartName());
handlerInfo.setDepartNo(vo.getDepartNo());
handlerInfo.setInfoFrom("社保派减");
handlerInfo.setOperUser(vo.getOperUser());
handlerInfo.setOperTime(LocalDateTime.now());
handlerInfo.setDetailId(vo.getDetailId());
handlerInfo.setOperResult(CommonConstants.ZERO_STRING);
baseMapper.insert(handlerInfo);
return true;
}
}
...@@ -26,7 +26,7 @@ mybatis-plus: ...@@ -26,7 +26,7 @@ mybatis-plus:
logic-not-delete-value: 0 logic-not-delete-value: 0
configuration: configuration:
map-underscore-to-camel-case: true map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# spring security 配置 # spring security 配置
security: security:
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.FeedBackDetailMapper">
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.FeedBackDetail">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="FEEDBACK_PERSON" jdbcType="VARCHAR" property="feedbackPerson" />
<result column="FEEDBACK_TIME" jdbcType="TIMESTAMP" property="feedbackTime" />
<result column="FEEDBACK_REASON" jdbcType="VARCHAR" property="feedbackReason" />
<result column="FEEDBACK_DETAIL" jdbcType="VARCHAR" property="feedbackDetail" />
<result column="APPLY_NO" jdbcType="VARCHAR" property="applyNo" />
<result column="IS_FEEDBACK" jdbcType="VARCHAR" property="isFeedback" />
<result column="CONTRACT_ALERT_ID" jdbcType="VARCHAR" property="contractAlertId" />
</resultMap>
<sql id="Base_Column_List">
id, FEEDBACK_PERSON, FEEDBACK_TIME, FEEDBACK_REASON, FEEDBACK_DETAIL, CONTRACT_ALERT_ID
</sql>
<select id="getDetail" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.FeedBackDetail">
SELECT *
FROM feed_back_detail a
where a.APPLY_NO=#{applyNo}
order by FEEDBACK_TIME DESC
</select>
<select id="getAll" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.FeedBackDetail">
SELECT *
FROM feed_back_detail a
</select>
<select id="findByApplyNo" resultType="com.yifu.cloud.plus.v1.yifu.archives.entity.FeedBackDetail">
SELECT *
FROM feed_back_detail a
where a.APPLY_NO=#{applyNo}
ORDER BY FEEDBACK_TIME desc LIMIT 1
</select>
</mapper>
...@@ -24,36 +24,52 @@ ...@@ -24,36 +24,52 @@
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmpContractAlertMapper"> <mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TEmpContractAlertMapper">
<resultMap id="tEmpContractAlertMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert"> <resultMap id="tEmpContractAlertMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert">
<id property="id" column="ID"/> <id property="id" column="ID"/>
<result property="empName" column="EMP_NAME"/> <result property="empName" column="EMP_NAME"/>
<result property="empId" column="EMP_ID"/> <result property="empId" column="EMP_ID"/>
<result property="project" column="PROJECT"/> <result property="project" column="PROJECT"/>
<result property="projectNo" column="PROJECT_NO"/> <result property="projectNo" column="PROJECT_NO"/>
<result property="empIdcard" column="EMP_IDCARD"/> <result property="empIdcard" column="EMP_IDCARD"/>
<result property="empCode" column="EMP_CODE"/> <result property="empCode" column="EMP_CODE"/>
<result property="contractStart" column="CONTRACT_START"/> <result property="contractStart" column="CONTRACT_START"/>
<result property="contractEnd" column="CONTRACT_END"/> <result property="contractEnd" column="CONTRACT_END"/>
<result property="fileProvince" column="FILE_PROVINCE"/> <result property="fileProvince" column="FILE_PROVINCE"/>
<result property="fileCity" column="FILE_CITY"/> <result property="fileCity" column="FILE_CITY"/>
<result property="fileTown" column="FILE_TOWN"/> <result property="fileTown" column="FILE_TOWN"/>
<result property="empType" column="EMP_TYPE"/> <result property="empType" column="EMP_TYPE"/>
<result property="contractType" column="CONTRACT_TYPE"/> <result property="contractType" column="CONTRACT_TYPE"/>
<result property="contractTerm" column="CONTRACT_TERM"/> <result property="contractTerm" column="CONTRACT_TERM"/>
<result property="daysDue" column="DAYS_DUE"/> <result property="daysDue" column="DAYS_DUE"/>
<result property="dueFlag" column="DUE_FLAG"/> <result property="dueFlag" column="DUE_FLAG"/>
<result property="daysOver" column="DAYS_OVER"/> <result property="daysOver" column="DAYS_OVER"/>
<result property="firstAlertTime" column="FIRST_ALERT_TIME"/> <result property="firstAlertTime" column="FIRST_ALERT_TIME"/>
<result property="alertPerson" column="ALERT_PERSON"/> <result property="alertPerson" column="ALERT_PERSON"/>
<result property="handleStatus" column="HANDLE_STATUS"/> <result property="handleStatus" column="HANDLE_STATUS"/>
<result property="createBy" column="CREATE_BY"/> <result property="createBy" column="CREATE_BY"/>
<result property="updateBy" column="UPDATE_BY"/> <result property="updateBy" column="UPDATE_BY"/>
<result property="createName" column="CREATE_NAME"/> <result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/> <result property="createTime" column="CREATE_TIME"/>
<result property="updateTime" column="UPDATE_TIME"/> <result property="updateTime" column="UPDATE_TIME"/>
<result property="contractId" column="CONTRACT_ID"/> <result property="isFeedback" column="IS_FEEDBACK"/>
<result property="feedbackReason" column="FEEDBACK_REASON"/>
<result property="feedbackDetail" column="FEEDBACK_DATAIL"/>
<result property="contractId" column="CONTRACT_ID"/>
<result property="applyNo" column="APPLY_NO"/>
</resultMap> </resultMap>
<update id="truncate"> <update id="truncate">
TRUNCATE t_emp_contract_alert TRUNCATE t_emp_contract_alert
</update> </update>
<update id="changeFeedBackAll" parameterType="com.yifu.cloud.plus.v1.yifu.archives.vo.ChangeFeedBackAllVo">
update t_emp_contract_alert a
set a.IS_FEEDBACK=#{changeFeedBackAllVo.isFeedback},a.FEEDBACK_REASON=#{changeFeedBackAllVo.feedbackReason},a.FEEDBACK_DETAIL=#{changeFeedBackAllVo.feedbackDetail},
a.FEEDBACK_PERSON=#{changeFeedBackAllVo.feedbackPerson},a.FEEDBACK_TIME=#{changeFeedBackAllVo.feedbackTime}
where a.APPLY_NO in
<foreach item="idStr" index="index" collection="changeFeedBackAllVo.ids" open="(" separator="," close=")">
#{idStr}
</foreach>
</update>
</mapper> </mapper>
...@@ -83,6 +83,7 @@ ...@@ -83,6 +83,7 @@
<result property="type" column="TYPE"/> <result property="type" column="TYPE"/>
<result property="leaveDate" column="LEAVE_DATE"/> <result property="leaveDate" column="LEAVE_DATE"/>
<result property="reduceReason" column="REDUCE_REASON"/> <result property="reduceReason" column="REDUCE_REASON"/>
<result property="changeContractAndEmployee" column="CHANGE_CONTRACT_AND_EMPLOYEE"/>
</resultMap> </resultMap>
<!-- 合同审核导出 --> <!-- 合同审核导出 -->
...@@ -139,6 +140,7 @@ ...@@ -139,6 +140,7 @@
<result property="contractNo" column="CONTRACT_NO"/> <result property="contractNo" column="CONTRACT_NO"/>
<result property="workingHours" column="WORKING_HOURS"/> <result property="workingHours" column="WORKING_HOURS"/>
<result property="post" column="POST"/> <result property="post" column="POST"/>
<result property="remark" column="REMARK"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -200,6 +202,7 @@ ...@@ -200,6 +202,7 @@
a.AUDIT_TIME_LAST, a.AUDIT_TIME_LAST,
a.TYPE, a.TYPE,
a.LEAVE_DATE, a.LEAVE_DATE,
a.AUDIT_USER_NAME,
a.REDUCE_REASON,a.type a.REDUCE_REASON,a.type
</sql> </sql>
...@@ -210,6 +213,7 @@ ...@@ -210,6 +213,7 @@
a.EMP_NO, a.EMP_NO,
a.EMP_NAME, a.EMP_NAME,
a.EMP_IDCARD, a.EMP_IDCARD,
a.AUDIT_USER_NAME,
a.CONTRACT_START, a.CONTRACT_START,
a.CONTRACT_END, a.CONTRACT_END,
a.FILE_PROVINCE, a.FILE_PROVINCE,
...@@ -225,6 +229,7 @@ ...@@ -225,6 +229,7 @@
a.CONTRACT_PARTY, a.CONTRACT_PARTY,
a.SUBJECT_UNIT, a.SUBJECT_UNIT,
a.AUDIT_STATUS, a.AUDIT_STATUS,
b.REMARK,
a.IN_USE, a.IN_USE,
if(a.IS_FILE = 0,'有附件','无附件') FILES, if(a.IS_FILE = 0,'有附件','无附件') FILES,
a.IS_FILE, a.IS_FILE,
...@@ -470,6 +475,7 @@ ...@@ -470,6 +475,7 @@
a.EMP_IDCARD, a.EMP_IDCARD,
a.CONTRACT_START, a.CONTRACT_START,
a.CONTRACT_END, a.CONTRACT_END,
a.AUDIT_USER_NAME,
a1.AREA_NAME as "FILE_PROVINCE", a1.AREA_NAME as "FILE_PROVINCE",
a2.AREA_NAME as "FILE_CITY", a2.AREA_NAME as "FILE_CITY",
a3.AREA_NAME as "FILE_TOWN", a3.AREA_NAME as "FILE_TOWN",
...@@ -503,11 +509,13 @@ ...@@ -503,11 +509,13 @@
WHEN a.type =3 THEN "派减-作废" WHEN a.type =3 THEN "派减-作废"
WHEN a.type =4 THEN "派减-终止" WHEN a.type =4 THEN "派减-终止"
ELSE a.type END as "type", ELSE a.type END as "type",
b.REMARK,
a.CREATE_TIME a.CREATE_TIME
FROM t_employee_contract_info a FROM t_employee_contract_info a
LEFT JOIN sys_area a1 on a1.id=a.FILE_PROVINCE LEFT JOIN sys_area a1 on a1.id=a.FILE_PROVINCE
LEFT JOIN sys_area a2 on a2.id=a.FILE_CITY LEFT JOIN sys_area a2 on a2.id=a.FILE_CITY
LEFT JOIN sys_area a3 on a3.id=a.FILE_TOWN LEFT JOIN sys_area a3 on a3.id=a.FILE_TOWN
left join (select REMARK,LINK_ID from t_employee_contract_audit where ROOT_NAME='合同审核') b on a.ID=b.LINK_ID
<where> <where>
a.DELETE_FLAG = 0 a.DELETE_FLAG = 0
<include refid="tEmployeeContractInfo_where"/> <include refid="tEmployeeContractInfo_where"/>
...@@ -644,8 +652,11 @@ ...@@ -644,8 +652,11 @@
a.TYPE, a.TYPE,
a.LEAVE_DATE, a.LEAVE_DATE,
a.CONTRACT_NO, a.CONTRACT_NO,
a.REDUCE_REASON a.REDUCE_REASON,
b.REMARK
FROM t_employee_contract_info a FROM t_employee_contract_info a
left join (select REMARK,LINK_ID from t_employee_contract_audit where ROOT_NAME='合同审核') b on a.ID=b.LINK_ID
<where> <where>
a.DELETE_FLAG = 0 a.DELETE_FLAG = 0
<include refid="tEmployeeContractInfo_where"/> <include refid="tEmployeeContractInfo_where"/>
......
...@@ -873,7 +873,7 @@ ...@@ -873,7 +873,7 @@
select select
a.ID,a.EMP_CODE,a.EMP_NAME, a.ID,a.EMP_CODE,a.EMP_NAME,
a.EMP_IDCARD,a.EMP_NATIONAL,a.EMP_PHONE,a.ID_PROVINCE,a.ID_CITY, a.EMP_IDCARD,a.EMP_NATIONAL,a.EMP_PHONE,a.ID_PROVINCE,a.ID_CITY,
a.ID_TOWN,a.EMP_REGIS_TYPE,a.FILE_PROVINCE,a.FILE_CITY,a.FILE_TOWN,a.HIGN_EDUCATION,a.FILE_STATUS, a.ID_TOWN,a.EMP_REGIS_TYPE,a.FILE_PROVINCE,a.FILE_CITY,a.FILE_TOWN,a.HIGN_EDUCATION,a.FILE_STATUS,a.CONTACT_ADDRESS,
b.CONTRACT_NAME,b.CONTRACT_TYPE, b.CONTRACT_NAME,b.CONTRACT_TYPE,
b.CONTRACT_START,b.CONTRACT_END,b.CONTRACT_TERM,b.CONTRACT_SUB_NAME,b.CONTRACT_ID, b.CONTRACT_START,b.CONTRACT_END,b.CONTRACT_TERM,b.CONTRACT_SUB_NAME,b.CONTRACT_ID,
...@@ -882,7 +882,7 @@ ...@@ -882,7 +882,7 @@
c.UNIT_NO,c.DEPT_ID,c.DEPT_NAME,c.DEPT_NO,c.POST,c.EMP_NO,c.PROJECT_STATUS,c.EMP_NATRUE c.UNIT_NO,c.DEPT_ID,c.DEPT_NAME,c.DEPT_NO,c.POST,c.EMP_NO,c.PROJECT_STATUS,c.EMP_NATRUE
from ( from (
select e.ID,e.EMP_CODE,e.EMP_NAME,e.EMP_IDCARD,e.EMP_NATIONAL,e.EMP_PHONE,e.ID_PROVINCE,e.ID_CITY, select e.ID,e.EMP_CODE,e.EMP_NAME,e.EMP_IDCARD,e.EMP_NATIONAL,e.EMP_PHONE,e.ID_PROVINCE,e.ID_CITY,
e.ID_TOWN,e.EMP_REGIS_TYPE,e.FILE_PROVINCE,e.FILE_CITY,e.FILE_TOWN,e.HIGN_EDUCATION,e.FILE_STATUS e.ID_TOWN,e.EMP_REGIS_TYPE,e.FILE_PROVINCE,e.FILE_CITY,e.FILE_TOWN,e.HIGN_EDUCATION,e.FILE_STATUS,e.CONTACT_ADDRESS
from t_employee_info e from t_employee_info e
where 1=1 and e.DELETE_FLAG = '0' where 1=1 and e.DELETE_FLAG = '0'
<if test="checkVo != null"> <if test="checkVo != null">
...@@ -1139,6 +1139,9 @@ ...@@ -1139,6 +1139,9 @@
<if test="tEmployeeInfo.id != null">a.id=a.id,</if> <if test="tEmployeeInfo.id != null">a.id=a.id,</if>
<if test="tEmployeeInfo.socialStatus != null">SOCIAL_STATUS=#{tEmployeeInfo.socialStatus},</if> <if test="tEmployeeInfo.socialStatus != null">SOCIAL_STATUS=#{tEmployeeInfo.socialStatus},</if>
<if test="tEmployeeInfo.fundStatus != null">FUND_STATUS=#{tEmployeeInfo.fundStatus},</if> <if test="tEmployeeInfo.fundStatus != null">FUND_STATUS=#{tEmployeeInfo.fundStatus},</if>
<if test="tEmployeeInfo.hignEducation != null">HIGN_EDUCATION=#{tEmployeeInfo.hignEducation},</if>
<if test="tEmployeeInfo.contactAddress != null">CONTACT_ADDRESS=#{tEmployeeInfo.contactAddress},</if>
<if test="tEmployeeInfo.isCollege != null">IS_COLLEGE='1',</if>
<if test="tEmployeeInfo.fileProvince != null">a.FILE_PROVINCE=#{tEmployeeInfo.fileProvince},</if> <if test="tEmployeeInfo.fileProvince != null">a.FILE_PROVINCE=#{tEmployeeInfo.fileProvince},</if>
<if test="tEmployeeInfo.fileCity != null">a.FILE_CITY=#{tEmployeeInfo.fileCity},</if> <if test="tEmployeeInfo.fileCity != null">a.FILE_CITY=#{tEmployeeInfo.fileCity},</if>
<if test="tEmployeeInfo.fileCity != null"> <if test="tEmployeeInfo.fileCity != null">
......
...@@ -90,6 +90,8 @@ ...@@ -90,6 +90,8 @@
<result property="riskServerItem" column="RISK_SERVER_ITEM"/> <result property="riskServerItem" column="RISK_SERVER_ITEM"/>
<result property="unitSeriousIllnessProp" column="UNIT_SERIOUS_ILLNESS_PROP"/> <result property="unitSeriousIllnessProp" column="UNIT_SERIOUS_ILLNESS_PROP"/>
<result property="bpoFlag" column="BPO_FLAG"/> <result property="bpoFlag" column="BPO_FLAG"/>
<result property="buBelong" column="BU_BELONG"/>
<result property="lineType" column="LINE_TYPE"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -163,7 +165,9 @@ ...@@ -163,7 +165,9 @@
a.MANAGE_SERVER_ITEM, a.MANAGE_SERVER_ITEM,
a.RISK_SERVER_ITEM, a.RISK_SERVER_ITEM,
a.UNIT_SERIOUS_ILLNESS_PROP, a.UNIT_SERIOUS_ILLNESS_PROP,
a.BPO_FLAG a.BPO_FLAG,
a.BU_BELONG,
a.LINE_TYPE
</sql> </sql>
<resultMap id="tSettleDomainSelectVoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo"> <resultMap id="tSettleDomainSelectVoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo">
...@@ -217,6 +221,12 @@ ...@@ -217,6 +221,12 @@
<if test="tSettleDomain.stopFlag != null and tSettleDomain.stopFlag.trim() != '' and tSettleDomain.stopFlag == 1"> <if test="tSettleDomain.stopFlag != null and tSettleDomain.stopFlag.trim() != '' and tSettleDomain.stopFlag == 1">
and (a.STOP_FLAG = '1' or a.STOP_FLAG = '2') and (a.STOP_FLAG = '1' or a.STOP_FLAG = '2')
</if> </if>
<if test="tSettleDomain.lineType != null and tSettleDomain.lineType.trim() != ''">
and a.LINE_TYPE = #{tSettleDomain.lineType}
</if>
<if test="tSettleDomain.buBelong != null and tSettleDomain.buBelong.trim() != ''">
and a.BU_BELONG = #{tSettleDomain.buBelong}
</if>
</if> </if>
order by CREATE_TIME desc order by CREATE_TIME desc
</select> </select>
......
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TWorkHandlerInfoMapper">
<resultMap id="tWorkHandlerInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TWorkHandlerInfo">
<id property="id" column="ID"/>
<result property="departNo" column="DEPART_NO"/>
<result property="departName" column="DEPART_NAME"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="deleteFlag" column="DELETE_FLAG"/>
<result property="infoFrom" column="INFO_FROM"/>
<result property="operUser" column="OPER_USER"/>
<result property="operTime" column="OPER_TIME"/>
<result property="operResult" column="OPER_RESULT"/>
<result property="operInfo" column="OPER_INFO"/>
<result property="reason" column="REASON"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.DEPART_NO,
a.DEPART_NAME,
a.EMP_NAME,
a.EMP_IDCARD,
a.DELETE_FLAG,
a.INFO_FROM,
a.OPER_USER,
a.OPER_TIME,
a.OPER_RESULT,
a.OPER_INFO,
a.REASON
</sql>
<resultMap id="tWorkHandlerInfoVoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.TWorkHandlerInfoVo">
<result property="departNo" column="DEPART_NO"/>
<result property="departName" column="DEPART_NAME"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="infoFrom" column="INFO_FROM"/>
<result property="operUser" column="OPER_USER"/>
<result property="operTime" column="OPER_TIME"/>
<result property="operResult" column="OPER_RESULT"/>
<result property="operInfo" column="OPER_INFO"/>
<result property="reason" column="REASON"/>
</resultMap>
<sql id="tWorkHandlerInfo_where">
<if test="tWorkHandlerInfo != null">
<if test="tWorkHandlerInfo.departNo != null and tWorkHandlerInfo.departNo.trim() != ''">
AND a.DEPART_NO = #{tWorkHandlerInfo.departNo}
</if>
<if test="tWorkHandlerInfo.departName != null and tWorkHandlerInfo.departName.trim() != ''">
AND a.DEPART_NAME = #{tWorkHandlerInfo.departName}
</if>
<if test="tWorkHandlerInfo.empName != null and tWorkHandlerInfo.empName.trim() != ''">
AND a.EMP_NAME like concat('%', #{tWorkHandlerInfo.empName} ,'%')
</if>
<if test="tWorkHandlerInfo.empIdcard != null and tWorkHandlerInfo.empIdcard.trim() != ''">
AND a.EMP_IDCARD like concat('%', #{tWorkHandlerInfo.empIdcard} ,'%')
</if>
<if test="tWorkHandlerInfo.infoFrom != null and tWorkHandlerInfo.infoFrom.trim() != ''">
AND a.INFO_FROM = #{tWorkHandlerInfo.infoFrom}
</if>
<if test="tWorkHandlerInfo.operUser != null and tWorkHandlerInfo.operUser.trim() != ''">
AND a.OPER_USER like concat('%', #{tWorkHandlerInfo.operUser} ,'%')
</if>
<if test="tWorkHandlerInfo.startTime != null and tWorkHandlerInfo.startTime.trim() != '' ">
AND a.OPER_TIME <![CDATA[ >= ]]> concat(#{tWorkHandlerInfo.startTime}, ' 00:00:00')
</if>
<if test="tWorkHandlerInfo.endTime != null and tWorkHandlerInfo.endTime.trim() != '' ">
AND a.OPER_TIME <![CDATA[ <= ]]> concat(#{tWorkHandlerInfo.endTime}, ' 23:59:59')
</if>
<if test="tWorkHandlerInfo.operResult != null and tWorkHandlerInfo.operResult.trim() != ''">
AND a.OPER_RESULT = #{tWorkHandlerInfo.operResult}
</if>
</if>
</sql>
<!--tWorkHandlerInfo简单分页查询-->
<select id="getTWorkHandlerInfoPage" resultMap="tWorkHandlerInfoMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_work_handler_info a
<where>
1=1
<include refid="tWorkHandlerInfo_where"/>
</where>
order by a.OPER_TIME desc
</select>
<select id="noPageCountDiy" resultType="java.lang.Integer">
SELECT
count(1)
FROM t_work_handler_info a
<where>
1=1
<include refid="tWorkHandlerInfo_where"/>
</where>
</select>
<select id="noPageDiy" resultMap="tWorkHandlerInfoVoMap">
SELECT
a.DEPART_NO,
a.DEPART_NAME,
a.EMP_NAME,
a.EMP_IDCARD,
a.INFO_FROM,
a.OPER_USER,
a.OPER_TIME,
CASE WHEN a.OPER_RESULT=0 THEN "未执行"
WHEN a.OPER_RESULT =1 THEN "部分成功"
WHEN a.OPER_RESULT =2 THEN "全部成功"
ELSE a.OPER_RESULT END as "OPER_RESULT",
a.OPER_INFO,
a.REASON
FROM t_work_handler_info a
<where>
1=1
<include refid="tWorkHandlerInfo_where"/>
</where>
order by a.OPER_TIME desc
limit #{tWorkHandlerInfo.limitStart},#{tWorkHandlerInfo.limitEnd}
</select>
</mapper>
\ No newline at end of file
...@@ -165,6 +165,11 @@ public interface CommonConstants { ...@@ -165,6 +165,11 @@ public interface CommonConstants {
*/ */
int TEN_THOUSAND_INT = 10000; int TEN_THOUSAND_INT = 10000;
/**
* number 1000
*/
int ONE_THOUSAND_INT = 1000;
/** /**
* number 1 * number 1
*/ */
......
...@@ -457,6 +457,30 @@ public interface ErrorCodes { ...@@ -457,6 +457,30 @@ public interface ErrorCodes {
* 派增异常: 社保派单基数不可小于最低基数且不可大于最高基数 * 派增异常: 社保派单基数不可小于最低基数且不可大于最高基数
*/ */
String EMP_DISPATCH_SOCIAL_LIMIT_ERROR = "emp.dispatch.social.limit.error"; String EMP_DISPATCH_SOCIAL_LIMIT_ERROR = "emp.dispatch.social.limit.error";
/**
* 派增异常: 社保派单养老基数不可小于最低基数且不可大于最高基数
*/
String YL_DISPATCH_SOCIAL_LIMIT_ERROR = "yl.dispatch.social.limit.error";
/**
* 派增异常: 社保派单医疗基数不可小于最低基数且不可大于最高基数
*/
String YB_DISPATCH_SOCIAL_LIMIT_ERROR = "yb.dispatch.social.limit.error";
/**
* 派增异常: 社保派单工伤基数不可小于最低基数且不可大于最高基数
*/
String GS_DISPATCH_SOCIAL_LIMIT_ERROR = "gs.dispatch.social.limit.error";
/**
* 派增异常: 社保派单失业基数不可小于最低基数且不可大于最高基数
*/
String SY_DISPATCH_SOCIAL_LIMIT_ERROR = "sy.dispatch.social.limit.error";
/**
* 派增异常: 社保派单生育基数不可小于最低基数且不可大于最高基数
*/
String BIR_DISPATCH_SOCIAL_LIMIT_ERROR = "bir.dispatch.social.limit.error";
/**
* 派增异常: 社保派单大病基数不可小于最低基数且不可大于最高基数
*/
String DB_DISPATCH_SOCIAL_LIMIT_ERROR = "db.dispatch.social.limit.error";
/** /**
* 派增异常: 公积金派单基数不可小于最低基数且不可大于最高基数 * 派增异常: 公积金派单基数不可小于最低基数且不可大于最高基数
*/ */
...@@ -571,4 +595,12 @@ public interface ErrorCodes { ...@@ -571,4 +595,12 @@ public interface ErrorCodes {
* 社保办理:该数据已处理,请勿重复操作 * 社保办理:该数据已处理,请勿重复操作
*/ */
String SOCIAL_IMPORT_SAME_INFO = "social.import.same.info"; String SOCIAL_IMPORT_SAME_INFO = "social.import.same.info";
/**
* 单减社保,存在正常/审批中的公积金,禁止“同步终止合同、减项、减档”
*/
String EMP_DISPATCH_FUND_NOT_EMPTY_CHANGE = "emp.dispatch.fund.not.empty.change";
/**
* 派减异常: 单减公积金,是否同步终止合同、减项、减档不能为是
*/
String EMP_DISPATCH_FUND_NOT_EMPTY_SIGNLE = "emp.dispatch.fund.not.empty.signle";
} }
...@@ -523,7 +523,7 @@ public class Common { ...@@ -523,7 +523,7 @@ public class Common {
* @param null * @param null
* @return * @return
**/ **/
private static final String insuranceSuffixList = "pdf|png|jpg|doc|docx|xls|xlsx|rar|zip|txt"; private static final String insuranceSuffixList = "pdf|png|jpg|doc|docx|xls|xlsx|rar|zip|txt|jpeg";
/** /**
* 判断是否为允许的上传文件类型,true表示允许 * 判断是否为允许的上传文件类型,true表示允许
......
...@@ -166,7 +166,12 @@ emp.dispatch.emp.project.not.used=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5BF9\u5E94\u9 ...@@ -166,7 +166,12 @@ emp.dispatch.emp.project.not.used=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5BF9\u5E94\u9
emp.dispatch.emp.not.used=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5BF9\u5E94\u8EAB\u4EFD\u8BC1\u7684\u4EBA\u5458\u6863\u6848\u5DF2\u51CF\u6863\uFF0C\u8BF7\u53BB\u4EBA\u5458\u6863\u6848\u5904\u590D\u6863 emp.dispatch.emp.not.used=\u6D3E\u589E\u5F02\u5E38\uFF1A \u5BF9\u5E94\u8EAB\u4EFD\u8BC1\u7684\u4EBA\u5458\u6863\u6848\u5DF2\u51CF\u6863\uFF0C\u8BF7\u53BB\u4EBA\u5458\u6863\u6848\u5904\u590D\u6863
emp.dispatch.social.limit.error=\u6D3E\u589E\u5F02\u5E38\uFF1A \u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u6700\u9AD8\u57FA\u6570 yl.dispatch.social.limit.error=\u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u517B\u8001\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u517B\u8001\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u517B\u8001\u6700\u9AD8\u57FA\u6570
yb.dispatch.social.limit.error=\u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u533B\u7597\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u533B\u7597\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u533B\u7597\u6700\u9AD8\u57FA\u6570
gs.dispatch.social.limit.error=\u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u5DE5\u4F24\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u5DE5\u4F24\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u5DE5\u4F24\u6700\u9AD8\u57FA\u6570
sy.dispatch.social.limit.error=\u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u5931\u4E1A\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u5931\u4E1A\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u5931\u4E1A\u6700\u9AD8\u57FA\u6570
bir.dispatch.social.limit.error=\u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u751F\u80B2\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u751F\u80B2\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u751F\u80B2\u6700\u9AD8\u57FA\u6570
db.dispatch.social.limit.error=\u793E\u4FDD\u201C\u7F34\u7EB3\u7C7B\u578B\u201D\u4E3A\u201C\u81EA\u5B9A\u4E49\u201D\u65F6\uFF0C\u5927\u75C5\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u793E\u4FDD\u6237\u7684\u5927\u75C5\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u5927\u75C5\u6700\u9AD8\u57FA\u6570
emp.dispatch.fund.limit.error=\u6D3E\u589E\u5F02\u5E38\uFF1A \u516C\u79EF\u91D1\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u516C\u79EF\u91D1\u6237\u7684\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u6700\u9AD8\u57FA\u6570 emp.dispatch.fund.limit.error=\u6D3E\u589E\u5F02\u5E38\uFF1A \u516C\u79EF\u91D1\u8D2D\u4E70\u57FA\u6570\u9700\u2265\u8BE5\u516C\u79EF\u91D1\u6237\u7684\u6700\u4F4E\u57FA\u6570\uFF0C\u4E14\u2264\u6700\u9AD8\u57FA\u6570
...@@ -223,6 +228,9 @@ social_import_handle_not_empty=\u793E\u4FDD\u529E\u7406\u5931\u8D25\uFF0C\u5FC5\ ...@@ -223,6 +228,9 @@ social_import_handle_not_empty=\u793E\u4FDD\u529E\u7406\u5931\u8D25\uFF0C\u5FC5\
social.import.handle.not.exits=\u65E0\u529E\u7406\u6743\u9650\u6216\u65E0\u53EF\u9700\u8981\u529E\u7406\u7684\u793E\u4FDD\u6570\u636E social.import.handle.not.exits=\u65E0\u529E\u7406\u6743\u9650\u6216\u65E0\u53EF\u9700\u8981\u529E\u7406\u7684\u793E\u4FDD\u6570\u636E
social.import.same.info=\u8BE5\u6570\u636E\u5DF2\u5904\u7406\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C social.import.same.info=\u8BE5\u6570\u636E\u5DF2\u5904\u7406\uFF0C\u8BF7\u52FF\u91CD\u590D\u64CD\u4F5C
emp.dispatch.fund.not.empty.change=\u5355\u51CF\u793E\u4FDD\uFF0C\u5B58\u5728\u6B63\u5E38/\u5BA1\u6279\u4E2D\u7684\u516C\u79EF\u91D1\uFF0C\u7981\u6B62\u201C\u540C\u6B65\u7EC8\u6B62\u5408\u540C\u3001\u51CF\u9879\u3001\u51CF\u6863\u201D
emp.dispatch.fund.not.empty.signle=\u5355\u51CF\u516C\u79EF\u91D1\uFF0C\u662F\u5426\u540C\u6B65\u7EC8\u6B62\u5408\u540C\u3001\u51CF\u9879\u3001\u51CF\u6863\u4E0D\u80FD\u4E3A\u662F
......
...@@ -281,7 +281,7 @@ public class ArchivesDaprUtil { ...@@ -281,7 +281,7 @@ public class ArchivesDaprUtil {
* @Param type 0 审核通过 1 审核不通过 * @Param type 0 审核通过 1 审核不通过
* @return * @return
**/ **/
public R<Boolean> updateEmpInfo(String empIdCard, String projectNo, String contractId,String type,String remarkTemp, YifuUser user){ public R<Boolean> updateEmpInfo(String empIdCard,String contactAddress, String projectNo, String contractId,String type,String remarkTemp, YifuUser user){
if (Common.isEmpty(empIdCard) if (Common.isEmpty(empIdCard)
|| Common.isEmpty(projectNo) || Common.isEmpty(projectNo)
|| Common.isEmpty(type)){ || Common.isEmpty(type)){
...@@ -295,6 +295,7 @@ public class ArchivesDaprUtil { ...@@ -295,6 +295,7 @@ public class ArchivesDaprUtil {
vo.setType(type); vo.setType(type);
vo.setCreateBy(user.getId()); vo.setCreateBy(user.getId());
vo.setCreateName(user.getNickname()); vo.setCreateName(user.getNickname());
vo.setContactAddress(contactAddress);
R<Boolean> res = HttpDaprUtil.invokeMethodPost( R<Boolean> res = HttpDaprUtil.invokeMethodPost(
daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId() daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/temployeeinfo/inner/updateEmpInfo" , JSON.toJSONString(vo), Boolean.class, SecurityConstants.FROM_IN); ,"/temployeeinfo/inner/updateEmpInfo" , JSON.toJSONString(vo), Boolean.class, SecurityConstants.FROM_IN);
...@@ -428,6 +429,21 @@ public class ArchivesDaprUtil { ...@@ -428,6 +429,21 @@ public class ArchivesDaprUtil {
return res; return res;
} }
public R<Boolean> insertWorkHandler(InsertWorkHandlerVo vo){
if (Common.isEmpty(vo.getDetailId())
|| Common.isEmpty(vo.getEmpIdcard())
|| Common.isEmpty(vo.getDepartNo())){
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
R<Boolean> res = HttpDaprUtil.invokeMethodPost(
daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId()
,"/tworkhandlerinfo/inner/insertWorkHandler" , JSON.toJSONString(vo), Boolean.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("增加任务处理情况查询表数据失败!");
}
return res;
}
/** /**
* @Description: 更新项目档案的商险状态。商险的status 0无2正常3失效4处理中 * @Description: 更新项目档案的商险状态。商险的status 0无2正常3失效4处理中
* @Author: hgw * @Author: hgw
......
...@@ -60,4 +60,12 @@ public class ArchiveTask { ...@@ -60,4 +60,12 @@ public class ArchiveTask {
SecurityConstants.FROM_IN); SecurityConstants.FROM_IN);
log.info("-------------每日凌晨1点人员退休提醒-定时任务开始------------"); log.info("-------------每日凌晨1点人员退休提醒-定时任务开始------------");
} }
public void everyMonthUpdateRoster() {
log.info("-------------每月26号更新人员花名册-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(), daprArchivesProperties.getAppId(),
"/tpersonnelroster/inner/everyMonthUpdateRoster", "", Object.class,
SecurityConstants.FROM_IN);
log.info("-------------每月26号更新人员花名册-定时任务开始------------");
}
} }
\ No newline at end of file
...@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.salary.entity; ...@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.salary.entity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle; import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; 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.core.constant.ExcelAttribute;
...@@ -139,4 +140,30 @@ public class TConfigSalary extends BaseEntity implements Serializable { ...@@ -139,4 +140,30 @@ public class TConfigSalary extends BaseEntity implements Serializable {
@ExcelProperty(value="收入月份") @ExcelProperty(value="收入月份")
private Integer incomeMonth; private Integer incomeMonth;
/**
* 月均发薪次数
*/
@NotNull(message = "月均发薪次数不能为空")
@ExcelAttribute(name = "月均发薪次数", isNotEmpty = true,errorInfo = "月均发薪次数不能为空" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty(value="月均发薪次数")
private Integer salaryNum;
/**
* @Description: 本结算月发薪次数:0:可以提交; 其他:不可提交
* @Author: hgw
* @Date: 2023/6/25 17:45
* @return:
**/
@TableField(exist = false)
private Integer nowMonthSalaryNum = 0;
/**
* @Description: 本结算年未提交的发薪次数:0:可以提交; 其他:提交时二次确认
* @Author: hgw
* @Date: 2023/6/25 17:45
* @return:
**/
@TableField(exist = false)
private Integer nowYearSalaryNum = 0;
} }
...@@ -452,6 +452,13 @@ public class TSalaryStandard extends BaseEntity { ...@@ -452,6 +452,13 @@ public class TSalaryStandard extends BaseEntity {
@Schema(description = "收入月份") @Schema(description = "收入月份")
private String incomeMonth; private String incomeMonth;
@Schema(description = "配置ID")
private String setId;
@Schema(description = "删除人(汉字名)")
private String deleteUser;
@Schema(description = "删除时间")
private Date deleteDate;
/** /**
* 工资月份-起 * 工资月份-起
*/ */
......
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Author fxj
* @Date 2023/6/26
* @Description
* @Version 1.0
*/
@Data
public class SalaryEmpRosterRes implements Serializable {
private List<TSalaryEmpRosterVo> rosterVos;
}
package com.yifu.cloud.plus.v1.yifu.salary.vo;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @Author fxj
* @Description 人员花名册 信息
* @Date 11:58 2023/6/19
* @Param
* @return
**/
@Data
public class TSalaryEmpRosterVo implements Serializable {
/**
* 身份证号
*/
private String empIdcard;
/**
* 开户行总行
*/
private String bankName;
/**
* 开户行省
*/
private String bankProvince;
/**
* 开户行市
*/
private String bankCity;
/**
* 开户行支行
*/
private String bankSubName;
/**
* 银行卡号
*/
private String bankNo;
}
package com.yifu.cloud.plus.v1.yifu.salary.controller; package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; 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.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary; import com.yifu.cloud.plus.v1.yifu.salary.entity.TConfigSalary;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryStandardMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TConfigSalaryService; import com.yifu.cloud.plus.v1.yifu.salary.service.TConfigSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService;
import com.yifu.cloud.plus.v1.yifu.salary.util.SalaryConstants; import com.yifu.cloud.plus.v1.yifu.salary.util.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Date;
import java.util.List; import java.util.List;
...@@ -38,6 +46,8 @@ import java.util.List; ...@@ -38,6 +46,8 @@ import java.util.List;
public class TConfigSalaryController { public class TConfigSalaryController {
private final TConfigSalaryService tConfigSalaryService; private final TConfigSalaryService tConfigSalaryService;
private final TSalaryStandardService tSalaryStandardService;
private final TSalaryStandardMapper tSalaryStandardMapper;
private final MenuUtil menuUtil; private final MenuUtil menuUtil;
/** /**
* @param settleDepart 结算主体id * @param settleDepart 结算主体id
...@@ -56,6 +66,20 @@ public class TConfigSalaryController { ...@@ -56,6 +66,20 @@ public class TConfigSalaryController {
QueryWrapper<TConfigSalary> queryWrapperCs = new QueryWrapper<>(); QueryWrapper<TConfigSalary> queryWrapperCs = new QueryWrapper<>();
queryWrapperCs.setEntity(configSalary); queryWrapperCs.setEntity(configSalary);
List<TConfigSalary> configSalaryList = tConfigSalaryService.list(queryWrapperCs); List<TConfigSalary> configSalaryList = tConfigSalaryService.list(queryWrapperCs);
if (configSalaryList != null && !configSalaryList.isEmpty()) {
String nowMonth = DateUtil.addMonth(0);
String nowYear = DateUtil.getYear(new Date());
// 当前年 未推送或未发放的 发薪次数
int yearCount = tSalaryStandardService.getNum(settleDepart, null,null, nowYear);
int monthCount; // 当前月 发薪次数
for (TConfigSalary cs : configSalaryList) {
monthCount = tSalaryStandardService.getNum(settleDepart, cs.getId(), nowMonth, null);
if (cs.getSalaryNum() <= monthCount) {
cs.setNowMonthSalaryNum(monthCount);
}
cs.setNowYearSalaryNum(yearCount);
}
}
return new R<>(configSalaryList); return new R<>(configSalaryList);
} }
......
...@@ -26,13 +26,11 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R; ...@@ -26,13 +26,11 @@ 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.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.MenuUtil;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog; import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmployeeService; import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryEmployeeService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryEmployeeImportVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.*;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeEkpUpdateVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
...@@ -210,5 +208,19 @@ public class TSalaryEmployeeController { ...@@ -210,5 +208,19 @@ public class TSalaryEmployeeController {
public R updateEmployeeFromEkp(TSalaryEmployeeEkpUpdateVo vo) { public R updateEmployeeFromEkp(TSalaryEmployeeEkpUpdateVo vo) {
return tSalaryEmployeeService.updateEmployeeFromEkp(vo); return tSalaryEmployeeService.updateEmployeeFromEkp(vo);
} }
/**
* @Author fxj
* @Description 获取员工花名册信息信息
* @Date 10:57 2023/6/19
* @Param
* @return
**/
@Operation(summary = "获取员工花名册信息信息", description = "获取员工花名册信息信息")
@Inner
@PostMapping("/getSalaryEmpRoster")
public SalaryEmpRosterRes getSalaryEmpRoster(@RequestBody List<String> idCardList) {
SalaryEmpRosterRes res = new SalaryEmpRosterRes();
res.setRosterVos(tSalaryEmployeeService.getSalaryEmpRoster(idCardList));
return res;
}
} }
...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpRosterVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -48,4 +49,6 @@ public interface TSalaryEmployeeMapper extends BaseMapper<TSalaryEmployee> { ...@@ -48,4 +49,6 @@ public interface TSalaryEmployeeMapper extends BaseMapper<TSalaryEmployee> {
List<TSalaryEmployee> getListByIdCard(@Param("idCardList") List<String> idCardList); List<TSalaryEmployee> getListByIdCard(@Param("idCardList") List<String> idCardList);
TSalaryEmployee getByEmpIdCard(@Param("empIdCard") String empIdCard); TSalaryEmployee getByEmpIdCard(@Param("empIdCard") String empIdCard);
List<TSalaryEmpRosterVo> getSalaryEmpRoster(@Param("idCards") List<String> idCardList);
} }
...@@ -62,4 +62,15 @@ public interface TSalaryStandardMapper extends BaseMapper<TSalaryStandard> { ...@@ -62,4 +62,15 @@ public interface TSalaryStandardMapper extends BaseMapper<TSalaryStandard> {
* @return: java.lang.String * @return: java.lang.String
**/ **/
String getMaxSalaryCode(); String getMaxSalaryCode();
/**
* @param deptId 项目id
* @param settleMonth 结算月
* @param nowYear 当前结算年
* @Description: 获取薪资条数
* @Author: hgw
* @Date: 2023/6/25 18:04
* @return: int
**/
int getNum(@Param("deptId") String deptId, @Param("setId") String setId, @Param("settleMonth") String settleMonth, @Param("nowYear") String nowYear);
} }
...@@ -23,10 +23,7 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -23,10 +23,7 @@ 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.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee; import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryEmployee;
import com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryEmployeeImportVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.*;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeEkpUpdateVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeExportVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmployeeSearchVo;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream; import java.io.InputStream;
...@@ -121,4 +118,6 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> { ...@@ -121,4 +118,6 @@ public interface TSalaryEmployeeService extends IService<TSalaryEmployee> {
* @return {@link R} * @return {@link R}
**/ **/
R updateEmployeeFromEkp(TSalaryEmployeeEkpUpdateVo vo); R updateEmployeeFromEkp(TSalaryEmployeeEkpUpdateVo vo);
List<TSalaryEmpRosterVo> getSalaryEmpRoster(List<String> idCardList);
} }
...@@ -133,4 +133,15 @@ public interface TSalaryStandardService extends IService<TSalaryStandard> { ...@@ -133,4 +133,15 @@ public interface TSalaryStandardService extends IService<TSalaryStandard> {
**/ **/
R<String> doIncome(TSalaryStandard tSalaryStandard); R<String> doIncome(TSalaryStandard tSalaryStandard);
/**
* @param deptId 项目id
* @param settleMonth 结算月
* @param nowYear 当前结算年
* @Description: 获取薪资条数
* @Author: hgw
* @Date: 2023/6/25 18:04
* @return: int
**/
int getNum(String deptId, String setId, String settleMonth, String nowYear);
} }
...@@ -293,10 +293,12 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper, ...@@ -293,10 +293,12 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
//s.setSettlementAmount() //s.setSettlementAmount()
s.setStatus(SalaryConstants.AUDIT_STATUS[0]); s.setStatus(SalaryConstants.AUDIT_STATUS[0]);
s.setBpoFlag(dept.getBpoFlag()); s.setBpoFlag(dept.getBpoFlag());
if (configSalary != null && Common.isNotNull(configSalary.getIncomeMonth())) { s.setIncomeMonth(sav.getSalaryMonth());
s.setIncomeMonth(DateUtil.addMonth(configSalary.getIncomeMonth())); if (configSalary != null) {
} else { s.setSetId(configSalary.getId());
s.setIncomeMonth(sav.getSalaryMonth()); if (Common.isNotNull(configSalary.getIncomeMonth())) {
s.setIncomeMonth(DateUtil.addMonth(configSalary.getIncomeMonth()));
}
} }
} }
return new R<>(s); return new R<>(s);
......
...@@ -910,4 +910,18 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe ...@@ -910,4 +910,18 @@ public class TSalaryEmployeeServiceImpl extends ServiceImpl<TSalaryEmployeeMappe
} }
return R.ok(); return R.ok();
} }
/**
* @Author fxj
* @Description 获取员工花名册信息信息
* @Date 12:08 2023/6/19
* @Param
* @return
**/
@Override
public List<TSalaryEmpRosterVo> getSalaryEmpRoster(List<String> idCardList){
if (Common.isNotNull(idCardList)){
return baseMapper.getSalaryEmpRoster(idCardList);
}
return null;
}
} }
...@@ -366,6 +366,8 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe ...@@ -366,6 +366,8 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
} }
} }
//6:删除工资表 //6:删除工资表
sf.setDeleteUser(user.getNickname());
sf.setDeleteDate(new Date());
sf.setDeleteFlag(SalaryConstants.DELETED); sf.setDeleteFlag(SalaryConstants.DELETED);
this.updateById(sf); this.updateById(sf);
return R.ok("级联删除工资表成功"); return R.ok("级联删除工资表成功");
...@@ -1065,4 +1067,18 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe ...@@ -1065,4 +1067,18 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
newAccount.setAnnualBonusTax(null); newAccount.setAnnualBonusTax(null);
} }
/**
* @param deptId 项目id
* @param settleMonth 结算月
* @param nowYear 当前结算年
* @Description: 获取薪资条数
* @Author: hgw
* @Date: 2023/6/25 18:04
* @return: int
**/
@Override
public int getNum(String deptId, String setId, String settleMonth, String nowYear) {
return baseMapper.getNum(deptId, setId, settleMonth, nowYear);
}
} }
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
, round(sum(a.RELAY_SALARY) / ifnull(count(DISTINCT a.SALARY_MONTH), 1), 2) AVERAGE_SALARY , round(sum(a.RELAY_SALARY) / ifnull(count(DISTINCT a.SALARY_MONTH), 1), 2) AVERAGE_SALARY
, DATE_FORMAT(now(), '%Y%m') CREATE_MONTH , DATE_FORMAT(now(), '%Y%m') CREATE_MONTH
from t_salary_account a from t_salary_account a
where a.SALARY_MONTH >= date_format(DATE_SUB(NOW(), INTERVAL 1 YEAR), '%Y%m') where a.DELETE_FLAG=0 and a.SALARY_MONTH >= date_format(DATE_SUB(NOW(), INTERVAL 1 YEAR), '%Y%m')
GROUP BY a.EMP_IDCARD GROUP BY a.EMP_IDCARD
</insert> </insert>
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<result property="socialPriority" column="SOCIAL_PRIORITY"/> <result property="socialPriority" column="SOCIAL_PRIORITY"/>
<result property="fundPriority" column="FUND_PRIORITY"/> <result property="fundPriority" column="FUND_PRIORITY"/>
<result property="grantType" column="GRANT_TYPE"/> <result property="grantType" column="GRANT_TYPE"/>
<result property="salaryNum" column="SALARY_NUM"/>
</resultMap> </resultMap>
<!--tConfigSalary简单分页查询--> <!--tConfigSalary简单分页查询-->
...@@ -31,7 +32,8 @@ ...@@ -31,7 +32,8 @@
FUND_MONTH, FUND_MONTH,
SOCIAL_PRIORITY, SOCIAL_PRIORITY,
FUND_PRIORITY, FUND_PRIORITY,
GRANT_TYPE GRANT_TYPE,
SALARY_NUM
FROM t_config_salary a FROM t_config_salary a
<where> <where>
1=1 1=1
...@@ -68,6 +70,9 @@ ...@@ -68,6 +70,9 @@
<if test="tConfigSalary.grantType != null "> <if test="tConfigSalary.grantType != null ">
AND GRANT_TYPE = #{tConfigSalary.grantType} AND GRANT_TYPE = #{tConfigSalary.grantType}
</if> </if>
<if test="tConfigSalary.salaryNum != null ">
AND SALARY_NUM = #{tConfigSalary.salaryNum}
</if>
<!--数据权限判断--> <!--数据权限判断-->
<if test="depatIds != null and depatIds.size() > 0"> <if test="depatIds != null and depatIds.size() > 0">
and DEPART_ID in and DEPART_ID in
......
...@@ -67,6 +67,14 @@ ...@@ -67,6 +67,14 @@
<result property="taxMonth" column="TAX_MONTH"/> <result property="taxMonth" column="TAX_MONTH"/>
<result property="fileStatus" column="FILE_STATUS"/> <result property="fileStatus" column="FILE_STATUS"/>
</resultMap> </resultMap>
<resultMap id="salaryEmpRosterMap" type="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpRosterVo">
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="bankName" column="BANK_NAME"/>
<result property="bankSubName" column="BANK_SUB_NAME"/>
<result property="bankNo" column="BANK_NO"/>
<result property="bankProvince" column="BANK_PROVINCE"/>
<result property="bankCity" column="BANK_CITY"/>
</resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
a.EMP_NAME, a.EMP_NAME,
...@@ -256,4 +264,20 @@ ...@@ -256,4 +264,20 @@
where a.EMP_IDCARD = #{empIdCard} where a.EMP_IDCARD = #{empIdCard}
ORDER BY a.BANK_CITY DESC LIMIT 1 ORDER BY a.BANK_CITY DESC LIMIT 1
</select> </select>
<!-- 人员花名册薪资信息 -->
<select id="getSalaryEmpRoster" resultMap="salaryEmpRosterMap" parameterType="com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryEmpRosterVo">
select a.EMP_IDCARD,BANK_NO,BANK_NAME,BANK_SUB_NAME,a.BANK_PROVINCE,a.BANK_CITY from t_salary_employee a
LEFT JOIN sys_area a1 on a.BANK_PROVINCE=a1.id
LEFT JOIN sys_area a2 on a.BANK_CITY= a2.id
<where>
1=1
<if test="idCards != null and idCards.size>0">
AND a.EMP_IDCARD in
<foreach item="idCard" index="index" collection="idCards" open="(" separator="," close=")">
#{idCard}
</foreach>
</if>
</where>
</select>
</mapper> </mapper>
...@@ -81,6 +81,9 @@ ...@@ -81,6 +81,9 @@
<result property="issueStatus" column="ISSUE_STATUS"/> <result property="issueStatus" column="ISSUE_STATUS"/>
<result property="isDiff" column="IS_DIFF"/> <result property="isDiff" column="IS_DIFF"/>
<result property="incomeMonth" column="INCOME_MONTH"/> <result property="incomeMonth" column="INCOME_MONTH"/>
<result property="setId" column="SET_ID"/>
<result property="deleteUser" column="DELETE_USER"/>
<result property="deleteDate" column="DELETE_DATE"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -139,7 +142,10 @@ ...@@ -139,7 +142,10 @@
a.INCOME_END_TIME, a.INCOME_END_TIME,
a.ISSUE_STATUS, a.ISSUE_STATUS,
a.IS_DIFF, a.IS_DIFF,
a.INCOME_MONTH a.INCOME_MONTH,
a.SET_ID,
a.DELETE_USER,
a.DELETE_DATE
</sql> </sql>
<sql id="tSalaryStandard_where"> <sql id="tSalaryStandard_where">
<if test="tSalaryStandard != null"> <if test="tSalaryStandard != null">
...@@ -486,4 +492,22 @@ ...@@ -486,4 +492,22 @@
SELECT ifnull(max(right(e.APPLY_NO,4)),0) APPLY_NO FROM t_salary_standard e where e.DELETE_FLAG = 0 and e.CREATE_TIME>DATE_FORMAT(now(),'%Y-%m-%d') SELECT ifnull(max(right(e.APPLY_NO,4)),0) APPLY_NO FROM t_salary_standard e where e.DELETE_FLAG = 0 and e.CREATE_TIME>DATE_FORMAT(now(),'%Y-%m-%d')
</select> </select>
<!-- 获取薪资条数 -->
<select id="getNum" resultType="java.lang.Integer">
SELECT count(1)
FROM t_salary_standard a
where
a.DELETE_FLAG = 0
<if test="deptId != null and deptId.trim() != ''">
and a.DEPT_ID = #{deptId}
</if>
<if test="settleMonth != null and settleMonth.trim() != ''">
and a.SETTLEMENT_MONTH = #{settleMonth} and a.SET_ID = #{setId}
</if>
<if test="nowYear != null and nowYear.trim() != ''">
and a.SETTLEMENT_MONTH like concat(#{nowYear},'%')
and a.STATUS not in (3,4)
</if>
</select>
</mapper> </mapper>
...@@ -117,6 +117,123 @@ public class SysBaseSetInfo extends BaseEntity { ...@@ -117,6 +117,123 @@ public class SysBaseSetInfo extends BaseEntity {
@ExcelProperty("基数下限(社保或公积金)") @ExcelProperty("基数下限(社保或公积金)")
private BigDecimal lowerLimit; private BigDecimal lowerLimit;
/**
* 养老基数上限
*/
@ExcelAttribute(name = "养老基数上限")
@Schema(description = "养老基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("养老基数上限")
private BigDecimal upPersion;
/**
* 医疗基数上限
*/
@ExcelAttribute(name = "医疗基数上限")
@Schema(description = "医疗基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("医疗基数上限")
private BigDecimal upMedical;
/**
* 失业基数上限
*/
@ExcelAttribute(name = "失业基数上限")
@Schema(description = "失业基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("失业基数上限")
private BigDecimal upUnemployment;
/**
* 工伤基数上限
*/
@ExcelAttribute(name = "工伤基数上限")
@Schema(description = "工伤基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("工伤基数上限")
private BigDecimal upInjury;
/**
* 生育基数上限
*/
@ExcelAttribute(name = "生育基数上限")
@Schema(description = "生育基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("生育基数上限")
private BigDecimal upBirth;
/**
* 大病基数上限
*/
@ExcelAttribute(name = "大病基数上限")
@Schema(description = "大病基数上限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("大病基数上限")
private BigDecimal upBig;
/**
* 养老基数下限
*/
@ExcelAttribute(name = "养老基数下限")
@Schema(description = "养老基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("养老基数下限")
private BigDecimal lowerPersion;
/**
* 医疗基数下限
*/
@ExcelAttribute(name = "医疗基数下限")
@Schema(description = "医疗基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("医疗基数下限")
private BigDecimal lowerMedical;
/**
* 失业基数下限
*/
@ExcelAttribute(name = "失业基数下限")
@Schema(description = "失业基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("失业基数下限")
private BigDecimal lowerUnemployment;
/**
* 工伤基数下限
*/
@ExcelAttribute(name = "工伤基数下限")
@Schema(description = "工伤基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("工伤基数下限")
private BigDecimal lowerInjury;
/**
* 生育基数下限
*/
@ExcelAttribute(name = "生育基数下限")
@Schema(description = "生育基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("生育基数下限")
private BigDecimal lowerBirth;
/**
* 大病基数下限
*/
@ExcelAttribute(name = "大病基数下限")
@Schema(description = "大病基数下限")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("大病基数下限")
private BigDecimal lowerBig;
/**
* 是否同一基数上下限: 0是;1否
*/
@ExcelAttribute(name = "是否同一基数上下限: 0是;1否")
@Schema(description = "是否同一基数上下限: 0是;1否")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("是否同一基数上下限: 0是;1否")
private String isSameBase;
/** /**
* 补缴政策(社保或公积金) * 补缴政策(社保或公积金)
*/ */
......
...@@ -455,6 +455,14 @@ public class TDispatchInfo extends BaseEntity { ...@@ -455,6 +455,14 @@ public class TDispatchInfo extends BaseEntity {
@ExcelProperty("审核意见" ) @ExcelProperty("审核意见" )
private String auditRemark; private String auditRemark;
/**
* 0 是 1 否
*/
@Length(max = 1, message = "是否同步终止合同、减项、减档不能超过1个字符")
@ExcelAttribute(name = "是否同步终止合同、减项、减档", maxLength = 1)
@Schema(description = "是否同步终止合同、减项、减档", name = "changeContractAndEmployee")
private String changeContractAndEmployee;
/** /**
* 公积金办理备注 * 公积金办理备注
*/ */
...@@ -761,4 +769,9 @@ public class TDispatchInfo extends BaseEntity { ...@@ -761,4 +769,9 @@ public class TDispatchInfo extends BaseEntity {
@TableField(exist = false) @TableField(exist = false)
private String socialFailureType; private String socialFailureType;
@ExcelAttribute(name = "contactAddress")
@Schema(description = "通信地址" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("通信地址" )
private String contactAddress;
} }
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
*/ */
package com.yifu.cloud.plus.v1.yifu.social.entity; package com.yifu.cloud.plus.v1.yifu.social.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
...@@ -548,6 +549,14 @@ public class TPreDispatchInfo extends BaseEntity { ...@@ -548,6 +549,14 @@ public class TPreDispatchInfo extends BaseEntity {
@ExcelAttribute(name = "员工类型") @ExcelAttribute(name = "员工类型")
private String empTypeAdd; private String empTypeAdd;
/**
* 0 是 1 否
*/
@ExcelAttribute(name = "是否同步终止合同、减项、减档", maxLength = 1)
@Schema(description = "是否同步终止合同、减项、减档", name = "changeContractAndEmployee")
@ExcelProperty("是否同步终止合同、减项、减档" )
private String changeContractAndEmployee;
/** /**
* 所属单位ID * 所属单位ID
*/ */
......
...@@ -160,6 +160,15 @@ public class SocialHandleExportVo implements Serializable { ...@@ -160,6 +160,15 @@ public class SocialHandleExportVo implements Serializable {
@ExcelProperty("身份证所在地" ) @ExcelProperty("身份证所在地" )
private String idCardAddress; private String idCardAddress;
/**
* 通信地址
*/
@ExcelAttribute(name = "通信地址")
@Schema(description = "通信地址" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("通信地址" )
private String contactAddress;
/** /**
* 户口性质 * 户口性质
*/ */
......
...@@ -94,6 +94,12 @@ public class TDispatchAuditExportVo { ...@@ -94,6 +94,12 @@ public class TDispatchAuditExportVo {
@ExcelProperty("身份证所在地" ) @ExcelProperty("身份证所在地" )
private String idCardAddress; private String idCardAddress;
@ExcelAttribute(name = "通信地址")
@Schema(description = "通信地址" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("通信地址" )
private String contactAddress;
@ExcelAttribute(name = "社保户", maxLength = 50) @ExcelAttribute(name = "社保户", maxLength = 50)
@Schema(description = "社保户") @Schema(description = "社保户")
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
......
...@@ -1457,7 +1457,7 @@ ...@@ -1457,7 +1457,7 @@
SELECT SELECT
count(1) count(1)
FROM ( FROM (
select w.SOCIAL_HOUSEHOLD,max(w.PROVIDENT_HOUSEHOLD) as PROVIDENT_HOUSEHOLD from ( select w.SOCIAL_HOUSEHOLD,w.PROVIDENT_HOUSEHOLD from (
(SELECT (SELECT
CONCAT( a.EMP_IDCARD, '_', a.SOCIAL_PAY_MONTH, '_', a.SOCIAL_CREATE_MONTH, '_', a.SETTLE_DOMAIN_CODE ) AS keyGroup, CONCAT( a.EMP_IDCARD, '_', a.SOCIAL_PAY_MONTH, '_', a.SOCIAL_CREATE_MONTH, '_', a.SETTLE_DOMAIN_CODE ) AS keyGroup,
a.SOCIAL_HOUSEHOLD, a.SOCIAL_HOUSEHOLD,
......
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