utis
This commit is contained in:
parent
575e54536a
commit
cff05b3f29
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.api.bjcj220907.web;
|
||||||
|
|
||||||
|
import com.engine.bjcj220907.web.OverseasAllowanceCountController;
|
||||||
|
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/26 13:41
|
||||||
|
* @description
|
||||||
|
*/
|
||||||
|
@Path("/bs/OverseasAllowanceCount")
|
||||||
|
public class OverseasAllowanceWeb extends OverseasAllowanceCountController {
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.engine.bjcj220907.dao;
|
||||||
|
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/26 14:10
|
||||||
|
* @description 境外津贴
|
||||||
|
*/
|
||||||
|
public class OverseasAllowanceDAO {
|
||||||
|
|
||||||
|
BaseBean baseBean = new BaseBean();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 判断月度绩效核算表中是否有该月数据
|
||||||
|
* @return void
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/8 17:25
|
||||||
|
*/
|
||||||
|
// public boolean haveRecord(Date bonusMonth) {
|
||||||
|
// RecordSet rs = new RecordSet();
|
||||||
|
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||||
|
// String sql ="select count(*) from uf_ydjxzj where JXSSYF ='"+sdf.format(bonusMonth)+"'";
|
||||||
|
// rs.execute(sql);
|
||||||
|
// while (rs.next()){
|
||||||
|
// int anInt = rs.getInt("count(*)");
|
||||||
|
// if(anInt>1){
|
||||||
|
// baseBean.writeLog("该绩效所属月已有核算记录");
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -26,4 +26,9 @@ public class JwCZInfo {
|
||||||
* 境外常驻详细信息
|
* 境外常驻详细信息
|
||||||
*/
|
*/
|
||||||
private List<JwCZInfoDetail> infos;
|
private List<JwCZInfoDetail> infos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤月份中境外应常驻天数
|
||||||
|
*/
|
||||||
|
private Integer yczDays;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,4 +38,9 @@ public class JwCZInfoDetail {
|
||||||
* 境外工作结束日期
|
* 境外工作结束日期
|
||||||
*/
|
*/
|
||||||
private Date jwczjsrq;
|
private Date jwczjsrq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 天数
|
||||||
|
*/
|
||||||
|
private Integer days;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.engine.bjcj220907.service;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/26 13:59
|
||||||
|
* @description 境外津贴
|
||||||
|
*/
|
||||||
|
public interface OverseasAllowanceCountService {
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @description 计算境外津贴
|
||||||
|
* @return void
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/26 14:05
|
||||||
|
*/
|
||||||
|
void countOverseasAllowance(Calendar countCal);
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ import com.engine.bjcj220907.dao.MonthBonusDAO;
|
||||||
import com.engine.bjcj220907.entity.*;
|
import com.engine.bjcj220907.entity.*;
|
||||||
import com.engine.bjcj220907.service.GetKQ4MonthBonusService;
|
import com.engine.bjcj220907.service.GetKQ4MonthBonusService;
|
||||||
import com.engine.bjcj220907.service.MonthBonusCountService;
|
import com.engine.bjcj220907.service.MonthBonusCountService;
|
||||||
|
import com.engine.bjcj220907.utils.BjcjCommonUtils;
|
||||||
import com.engine.common.util.ServiceUtil;
|
import com.engine.common.util.ServiceUtil;
|
||||||
import com.engine.core.impl.Service;
|
import com.engine.core.impl.Service;
|
||||||
import weaver.general.BaseBean;
|
import weaver.general.BaseBean;
|
||||||
|
|
@ -80,8 +81,8 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
baseBean.writeLog("获取所有人的薪酬等级和绩效工资");
|
baseBean.writeLog("获取所有人的薪酬等级和绩效工资");
|
||||||
// 获取在职员工的考勤周期(上个月29-这个月28)
|
// 获取在职员工的考勤周期(上个月29-这个月28)
|
||||||
Calendar startAttendanceCal = getStartAttendanceCal(bonusMonth);
|
Calendar startAttendanceCal = BjcjCommonUtils.getStartAttendanceCal(bonusMonth);
|
||||||
Calendar endAttendanceCal = getEndAttendanceCal(bonusMonth);
|
Calendar endAttendanceCal = BjcjCommonUtils.getEndAttendanceCal(bonusMonth);
|
||||||
|
|
||||||
// 获取所有人的境外常驻信息
|
// 获取所有人的境外常驻信息
|
||||||
List<JwCZInfoDetail> czInfos = getMonthBonusDAO().getCZInfo();
|
List<JwCZInfoDetail> czInfos = getMonthBonusDAO().getCZInfo();
|
||||||
|
|
@ -96,8 +97,8 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
// 循环将离职人员的各个月的缺勤天数取到
|
// 循环将离职人员的各个月的缺勤天数取到
|
||||||
Map<String, Double> qqDatasDepar= new HashMap<>();
|
Map<String, Double> qqDatasDepar= new HashMap<>();
|
||||||
for(int i=0;i<departureTemp.size();i++){
|
for(int i=0;i<departureTemp.size();i++){
|
||||||
Date saDate = getStartAttendanceCal(departureTemp.get(i).getKqyf()).getTime();
|
Date saDate = BjcjCommonUtils.getStartAttendanceCal(departureTemp.get(i).getKqyf()).getTime();
|
||||||
Date eaDate = getEndAttendanceCal(departureTemp.get(i).getKqyf()).getTime();
|
Date eaDate = BjcjCommonUtils.getEndAttendanceCal(departureTemp.get(i).getKqyf()).getTime();
|
||||||
qqDatasDepar.putAll(getKQ4MonthBonusService().getKQDatas(Attend4MonthBonus.builder().beginDate(saDate).endDate(eaDate).user(Integer.valueOf(departureTemp.get(i).getXm())).build()));
|
qqDatasDepar.putAll(getKQ4MonthBonusService().getKQDatas(Attend4MonthBonus.builder().beginDate(saDate).endDate(eaDate).user(Integer.valueOf(departureTemp.get(i).getXm())).build()));
|
||||||
}
|
}
|
||||||
baseBean.writeLog("获取所有离职人员的各个月的缺勤天数"+qqDatasDepar);
|
baseBean.writeLog("获取所有离职人员的各个月的缺勤天数"+qqDatasDepar);
|
||||||
|
|
@ -137,9 +138,9 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
List<Date> details = new ArrayList<>();
|
List<Date> details = new ArrayList<>();
|
||||||
|
|
||||||
// 考勤开始日期(在职、离职)
|
// 考勤开始日期(在职、离职)
|
||||||
Calendar s = getStartAttendanceCal(item.getKqyf());
|
Calendar s = BjcjCommonUtils.getStartAttendanceCal(item.getKqyf());
|
||||||
// 考勤结束日期(在职、离职)
|
// 考勤结束日期(在职、离职)
|
||||||
Calendar e = getEndAttendanceCal(item.getKqyf());
|
Calendar e = BjcjCommonUtils.getEndAttendanceCal(item.getKqyf());
|
||||||
// 用于存储计算到哪一天的日期
|
// 用于存储计算到哪一天的日期
|
||||||
Calendar c = Calendar.getInstance();
|
Calendar c = Calendar.getInstance();
|
||||||
c.setTime(e.getTime());
|
c.setTime(e.getTime());
|
||||||
|
|
@ -150,13 +151,13 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
// 开始常驻
|
// 开始常驻
|
||||||
if(infoi.getJwczksrq().after(s.getTime())){
|
if(infoi.getJwczksrq().after(s.getTime())){
|
||||||
// 开始常驻日期在 考勤开始日期后,结束日期前
|
// 开始常驻日期在 考勤开始日期后,结束日期前
|
||||||
int d = getDays(infoi.getJwczksrq(), e.getTime());
|
int d = BjcjCommonUtils.getDays(infoi.getJwczksrq(), e.getTime());
|
||||||
ycq[0]+=d;
|
ycq[0]+=d;
|
||||||
countDay[0].setTime(infoi.getJwczksrq());
|
countDay[0].setTime(infoi.getJwczksrq());
|
||||||
countDay[0].add(Calendar.DATE,-1);
|
countDay[0].add(Calendar.DATE,-1);
|
||||||
}else{
|
}else{
|
||||||
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
||||||
ycq[0]=getDays(s.getTime(), e.getTime());
|
ycq[0]=BjcjCommonUtils.getDays(s.getTime(), e.getTime());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -234,7 +235,7 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
Calendar deparLastDay = Calendar.getInstance();
|
Calendar deparLastDay = Calendar.getInstance();
|
||||||
deparLastDay.setTime(date);
|
deparLastDay.setTime(date);
|
||||||
deparLastDay.add(Calendar.DATE,1);
|
deparLastDay.add(Calendar.DATE,1);
|
||||||
Calendar deaprAttendEndDay = getEndAttendanceCal(kqyf);
|
Calendar deaprAttendEndDay = BjcjCommonUtils.getEndAttendanceCal(kqyf);
|
||||||
double[] sqq={0.0};
|
double[] sqq={0.0};
|
||||||
if(Math.abs(i.getYcq()-21.75) < 0.000000002){
|
if(Math.abs(i.getYcq()-21.75) < 0.000000002){
|
||||||
int[] qq={0};
|
int[] qq={0};
|
||||||
|
|
@ -250,7 +251,7 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
sqq[0] = i.getQq()+qq[0];
|
sqq[0] = i.getQq()+qq[0];
|
||||||
}else{
|
}else{
|
||||||
// 存在境外,取离职日后一天-考勤最后一天的自然日
|
// 存在境外,取离职日后一天-考勤最后一天的自然日
|
||||||
sqq[0] = i.getQq()+getDays(deparLastDay.getTime(), deaprAttendEndDay.getTime());
|
sqq[0] = i.getQq()+BjcjCommonUtils.getDays(deparLastDay.getTime(), deaprAttendEndDay.getTime());
|
||||||
}
|
}
|
||||||
i.setQq(sqq[0]);
|
i.setQq(sqq[0]);
|
||||||
// 重新计算1、实出勤天数 =应出勤天数-缺勤天数 2、奖金基数(考勤)= 月度绩效奖金基数-月度绩效基数/满勤*缺勤天数 3、奖金实发放额= 奖金基数(考勤)*个人绩效系数
|
// 重新计算1、实出勤天数 =应出勤天数-缺勤天数 2、奖金基数(考勤)= 月度绩效奖金基数-月度绩效基数/满勤*缺勤天数 3、奖金实发放额= 奖金基数(考勤)*个人绩效系数
|
||||||
|
|
@ -277,13 +278,13 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/***
|
/**
|
||||||
* @description 境外常驻信息格式化
|
* @description 境外常驻信息格式化
|
||||||
* @return void
|
* @return void
|
||||||
* @author Harryxzy
|
* @author Harryxzy
|
||||||
* @date 2022/9/11 17:07
|
* @date 2022/9/11 17:07
|
||||||
*/
|
*/
|
||||||
private List<JwCZInfo> formatJwCZInfo(List<JwCZInfoDetail> czInfos) {
|
public static List<JwCZInfo> formatJwCZInfo(List<JwCZInfoDetail> czInfos) {
|
||||||
Map<String, List<JwCZInfoDetail>> groupByName = czInfos.stream().collect(Collectors.groupingBy(item -> item.getXm()));
|
Map<String, List<JwCZInfoDetail>> groupByName = czInfos.stream().collect(Collectors.groupingBy(item -> item.getXm()));
|
||||||
List<JwCZInfo> formatJwCZInfos = new ArrayList<>();
|
List<JwCZInfo> formatJwCZInfos = new ArrayList<>();
|
||||||
for (Map.Entry<String, List<JwCZInfoDetail>> entry : groupByName.entrySet()) {
|
for (Map.Entry<String, List<JwCZInfoDetail>> entry : groupByName.entrySet()) {
|
||||||
|
|
@ -293,73 +294,5 @@ public class MonthBonusCountServiceImpl extends Service implements MonthBonusCou
|
||||||
return formatJwCZInfos;
|
return formatJwCZInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @description 获取2个时间段中有多少天
|
|
||||||
* @return Long
|
|
||||||
* @author Harryxzy
|
|
||||||
* @date 2022/9/11 20:12
|
|
||||||
*/
|
|
||||||
private int getDays(Date startDate,Date endDate) {
|
|
||||||
int days = (int)( (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24) + 1);
|
|
||||||
return days;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @description 判断某一天是否在某一个时间区间内
|
|
||||||
* @return Long
|
|
||||||
* @author Harryxzy
|
|
||||||
* @date 2022/9/11 20:12
|
|
||||||
*/
|
|
||||||
private boolean isBetween(Date now,Date startDate,Date endDate) {
|
|
||||||
if( (now.after(startDate) || now.equals(startDate)) && ( (now.before(endDate) || now.equals(endDate)) )){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***
|
|
||||||
* @description 根据考勤所属月获取考勤开始日期
|
|
||||||
* @return Calendar
|
|
||||||
* @author Harryxzy
|
|
||||||
* @date 2022/9/14 21:57
|
|
||||||
*/
|
|
||||||
private Calendar getStartAttendanceCal(Date bonusMonth){
|
|
||||||
Calendar startAttendanceCal = Calendar.getInstance();
|
|
||||||
startAttendanceCal.setTime(bonusMonth);
|
|
||||||
startAttendanceCal.add(Calendar.MONTH,-1);
|
|
||||||
if(startAttendanceCal.getActualMaximum(Calendar.DAY_OF_MONTH) == 28){
|
|
||||||
// 2月只有28天的情况(从3.1开始)
|
|
||||||
startAttendanceCal.add(Calendar.MONTH, 1);
|
|
||||||
startAttendanceCal.set(Calendar.DAY_OF_MONTH, 1);
|
|
||||||
startAttendanceCal.set(Calendar.HOUR_OF_DAY, 0);
|
|
||||||
startAttendanceCal.set(Calendar.MINUTE, 0);
|
|
||||||
startAttendanceCal.set(Calendar.SECOND, 0);
|
|
||||||
startAttendanceCal.set(Calendar.MILLISECOND, 0);
|
|
||||||
}else{
|
|
||||||
startAttendanceCal.set(Calendar.DAY_OF_MONTH, 29);
|
|
||||||
startAttendanceCal.set(Calendar.HOUR_OF_DAY, 0);
|
|
||||||
startAttendanceCal.set(Calendar.MINUTE, 0);
|
|
||||||
startAttendanceCal.set(Calendar.SECOND, 0);
|
|
||||||
startAttendanceCal.set(Calendar.MILLISECOND, 0);
|
|
||||||
}
|
|
||||||
return startAttendanceCal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***
|
|
||||||
* @description 根据考勤所属月获取考勤结束日期
|
|
||||||
* @return Calendar
|
|
||||||
* @author Harryxzy
|
|
||||||
* @date 2022/9/14 21:57
|
|
||||||
*/
|
|
||||||
private Calendar getEndAttendanceCal(Date bonusMonth){
|
|
||||||
Calendar endAttendanceCal = Calendar.getInstance();
|
|
||||||
endAttendanceCal.setTime(bonusMonth);
|
|
||||||
endAttendanceCal.set(Calendar.DAY_OF_MONTH,28);
|
|
||||||
endAttendanceCal.set(Calendar.HOUR_OF_DAY, 23);
|
|
||||||
endAttendanceCal.set(Calendar.MINUTE, 59);
|
|
||||||
endAttendanceCal.set(Calendar.SECOND, 59);
|
|
||||||
endAttendanceCal.set(Calendar.MILLISECOND, 999);
|
|
||||||
return endAttendanceCal;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.engine.bjcj220907.service.impl;
|
||||||
|
|
||||||
|
import com.engine.bjcj220907.dao.MonthBonusDAO;
|
||||||
|
import com.engine.bjcj220907.entity.JwCZInfo;
|
||||||
|
import com.engine.bjcj220907.entity.JwCZInfoDetail;
|
||||||
|
import com.engine.bjcj220907.service.OverseasAllowanceCountService;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/26 14:03
|
||||||
|
* @description 境外津贴
|
||||||
|
*/
|
||||||
|
public class OverseasAllowanceCountServiceImpl implements OverseasAllowanceCountService {
|
||||||
|
|
||||||
|
BaseBean baseBean = new BaseBean();
|
||||||
|
|
||||||
|
public MonthBonusDAO getMonthBonusDAO(){
|
||||||
|
return new MonthBonusDAO();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @description 计算境外津贴
|
||||||
|
* @return void
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/26 14:06
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void countOverseasAllowance(Calendar countCal) {
|
||||||
|
// 境外津贴包含:境外津贴(天标准)+境外工龄补贴(月标准)+艰苦地区补贴(天标准)
|
||||||
|
// 获取境外津贴(天标准) --计算当月应常驻天数
|
||||||
|
// 获取所有人的境外常驻信息
|
||||||
|
List<JwCZInfoDetail> czInfos = getMonthBonusDAO().getCZInfo();
|
||||||
|
baseBean.writeLog("获取所有人的境外常驻信息,共:"+czInfos.size());
|
||||||
|
// 将境外常驻信息格式化
|
||||||
|
List<JwCZInfo> jwCZInfos = MonthBonusCountServiceImpl.formatJwCZInfo(czInfos);
|
||||||
|
baseBean.writeLog("将境外常驻信息格式化");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
package com.engine.bjcj220907.utils;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/26 13:55
|
||||||
|
* @description
|
||||||
|
*/
|
||||||
|
public class BjcjCommonUtils {
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @description 获取当前calendar
|
||||||
|
* @return Calendar
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/26 14:44
|
||||||
|
*/
|
||||||
|
public static Calendar getNowCalendar(){
|
||||||
|
Date date = new Date();
|
||||||
|
Calendar cal = Calendar.getInstance();
|
||||||
|
cal.setTime(date);
|
||||||
|
return cal;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @description 根据考勤所属月获取考勤开始日期
|
||||||
|
* @return Calendar
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/14 21:57
|
||||||
|
*/
|
||||||
|
public static Calendar getStartAttendanceCal(Date bonusMonth){
|
||||||
|
Calendar startAttendanceCal = Calendar.getInstance();
|
||||||
|
startAttendanceCal.setTime(bonusMonth);
|
||||||
|
startAttendanceCal.add(Calendar.MONTH,-1);
|
||||||
|
if(startAttendanceCal.getActualMaximum(Calendar.DAY_OF_MONTH) == 28){
|
||||||
|
// 2月只有28天的情况(从3.1开始)
|
||||||
|
startAttendanceCal.add(Calendar.MONTH, 1);
|
||||||
|
startAttendanceCal.set(Calendar.DAY_OF_MONTH, 1);
|
||||||
|
startAttendanceCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
startAttendanceCal.set(Calendar.MINUTE, 0);
|
||||||
|
startAttendanceCal.set(Calendar.SECOND, 0);
|
||||||
|
startAttendanceCal.set(Calendar.MILLISECOND, 0);
|
||||||
|
}else{
|
||||||
|
startAttendanceCal.set(Calendar.DAY_OF_MONTH, 29);
|
||||||
|
startAttendanceCal.set(Calendar.HOUR_OF_DAY, 0);
|
||||||
|
startAttendanceCal.set(Calendar.MINUTE, 0);
|
||||||
|
startAttendanceCal.set(Calendar.SECOND, 0);
|
||||||
|
startAttendanceCal.set(Calendar.MILLISECOND, 0);
|
||||||
|
}
|
||||||
|
return startAttendanceCal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @description 根据考勤所属月获取考勤结束日期
|
||||||
|
* @return Calendar
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/14 21:57
|
||||||
|
*/
|
||||||
|
public static Calendar getEndAttendanceCal(Date bonusMonth){
|
||||||
|
Calendar endAttendanceCal = Calendar.getInstance();
|
||||||
|
endAttendanceCal.setTime(bonusMonth);
|
||||||
|
endAttendanceCal.set(Calendar.DAY_OF_MONTH,28);
|
||||||
|
endAttendanceCal.set(Calendar.HOUR_OF_DAY, 23);
|
||||||
|
endAttendanceCal.set(Calendar.MINUTE, 59);
|
||||||
|
endAttendanceCal.set(Calendar.SECOND, 59);
|
||||||
|
endAttendanceCal.set(Calendar.MILLISECOND, 999);
|
||||||
|
return endAttendanceCal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 获取2个时间段中有多少天
|
||||||
|
* @return Long
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/11 20:12
|
||||||
|
*/
|
||||||
|
public static int getDays(Date startDate,Date endDate) {
|
||||||
|
int days = (int)( (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24) + 1);
|
||||||
|
return days;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 判断某一天是否在某一个时间区间内
|
||||||
|
* @return Long
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/11 20:12
|
||||||
|
*/
|
||||||
|
public static boolean isBetween(Date now,Date startDate,Date endDate) {
|
||||||
|
if( (now.after(startDate) || now.equals(startDate)) && ( (now.before(endDate) || now.equals(endDate)) )){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.engine.bjcj220907.web;
|
||||||
|
|
||||||
|
import com.engine.bjcj220907.service.impl.OverseasAllowanceCountServiceImpl;
|
||||||
|
import com.engine.bjcj220907.utils.BjcjCommonUtils;
|
||||||
|
import weaver.general.BaseBean;
|
||||||
|
import weaver.hrm.HrmUserVarify;
|
||||||
|
import weaver.hrm.User;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.ws.rs.GET;
|
||||||
|
import javax.ws.rs.Path;
|
||||||
|
import javax.ws.rs.Produces;
|
||||||
|
import javax.ws.rs.core.Context;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/26 13:42
|
||||||
|
* @description
|
||||||
|
*/
|
||||||
|
public class OverseasAllowanceCountController {
|
||||||
|
|
||||||
|
BaseBean baseBean = new BaseBean();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 境外津贴计算
|
||||||
|
*/
|
||||||
|
@GET
|
||||||
|
@Path("/countOverseasAllowanceCount")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public void countOverseasAllowance(@Context HttpServletRequest request, @Context HttpServletResponse response) {
|
||||||
|
User user = HrmUserVarify.getUser(request, response);
|
||||||
|
Calendar cal = BjcjCommonUtils.getNowCalendar();
|
||||||
|
cal.add(Calendar.MONTH,-1);
|
||||||
|
baseBean.writeLog("开始计算:"+cal.getTime()+"的境外津贴");
|
||||||
|
new OverseasAllowanceCountServiceImpl().countOverseasAllowance(cal);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue