修改计薪时长bug,修改计算假期,

main
liuliang 5 months ago
parent 2eceb472b2
commit 7ed7f01e70

@ -175,9 +175,9 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
DbTools.update(sql,insertDatas.toArray()); DbTools.update(sql,insertDatas.toArray());
} }
if (overTimeHolidayList.size() > 0 || overTimeResultList.size() >0){
updateWorkOverTimeDate(userId,analysisDate,overTimeHolidayList,overTimeResultList); updateWorkOverTimeDate(userId,analysisDate,overTimeHolidayList,overTimeResultList);
}
return null; return null;
} }

@ -203,21 +203,22 @@ public class SaveWorkOverTimeCmd extends AbstractCommonCommand<Map<String,Object
Map<String,Object> holidayItem = getHolidayItem(workTimeBeLateItems.get(0).get("zrdjb").toString(),attendanceItems); Map<String,Object> holidayItem = getHolidayItem(workTimeBeLateItems.get(0).get("zrdjb").toString(),attendanceItems);
//20240914逻辑修改加班转调休中加班时长、转入假期时长不进行核算量相关逻辑处理 //20240914逻辑修改加班转调休中加班时长、转入假期时长不进行核算量相关逻辑处理
// double ktsc = Utils.getItemdurationDown(Double.valueOf(holidayItem.get("hsl").toString()),holidayItem.get("hsdw").toString(),Double.valueOf(jbsc).intValue(),AccountingUnitEnum.MINUTES); // double ktsc = Utils.getItemdurationDown(Double.valueOf(holidayItem.get("hsl").toString()),holidayItem.get("hsdw").toString(),Double.valueOf(jbsc).intValue(),AccountingUnitEnum.MINUTES);
// double ktsc = Utils.getItemdurationDownWithoutHsl(holidayItem.get("hsdw").toString(),Double.valueOf(jbsc).intValue(),AccountingUnitEnum.MINUTES); double ktsc = Utils.getItemdurationDownWithoutHsl(holidayItem.get("hsdw").toString(),itemduration,workOverTimeHsdw);
double ktsc = itemduration; //double ktsc = itemduration;
double addJxsc = 0; double addJxsc = 0;
//加班计划明细中计薪时长规则和时长判断 //加班计划明细中计薪时长规则和时长判断
if (scheduleMap.get("jxgz") != null){ if (scheduleMap.get("jxgz") != null){
String jxgz = scheduleMap.get("jxgz").toString(); String jxgz = scheduleMap.get("jxgz").toString();
if ("0".equals(jxgz)) { if ("0".equals(jxgz)) {
//全部计薪 //全部计薪
addJxsc = itemduration; addJxsc = ktsc;
ktsc = 0; ktsc = 0;
} else if ("1".equals(jxgz)) { } else if ("1".equals(jxgz)) {
//指定计薪时长 //指定计薪时长
double jxsc = Double.parseDouble(scheduleMap.getOrDefault("jxsc", "0").toString()); double jxsc = Double.parseDouble(scheduleMap.getOrDefault("jxsc", "0").toString());
addJxsc = itemduration - jxsc > 0 ? jxsc : itemduration; jxsc = Utils.getItemdurationDownWithoutHsl(holidayItem.get("hsdw").toString(),jxsc,AccountingUnitEnum.HOUR.getKey());
ktsc = itemduration - addJxsc; addJxsc = ktsc - jxsc > 0 ? jxsc : ktsc;
ktsc = ktsc - addJxsc;
} }
} }
insertHoliDayParam.put("ktsc",ktsc); insertHoliDayParam.put("ktsc",ktsc);

@ -294,7 +294,7 @@ public class ByIntervalPayMentWay implements HolidayGenerationWay{
companystartdate=""; companystartdate="";
} }
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd,companystartdate); VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd,companystartdate,wscl);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq); VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq);
return insertHoliDayParam; return insertHoliDayParam;

@ -195,7 +195,7 @@ public class BySchedulePaymentWay implements HolidayGenerationWay{
companystartdate=""; companystartdate="";
} }
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd,companystartdate); VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd,companystartdate,wscl);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye",insertHoliDayParam,dataList,edyxq); VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye",insertHoliDayParam,dataList,edyxq);
return insertHoliDayParam; return insertHoliDayParam;

