Commit e90c3d10 authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/MVP1.7.12' into MVP1.7.12

parents 007ddb19 b817d0c2
/*
* 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.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* 员工合同签订规则配置表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
@Data
@TableName("t_auto_contract_rule_info")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "员工合同签订规则配置表")
public class TAutoContractRuleInfo extends BaseEntity {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String id;
/**
* 是否自动触发申请:0自动生成合同申请 1手动发起合同申请
*/
@ExcelAttribute(name = "是否自动触发申请", isNotEmpty = true, errorInfo = "是否自动触发申请不能为空", maxLength = 1)
@NotBlank(message = "是否自动触发申请不能为空")
@Length(max = 1, message = "是否自动触发申请不能超过1个字符")
@ExcelProperty("是否自动触发申请")
@Schema(description = "是否自动触发申请:0自动生成合同申请 1手动发起合同申请")
private String autoFlag;
/**
* 新签合同发起时间类型 0 入职日期 1入职3天后 2入职1周后 3入职2周后 4入职3周后
*/
@ExcelAttribute(name = "新签合同发起时间类型 ", maxLength = 1)
@Length(max = 1, message = "新签合同发起时间类型 不能超过1个字符")
@ExcelProperty("新签合同发起时间类型 ")
@Schema(description = "新签合同发起时间类型 0 入职日期 1入职3天后 2入职1周后 3入职2周后 4入职3周后")
private String newSignType;
/**
* 新签合同发起时间
*/
@ExcelAttribute(name = "新签合同发起时间", maxLength = 10)
@Length(max = 10, message = "新签合同发起时间不能超过10个字符")
@ExcelProperty("新签合同发起时间")
@Schema(description = "新签合同发起时间")
private String newSignDate;
/**
* 确认签署时间类型 0 签订发起日
*/
@ExcelAttribute(name = "确认签署时间类型 ", maxLength = 1)
@Length(max = 1, message = "确认签署时间类型 不能超过1个字符")
@ExcelProperty("确认签署时间类型 ")
@Schema(description = "确认签署时间类型 0 签订发起日")
private String confirmSignType;
/**
* 确认签署时间
*/
@ExcelAttribute(name = "确认签署时间", maxLength = 10)
@Length(max = 10, message = "确认签署时间不能超过10个字符")
@ExcelProperty("确认签署时间")
@Schema(description = "确认签署时间")
private String confirmSignDate;
/**
* 续签合同发起时间类型 0 上一份合同到期前一个月
*/
@ExcelAttribute(name = "续签合同发起时间类型 ", maxLength = 1)
@Length(max = 1, message = "续签合同发起时间类型 不能超过1个字符")
@ExcelProperty("续签合同发起时间类型 ")
@Schema(description = "续签合同发起时间类型 0 上一份合同到期前一个月")
private String renewalDateType;
/**
* 续签合同发起时间
*/
@ExcelAttribute(name = "续签合同发起时间", maxLength = 10)
@Length(max = 10, message = "续签合同发起时间不能超过10个字符")
@ExcelProperty("续签合同发起时间")
@Schema(description = "续签合同发起时间")
private String renewalDate;
/**
* 入职确认选择 0 配置方案内选择、1 自定义 2 配置方案+自定义
*/
@ExcelAttribute(name = "入职确认选择", maxLength = 1)
@Length(max = 1, message = "入职确认选择不能超过1个字符")
@ExcelProperty("入职确认选择")
@Schema(description = "入职确认选择 0 配置方案内选择、1 自定义 2 配置方案+自定义")
private String confirmEmpSelect;
/**
* 超时未确认是否触发签署任务(电子签) 0 自动触发 1 不触发
*/
@ExcelAttribute(name = "超时未确认是否触发签署任务(电子签)", maxLength = 1)
@Length(max = 1, message = "超时未确认是否触发签署任务(电子签)不能超过1个字符")
@ExcelProperty("超时未确认是否触发签署任务(电子签)")
@Schema(description = "超时未确认是否触发签署任务(电子签) 0 自动触发 1 不触发")
private String timeoutElecSign;
/**
* 签署方式 0 电子签 1 线下签
*/
@ExcelAttribute(name = "签署方式", isNotEmpty = true, errorInfo = "签署方式不能为空", maxLength = 1)
@NotBlank(message = "签署方式不能为空")
@Length(max = 1, message = "签署方式不能超过1个字符")
@ExcelProperty("签署方式")
@Schema(description = "签署方式 0 电子签 1 线下签")
private String signType;
/**
* 项目配置主表ID
*/
@ExcelAttribute(name = "项目配置主表ID",errorInfo = "项目配置主表ID不能为空", maxLength = 32)
@NotBlank(message = "项目配置主表ID不能为空")
@Length(max = 32, message = "项目配置主表ID不能超过32个字符")
@ExcelProperty("项目配置主表ID")
@Schema(description = "项目配置主表ID")
private String mainId;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", errorInfo = "项目编码不能为空", maxLength = 50)
@NotBlank(message = "项目编码不能为空")
@Length(max = 50, message = "项目编码不能超过50个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String deptNo;
/**
* 项目ID
*/
@ExcelAttribute(name = "项目ID", errorInfo = "项目ID不能为空", maxLength = 32)
@NotBlank(message = "项目ID不能为空")
@Length(max = 32, message = "项目ID不能超过32个字符")
@ExcelProperty("项目ID")
@Schema(description = "项目ID")
private String deptId;
}
/*
* 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.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
/**
* 员工合同签订配置方案子表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
@Data
@TableName("t_auto_contract_scheme")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "员工合同签订配置方案子表")
public class TAutoContractScheme extends BaseEntity {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String id;
/**
* 配置名称
*/
@ExcelAttribute(name = "配置名称", isNotEmpty = true, errorInfo = "配置名称不能为空", maxLength = 50)
@NotBlank(message = "配置名称不能为空")
@Length(max = 50, message = "配置名称不能超过50个字符")
@ExcelProperty("配置名称")
@Schema(description = "配置名称")
private String configName;
/**
* 是否允许修改 0是 1否
*/
@ExcelAttribute(name = "是否允许修改", isNotEmpty = true, errorInfo = "是否允许修改不能为空", maxLength = 2)
@NotBlank(message = "是否允许修改不能为空")
@Length(max = 1, message = "是否允许修改不能超过2个字符")
@ExcelProperty("是否允许修改")
@Schema(description = "是否允许修改 0是 1否")
private String updateFlag;
/**
* 合同类型 线下签:同合同申请的合同类型
* // 电子签-合同类型(既有字典)
* export const contractTypeOpts = [
* { label: '标准合同', value: '1'},
* { label: '劳务协议', value: '3'},
* { label: '实习协议', value: '5'},
* { label: '劳务派遣合同', value: '20'},
* { label: '非全日制', value: '8'},
* ];
*/
@ExcelAttribute(name = "合同类型", isNotEmpty = true, errorInfo = "合同类型不能为空", maxLength = 2, dataType = ExcelAttributeConstants.PERSONNEL_TYPE)
@NotBlank(message = "合同类型不能为空")
@Length(max = 1, message = "合同类型不能超过2个字符")
@ExcelProperty("合同类型")
@Schema(description = "合同类型 电子签:0标准合同/1劳务协议/2实习协议/3劳务派遣合同/4非全日制/5其他合同 线下签:同合同申请的合同类型")
private String contractType;
/**
* 签署甲方
*/
@ExcelAttribute(name = "签署甲方", isNotEmpty = true, errorInfo = "签署甲方不能为空", maxLength = 50)
@Length(max = 50, message = "签署甲方不能超过50个字符")
@ExcelProperty("签署甲方")
@Schema(description = "签署甲方")
private String signatory;
/**
* 发大大电子签模板
*/
@ExcelAttribute(name = "发大大电子签模板", maxLength = 50)
@Length(max = 50, message = "发大大电子签模板不能超过50个字符")
@ExcelProperty("发大大电子签模板")
@Schema(description = "发大大电子签模板")
private String fadadaTemplate;
/**
* 签订期限 0 固定期限 1 无固定期限 3.以完成一定工作任务为期限
* // 电子签-签订期限(既有字典)
* export const contractTermOpts = [
* { label: '固定期限', value: '1'},
* { label: '无固定期限', value: '2'},
* { label: '以完成一定工作任务为期限', value: '0'},
* ]
*/
@ExcelAttribute(name = "签订期限", maxLength = 2)
@Length(max = 1, message = "签订期限不能超过2个字符")
@ExcelProperty("签订期限")
@Schema(description = "签订期限 0 固定期限 1 无固定期限 3.以完成一定工作任务为期限")
private String contractTerm;
/**
* 合同年限-年
* // 合同年限-年
* export const contractDurationYearOpts = [
* { label: '1年', value: '1'},
* { label: '2年', value: '2'},
* { label: '3年', value: '3'},
* { label: '4年', value: '4'},
* { label: '5年', value: '5'},
* { label: '6年', value: '6'},
* { label: '7年', value: '7'},
* { label: '8年', value: '8'},
* { label: '9年', value: '9'},
* { label: '10年', value: '10'},
* ];
*/
@ExcelAttribute(name = "合同年限-年", maxLength = 50)
@Length(max = 50, message = "合同年限-年不能超过50个字符")
@ExcelProperty("合同年限-年")
@Schema(description = "合同年限-年")
private String contractDurationYear;
/**
* 合同年限-月
* // 合同年限-月
* export const contractDurationMonthOpts = [
* { label: '1个月', value: '1'},
* { label: '2个月', value: '2'},
* { label: '3个月', value: '3'},
* { label: '4个月', value: '4'},
* { label: '5个月', value: '5'},
* { label: '6个月', value: '6'},
* { label: '7个月', value: '7'},
* { label: '8个月', value: '8'},
* { label: '9个月', value: '9'},
* { label: '10个月', value: '10'},
* { label: '11个月', value: '11'},
* { label: '12个月', value: '12'}
*
* ];
*/
@ExcelAttribute(name = "合同年限-月", maxLength = 50)
@Length(max = 50, message = "合同年限-月不能超过50个字符")
@ExcelProperty("合同年限-月")
@Schema(description = "合同年限-月")
private String contractDurationMonth;
/**
* 合同开始日期
*
* export const contractStartOpts = [
* { label: '入职日期', value: '0'},
* ];
*/
@ExcelAttribute(name = "合同开始日期")
@ExcelProperty("合同开始日期")
@Schema(description = "合同开始日期")
private String contractStart;
/**
* 合同截止日期
*
* export const contractEndOpts = [
* { label: '合同年限推算', value: '0'},
* { label: '同商务合同一致', value: '1'},
* { label: '工作任务完成时止', value: '1'}
* ];
*/
@ExcelAttribute(name = "合同截止日期")
@ExcelProperty("合同截止日期")
@Schema(description = "合同截止日期")
private String contractEnd;
/**
* 是否有试用期 0是1否
*/
@ExcelAttribute(name = "是否有试用期", maxLength = 2)
@Length(max = 1, message = "是否有试用期不能超过2个字符")
@ExcelProperty("是否有试用期")
@Schema(description = "是否有试用期 0是1否")
private String tryPeriodType;
/**
* 试用周期
* export const tryPeriodOpts = [
* { label: '无', value: '0'},
* { label: '1个月', value: '1'},
* { label: '2个月', value: '2'},
* { label: '3个月', value: '3'},
* { label: '4个月', value: '4'},
* { label: '5个月', value: '5'},
* { label: '6个月', value: '6'},
* { label: '7个月', value: '7'},
* { label: '8个月', value: '8'},
* { label: '9个月', value: '9'},
* { label: '10个月', value: '10'},
* { label: '11个月', value: '11'},
* { label: '12个月', value: '12'}
* ];
*/
@ExcelAttribute(name = "试用周期", maxLength = 2)
@Length(max = 1, message = "试用周期不能超过2个字符")
@ExcelProperty("试用周期")
@Schema(description = "试用周期")
private String tryPeriod;
/**
* 试用开始日期
* export const tryPeriodStartOpts = [
* { label: '入职日期', value: '0'},
* ];
*/
@ExcelAttribute(name = "试用开始日期")
@ExcelProperty("试用开始日期")
@Schema(description = "试用开始日期")
private String tryPeriodStart;
/**
* 试用截止日期
* export const tryPeriodEndOpts = [
* { label: '根据试用周期自动计算', value: '0'}
* ];
*/
@ExcelAttribute(name = "试用截止日期")
@ExcelProperty("试用截止日期")
@Schema(description = "试用截止日期")
private String tryPeriodEnd;
/**
* 工作任务
*/
@ExcelAttribute(name = "工作任务", maxLength = 200)
@Length(max = 200, message = "工作任务不能超过200个字符")
@ExcelProperty("工作任务")
@Schema(description = "工作任务")
private String task;
/**
* 任务类型: 0 不同员工不同任务自定义 1 所有员工任务相同
*/
@ExcelAttribute(name = "任务类型", maxLength = 2)
@Length(max = 1, message = "任务类型不能超过2个字符")
@ExcelProperty("任务类型")
@Schema(description = "任务类型: 0 不同员工不同任务自定义 1 所有员工任务相同")
private String taskType;
/**
* 结束任务标准
*/
@ExcelAttribute(name = "结束任务标准", maxLength = 200)
@Length(max = 200, message = "结束任务标准不能超过200个字符")
@ExcelProperty("结束任务标准")
@Schema(description = "结束任务标准")
private String taskEndStandard;
/**
* 项目配置主表ID
*/
@ExcelAttribute(name = "项目配置主表ID", errorInfo = "项目配置主表ID不能为空", maxLength = 32)
@NotBlank(message = "项目配置主表ID不能为空")
@Length(max = 32, message = "项目配置主表ID不能超过32个字符")
@ExcelProperty("项目配置主表ID")
@Schema(description = "项目配置主表ID")
private String mainId;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", errorInfo = "项目编码不能为空", maxLength = 50)
@NotBlank(message = "项目编码不能为空")
@Length(max = 50, message = "项目编码不能超过50个字符")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
private String deptNo;
/**
* 项目ID
*/
@ExcelAttribute(name = "项目ID", errorInfo = "项目ID不能为空", maxLength = 32)
@NotBlank(message = "项目ID不能为空")
@Length(max = 32, message = "项目ID不能超过32个字符")
@ExcelProperty("项目ID")
@Schema(description = "项目ID")
private String deptId;
/**
* 合同岗位 0 固定岗位 1 等于档案处维护 2 自定义
*/
@ExcelAttribute(name = "合同岗位", isNotEmpty = true, errorInfo = "合同岗位不能为空", maxLength = 2)
@Length(max = 1, message = "合同岗位不能超过2个字符")
@ExcelProperty("合同岗位")
@Schema(description = "合同岗位 0 固定岗位 1 等于档案处维护 2 自定义")
private String postType;
/**
* 合同岗位名称
*/
@ExcelAttribute(name = "合同岗位名称", maxLength = 50)
@Length(max = 50, message = "合同岗位名称不能超过50个字符")
@ExcelProperty("合同岗位名称")
@Schema(description = "合同岗位名称")
private String post;
/**
* 工作地点
*/
@ExcelAttribute(name = "工作地点", maxLength = 200)
@Length(max = 200, message = "工作地点不能超过200个字符")
@ExcelProperty("工作地点")
@Schema(description = "工作地点")
private String workAddress;
/**
* 工时制
* export const workingHoursOpts = [
* { label: '标准工时', value: '1'},
* { label: '综合工时', value: '2'},
* { label: '不定时工时制', value: '3'},
* ];
*/
@ExcelAttribute(name = "工时制", maxLength = 2)
@Length(max = 1, message = "工时制不能超过2个字符")
@ExcelProperty("工时制")
@Schema(description = "工时制 0 标准工时 1综合工时 2 不定时工时制")
private String workingHours;
/**
* 试用期工资(元/月)
*/
@ExcelAttribute(name = "试用期工资(元/月)", maxLength = 20)
@Length(max = 20, message = "试用期工资(元/月)不能超过20个字符")
@ExcelProperty("试用期工资(元/月)")
@Schema(description = "试用期工资(元/月)")
private String workingReward;
/**
* 工作部门
*/
@ExcelAttribute(name = "工作部门", maxLength = 50)
@Length(max = 50, message = "工作部门不能超过50个字符")
@ExcelProperty("工作部门")
@Schema(description = "工作部门")
private String workingDept;
/**
* 用工单位名称
*/
@ExcelAttribute(name = "用工单位名称", maxLength = 50)
@Length(max = 50, message = "用工单位名称不能超过50个字符")
@ExcelProperty("用工单位名称")
@Schema(description = "用工单位名称")
private String workingCompany;
/**
* 工资形式 0 计时工资 1计件工资 2 其他
*/
@ExcelAttribute(name = "工资形式", maxLength = 2)
@Length(max = 1, message = "工资形式不能超过2个字符")
@ExcelProperty("工资形式")
@Schema(description = "工资形式 0 计时工资 1计件工资 2 其他")
private String salaryType;
/**
* 购买补充保险说明
*/
@ExcelAttribute(name = "购买补充保险说明", maxLength = 50)
@Length(max = 50, message = "购买补充保险说明不能超过50个字符")
@ExcelProperty("购买补充保险说明")
@Schema(description = "购买补充保险说明")
private String riskBuyDesc;
/**
* 计时工资标准(元/月)
*/
@ExcelAttribute(name = "计时工资标准(元/月)", maxLength = 20)
@Length(max = 20, message = "计时工资标准(元/月)不能超过20个字符")
@ExcelProperty("计时工资标准(元/月)")
@Schema(description = "计时工资标准(元/月)")
private String hourlyWage;
/**
* 计件工资单价(元)
*/
@ExcelAttribute(name = "计件工资单价(元)", maxLength = 20)
@Length(max = 20, message = "计件工资单价(元)不能超过20个字符")
@ExcelProperty("计件工资单价(元)")
@Schema(description = "计件工资单价(元)")
private String pieceworkWage;
/**
* 其他 (工资形式其他时的工资)
* export const otherWageOpts = [
* { label: '当地最低工资标准', value: '0'},
* ];
*/
@ExcelAttribute(name = "其他", maxLength = 50)
@Length(max = 50, message = "其他不能超过50个字符")
@ExcelProperty("其他")
@Schema(description = "其他 (工资形式其他时的工资)")
private String otherWage;
/**
* 劳务费(元/月)
*/
@ExcelAttribute(name = "劳务费(元/月)", maxLength = 20)
@Length(max = 20, message = "劳务费(元/月)不能超过20个字符")
@ExcelProperty("劳务费(元/月)")
@Schema(description = "劳务费(元/月)")
private String laborCost;
/**
* 违约责任(金额)
*/
@ExcelAttribute(name = "违约责任(金额)", maxLength = 20)
@Length(max = 20, message = "违约责任(金额)不能超过20个字符")
@ExcelProperty("违约责任(金额)")
@Schema(description = "违约责任(金额)")
private String defaultAmount;
/**
* 工资结算周期
*/
@ExcelAttribute(name = "工资结算周期", maxLength = 20)
@Length(max = 20, message = "工资结算周期不能超过20个字符")
@ExcelProperty("工资结算周期")
@Schema(description = "工资结算周期")
private String settlementCycle;
/**
* 工资发放时间
*/
@ExcelAttribute(name = "工资发放时间", maxLength = 50)
@Length(max = 50, message = "工资发放时间不能超过50个字符")
@ExcelProperty("工资发放时间")
@Schema(description = "工资发放时间")
private String paymentTime;
/**
* 工资发放方式 0
* export const paymentTypeOpts = [
* { label: '直接发放', value: '0'},
* { label: '委托银行代发', value: '1'},
* ];
*/
@ExcelAttribute(name = "工资发放方式", maxLength = 2)
@Length(max = 1, message = "工资发放方式不能超过2个字符")
@ExcelProperty("工资发放方式")
@Schema(description = "工资发放方式 0 直接发放/委托银行代发")
private String paymentType;
/**
* 实习期限 无/一个月/两个月.../十二个月
* export const internshipPeriodOpts = [
* { label: '无', value: '0'},
* { label: '1个月', value: '1'},
* { label: '2个月', value: '2'},
* { label: '3个月', value: '3'},
* { label: '4个月', value: '4'},
* { label: '5个月', value: '5'},
* { label: '6个月', value: '6'},
* { label: '7个月', value: '7'},
* { label: '8个月', value: '8'},
* { label: '9个月', value: '9'},
* { label: '10个月', value: '10'},
* { label: '11个月', value: '11'},
* { label: '12个月', value: '12'}
* ];
*/
@ExcelAttribute(name = "实习期限", maxLength = 2)
@Length(max = 1, message = "实习期限不能超过2个字符")
@ExcelProperty("实习期限")
@Schema(description = "实习期限 无/一个月/两个月.../十二个月")
private String internshipPeriod;
/**
* 实习开始日期
* export const internshipPeriodStartOpts = [
* { label: '入职日期', value: '0'},
* ];
*/
@ExcelAttribute(name = "实习开始日期")
@ExcelProperty("实习开始日期")
@Schema(description = "实习开始日期")
private String internshipPeriodStart;
/**
* 实习结束日期
* export const internshipPeriodEndOpts = [
* { label: '根据实习期限自动计算', value: '0'}
* ];
*/
@ExcelAttribute(name = "实习结束日期")
@ExcelProperty("实习结束日期")
@Schema(description = "实习结束日期")
private String internshipPeriodEnd;
/**
* 派遣期限年
* export const dispatchPeriodYearOpts = [
* { label: '1年', value: '1'},
* { label: '2年', value: '2'},
* { label: '3年', value: '3'},
* { label: '4年', value: '4'},
* { label: '5年', value: '5'},
* { label: '6年', value: '6'},
* { label: '7年', value: '7'},
* { label: '8年', value: '8'},
* { label: '9年', value: '9'},
* { label: '10年', value: '10'},
* ];
*/
@ExcelAttribute(name = "派遣期限-年", maxLength = 2)
@Length(max = 1, message = "派遣期限-年不能超过2个字符")
@ExcelProperty("派遣期限-年")
@Schema(description = "派遣期限-年")
private String dispatchPeriodYear;
/**
* 派遣期限-月
* export const dispatchPeriodMonthOpts = [
* { label: '1个月', value: '1'},
* { label: '2个月', value: '2'},
* { label: '3个月', value: '3'},
* { label: '4个月', value: '4'},
* { label: '5个月', value: '5'},
* { label: '6个月', value: '6'},
* { label: '7个月', value: '7'},
* { label: '8个月', value: '8'},
* { label: '9个月', value: '9'},
* { label: '10个月', value: '10'},
* { label: '11个月', value: '11'},
* { label: '12个月', value: '12'}
*
* ];
*/
@ExcelAttribute(name = "派遣期限-月", maxLength = 2)
@Length(max = 1, message = "派遣期限-月不能超过2个字符")
@ExcelProperty("派遣期限-月")
@Schema(description = "派遣期限-月")
private String dispatchPeriodMonth;
/**
* 派遣开始日期
* export const dispatchPeriodStartOpts = [
* { label: '入职日期', value: '0'},
* ];
*/
@ExcelAttribute(name = "派遣开始日期")
@ExcelProperty("派遣开始日期")
@Schema(description = "派遣开始日期")
private String dispatchPeriodStart;
/**
* 派遣结束日期
* export const dispatchPeriodEndOpts = [
* { label: '根据“派遣期限”推算', value: '0'},
* ];
*/
@ExcelAttribute(name = "派遣结束日期")
@ExcelProperty("派遣结束日期")
@Schema(description = "派遣结束日期")
private String dispatchPeriodEnd;
/**
* 工作方式 0 第一种方式 1 第二种方式
*/
@ExcelAttribute(name = "工作方式", maxLength = 50)
@Length(max = 50, message = "工作方式不能超过50个字符")
@ExcelProperty("工作方式")
@Schema(description = "工作方式 0 第一种方式 1 第二种方式")
private String workType;
/**
* 每周工作天数
*/
@ExcelAttribute(name = "每周工作天数", maxLength = 20)
@Length(max = 10, message = "每周工作天数不能超过10个字符")
@ExcelProperty("每周工作天数")
@Schema(description = "每周工作天数")
private String workDayCount;
/**
* 每周工作日
*/
@ExcelAttribute(name = "每周工作日", maxLength = 50)
@Length(max = 50, message = "每周工作日不能超过50个字符")
@ExcelProperty("每周工作日")
@Schema(description = "每周工作日")
private String workDay;
/**
* 每日工作时长
*/
@ExcelAttribute(name = "每日工作时长", maxLength = 20)
@Length(max = 10, message = "每日工作时长不能超过10个字符")
@ExcelProperty("每日工作时长")
@Schema(description = "每日工作时长")
private String workHours;
/**
* 其他工作时间 (工作方式为第二种方式)
* export const otherWorkDayOpts = [
* { label: '每日工作时间不超过四小时,每周工作时间累计不超过二十四小时', value: '0'},
* ];
*/
@ExcelAttribute(name = "其他工作时间 ", maxLength = 50)
@Length(max = 50, message = "其他工作时间 不能超过50个字符")
@ExcelProperty("其他工作时间 ")
@Schema(description = "其他工作时间 (工作方式为第二种方式)")
private String otherWorkDay;
}
......@@ -40,4 +40,10 @@ public class TAutoMainRelAddVo implements Serializable {
private TAutoInsurRuleInfo autoInsurRuleInfo;
//商险购买标准配置表
private List<TAutoInsurStandard> insurStandards;
//员工合同签订规则配置表
private TAutoContractRuleInfo contractRuleInfo;
//员工合同签订规则配置方案子表表
private List<TAutoContractScheme> contractSchemes;
}
......@@ -54,4 +54,10 @@ public class TAutoMainRelDetailVo implements Serializable {
//商险购买标准表
private List<TAutoInsurStandard> autoInsurStandards;
//员工合同签订规则配置表
private TAutoContractRuleInfo contractRuleInfo;
//员工合同签订规则配置方案子表表
private List<TAutoContractScheme> contractSchemes;
}
......@@ -19,13 +19,13 @@ 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.TAutoContractScheme;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoMainRel;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAutoMainRelService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoMainRelAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoMainRelDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoMainRelExportVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoMainRelSearchVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
......@@ -60,7 +60,17 @@ public class TAutoMainRelController {
private final MenuUtil menuUtil;
/**
* 员工合同签订规则-方案分页查询
* @param page 分页对象
* @param search 项目配置表主表
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/contractSchemePage")
public R<IPage<TAutoContractScheme>> getContractSchemePage(Page<TAutoContractScheme> page, TAutoContractScheme search) {
return new R<>(tAutoMainRelService.getContractSchemePage(page,search));
}
/**
* 简单分页查询
* @param page 分页对象
......
/*
* 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.TAutoContractRuleInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 员工合同签订规则配置表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
@Mapper
public interface TAutoContractRuleInfoMapper extends BaseMapper<TAutoContractRuleInfo> {
/**
* 员工合同签订规则配置表简单分页查询
*
* @param tAutoContractRuleInfo 员工合同签订规则配置表
* @return
*/
IPage<TAutoContractRuleInfo> getTAutoContractRuleInfoPage(Page<TAutoContractRuleInfo> page, @Param("tAutoContractRuleInfo") TAutoContractRuleInfo tAutoContractRuleInfo);
}
/*
* 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.TAutoContractScheme;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 员工合同签订配置方案子表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
@Mapper
public interface TAutoContractSchemeMapper extends BaseMapper<TAutoContractScheme> {
/**
* 员工合同签订配置方案子表简单分页查询
*
* @param tAutoContractScheme 员工合同签订配置方案子表
* @return
*/
IPage<TAutoContractScheme> getTAutoContractSchemePage(Page<TAutoContractScheme> page, @Param("tAutoContractScheme") TAutoContractScheme tAutoContractScheme);
}
/*
* 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.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractRuleInfo;
/**
* 员工合同签订规则配置表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
public interface TAutoContractRuleInfoService extends IService<TAutoContractRuleInfo> {
}
/*
* 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.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractScheme;
/**
* 员工合同签订配置方案子表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
public interface TAutoContractSchemeService extends IService<TAutoContractScheme> {
}
......@@ -20,6 +20,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractScheme;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoMainRel;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoMainRelAddVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TAutoMainRelDetailVo;
......@@ -59,4 +60,6 @@ public interface TAutoMainRelService extends IService<TAutoMainRel> {
R<Boolean> updateAsso(TAutoMainRelAddVo entity);
R<TAutoMainRelDetailVo> getProjectRule(String deptId, String deptNo);
IPage<TAutoContractScheme> getContractSchemePage(Page<TAutoContractScheme> page, TAutoContractScheme search);
}
/*
* 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractRuleInfo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoContractRuleInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAutoContractRuleInfoService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 员工合同签订规则配置表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
@Log4j2
@Service
public class TAutoContractRuleInfoServiceImpl extends ServiceImpl<TAutoContractRuleInfoMapper, TAutoContractRuleInfo> implements TAutoContractRuleInfoService {
}
/*
* 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractScheme;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoContractSchemeMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TAutoContractSchemeService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 员工合同签订配置方案子表
*
* @author fxj
* @date 2025-06-10 16:24:30
*/
@Log4j2
@Service
public class TAutoContractSchemeServiceImpl extends ServiceImpl<TAutoContractSchemeMapper, TAutoContractScheme> implements TAutoContractSchemeService {
}
......@@ -89,12 +89,20 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
@Autowired
private TAutoStandardInfoMapper autoStandardInfoMapper;
@Autowired
private TAutoContractRuleInfoMapper autoContractRuleInfoMapper;
@Autowired
private TAutoContractSchemeMapper contractSchemeMapper;
public static final String itemsLabel = "label,description,disable";
public static final String itemsLabelRepeat = "同一项目岗位名称不可重复";
public static final String buyStandardRepeat = "'同一保险公司+险种+购买标准+购买地'或‘配置名称’不可重复";
public static final String schemeNameRepeat = "配置名称不可重复";
/**
* 项目配置表主表简单分页查询
* @param tAutoMainRel 项目配置表主表
......@@ -254,6 +262,14 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
}
detailVo.setAutoInsurStandards(standards);
}
//员工合同签订规则配置表
detailVo.setContractRuleInfo(autoContractRuleInfoMapper.selectOne(Wrappers.<TAutoContractRuleInfo>query().lambda()
.eq(TAutoContractRuleInfo::getMainId,id).last(CommonConstants.LAST_ONE_SQL)));
//员工合同签订规则配置方案表
if (Common.isNotNull(detailVo.getContractRuleInfo())){
detailVo.setContractSchemes(contractSchemeMapper.selectList(Wrappers.<TAutoContractScheme>query().lambda()
.eq(TAutoContractScheme::getDeptId,mainRel.getDeptId())));
}
return R.ok(detailVo);
}
/**
......@@ -320,6 +336,21 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
if (!checkDictItemsForDuplicates(autoDictItems)) {
return R.failed(itemsLabelRepeat);
}
//校验员工合同签订规则配置信息
TAutoContractRuleInfo autoContractRuleInfo = entity.getContractRuleInfo();
if (Common.isNotNull(autoContractRuleInfo)){
ExcelUtil<TAutoContractRuleInfo> excelUtil = new ExcelUtil<>(TAutoContractRuleInfo.class);
ErrorMessage errorMessage = excelUtil.checkEntity(autoContractRuleInfo,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
}
//校验员工合同签订规则配置方案信息
List<TAutoContractScheme> contractSchemes = entity.getContractSchemes();
PARAM_IS_NOT_ERROR = checkContractSchemes(contractSchemes);
if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR;
}
//新增主表
autoMainRel.setRuleUpdatePerson(user.getNickname());
autoMainRel.setRuleUpdateTime(DateUtil.getCurrentDateTime());
......@@ -361,6 +392,22 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
saveStandard(standard);
}
}
//新增员工合同签订规则配置表
if (Common.isNotNull(autoContractRuleInfo)){
autoContractRuleInfo.setDeptNo(autoMainRel.getDeptNo());
autoContractRuleInfo.setDeptId(autoMainRel.getDeptId());
autoContractRuleInfo.setMainId(autoMainRel.getId());
autoContractRuleInfoMapper.insert(autoContractRuleInfo);
}
//新增员工合同签订规则配置方案子表
if (Common.isNotNull(contractSchemes)){
for (TAutoContractScheme scheme:contractSchemes){
scheme.setMainId(autoContractRuleInfo.getId());
scheme.setDeptNo(autoMainRel.getDeptNo());
scheme.setDeptId(autoMainRel.getDeptId());
contractSchemeMapper.insert(scheme);
}
}
return R.ok();
}catch (Exception e){
// 捕获异常并返回友好提示
......@@ -368,6 +415,11 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
}
}
/**
* @Author fxj
* @Description 校验商险规则
* @Date 10:24 2025/6/11
**/
private R<Boolean> checkInsurStandard(List<TAutoInsurStandard> insurStandards) {
if (Common.isNotNull(insurStandards)){
List<TAutoStandardInfo> standards;
......@@ -397,23 +449,65 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
}
return null;
}
/**
* @Author fxj
* @Description 校验合同规则
* @Date 10:24 2025/6/11
**/
private R<Boolean> checkContractSchemes(List<TAutoContractScheme> contractSchemes) {
if (Common.isNotNull(contractSchemes)){
ExcelUtil<TAutoContractScheme> excelUtil = new ExcelUtil<>(TAutoContractScheme.class);
ErrorMessage errorMessage;
for (TAutoContractScheme scheme: contractSchemes){
errorMessage = excelUtil.checkEntity(scheme,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
}
if (checkContractSchemeForDuplicates(contractSchemes)){
return R.failed(buyStandardRepeat);
}
}
return null;
}
private boolean checkInsurStandardsForDuplicates(List<TAutoInsurStandard> insurStandards) {
boolean result = false;
if (Common.isNotNull(insurStandards)) {
Map<String,String> map = new HashMap<>();
Map<String, String> map = new HashMap<>();
for (TAutoInsurStandard standard : insurStandards) {
if (map.put(standard.getCompany() + standard.getRiskType() + standard.getStandard(), "") != null){
return true;
if (map.put(standard.getCompany() + standard.getRiskType() + standard.getStandard(), "") != null) {
result = true;
break;
}
if (map.put(standard.getName() , "") != null){
return true;
if (map.put(standard.getName(), "") != null) {
result = true;
break;
}
}
map.clear();
if (!result) {
map.clear();
}
}
return false;
return result;
}
//验证配置名称重复
private boolean checkContractSchemeForDuplicates(List<TAutoContractScheme> schemes) {
boolean result = false;
if (Common.isNotNull(schemes)) {
Map<String, String> map = new HashMap<>();
for (TAutoContractScheme scheme : schemes) {
if (map.put(scheme.getConfigName(), "") != null) {
result = true;
break;
}
}
if (!result) {
map.clear();
}
}
return result;
}
/**
* 检查字典项是否有重复标签
*/
......@@ -506,11 +600,64 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
autoInsurRuleOld = autoInsurRuleInfoMapper.selectOne(Wrappers.<TAutoInsurRuleInfo>query().lambda()
.eq(TAutoInsurRuleInfo::getMainId,autoMainRel.getId()).last(CommonConstants.LAST_ONE_SQL));
}
//商险购买标准是否更新标识 false 未更新 true 更新
boolean flag = false;
//保存商险规则
List<TAutoInsurStandard> insurStandardsOld = null;
List<TAutoInsurStandard> insurStandards = null;
//校验商险购买标准
List<TAutoInsurStandard> insurStandards = entity.getInsurStandards();
R<Boolean> PARAM_IS_NOT_ERROR = checkInsurStandard(insurStandards);
if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR;
}
if (checkInsurStandardsForDuplicates(insurStandards)){
return R.failed(buyStandardRepeat);
}
// 更新岗位字典
List<SysAutoDictItem> autoDictItems = entity.getAutoDictItems();
Map<String,SysAutoDictItem> repeatItems = new HashMap<>();
// 更新岗位字典
List<SysAutoDictItem> oldAutoDictItems = autoDictItemMapper.selectList(Wrappers.<SysAutoDictItem>query()
.lambda().eq(SysAutoDictItem::getDeptNo,autoMainRel.getDeptNo())
.eq(SysAutoDictItem::getDisable,CommonConstants.ZERO_STRING));
// 如果查询到旧的岗位字典项
repeatItems = getStringSysAutoDictItemMap(autoDictItems, repeatItems, oldAutoDictItems);
// 检验岗位字典是否重复
R<Boolean> checkRes = checkItemRepeat(autoDictItems, repeatItems);
// 如果检验结果不为空,则返回检验结果
if (checkRes != null){
return checkRes;
}
//校验员工合同签订规则主表和明细表
TAutoContractRuleInfo autoContractRuleNew = entity.getContractRuleInfo();
TAutoContractRuleInfo autoContractRuleOld = null;
if (Common.isNotNull(autoContractRuleNew)){
// 检查员工合同签订规则信息的有效性
ExcelUtil<TAutoContractRuleInfo> excelUtil = new ExcelUtil<>(TAutoContractRuleInfo.class);
ErrorMessage errorMessage = excelUtil.checkEntity(autoContractRuleNew,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
// 根据ID查询原有的员工合同签订规则规则信息
autoContractRuleOld = autoContractRuleInfoMapper.selectOne(Wrappers.<TAutoContractRuleInfo>query().lambda()
.eq(TAutoContractRuleInfo::getMainId,autoMainRel.getId()).last(CommonConstants.LAST_ONE_SQL));
}
//员工合同签订规则方案配置是否更新标识 false 未更新 true 更新
boolean schemeFlag = false;
List<TAutoContractScheme> schemesOld = null;
//员工合同签订规则方案配置
List<TAutoContractScheme> schemes = entity.getContractSchemes();
PARAM_IS_NOT_ERROR = checkContractSchemes(schemes);
if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR;
}
//配置名称是否重复
if (checkContractSchemeForDuplicates(schemes)){
return R.failed(schemeNameRepeat);
}
//保存商险规则
if (Common.isNotNull(autoInsurRuleNew)){
if (Common.isNotNull(autoInsurRuleNew.getId())){
autoInsurRuleInfoMapper.updateById(autoInsurRuleNew);
......@@ -520,15 +667,7 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
autoInsurRuleNew.setMainId(autoMainRel.getId());
autoInsurRuleInfoMapper.insert(autoInsurRuleNew);
}
//校验商险购买标准
insurStandards = entity.getInsurStandards();
R<Boolean> PARAM_IS_NOT_ERROR = checkInsurStandard(insurStandards);
if (PARAM_IS_NOT_ERROR != null){
return PARAM_IS_NOT_ERROR;
}
if (checkInsurStandardsForDuplicates(insurStandards)){
return R.failed(buyStandardRepeat);
}
//获取旧的购买标准
insurStandardsOld = autoInsurStandardMapper.selectList(Wrappers
.<TAutoInsurStandard>query().lambda().eq(TAutoInsurStandard::getMainId,autoInsurRuleNew.getId()));
......@@ -545,23 +684,44 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
saveStandard(standard);
}
}
//判断对象 insurStandardsOld 所有对象是否都在对象 insurStandards 里面,判断字段id
// 在 insurStandards 中是否存在,如果不存在返回flag =true 否则返回flag =false
flag = checkInsurStandardsForNotIn(insurStandardsOld,insurStandards);
}
// 更新岗位字典
List<SysAutoDictItem> autoDictItems = entity.getAutoDictItems();
Map<String,SysAutoDictItem> repeatItems = new HashMap<>();
// 更新岗位字典
List<SysAutoDictItem> oldAutoDictItems = autoDictItemMapper.selectList(Wrappers.<SysAutoDictItem>query()
.lambda().eq(SysAutoDictItem::getDeptNo,autoMainRel.getDeptNo())
.eq(SysAutoDictItem::getDisable,CommonConstants.ZERO_STRING));
//保存员工合同签订规则配置及方案
if (Common.isNotNull(autoContractRuleNew)){
if (Common.isNotNull(autoContractRuleNew.getId())){
autoContractRuleInfoMapper.updateById(autoContractRuleNew);
}else {
autoContractRuleNew.setDeptNo(autoMainRel.getDeptNo());
autoContractRuleNew.setDeptId(autoMainRel.getDeptId());
autoContractRuleNew.setMainId(autoMainRel.getId());
autoContractRuleInfoMapper.insert(autoContractRuleNew);
}
// 如果查询到旧的岗位字典项
repeatItems = getStringSysAutoDictItemMap(autoDictItems, repeatItems, oldAutoDictItems);
// 检验岗位字典是否重复
R<Boolean> checkRes = checkItemRepeat(autoDictItems, repeatItems);
// 如果检验结果不为空,则返回检验结果
if (checkRes != null){
return checkRes;
}
//获取旧的购买标准
schemesOld = contractSchemeMapper.selectList(Wrappers
.<TAutoContractScheme>query().lambda().eq(TAutoContractScheme::getMainId,autoContractRuleNew.getId()));
//先删除后面再批增
contractSchemeMapper.delete(Wrappers.<TAutoContractScheme>query().lambda().eq(TAutoContractScheme::getMainId,autoContractRuleNew.getId()));
//保存商险购买标准
if (Common.isNotNull(schemes)){
for (TAutoContractScheme scheme:schemes){
scheme.setId(null);
if (!Common.isNotNull(scheme.getId())){
schemeFlag =true;
}
scheme.setDeptNo(autoMainRel.getDeptNo());
scheme.setDeptId(autoMainRel.getDeptId());
scheme.setMainId(autoContractRuleNew.getId());
contractSchemeMapper.insert(scheme);
}
}
// 判断数据对象是否都在页面传的对象里,有不在的数据,则返回true 目的是判断是否更新了
schemeFlag = checkContractSchemeForNotIn(schemesOld,schemes);
}
// 更新主表
autoMainRel.setRuleUpdatePerson(user.getNickname());
autoMainRel.setRuleUpdateTime(DateUtil.getCurrentDateTime());
......@@ -647,12 +807,102 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
newMap.put("newInsurStandards",insurStandards);
}
}
//处理员工合同签订规则日志
if (Common.isNotNull(autoContractRuleNew)){
if (Common.isEmpty(autoContractRuleOld)){
autoInsurRuleOld = new TAutoInsurRuleInfo();
}
String differenceKey = HrEquator.comparisonValueIgnoreField(autoInsurRuleOld, autoInsurRuleNew,ignoreFields);
if (!Common.isEmpty(differenceKey)){
diffKeyMap.put("contractRule",differenceKey);
oldMap.put("oldcontractRule",autoContractRuleOld);
newMap.put("newcontractRule",autoContractRuleNew);
}
}
//处理员工合同签订规则方案配置日志
diffKeys = new StringBuilder();
if (Common.isNotNull(schemes)){
Map<String,TAutoContractScheme> map;
// 不为空且无新增数据,为空前面校验过了,这里不处理
if (Common.isNotNull(schemes) && !flag){
map = schemes.stream().collect(Collectors.toMap(TAutoContractScheme::getId, v->v));
if (Common.isNotNull(insurStandardsOld)){
String differenceKey;
TAutoContractScheme newTemp;
for (TAutoContractScheme old:schemesOld){
// 如果存在,则比较,不存在则标记为更新
newTemp = map.get(old.getId());
if (Common.isEmpty(newTemp)){
schemeFlag = true;
newTemp = new TAutoContractScheme();
}
differenceKey = HrEquator.comparisonValueIgnoreField(old, newTemp,ignoreFields);
if (!Common.isEmpty(differenceKey)){
diffKeys.append(differenceKey);
schemeFlag = true;
}
}
}
}
if (schemeFlag){
diffKeyMap.put("schemeRule","schemes");
oldMap.put("oldSchemes",schemesOld);
newMap.put("newSchemes",schemes);
}
}
// 插入变更日志
insertLog(autoMainRel, diffKeyMap, oldMap, newMap);
// 返回更新成功的响应
return R.ok(true,CommonConstants.UPDATE_SUCCESS);
}
private boolean checkContractSchemeForNotIn(List<TAutoContractScheme> schemes, List<TAutoContractScheme> schemesOld) {
if (Common.isEmpty(schemes) && !Common.isEmpty(schemesOld)) {
return true; // 数据库数据无 新增有 返回true
}
if (!Common.isEmpty(schemes) && Common.isEmpty(schemesOld)) {
return true; // 数据库有 新增无返回 true
}
// 不为空判断
if (!Common.isEmpty(schemes) && !Common.isEmpty(schemesOld)) {
Set<String> existingKeys = schemes.stream()
.map(scheme -> Optional.ofNullable(scheme.getId()).orElse(""))
.collect(Collectors.toSet());
for (TAutoContractScheme scheme : schemesOld) {
if (!existingKeys.contains(scheme.getId())) {
return true; // 存在不在现有集合中的数据,表示需要处理
}
}
}
return false; // 所有数据都在现有集合中,无需额外处理
}
/**
* @Author fxj
* @Description 校验商险标准是否不在已存在的集合中
* @Date 10:24 2025/6/11
**/
private boolean checkInsurStandardsForNotIn(List<TAutoInsurStandard> insurStandards, List<TAutoInsurStandard> existingStandards) {
if (Common.isEmpty(insurStandards) && !Common.isEmpty(existingStandards)) {
return true; // 数据库数据无 新增有 返回true
}
if (!Common.isEmpty(insurStandards) && Common.isEmpty(existingStandards)) {
return true; // 数据库有 新增无返回 true
}
// 不为空判断
if (!Common.isEmpty(insurStandards) && !Common.isEmpty(existingStandards)) {
Set<String> existingKeys = existingStandards.stream()
.map(standard -> Optional.ofNullable(standard.getId()).orElse(""))
.collect(Collectors.toSet());
for (TAutoInsurStandard standard : insurStandards) {
if (!existingKeys.contains(standard.getId())) {
return true; // 存在不在现有集合中的数据,表示需要处理
}
}
}
return false; // 所有数据都在现有集合中,无需额外处理
}
private void saveStandard(TAutoInsurStandard standard) {
if (Common.isNotNull(standard.getStandardInfos())){
autoStandardInfoMapper.delete(Wrappers.<TAutoStandardInfo>query().lambda()
......@@ -854,6 +1104,17 @@ private R<Boolean> checkItemRepeat(List<SysAutoDictItem> autoDictItems, Map<Stri
}
return R.ok();
}
/**
* @Author fxj
* @Description 员工合同签订规则-方案分页查询
* @Date 14:33 2025/6/13
**/
@Override
public IPage<TAutoContractScheme> getContractSchemePage(Page<TAutoContractScheme> page, TAutoContractScheme search) {
return contractSchemeMapper.getTAutoContractSchemePage(page,search);
}
private LambdaQueryWrapper buildQueryWrapper(String deptId, String deptNo){
LambdaQueryWrapper<TAutoMainRel> wrapper = Wrappers.lambdaQuery();
if (ArrayUtil.isNotEmpty(deptId)) {
......
<?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.TAutoContractRuleInfoMapper">
<resultMap id="tAutoContractRuleInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractRuleInfo">
<id property="id" column="ID"/>
<result property="autoFlag" column="AUTO_FLAG"/>
<result property="newSignType" column="NEW_SIGN_TYPE"/>
<result property="newSignDate" column="NEW_SIGN_DATE"/>
<result property="confirmSignType" column="CONFIRM_SIGN_TYPE"/>
<result property="confirmSignDate" column="CONFIRM_SIGN_DATE"/>
<result property="renewalDateType" column="RENEWAL_DATE_TYPE"/>
<result property="renewalDate" column="RENEWAL_DATE_"/>
<result property="confirmEmpSelect" column="CONFIRM_EMP_SELECT"/>
<result property="timeoutElecSign" column="TIMEOUT_ELEC_SIGN"/>
<result property="signType" column="SIGN_TYPE"/>
<result property="mainId" column="MAIN_ID"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="deptId" column="DEPT_ID"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.AUTO_FLAG,
a.NEW_SIGN_TYPE,
a.NEW_SIGN_DATE,
a.CONFIRM_SIGN_TYPE,
a.CONFIRM_SIGN_DATE,
a.RENEWAL_DATE_TYPE,
a.RENEWAL_DATE_,
a.CONFIRM_EMP_SELECT,
a.TIMEOUT_ELEC_SIGN,
a.SIGN_TYPE,
a.MAIN_ID,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.DEPT_NO,
a.DEPT_ID
</sql>
<sql id="tAutoContractRuleInfo_where">
<if test="tAutoContractRuleInfo != null">
<if test="tAutoContractRuleInfo.id != null and tAutoContractRuleInfo.id.trim() != ''">
AND a.ID = #{tAutoContractRuleInfo.id}
</if>
<if test="tAutoContractRuleInfo.autoFlag != null and tAutoContractRuleInfo.autoFlag.trim() != ''">
AND a.AUTO_FLAG = #{tAutoContractRuleInfo.autoFlag}
</if>
<if test="tAutoContractRuleInfo.newSignType != null and tAutoContractRuleInfo.newSignType.trim() != ''">
AND a.NEW_SIGN_TYPE = #{tAutoContractRuleInfo.newSignType}
</if>
<if test="tAutoContractRuleInfo.newSignDate != null and tAutoContractRuleInfo.newSignDate.trim() != ''">
AND a.NEW_SIGN_DATE = #{tAutoContractRuleInfo.newSignDate}
</if>
<if test="tAutoContractRuleInfo.confirmSignType != null and tAutoContractRuleInfo.confirmSignType.trim() != ''">
AND a.CONFIRM_SIGN_TYPE = #{tAutoContractRuleInfo.confirmSignType}
</if>
<if test="tAutoContractRuleInfo.confirmSignDate != null and tAutoContractRuleInfo.confirmSignDate.trim() != ''">
AND a.CONFIRM_SIGN_DATE = #{tAutoContractRuleInfo.confirmSignDate}
</if>
<if test="tAutoContractRuleInfo.renewalDateType != null and tAutoContractRuleInfo.renewalDateType.trim() != ''">
AND a.RENEWAL_DATE_TYPE = #{tAutoContractRuleInfo.renewalDateType}
</if>
<if test="tAutoContractRuleInfo.renewalDate != null and tAutoContractRuleInfo.renewalDate.trim() != ''">
AND a.RENEWAL_DATE_ = #{tAutoContractRuleInfo.renewalDate}
</if>
<if test="tAutoContractRuleInfo.confirmEmpSelect != null and tAutoContractRuleInfo.confirmEmpSelect.trim() != ''">
AND a.CONFIRM_EMP_SELECT = #{tAutoContractRuleInfo.confirmEmpSelect}
</if>
<if test="tAutoContractRuleInfo.timeoutElecSign != null and tAutoContractRuleInfo.timeoutElecSign.trim() != ''">
AND a.TIMEOUT_ELEC_SIGN = #{tAutoContractRuleInfo.timeoutElecSign}
</if>
<if test="tAutoContractRuleInfo.signType != null and tAutoContractRuleInfo.signType.trim() != ''">
AND a.SIGN_TYPE = #{tAutoContractRuleInfo.signType}
</if>
<if test="tAutoContractRuleInfo.mainId != null and tAutoContractRuleInfo.mainId.trim() != ''">
AND a.MAIN_ID = #{tAutoContractRuleInfo.mainId}
</if>
<if test="tAutoContractRuleInfo.createBy != null and tAutoContractRuleInfo.createBy.trim() != ''">
AND a.CREATE_BY = #{tAutoContractRuleInfo.createBy}
</if>
<if test="tAutoContractRuleInfo.createName != null and tAutoContractRuleInfo.createName.trim() != ''">
AND a.CREATE_NAME = #{tAutoContractRuleInfo.createName}
</if>
<if test="tAutoContractRuleInfo.createTime != null">
AND a.CREATE_TIME = #{tAutoContractRuleInfo.createTime}
</if>
<if test="tAutoContractRuleInfo.updateBy != null and tAutoContractRuleInfo.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tAutoContractRuleInfo.updateBy}
</if>
<if test="tAutoContractRuleInfo.updateTime != null">
AND a.UPDATE_TIME = #{tAutoContractRuleInfo.updateTime}
</if>
<if test="tAutoContractRuleInfo.deptNo != null and tAutoContractRuleInfo.deptNo.trim() != ''">
AND a.DEPT_NO = #{tAutoContractRuleInfo.deptNo}
</if>
<if test="tAutoContractRuleInfo.deptId != null and tAutoContractRuleInfo.deptId.trim() != ''">
AND a.DEPT_ID = #{tAutoContractRuleInfo.deptId}
</if>
</if>
</sql>
<!--tAutoContractRuleInfo简单分页查询-->
<select id="getTAutoContractRuleInfoPage" resultMap="tAutoContractRuleInfoMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_auto_contract_rule_info a
<where>
1=1
<include refid="tAutoContractRuleInfo_where"/>
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TAutoContractSchemeMapper">
<resultMap id="tAutoContractSchemeMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoContractScheme">
<id property="id" column="ID"/>
<result property="configName" column="CONFIG_NAME"/>
<result property="updateFlag" column="UPDATE_FLAG"/>
<result property="contractType" column="CONTRACT_TYPE"/>
<result property="signatory" column="SIGNATORY"/>
<result property="fadadaTemplate" column="FADADA_TEMPLATE"/>
<result property="contractTerm" column="CONTRACT_TERM"/>
<result property="contractDurationYear" column="CONTRACT_DURATION_YEAR"/>
<result property="contractDurationMonth" column="CONTRACT_DURATION_MONTH"/>
<result property="contractStart" column="CONTRACT_START"/>
<result property="contractEnd" column="CONTRACT_END"/>
<result property="tryPeriodType" column="TRY_PERIOD_TYPE"/>
<result property="tryPeriod" column="TRY_PERIOD"/>
<result property="tryPeriodStart" column="TRY_PERIOD_START"/>
<result property="tryPeriodEnd" column="TRY_PERIOD_END"/>
<result property="task" column="TASK"/>
<result property="taskType" column="TASK_TYPE"/>
<result property="taskEndStandard" column="TASK_END_STANDARD"/>
<result property="mainId" column="MAIN_ID"/>
<result property="createBy" column="CREATE_BY"/>
<result property="createName" column="CREATE_NAME"/>
<result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="deptId" column="DEPT_ID"/>
<result property="postType" column="POST_TYPE"/>
<result property="post" column="POST"/>
<result property="workAddress" column="WORK_ADDRESS"/>
<result property="workingHours" column="WORKING_HOURS"/>
<result property="workingReward" column="WORKING_REWARD"/>
<result property="workingDept" column="WORKING_DEPT"/>
<result property="workingCompany" column="WORKING_COMPANY"/>
<result property="salaryType" column="SALARY_TYPE"/>
<result property="riskBuyDesc" column="RISK_BUY_DESC"/>
<result property="hourlyWage" column="HOURLY_WAGE"/>
<result property="pieceworkWage" column="PIECEWORK_WAGE"/>
<result property="otherWage" column="OTHER_WAGE"/>
<result property="laborCost" column="LABOR_COST"/>
<result property="defaultAmount" column="DEFAULT_AMOUNT"/>
<result property="settlementCycle" column="SETTLEMENT_CYCLE"/>
<result property="paymentTime" column="PAYMENT_TIME"/>
<result property="paymentType" column="PAYMENT_TYPE"/>
<result property="internshipPeriod" column="INTERNSHIP_PERIOD"/>
<result property="internshipPeriodStart" column="INTERNSHIP_PERIOD_START"/>
<result property="internshipPeriodEnd" column="INTERNSHIP_PERIOD_END"/>
<result property="dispatchPeriodYear" column="DISPATCH_PERIOD_YEAR"/>
<result property="dispatchPeriodMonth" column="DISPATCH_PERIOD_MONTH"/>
<result property="dispatchPeriodStart" column="DISPATCH_PERIOD_START"/>
<result property="dispatchPeriodEnd" column="DISPATCH_PERIOD_END"/>
<result property="workType" column="WORK_TYPE"/>
<result property="workDayCount" column="WORK_DAY_COUNT"/>
<result property="workDay" column="WORK_DAY"/>
<result property="workHours" column="WORK_HOURS"/>
<result property="otherWorkDay" column="OTHER_WORK_DAY"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.CONFIG_NAME,
a.UPDATE_FLAG,
a.CONTRACT_TYPE,
a.SIGNATORY,
a.FADADA_TEMPLATE,
a.CONTRACT_TERM,
a.CONTRACT_DURATION_YEAR,
a.CONTRACT_DURATION_MONTH,
a.CONTRACT_START,
a.CONTRACT_END,
a.TRY_PERIOD_TYPE,
a.TRY_PERIOD,
a.TRY_PERIOD_START,
a.TRY_PERIOD_END,
a.TASK,
a.TASK_TYPE,
a.TASK_END_STANDARD,
a.MAIN_ID,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.DEPT_NO,
a.DEPT_ID,
a.POST_TYPE,
a.POST,
a.WORK_ADDRESS,
a.WORKING_HOURS,
a.WORKING_REWARD,
a.WORKING_DEPT,
a.WORKING_COMPANY,
a.SALARY_TYPE,
a.RISK_BUY_DESC,
a.HOURLY_WAGE,
a.PIECEWORK_WAGE,
a.OTHER_WAGE,
a.LABOR_COST,
a.DEFAULT_AMOUNT,
a.SETTLEMENT_CYCLE,
a.PAYMENT_TIME,
a.PAYMENT_TYPE,
a.INTERNSHIP_PERIOD,
a.INTERNSHIP_PERIOD_START,
a.INTERNSHIP_PERIOD_END,
a.DISPATCH_PERIOD_YEAR,
a.DISPATCH_PERIOD_MONTH
a.DISPATCH_PERIOD_START,
a.DISPATCH_PERIOD_END,
a.WORK_TYPE,
a.WORK_DAY_COUNT,
a.WORK_DAY,
a.WORK_HOURS,
a.OTHER_WORK_DAY
</sql>
<sql id="tAutoContractScheme_where">
<if test="tAutoContractScheme != null">
<if test="tAutoContractScheme.id != null and tAutoContractScheme.id.trim() != ''">
AND a.ID = #{tAutoContractScheme.id}
</if>
<if test="tAutoContractScheme.configName != null and tAutoContractScheme.configName.trim() != ''">
AND a.CONFIG_NAME = #{tAutoContractScheme.configName}
</if>
<if test="tAutoContractScheme.updateFlag != null and tAutoContractScheme.updateFlag.trim() != ''">
AND a.UPDATE_FLAG = #{tAutoContractScheme.updateFlag}
</if>
<if test="tAutoContractScheme.contractType != null and tAutoContractScheme.contractType.trim() != ''">
AND a.CONTRACT_TYPE = #{tAutoContractScheme.contractType}
</if>
<if test="tAutoContractScheme.signatory != null and tAutoContractScheme.signatory.trim() != ''">
AND a.SIGNATORY = #{tAutoContractScheme.signatory}
</if>
<if test="tAutoContractScheme.fadadaTemplate != null and tAutoContractScheme.fadadaTemplate.trim() != ''">
AND a.FADADA_TEMPLATE = #{tAutoContractScheme.fadadaTemplate}
</if>
<if test="tAutoContractScheme.contractTerm != null and tAutoContractScheme.contractTerm.trim() != ''">
AND a.CONTRACT_TERM = #{tAutoContractScheme.contractTerm}
</if>
<if test="tAutoContractScheme.contractDurationYear != null and tAutoContractScheme.contractDurationYear.trim() != ''">
AND a.CONTRACT_DURATION_YEAR = #{tAutoContractScheme.contractDurationYear}
</if>
<if test="tAutoContractScheme.contractDurationMonth != null and tAutoContractScheme.contractDurationMonth.trim() != ''">
AND a.CONTRACT_DURATION_MONTH = #{tAutoContractScheme.contractDurationMonth}
</if>
<if test="tAutoContractScheme.contractStart != null">
AND a.CONTRACT_START = #{tAutoContractScheme.contractStart}
</if>
<if test="tAutoContractScheme.contractEnd != null">
AND a.CONTRACT_END = #{tAutoContractScheme.contractEnd}
</if>
<if test="tAutoContractScheme.contractEndOther != null and tAutoContractScheme.contractEndOther.trim() != ''">
AND a.CONTRACT_END_OTHER = #{tAutoContractScheme.contractEndOther}
</if>
<if test="tAutoContractScheme.tryPeriodType != null and tAutoContractScheme.tryPeriodType.trim() != ''">
AND a.TRY_PERIOD_TYPE = #{tAutoContractScheme.tryPeriodType}
</if>
<if test="tAutoContractScheme.tryPeriod != null and tAutoContractScheme.tryPeriod.trim() != ''">
AND a.TRY_PERIOD = #{tAutoContractScheme.tryPeriod}
</if>
<if test="tAutoContractScheme.tryPeriodStart != null">
AND a.TRY_PERIOD_START = #{tAutoContractScheme.tryPeriodStart}
</if>
<if test="tAutoContractScheme.tryPeriodEnd != null">
AND a.TRY_PERIOD_END = #{tAutoContractScheme.tryPeriodEnd}
</if>
<if test="tAutoContractScheme.task != null and tAutoContractScheme.task.trim() != ''">
AND a.TASK = #{tAutoContractScheme.task}
</if>
<if test="tAutoContractScheme.taskType != null and tAutoContractScheme.taskType.trim() != ''">
AND a.TASK_TYPE = #{tAutoContractScheme.taskType}
</if>
<if test="tAutoContractScheme.taskEndStandard != null and tAutoContractScheme.taskEndStandard.trim() != ''">
AND a.TASK_END_STANDARD = #{tAutoContractScheme.taskEndStandard}
</if>
<if test="tAutoContractScheme.mainId != null and tAutoContractScheme.mainId.trim() != ''">
AND a.MAIN_ID = #{tAutoContractScheme.mainId}
</if>
<if test="tAutoContractScheme.createBy != null and tAutoContractScheme.createBy.trim() != ''">
AND a.CREATE_BY = #{tAutoContractScheme.createBy}
</if>
<if test="tAutoContractScheme.createName != null and tAutoContractScheme.createName.trim() != ''">
AND a.CREATE_NAME = #{tAutoContractScheme.createName}
</if>
<if test="tAutoContractScheme.createTime != null">
AND a.CREATE_TIME = #{tAutoContractScheme.createTime}
</if>
<if test="tAutoContractScheme.updateBy != null and tAutoContractScheme.updateBy.trim() != ''">
AND a.UPDATE_BY = #{tAutoContractScheme.updateBy}
</if>
<if test="tAutoContractScheme.updateTime != null">
AND a.UPDATE_TIME = #{tAutoContractScheme.updateTime}
</if>
<if test="tAutoContractScheme.deptNo != null and tAutoContractScheme.deptNo.trim() != ''">
AND a.DEPT_NO = #{tAutoContractScheme.deptNo}
</if>
<if test="tAutoContractScheme.deptId != null and tAutoContractScheme.deptId.trim() != ''">
AND a.DEPT_ID = #{tAutoContractScheme.deptId}
</if>
<if test="tAutoContractScheme.postType != null and tAutoContractScheme.postType.trim() != ''">
AND a.POST_TYPE = #{tAutoContractScheme.postType}
</if>
<if test="tAutoContractScheme.post != null and tAutoContractScheme.post.trim() != ''">
AND a.POST = #{tAutoContractScheme.post}
</if>
<if test="tAutoContractScheme.workAddress != null and tAutoContractScheme.workAddress.trim() != ''">
AND a.WORK_ADDRESS = #{tAutoContractScheme.workAddress}
</if>
<if test="tAutoContractScheme.workingHours != null and tAutoContractScheme.workingHours.trim() != ''">
AND a.WORKING_HOURS = #{tAutoContractScheme.workingHours}
</if>
<if test="tAutoContractScheme.workingReward != null and tAutoContractScheme.workingReward.trim() != ''">
AND a.WORKING_REWARD = #{tAutoContractScheme.workingReward}
</if>
<if test="tAutoContractScheme.workingDept != null and tAutoContractScheme.workingDept.trim() != ''">
AND a.WORKING_DEPT = #{tAutoContractScheme.workingDept}
</if>
<if test="tAutoContractScheme.workingCompany != null and tAutoContractScheme.workingCompany.trim() != ''">
AND a.WORKING_COMPANY = #{tAutoContractScheme.workingCompany}
</if>
<if test="tAutoContractScheme.salaryType != null and tAutoContractScheme.salaryType.trim() != ''">
AND a.SALARY_TYPE = #{tAutoContractScheme.salaryType}
</if>
<if test="tAutoContractScheme.riskBuyDesc != null and tAutoContractScheme.riskBuyDesc.trim() != ''">
AND a.RISK_BUY_DESC = #{tAutoContractScheme.riskBuyDesc}
</if>
<if test="tAutoContractScheme.hourlyWage != null and tAutoContractScheme.hourlyWage.trim() != ''">
AND a.HOURLY_WAGE = #{tAutoContractScheme.hourlyWage}
</if>
<if test="tAutoContractScheme.pieceworkWage != null and tAutoContractScheme.pieceworkWage.trim() != ''">
AND a.PIECEWORK_WAGE = #{tAutoContractScheme.pieceworkWage}
</if>
<if test="tAutoContractScheme.otherWage != null and tAutoContractScheme.otherWage.trim() != ''">
AND a.OTHER_WAGE = #{tAutoContractScheme.otherWage}
</if>
<if test="tAutoContractScheme.laborCost != null and tAutoContractScheme.laborCost.trim() != ''">
AND a.LABOR_COST = #{tAutoContractScheme.laborCost}
</if>
<if test="tAutoContractScheme.defaultAmount != null and tAutoContractScheme.defaultAmount.trim() != ''">
AND a.DEFAULT_AMOUNT = #{tAutoContractScheme.defaultAmount}
</if>
<if test="tAutoContractScheme.settlementCycle != null and tAutoContractScheme.settlementCycle.trim() != ''">
AND a.SETTLEMENT_CYCLE = #{tAutoContractScheme.settlementCycle}
</if>
<if test="tAutoContractScheme.paymentTime != null and tAutoContractScheme.paymentTime.trim() != ''">
AND a.PAYMENT_TIME = #{tAutoContractScheme.paymentTime}
</if>
<if test="tAutoContractScheme.paymentType != null and tAutoContractScheme.paymentType.trim() != ''">
AND a.PAYMENT_TYPE = #{tAutoContractScheme.paymentType}
</if>
<if test="tAutoContractScheme.internshipPeriod != null and tAutoContractScheme.internshipPeriod.trim() != ''">
AND a.INTERNSHIP_PERIOD = #{tAutoContractScheme.internshipPeriod}
</if>
<if test="tAutoContractScheme.internshipPeriodStart != null">
AND a.INTERNSHIP_PERIOD_START = #{tAutoContractScheme.internshipPeriodStart}
</if>
<if test="tAutoContractScheme.internshipPeriodEnd != null">
AND a.INTERNSHIP_PERIOD_END = #{tAutoContractScheme.internshipPeriodEnd}
</if>
<if test="tAutoContractScheme.dispatchPeriodStart != null">
AND a.DISPATCH_PERIOD_START = #{tAutoContractScheme.dispatchPeriodStart}
</if>
<if test="tAutoContractScheme.dispatchPeriodEnd != null">
AND a.DISPATCH_PERIOD_END = #{tAutoContractScheme.dispatchPeriodEnd}
</if>
<if test="tAutoContractScheme.workType != null and tAutoContractScheme.workType.trim() != ''">
AND a.WORK_TYPE = #{tAutoContractScheme.workType}
</if>
<if test="tAutoContractScheme.workDayCount != null and tAutoContractScheme.workDayCount.trim() != ''">
AND a.WORK_DAY_COUNT = #{tAutoContractScheme.workDayCount}
</if>
<if test="tAutoContractScheme.workDay != null and tAutoContractScheme.workDay.trim() != ''">
AND a.WORK_DAY = #{tAutoContractScheme.workDay}
</if>
<if test="tAutoContractScheme.workHours != null and tAutoContractScheme.workHours.trim() != ''">
AND a.WORK_HOURS = #{tAutoContractScheme.workHours}
</if>
</if>
</sql>
<!--tAutoContractScheme简单分页查询-->
<select id="getTAutoContractSchemePage" resultMap="tAutoContractSchemeMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_auto_contract_scheme a
<where>
1=1
<include refid="tAutoContractScheme_where"/>
</where>
</select>
</mapper>
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