From eaad032a143f4a968dfa4d9a8d98af1271911575 Mon Sep 17 00:00:00 2001 From: Harryxzy Date: Thu, 5 Jan 2023 09:41:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/AbroadBusinessCountConstant.java | 4 + .../bjcj220907/dao/AbroadBusinessDAO.java | 83 +++++++++++++------ .../bjcj220907/dao/OverseasAllowanceDAO.java | 7 +- .../bjcj220907/entity/AbroadBusiness.java | 5 ++ .../entity/AbroadBusinessDetail.java | 5 ++ .../entity/AbroadBusinessResult.java | 19 ++++- src/com/engine/bjcj220907/entity/JKDQBT.java | 5 ++ .../impl/AbroadBusinessCountServiceImpl.java | 79 ++++++++++++++---- .../impl/EmployeeIdentifiedServiceImpl.java | 1 - .../impl/GetKQ4MonthBonusServiceImpl.java | 3 +- ...tKQ4OverseasAllowanceCountServiceImpl.java | 10 +-- .../OverseasAllowanceCountServiceImpl.java | 13 ++- 12 files changed, 177 insertions(+), 57 deletions(-) diff --git a/src/com/engine/bjcj220907/constant/AbroadBusinessCountConstant.java b/src/com/engine/bjcj220907/constant/AbroadBusinessCountConstant.java index 3114716..7589e1f 100644 --- a/src/com/engine/bjcj220907/constant/AbroadBusinessCountConstant.java +++ b/src/com/engine/bjcj220907/constant/AbroadBusinessCountConstant.java @@ -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"); + /** * 工作类型为境外出差 */ diff --git a/src/com/engine/bjcj220907/dao/AbroadBusinessDAO.java b/src/com/engine/bjcj220907/dao/AbroadBusinessDAO.java index f953117..a821149 100644 --- a/src/com/engine/bjcj220907/dao/AbroadBusinessDAO.java +++ b/src/com/engine/bjcj220907/dao/AbroadBusinessDAO.java @@ -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 getList(){ RecordSet rs = new RecordSet(); ArrayList abroadBusinesses = new ArrayList(); - 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 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 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 + * @author Harryxzy + * @date 2022/12/30 10:24 + */ + public Map getAllJwgzDW() { + RecordSet rs = new RecordSet(); + Map 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; + } } diff --git a/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java b/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java index 2be969d..bc5ac07 100644 --- a/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java +++ b/src/com/engine/bjcj220907/dao/OverseasAllowanceDAO.java @@ -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); } diff --git a/src/com/engine/bjcj220907/entity/AbroadBusiness.java b/src/com/engine/bjcj220907/entity/AbroadBusiness.java index 8014564..42fe55d 100644 --- a/src/com/engine/bjcj220907/entity/AbroadBusiness.java +++ b/src/com/engine/bjcj220907/entity/AbroadBusiness.java @@ -45,4 +45,9 @@ public class AbroadBusiness { */ private Integer jwgzdw; + /** + * 流程编号 + */ + private String lcbh; + } diff --git a/src/com/engine/bjcj220907/entity/AbroadBusinessDetail.java b/src/com/engine/bjcj220907/entity/AbroadBusinessDetail.java index f962e4c..ee0b998 100644 --- a/src/com/engine/bjcj220907/entity/AbroadBusinessDetail.java +++ b/src/com/engine/bjcj220907/entity/AbroadBusinessDetail.java @@ -32,4 +32,9 @@ public class AbroadBusinessDetail { */ private Date date; + /** + * 流程编号 + */ + private String lcbh; + } diff --git a/src/com/engine/bjcj220907/entity/AbroadBusinessResult.java b/src/com/engine/bjcj220907/entity/AbroadBusinessResult.java index 178241b..34bd641 100644 --- a/src/com/engine/bjcj220907/entity/AbroadBusinessResult.java +++ b/src/com/engine/bjcj220907/entity/AbroadBusinessResult.java @@ -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 jkdqbts; + + /** + * 艰苦地区补贴金额 + */ + private double jkdqbtje; diff --git a/src/com/engine/bjcj220907/entity/JKDQBT.java b/src/com/engine/bjcj220907/entity/JKDQBT.java index 6e0af4b..0be995b 100644 --- a/src/com/engine/bjcj220907/entity/JKDQBT.java +++ b/src/com/engine/bjcj220907/entity/JKDQBT.java @@ -52,4 +52,9 @@ public class JKDQBT { * 艰苦地区结束时间 */ private Date jkdqJssj; + + /** + * 流程编号 + */ + private String lcbh; } diff --git a/src/com/engine/bjcj220907/service/impl/AbroadBusinessCountServiceImpl.java b/src/com/engine/bjcj220907/service/impl/AbroadBusinessCountServiceImpl.java index f6763d0..80540c1 100644 --- a/src/com/engine/bjcj220907/service/impl/AbroadBusinessCountServiceImpl.java +++ b/src/com/engine/bjcj220907/service/impl/AbroadBusinessCountServiceImpl.java @@ -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 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 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= 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 results) { + Map 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 searchMonthDetails, List jkdqbtDates) { + // 获取连续出差超过30天部分的出差信息 + List jkdqbtDetail = searchMonthDetails.stream().filter(detail -> jkdqbtDates.contains(AbroadBusinessCountConstant.YYYYMMddSdf.format(detail.getDate()))).collect(Collectors.toList()); + // 根据境外工作单位分组 + Map> gorupByLcbh = jkdqbtDetail.stream().collect(Collectors.groupingBy(AbroadBusinessDetail::getLcbh)); + List jkdqbts = new ArrayList<>(); + if(gorupByLcbh != null && gorupByLcbh.size()>0){ + for(Map.Entry> 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 getThisAndLastMonthBusinessDetail(List abroadBusinessDetails,Date endDate,Date startDate){ List thisAndLastMonthBusinessDay = abroadBusinessDetails.stream().filter(date ->{ diff --git a/src/com/engine/bjcj220907/service/impl/EmployeeIdentifiedServiceImpl.java b/src/com/engine/bjcj220907/service/impl/EmployeeIdentifiedServiceImpl.java index 5471389..af393ad 100644 --- a/src/com/engine/bjcj220907/service/impl/EmployeeIdentifiedServiceImpl.java +++ b/src/com/engine/bjcj220907/service/impl/EmployeeIdentifiedServiceImpl.java @@ -70,7 +70,6 @@ public class EmployeeIdentifiedServiceImpl extends Service implements EmployeeId } flag =true; } - // 入职 if(Objects.equals(info.getRz(), -1) ){ if(info.getRzrq() != null){ diff --git a/src/com/engine/bjcj220907/service/impl/GetKQ4MonthBonusServiceImpl.java b/src/com/engine/bjcj220907/service/impl/GetKQ4MonthBonusServiceImpl.java index a620488..162e908 100644 --- a/src/com/engine/bjcj220907/service/impl/GetKQ4MonthBonusServiceImpl.java +++ b/src/com/engine/bjcj220907/service/impl/GetKQ4MonthBonusServiceImpl.java @@ -61,7 +61,8 @@ public class GetKQ4MonthBonusServiceImpl extends Service implements GetKQ4MonthB if(column.get("title").equals("出差及请假")){ List children =(List) 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")); } }); diff --git a/src/com/engine/bjcj220907/service/impl/GetKQ4OverseasAllowanceCountServiceImpl.java b/src/com/engine/bjcj220907/service/impl/GetKQ4OverseasAllowanceCountServiceImpl.java index 888ca10..63a1764 100644 --- a/src/com/engine/bjcj220907/service/impl/GetKQ4OverseasAllowanceCountServiceImpl.java +++ b/src/com/engine/bjcj220907/service/impl/GetKQ4OverseasAllowanceCountServiceImpl.java @@ -61,7 +61,7 @@ public class GetKQ4OverseasAllowanceCountServiceImpl extends Service implements }); } }); - baseBean.writeLog("公务回国dataIndex:"+gwhgDataIndex[0]); +// baseBean.writeLog("公务回国dataIndex:"+gwhgDataIndex[0]); dataList = (List>) execute.get("datas"); // 获取每个人的缺勤日期、及公务回国天数 Map 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])); } }); diff --git a/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java b/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java index ef62e6a..73bff0b 100644 --- a/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java +++ b/src/com/engine/bjcj220907/service/impl/OverseasAllowanceCountServiceImpl.java @@ -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