weaver-hrm-salary/src/com/engine/salary/entity/salaryitem/param/SalaryItemSearchParam.java

119 lines
3.1 KiB
Java
Raw Normal View History

2022-03-17 15:14:35 +08:00
package com.engine.salary.entity.salaryitem.param;
2022-03-21 10:08:39 +08:00
import com.engine.salary.entity.base.BaseQueryParam;
2022-03-22 21:01:38 +08:00
import com.engine.salary.enums.SalaryItemCategoryEnum;
import com.engine.salary.enums.SalaryItemTypeEnum;
import com.engine.salary.enums.SalaryOnOffEnum;
import com.engine.salary.enums.SalaryValueTypeEnum;
2022-03-17 15:14:35 +08:00
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
2022-03-23 18:41:38 +08:00
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
2022-03-17 15:14:35 +08:00
import java.util.Collection;
2022-03-23 18:41:38 +08:00
import java.util.stream.Collectors;
2022-03-17 15:14:35 +08:00
/**
2022-03-21 09:33:21 +08:00
* 薪资项目查询参数
* <p>Copyright: Copyright (c) 2022</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
2022-03-17 15:14:35 +08:00
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
2022-03-21 09:33:21 +08:00
public class SalaryItemSearchParam extends BaseQueryParam {
2022-03-17 15:14:35 +08:00
2022-03-22 21:01:38 +08:00
//名称
2022-03-17 15:14:35 +08:00
private String name;
2022-03-22 21:01:38 +08:00
//备注
2022-03-17 15:14:35 +08:00
private String description;
2022-03-22 21:01:38 +08:00
/**
* 属性
*
* @see SalaryItemCategoryEnum
*/
2022-03-21 09:33:21 +08:00
private Integer category;
2022-03-17 15:14:35 +08:00
2022-03-22 21:01:38 +08:00
/**
* 分类
*
* @see SalaryItemTypeEnum
*/
2022-03-21 09:33:21 +08:00
private Integer itemType;
2022-03-17 15:14:35 +08:00
2022-03-22 21:01:38 +08:00
/**
* 是否薪资档案引用
*
* @see SalaryOnOffEnum
*/
2022-03-21 09:33:21 +08:00
private Integer useInEmployeeSalary;
2022-03-17 15:14:35 +08:00
2022-03-22 21:01:38 +08:00
/**
* 是否默认使用
*
* @see SalaryOnOffEnum
*/
2022-03-21 09:33:21 +08:00
private Integer useDefault;
2022-03-17 15:14:35 +08:00
2022-03-22 21:01:38 +08:00
/**
* 取值方式
*
* @see SalaryValueTypeEnum
*/
2022-03-21 09:33:21 +08:00
private Integer valueType;
2022-03-17 15:14:35 +08:00
2022-03-21 09:33:21 +08:00
//需要排除的系统薪资项目@see
2022-03-17 15:14:35 +08:00
private Collection<Long> excludeIds;
2022-03-23 18:41:38 +08:00
public static String makeSqlWhere(SalaryItemSearchParam searchParam) {
String sqlWhere = " t.delete_type = 0 ";
String name = searchParam.getName();
if (StringUtils.isNotBlank(name)) {
sqlWhere += " AND t.name = " + name;
}
String description = searchParam.getDescription();
if (StringUtils.isNotBlank(description)) {
sqlWhere += " AND t.description = " + description;
}
Integer category = searchParam.getCategory();
if (category != null) {
sqlWhere += " AND t.category = " + category;
}
Integer itemType = searchParam.getItemType();
if (itemType != null) {
sqlWhere += " AND t.item_type = " + itemType;
}
Integer useInEmployeeSalary = searchParam.getUseInEmployeeSalary();
if (useInEmployeeSalary != null) {
sqlWhere += " AND t.use_in_employee_salary = " + useInEmployeeSalary;
}
Integer useDefault = searchParam.getUseDefault();
if (useDefault != null) {
sqlWhere += " AND t.use_default = " + useDefault;
}
Integer valueType = searchParam.getValueType();
if (valueType != null) {
sqlWhere += " AND t.value_type = " + valueType;
}
Collection<Long> excludeIds = searchParam.getExcludeIds();
if (CollectionUtils.isNotEmpty(excludeIds)) {
String idsStr = excludeIds.stream().map(String::valueOf).collect(Collectors.joining(","));
sqlWhere += " AND t.id NOT IN (" + idsStr + ")";
}
return sqlWhere;
}
2022-03-17 15:14:35 +08:00
}