diff --git a/src/weaver/interfaces/bnkq/action/UpdateCcTimeAction.java b/src/weaver/interfaces/bnkq/action/UpdateCcTimeAction.java index c5f6617..16ec87e 100644 --- a/src/weaver/interfaces/bnkq/action/UpdateCcTimeAction.java +++ b/src/weaver/interfaces/bnkq/action/UpdateCcTimeAction.java @@ -1,13 +1,11 @@ package weaver.interfaces.bnkq.action; +import com.engine.kq.biz.KQFormatBiz; import com.engine.kq.biz.KQWorkTime; import com.engine.kq.entity.WorkTimeEntity; -import com.engine.workflow.service.HtmlToPdfService; -import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; import weaver.general.BaseBean; -import weaver.general.PinyinUtil; import weaver.general.TimeUtil; import weaver.general.Util; import weaver.interfaces.workflow.action.Action; @@ -20,7 +18,7 @@ import java.text.SimpleDateFormat; import java.util.*; /** - * 更新出差时长Action + * 更新出差时长Action */ public class UpdateCcTimeAction implements Action { @@ -50,36 +48,41 @@ public class UpdateCcTimeAction implements Action { //实际出差结束时间 String sjccjsrq = Util.null2String(mainInfo.get("sjccjsrq")); //部门 - String szbm = Util.null2String(mainInfo.get("szbm")); + String szbm = Util.null2String(mainInfo.get("szbm")); //分部 - String szgs = Util.null2String(mainInfo.get("szgs")); + String szgs = Util.null2String(mainInfo.get("szgs")); //相差天数 - Integer cz = TimeUtil.dateInterval(sjksrq, sjccjsrq) + 1; + Integer cz = TimeUtil.dateInterval(sjksrq,sjccjsrq)+1; //插入出差表 - Double czours = multiply(String.valueOf(cz), "8"); + Double czours = multiply(String.valueOf(cz),"8"); Set all = new HashSet<>(); all.add(sjksrq); - List back = days(sjksrq, sjccjsrq); + List back = days(sjksrq,sjccjsrq); all.addAll(back); all.add(sjccjsrq); KQWorkTime kqWorkTime = new KQWorkTime(); kqWorkTime.setIsFormat(true); - for (String date : all) { - bb.writeLog("date:" + date); + List> paramInsert = new ArrayList<>(); + for(String date:all){ + bb.writeLog("date:"+date); WorkTimeEntity tmpworkTime = kqWorkTime.getWorkTime(sqr, date); - if (tmpworkTime.getWorkMins() > 0) { - bb.writeLog("当天排班了:" + tmpworkTime.getWorkMins()); - insertLeave(reqid, Integer.valueOf(sqr), date, 8.00, "3", "1", szgs, szbm, date, wfid, tablaName); - insertDetail(sqr, date, rs); + if(tmpworkTime.getWorkMins()>0){ + bb.writeLog("当天排班了:"+tmpworkTime.getWorkMins()); + insertLeave(reqid,Integer.valueOf(sqr),date,8.00,"3","1",szgs,szbm,date,wfid,tablaName); + List params = new ArrayList<>(); + params.add(sqr); + params.add(date); + paramInsert.add(params); } } + new KQFormatBiz().format(paramInsert); } catch (Exception e) { e.printStackTrace(); bb.writeLog(e); - bb.writeLog("更新人员出差时长error" + e.getMessage()); + bb.writeLog("更新人员出差时长error"+e.getMessage()); info.getRequestManager().setMessageid("2000"); info.getRequestManager().setMessagecontent("更新人员出差时长error"); return Action.FAILURE_AND_CONTINUE; @@ -87,15 +90,9 @@ public class UpdateCcTimeAction implements Action { return Action.SUCCESS; } - private void insertDetail(String resourceId, String date, RecordSet rs) { - String sql = "update kq_format_detail set evectionMins=480,absenteeismMins=0 where resourceid=? and kqdate='" + date + "'"; - rs.executeUpdate(sql, resourceId); - } - /** * 获取两个日期之间所有的日期 - * * @param date1 * @param date2 * @return @@ -158,7 +155,6 @@ public class UpdateCcTimeAction implements Action { /** * 提供精确的乘法运算。 - * * @param v1 被加数 * @param v2 加数 * @return 两个参数的和 @@ -171,34 +167,19 @@ public class UpdateCcTimeAction implements Action { /** * 插入请假拆分表 - * * @param requestid * @param userid * @param fromDate * @param MaxHours */ - private static void insertLeave(String requestid, Integer userid, String fromDate, Double MaxHours, String durationrule, String newleavetype, String subcompany, String department, String toDate, String wfid, String tablename) { - BaseBean bb = new BaseBean(); + private static void insertLeave(String requestid,Integer userid,String fromDate,Double MaxHours,String durationrule,String newleavetype,String subcompany,String department,String toDate,String wfid,String tablename){ + BaseBean bb = new BaseBean(); //插入加班时间 RecordSet rsInsert = new RecordSet(); String sql = "insert into kq_flow_split_evection (requestid,resourceid,fromdate,fromtime,todate,totime,duration,durationrule,belongdate,newleavetype,subcompanyid,departmentid,workflowid,tablenamedb) " + " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?) "; - rsInsert.executeUpdate(sql, requestid, userid, fromDate, "08:00", toDate, "17:00", MaxHours, durationrule, fromDate, newleavetype, subcompany, department, wfid, tablename); - bb.writeLog("insertSql:" + sql); - } - - - public static void main(String[] args) { - Set all = new HashSet<>(); - all.add("2023-12-20"); - List back = days("2023-12-20", "2023-12-20"); - all.addAll(back); - all.add("2023-12-20"); - for (String date : all) { - System.out.println(date); - } - - + rsInsert.executeUpdate(sql, requestid,userid,fromDate,"08:00",toDate,"17:00",MaxHours,durationrule,fromDate,newleavetype,subcompany,department,wfid,tablename); + bb.writeLog("insertSql:"+sql); } }