diff --git a/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java b/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java index 5b4f3c7..07b9e8a 100644 --- a/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java +++ b/src/com/engine/kq/cmd/report/ExportDailyExcelCmd.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; -import com.engine.kq.biz.*; +import com.engine.kq.biz.KQReportBiz; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.kq.util.ExcelUtil; import com.engine.kq.util.KQDurationCalculatorUtil; @@ -170,6 +170,14 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand(); + title.put("title","夜班天数"); + title.put("width",30*256); + title.put("rowSpan", 3); + titleList.add(title); + //刘浩 导出新增列[夜班天数]-end sheet.put("titleList", titleList); String forgotBeginWorkCheck_field = " b.forgotbeginworkcheck "; @@ -241,6 +249,12 @@ public class ExportDailyExcelCmd extends AbstractCommonCommand signDetailInfo = this.getSignDetailInfo(id,kqdate); + //刘浩--begin-- + String serialidx = ""; + String signintime1x = ""; + String signouttime1x= ""; + //刘浩--end-- + for (int fieldDataKeyIdx =0;fieldDataKeyIdx> { // if (DateUtil.compDate(today, toDate) > 0) {//结束如期不大于今天 // toDate = today; // } - + Map map99 = new HashMap<>(); if(showColumns.contains("kqCalendar")) { childColumns = new ArrayList<>(); for (String date = fromDate; !isEnd; ) { if (date.equals(toDate)) isEnd = true; title = new HashMap<>(); + map99.put(date,"22222"); title.put("title", UtilKQ.getWeekDayShort(DateUtil.getWeek(date)-1,user.getLanguage()) +"\r\n"+ DateUtil.geDayOfMonth(date)); title.put("width", 30 * 256); childColumns.add(title); @@ -187,6 +188,12 @@ public class ExportExcelCmd extends AbstractCommonCommand> { } titleList.add(title); } + //刘浩 新增一列[夜班天数] + title = new HashMap(); + title.put("title","夜班天数"); + title.put("width", 30 * 256); + title.put("rowSpan",3); + titleList.add(title); sheet.put("titleList", titleList); String forgotBeginWorkCheck_field = " sum(b.forgotBeginWorkCheck) "; @@ -272,6 +279,7 @@ public class ExportExcelCmd extends AbstractCommonCommand> { while (rs.next()) { data = new ArrayList<>(); String id = rs.getString("id"); + for (int fieldDataKeyIdx =0;fieldDataKeyIdx> { data.add(fieldValue); } continue; - } else if (fieldName.equals("reissuecard")) { - int reissueCard = Util.getIntValue(Util.null2String(flowData.get(id + "|reissueCard" ))); - reissueCard = reissueCard < 0 ? 0 : reissueCard; - fieldValue = String.valueOf(reissueCard); - data.add(fieldValue); - continue; - } else { + }else { fieldValue = Util.formatMultiLang(Util.null2String(rs.getString(fieldName)),""+user.getLanguage()); fieldValue = getFieldValueByUnitType(fieldValue,kqReportFieldComInfo.getUnittype(fieldid)); } @@ -457,6 +459,33 @@ public class ExportExcelCmd extends AbstractCommonCommand> { date = DateUtil.getDate(cal.getTime(), 1); } } + + //刘浩 新增夜班天数 + String resourceid = id; + if(map99!=null && map99.keySet().size()>0) { + String s1 = ""; + for(String s99 :map99.keySet()) { + s1 = s1+"'"+s99+"',"; + } + s1 = s1.substring(0,s1.length()-1); + + String sql88 = "select b.resourceid,b.signintime,b.signouttime,b.serialid from kq_format_detail b where b.resourceid = "+resourceid+" and b.signintime is not null and b.signouttime is not null " + + " and b.signintime !='' and b.signouttime !='' " + + " and b.kqdate in("+s1+") and b.serialid in (3,5,6)"; + String sql99 = "select count(b.resourceid) as sums from kq_format_detail b where b.resourceid = "+resourceid+" and b.signintime is not null and b.signouttime is not null " + + " and b.signintime !='' and b.signouttime !='' " + + " and b.kqdate in("+s1+") and b.serialid in (3,5,6)"; + writeLog("howec:::::sql2:"+sql88); + RecordSet rs99 = new RecordSet(); + rs99.execute(sql99); + String counts99 = "0"; + if (rs99.next()){ + counts99 = String.valueOf(rs99.getInt("sums")); + } + data.add(counts99); + }else { + data.add("0"); + } dataList.add(data); } sheet.put("dataList", dataList); diff --git a/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java b/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java index 45553f4..ffb84e2 100644 --- a/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQDailyReportCmd.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; -import com.engine.kq.biz.*; +import com.engine.kq.biz.KQReportBiz; import com.engine.kq.cmd.shiftmanagement.toolkit.ShiftManagementToolKit; import com.engine.kq.entity.WorkTimeEntity; import com.engine.kq.log.KQLog; @@ -22,10 +22,7 @@ import weaver.hrm.resource.ResourceComInfo; import weaver.systeminfo.SystemEnv; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class GetKQDailyReportCmd extends AbstractCommonCommand> { @@ -122,6 +119,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand0){//结束如期不大于今天 // toDate = today; @@ -226,7 +224,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand flowData = kqReportBiz.getDailyFlowData(params,user); + Map flowData = kqReportBiz.getDailyFlowData(params,user); Map serialdata = new HashMap<>(); // #1475814-概述:满足考勤报分部部门显示及导出时显示全路径 @@ -235,6 +233,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand 0) { @@ -341,7 +336,7 @@ public class GetKQDailyReportCmd extends AbstractCommonCommand> allLeaveRules = KQLeaveRulesBiz.getAllLeaveRules(); diff --git a/src/com/engine/kq/cmd/report/GetKQReportCmd.java b/src/com/engine/kq/cmd/report/GetKQReportCmd.java index 03a2879..5ff70bb 100644 --- a/src/com/engine/kq/cmd/report/GetKQReportCmd.java +++ b/src/com/engine/kq/cmd/report/GetKQReportCmd.java @@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.core.interceptor.CommandContext; -import com.engine.kq.biz.*; +import com.engine.kq.biz.KQReportBiz; import com.engine.kq.util.KQDurationCalculatorUtil; import com.engine.kq.util.PageUidFactory; import weaver.common.DateUtil; @@ -20,6 +20,8 @@ import weaver.hrm.resource.ResourceComInfo; import weaver.systeminfo.SystemEnv; import java.math.BigDecimal; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.*; public class GetKQReportCmd extends AbstractCommonCommand> { @@ -118,6 +120,20 @@ public class GetKQReportCmd extends AbstractCommonCommand> { columns.addAll(this.getCascadeKeyColumnsInfo(kqReportFieldComInfo.getCascadekey(),user)); } + //Liuhao 新增列[夜班天数] --begin + column = new HashMap(); + column.put("title","夜班天数"); + column.put("unit","天"); + column.put("dataIndex","nightdays"); + column.put("type","businessLeave"); + column.put("key","nightdays"); + column.put("isSystem","1"); + column.put("rowSpan","3"); + column.put("width",65); + column.put("showDetial","1"); + columns.add(column); + //Liuhao 新增列[夜班天数] --end + boolean isEnd = false; Calendar cal = DateUtil.getCalendar(); String today = DateUtil.getCurrentDate(); @@ -411,10 +427,6 @@ public class GetKQReportCmd extends AbstractCommonCommand> { }else{ fieldValue = KQDurationCalculatorUtil.getDurationRound(Util.null2String(flowData.get(id+"|"+fieldName))); } - }else if (fieldName.equals("reissuecard")) { - int reissueCard = Util.getIntValue(Util.null2String(flowData.get(id + "|reissueCard" ))); - reissueCard = reissueCard < 0 ? 0 : reissueCard; - fieldValue = String.valueOf(reissueCard); } else { fieldValue = Util.null2String(rs.getString(fieldName)); if(Util.null2String(kqReportFieldComInfo.getUnittype()).length()>0) { @@ -471,6 +483,8 @@ public class GetKQReportCmd extends AbstractCommonCommand> { Map detialDatas = kqReportBiz.getDetialDatas(id,fromDate,toDate,user,flowData,false,uintType,show_card_source); // new KQLog().info("id:"+id+":detialDatas:"+detialDatas); isEnd = false; + + for(String date=fromDate; !isEnd;) { if(date.equals(toDate)) isEnd = true; if(DateUtil.compDate(today, date)>0){ @@ -482,6 +496,43 @@ public class GetKQReportCmd extends AbstractCommonCommand> { cal.setTime(DateUtil.parseToDate(date)); date = DateUtil.getDate(cal.getTime(), 1); } + + //liuhao 夜班天数 + //刘浩 拿到日期 计算天数----begin + Listlistdate = new ArrayList<>(); + SimpleDateFormat sdf = new SimpleDateFormat(); + sdf.applyPattern("yyyy-MM-dd"); + for(String key99 : data.keySet()) { + try { + Date date = sdf.parse(key99); + listdate.add(key99); + } catch (ParseException e) {} + } + String resourceid = (String)data.get("resourceId"); + if(listdate!=null && listdate.size()>0) { + String s1 = ""; + for(String strdate : listdate) { + s1 = s1+"'"+strdate+"',"; + } + s1 = s1.substring(0,s1.length()-1); + + String sql88 = "select b.resourceid,b.signintime,b.signouttime,b.serialid from kq_format_detail b where b.resourceid = "+resourceid+" and b.signintime is not null and b.signouttime is not null " + + " and b.signintime !='' and b.signouttime !='' " + + " and b.kqdate in("+s1+") and b.serialid in (3,5,6)"; + String sql99 = "select count(b.resourceid) as sums from kq_format_detail b where b.resourceid = "+resourceid+" and b.signintime is not null and b.signouttime is not null " + + " and b.signintime !='' and b.signouttime !='' " + + " and b.kqdate in("+s1+") and b.serialid in (3,5,6)"; + writeLog("howec:::::sql1:"+sql88); + RecordSet rs99 = new RecordSet(); + rs99.execute(sql99); + String counts99 = "0"; + if (rs99.next()){ + counts99 = String.valueOf(rs99.getInt("sums")); + } + data.put("nightdays",counts99); + }else { + data.put("nightdays","0"); + } datas.add(data); }