@ -228,7 +228,7 @@ public class SinglePaymentInFullWay implements HolidayGenerationWay {
companystartdate=""; companystartdate="";
} }
VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd,companystartdate); VocationCommonUtil.computeRestTimeByjzrqzd(insertHoliDayParam,jzrqzd,companystartdate,wscl);
VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq); VocationCommonUtil.updateHolidayBalance("uf_jcl_kq_jqye", insertHoliDayParam,dataList,edyxq);
} }
return insertHoliDayParam; return insertHoliDayParam;

@ -640,7 +640,7 @@ public class VocationCommonUtil {
* @param insertHoliDayParam * @param insertHoliDayParam
* @param jzrqzd * @param jzrqzd
*/ */
public static void computeRestTimeByjzrqzd(Map<String, Object> insertHoliDayParam,String jzrqzd,String companystartdate){ public static void computeRestTimeByjzrqzd(Map<String, Object> insertHoliDayParam,String jzrqzd,String companystartdate,String wscl){
String sxrq = Util.null2String(insertHoliDayParam.get("sxrq")); String sxrq = Util.null2String(insertHoliDayParam.get("sxrq"));
String jzrq = Util.null2String(insertHoliDayParam.get("jzrq")); String jzrq = Util.null2String(insertHoliDayParam.get("jzrq"));
int alldays = DateUtil.getBetWeenDays(sxrq,jzrq)+1; int alldays = DateUtil.getBetWeenDays(sxrq,jzrq)+1;
@ -656,6 +656,6 @@ public class VocationCommonUtil {
endtDate=jzrqzd; endtDate=jzrqzd;
} }
int days = DateUtil.getBetWeenDays(startDate,endtDate)+1; int days = DateUtil.getBetWeenDays(startDate,endtDate)+1;
insertHoliDayParam.put("ktsc",Utils.divide(days*ktsc,alldays)); insertHoliDayParam.put("ktsc",computeRestDays(days,alldays,ktsc));
} }
} }

