工龄补贴
This commit is contained in:
parent
6bac35b3ee
commit
2ff05c2063
|
|
@ -1,5 +1,6 @@
|
||||||
package com.engine.bjcj220907.dao;
|
package com.engine.bjcj220907.dao;
|
||||||
|
|
||||||
|
import com.engine.bjcj220907.entity.JwCZInfoDetail;
|
||||||
import com.engine.bjcj220907.entity.XcdjJwjtParam;
|
import com.engine.bjcj220907.entity.XcdjJwjtParam;
|
||||||
import weaver.conn.RecordSet;
|
import weaver.conn.RecordSet;
|
||||||
import weaver.general.BaseBean;
|
import weaver.general.BaseBean;
|
||||||
|
|
@ -17,6 +18,50 @@ public class OverseasAllowanceDAO {
|
||||||
BaseBean baseBean = new BaseBean();
|
BaseBean baseBean = new BaseBean();
|
||||||
|
|
||||||
|
|
||||||
|
/***
|
||||||
|
* @description 获取所有人的境外常驻信息
|
||||||
|
* @return void
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/28 16:06
|
||||||
|
*/
|
||||||
|
public List<JwCZInfoDetail> getCZInfo() {
|
||||||
|
RecordSet rs = new RecordSet();
|
||||||
|
String sql="select xm,jwgzksrq,jwgzjsrq,lx,jsglts,btbz " +
|
||||||
|
"from UF_NJJMB_DT1 d LEFT JOIN UF_NJJMB m on d.MAINID=m.id " +
|
||||||
|
"LEFT JOIN uf_bjcjtestgl g on g.jwgl=case when floor(jsglts/365)>5 then 5 else floor(jsglts/365) end " +
|
||||||
|
"WHERE lx in(0,1) " +
|
||||||
|
"ORDER by JWGZKSRQ desc";
|
||||||
|
rs.execute(sql);
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
|
ArrayList<JwCZInfoDetail> results = new ArrayList<>();
|
||||||
|
while (rs.next()){
|
||||||
|
try {
|
||||||
|
String jwgzksrqStr = rs.getString("jwgzksrq");
|
||||||
|
Date jwgzksrq=null;
|
||||||
|
String jwgzjsrqStr = rs.getString("jwgzjsrq");
|
||||||
|
Date jwgzjsrq=null;
|
||||||
|
double jsglts = rs.getDouble("jsglts");
|
||||||
|
double btbz = rs.getDouble("btbz");
|
||||||
|
if(btbz == -1){
|
||||||
|
// 境外工龄未满1年
|
||||||
|
btbz=0.0;
|
||||||
|
}
|
||||||
|
if(jwgzksrqStr!=null && jwgzksrqStr.length()!=0){
|
||||||
|
jwgzksrq = sdf.parse(jwgzksrqStr);
|
||||||
|
}
|
||||||
|
if(jwgzjsrqStr!=null && jwgzjsrqStr.length()!=0){
|
||||||
|
jwgzjsrq = sdf.parse(jwgzjsrqStr);
|
||||||
|
}
|
||||||
|
JwCZInfoDetail build = JwCZInfoDetail.builder().xm(rs.getString("xm")).lx(rs.getInt("lx")).jwczksrq(jwgzksrq).jwczjsrq(jwgzjsrq).jsglts(jsglts).glbtybz(btbz).build();
|
||||||
|
results.add(build);
|
||||||
|
}catch (Exception e){
|
||||||
|
baseBean.writeLog(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description 计算考勤所属月境外常驻员工的薪酬等级
|
* @description 计算考勤所属月境外常驻员工的薪酬等级
|
||||||
* @return Map<String,String>
|
* @return Map<String,String>
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Harryxzy
|
* @author Harryxzy
|
||||||
* @date 2022/09/26 17:19
|
* @date 2022/09/26 17:19
|
||||||
|
|
@ -17,20 +19,45 @@ import lombok.NoArgsConstructor;
|
||||||
public class JWJT {
|
public class JWJT {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 境外津贴
|
* 用户名
|
||||||
*/
|
*/
|
||||||
private String user;
|
private String user;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 考勤月份
|
||||||
|
*/
|
||||||
|
private Date kqMonth;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 境外应常驻天数
|
* 境外应常驻天数
|
||||||
*/
|
*/
|
||||||
private double jwycq;
|
private double jwycq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 境外实际常驻天数 境外应常驻天数-请假天数(不含年假、奖励假)-公务回国天数
|
||||||
|
*/
|
||||||
|
private double jwscq;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 国内工作天数(工作日)
|
* 国内工作天数(工作日)
|
||||||
*/
|
*/
|
||||||
private double gngzts;
|
private double gngzts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 缺勤天数(请假)
|
||||||
|
*/
|
||||||
|
private double qq;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公务回国天数(包含周末)
|
||||||
|
*/
|
||||||
|
private double gwhg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 公务回国工作日天数
|
||||||
|
*/
|
||||||
|
private double gwhgWorkdays;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 薪酬等级
|
* 薪酬等级
|
||||||
*/
|
*/
|
||||||
|
|
@ -40,4 +67,29 @@ public class JWJT {
|
||||||
* 境外津贴标准
|
* 境外津贴标准
|
||||||
*/
|
*/
|
||||||
private double jwjtbz;
|
private double jwjtbz;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 境外津贴=境外实际常驻天数*境外津贴标准
|
||||||
|
*/
|
||||||
|
private double jwjt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 境外工龄补贴月标准
|
||||||
|
*/
|
||||||
|
private double jwglbtybz;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 境外工龄补贴日标准
|
||||||
|
*/
|
||||||
|
private double jwglbtrbz;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 境外工龄天数
|
||||||
|
*/
|
||||||
|
private double jwgl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 艰苦地区补贴
|
||||||
|
*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,21 @@ public class JwCZInfo {
|
||||||
*/
|
*/
|
||||||
private List<JwCZInfoDetail> infos;
|
private List<JwCZInfoDetail> infos;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算工龄天数
|
||||||
|
*/
|
||||||
|
private double jsglts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工龄补贴月标准
|
||||||
|
*/
|
||||||
|
private double glbtybz;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工龄补贴日标准
|
||||||
|
*/
|
||||||
|
private double glbtrbz;
|
||||||
|
|
||||||
// /**
|
// /**
|
||||||
// * 考勤月份中境外应常驻天数
|
// * 考勤月份中境外应常驻天数
|
||||||
// */
|
// */
|
||||||
|
|
|
||||||
|
|
@ -43,4 +43,21 @@ public class JwCZInfoDetail {
|
||||||
* 天数
|
* 天数
|
||||||
*/
|
*/
|
||||||
private Integer days;
|
private Integer days;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计算工龄天数
|
||||||
|
*/
|
||||||
|
private double jsglts;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工龄补贴月标准
|
||||||
|
*/
|
||||||
|
private double glbtybz;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工龄补贴日标准
|
||||||
|
*/
|
||||||
|
private double glbtrbz;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
package com.engine.bjcj220907.entity;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/09/28 15:58
|
||||||
|
* @description
|
||||||
|
*/
|
||||||
|
public class jkdqbt {
|
||||||
|
}
|
||||||
|
|
@ -49,10 +49,13 @@ public class GetKQ4OverseasAllowanceCountServiceImpl extends Service implements
|
||||||
Map<String, Object> temp = new HashMap<String, Object>();
|
Map<String, Object> temp = new HashMap<String, Object>();
|
||||||
temp.put("data", JSONObject.toJSONString(paramsMap));
|
temp.put("data", JSONObject.toJSONString(paramsMap));
|
||||||
temp.put("reportType", "month");
|
temp.put("reportType", "month");
|
||||||
|
baseBean.writeLog("开始执行GetKQReportCmd");
|
||||||
Map execute = commandExecutor.execute(new GetKQReportCmd(temp,user));
|
Map execute = commandExecutor.execute(new GetKQReportCmd(temp,user));
|
||||||
|
baseBean.writeLog("GetKQReportCmd执行成功");
|
||||||
// 获取列数据
|
// 获取列数据
|
||||||
columnsList = (List<Map>) execute.get("columns");
|
columnsList = (List<Map>) execute.get("columns");
|
||||||
List c = new ArrayList();
|
List c = new ArrayList();
|
||||||
|
String[] gwhgDataIndex={""};
|
||||||
columnsList.stream().forEach(column->{
|
columnsList.stream().forEach(column->{
|
||||||
if(column.get("title").equals("旷工")){
|
if(column.get("title").equals("旷工")){
|
||||||
c.add(column.get("dataIndex"));
|
c.add(column.get("dataIndex"));
|
||||||
|
|
@ -60,39 +63,37 @@ public class GetKQ4OverseasAllowanceCountServiceImpl extends Service implements
|
||||||
if(column.get("title").equals("出差及请假")){
|
if(column.get("title").equals("出差及请假")){
|
||||||
List<Map> children =(List<Map>) column.get("children");
|
List<Map> children =(List<Map>) column.get("children");
|
||||||
children.stream().forEach(i->{
|
children.stream().forEach(i->{
|
||||||
if((!i.get("title").equals("境内年假")) && (!i.get("title").equals("境外年假")) && (!i.get("title").equals("奖励假")) && (!i.get("title").equals("工伤")) && (!i.get("title").equals("隔离假")) ){
|
if((!i.get("title").equals("境内年假")) && (!i.get("title").equals("境外年假")) && (!i.get("title").equals("工伤"))){
|
||||||
c.add(i.get("dataIndex"));
|
c.add(i.get("dataIndex"));
|
||||||
}
|
}
|
||||||
|
if(i.get("title").equals("公务回国") ){
|
||||||
|
gwhgDataIndex[0] =(String) column.get("dataIndex");
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
baseBean.writeLog("计算缺勤列:"+c);
|
baseBean.writeLog("计算缺勤列:"+c);
|
||||||
dataList = (List<Map<String, String>>) execute.get("datas");
|
dataList = (List<Map<String, String>>) execute.get("datas");
|
||||||
// 获取每个人的缺勤天数
|
// 获取每个人的缺勤天数、及公务回国天数
|
||||||
Map<String, Double> qqDays = new HashMap<>();
|
Map<String, Double> qqDays = new HashMap<>();
|
||||||
// dataList.stream().forEach(i->{
|
String[] gwhgS= {""};
|
||||||
// if(attend4MonthBonus.getUser()!=null){
|
dataList.stream().forEach(i->{
|
||||||
// if(i.get("resourceId").equals(attend4MonthBonus.getUser())){
|
double[] qq={0.0};
|
||||||
// double[] qq={0.0};
|
c.stream().forEach(j->{
|
||||||
// c.stream().forEach(j->{
|
// 累加各种请假天数
|
||||||
// // 累加各种请假天数
|
qq[0]+=Double.parseDouble(i.get(j));
|
||||||
// qq[0]+=Double.parseDouble(i.get(j));
|
});
|
||||||
// });
|
String qqStr = i.get("resourceId") +"-qq";
|
||||||
// String s = i.get("resourceId") +"-"+ sdf2.format(attend4MonthBonus.getEndDate());
|
qqDays.put(qqStr,qq[0]);
|
||||||
// qqDays.put(s,qq[0]);
|
String gwhgStr = i.get("resourceId") + "-gwhg";
|
||||||
// }
|
if(!gwhgDataIndex[0].equals("")){
|
||||||
// }else{
|
gwhgS[0] = i.get(gwhgDataIndex[0]);
|
||||||
// double[] qq={0.0};
|
}else {
|
||||||
// c.stream().forEach(j->{
|
gwhgS[0] ="0";
|
||||||
// // 累加各种请假天数
|
}
|
||||||
// qq[0]+=Double.parseDouble(i.get(j));
|
qqDays.put(gwhgStr,Double.valueOf(gwhgS[0]));
|
||||||
// });
|
});
|
||||||
// String s = i.get("resourceId") +"-"+ sdf2.format(attend4MonthBonus.getEndDate());
|
baseBean.writeLog("获取的考勤缺勤及公务回国天数,{}", JSONUtils.toJSONString(qqDays));
|
||||||
// qqDays.put(s,qq[0]);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// });
|
|
||||||
baseBean.writeLog("获取的考勤缺勤天数,{}", JSONUtils.toJSONString(qqDays));
|
|
||||||
return qqDays;
|
return qqDays;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
baseBean.writeLog("获取考勤数据失败{}", e);
|
baseBean.writeLog("获取考勤数据失败{}", e);
|
||||||
|
|
|
||||||
|
|
@ -45,29 +45,35 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
// 境外津贴包含:境外津贴(天标准)+境外工龄补贴(月标准)+艰苦地区补贴(天标准)
|
// 境外津贴包含:境外津贴(天标准)+境外工龄补贴(月标准)+艰苦地区补贴(天标准)
|
||||||
// 获取境外津贴(天标准) --计算当月应常驻天数
|
// 获取境外津贴(天标准) --计算当月应常驻天数
|
||||||
// 获取所有人的境外常驻信息
|
// 获取所有人的境外常驻信息
|
||||||
List<JwCZInfoDetail> czInfos = getMonthBonusDAO().getCZInfo();
|
List<JwCZInfoDetail> czInfos = getOverseasAllowanceDAO().getCZInfo();
|
||||||
baseBean.writeLog("获取所有人的境外常驻信息,共:"+czInfos.size());
|
baseBean.writeLog("获取所有人的境外常驻信息,共:"+czInfos.size());
|
||||||
// 将境外常驻信息格式化
|
|
||||||
List<JwCZInfo> jwCZInfos = MonthBonusCountServiceImpl.formatJwCZInfo(czInfos);
|
|
||||||
baseBean.writeLog("将境外常驻信息格式化");
|
|
||||||
// 考勤开始日期
|
// 考勤开始日期
|
||||||
Calendar startAttendanceCal = BjcjCommonUtils.getStartAttendanceCal(countCal.getTime());
|
Calendar startAttendanceCal = BjcjCommonUtils.getStartAttendanceCal(countCal.getTime());
|
||||||
// 考勤结束日期
|
// 考勤结束日期
|
||||||
Calendar endAttendanceCal = BjcjCommonUtils.getEndAttendanceCal(countCal.getTime());
|
Calendar endAttendanceCal = BjcjCommonUtils.getEndAttendanceCal(countCal.getTime());
|
||||||
baseBean.writeLog("考勤开始日期:"+startAttendanceCal.getTime()+",考勤结束日期:"+endAttendanceCal);
|
baseBean.writeLog("考勤开始日期:"+startAttendanceCal.getTime()+",考勤结束日期:"+endAttendanceCal);
|
||||||
|
// 将境外常驻信息格式化
|
||||||
|
List<JwCZInfo> jwCZInfos = formatJwCZInfo(czInfos,startAttendanceCal,endAttendanceCal);
|
||||||
|
baseBean.writeLog("将境外常驻信息格式化");
|
||||||
// 如果用户在考勤周期内存在境外常驻信息则过滤出来,并且计算当月应常驻天数
|
// 如果用户在考勤周期内存在境外常驻信息则过滤出来,并且计算当月应常驻天数
|
||||||
List<JWJT> results = getCZInfosAndCZDays(jwCZInfos, startAttendanceCal, endAttendanceCal);
|
List<JWJT> results = getCZInfosAndCZDays(jwCZInfos, startAttendanceCal, endAttendanceCal);
|
||||||
baseBean.writeLog("获取用户在考勤周期内存在境外常驻信息过滤出来,并且计算当月境外应常驻天数及境内工作天数:"+results.size());
|
baseBean.writeLog("获取用户在考勤周期内存在境外常驻信息过滤出来,并且计算当月境外应常驻天数及境内工作天数,共::"+results.size());
|
||||||
// 计算考勤所属月员工的薪酬等级,获取相应的境外津贴标准
|
// 计算考勤所属月员工的薪酬等级,获取相应的境外津贴标准
|
||||||
List<String> users = results.stream().map(i -> i.getUser()).collect(Collectors.toList());
|
List<String> users = results.stream().map(i -> i.getUser()).collect(Collectors.toList());
|
||||||
Map<Integer, XcdjJwjtParam> usersXSDJ = getOverseasAllowanceDAO().getXCDJByUsers(users,startAttendanceCal);
|
Map<Integer, XcdjJwjtParam> usersXSDJ = getOverseasAllowanceDAO().getXCDJByUsers(users,startAttendanceCal);
|
||||||
baseBean.writeLog("获取所有员工考勤所属月的薪酬等级及所对应的境外津贴标准:"+usersXSDJ.size());
|
baseBean.writeLog("获取所有员工考勤所属月的薪酬等级及所对应的境外津贴标准,共:"+usersXSDJ.size());
|
||||||
// 封装薪酬等级、境外津贴标准
|
// 获取公务回国天数 及 缺勤天数
|
||||||
getXcdjAndJwjtbz(results,usersXSDJ);
|
|
||||||
// 获取公务回国天数 及 公务回国工作日天数
|
|
||||||
Attend4MonthBonus build = Attend4MonthBonus.builder().beginDate(startAttendanceCal.getTime()).endDate(endAttendanceCal.getTime()).build();
|
Attend4MonthBonus build = Attend4MonthBonus.builder().beginDate(startAttendanceCal.getTime()).endDate(endAttendanceCal.getTime()).build();
|
||||||
GetKQ4OverseasAllowanceCountService().getKQDatas(build);
|
Map<String, Double> kqDatas = GetKQ4OverseasAllowanceCountService().getKQDatas(build);
|
||||||
baseBean.writeLog("调用考勤接口获取公务回国天数 及 公务回国工作日天数"+usersXSDJ.size());
|
baseBean.writeLog("调用考勤接口获取公务回国天数 及 缺勤天数,共:"+usersXSDJ.size());
|
||||||
|
// 封装薪酬等级、境外津贴标准、考勤天数
|
||||||
|
getXcdjAndJwjtbz(results,usersXSDJ,kqDatas);
|
||||||
|
// TODO:验证一下188 陈涛有没有考勤数据 结果不再是0.0
|
||||||
|
baseBean.writeLog("封装薪酬等级、境外津贴标准、考勤天数、境外实际常驻天数并计算实出勤天数、境外津贴,共:"+results.size());
|
||||||
|
// 处理艰苦地区补贴
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -100,8 +106,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
} else {
|
} else {
|
||||||
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
// 开始常驻日期在 考勤开始日期前(应出勤日期为自然日)
|
||||||
int days = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
int days = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||||
// czInfo.setYczDays(days);
|
JWJT build = JWJT.builder().user(czInfo.getXm()).jwycq(days).gngzts(0.0).kqMonth(endAttendanceCal.getTime()).build();
|
||||||
JWJT build = JWJT.builder().user(czInfo.getXm()).jwycq(days).gngzts(0.0).build();
|
|
||||||
results.add(build);
|
results.add(build);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -144,7 +149,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
aCal.add(Calendar.DATE,-1);
|
aCal.add(Calendar.DATE,-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
JWJT build = JWJT.builder().user(czInfo.getXm()).jwycq(ycq[0]).gngzts(gnycq[0]).build();
|
JWJT build = JWJT.builder().user(czInfo.getXm()).jwycq(ycq[0]).gngzts(gnycq[0]).kqMonth(endAttendanceCal.getTime()).build();
|
||||||
results.add(build);
|
results.add(build);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -154,17 +159,47 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/**
|
||||||
* @description 将获取到的薪酬等级与境外津贴标准与人员对应
|
* @description 将获取到的缺勤天数(请假)、公务回国天数、薪酬等级与境外津贴标准与人员对应并计算出实出勤天数
|
||||||
* @return void
|
* @return void
|
||||||
* @author Harryxzy
|
* @author Harryxzy
|
||||||
* @date 2022/9/27 15:37
|
* @date 2022/9/27 15:37
|
||||||
*/
|
*/
|
||||||
public void getXcdjAndJwjtbz(List<JWJT> results ,Map<Integer, XcdjJwjtParam> usersXSDJ){
|
public void getXcdjAndJwjtbz(List<JWJT> results ,Map<Integer, XcdjJwjtParam> usersXSDJ,Map<String, Double> kqDatas){
|
||||||
results.stream().forEach(item-> {
|
results.stream().forEach(item-> {
|
||||||
XcdjJwjtParam param = usersXSDJ.get(Integer.valueOf(item.getUser()));
|
XcdjJwjtParam param = usersXSDJ.get(Integer.valueOf(item.getUser()));
|
||||||
item.setXcdj(param.getXcdj());
|
item.setXcdj(param.getXcdj());
|
||||||
item.setJwjtbz(param.getJwjtbz());
|
item.setJwjtbz(param.getJwjtbz());
|
||||||
|
if(kqDatas.get(item.getUser() + "-qq") == null){
|
||||||
|
// 目前该员工没有考勤数据
|
||||||
|
item.setQq(0.0);
|
||||||
|
item.setGwhg(0.0);
|
||||||
|
baseBean.writeLog("员工" +item.getUser()+"没有考勤数据!请核对考勤报表");
|
||||||
|
}else{
|
||||||
|
item.setQq(kqDatas.get(item.getUser()+"-qq"));
|
||||||
|
item.setGwhg(kqDatas.get(item.getUser()+"-gwhg"));
|
||||||
|
}
|
||||||
|
item.setJwscq(item.getJwycq()-item.getQq()-item.getGwhg());
|
||||||
|
item.setJwjt(item.getJwscq()*item.getJwjtbz());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description 境外常驻信息格式化
|
||||||
|
* @return void
|
||||||
|
* @author Harryxzy
|
||||||
|
* @date 2022/9/28 17:07
|
||||||
|
*/
|
||||||
|
public static List<JwCZInfo> formatJwCZInfo(List<JwCZInfoDetail> czInfos,Calendar startAttendanceCal,Calendar endAttendanceCal) {
|
||||||
|
Map<String, List<JwCZInfoDetail>> groupByName = czInfos.stream().collect(Collectors.groupingBy(item -> item.getXm()));
|
||||||
|
int days = BjcjCommonUtils.getDays(startAttendanceCal.getTime(), endAttendanceCal.getTime());
|
||||||
|
List<JwCZInfo> formatJwCZInfos = new ArrayList<>();
|
||||||
|
for (Map.Entry<String, List<JwCZInfoDetail>> entry : groupByName.entrySet()) {
|
||||||
|
List<JwCZInfoDetail> values = entry.getValue();
|
||||||
|
JwCZInfo build = new JwCZInfo().builder().xm(values.get(0).getXm()).jsglts(values.get(0).getJsglts()).glbtybz(values.get(0).getGlbtybz()).glbtrbz(values.get(0).getGlbtybz()/days).infos(entry.getValue()).build();
|
||||||
|
formatJwCZInfos.add(build);
|
||||||
|
}
|
||||||
|
return formatJwCZInfos;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue