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

zm_dev
liuliang 12 months 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 name="ChangeListManager">
<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$/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$/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/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/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/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/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/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/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/workflow/cmd/GetKqCycleTimeIntervalCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/cmd/GetKqCycleTimeIntervalCmd.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/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/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$/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/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/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/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/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/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/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/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/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/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/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$/test/TestMethod.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestMethod.java" 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/TestAttendanceAllowance/Test.java" beforeDir="false" afterPath="$PROJECT_DIR$/test/TestAttendanceAllowance/Test.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -105,7 +110,7 @@
<command value="organzationList" />
</option>
</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">
<option name="MAIN_CLASS_NAME" value="vocation.Test1" />
<module name="hrm-attendance" />
@ -199,8 +204,8 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="Application.TestMethod" />
<item itemvalue="JUnit.Test.testAnalysis" />
<item itemvalue="Application.TestMethod" />
<item itemvalue="JUnit.Test1.test1" />
<item itemvalue="Application.Test1" />
<item itemvalue="Application.TestMain" />
@ -590,7 +595,10 @@
<workItem from="1714360825186" duration="2936000" />
<workItem from="1714368882623" duration="12755000" />
<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>
<servers />
</component>
@ -631,7 +639,7 @@
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
<url>file://$PROJECT_DIR$/src/com/engine/common/util/CommonUtil.java</url>
<line>50</line>
<line>52</line>
<option name="timeStamp" value="74" />
</line-breakpoint>
<line-breakpoint enabled="true" type="java-line">
@ -644,6 +652,21 @@
<line>54</line>
<option name="timeStamp" value="84" />
</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>
</breakpoint-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");
String formmodeid = formmodeIdMap.get("uf_jcl_kq_cqjg");
//出勤状态
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=?";
List<Map<String,Object>> dataList = DbTools.getSqlToList(sql,userId,analysisDate);
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"))){
sql = sql + ",bc=NULL,bcbdxx=NULL,";
}else {
@ -105,7 +107,7 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
}else {
sql = "select subcompanyid1,departmentid,jobtitle from hrmresource where id=?";
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 value = "?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,";
List<Object> insertDatas = Lists.newArrayList();
@ -128,6 +130,7 @@ public class RecordDataCmd extends AbstractCommonCommand<Map<String,Object>> {
insertDatas.add(DateUtil.getCurrentDate());
insertDatas.add(DateUtil.getCurrentTime().split(" ")[1]);
insertDatas.add(rqlx);
insertDatas.add(sfxx);
for (int i =0;i<recordDataList.size();i++){
int index = i+1;
String item = Util.null2String(recordDataList.get(i).get("item"));

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

@ -1,8 +1,6 @@
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.impl.*;
import com.engine.attendance.enums.*;
@ -16,6 +14,7 @@ import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -422,40 +421,59 @@ public class UpdateAttendanceResultWrapper extends Service {
normalParams.put("scheduleList",params.get("scheduleList"));
log.info("userId : {} ,analysisDate: {} have no class",userId,analysisDate);
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));
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){
//次日免班
recordParam.put("cqzt",CheckBoxEnum.UNCHECKED.getKey());
utilService.recordItem(recordParam);
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 ){
//核算工时的日期类型
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));
if (CommonUtil.ifContainStr(hsgsdrqlx,rqlx,",")){
comprehensiveWorkingHourService.excuteByWorkHour(params);
}else {
commandExecutor.execute(new UpdateAttendanceResultsCmd(normalParams));
//没有排班
utilService.recordItem(recordParam);
}
}else {
commandExecutor.execute(new UpdateAttendanceResultsCmd(normalParams));
utilService.recordItem(recordParam);
}
return false;
}

