zm_dev
liuliang 12 months ago
parent 8e2c9ba0f8
commit ad494d954b

@ -10,37 +10,25 @@
</component>
<component name="ChangeListManager">
<list default="true" id="baeb3dfb-5097-46c5-933e-6d1dab18b815" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/test/vocation/Test1.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/test/vocation/beforlog.java" afterDir="false" />
<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.at" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat.values.at" 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/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dataSources/ade958e9-d72b-48ba-8be1-0441de7da9a5/entities/entities.dat_i" 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/prop/weaver.properties" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/prop/weaver.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" beforeDir="false" afterPath="$PROJECT_DIR$/WEB-INF/sqllog/ecologysql" afterDir="false" />
<change beforePath="$PROJECT_DIR$/log/sdk.log" beforeDir="false" afterPath="$PROJECT_DIR$/log/sdk.log" 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/attendanceanalysis/cmd/GetClockInTimeListCmd.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.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/AttendanceAnalysisWrapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.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/service/impl/SchedulingResultsServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/vacation/util/VocationCommonUtil.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/vacation/util/VocationCommonUtil.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/com/engine/attendance/workflow/service/impl/AskForLeaveServiceImpl.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/attendanceanalysis/cmd/GetClockInTimeListCmd.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/cmd/GetClockInTimeListCmd.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/job/AttendanceAnalysisJob.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/service/impl/ComprehensiveWorkingHourServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/web/AttendanceanalysisAction.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/AttendanceAnalysisWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/attendanceanalysis/wrapper/UpdateAttendanceResultWrapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/component/persongroup/service/impl/SchedulingResultsServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/engine/attendance/vacation/util/VocationCommonUtil.class" 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$/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" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -117,21 +105,7 @@
<command value="organzationList" />
</option>
</component>
<component name="RunManager" selected="JUnit.Test.testAnalysis">
<configuration name="Test (1)" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="shuju.Test" />
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<extension name="coverage">
<pattern>
<option name="PATTERN" value="shuju.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<component name="RunManager" selected="Application.TestMethod">
<configuration name="Test1" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="vocation.Test1" />
<module name="hrm-attendance" />
@ -160,6 +134,14 @@
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="TestMethod" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestMethod" />
<module name="hrm-attendance" />
<shortenClasspath name="MANIFEST" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="TestObj" type="Application" factoryName="Application" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="TestObj" />
<module name="hrm-attendance" />
@ -217,11 +199,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="Application.TestMethod" />
<item itemvalue="JUnit.Test.testAnalysis" />
<item itemvalue="JUnit.Test1.test1" />
<item itemvalue="Application.Test1" />
<item itemvalue="Application.TestMain" />
<item itemvalue="Application.Test (1)" />
</list>
</recent_temporary>
</component>
@ -608,7 +590,7 @@
<workItem from="1714360825186" duration="2936000" />
<workItem from="1714368882623" duration="12755000" />
<workItem from="1714442011339" duration="4482000" />
<workItem from="1714455164627" duration="3821000" />
<workItem from="1714455164627" duration="15989000" />
</task>
<servers />
</component>

@ -39,9 +39,23 @@ public class EliminationsAskForLeaveAction implements Action {
params.put("userId",xjr);
params.put("submitDate", DateUtil.getCurrentDate());
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
detailTableData = detailTableData.stream().filter(e->"1".equals(e.get("cx"))).collect(Collectors.toList());
List<String> detailIds = detailTableData.stream().map(e->e.get("cxlyid")).collect(Collectors.toList());
String sql = "select id,ksrq from uf_jcl_kq_qjjl_dt1 where (cxqj is null or cxqj <> '1') and id in ("+String.join(",",detailIds)+")";
List<Map<String, Object>> detailList = DbTools.getSqlToList(sql);
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("data");
params.put("submitStr","ksrq");
params.put("submitDataList",detailList);
if (detailList == null || detailList.size() == 0){
log.error("未撤销任何假期!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("未撤销任何假期!");
return Action.FAILURE_AND_CONTINUE;
}
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
boolean status = (boolean)dataMap.get("status");
if (!status){
@ -50,37 +64,20 @@ public class EliminationsAskForLeaveAction implements Action {
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size()==0){
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
detailTableData = detailTableData.stream().filter(e->"1".equals(e.get("cx"))).collect(Collectors.toList());
List<String> detailIds = detailTableData.stream().map(e->e.get("cxlyid")).collect(Collectors.toList());
String sql = "select id,ksrq from uf_jcl_kq_qjjl_dt1 where (cxqj is null or cxqj <> '1') and id in ("+String.join(",",detailIds)+")";
List<Map<String, Object>> detailList = DbTools.getSqlToList(sql);
for (Map<String, Object> detailTable:detailList){
String bdkrq = Util.null2String(detailTable.get("ksrq"));
boolean mark = true;
for (Map<String,Object> date:dateList){
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >=0){
mark = false;
}
}
if (mark){
//已关账
log.error("销假日期:{},已关账无法销假",bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("销假日期:"+bdkrq+"不在当前月份对应考勤周期内无法再销假!");
return Action.FAILURE_AND_CONTINUE;
}
}
return Action.SUCCESS;
}

@ -37,13 +37,31 @@ public class EliminationsEvctionCheckAction implements Action {
//销差人
String xjr = mainTableData.get("xjr");
/**
*
*/
Map<String, Object> params = Maps.newHashMap();
params.put("userId",xjr);
params.put("submitDate", DateUtil.getCurrentDate());
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("data");
detailTableData = detailTableData.stream().filter(e->"1".equals(e.get("cx"))).collect(Collectors.toList());
List<String> detailIds = detailTableData.stream().map(e->e.get("cxlyid")).collect(Collectors.toList());
String sql = "select id,ksrq from uf_jcl_kq_ccjl_dt1 where (cxcc is null or cxcc <> '1') and id in ("+String.join(",",detailIds)+")";
List<Map<String, Object>> detailList = DbTools.getSqlToList(sql);
params.put("submitStr","ksrq");
params.put("submitDataList",detailList);
if (detailList == null || detailList.size() == 0){
log.error("未撤销任何出差!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("未撤销任何出差!");
return Action.FAILURE_AND_CONTINUE;
}
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
boolean status = (boolean)dataMap.get("status");
if (!status){
@ -52,37 +70,20 @@ public class EliminationsEvctionCheckAction implements Action {
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size()==0){
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
detailTableData = detailTableData.stream().filter(e->"1".equals(e.get("cx"))).collect(Collectors.toList());
List<String> detailIds = detailTableData.stream().map(e->e.get("cxlyid")).collect(Collectors.toList());
String sql = "select id,ksrq from uf_jcl_kq_ccjl_dt1 where (cxcc is null or cxcc <> '1') and id in ("+String.join(",",detailIds)+")";
List<Map<String, Object>> detailList = DbTools.getSqlToList(sql);
for (Map<String, Object> detailTable:detailList){
String bdkrq = Util.null2String(detailTable.get("ksrq"));
boolean mark = true;
for (Map<String,Object> date:dateList){
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >=0){
mark = false;
}
}
if (mark){
//已关账
log.error("销差日期:{},已关账无法销差",bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("销差日期:"+bdkrq+"不在当前月份对应考勤周期内无法再销差!");
return Action.FAILURE_AND_CONTINUE;
}
}
return Action.SUCCESS;
}

@ -14,6 +14,7 @@ import weaver.soa.workflow.request.RequestInfo;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
@ -34,11 +35,23 @@ public class EvctionCheckAction implements Action {
Map<String, Object> params = Maps.newHashMap();
params.put("userId",ccr);
params.put("submitDate", DateUtil.getCurrentDate());
params.put("submitDate",DateUtil.getCurrentDate());
params.put("submitStr","ksrq");
params.put("submitDataList",detailTableData);
/**
*
*/
if (detailTableData == null || detailTableData.size() == 0){
log.error("明细表没有数据!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("明细表没有数据!");
return Action.FAILURE_AND_CONTINUE;
}
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("data");
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("dataList");
boolean status = (boolean)dataMap.get("status");
if (!status){
@ -47,34 +60,19 @@ public class EvctionCheckAction implements Action {
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size()==0){
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
return Action.FAILURE_AND_CONTINUE;
}
for (Map<String, String> detailTable:detailTableData){
String bdkrq = detailTable.get("ksrq");
boolean mark = true;
for (Map<String,Object> date:dateList){
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >=0){
mark = false;
}
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (mark){
//已关账
log.error("出差日期:{},已关账无法提交出差",bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("出差日期:"+bdkrq+"不在当前月份对应考勤周期内无法再提交出差!");
return Action.FAILURE_AND_CONTINUE;
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
return Action.SUCCESS;
}
}

@ -42,12 +42,23 @@ public class MakeUpClockInAction implements Action {
Map<String, Object> params = Maps.newHashMap();
params.put("userId",userId);
params.put("submitDate",DateUtil.getCurrentDate());
params.put("submitStr","bdkrq");
params.put("submitDataList",detailTableData);
/**
*
*
*/
if (detailTableData == null || detailTableData.size() == 0){
log.error("明细表没有数据!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("明细表没有数据!");
return Action.FAILURE_AND_CONTINUE;
}
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("data");
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("dataList");
boolean status = (boolean)dataMap.get("status");
if (!status){
log.error("该人员没有考勤周期");
@ -55,34 +66,23 @@ public class MakeUpClockInAction implements Action {
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size()==0){
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
/**
*
*/
try {
for (Map<String, String> detailTable:detailTableData){
String bdkrq = detailTable.get("bdkrq");
boolean mark = true;
for (Map<String,Object> date:dateList){
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >=0){
mark = false;
}
}
if (mark){
//已关账
log.error("补打卡日期:{},已关账无法补打卡",bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("补打卡日期:"+bdkrq+"不在当前月份对应考勤周期内无法再补打卡!");
return Action.FAILURE_AND_CONTINUE;
}
}
Map<String,List<Map<String, String>>> dataGroupByBdlxs = Maps.newHashMap();
//按照考勤周期对补打卡数据进行分类

@ -14,6 +14,7 @@ import weaver.soa.workflow.request.RequestInfo;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
@ -35,11 +36,23 @@ public class OvertimePlanCheckAction implements Action {
Map<String, Object> params = Maps.newHashMap();
params.put("userId",jbry);
params.put("submitDate", DateUtil.getCurrentDate());
params.put("submitDate",DateUtil.getCurrentDate());
params.put("submitStr","ksrq");
params.put("submitDataList",detailTableData);
/**
*
*/
if (detailTableData == null || detailTableData.size() == 0){
log.error("明细表没有数据!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("明细表没有数据!");
return Action.FAILURE_AND_CONTINUE;
}
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("data");
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("dataList");
boolean status = (boolean)dataMap.get("status");
if (!status){
@ -48,32 +61,18 @@ public class OvertimePlanCheckAction implements Action {
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size()==0){
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
return Action.FAILURE_AND_CONTINUE;
}
for (Map<String, String> detailTable:detailTableData){
String bdkrq = detailTable.get("ksrq");
boolean mark = true;
for (Map<String,Object> date:dateList){
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >=0){
mark = false;
}
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (mark){
//已关账
log.error("加班计划日期:{},已关账无法提交",bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("加班计划日期:"+bdkrq+"不在当前月份对应考勤周期内无法再提交!");
return Action.FAILURE_AND_CONTINUE;
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
return Action.SUCCESS;

@ -5,6 +5,7 @@ import com.engine.attendance.workflow.service.impl.MakeUpClockInServiceImpl;
import com.engine.common.util.CommonUtil;
import com.engine.common.util.DateUtil;
import com.engine.common.util.ServiceUtil;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
@ -14,6 +15,7 @@ import weaver.soa.workflow.request.RequestInfo;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
*
@ -30,13 +32,21 @@ public class OvertimeResultCheckAction implements Action {
//加班人员
String jbry = mainTableData.get("jbry");
/**
*
*/
List<Map<String, Object>> submitDataList = Lists.newArrayList();
submitDataList.add(new HashMap(){{
put("ksrq",mainTableData.get("ksrq"));
}});
Map<String, Object> params = Maps.newHashMap();
params.put("userId",jbry);
params.put("submitDate", DateUtil.getCurrentDate());
params.put("submitDate",DateUtil.getCurrentDate());
params.put("submitStr","ksrq");
params.put("submitDataList",submitDataList);
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("data");
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
boolean status = (boolean)dataMap.get("status");
if (!status){
@ -45,30 +55,17 @@ public class OvertimeResultCheckAction implements Action {
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size()==0){
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
return Action.FAILURE_AND_CONTINUE;
}
String bdkrq = mainTableData.get("ksrq");
boolean mark = true;
for (Map<String,Object> date:dateList){
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <=0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >=0){
mark = false;
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
}
if (mark){
//已关账
log.error("加班结果日期:{},已关账无法补打卡",bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("加班结果日期:"+bdkrq+"不在当前月份对应考勤周期内无法再提交!");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}

@ -48,51 +48,45 @@ public class AskForLeaveWorkFlowSubmitAction implements Action {
List<Map<String, Object>> detailTable2 = Lists.newArrayList();
/**
*
*
*/
Map<String, Object> params = Maps.newHashMap();
params.put("userId", qjry);
params.put("submitDate", DateUtil.getCurrentDate());
Map<String, Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String, Object>> dateList = (List<Map<String, Object>>) dataMap.get("data");
boolean status = (boolean) dataMap.get("status");
if (!status) {
log.error("该人员没有考勤周期");
params.put("userId",qjry);
params.put("submitDate",DateUtil.getCurrentDate());
params.put("submitStr","ksrq");
params.put("submitDataList",detailTableData);
if (detailTableData == null || detailTableData.size() == 0){
log.error("明细表没有数据!");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期");
requestInfo.getRequestManager().setMessagecontent("明细表没有数据!");
return Action.FAILURE_AND_CONTINUE;
}
if (dateList.size() == 0) {
log.error("申请人员当前时间没有考勤周期,请联系管理员!");
Map<String,Object> dataMap = makeUpClockInService.getKqCycleTimeIntervalCmd(params);
List<Map<String,Object>> closeList = (List<Map<String,Object>>)dataMap.get("closeList");
List<String> nocycleList = (List<String>)dataMap.get("nocycleList");
List<Map<String,Object>> dateList = (List<Map<String,Object>>)dataMap.get("dataList");
boolean status = (boolean)dataMap.get("status");
if (!status){
log.error("该人员没有考勤周期");
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("申请人员当前时间没有考勤周期,请联系管理员!");
requestInfo.getRequestManager().setMessagecontent("该人员没有考勤周期");
return Action.FAILURE_AND_CONTINUE;
}
for (Map<String, String> detailTable : detailTableData) {
String bdkrq = detailTable.get("ksrq");
boolean mark = true;
for (Map<String, Object> date : dateList) {
//存在考勤周期内
String startDate = Util.null2String(date.get("startDate"));
String endDate = Util.null2String(date.get("endDate"));
if (DateUtil.getTime(startDate).compareTo(DateUtil.getTime(bdkrq)) <= 0 &&
DateUtil.getTime(endDate).compareTo(DateUtil.getTime(bdkrq)) >= 0) {
mark = false;
}
if (closeList.size() > 0 || nocycleList.size() > 0){
String message = "";
if (nocycleList.size() > 0){
message = message +String.join(",",nocycleList)+"未找对对应的考勤周期;";
}
if (mark) {
//已关账
log.error("请假日期:{},已关账无法提交", bdkrq);
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent("请假日期:" + bdkrq + "不在当前月份对应考勤周期内无法再提交请假!");
return Action.FAILURE_AND_CONTINUE;
if (closeList.size() > 0){
List<String> list = closeList.stream().map(e->e.get("rq").toString()).collect(Collectors.toList());
message = message +String.join(",",list)+"对应的考勤周期的考勤周期已关账";
}
requestInfo.getRequestManager().setMessageid("11111" + requestid + "22222");
requestInfo.getRequestManager().setMessagecontent(message);
return Action.FAILURE_AND_CONTINUE;
}
/**
*

@ -9,13 +9,13 @@ import com.engine.common.util.Utils;
import com.engine.core.interceptor.CommandContext;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import weaver.general.Util;
import weaver.hrm.company.DepartmentComInfo;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.time.ZoneOffset;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@ -33,8 +33,19 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
@Override
public Map<String, Object> execute(CommandContext commandContext) {
String userId = Util.null2String(params.get("userId"));
String submitDates = Util.null2String(params.get("submitDate"));
log.info("GetKqCycleTimeIntervalCmd userId:[{}],submitDates:[{}]",userId,submitDates);
List<Map<String, Object>> submitDataList = (List<Map<String, Object>>)params.get("submitDataList");
String submitStr = Util.null2String(params.get("submitStr"));
//提交日期
String submitDate = Util.null2String(params.get("submitDate"));
Map<String,Object> resultMap = Maps.newHashMap();
resultMap.put("status",true);
Set<String> yearSet = Sets.newHashSet();
for (Map<String, Object> map : submitDataList){
yearSet.add(map.get(submitStr).toString().split("-")[0]);
}
log.info("GetKqCycleTimeIntervalCmd userId:[{}],submitDateList:[{}],submitStr:[{}]",userId,submitDataList,submitStr);
String modeId = Utils.getFormmodeIdMap().get("uf_jcl_kq_kqzqmc");
Set<String> attendanceSetIdsSets = CommonUtil.getDataIds(userId,modeId,null,null);
@ -45,60 +56,75 @@ public class GetKqCycleTimeIntervalCmd extends AbstractCommonCommand<Map<String,
Map<String,Object> departMentMap = DbTools.getSqlToMap(sql,userId);
String deptid = Util.null2String(departMentMap.get("departmentid"));
String pdeptids = "";
List<Map<String,Object>> dateList = Lists.newArrayList();
Map<String,Object> resultMap = Maps.newHashMap();
resultMap.put("status",true);
resultMap.put("data",dateList);
List<Map<String,Object>> closeList = Lists.newArrayList();
List<String> nocycleList = Lists.newArrayList();
List<Map<String,Object>> dataList = Lists.newArrayList();
try {
pdeptids = new DepartmentComInfo().getAllParentDepartId(Util.null2String(departMentMap.get("departmentid")), pdeptids);
pdeptids = deptid + pdeptids;
log.info("pdeptids : [{}]",pdeptids);
LocalDateTime nowLocalDateTime = DateUtil.getTime(submitDates);
int nowyear = nowLocalDateTime.getYear();
int nowMonth = nowLocalDateTime.getMonth().getValue();
LocalDateTime beforeLocalDateTime = DateUtil.getTime(submitDates).minusMonths(1);
int beforeYear = beforeLocalDateTime.getYear();
int beforeMonth = beforeLocalDateTime.getMonth().getValue();
sql = "select a.zt,a.ksrq,a.jsrq,a.gzrq,a.gzsj,b.zt dtzt,b.tsbm,b.gzrq dtgzrq,b.gzsj dtgzsj from uf_jcl_kq_kqzq a left join uf_jcl_kq_kqzq_dt1 b on a.id=b.mainid where a.mc=? and (a.nd=? and a.yf=? or a.nd=? and a.yf=?)";
sql = "select a.zt,a.ksrq,a.jsrq,a.gzrq,a.gzsj,b.zt dtzt,b.tsbm,b.gzrq dtgzrq,b.gzsj dtgzsj from uf_jcl_kq_kqzq a left join uf_jcl_kq_kqzq_dt1 b on a.id=b.mainid where a.mc=? and a.nd in ("+String.join(",",yearSet)+")";
if (attendanceSetIdsSets.toArray().length == 0){
resultMap.put("status",false);
return resultMap;
}
List<Map<String,Object>> list = DbTools.getSqlToList(sql,attendanceSetIdsSets.toArray()[0],nowyear,nowMonth,beforeYear,beforeMonth);
List<Map<String,Object>> list = DbTools.getSqlToList(sql,attendanceSetIdsSets.toArray()[0]);
log.info("GetKqCycleTimeIntervalCmd list : [{}]",list);
for (Map<String,Object> dataMap : list){
String tsbm = Util.null2String(dataMap.get("tsbm"));
if (!"".equals(tsbm) && CommonUtil.ifContainStr(pdeptids,tsbm,",")){
//人员在特殊部门里
String gzrq = Util.null2String(dataMap.get("dtgzrq")) +" "+Util.null2String(dataMap.get("dtgzsj")) +":00";
if (DateUtil.getTime(submitDates).compareTo(DateUtil.getTime(gzrq))<=0){
Map<String,Object> date = Maps.newHashMap();
date.put("startDate",dataMap.get("ksrq"));
date.put("endDate",dataMap.get("jsrq"));
dateList.add(date);
}
}
}
for (Map<String,Object> dataMap : list){
String gzrq = Util.null2String(dataMap.get("gzrq")) +" "+Util.null2String(dataMap.get("gzsj")) +":00";
if (DateUtil.getTime(submitDates).compareTo(DateUtil.getTime(gzrq))<=0){
for (Map<String,Object> detailData:submitDataList){
String ksrq = Util.null2String(detailData.get(submitStr)).split(" ")[0];
List<Map<String,Object>> cycleTime = list.stream().filter(e->DateUtil.getTime(e.get("ksrq").toString()).compareTo(DateUtil.getTime(ksrq)) <= 0 &&
DateUtil.getTime(e.get("jsrq").toString()).compareTo(DateUtil.getTime(ksrq)) >=0).collect(Collectors.toList());
log.info("数据业务日期:[{}],周期数据:[{}]",ksrq,cycleTime);
if (cycleTime.size() > 0){
Map<String,Object> date = Maps.newHashMap();
List<Map<String,Object>> filterDate = dateList.stream().filter(e->e.get("startDate").equals(dataMap.get("ksrq"))).collect(Collectors.toList());
if (filterDate.size() == 0){
date.put("startDate",dataMap.get("ksrq"));
date.put("endDate",dataMap.get("jsrq"));
dateList.add(date);
date.put("startDate",cycleTime.get(0).get("ksrq"));
date.put("endDate",cycleTime.get(0).get("jsrq"));
dataList.add(date);
//0:待关账 1:已关账,2:已结账
String zt = Util.null2String(cycleTime.get(0).get("zt"));
String gzrq = Util.null2String(cycleTime.get(0).get("gzrq"));
String gzsj = Util.null2String(cycleTime.get(0).get("gzsj"));
String tsbm = Util.null2String(cycleTime.get(0).get("tsbm"));
String dtzt = Util.null2String(cycleTime.get(0).get("dtzt"));
String dtgzrq = Util.null2String(cycleTime.get(0).get("dtgzrq"));
String dtgzsj = Util.null2String(cycleTime.get(0).get("dtgzsj"));
if (!"".equals(tsbm) && CommonUtil.ifContainStr(pdeptids,tsbm,",")){
//人员在特殊部门里
if ("1".equals(dtzt) || DateUtil.getTime(submitDate).compareTo(DateUtil.getTime(dtgzrq+" "+dtgzsj+":00")) >0){
//处于关账状态或提交日期大于关账时间
closeList.add(new HashMap(){{
put("rq",detailData.get(submitStr));
put("cycle",cycleTime);
}});
}
}else {
if ("1".equals(zt) || "2".equals(zt) || DateUtil.getTime(submitDate).compareTo(DateUtil.getTime(gzrq+" "+gzsj+":00")) >0){
//数据已关账或提交日期大于关账时间
closeList.add(new HashMap(){{
put("rq",detailData.get(submitStr));
put("cycle",cycleTime);
}});
}
}
}else {
nocycleList.add(detailData.get(submitStr).toString());
}
}
}catch (Exception e){
log.error("catch error :{}",e);
}
log.info("GetKqCycleTimeIntervalCmd dateList : [{}]",dateList);
log.info("GetKqCycleTimeIntervalCmd closeList : [{}]",closeList);
log.info("GetKqCycleTimeIntervalCmd nocycleList : [{}]",nocycleList);
resultMap.put("closeList",closeList);
resultMap.put("nocycleList",nocycleList);
resultMap.put("dataList",dataList);
return resultMap;
}

@ -1,7 +1,9 @@
import com.engine.common.util.DateUtil;
import com.engine.common.util.Utils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.time.ZoneOffset;
import java.util.Comparator;
@ -26,8 +28,21 @@ public class TestMethod {
// System.out.println(detailTableData);
List<Map<String,Object>> list = Lists.newArrayList();
//double totalUnearnedLeave = list.stream().mapToDouble(e->Double.valueOf(e.get("wxsc").toString())).sum();
Map<String,Object> map1 = Maps.newHashMap();
map1.put("ksrq","2024-04-20");
Map<String,Object> map2 = Maps.newHashMap();
map2.put("ksrq","2024-04-21");
Map<String,Object> map3 = Maps.newHashMap();
map3.put("ksrq","2024-04-15");
Map<String,Object> map4 = Maps.newHashMap();
map4.put("ksrq","2024-04-14");
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
list = list.stream().sorted(Comparator.comparing(e->DateUtil.getTime(e.get("ksrq").toString()).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
// System.out.println(DateUtil.getTime("2024-04-14").toInstant(ZoneOffset.of("+8")).toEpochMilli());
System.out.println(list.addAll(null));
System.out.println(list);
}
}

Loading…
Cancel
Save