142 lines
5.2 KiB
Java
142 lines
5.2 KiB
Java
package com.engine.salary.transmethod;
|
|
|
|
import com.engine.salary.enums.SalaryCycleTypeEnum;
|
|
import com.engine.salary.enums.SalaryRoundingModeEnum;
|
|
import com.engine.salary.enums.SalaryValueTypeEnum;
|
|
import com.engine.salary.enums.datacollection.AttendQuoteFieldSourceTypeEnum;
|
|
import com.engine.salary.enums.datacollection.AttendQuoteFieldTypeEnum;
|
|
import com.engine.salary.enums.datacollection.AttendQuoteSourceTypeEnum;
|
|
import com.engine.salary.enums.salaryitem.SalaryDataTypeEnum;
|
|
import com.engine.salary.util.SalaryI18nUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
import java.util.Objects;
|
|
|
|
public class TransMethod {
|
|
|
|
public static String timeToDate(String time) {
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
String format = "";
|
|
try {
|
|
Date parse = timeFormat.parse(time);
|
|
format = dateFormat.format(parse);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return format;
|
|
}
|
|
|
|
public static String timeToMoth(String time) {
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
|
SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
String format = "";
|
|
try {
|
|
Date parse = timeFormat.parse(time);
|
|
format = dateFormat.format(parse);
|
|
} catch (ParseException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return format;
|
|
}
|
|
|
|
|
|
/**
|
|
* 字段来源类型
|
|
*
|
|
* @param sourceType
|
|
* @return
|
|
*/
|
|
public static String fieldSourceType(String sourceType) {
|
|
return AttendQuoteFieldSourceTypeEnum.getDefaultLabelByValue(Integer.valueOf(sourceType));
|
|
}
|
|
|
|
/**
|
|
* 字段类型
|
|
*
|
|
* @param sourceType
|
|
* @return
|
|
*/
|
|
public static String fieldType(String sourceType) {
|
|
return AttendQuoteFieldTypeEnum.getDefaultLabelByValue(Integer.valueOf(sourceType));
|
|
}
|
|
|
|
/**
|
|
* 考勤来源类型
|
|
*
|
|
* @param sourceType
|
|
* @return
|
|
*/
|
|
public static String sourceType(String sourceType) {
|
|
return AttendQuoteSourceTypeEnum.getDefaultLabelByValue(Integer.valueOf(sourceType));
|
|
}
|
|
|
|
/**
|
|
* 薪资项目进位规则
|
|
*
|
|
* @param roundingMode
|
|
* @return
|
|
*/
|
|
public static String roundingMode(String roundingMode) {
|
|
return SalaryRoundingModeEnum.getDefaultLabelByValue(Integer.valueOf(roundingMode));
|
|
}
|
|
|
|
/**
|
|
* 取值方式
|
|
* @param datasource
|
|
* @return
|
|
*/
|
|
public static String datasource(String datasource) {
|
|
return SalaryValueTypeEnum.getDefaultLabelByValue(Integer.valueOf(datasource));
|
|
}
|
|
|
|
/**
|
|
* 字段类型
|
|
* @return
|
|
*/
|
|
public static String dataType(String dataType) {
|
|
return SalaryDataTypeEnum.getDefaultLabelByValue(dataType);
|
|
}
|
|
|
|
public static String buildSalaryCycle(String salaryCycle,String salaryCycleFromDay) {
|
|
String salaryCycleStr;
|
|
SalaryCycleTypeEnum salaryCycleTypeEnum = SalaryCycleTypeEnum.parseByValue(Integer.parseInt(salaryCycle));
|
|
if (salaryCycleTypeEnum == null) {
|
|
return StringUtils.EMPTY;
|
|
}
|
|
switch (salaryCycleTypeEnum) {
|
|
case BEFORE_LAST_MONTH:
|
|
salaryCycleStr = Objects.equals(salaryCycleFromDay, "1") ? SalaryI18nUtil.getI18nLabel(98395, "上上月1号——上上月最后一天")
|
|
: SalaryI18nUtil.getI18nLabel(98399, "上上月{0}号——上月{1}号")
|
|
.replace("{0}", "" + salaryCycleFromDay)
|
|
.replace("{1}", "" + (Integer.parseInt(salaryCycleFromDay) - 1));
|
|
break;
|
|
case LAST_MONTH:
|
|
salaryCycleStr = Objects.equals(salaryCycleFromDay, "1") ? SalaryI18nUtil.getI18nLabel(98396, "上月1号——上月最后一天")
|
|
: SalaryI18nUtil.getI18nLabel(98400, "上月{0}号——本月{1}号")
|
|
.replace("{0}", "" + salaryCycleFromDay)
|
|
.replace("{1}", "" + (Integer.parseInt(salaryCycleFromDay) - 1));
|
|
break;
|
|
case THIS_MONTH:
|
|
salaryCycleStr = Objects.equals(salaryCycleFromDay, "1") ? SalaryI18nUtil.getI18nLabel(98397, "本月1号——本月最后一天")
|
|
: SalaryI18nUtil.getI18nLabel(98401, "本月{0}号——下月{1}号")
|
|
.replace("{0}", "" + salaryCycleFromDay)
|
|
.replace("{1}", "" + (Integer.parseInt(salaryCycleFromDay) - 1));
|
|
break;
|
|
case NEXT_MONTH:
|
|
salaryCycleStr = Objects.equals(salaryCycleFromDay, "1") ? SalaryI18nUtil.getI18nLabel(98398, "下月1号——下月最后一天")
|
|
: SalaryI18nUtil.getI18nLabel(98402, "下月{0}号——下下月{1}号")
|
|
.replace("{0}", "" + salaryCycleFromDay)
|
|
.replace("{1}", "" + (Integer.parseInt(salaryCycleFromDay) - 1));
|
|
break;
|
|
default:
|
|
salaryCycleStr = "";
|
|
}
|
|
return salaryCycleStr;
|
|
}
|
|
|
|
}
|