规律排班遇到休息班次为休息,考勤分析没有排班遇到休息日时不记异常

zm_dev
liuliang 1 year ago
parent ad494d954b
commit 1222951520

@ -1 +1 @@
<EFBFBD><EFBFBD><EFBFBD>}<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>Z譿<EFBFBD>y<EFBFBD>Q<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>}<EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>Z譿<EFBFBD>y<EFBFBD>Q<EFBFBD><EFBFBD>

@ -10,25 +10,30 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment=""> <list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.s" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/2024-04-24 19-58-30.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/2024-04-24 21-26-16.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/log/interceptSql/interceptSql.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log.1" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" /> <change beforePath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/hrm_attendance/hrm-attendance.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EliminationsEvctionCheckAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EvctionCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/EvctionCheckAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/MakeUpClockInAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/MakeUpClockInAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/DayRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/OvertimePlanCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/OvertimePlanCheckAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/MonthRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/OvertimeResultCheckAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/OvertimeResultCheckAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/WeekRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/job/scheduling/tactics/YearRegularScheduling.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockInAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/MakeUpClockInAction.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/commonutil/PersongroupCommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowArchivingAction.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/EliminationsAskForLeaveAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/action/askforleave/AskForLeaveWorkFlowSubmitAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/EnterpriseCalendarServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/workflow/service/impl/EnterpriseCalendarServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/common/util/CommonUtil.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/test-classes/TestMethod.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestMethod.class" afterDir="false" /> <change beforePath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/test-classes/TestAttendanceAllowance/Test.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test/TestMethod.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestMethod.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -105,7 +110,7 @@
<command value="organzationList" /> <command value="organzationList" />
</option> </option>
</component> </component>
<component name="RunManager" selected="Application.TestMethod"> <component name="RunManager" selected="JUnit.Test.testAnalysis">
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true"> <configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="vocation.Test1" /> <option name="MAIN_CLASS_NAME" value="vocation.Test1" />
<module name="hrm-attendance" /> <module name="hrm-attendance" />
@ -199,8 +204,8 @@
</configuration> </configuration>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Application.TestMethod" />
<item itemvalue="JUnit.Test.testAnalysis" /> <item itemvalue="JUnit.Test.testAnalysis" />
<item itemvalue="Application.TestMethod" />
<item itemvalue="JUnit.Test1.test1" /> <item itemvalue="JUnit.Test1.test1" />
<item itemvalue="Application.Test1" /> <item itemvalue="Application.Test1" />
<item itemvalue="Application.TestMain" /> <item itemvalue="Application.TestMain" />
@ -590,7 +595,10 @@
<workItem from="1714360825186" duration="2936000" /> <workItem from="1714360825186" duration="2936000" />
<workItem from="1714368882623" duration="12755000" /> <workItem from="1714368882623" duration="12755000" />
<workItem from="1714442011339" duration="4482000" /> <workItem from="1714442011339" duration="4482000" />
<workItem from="1714455164627" duration="15989000" /> <workItem from="1714455164627" duration="16312000" />
<workItem from="1714972859410" duration="21508000" />
<workItem from="1715002142441" duration="2792000" />
<workItem from="1715044911132" duration="651000" />
</task> </task>
<servers /> <servers />
</component> </component>
@ -631,7 +639,7 @@
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java</url> <url>file://$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java</url>
<line>50</line> <line>52</line>
<option name="timeStamp" value="74" /> <option name="timeStamp" value="74" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line"> <line-breakpoint enabled="true" type="java-line">
@ -644,6 +652,21 @@
<line>54</line> <line>54</line>
<option name="timeStamp" value="84" /> <option name="timeStamp" value="84" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.java</url>
<line>103</line>
<option name="timeStamp" value="85" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.java</url>
<line>409</line>
<option name="timeStamp" value="87" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/RecordDataCmd.java</url>
<line>34</line>
<option name="timeStamp" value="88" />
</line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
<pin-to-top-manager> <pin-to-top-manager>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -45,8 +45,10 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
Map<String,String> formmodeIdMap = (Map<String,String>)params.get("formmodeIdMap"); Map<String,String> formmodeIdMap = (Map<String,String>)params.get("formmodeIdMap");
String formmodeid = formmodeIdMap.get("uf_jcl_kq_cqjg"); String formmodeid = formmodeIdMap.get("uf_jcl_kq_cqjg");
//出勤状态
String cqzt = Util.null2String(params.get("cqzt")); String cqzt = Util.null2String(params.get("cqzt"));
//是否休息
String sfxx = Util.null2String(params.get("sfxx"));
@ -66,7 +68,7 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
String sql = "select ygid,rq from uf_jcl_kq_cqjg where ygid=? and rq=?"; String sql = "select ygid,rq from uf_jcl_kq_cqjg where ygid=? and rq=?";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,userId,analysisDate); List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,userId,analysisDate);
if (dataList.size() >0){ if (dataList.size() >0){
sql = "update uf_jcl_kq_cqjg set cqsc="+attendanceDuration+",cqzt="+cqzt+",fxrq='"+DateUtil.getCurrentTime()+"',rqlx="+rqlx; sql = "update uf_jcl_kq_cqjg set cqsc="+attendanceDuration+",cqzt="+cqzt+",fxrq='"+DateUtil.getCurrentTime()+"',rqlx="+rqlx+",sfxx="+sfxx;
if (classInfo.size() == 0 || classInfo.get(0).get("bcxx") == null || "".equals(classInfo.get(0).get("bcxx"))){ if (classInfo.size() == 0 || classInfo.get(0).get("bcxx") == null || "".equals(classInfo.get(0).get("bcxx"))){
sql = sql + ",bc=NULL,bcbdxx=NULL,"; sql = sql + ",bc=NULL,bcbdxx=NULL,";
}else { }else {
@ -105,7 +107,7 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
}else { }else {
sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?"; sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?";
List<Map<String,Object>> userList = DbTools.getSqlToList(sql,userId); List<Map<String,Object>> userList = DbTools.getSqlToList(sql,userId);
sql = "insert into uf_jcl_kq_cqjg (szjg,ygid,fbid,bm,zw,rq,bc,bcbdxx,cqzt,cqsc,sjzt,fxrq,formmodeid,modeuuid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,rqlx,"; sql = "insert into uf_jcl_kq_cqjg (szjg,ygid,fbid,bm,zw,rq,bc,bcbdxx,cqzt,cqsc,sjzt,fxrq,formmodeid,modeuuid,modedatacreater,modedatacreatertype,modedatacreatedate,modedatacreatetime,rqlx,sfxx,";
String cloumns = ""; String cloumns = "";
String value = "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,"; String value = "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,";
List<Object> insertDatas = Lists.newArrayList(); List<Object> insertDatas = Lists.newArrayList();
@ -128,6 +130,7 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
insertDatas.add(DateUtil.getCurrentDate()); insertDatas.add(DateUtil.getCurrentDate());
insertDatas.add(DateUtil.getCurrentTime().split(" ")[1]); insertDatas.add(DateUtil.getCurrentTime().split(" ")[1]);
insertDatas.add(rqlx); insertDatas.add(rqlx);
insertDatas.add(sfxx);
for (int i =0;i<recordDataList.size();i++){ for (int i =0;i<recordDataList.size();i++){
int index = i+1; int index = i+1;
String item = Util.null2String(recordDataList.get(i).get("item")); String item = Util.null2String(recordDataList.get(i).get("item"));

@ -39,11 +39,11 @@ public class AttendanceanalysisAction {
@Produces({"text/plain"}) @Produces({"text/plain"})
public String getSchedulingData(@Context HttpServletRequest request, @Context HttpServletResponse response) { public String getSchedulingData(@Context HttpServletRequest request, @Context HttpServletResponse response) {
try { try {
Map<String,Object> paramMap = ParamUtil.request2Map(request); // Map<String,Object> paramMap = ParamUtil.request2Map(request);
// Map<String,Object> paramMap = Maps.newHashMap(); Map<String,Object> paramMap = Maps.newHashMap();
// paramMap.put("startDate","2024-04-17"); paramMap.put("startDate","2024-04-25");
// paramMap.put("endDate","2024-04-17"); paramMap.put("endDate","2024-04-25");
// paramMap.put("userIds","295"); paramMap.put("userIds","295");
String startDate = Util.null2String(paramMap.get("startDate")); String startDate = Util.null2String(paramMap.get("startDate"));

@ -1,8 +1,6 @@
package com.engine.attendance.attendanceanalysis.wrapper; package com.engine.attendance.attendanceanalysis.wrapper;
import com.engine.attendance.attendanceanalysis.cmd.UpdateAttendanceResultsCmd;
import com.engine.attendance.attendanceanalysis.cmd.item.WorkOvertimeItemCmd;
import com.engine.attendance.attendanceanalysis.service.*; import com.engine.attendance.attendanceanalysis.service.*;
import com.engine.attendance.attendanceanalysis.service.impl.*; import com.engine.attendance.attendanceanalysis.service.impl.*;
import com.engine.attendance.enums.*; import com.engine.attendance.enums.*;
@ -16,6 +14,7 @@ import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import weaver.general.Util; import weaver.general.Util;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -422,40 +421,59 @@ public class UpdateAttendanceResultWrapper extends Service {
normalParams.put("scheduleList",params.get("scheduleList")); normalParams.put("scheduleList",params.get("scheduleList"));
log.info("userId : {} ,analysisDate: {} have no class",userId,analysisDate); log.info("userId : {} ,analysisDate: {} have no class",userId,analysisDate);
Map<String,Object> recordParam = Maps.newHashMap();
recordParam.put("userId",userId);
recordParam.put("analysisDate",analysisDate);
recordParam.put("recordData",Lists.newArrayList());
String rqlx = "";
try {
rqlx = CommonUtil.getRqlx(userId,analysisDate);
}catch (Exception e){
log.error("recordNoClass exception : [{}]",e);
rqlx = Utils.getDateType(userId);
}
recordParam.put("rqlx",rqlx);
recordParam.put("classInfo",Lists.newArrayList());
recordParam.put("recordDataTime",Maps.newHashMap());
recordParam.put("attendanceDuration",0);
recordParam.put("formmodeIdMap",Utils.getFormmodeIdMap());
List<Map<String, Object>> recordDataList = Lists.newArrayList();
recordDataList.add(new HashMap(){{
put("item",SystemItemEnum.NO_SCHEDULING.getKey());
put("itemduration","NULL");
}});
if (allowanceMap.get("ifnotWork") != null){ if (allowanceMap.get("ifnotWork") != null){
//次日免班 //次日免班
Map<String,Object> recordParam = Maps.newHashMap();
recordParam.put("userId",userId);
recordParam.put("analysisDate",analysisDate);
recordParam.put("recordData",Lists.newArrayList());
recordParam.put("rqlx",Utils.getDateType(analysisDate));
recordParam.put("classInfo",Lists.newArrayList());
recordParam.put("recordDataTime",Maps.newHashMap());
recordParam.put("attendanceDuration",0);
recordParam.put("formmodeIdMap",Utils.getFormmodeIdMap());
recordParam.put("cqzt",CheckBoxEnum.UNCHECKED.getKey()); recordParam.put("cqzt",CheckBoxEnum.UNCHECKED.getKey());
utilService.recordItem(recordParam); utilService.recordItem(recordParam);
return false; return false;
} }
if (rqlx.equals(DateTypeEnum.WORK_DAY.getKey()) || rqlx.equals(DateTypeEnum.CHANGECLASS.getKey())){
recordParam.put("cqzt",CheckBoxEnum.CHECKED.getKey());
}else {
recordParam.put("cqzt",CheckBoxEnum.UNCHECKED.getKey());
recordParam.put("sfxx",CheckBoxEnum.CHECKED.getKey());
}
if (workHourItems != null && workHourItems.size() >0 ){ if (workHourItems != null && workHourItems.size() >0 ){
//核算工时的日期类型 //核算工时的日期类型
String hsgsdrqlx = Util.null2String(workHourItems.get(0).get("hsgsdrqlx")); String hsgsdrqlx = Util.null2String(workHourItems.get(0).get("hsgsdrqlx"));
String rqlx = Utils.getDateType(analysisDate,Util.null2String(workHourItems.get(0).get("qyrl"))); rqlx = Utils.getDateType(analysisDate,Util.null2String(workHourItems.get(0).get("qyrl")));
params.put("workHourItem",workHourItems.get(0)); params.put("workHourItem",workHourItems.get(0));
if (CommonUtil.ifContainStr(hsgsdrqlx,rqlx,",")){ if (CommonUtil.ifContainStr(hsgsdrqlx,rqlx,",")){
comprehensiveWorkingHourService.excuteByWorkHour(params); comprehensiveWorkingHourService.excuteByWorkHour(params);
}else { }else {
commandExecutor.execute(new UpdateAttendanceResultsCmd(normalParams)); //没有排班
utilService.recordItem(recordParam);
} }
}else { }else {
commandExecutor.execute(new UpdateAttendanceResultsCmd(normalParams)); utilService.recordItem(recordParam);
} }
return false; return false;
} }

@ -1,7 +1,9 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics; package com.engine.attendance.component.persongroup.job.scheduling.tactics;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.CheckBoxEnum;
import com.engine.attendance.enums.SchedulingApproachEnum; import com.engine.attendance.enums.SchedulingApproachEnum;
import com.engine.common.util.CommonUtil;
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools; import com.engine.common.util.DbTools;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -53,12 +55,15 @@ public class DayRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs")); String pbfs = Util.null2String(data.get("pbfs"));
//改班班次 //改班班次
String gbbc = Util.null2String(data.get("gbbc")); String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//执行日期 //执行日期
String executeDate = Util.null2String(data.get("executeDate")); String executeDate = Util.null2String(data.get("executeDate"));
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksts,jsts,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; String sql = "select a.ksts,a.jsts,a.hxbz,a.bcmc,b.sfxx from uf_jcl_kq_glpb_dt1 a left join uf_jcl_kq_bcxx b on a.bcmc=b.id where a.mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?";
@ -93,6 +98,7 @@ public class DayRegularScheduling implements RegularScheduling{
int jsts = Integer.valueOf(Util.null2String(map.get("jsts"))); int jsts = Integer.valueOf(Util.null2String(map.get("jsts")));
Map<String,Object> dataMap = Maps.newHashMap(); Map<String,Object> dataMap = Maps.newHashMap();
dataMap.put("pbtj", SchedulingApproachEnum.RULE.getKey()); dataMap.put("pbtj", SchedulingApproachEnum.RULE.getKey());
dataMap.put("pbgl",id); dataMap.put("pbgl",id);
dataMap.put("bcrq",bcrq); dataMap.put("bcrq",bcrq);
@ -108,7 +114,8 @@ public class DayRegularScheduling implements RegularScheduling{
//日期类型 //日期类型
String rqlx = Util.null2String(nowDateMap.get("rqlx")); String rqlx = Util.null2String(nowDateMap.get("rqlx"));
dataMap.put("rqlx",rqlx); dataMap.put("rqlx",rqlx);
dataMap.put("sfxx","0"); String sfxx = Util.null2String(map.get("sfxx")).equals("")? CheckBoxEnum.UNCHECKED.getKey():Util.null2String(map.get("sfxx"));
dataMap.put("sfxx",sfxx);
if ("0".equals(pbfs)){ if ("0".equals(pbfs)){
//固定班次 //固定班次
dataMap.put("sfdkpp","0"); dataMap.put("sfdkpp","0");
@ -132,6 +139,7 @@ public class DayRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){ }else if ("1".equals(jjrcl)){
@ -152,6 +160,7 @@ public class DayRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){ }else if ("1".equals(gxrcl)){

@ -1,6 +1,8 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics; package com.engine.attendance.component.persongroup.job.scheduling.tactics;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.CheckBoxEnum;
import com.engine.common.util.CommonUtil;
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools; import com.engine.common.util.DbTools;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -54,12 +56,14 @@ public class MonthRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs")); String pbfs = Util.null2String(data.get("pbfs"));
//改班班次 //改班班次
String gbbc = Util.null2String(data.get("gbbc")); String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//执行日期 //执行日期
String executeDate = Util.null2String(data.get("executeDate")); String executeDate = Util.null2String(data.get("executeDate"));
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksr,jsr,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; String sql = "select a.ksts,a.jsts,a.hxbz,a.bcmc,b.sfxx from uf_jcl_kq_glpb_dt1 a left join uf_jcl_kq_bcxx b on a.bcmc=b.id where a.mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?";
@ -101,7 +105,8 @@ public class MonthRegularScheduling implements RegularScheduling{
//日期类型 //日期类型
String rqlx = Util.null2String(nowDateMap.get("rqlx")); String rqlx = Util.null2String(nowDateMap.get("rqlx"));
dataMap.put("rqlx",rqlx); dataMap.put("rqlx",rqlx);
dataMap.put("sfxx","0"); String sfxx = Util.null2String(map.get("sfxx")).equals("")? CheckBoxEnum.UNCHECKED.getKey():Util.null2String(map.get("sfxx"));
dataMap.put("sfxx",sfxx);
if ("0".equals(pbfs)){ if ("0".equals(pbfs)){
//固定班次 //固定班次
dataMap.put("sfdkpp","0"); dataMap.put("sfdkpp","0");
@ -125,6 +130,7 @@ public class MonthRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){ }else if ("1".equals(jjrcl)){
@ -145,6 +151,7 @@ public class MonthRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){ }else if ("1".equals(gxrcl)){

@ -1,6 +1,8 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics; package com.engine.attendance.component.persongroup.job.scheduling.tactics;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.CheckBoxEnum;
import com.engine.common.util.CommonUtil;
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools; import com.engine.common.util.DbTools;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -52,6 +54,8 @@ public class WeekRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs")); String pbfs = Util.null2String(data.get("pbfs"));
//改班班次 //改班班次
String gbbc = Util.null2String(data.get("gbbc")); String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//失效日期 //失效日期
String edate = Util.null2String(data.get("edate")); String edate = Util.null2String(data.get("edate"));
//执行日期 //执行日期
@ -59,7 +63,7 @@ public class WeekRegularScheduling implements RegularScheduling{
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksxq,jsxq,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; String sql = "select a.ksts,a.jsts,a.hxbz,a.bcmc,b.sfxx from uf_jcl_kq_glpb_dt1 a left join uf_jcl_kq_bcxx b on a.bcmc=b.id where a.mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?";
@ -105,7 +109,8 @@ public class WeekRegularScheduling implements RegularScheduling{
//日期类型 //日期类型
String rqlx = Util.null2String(nowDateMap.get("rqlx")); String rqlx = Util.null2String(nowDateMap.get("rqlx"));
dataMap.put("rqlx",rqlx); dataMap.put("rqlx",rqlx);
dataMap.put("sfxx","0"); String sfxx = Util.null2String(map.get("sfxx")).equals("")? CheckBoxEnum.UNCHECKED.getKey():Util.null2String(map.get("sfxx"));
dataMap.put("sfxx",sfxx);
if ("0".equals(pbfs)){ if ("0".equals(pbfs)){
//固定班次 //固定班次
dataMap.put("sfdkpp","0"); dataMap.put("sfdkpp","0");
@ -129,6 +134,7 @@ public class WeekRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){ }else if ("1".equals(jjrcl)){
@ -149,6 +155,7 @@ public class WeekRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){ }else if ("1".equals(gxrcl)){

@ -1,6 +1,8 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics; package com.engine.attendance.component.persongroup.job.scheduling.tactics;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.CheckBoxEnum;
import com.engine.common.util.CommonUtil;
import com.engine.common.util.DateUtil; import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools; import com.engine.common.util.DbTools;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -52,6 +54,8 @@ public class YearRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs")); String pbfs = Util.null2String(data.get("pbfs"));
//改班班次 //改班班次
String gbbc = Util.null2String(data.get("gbbc")); String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//失效日期 //失效日期
String edate = Util.null2String(data.get("edate")); String edate = Util.null2String(data.get("edate"));
//执行日期 //执行日期
@ -59,7 +63,7 @@ public class YearRegularScheduling implements RegularScheduling{
//规律排班明细表数据 //规律排班明细表数据
String sql = "select ksrq,jsrq,hxbz,bcmc from uf_jcl_kq_glpb_dt1 where mainid=?"; String sql = "select a.ksts,a.jsts,a.hxbz,a.bcmc,b.sfxx from uf_jcl_kq_glpb_dt1 a left join uf_jcl_kq_bcxx b on a.bcmc=b.id where a.mainid=?";
List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id); List<Map<String,Object>> detailDataList = DbTools.getSqlToList(sql,id);
//规律排班适用组织数据 //规律排班适用组织数据
sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?"; sql = "select dx,dxlx,aqjb from uf_jcl_syzz where modeid=? and dataid=?";
@ -109,7 +113,8 @@ public class YearRegularScheduling implements RegularScheduling{
//日期类型 //日期类型
String rqlx = Util.null2String(nowDateMap.get("rqlx")); String rqlx = Util.null2String(nowDateMap.get("rqlx"));
dataMap.put("rqlx",rqlx); dataMap.put("rqlx",rqlx);
dataMap.put("sfxx","0"); String sfxx = Util.null2String(map.get("sfxx")).equals("")? CheckBoxEnum.UNCHECKED.getKey():Util.null2String(map.get("sfxx"));
dataMap.put("sfxx",sfxx);
if ("0".equals(pbfs)){ if ("0".equals(pbfs)){
//固定班次 //固定班次
dataMap.put("sfdkpp","0"); dataMap.put("sfdkpp","0");
@ -133,6 +138,7 @@ public class YearRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){ }else if ("1".equals(jjrcl)){
@ -153,6 +159,7 @@ public class YearRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null); dataMap.put("bcxx",null);
}else { }else {
dataMap.put("bcxx",gbbc); dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
} }
insertDataList.add(dataMap); insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){ }else if ("1".equals(gxrcl)){

@ -2,6 +2,7 @@ package com.engine.common.util;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil; import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.ApplicableOrganizationEnum; import com.engine.attendance.enums.ApplicableOrganizationEnum;
import com.engine.attendance.enums.CheckBoxEnum;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@ -9,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import weaver.general.Util; import weaver.general.Util;
import weaver.hrm.User; import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo; import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.soa.workflow.request.*; import weaver.soa.workflow.request.*;
import java.sql.Date; import java.sql.Date;
@ -449,4 +451,41 @@ public class CommonUtil {
jqIdList = jqIdList.stream().distinct().collect(Collectors.toList()); jqIdList = jqIdList.stream().distinct().collect(Collectors.toList());
return jqIdList; return jqIdList;
} }
/**
*
* @param userId
* @param date
* @return
*/
public static String getRqlx(String userId,String date) throws Exception{
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_rlmc");
Set<String> calendarSetIdsSets = CommonUtil.getDataIds(userId,modeId,DateUtil.getCurrentDate(),DateUtil.getCurrentDate());
log.info("getRqlx calendarSetIdsSets : [{}]",calendarSetIdsSets);
String rqlx = "";
if (calendarSetIdsSets.size() > 0){
String sql = "select rqlx from uf_jcl_kq_rlxx where rlmc=? and rq=?";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,calendarSetIdsSets.toArray()[0],date);
rqlx = dataList.get(0).get("rqlx").toString();
}else {
rqlx = Utils.getDateType(date);
}
return rqlx;
}
/**
*
* @param classId
* @return
*/
public static String ifrestByClass(String classId){
String sql = "select id,sfxx from uf_jcl_kq_bcxx where id = ?";
List<Map<String,Object>> list = DbTools.getSqlToList(sql,classId);
if (list.size() > 0){
return Util.null2String(list.get(0).get("sfxx")).equals("") ?CheckBoxEnum.UNCHECKED.getValue() : Util.null2String(list.get(0).get("sfxx"));
}else {
return CheckBoxEnum.UNCHECKED.getKey();
}
}
} }

@ -1,14 +1,16 @@
package TestAttendanceAllowance; package TestAttendanceAllowance;
import com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction; import com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction;
import com.engine.common.util.DateUtil;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import weaver.hrm.company.SubCompanyComInfo;
import java.util.Map; import java.util.Map;
public class Test extends beforlog{ public class Test extends beforlog{
@org.junit.Test @org.junit.Test
public void testAnalysis(){ public void testAnalysis() throws Exception{
Map<String,Object> paramMap = Maps.newHashMap(); Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("startDate","2024-04-10"); paramMap.put("startDate","2024-04-10");
paramMap.put("endDate","2024-04-10"); paramMap.put("endDate","2024-04-10");
@ -17,6 +19,8 @@ public class Test extends beforlog{
beforlog be = new beforlog(); beforlog be = new beforlog();
AttendanceanalysisAction action = new AttendanceanalysisAction(); AttendanceanalysisAction action = new AttendanceanalysisAction();
action.getSchedulingData(null,null); action.getSchedulingData(null,null);
String a = new SubCompanyComInfo().getAllSupCompany("524");
System.out.println(a);
} }
} }

Loading…
Cancel
Save