@ -1,7 +1,9 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics;
import com.engine.attendance.component.persongroup.commonutil.PersongroupCommonUtil;
import com.engine.attendance.enums.CheckBoxEnum;
import com.engine.attendance.enums.SchedulingApproachEnum;
import com.engine.common.util.CommonUtil;
import com.engine.common.util.DateUtil;
import com.engine.common.util.DbTools;
import com.google.common.collect.Lists;
@ -53,12 +55,15 @@ public class DayRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs"));
//改班班次
String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//执行日期
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);
//规律排班适用组织数据
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")));
Map<String,Object> dataMap = Maps.newHashMap();
dataMap.put("pbtj", SchedulingApproachEnum.RULE.getKey());
dataMap.put("pbgl",id);
dataMap.put("bcrq",bcrq);
@ -108,7 +114,8 @@ public class DayRegularScheduling implements RegularScheduling{
//日期类型
String rqlx = Util.null2String(nowDateMap.get("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)){
//固定班次
dataMap.put("sfdkpp","0");
@ -132,6 +139,7 @@ public class DayRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){
@ -152,6 +160,7 @@ public class DayRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){

@ -1,6 +1,8 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics;
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.DbTools;
import com.google.common.collect.Lists;
@ -54,12 +56,14 @@ public class MonthRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs"));
//改班班次
String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//执行日期
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);
//规律排班适用组织数据
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"));
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)){
//固定班次
dataMap.put("sfdkpp","0");
@ -125,6 +130,7 @@ public class MonthRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){
@ -145,6 +151,7 @@ public class MonthRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){

@ -1,6 +1,8 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics;
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.DbTools;
import com.google.common.collect.Lists;
@ -52,6 +54,8 @@ public class WeekRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs"));
//改班班次
String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//失效日期
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);
//规律排班适用组织数据
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"));
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)){
//固定班次
dataMap.put("sfdkpp","0");
@ -129,6 +134,7 @@ public class WeekRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){
@ -149,6 +155,7 @@ public class WeekRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(gxrcl)){

@ -1,6 +1,8 @@
package com.engine.attendance.component.persongroup.job.scheduling.tactics;
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.DbTools;
import com.google.common.collect.Lists;
@ -52,6 +54,8 @@ public class YearRegularScheduling implements RegularScheduling{
String pbfs = Util.null2String(data.get("pbfs"));
//改班班次
String gbbc = Util.null2String(data.get("gbbc"));
//改班班次是否休息
String gbbcIfRest = CommonUtil.ifrestByClass(gbbc);
//失效日期
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);
//规律排班适用组织数据
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"));
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)){
//固定班次
dataMap.put("sfdkpp","0");
@ -133,6 +138,7 @@ public class YearRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}else if ("1".equals(jjrcl)){
@ -153,6 +159,7 @@ public class YearRegularScheduling implements RegularScheduling{
dataMap.put("bcxx",null);
}else {
dataMap.put("bcxx",gbbc);
dataMap.put("sfxx",gbbcIfRest);
}
insertDataList.add(dataMap);
}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.enums.ApplicableOrganizationEnum;
import com.engine.attendance.enums.CheckBoxEnum;
import com.google.common.collect.Maps;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
@ -9,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.soa.workflow.request.*;
import java.sql.Date;
@ -449,4 +451,41 @@ public class CommonUtil {
jqIdList = jqIdList.stream().distinct().collect(Collectors.toList());
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;
import com.engine.attendance.attendanceanalysis.web.AttendanceanalysisAction;
import com.engine.common.util.DateUtil;
import com.google.common.collect.Maps;
import weaver.hrm.company.SubCompanyComInfo;
import java.util.Map;
public class Test extends beforlog{
@org.junit.Test
public void testAnalysis(){
public void testAnalysis() throws Exception{
Map<String,Object> paramMap = Maps.newHashMap();
paramMap.put("startDate","2024-04-10");
paramMap.put("endDate","2024-04-10");
@ -17,6 +19,8 @@ public class Test extends beforlog{
beforlog be = new beforlog();
AttendanceanalysisAction action = new AttendanceanalysisAction();
action.getSchedulingData(null,null);
String a = new SubCompanyComInfo().getAllSupCompany("524");
System.out.println(a);
}
}

Loading…
Cancel
Save