From cbf17d18777ffd5af8cac776bc4059bab9dcb451 Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Tue, 24 Dec 2024 13:46:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E7=8F=AD=E6=B5=81=E7=A8=8B=E5=89=8D?= =?UTF-8?q?=EF=BC=8C=E8=AF=B7=E5=81=87=E6=B5=81=E7=A8=8B=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vacation/util/VocationCommonUtil.java | 4 +- .../action/OvertimePlanCheckAction.java | 2 +- .../request/hrmattendance/HrmAttendance.jsp | 22 ++ .../hrmattendance/HrmjucailAskForLeave_e9.jsp | 314 +++++++++--------- .../HrmjucailWorkOvertimePlan_e9.jsp | 191 +++++------ .../request/hrmattendance/UpdateErrorData.jsp | 119 +++++++ 6 files changed, 389 insertions(+), 263 deletions(-) create mode 100644 workflow/request/hrmattendance/HrmAttendance.jsp create mode 100644 workflow/request/hrmattendance/UpdateErrorData.jsp diff --git a/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java b/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java index 35f7a5d..1c1dedf 100644 --- a/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java +++ b/src/com/engine/jucailinkq/attendance/vacation/util/VocationCommonUtil.java @@ -567,8 +567,8 @@ public class VocationCommonUtil { String jqid = Util.null2String(dataMap.get("jqid")); String sxrq = Util.null2String(dataMap.get("sxrq")); String jzrq = Util.null2String(dataMap.get("jzrq")); - String sql = "select id,ffsj,ktsc,yxsc,wxsc,ztsc,zfsc,yqsc,yqyxsc,yqsxrq from "+tableName +" where lyid=? and ygid=? and jqid=? and sxrq>=? and jzrq<=?"; - List> dataList = DbTools.getSqlToList(sql,lyid,ygid,jqid,sxrq,jzrq); + String sql = "select id,ffsj,ktsc,yxsc,wxsc,ztsc,zfsc,yqsc,yqyxsc,yqsxrq from "+tableName +" where lyid=? and ygid=? and jqid=? and sxrq<=? and jzrq>=?"; + List> dataList = DbTools.getSqlToList(sql,lyid,ygid,jqid,jzrq,sxrq); return dataList; } diff --git a/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java b/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java index 1a3f733..6af311f 100644 --- a/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java +++ b/src/com/engine/jucailinkq/attendance/workflow/action/OvertimePlanCheckAction.java @@ -471,7 +471,7 @@ public class OvertimePlanCheckAction implements Action { //判断交集部分是否完全属于班次的休息、就餐时段 boolean onlyInRestPeriod = overtimeOnlyInRestRange(currentDayBcId, overtimePlanStart, overtimePlanEnd, startDate); if (!onlyInRestPeriod) { - return "与" + startDate + "班次中的非休息、就餐时段存在交集!"; + return "与" + startDate + "班次的工作时段存在重合,请重新设置开始结束时间"; } else { return ""; } diff --git a/workflow/request/hrmattendance/HrmAttendance.jsp b/workflow/request/hrmattendance/HrmAttendance.jsp new file mode 100644 index 0000000..8698e45 --- /dev/null +++ b/workflow/request/hrmattendance/HrmAttendance.jsp @@ -0,0 +1,22 @@ +<%@ page import="com.engine.jucailinkq.common.util.DbTools" %> +<%@ page import="java.util.List" %> +<%@ page import="java.util.Map" %> +<%@ page import="java.util.stream.Collectors" %> + + +<% + String sql = "select csm id,csz name from uf_jcl_kq_globalset where zt=0"; + Map globalMap = DbTools.getSqlToMapList(sql); + String insertSql = "insert into uf_jcl_kq_globalset (csm,csz,zt) values (?,?,?)"; + String updateSql = "update uf_jcl_kq_globalset set csz=1,zt=0 "; + if (globalMap.get("haveRecord") == null){ + DbTools.update(insertSql,"haveRecord","1","0"); + }else { + DbTools.update(updateSql+" where csm='haveRecord'"); + } + if (globalMap.get("permission") == null){ + DbTools.update(insertSql,"permission","1","0"); + }else { + DbTools.update(updateSql+" where csm='permission'"); + } +%> \ No newline at end of file diff --git a/workflow/request/hrmattendance/HrmjucailAskForLeave_e9.jsp b/workflow/request/hrmattendance/HrmjucailAskForLeave_e9.jsp index 8aeb831..bc6c2ac 100644 --- a/workflow/request/hrmattendance/HrmjucailAskForLeave_e9.jsp +++ b/workflow/request/hrmattendance/HrmjucailAskForLeave_e9.jsp @@ -65,161 +65,161 @@ WfForm.addDetailRow("detail_1", addObj); - if (mainTableData.mtcfsdjq == "0"){ - addObj = {}; - addObj[WfForm.convertFieldNameToId("yesygz", "detail_3")]={value:mainTableData.yesygz}; - addObj[WfForm.convertFieldNameToId("sxwxz", "detail_3")]={value:mainTableData.sxwxz}; - addObj[WfForm.convertFieldNameToId("qjfs", "detail_3")]={value:mainTableData.cxjqj}; - addObj[WfForm.convertFieldNameToId("qjr", "detail_3")]={value:mainTableData.qjr}; - addObj[WfForm.convertFieldNameToId("qjlx", "detail_3")]={value:mainTableData.jqlx,specialobj:mainTableData.jqlx_vals}; - addObj[WfForm.convertFieldNameToId("ksrq", "detail_3")]={value:mainTableData.ksrq}; - addObj[WfForm.convertFieldNameToId("jsrq", "detail_3")]={value:mainTableData.jsrq} - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - switch(mainTableData.cxjqj) { - case '0'://全天请假 - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")] = {value: '1'};//设置全天假为勾选 - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - - break; - case '1'://按时间区间请假,需要单独设置开始结束时间或者开始结束时段 - //按时间区间请假,需要单独设置开始结束时间或者开始结束时段 - if (mainTableData.sxwxz == '0') { - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")] = {value: mainTableData.kssj}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")] = {value: mainTableData.jssj}; - - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - } else { - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")] = {value: mainTableData.kssd}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")] = {value: mainTableData.jssd}; - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - } - break; - case '2'://半天请假 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")] = {value: '1'};//设置半天假为勾选 - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - break; - case '3'://按时间长度请假 - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")] = {value: mainTableData.qjsc}; - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - break; - default://其他全天或者半天出差 - break; - } - WfForm.addDetailRow("detail_3", addObj); - }else{ - var v_tmpbdate = new Date(item.ksrq); - var v_tmpedate = new Date(v_tmpbdate); - if (!DateCheck(item.ksrq,item.kssj,item.jsrq,item.jssj)) { - v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); - v_tmpedate = new Date(v_tmpedate); - } - while (v_tmpbdate<=new Date(item.jsrq)){ - addObj = {}; - addObj[WfForm.convertFieldNameToId("yesygz", "detail_3")]={value:mainTableData.yesygz}; - addObj[WfForm.convertFieldNameToId("sxwxz", "detail_3")]={value:mainTableData.sxwxz}; - addObj[WfForm.convertFieldNameToId("qjfs", "detail_3")]={value:mainTableData.cxjqj}; - addObj[WfForm.convertFieldNameToId("qjr", "detail_3")]={value:mainTableData.qjr}; - addObj[WfForm.convertFieldNameToId("qjlx", "detail_3")]={value:mainTableData.jqlx,specialobj:mainTableData.jqlx_vals}; - addObj[WfForm.convertFieldNameToId("ksrq", "detail_3")]={value:v_tmpbdate}; - addObj[WfForm.convertFieldNameToId("jsrq", "detail_3")]={value:v_tmpedate}; - switch(mainTableData.cxjqj) { - case '0'://全天请假 - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")] = {value: '1'};//设置全天假为勾选 - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - - break; - case '1'://按时间区间请假,需要单独设置开始结束时间或者开始结束时段 - //按时间区间请假,需要单独设置开始结束时间或者开始结束时段 - if (mainTableData.sxwxz == '0') { - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")] = {value: mainTableData.kssj}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")] = {value: mainTableData.jssj}; - - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - } else { - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")] = {value: mainTableData.kssd}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")] = {value: mainTableData.jssd}; - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - } - break; - case '2'://半天请假 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")] = {value: '1'};//设置半天假为勾选 - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - break; - case '3'://按时间长度请假 - addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")] = {value: mainTableData.qjsc}; - - addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; - addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 - addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 - break; - default://其他全天或者半天出差 - break; - } - WfForm.addDetailRow("detail_3", addObj); - v_tmpbdate = v_tmpbdate.setDate(v_tmpbdate.getDate() + 1); - v_tmpbdate = new Date(v_tmpbdate); - //明细结束日期加一天 - v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); - v_tmpedate = new Date(v_tmpedate); - } - } + // if (mainTableData.mtcfsdjq == "0"){ + // addObj = {}; + // addObj[WfForm.convertFieldNameToId("yesygz", "detail_3")]={value:mainTableData.yesygz}; + // addObj[WfForm.convertFieldNameToId("sxwxz", "detail_3")]={value:mainTableData.sxwxz}; + // addObj[WfForm.convertFieldNameToId("qjfs", "detail_3")]={value:mainTableData.cxjqj}; + // addObj[WfForm.convertFieldNameToId("qjr", "detail_3")]={value:mainTableData.qjr}; + // addObj[WfForm.convertFieldNameToId("qjlx", "detail_3")]={value:mainTableData.jqlx,specialobj:mainTableData.jqlx_vals}; + // addObj[WfForm.convertFieldNameToId("ksrq", "detail_3")]={value:mainTableData.ksrq}; + // addObj[WfForm.convertFieldNameToId("jsrq", "detail_3")]={value:mainTableData.jsrq} + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // switch(mainTableData.cxjqj) { + // case '0'://全天请假 + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")] = {value: '1'};//设置全天假为勾选 + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // + // break; + // case '1'://按时间区间请假,需要单独设置开始结束时间或者开始结束时段 + // //按时间区间请假,需要单独设置开始结束时间或者开始结束时段 + // if (mainTableData.sxwxz == '0') { + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")] = {value: mainTableData.kssj}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")] = {value: mainTableData.jssj}; + // + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // } else { + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")] = {value: mainTableData.kssd}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")] = {value: mainTableData.jssd}; + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // } + // break; + // case '2'://半天请假 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")] = {value: '1'};//设置半天假为勾选 + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // break; + // case '3'://按时间长度请假 + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")] = {value: mainTableData.qjsc}; + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // break; + // default://其他全天或者半天出差 + // break; + // } + // WfForm.addDetailRow("detail_3", addObj); + // }else{ + // var v_tmpbdate = new Date(item.ksrq); + // var v_tmpedate = new Date(v_tmpbdate); + // if (!DateCheck(item.ksrq,item.kssj,item.jsrq,item.jssj)) { + // v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); + // v_tmpedate = new Date(v_tmpedate); + // } + // while (v_tmpbdate<=new Date(item.jsrq)){ + // addObj = {}; + // addObj[WfForm.convertFieldNameToId("yesygz", "detail_3")]={value:mainTableData.yesygz}; + // addObj[WfForm.convertFieldNameToId("sxwxz", "detail_3")]={value:mainTableData.sxwxz}; + // addObj[WfForm.convertFieldNameToId("qjfs", "detail_3")]={value:mainTableData.cxjqj}; + // addObj[WfForm.convertFieldNameToId("qjr", "detail_3")]={value:mainTableData.qjr}; + // addObj[WfForm.convertFieldNameToId("qjlx", "detail_3")]={value:mainTableData.jqlx,specialobj:mainTableData.jqlx_vals}; + // addObj[WfForm.convertFieldNameToId("ksrq", "detail_3")]={value:v_tmpbdate}; + // addObj[WfForm.convertFieldNameToId("jsrq", "detail_3")]={value:v_tmpedate}; + // switch(mainTableData.cxjqj) { + // case '0'://全天请假 + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")] = {value: '1'};//设置全天假为勾选 + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // + // break; + // case '1'://按时间区间请假,需要单独设置开始结束时间或者开始结束时段 + // //按时间区间请假,需要单独设置开始结束时间或者开始结束时段 + // if (mainTableData.sxwxz == '0') { + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")] = {value: mainTableData.kssj}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")] = {value: mainTableData.jssj}; + // + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // } else { + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")] = {value: mainTableData.kssd}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")] = {value: mainTableData.jssd}; + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // } + // break; + // case '2'://半天请假 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")] = {value: '1'};//设置半天假为勾选 + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // break; + // case '3'://按时间长度请假 + // addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")] = {value: mainTableData.qjsc}; + // + // addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; + // addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 + // addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 + // break; + // default://其他全天或者半天出差 + // break; + // } + // WfForm.addDetailRow("detail_3", addObj); + // v_tmpbdate = v_tmpbdate.setDate(v_tmpbdate.getDate() + 1); + // v_tmpbdate = new Date(v_tmpbdate); + // //明细结束日期加一天 + // v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); + // v_tmpedate = new Date(v_tmpedate); + // } + // } }); }else{ WfForm.showMessage(res.data.errorInfo, 2, 5); @@ -405,6 +405,10 @@ // WfForm.showMessage("明细表1没有数据,请点击生成请假按钮", 2, 10); // } }); + WfForm.registerCheckEvent(WfForm.OPER_ADDROW+"3", function(callback){ + WfForm.delDetailRow("detail_1", "all"); + callback(); //允许继续添加行调用callback,不调用代表阻断添加 + }); resetAttr(WfForm.getFieldValue(WfForm.convertFieldNameToId("cxjqj"))) diff --git a/workflow/request/hrmattendance/HrmjucailWorkOvertimePlan_e9.jsp b/workflow/request/hrmattendance/HrmjucailWorkOvertimePlan_e9.jsp index 1770d14..6a1082e 100644 --- a/workflow/request/hrmattendance/HrmjucailWorkOvertimePlan_e9.jsp +++ b/workflow/request/hrmattendance/HrmjucailWorkOvertimePlan_e9.jsp @@ -75,111 +75,92 @@ var totalsc = getTotalsc(); WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc"), {value:totalsc}); } - // function adddetail() { - // //首先进行必填校验,不通过直接退出 - // //if(!WfForm.verifyFormRequired(false, true)){ return; } - // //每天同时段出差,1:是,0:否 - // let mttsdcc = WfForm.getFieldValue(WfForm.convertFieldNameToId("mttsdjb")); - // //开始日期 - // var ksrq = new Date(WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq"))); - // //结束日期 - // var jsrq = new Date(WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq"))); - // //开始时间 - // var kssj = WfForm.getFieldValue(WfForm.convertFieldNameToId("kssj")); - // //结束时间 - // let jssj = WfForm.getFieldValue(WfForm.convertFieldNameToId("jssj")); - // //加班时长 - // var ccsc = WfForm.getFieldValue(WfForm.convertFieldNameToId("jbsc")); - // //加班类型 - // var arr_jblx = mobx.toJS(wfform.getFieldValueObj(WfForm.convertFieldNameToId("jblx")).specialobj); - // //清空第一明细所有记录 - // WfForm.delDetailRow("detail_1", "all"); - // //判断出差是否跨天 - // let v_overzero = jssj < kssj ? true : false; - // //出差人ID数组 - // var arr_ids = (WfForm.getFieldValue(WfForm.convertFieldNameToId("jbry"))).split(','); - // //出差人名字数组 - // var arr_names = (WfForm.getBrowserShowName(WfForm.convertFieldNameToId("jbry"))).split(','); - // for (let index = 0; index < arr_ids.length; index++) { - // //预置明细记录开始日期 - // var v_tmpbdate = new Date(ksrq); - // //预置明细记录结束日期 - // var v_tmpedate = new Date(v_tmpbdate); - // if (mttsdcc == '1') { - // //首次循环时,明细开始与结束日期均等于主表开始日期,而主表结束日期一定大于等于开始日期,所以至少添加一笔明细 - // //当出差为跨天差时,每笔明细的结束日期会加一天 - // while(v_tmpedate <= jsrq && v_tmpedate <= jsrq){ - // //初始化明细记录 - // var addObj = {}; - // //添加出差人信息 - // addObj[WfForm.convertFieldNameToId("jbry", "detail_1")] = {value:arr_ids[index],specialobj:[{id:arr_ids[index],name:arr_names[index]}]}; - // //添加加班类型信息 - // addObj[WfForm.convertFieldNameToId("jblx", "detail_1")] = {value:arr_jblx[0].id,specialobj:[{id:arr_jblx[0].id,name:arr_jblx[0].mc}]}; - // //添加开始日期字段信息 - // addObj[WfForm.convertFieldNameToId("ksrq", "detail_1")] = {value:v_tmpbdate}; - - // addObj[WfForm.convertFieldNameToId("gsrq", "detail_1")] = {value:v_tmpbdate}; - // //按时间区间出差逻辑 - // if (v_overzero){ - // //跨天时,明细记录的结束日期等于开始日期加一天 - // v_tmpedate = v_tmpedate.setDate(v_tmpbdate.getDate() + 1); - // v_tmpedate = new Date(v_tmpedate); - // } - // //添加结束日期字段信息 - // addObj[WfForm.convertFieldNameToId("jsrq", "detail_1")] = {value:v_tmpedate}; - // //添加开始时间字段信息 - // addObj[WfForm.convertFieldNameToId("kssj", "detail_1")] = {value:kssj}; - // //添加结束时间字段信息 - // addObj[WfForm.convertFieldNameToId("jssj", "detail_1")] = {value:jssj}; - // //todo 调用接口计算开始结束时间区间内的工作时长; - // //暂时先不调用接口,直接使用开始结束时间区间间隔小时数 - // var v_hours = (new Date(v_tmpedate+" "+jssj).getTime() - new Date(v_tmpbdate+" "+kssj).getTime())/(1000 * 60 * 60); - // //超过8小时,以8小时计 - // v_hours = Number(v_hours) > 8 ? 8 : Number(v_hours) - // addObj[WfForm.convertFieldNameToId("jbsc", "detail_1")] = {value:v_hours}; - // //追加明细记录 - // WfForm.addDetailRow("detail_1", addObj); - // //明细开始日期加一天 - // v_tmpbdate = v_tmpbdate.setDate(v_tmpbdate.getDate() + 1); - // v_tmpbdate = new Date(v_tmpbdate); - // //明细结束日期加一天 - // v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); - // v_tmpedate = new Date(v_tmpedate); - // } - // }else{ - // //非每天同时段出差方式出差 - // //设置第一笔明细结束日期为出差开始日期加一天 - // v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); - // v_tmpedate = new Date(v_tmpedate); - // while (v_tmpedate <= jsrq) { - // var addObj = {}; - // addObj[WfForm.convertFieldNameToId("jbry", "detail_1")] = {value:arr_ids[index],specialobj:[{id:arr_ids[index],name:arr_names[index]}]}; - // addObj[WfForm.convertFieldNameToId("ksrq", "detail_1")] = {value:v_tmpbdate}; - // addObj[WfForm.convertFieldNameToId("gsrq", "detail_1")] = {value:v_tmpbdate}; - // addObj[WfForm.convertFieldNameToId("jsrq", "detail_1")] = {value:v_tmpedate}; - // addObj[WfForm.convertFieldNameToId("kssj", "detail_1")] = {value:kssj}; - // addObj[WfForm.convertFieldNameToId("jssj", "detail_1")] = {value:"00:00"}; - // WfForm.addDetailRow("detail_1", addObj); - // v_tmpbdate = new Date(v_tmpedate); - // kssj = '00:00'; - // //明细结束日期加一天 - // v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); - // v_tmpedate = new Date(v_tmpedate); - // } - // var addObj = {}; - // addObj[WfForm.convertFieldNameToId("ksrq", "detail_1")] = {value:v_tmpbdate}; - // addObj[WfForm.convertFieldNameToId("gsrq", "detail_1")] = {value:v_tmpbdate}; - // addObj[WfForm.convertFieldNameToId("jsrq", "detail_1")] = {value:jsrq}; - // addObj[WfForm.convertFieldNameToId("kssj", "detail_1")] = {value:kssj}; - // addObj[WfForm.convertFieldNameToId("jssj", "detail_1")] = {value:jssj}; - // //追加明细记录 - // WfForm.addDetailRow("detail_1", addObj); - // } - // }; - // //添加完明细后,更新主表的总请假时长栏位信息 - // var totalsc = getTotalsc(); - // WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc"), {value:totalsc}); - // } + + function updateDetail(rowindex){ + let mainTableData = { + szjg: WfForm.getFieldValue(WfForm.convertFieldNameToId("szjg")), + jbry: WfForm.getFieldValue(WfForm.convertFieldNameToId("jbry","detail_1")+"_"+rowindex), + jblx: WfForm.getFieldValue(WfForm.convertFieldNameToId("jblx","detail_1")+"_"+rowindex), + mttsdjb: WfForm.getFieldValue(WfForm.convertFieldNameToId("mttsdjb")), + ksrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq","detail_1")+"_"+rowindex), + jsrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq","detail_1")+"_"+rowindex), + kssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("kssj","detail_1")+"_"+rowindex), + jssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssj","detail_1")+"_"+rowindex) + } + + + let param = { + mainTableData:JSON.stringify(mainTableData), + } + if (mainTableData.ksrq == '' || mainTableData.jsrq == '' || mainTableData.kssj == '' || mainTableData.jssj==''){ + return; + } + console.log(param); + $.ajax({ + url:'/api/attendance/overtimeplan/generateOvertimePlanDetails', + data:param, + type:'GET', + dataType:'json', + async:false, + success:function(res){ + if(res.api_status){ + if(res.data.status){ + let resultData = res.data.data; + if (resultData.length>0){ + WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc", "detail_1")+"_"+rowindex, { + value: Number(resultData[0].jbsc) + }); + WfForm.changeFieldValue(WfForm.convertFieldNameToId("gsrq", "detail_1")+"_"+rowindex, { + value: resultData[0].gsrq + }); + } + }else { + let errorData = res.data.errorInfo; + if (errorData.length >0){ + WfForm.showMessage(errorData[0], 2, 10); + + } + } + } + } + }) + var totalsc = getTotalsc(); + WfForm.changeFieldValue(WfForm.convertFieldNameToId("jbsc"), {value:totalsc}); + } + + WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("kssj","detail_1"), + function(id,rowIndex,value) { + console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value); + updateDetail(rowIndex); + + }); + WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jssj","detail_1"), + function(id,rowIndex,value) { + console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value); + updateDetail(rowIndex); + + }); + WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jsrq","detail_1"), + + function(id,rowIndex,value) { + + if (WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq","detail_1")+"_"+rowIndex) != value){ + WfForm.changeFieldValue(WfForm.convertFieldNameToId("ksrq","detail_1")+"_"+rowIndex,{value:value}) + console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value); + updateDetail(rowIndex); + } + }); + + WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("ksrq","detail_1"), + + function(id,rowIndex,value) { + if (WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq","detail_1")+"_"+rowIndex) != value){ + WfForm.changeFieldValue(WfForm.convertFieldNameToId("jsrq","detail_1")+"_"+rowIndex,{value:value}) + console.log("WfForm.bindDetailFieldChangeEvent--",id,rowIndex,value); + // updateDetail(rowIndex); + } + + }); /** * 计算明细总请假长度 diff --git a/workflow/request/hrmattendance/UpdateErrorData.jsp b/workflow/request/hrmattendance/UpdateErrorData.jsp new file mode 100644 index 0000000..3e4836a --- /dev/null +++ b/workflow/request/hrmattendance/UpdateErrorData.jsp @@ -0,0 +1,119 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ page import="weaver.general.Util" %> +<%@ page import="com.engine.jucailinkq.common.util.ExtensionClassHolder" %> +<%@ page import="com.engine.jucailinkq.common.util.CommonUtil" %> +<%@ page import="java.util.Map" %> +<%@ page import="java.util.List" %> +<%@ page import="com.engine.jucailinkq.common.util.DbTools" %> +<%@ page import="weaver.general.BaseBean" %> +<%@ page import="com.alibaba.fastjson.JSON" %> +<%@ page import="com.google.common.collect.Maps" %> +<%@ page import="java.util.Date" %> +<%@ page import="com.engine.jucailinkq.common.util.DateUtil" %> +<%@ page contentType="text/html; charset=UTF-8" %> + + +<% + + String startDate = Util.null2String(request.getParameter("startDate")); + String endDate = Util.null2String(request.getParameter("endDate")); + String userIds = Util.null2String(request.getParameter("userIds")); + BaseBean baseBean = new BaseBean(); + Map resultMap = Maps.newHashMap(); + try { + CommonUtil.initExtensionClassHolder(); + //入职离职当天是否需要进行考勤分析。0:入职离职当天均分析、1:入职离职当天不分析 + String leaveAndEntry = Util.null2String(ExtensionClassHolder.getGlobalSetMap().get("leaveAndEntry")); + + + if (userIds.equals("")){ + String queryDepartEmployeeSql = "select resourceid ,changedate,type_n from HRMSTATUSHISTORY where (type_n = 5 or type_n = 7)"; + //获取离职日期 + List> departEmployeeList = DbTools.getSqlToList(queryDepartEmployeeSql); + Map departEmployeeMap = CommonUtil.getDepartEmployeeMap(departEmployeeList); + String queryUserSql = "select id,companystartdate,seclevel,departmentid,subcompanyid1 from hrmresource"; + List> userList = DbTools.getSqlToList(queryUserSql); + String updateSql = "delete from uf_jcl_kq_cqjg where ygid = ? and rq >= ? and rq <= ?"; + for (Map userMap :userList){ + String companystartdate = Util.null2String(userMap.get("companystartdate")); + String terminationDate = Util.null2String(departEmployeeMap.get(userMap.get("id"))); + String user = Util.null2String(userMap.get("id")); + + if (!"".equals(companystartdate) && DateUtil.getTime(companystartdate).compareTo(DateUtil.getTime(endDate))<=0 && + DateUtil.getTime(companystartdate).compareTo(DateUtil.getTime(startDate))>=0){ + if ("1".equals(leaveAndEntry)){ + DbTools.update(updateSql,user,startDate,companystartdate); + }else { + String beforeCompanystartdateDay = DateUtil.beforeDay(companystartdate,1); + if (DateUtil.getTime(beforeCompanystartdateDay).compareTo(DateUtil.getTime(startDate))>=0){ + DbTools.update(updateSql,user,startDate,beforeCompanystartdateDay); + } + } + } + if (!"".equals(terminationDate) && DateUtil.getTime(terminationDate).compareTo(DateUtil.getTime(endDate))<=0 && + DateUtil.getTime(terminationDate).compareTo(DateUtil.getTime(startDate))>=0){ + if ("1".equals(leaveAndEntry)){ + DbTools.update(updateSql,user,terminationDate,endDate); + }else { + String AfterDay = DateUtil.AfterDay(terminationDate,1); + if (DateUtil.getTime(AfterDay).compareTo(DateUtil.getTime(endDate))<=0){ + DbTools.update(updateSql,user,AfterDay,endDate); + } + } + } + + } + }else { + String queryDepartEmployeeSql = "select resourceid ,changedate,type_n from HRMSTATUSHISTORY where resourceid in ("+userIds+") and (type_n = 5 or type_n = 7)"; + //获取离职日期 + List> departEmployeeList = DbTools.getSqlToList(queryDepartEmployeeSql); + Map departEmployeeMap = CommonUtil.getDepartEmployeeMap(departEmployeeList); + String queryUserSql = "select id,companystartdate,seclevel,departmentid,subcompanyid1 from hrmresource where id in ("+userIds+")"; + List> userList = DbTools.getSqlToList(queryUserSql); + String updateSql = "delete from uf_jcl_kq_cqjg where ygid = ? and rq >= ? and rq <= ?"; + for (Map userMap :userList){ + String companystartdate = Util.null2String(userMap.get("companystartdate")); + String terminationDate = Util.null2String(departEmployeeMap.get(userMap.get("id"))); + String user = Util.null2String(userMap.get("id")); + + if (!"".equals(companystartdate) && DateUtil.getTime(companystartdate).compareTo(DateUtil.getTime(endDate))<=0 && + DateUtil.getTime(companystartdate).compareTo(DateUtil.getTime(startDate))>=0){ + if ("1".equals(leaveAndEntry)){ + DbTools.update(updateSql,user,startDate,companystartdate); + }else { + String beforeCompanystartdateDay = DateUtil.beforeDay(companystartdate,1); + if (DateUtil.getTime(beforeCompanystartdateDay).compareTo(DateUtil.getTime(startDate))>=0){ + DbTools.update(updateSql,user,startDate,beforeCompanystartdateDay); + } + } + } + if (!"".equals(terminationDate) && DateUtil.getTime(terminationDate).compareTo(DateUtil.getTime(endDate))<=0 && + DateUtil.getTime(terminationDate).compareTo(DateUtil.getTime(startDate))>=0){ + if ("1".equals(leaveAndEntry)){ + DbTools.update(updateSql,user,terminationDate,endDate); + }else { + String AfterDay = DateUtil.AfterDay(terminationDate,1); + if (DateUtil.getTime(AfterDay).compareTo(DateUtil.getTime(endDate))<=0){ + DbTools.update(updateSql,user,AfterDay,endDate); + } + } + } + + } + + } + + + resultMap.put("code","200"); + out.println(JSON.toJSONString(resultMap)); + }catch (Exception e){ + baseBean.writeLog(e); + resultMap.put("code","500"); + resultMap.put("error",e); + out.println(JSON.toJSONString(resultMap)); + } + + + + +%> \ No newline at end of file