需求调整
This commit is contained in:
parent
29b4c1c1a6
commit
eaad032a14
|
|
@ -1,5 +1,7 @@
|
|||
package com.engine.bjcj220907.constant;
|
||||
|
||||
import com.ibm.icu.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @date 2022/09/05 13:07
|
||||
|
|
@ -7,6 +9,8 @@ package com.engine.bjcj220907.constant;
|
|||
*/
|
||||
public class AbroadBusinessCountConstant {
|
||||
|
||||
public static final SimpleDateFormat YYYYMMddSdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
/**
|
||||
* 工作类型为境外出差
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ package com.engine.bjcj220907.dao;
|
|||
import com.engine.bjcj220907.constant.AbroadBusinessCountConstant;
|
||||
import com.engine.bjcj220907.entity.AbroadBusiness;
|
||||
import com.engine.bjcj220907.entity.AbroadBusinessResult;
|
||||
import com.engine.bjcj220907.entity.JKDQBT;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.formmode.setup.ModeRightInfo;
|
||||
import weaver.general.BaseBean;
|
||||
|
|
@ -11,10 +12,7 @@ import weaver.general.TimeUtil;
|
|||
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
|
||||
/**
|
||||
|
|
@ -35,7 +33,7 @@ public class AbroadBusinessDAO {
|
|||
public List<AbroadBusiness> getList(){
|
||||
RecordSet rs = new RecordSet();
|
||||
ArrayList<AbroadBusiness> abroadBusinesses = new ArrayList<AbroadBusiness>();
|
||||
String sql ="select DISTINCT XM,JWGZKSRQ,JWGZJSRQ,JWGZDW1 from uf_njjmb_dt1 t LEFT JOIN uf_njjmb m on t.MAINID=m.id WHERE lx='"+ AbroadBusinessCountConstant.ABROADBUSINESS_LX +"'order by JWGZKSRQ ASC";
|
||||
String sql ="select DISTINCT XM,JWGZKSRQ,JWGZJSRQ,JWGZDW1,lcbh from uf_njjmb_dt1 t LEFT JOIN uf_njjmb m on t.MAINID=m.id WHERE lx='"+ AbroadBusinessCountConstant.ABROADBUSINESS_LX +"'order by JWGZKSRQ ASC";
|
||||
rs.execute(sql);
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
while (rs.next()){
|
||||
|
|
@ -47,6 +45,7 @@ public class AbroadBusinessDAO {
|
|||
.jwgzdw(rs.getInt("JWGZDW1"))
|
||||
.jwgzkssj(startDate)
|
||||
.jwgzjssj(endDate)
|
||||
.lcbh(rs.getString("lcbh"))
|
||||
.build();
|
||||
abroadBusinesses.add(build);
|
||||
} catch (ParseException e) {
|
||||
|
|
@ -90,23 +89,24 @@ public class AbroadBusinessDAO {
|
|||
}
|
||||
sql="SELECT XCDJ,gj ,xd,JWJTBZ,CCBTBZ from uf_xcdj WHERE gj="+gj+" and xd="+xd;
|
||||
rs.execute(sql);
|
||||
result.setJwjtbz(0.0);
|
||||
result.setCcbtbz(0.0);
|
||||
while (rs.next()){
|
||||
result.setJwjtbz(rs.getInt("JWJTBZ"));
|
||||
result.setCcbtbz(rs.getInt("CCBTBZ"));
|
||||
result.setJwjtbz(rs.getDouble("JWJTBZ"));
|
||||
result.setCcbtbz(rs.getDouble("CCBTBZ"));
|
||||
}
|
||||
if(gj == null){
|
||||
result.setGj("");
|
||||
}else{
|
||||
result.setGj(gj);
|
||||
}
|
||||
if(xd == null){
|
||||
result.setXd("");
|
||||
}else{
|
||||
result.setXd(xd);
|
||||
}
|
||||
result.setGj(gj);
|
||||
result.setXd(xd);
|
||||
result.setXcdj(rs.getString("XCDJ"));
|
||||
|
||||
Integer jwgzdw = result.getJwgzdw();
|
||||
if(jwgzdw != null){
|
||||
sql="select btbz from uf_dqbtbz where id ="+jwgzdw;
|
||||
rs.execute(sql);
|
||||
while (rs.next()){
|
||||
double btbz = rs.getDouble("btbz");
|
||||
result.setDqbtbz(btbz);
|
||||
}
|
||||
}
|
||||
result.setXcdj(rs.getString("XCDJ"));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -118,8 +118,6 @@ public class AbroadBusinessDAO {
|
|||
*/
|
||||
public void insertResult(List<AbroadBusinessResult> results,Date searchMonth){
|
||||
RecordSet rs = new RecordSet();
|
||||
|
||||
|
||||
// 境外出差天数模块的id
|
||||
Integer fieldValue = Integer.valueOf( baseBean.getPropValue("bjcjczjs", "uf_jwccts_ModuleID"));
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
|
||||
|
|
@ -135,19 +133,52 @@ public class AbroadBusinessDAO {
|
|||
String ccMonth = sdf2.format(result.getMonth());
|
||||
double JWJTJE = result.getJwjtbz() * result.getAbroadAllowanceDays();
|
||||
double DQCCBTJE = result.getCcbtbz() * result.getBasicAllowanceDays();
|
||||
double jkdqbtje = result.getDqbtbz() * result.getBasicAllowanceDays();
|
||||
String sql ="insert into uf_jwccts(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,XM,GJ,XD,XCDJ,CCYF,CCBTBZ,JWJTBZ,DQBTBZ,CCBTTS,JWJTTS,JWCCTS,FFYF,JWJTJE,DQCCBTJE,jkdqbtje,CCBTHJ)" +
|
||||
String sql ="insert into uf_jwccts(formmodeid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,XM,GJ,XD,XCDJ,CCYF,CCBTBZ,JWJTBZ,CCBTTS,JWJTTS,JWCCTS,FFYF,JWJTJE,DQCCBTJE,jkdqbtje,CCBTHJ)" +
|
||||
"values('"+fieldValue+"','1','0','"+currDate+"','"+currTime+"',"+result.getUser()+",'"+result.getGj()+"','"+result.getXd()+"','"+result.getXcdj()+"','" +ccMonth+"',"+result.getCcbtbz()+","
|
||||
+result.getJwjtbz()+","+result.getDqbtbz()+","+result.getBasicAllowanceDays()+","+result.getAbroadAllowanceDays()+","+result.getTotalDays()+",'"+sendMonth+"',"+
|
||||
JWJTJE+","+DQCCBTJE+","+jkdqbtje+","+(JWJTJE+DQCCBTJE+jkdqbtje)+")";
|
||||
+result.getJwjtbz()+","+result.getBasicAllowanceDays()+","+result.getAbroadAllowanceDays()+","+result.getTotalDays()+",'"+sendMonth+"',"+
|
||||
JWJTJE+","+DQCCBTJE+","+result.getJkdqbtje()+","+(JWJTJE+DQCCBTJE+result.getJkdqbtje())+")";
|
||||
rs.execute(sql);
|
||||
String sql2 ="select max(id) as id from uf_jwccts";
|
||||
rs.execute(sql2);
|
||||
int mainId = 0;
|
||||
while (rs.next()) {
|
||||
mainId = rs.getInt("id");
|
||||
}
|
||||
// 存明细表
|
||||
List<JKDQBT> jkdqbts = result.getJkdqbts();
|
||||
JKDQBT first = jkdqbts.get(0);
|
||||
StringBuilder sql3 = new StringBuilder( "insert into uf_jwccts_DT1(MAINID,LCBH,BCCCTS,JKDQBZ,JKDQBTJE)" +
|
||||
" select "+mainId+" , '"+first.getLcbh()+"' , "+first.getDays()+" , "+first.getJkdqbtbz()+" , "+first.getJkdqbt()+" from dual");
|
||||
for(int j=1;j<jkdqbts.size();j++){
|
||||
JKDQBT jkdqbt = jkdqbts.get(j);
|
||||
sql3.append(" union select "+mainId+" , '"+jkdqbt.getLcbh()+"' , "+jkdqbt.getDays()+" , "+jkdqbt.getJkdqbtbz()+" , "+jkdqbt.getJkdqbt()+ " from dual");
|
||||
}
|
||||
rs.execute(sql3.toString());
|
||||
// 权限重构
|
||||
while (rs.next()) {
|
||||
ModeRightInfo ModeRightInfo = new ModeRightInfo();
|
||||
ModeRightInfo.setNewRight(true);
|
||||
ModeRightInfo.editModeDataShare(1, fieldValue, rs.getInt("id"));
|
||||
ModeRightInfo.editModeDataShare(1, fieldValue, mainId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 获取所有的境外工作单位补助
|
||||
* @return Map<Double, Double>
|
||||
* @author Harryxzy
|
||||
* @date 2022/12/30 10:24
|
||||
*/
|
||||
public Map<Integer, Double> getAllJwgzDW() {
|
||||
RecordSet rs = new RecordSet();
|
||||
Map<Integer, Double> result = new HashMap<>();
|
||||
String sql="select id,btbz from uf_dqbtbz ";
|
||||
rs.execute(sql);
|
||||
while (rs.next()){
|
||||
int dqId = rs.getInt("id");
|
||||
double btbz = rs.getDouble("btbz");
|
||||
result.put(dqId,btbz);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,9 +48,9 @@ public class OverseasAllowanceDAO {
|
|||
String jwgzdw1 = rs.getString("JWGZDW1");
|
||||
double dqbtbz = rs.getDouble("DQBTBZ");
|
||||
int lx = rs.getInt("lx");
|
||||
if(jwgzdw1 == ""){
|
||||
if(jwgzdw1 == ""){
|
||||
jwgzdw1="0";
|
||||
}
|
||||
}
|
||||
if(dqbtbz == -1){
|
||||
dqbtbz =0.0;
|
||||
}
|
||||
|
|
@ -58,6 +58,9 @@ public class OverseasAllowanceDAO {
|
|||
// 境外工龄未满1年
|
||||
btbz=0.0;
|
||||
}
|
||||
if(jsglts == -1){
|
||||
jsglts = 0.0;
|
||||
}
|
||||
if(jwgzksrqStr!=null && jwgzksrqStr.length()!=0){
|
||||
jwgzksrq = sdf.parse(jwgzksrqStr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,4 +45,9 @@ public class AbroadBusiness {
|
|||
*/
|
||||
private Integer jwgzdw;
|
||||
|
||||
/**
|
||||
* 流程编号
|
||||
*/
|
||||
private String lcbh;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,4 +32,9 @@ public class AbroadBusinessDetail {
|
|||
*/
|
||||
private Date date;
|
||||
|
||||
/**
|
||||
* 流程编号
|
||||
*/
|
||||
private String lcbh;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import lombok.Data;
|
|||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
|
|
@ -54,17 +55,17 @@ public class AbroadBusinessResult {
|
|||
/**
|
||||
* 出差补贴标准
|
||||
*/
|
||||
private Integer ccbtbz;
|
||||
private double ccbtbz;
|
||||
|
||||
/**
|
||||
* 境外津贴标准
|
||||
*/
|
||||
private Integer jwjtbz;
|
||||
private double jwjtbz;
|
||||
|
||||
/**
|
||||
* 地区补贴标准
|
||||
*/
|
||||
private double dqbtbz;
|
||||
// private double dqbtbz;
|
||||
|
||||
/**
|
||||
* 出差补贴标准天数
|
||||
|
|
@ -89,7 +90,17 @@ public class AbroadBusinessResult {
|
|||
/**
|
||||
* 境外工作单位
|
||||
*/
|
||||
private Integer jwgzdw;
|
||||
// private Integer jwgzdw;
|
||||
|
||||
/**
|
||||
* 艰苦地区补贴
|
||||
*/
|
||||
private List<JKDQBT> jkdqbts;
|
||||
|
||||
/**
|
||||
* 艰苦地区补贴金额
|
||||
*/
|
||||
private double jkdqbtje;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -52,4 +52,9 @@ public class JKDQBT {
|
|||
* 艰苦地区结束时间
|
||||
*/
|
||||
private Date jkdqJssj;
|
||||
|
||||
/**
|
||||
* 流程编号
|
||||
*/
|
||||
private String lcbh;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
package com.engine.bjcj220907.service.impl;
|
||||
|
||||
|
||||
import com.engine.bjcj220907.constant.AbroadBusinessCountConstant;
|
||||
import com.engine.bjcj220907.dao.AbroadBusinessDAO;
|
||||
import com.engine.bjcj220907.entity.AbroadBusiness;
|
||||
import com.engine.bjcj220907.entity.AbroadBusinessCountParam;
|
||||
import com.engine.bjcj220907.entity.AbroadBusinessDetail;
|
||||
import com.engine.bjcj220907.entity.AbroadBusinessResult;
|
||||
import com.engine.bjcj220907.entity.*;
|
||||
import com.engine.bjcj220907.service.AbroadBusinessCountService;
|
||||
import com.engine.core.impl.Service;
|
||||
import weaver.general.BaseBean;
|
||||
|
|
@ -61,7 +59,7 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
tempEnd.set(Calendar.MILLISECOND, 0);
|
||||
tempEnd.add(Calendar.DATE, 1);
|
||||
while (tempStart.before(tempEnd)) {
|
||||
abroadBusinessDetails.add(AbroadBusinessDetail.builder().xm(business.getUser()).date(tempStart.getTime()).jwgzdw(business.getJwgzdw()).build());
|
||||
abroadBusinessDetails.add(AbroadBusinessDetail.builder().xm(business.getUser()).date(tempStart.getTime()).jwgzdw(business.getJwgzdw()).lcbh(business.getLcbh()).build());
|
||||
tempStart.add(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -71,7 +69,7 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
searchCal.setTime(param.getMonth());
|
||||
int year = searchCal.get(Calendar.YEAR);
|
||||
int month = searchCal.get(Calendar.MONTH)+1;
|
||||
int totalDays = searchCal.getActualMaximum(Calendar.DAY_OF_MONTH);
|
||||
// int totalDays = searchCal.getActualMaximum(Calendar.DAY_OF_MONTH);
|
||||
searchCal.set(Calendar.DAY_OF_MONTH,28);
|
||||
searchCal.set(Calendar.HOUR_OF_DAY, 23);
|
||||
searchCal.set(Calendar.MINUTE, 59);
|
||||
|
|
@ -128,6 +126,7 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
int thisMonthCount=0;
|
||||
// 本月境外津贴标准天数
|
||||
int thisMonthAbroadCount=0;
|
||||
List<String> jkdqbtDates = new ArrayList<>();
|
||||
if(detailDate.contains(firstDay)){
|
||||
// 出差明细中包含计算周期的第一天,需要判断前30天
|
||||
Calendar lastMonthLastDayCal = Calendar.getInstance();
|
||||
|
|
@ -139,15 +138,17 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
for(int i=detailDate.indexOf((lastMonthLastDayCal.getTime())); i>0;i--){
|
||||
lastMonthLastDayCal.add(Calendar.DATE,-1);
|
||||
if( detailDate.get(i-1).equals(lastMonthLastDayCal.getTime())){
|
||||
// 连续
|
||||
lastMonthCount++;
|
||||
}
|
||||
else{
|
||||
} else{
|
||||
// 不连续
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(lastMonthCount == 30){
|
||||
thisMonthAbroadCount++;
|
||||
jkdqbtDates.add(AbroadBusinessCountConstant.YYYYMMddSdf.format(firstDay));
|
||||
}else{
|
||||
thisMonthCount++;
|
||||
}
|
||||
|
|
@ -164,7 +165,7 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
}
|
||||
List<Date> searchMonthDetailDate = searchMonthDetails.stream().map(AbroadBusinessDetail::getDate).collect(Collectors.toList());
|
||||
if((searchMonthDetailDate.size() + lastMonthCount) <=30){
|
||||
// 前30天连续出差天数+本计算周期天数 没有超过30天
|
||||
// 前30天连续出差天数+本计算周期出差天数 没有超过30天
|
||||
thisMonthCount = searchMonthDetailDate.size();
|
||||
}else{
|
||||
// 超过30天
|
||||
|
|
@ -178,8 +179,11 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
if(searchMonthDetailDate.size()<=30){
|
||||
thisMonthCount=searchMonthDetailDate.size();
|
||||
}else{
|
||||
// 本月计算周期签到31天
|
||||
thisMonthCount=30;
|
||||
thisMonthAbroadCount=1;
|
||||
// 计算周期最后一天是长期出差
|
||||
jkdqbtDates.add(AbroadBusinessCountConstant.YYYYMMddSdf.format(searchCal.getTime()));
|
||||
}
|
||||
}
|
||||
}else{
|
||||
|
|
@ -196,12 +200,13 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
for(int i=1;i<searchMonthDetailDate.size();i++){
|
||||
if(searchMonthDetailDate.get(i).equals(firstCal.getTime())){
|
||||
// 连续
|
||||
firstCal.add(Calendar.DATE,1);
|
||||
if(totalContinueDays >= 30){
|
||||
thisMonthAbroadCount++;
|
||||
jkdqbtDates.add(AbroadBusinessCountConstant.YYYYMMddSdf.format(firstCal.getTime()));
|
||||
}else{
|
||||
thisMonthCount++;
|
||||
}
|
||||
firstCal.add(Calendar.DATE,1);
|
||||
totalContinueDays++;
|
||||
}else{
|
||||
// 不连续,计算余下出差天数,加入出差补贴标准天数
|
||||
|
|
@ -215,7 +220,9 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
|
||||
}
|
||||
AbroadBusinessResult build = AbroadBusinessResult.builder().user(detail.get(0).getXm()).basicAllowanceDays(thisMonthCount).abroadAllowanceDays(thisMonthAbroadCount).totalDays(thisMonthCount + thisMonthAbroadCount)
|
||||
.month(param.getMonth()).sendMonth(sendMonth.getTime()).jwgzdw(detail.get(0).getJwgzdw()).build();
|
||||
.month(param.getMonth()).sendMonth(sendMonth.getTime()).build();
|
||||
// 处理艰苦地区补助
|
||||
handleJkdqbt(build, searchMonthDetails, jkdqbtDates);
|
||||
results.add(build);
|
||||
baseBean.writeLog("用户:"+detail.get(0).getXm()+"前30天连续出差天数:"+lastMonthCount+"本周期短期出差天数:"+thisMonthCount+"长期出差天数:"+thisMonthAbroadCount);
|
||||
}
|
||||
|
|
@ -224,13 +231,57 @@ public class AbroadBusinessCountServiceImpl extends Service implements AbroadBus
|
|||
getAbroadBusinessDAO().getJobInfo(result);
|
||||
return result;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
baseBean.writeLog("开始获取并计算艰苦地区补助");
|
||||
getDqBonus(results);
|
||||
// 计算结果插入建模表中
|
||||
baseBean.writeLog("计算结果插入建模表中");
|
||||
getAbroadBusinessDAO().insertResult(results,param.getMonth());
|
||||
baseBean.writeLog("计算结果插入建模表中"+results);
|
||||
getAbroadBusinessDAO().insertResult(results,param.getMonth());
|
||||
return "success";
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 开始获取并计算艰苦地区补助
|
||||
* @return void
|
||||
* @author Harryxzy
|
||||
* @date 2022/12/30 10:15
|
||||
*/
|
||||
private void getDqBonus(List<AbroadBusinessResult> results) {
|
||||
Map<Integer, Double> btbz = getAbroadBusinessDAO().getAllJwgzDW();
|
||||
results.stream().forEach(result -> {
|
||||
double[] jkdqbtje = {0.0};
|
||||
result.getJkdqbts().stream().forEach(jkdq -> {
|
||||
Double bz = btbz.get(jkdq.getJkdq());
|
||||
if (bz != null && !Objects.equals(bz,0)){
|
||||
jkdq.setJkdqbtbz(bz);
|
||||
jkdq.setJkdqbt(bz * jkdq.getDays());
|
||||
}
|
||||
jkdqbtje[0] += jkdq.getJkdqbt();
|
||||
});
|
||||
result.setJkdqbtje(jkdqbtje[0]);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 处理艰苦地区补助信息
|
||||
* @return void
|
||||
* @author Harryxzy
|
||||
* @date 2022/12/29 15:22
|
||||
*/
|
||||
private void handleJkdqbt(AbroadBusinessResult result, List<AbroadBusinessDetail> searchMonthDetails, List<String> jkdqbtDates) {
|
||||
// 获取连续出差超过30天部分的出差信息
|
||||
List<AbroadBusinessDetail> jkdqbtDetail = searchMonthDetails.stream().filter(detail -> jkdqbtDates.contains(AbroadBusinessCountConstant.YYYYMMddSdf.format(detail.getDate()))).collect(Collectors.toList());
|
||||
// 根据境外工作单位分组
|
||||
Map<String, List<AbroadBusinessDetail>> gorupByLcbh = jkdqbtDetail.stream().collect(Collectors.groupingBy(AbroadBusinessDetail::getLcbh));
|
||||
List<JKDQBT> jkdqbts = new ArrayList<>();
|
||||
if(gorupByLcbh != null && gorupByLcbh.size()>0){
|
||||
for(Map.Entry<String, List<AbroadBusinessDetail>> entrySet : gorupByLcbh.entrySet()){
|
||||
Integer jwgzdw = entrySet.getValue().get(0).getJwgzdw();
|
||||
jkdqbts.add(JKDQBT.builder().days(entrySet.getValue().size()).jkdq(jwgzdw).lcbh(entrySet.getValue().get(0).getLcbh()).build());
|
||||
}
|
||||
}
|
||||
result.setJkdqbts(jkdqbts);
|
||||
}
|
||||
|
||||
// 获取搜索月28号到上月29号30天前的出差明细
|
||||
public List<AbroadBusinessDetail> getThisAndLastMonthBusinessDetail(List<AbroadBusinessDetail> abroadBusinessDetails,Date endDate,Date startDate){
|
||||
List<AbroadBusinessDetail> thisAndLastMonthBusinessDay = abroadBusinessDetails.stream().filter(date ->{
|
||||
|
|
|
|||
|
|
@ -70,7 +70,6 @@ public class EmployeeIdentifiedServiceImpl extends Service implements EmployeeId
|
|||
}
|
||||
flag =true;
|
||||
}
|
||||
|
||||
// 入职
|
||||
if(Objects.equals(info.getRz(), -1) ){
|
||||
if(info.getRzrq() != null){
|
||||
|
|
|
|||
|
|
@ -61,7 +61,8 @@ public class GetKQ4MonthBonusServiceImpl extends Service implements GetKQ4MonthB
|
|||
if(column.get("title").equals("出差及请假")){
|
||||
List<Map> children =(List<Map>) column.get("children");
|
||||
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("奖励假")) && (!i.get("title").equals("工伤")) && (!i.get("title").equals("隔离假"))
|
||||
&& (!i.get("title").equals("境外出差")) && (!i.get("title").equals("境内出差")) && (!i.get("title").equals("第三国出差/境外国内出差")) && (!i.get("title").equals("公务回国")) ){
|
||||
c.add(i.get("dataIndex"));
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class GetKQ4OverseasAllowanceCountServiceImpl extends Service implements
|
|||
});
|
||||
}
|
||||
});
|
||||
baseBean.writeLog("公务回国dataIndex:"+gwhgDataIndex[0]);
|
||||
// baseBean.writeLog("公务回国dataIndex:"+gwhgDataIndex[0]);
|
||||
dataList = (List<Map<String, Object>>) execute.get("datas");
|
||||
// 获取每个人的缺勤日期、及公务回国天数
|
||||
Map<String, Object> qqDays = new HashMap<>();
|
||||
|
|
@ -91,13 +91,13 @@ public class GetKQ4OverseasAllowanceCountServiceImpl extends Service implements
|
|||
Map attCalMap =(Map) o;
|
||||
attCal = (String)attCalMap.get("text");
|
||||
}catch (Exception e){
|
||||
baseBean.writeLog("考勤数据:"+o+"转换为Map失败");
|
||||
// baseBean.writeLog("考勤数据:"+o+"转换为Map失败");
|
||||
attCal="休息";
|
||||
}
|
||||
if( (attCal.contains("旷工")) || ( (!attCal.equals("√")) && (!attCal.contains("休息")) && (!attCal.equals("")) && (!attCal.contains("境内年假")) && (!attCal.contains("境外年假")) && (!attCal.contains("公务回国")) && (!attCal.contains("工伤")) && (!attCal.contains("奖励假")) ) ){
|
||||
if( (attCal.contains("旷工")) || ( (!attCal.equals("√")) && (!attCal.contains("休息")) && (!attCal.equals("")) && (!attCal.contains("境内年假")) && (!attCal.contains("境外年假")) && (!attCal.contains("公务回国")) && (!attCal.contains("工伤")) && (!attCal.contains("奖励假")) && (!attCal.contains("第三国出差/境外国内出差")) ) ){
|
||||
// 存在缺勤
|
||||
qqDate.add(a);
|
||||
baseBean.writeLog(attCal+"缺勤");
|
||||
// baseBean.writeLog(attCal+"缺勤");
|
||||
}
|
||||
});
|
||||
String qqStr = i.get("resourceId") +"-qq";
|
||||
|
|
@ -108,7 +108,7 @@ public class GetKQ4OverseasAllowanceCountServiceImpl extends Service implements
|
|||
}else {
|
||||
gwhgS[0] ="0";
|
||||
}
|
||||
baseBean.writeLog("公务回国PUT:"+gwhgStr+","+Double.valueOf(gwhgS[0]));
|
||||
// baseBean.writeLog("公务回国PUT:"+gwhgStr+","+Double.valueOf(gwhgS[0]));
|
||||
qqDays.put(gwhgStr,Double.valueOf(gwhgS[0]));
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -307,6 +307,9 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
item.setJwjtbz(param.getJwjtbz());
|
||||
item.setSxbzhjbz(param.getSxbzhj());
|
||||
item.setSxbzhjrbz(param.getSxbzhj()/21.75);
|
||||
if(item.getUser().equals("109")){
|
||||
System.out.println("hi");
|
||||
}
|
||||
if(kqDatas.get(item.getUser() + "-qq") == null){
|
||||
// 目前该员工没有考勤数据
|
||||
item.setGnQq(0.0);
|
||||
|
|
@ -324,10 +327,11 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
Boolean flag = false;
|
||||
for(int i=0; (i<jwCZInfoDetails.size() && flag == false) ;i++){
|
||||
JwCZInfoDetail detail = jwCZInfoDetails.get(i);
|
||||
Calendar k = Calendar.getInstance();
|
||||
k.setTime(detail.getJwczksrq());
|
||||
setLastMinute(k);
|
||||
detail.setJwczksrq(k.getTime());
|
||||
|
||||
// Calendar k = Calendar.getInstance();
|
||||
// k.setTime(detail.getJwczksrq());
|
||||
// setLastMinute(k);
|
||||
// detail.setJwczksrq(k.getTime());
|
||||
if(detail.getJwczjsrq() != null){
|
||||
Calendar j = Calendar.getInstance();
|
||||
j.setTime(detail.getJwczjsrq());
|
||||
|
|
@ -365,6 +369,7 @@ public class OverseasAllowanceCountServiceImpl extends Service implements Overse
|
|||
item.setGwhg((Double) kqDatas.get(item.getUser()+"-gwhg"));
|
||||
}
|
||||
item.setJwscq(item.getJwycq()-item.getJwQq()-item.getGwhg());
|
||||
|
||||
item.setGnscq(item.getGngzts() - item.getGnQq());
|
||||
item.setJwjt(item.getJwscq()*item.getJwjtbz());
|
||||
if(validGwhgAndCountWorkdays.containsKey(Integer.valueOf(item.getUser()))){
|
||||
|
|
|
|||
Loading…
Reference in New Issue