@ -411,30 +411,30 @@ public class Utils<T> {
* @param unit * @param unit
* @return * @return
*/ */
public static double getItemdurationDownWithoutHsl(String hsdw,int duration, AccountingUnitEnum unit){ public static double getItemdurationDownWithoutHsl(String hsdw,double duration, String unit){
String itemDuration = "0.00"; String itemDuration = "0.00";
if (AccountingUnitEnum.ONCE.getKey().equals(hsdw)){ if (AccountingUnitEnum.ONCE.getKey().equals(hsdw)){
itemDuration = "1"; itemDuration = "1";
}else if (AccountingUnitEnum.HOUR.getKey().equals(hsdw)){ }else if (AccountingUnitEnum.HOUR.getKey().equals(hsdw)){
if (unit.equals(AccountingUnitEnum.MINUTES)){ if (unit.equals(AccountingUnitEnum.MINUTES.getKey())){
double durationHour = duration/60.0; double durationHour = duration/60.0;
itemDuration = String.format("%.2f", durationHour); itemDuration = String.format("%.2f", durationHour);
}else if (unit.equals(AccountingUnitEnum.HOUR)){ }else if (unit.equals(AccountingUnitEnum.HOUR.getKey())){
itemDuration = String.valueOf(duration); itemDuration = String.valueOf(duration);
} }
}else if (AccountingUnitEnum.MINUTES.getKey().equals(hsdw)){ }else if (AccountingUnitEnum.MINUTES.getKey().equals(hsdw)){
if (unit.equals(AccountingUnitEnum.MINUTES)){ if (unit.equals(AccountingUnitEnum.MINUTES.getKey())){
itemDuration = String.valueOf(duration); itemDuration = String.valueOf(duration);
}else if (unit.equals(AccountingUnitEnum.HOUR)){ }else if (unit.equals(AccountingUnitEnum.HOUR.getKey())){
int durationMinute = duration*60; double durationMinute = duration*60;
itemDuration = String.valueOf(durationMinute); itemDuration = String.valueOf(durationMinute);
} }
}else if (AccountingUnitEnum.DAY.getKey().equals(hsdw)){ }else if (AccountingUnitEnum.DAY.getKey().equals(hsdw)){
//默认一天8小时 //默认一天8小时
if (unit.equals(AccountingUnitEnum.MINUTES)){ if (unit.equals(AccountingUnitEnum.MINUTES.getKey())){
double durationDay = duration/480.0; double durationDay = duration/480.0;
itemDuration = String.format("%.2f", durationDay); itemDuration = String.format("%.2f", durationDay);
}else if (unit.equals(AccountingUnitEnum.HOUR)){ }else if (unit.equals(AccountingUnitEnum.HOUR.getKey())){
double durationDay = duration/8.0; double durationDay = duration/8.0;
itemDuration = String.format("%.2f", durationDay); itemDuration = String.format("%.2f", durationDay);

@ -25,6 +25,11 @@
jssd: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssd")), jssd: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssd")),
qjsc: WfForm.getFieldValue(WfForm.convertFieldNameToId("qjsc")) qjsc: WfForm.getFieldValue(WfForm.convertFieldNameToId("qjsc"))
} }
generateHoliday(mainTableData);
})
function generateHoliday(mainTableData){
let detailTableData=[]; let detailTableData=[];
let param = { let param = {
@ -40,6 +45,7 @@
dataType:'json', dataType:'json',
async:false, async:false,
success:function(res){ success:function(res){
debugger;
if(res.api_status){ if(res.api_status){
if(res.data.status){ if(res.data.status){
WfForm.delDetailRow("detail_1", "all"); WfForm.delDetailRow("detail_1", "all");
@ -72,7 +78,7 @@
addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
switch(mainTableData.cxjqj) { switch(mainTableData.cxjqj) {
@ -83,7 +89,7 @@
addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
break; break;
@ -95,7 +101,7 @@
addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
} else { } else {
@ -104,7 +110,7 @@
addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
} }
@ -134,13 +140,13 @@
} }
WfForm.addDetailRow("detail_3", addObj); WfForm.addDetailRow("detail_3", addObj);
}else{ }else{
var v_tmpbdate = new Date(mainTableData.ksrq); var v_tmpbdate = new Date(item.ksrq);
var v_tmpedate = new Date(v_tmpbdate); var v_tmpedate = new Date(v_tmpbdate);
if (!DateCheck(mainTableData.ksrq,mainTableData.kssj,mainTableData.jsrq,mainTableData.jssj)) { if (!DateCheck(item.ksrq,item.kssj,item.jsrq,item.jssj)) {
v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1); v_tmpedate = v_tmpedate.setDate(v_tmpedate.getDate() + 1);
v_tmpedate = new Date(v_tmpedate); v_tmpedate = new Date(v_tmpedate);
} }
while (v_tmpbdate<=new Date(mainTableData.jsrq)){ while (v_tmpbdate<=new Date(item.jsrq)){
addObj = {}; addObj = {};
addObj[WfForm.convertFieldNameToId("yesygz", "detail_3")]={value:mainTableData.yesygz}; addObj[WfForm.convertFieldNameToId("yesygz", "detail_3")]={value:mainTableData.yesygz};
addObj[WfForm.convertFieldNameToId("sxwxz", "detail_3")]={value:mainTableData.sxwxz}; addObj[WfForm.convertFieldNameToId("sxwxz", "detail_3")]={value:mainTableData.sxwxz};
@ -157,7 +163,7 @@
addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
break; break;
@ -169,7 +175,7 @@
addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
} else { } else {
@ -178,7 +184,7 @@
addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选
addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选 addObj[WfForm.convertFieldNameToId("btj", "detail_3")]={value:''};//设置半天假为不勾选
} }
@ -190,7 +196,7 @@
addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssj", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("kssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("jssd", "detail_3")]={value:''};
addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:''}; addObj[WfForm.convertFieldNameToId("qjsc", "detail_3")]={value:""};
addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选 addObj[WfForm.convertFieldNameToId("qtj", "detail_3")]={value:''};//设置全天假为不勾选
break; break;
case '3'://按时间长度请假 case '3'://按时间长度请假
@ -214,45 +220,92 @@
v_tmpedate = new Date(v_tmpedate); v_tmpedate = new Date(v_tmpedate);
} }
} }
}) });
}else{ }else{
WfForm.showMessage(res.data.errorInfo, 2, 5); WfForm.showMessage(res.data.errorInfo, 2, 5);
} }
} }
resetqjfs();
} }
}) })
}) }
function generateHolidayNoDetail(mainTableData){
let detailTableData=[];
let param = {
mainTableData:JSON.stringify(mainTableData),
detailTableData:JSON.stringify(detailTableData),
}
console.log(param);
$.ajax({
url:'/api/attendance/askforleave/generateLeaveInfoList',
data:param,
type:'GET',
dataType:'json',
async:false,
success:function(res){
debugger;
if(res.api_status){
if(res.data.status){
let resultData = res.data.data;
resultData.filter(item => {
let addObj = {}
addObj[WfForm.convertFieldNameToId("qjr", "detail_1")] = {value:item.qjr,specialobj:[{id:item.qjr,name:item.qjrName}]};
addObj[WfForm.convertFieldNameToId("qjlx", "detail_1")] = {value:item.qjlx,specialobj:[{id:item.qjlx,name:item.qjlxName}]};
addObj[WfForm.convertFieldNameToId("ksrq", "detail_1")]={value:item.ksrq}
addObj[WfForm.convertFieldNameToId("kssj", "detail_1")]={value:item.kssj}
addObj[WfForm.convertFieldNameToId("jsrq", "detail_1")]={value:item.jsrq}
addObj[WfForm.convertFieldNameToId("jssj", "detail_1")]={value:item.jssj}
addObj[WfForm.convertFieldNameToId("qjsc", "detail_1")]={value:item.qjsc}
addObj[WfForm.convertFieldNameToId("qtj", "detail_1")]={value:item.qtj}
addObj[WfForm.convertFieldNameToId("btj", "detail_1")]={value:item.btj}
addObj[WfForm.convertFieldNameToId("jqye", "detail_1")]={value:item.jqye==undefined?'':item.jqye}
WfForm.addDetailRow("detail_1", addObj);
});
}else{
WfForm.showMessage(res.data.errorInfo, 2, 5);
}
}
resetqjfs();
}
})
}
//绑定全天假栏位值变更事件 //绑定全天假栏位值变更事件
jQuery(document).ready(function(){ jQuery(document).ready(function(){
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("ksrq", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("ksrq", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jsrq", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jsrq", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("kssj", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("kssj", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jssj", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jssj", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("kssd", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("kssd", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jssd", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("jssd", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("qjsc", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("qjsc", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all"); generateDetail1()
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("qtj", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("qtj", "detail_3"),function(id,rowIndex,value){
@ -263,6 +316,7 @@
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("btj", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("btj", "detail_3"),function(id,rowIndex,value){
if (null2String(WfForm.getFieldValue(WfForm.convertFieldNameToId("qtj", "detail_3")+"_"+rowIndex))=="1" && null2String(value) == "1") { if (null2String(WfForm.getFieldValue(WfForm.convertFieldNameToId("qtj", "detail_3")+"_"+rowIndex))=="1" && null2String(value) == "1") {
WfForm.changeFieldValue(WfForm.convertFieldNameToId("qtj","detail_3")+"_"+rowIndex,{ value: '0' });//重置开始时间 WfForm.changeFieldValue(WfForm.convertFieldNameToId("qtj","detail_3")+"_"+rowIndex,{ value: '0' });//重置开始时间
generateDetail1();
} }
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("sxwxz", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("sxwxz", "detail_3"),function(id,rowIndex,value){
@ -278,9 +332,9 @@
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("kssd","detail_3")+"_"+rowIndex, 1);//开始时段 WfForm.changeFieldAttr(WfForm.convertFieldNameToId("kssd","detail_3")+"_"+rowIndex, 1);//开始时段
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("jssd","detail_3")+"_"+rowIndex, 1);//结束时段 WfForm.changeFieldAttr(WfForm.convertFieldNameToId("jssd","detail_3")+"_"+rowIndex, 1);//结束时段
} }
generateDetail1();
}); });
WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("qjfs", "detail_3"),function(id,rowIndex,value){ WfForm.bindDetailFieldChangeEvent(WfForm.convertFieldNameToId("qjfs", "detail_3"),function(id,rowIndex,value){
WfForm.delDetailRow("detail_1", "all");
if(rowIndex !== ""){ if(rowIndex !== ""){
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("sxwxz","detail_3")+"_"+rowIndex, 1);//按上下午请假功能不开放 WfForm.changeFieldAttr(WfForm.convertFieldNameToId("sxwxz","detail_3")+"_"+rowIndex, 1);//按上下午请假功能不开放
WfForm.changeFieldValue(WfForm.convertFieldNameToId("kssj","detail_3")+"_"+rowIndex,{ value: '' });//重置开始时间 WfForm.changeFieldValue(WfForm.convertFieldNameToId("kssj","detail_3")+"_"+rowIndex,{ value: '' });//重置开始时间
@ -329,9 +383,13 @@
break; break;
} }
} }
generateDetail1();
}); });
resetqjfs();
}); });
//请假方式变更时,同样进行页面显示属性的调整 //请假方式变更时,同样进行页面显示属性的调整
WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("cxjqj"),function(obj,id,value){ WfForm.bindFieldChangeEvent(WfForm.convertFieldNameToId("cxjqj"),function(obj,id,value){
resetAttr(value); resetAttr(value);
@ -339,7 +397,6 @@
WfForm.registerCheckEvent(WfForm.OPER_SAVE+","+WfForm.OPER_SUBMIT,function(callback){ WfForm.registerCheckEvent(WfForm.OPER_SAVE+","+WfForm.OPER_SUBMIT,function(callback){
//清空明细1重新根据明细3生成明细1及明细2 //清空明细1重新根据明细3生成明细1及明细2
WfForm.delDetailRow("detail_1", "all");
callback(); callback();
// let detailNum = WfForm.getDetailRowCount("detail_1") // let detailNum = WfForm.getDetailRowCount("detail_1")
// if(detailNum > 0){ // if(detailNum > 0){
@ -350,6 +407,84 @@
}); });
resetAttr(WfForm.getFieldValue(WfForm.convertFieldNameToId("cxjqj"))) resetAttr(WfForm.getFieldValue(WfForm.convertFieldNameToId("cxjqj")))
function generateDetail1(){
WfForm.delDetailRow("detail_1", "all");
let detail3Index = WfForm.getDetailAllRowIndexStr("detail_3").split(",");
for(var i=0; i<detail3Index.length; i++){
var rowIndex = detail3Index[i];
if(rowIndex !== ""){
let mainTableData = {
szjg: WfForm.getFieldValue(WfForm.convertFieldNameToId("szjg")),
qjr: WfForm.getFieldValue(WfForm.convertFieldNameToId("qjry")),
jqlx: WfForm.getFieldValue(WfForm.convertFieldNameToId("jqlx")),
jqlx_vals: mobx.toJS(wfform.getFieldValueObj(WfForm.convertFieldNameToId("jqlx")).specialobj),
mtcfsdjq: WfForm.getFieldValue(WfForm.convertFieldNameToId("mtcfsdjq")),
ksrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("ksrq", "detail_3")+"_"+rowIndex),
jsrq: WfForm.getFieldValue(WfForm.convertFieldNameToId("jsrq", "detail_3")+"_"+rowIndex),
kssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("kssj", "detail_3")+"_"+rowIndex),
jssj: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssj", "detail_3")+"_"+rowIndex),
cxjqj: WfForm.getFieldValue(WfForm.convertFieldNameToId("qjfs", "detail_3")+"_"+rowIndex),
yesygz: WfForm.getFieldValue(WfForm.convertFieldNameToId("yesygz", "detail_3")+"_"+rowIndex),
sxwxz: WfForm.getFieldValue(WfForm.convertFieldNameToId("sxwxz", "detail_3")+"_"+rowIndex),
kssd: WfForm.getFieldValue(WfForm.convertFieldNameToId("kssd", "detail_3")+"_"+rowIndex),
jssd: WfForm.getFieldValue(WfForm.convertFieldNameToId("jssd", "detail_3")+"_"+rowIndex),
qjsc: WfForm.getFieldValue(WfForm.convertFieldNameToId("qjsc", "detail_3")+"_"+rowIndex),
}
generateHolidayNoDetail(mainTableData);
}
}
}
function resetqjfs(){
let detail3Index = WfForm.getDetailAllRowIndexStr("detail_3").split(",");
for(var i=0; i<detail3Index.length; i++){
var rowIndex = detail3Index[i];
if(rowIndex !== ""){
let qjfs = WfForm.getFieldValue(WfForm.convertFieldNameToId("qjfs", "detail_3")+"_"+rowIndex);
switch(qjfs){
case '0'://全天请假
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("qjsc","detail_3")+"_"+rowIndex, 1);//请假时长
WfForm.changeFieldValue(WfForm.convertFieldNameToId("qtj","detail_3")+"_"+rowIndex, {value:"1"});//全天假勾选
WfForm.changeFieldValue(WfForm.convertFieldNameToId("btj","detail_3")+"_"+rowIndex, {value:"0"});//半天假取消勾选
break;
case '1'://指定时间区间请假
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("qjsc","detail_3")+"_"+rowIndex, 1);//请假时长
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("sxwxz","detail_3")+"_"+rowIndex, 2);//按上下午请假功能开放
WfForm.changeFieldValue(WfForm.convertFieldNameToId("qtj","detail_3")+"_"+rowIndex, {value:"0"});//全天假取消勾选
WfForm.changeFieldValue(WfForm.convertFieldNameToId("btj","detail_3")+"_"+rowIndex, {value:"0"});//半天假取消勾选
if (null2String(WfForm.getFieldValue(WfForm.convertFieldNameToId("sxwxz", "detail_3")+"_"+rowIndex))=="1"){
//按上下午进行请假
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("jssj","detail_3")+"_"+rowIndex, 1);//结束时间
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("kssj","detail_3")+"_"+rowIndex, 1);//开始时间
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("kssd","detail_3")+"_"+rowIndex, 3);//开始时段
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("jssd","detail_3")+"_"+rowIndex, 3);//结束时段
}else{
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("jssj","detail_3")+"_"+rowIndex, 3);//结束时间
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("kssj","detail_3")+"_"+rowIndex, 3);//开始时间
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("kssd","detail_3")+"_"+rowIndex, 1);//开始时段
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("jssd","detail_3")+"_"+rowIndex, 1);//结束时段
}
break;
case '2'://半天请假
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("qjsc","detail_3")+"_"+rowIndex, 1);//请假时长
WfForm.changeFieldValue(WfForm.convertFieldNameToId("qtj","detail_3")+"_"+rowIndex, {value:"0"});//全天假勾选
WfForm.changeFieldValue(WfForm.convertFieldNameToId("btj","detail_3")+"_"+rowIndex, {value:"1"});//半天假取消勾选
break;
case '3'://按时间长度请假
WfForm.changeFieldAttr(WfForm.convertFieldNameToId("qjsc","detail_3")+"_"+rowIndex, 3);//请假时长
WfForm.changeFieldValue(WfForm.convertFieldNameToId("qtj","detail_3")+"_"+rowIndex, {value:"0"});//全天假取消勾选
WfForm.changeFieldValue(WfForm.convertFieldNameToId("btj","detail_3")+"_"+rowIndex, {value:"0"});//半天假取消勾选
break;
}
}
}
}
/** /**
* *
* @param pleavetype 请假方式0全天请假1按时间区间请假2半天3按时间长度请假 * @param pleavetype 请假方式0全天请假1按时间区间请假2半天3按时间长度请假

@ -198,7 +198,7 @@
return totalsc; return totalsc;
} }
//依据当前出差方式,对页面上的控件显示属性进行调整 //依据当前出差方式,对页面上的控件显示属性进行调整
resetAttr(WfForm.getFieldValue(WfForm.convertFieldNameToId("ccsd"))); // resetAttr(WfForm.getFieldValue(WfForm.convertFieldNameToId("ccsd")));
//是否自动产生明细记录标记 //是否自动产生明细记录标记
//考虑到影响明细记录的栏位如开始结束日期时间等发生变更时,需要重新生成明细,而出差方式变更时又需要对相应栏位的值做修改,所以添加这个开关,防止重复生成明细记录 //考虑到影响明细记录的栏位如开始结束日期时间等发生变更时,需要重新生成明细,而出差方式变更时又需要对相应栏位的值做修改,所以添加这个开关,防止重复生成明细记录
var autodetail = true; var autodetail = true;

Loading…
Cancel
Save