|
|
@ -53,18 +53,14 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
boolean ifEndNeedClock=false;
|
|
|
|
boolean ifEndNeedClock=false;
|
|
|
|
|
|
|
|
|
|
|
|
if (needClockInList.size() > 0 && askForLeaveAndEvctionScheduleList.size() > 0) {
|
|
|
|
if (needClockInList.size() > 0 && askForLeaveAndEvctionScheduleList.size() > 0) {
|
|
|
|
String startTime = analysisDate + " " + needClockInList.get(0).get("dtkssj").toString();
|
|
|
|
String startTime = Utils.getkssjTime(needClockInList.get(0),analysisDate);
|
|
|
|
String endStartTime = analysisDate + " " + needClockInList.get(needClockInList.size()-1).get("dtkssj").toString();
|
|
|
|
String endStartTime = Utils.getkssjTime(needClockInList.get(needClockInList.size()-1),analysisDate);
|
|
|
|
String endTime = analysisDate + " " + needClockInList.get(needClockInList.size()-1).get("dtjssj").toString();
|
|
|
|
String endTime = Utils.getjssjTime(needClockInList.get(needClockInList.size()-1),analysisDate);
|
|
|
|
if (DateUtil.getTime(endStartTime).compareTo(DateUtil.getTime(endTime)) > 0) {
|
|
|
|
|
|
|
|
endTime = DateUtil.AfterDay(analysisDate, 1) + " " + needClockInList.get(needClockInList.size()-1).get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
for (Map<String, Object> askForLeaveAndEvctionSchedule :askForLeaveAndEvctionScheduleList){
|
|
|
|
for (Map<String, Object> askForLeaveAndEvctionSchedule :askForLeaveAndEvctionScheduleList){
|
|
|
|
String dtkssj = analysisDate + " " + askForLeaveAndEvctionSchedule.get("dtkssj");
|
|
|
|
String dtkssj = Utils.getkssjTime(askForLeaveAndEvctionSchedule,analysisDate);
|
|
|
|
String dtjssj = analysisDate + " " + askForLeaveAndEvctionSchedule.get("dtjssj");
|
|
|
|
String dtjssj = Utils.getjssjTime(askForLeaveAndEvctionSchedule,analysisDate);
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + askForLeaveAndEvctionSchedule.get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(startTime))<=0 || DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(endTime)) >= 0){
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(startTime))<=0 || DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(endTime)) >= 0){
|
|
|
|
askForLeaveAndEvctionSchedule.put("ksdk",CheckBoxEnum.UNCHECKED.getKey());
|
|
|
|
askForLeaveAndEvctionSchedule.put("ksdk",CheckBoxEnum.UNCHECKED.getKey());
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -75,11 +71,9 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(startTime))<=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(endTime))<0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(startTime)) >0){
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(startTime))<=0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(endTime))<0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(startTime)) >0){
|
|
|
|
//骑在开始上班时间
|
|
|
|
//骑在开始上班时间
|
|
|
|
for (Map<String,Object> needClockMap:needClockInList){
|
|
|
|
for (Map<String,Object> needClockMap:needClockInList){
|
|
|
|
String kssj = analysisDate + " " + needClockMap.get("dtkssj");
|
|
|
|
String kssj = Utils.getkssjTime(needClockMap,analysisDate);
|
|
|
|
String jssj = analysisDate + " " + needClockMap.get("dtjssj");
|
|
|
|
String jssj = Utils.getjssjTime(needClockMap,analysisDate);
|
|
|
|
if (DateUtil.getTime(kssj).compareTo(DateUtil.getTime(jssj)) > 0) {
|
|
|
|
|
|
|
|
jssj = DateUtil.AfterDay(analysisDate, 1) + " " + needClockMap.get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockMap.get("ksdk")) && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(jssj)) >=0){
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockMap.get("ksdk")) && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(jssj)) >=0){
|
|
|
|
ifStartNeedClock=true;
|
|
|
|
ifStartNeedClock=true;
|
|
|
@ -90,7 +84,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(startTime)) > 0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(endTime))>=0 && DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(endTime)) < 0){
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(startTime)) > 0 && DateUtil.getTime(dtjssj).compareTo(DateUtil.getTime(endTime))>=0 && DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(endTime)) < 0){
|
|
|
|
//骑在下班时间
|
|
|
|
//骑在下班时间
|
|
|
|
for (Map<String,Object> needClockMap:needClockInList){
|
|
|
|
for (Map<String,Object> needClockMap:needClockInList){
|
|
|
|
String kssj = analysisDate + " " + needClockMap.get("dtkssj");
|
|
|
|
String kssj = Utils.getkssjTime(needClockMap,analysisDate);
|
|
|
|
|
|
|
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockMap.get("jsdk")) && DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(kssj)) <=0){
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockMap.get("jsdk")) && DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(kssj)) <=0){
|
|
|
|
ifEndNeedClock=true;
|
|
|
|
ifEndNeedClock=true;
|
|
|
@ -105,21 +99,17 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
* 当请假或外出包含打卡卡点时,判断该卡点是否需要打卡
|
|
|
|
* 当请假或外出包含打卡卡点时,判断该卡点是否需要打卡
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
for (Map<String, Object> askForLeaveAndEvctionMap :askForLeaveAndEvctionScheduleList){
|
|
|
|
for (Map<String, Object> askForLeaveAndEvctionMap :askForLeaveAndEvctionScheduleList){
|
|
|
|
String evctiondtkssj = analysisDate + " " +Util.null2String(askForLeaveAndEvctionMap.get("dtkssj"));
|
|
|
|
String evctiondtkssj = Utils.getkssjTime(askForLeaveAndEvctionMap,analysisDate);
|
|
|
|
String evctionksdk = Util.null2String(askForLeaveAndEvctionMap.get("ksdk"));
|
|
|
|
String evctionksdk = Util.null2String(askForLeaveAndEvctionMap.get("ksdk"));
|
|
|
|
String evctiondtjssj = analysisDate + " " +Util.null2String(askForLeaveAndEvctionMap.get("dtjssj"));
|
|
|
|
String evctiondtjssj = Utils.getjssjTime(askForLeaveAndEvctionMap,analysisDate);
|
|
|
|
String evctionjsdk = Util.null2String(askForLeaveAndEvctionMap.get("jsdk"));
|
|
|
|
String evctionjsdk = Util.null2String(askForLeaveAndEvctionMap.get("jsdk"));
|
|
|
|
if (DateUtil.getTime(evctiondtkssj).compareTo(DateUtil.getTime(evctiondtjssj)) > 0) {
|
|
|
|
|
|
|
|
evctiondtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + Util.null2String(askForLeaveAndEvctionMap.get("dtjssj"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
List<String> lists = Lists.newArrayList();
|
|
|
|
List<String> lists = Lists.newArrayList();
|
|
|
|
for (int i=0;i<scheduleResult.size();i++){
|
|
|
|
for (int i=0;i<scheduleResult.size();i++){
|
|
|
|
String dtkssj = analysisDate + " " +Util.null2String(scheduleResult.get(i).get("dtkssj"));
|
|
|
|
String dtkssj = Utils.getkssjTime(scheduleResult.get(i),analysisDate);
|
|
|
|
String dtjssj = analysisDate + " " +Util.null2String(scheduleResult.get(i).get("dtjssj"));
|
|
|
|
String dtjssj = Utils.getjssjTime(scheduleResult.get(i),analysisDate);
|
|
|
|
String bdlx = Util.null2String(scheduleResult.get(i).get("bdlx"));
|
|
|
|
String bdlx = Util.null2String(scheduleResult.get(i).get("bdlx"));
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + Util.null2String(scheduleResult.get(i).get("dtjssj"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (DateUtil.getTime(evctiondtkssj).compareTo(DateUtil.getTime(dtkssj)) <= 0 && DateUtil.getTime(evctiondtjssj).compareTo(DateUtil.getTime(dtkssj)) >=0
|
|
|
|
if (DateUtil.getTime(evctiondtkssj).compareTo(DateUtil.getTime(dtkssj)) <= 0 && DateUtil.getTime(evctiondtjssj).compareTo(DateUtil.getTime(dtkssj)) >=0
|
|
|
|
&& !ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(bdlx) && !ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(bdlx) && !ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(bdlx)){
|
|
|
|
&& !ClassSegmentTypeEnum.REST_AND_DINE.getKey().equals(bdlx) && !ClassSegmentTypeEnum.REST_PERIOD.getKey().equals(bdlx) && !ClassSegmentTypeEnum.DINING_PERIOD.getKey().equals(bdlx)){
|
|
|
|
lists.add(scheduleResult.get(i).get("dtkssj")+"-"+ClockPointEnum.START.getKey()+"-"+Util.null2String(scheduleResult.get(i).get("ksdk")));
|
|
|
|
lists.add(scheduleResult.get(i).get("dtkssj")+"-"+ClockPointEnum.START.getKey()+"-"+Util.null2String(scheduleResult.get(i).get("ksdk")));
|
|
|
@ -178,16 +168,14 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
scheduleResult.addAll(askForLeaveAndEvctionScheduleList);
|
|
|
|
scheduleResult.addAll(askForLeaveAndEvctionScheduleList);
|
|
|
|
scheduleResult = scheduleResult.stream().sorted(Comparator.comparing(e->DateUtil.getTime(analysisDate+" "+e.get("dtkssj")).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
|
|
|
|
scheduleResult = scheduleResult.stream().sorted(Comparator.comparing(e->DateUtil.getTime(Utils.getkssjTime(e,analysisDate)).toInstant(ZoneOffset.of("+8")).toEpochMilli())).collect(Collectors.toList());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
List<String> needClockDateList = Lists.newArrayList();
|
|
|
|
List<String> needClockDateList = Lists.newArrayList();
|
|
|
|
for (int i=0;i<scheduleResult.size();i++){
|
|
|
|
for (int i=0;i<scheduleResult.size();i++){
|
|
|
|
String dtkssj = analysisDate + " " + scheduleResult.get(i).get("dtkssj");
|
|
|
|
String dtkssj = Utils.getkssjTime(scheduleResult.get(i),analysisDate);
|
|
|
|
String dtjssj = analysisDate + " " + scheduleResult.get(i).get("dtjssj");
|
|
|
|
String dtjssj = Utils.getjssjTime(scheduleResult.get(i),analysisDate);
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + scheduleResult.get(i).get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(scheduleResult.get(i).get("ksdk"))) {
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(scheduleResult.get(i).get("ksdk"))) {
|
|
|
|
needClockDateList.add(dtkssj);
|
|
|
|
needClockDateList.add(dtkssj);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -208,18 +196,16 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
!ClassSegmentTypeEnum.EVECTION.getKey().equals(bdlx) &&
|
|
|
|
!ClassSegmentTypeEnum.EVECTION.getKey().equals(bdlx) &&
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(bdlx)){
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(bdlx)){
|
|
|
|
scheduleResult.get(i).put("ksdk",CheckBoxEnum.CHECKED.getKey());
|
|
|
|
scheduleResult.get(i).put("ksdk",CheckBoxEnum.CHECKED.getKey());
|
|
|
|
needClockDateList.add(0,analysisDate + " "+dtkssj);
|
|
|
|
needClockDateList.add(0,Utils.getkssjTime(scheduleResult.get(i),analysisDate));
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (ifEndNeedClock && needClockInList.get(needClockInList.size()-1).get("dtjssj").equals(dtjssj) &&
|
|
|
|
if (ifEndNeedClock && needClockInList.get(needClockInList.size()-1).get("dtjssj").equals(dtjssj) &&
|
|
|
|
!ClassSegmentTypeEnum.EVECTION.getKey().equals(bdlx) &&
|
|
|
|
!ClassSegmentTypeEnum.EVECTION.getKey().equals(bdlx) &&
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(bdlx)){
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(bdlx)){
|
|
|
|
scheduleResult.get(i).put("jsdk",CheckBoxEnum.CHECKED.getKey());
|
|
|
|
scheduleResult.get(i).put("jsdk",CheckBoxEnum.CHECKED.getKey());
|
|
|
|
dtkssj = analysisDate + " " + scheduleResult.get(i).get("dtkssj");
|
|
|
|
dtkssj = Utils.getkssjTime(scheduleResult.get(i),analysisDate);
|
|
|
|
dtjssj = analysisDate + " " + scheduleResult.get(i).get("dtjssj");
|
|
|
|
dtjssj = Utils.getjssjTime(scheduleResult.get(i),analysisDate);
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + scheduleResult.get(i).get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
needClockDateList.add(dtjssj);
|
|
|
|
needClockDateList.add(dtjssj);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -258,11 +244,10 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
/**非请假外出开始打卡逻辑处理*/
|
|
|
|
/**非请假外出开始打卡逻辑处理*/
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("ksdk")) && !ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) &&
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("ksdk")) && !ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) &&
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx"))) {
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx"))) {
|
|
|
|
String dtkssj = analysisDate + " " + needClockIn.get("dtkssj");
|
|
|
|
String dtkssj = Utils.getkssjTime(needClockIn,analysisDate);
|
|
|
|
String dtjssj = analysisDate + " " + needClockIn.get("dtjssj");
|
|
|
|
String dtjssj = Utils.getjssjTime(needClockIn,analysisDate);
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + needClockIn.get("dtjssj");
|
|
|
|
//计算最大提前打卡分钟数
|
|
|
|
}
|
|
|
|
|
|
|
|
int tqdkfzs = 60;
|
|
|
|
int tqdkfzs = 60;
|
|
|
|
if (Util.null2String(needClockIn.get("tqdkfzs")).equals("") && !"".equals(getBeforeClockTime(needClockDateList,dtkssj))){
|
|
|
|
if (Util.null2String(needClockIn.get("tqdkfzs")).equals("") && !"".equals(getBeforeClockTime(needClockDateList,dtkssj))){
|
|
|
|
tqdkfzs = DateUtil.getBetWeenMinutes(getBeforeClockTime(needClockDateList,dtkssj),dtkssj);
|
|
|
|
tqdkfzs = DateUtil.getBetWeenMinutes(getBeforeClockTime(needClockDateList,dtkssj),dtkssj);
|
|
|
@ -299,8 +284,9 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
/**非请假外出结束打卡逻辑处理*/
|
|
|
|
/**非请假外出结束打卡逻辑处理*/
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("jsdk")) && !ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) &&
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("jsdk")) && !ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) &&
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx"))) {
|
|
|
|
!ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx"))) {
|
|
|
|
String dtkssj = analysisDate + " " + needClockIn.get("dtkssj");
|
|
|
|
String dtkssj = Utils.getkssjTime(needClockIn,analysisDate);
|
|
|
|
String dtjssj = analysisDate + " " + needClockIn.get("dtjssj");
|
|
|
|
String dtjssj = Utils.getjssjTime(needClockIn,analysisDate);
|
|
|
|
|
|
|
|
//计算最大退后打卡分钟数
|
|
|
|
int thdkfzs = 60;
|
|
|
|
int thdkfzs = 60;
|
|
|
|
if (Util.null2String(needClockIn.get("thdkfzs")).equals("") && !"".equals(getNextClockTime(needClockDateList,dtjssj))){
|
|
|
|
if (Util.null2String(needClockIn.get("thdkfzs")).equals("") && !"".equals(getNextClockTime(needClockDateList,dtjssj))){
|
|
|
|
thdkfzs = DateUtil.getBetWeenMinutes(dtjssj,getNextClockTime(needClockDateList,dtjssj));
|
|
|
|
thdkfzs = DateUtil.getBetWeenMinutes(dtjssj,getNextClockTime(needClockDateList,dtjssj));
|
|
|
@ -308,9 +294,6 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
thdkfzs = Util.null2String(needClockIn.get("thdkfzs")).equals("")?0:Integer.valueOf(needClockIn.get("thdkfzs").toString());
|
|
|
|
thdkfzs = Util.null2String(needClockIn.get("thdkfzs")).equals("")?0:Integer.valueOf(needClockIn.get("thdkfzs").toString());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + needClockIn.get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Map<String, Map<String, Object>> jsdkNearestClcokInTime = Utils.getNearestClcokInTimeCmd(dtjssj, clockInTimeList);
|
|
|
|
Map<String, Map<String, Object>> jsdkNearestClcokInTime = Utils.getNearestClcokInTimeCmd(dtjssj, clockInTimeList);
|
|
|
|
|
|
|
|
|
|
|
|
String timeType = ClockPointEnum.EMPTY.getKey();
|
|
|
|
String timeType = ClockPointEnum.EMPTY.getKey();
|
|
|
@ -340,7 +323,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("ksdk")) && (ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) ||
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("ksdk")) && (ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) ||
|
|
|
|
ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx")))){
|
|
|
|
ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx")))){
|
|
|
|
String dtkssj = analysisDate + " " + needClockIn.get("dtkssj");
|
|
|
|
String dtkssj = Utils.getkssjTime(needClockIn,analysisDate);
|
|
|
|
int thdkfzs = Integer.valueOf(Util.null2String(needClockIn.get("thdkfzs")));
|
|
|
|
int thdkfzs = Integer.valueOf(Util.null2String(needClockIn.get("thdkfzs")));
|
|
|
|
if (!"".equals(getNextClockTime(needClockDateList,dtkssj))){
|
|
|
|
if (!"".equals(getNextClockTime(needClockDateList,dtkssj))){
|
|
|
|
DateUtil.getBetWeenMinutes(dtkssj,getNextClockTime(needClockDateList,dtkssj));
|
|
|
|
DateUtil.getBetWeenMinutes(dtkssj,getNextClockTime(needClockDateList,dtkssj));
|
|
|
@ -376,11 +359,8 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("jsdk")) && (ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) ||
|
|
|
|
if (CheckBoxEnum.CHECKED.getKey().equals(needClockIn.get("jsdk")) && (ClassSegmentTypeEnum.EVECTION.getKey().equals(needClockIn.get("bdlx")) ||
|
|
|
|
ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx")))){
|
|
|
|
ClassSegmentTypeEnum.ASK_FOR_LEAVE.getKey().equals(needClockIn.get("bdlx")))){
|
|
|
|
|
|
|
|
|
|
|
|
String dtkssj = analysisDate + " " + needClockIn.get("dtkssj");
|
|
|
|
String dtkssj = Utils.getkssjTime(needClockIn,analysisDate);
|
|
|
|
String dtjssj = analysisDate + " " + needClockIn.get("dtjssj");
|
|
|
|
String dtjssj = Utils.getjssjTime(needClockIn,analysisDate);
|
|
|
|
if (DateUtil.getTime(dtkssj).compareTo(DateUtil.getTime(dtjssj)) > 0) {
|
|
|
|
|
|
|
|
dtjssj = DateUtil.AfterDay(analysisDate, 1) + " " + needClockIn.get("dtjssj");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
int tqdkfzs = Integer.valueOf(Util.null2String(needClockIn.get("tqdkfzs")));
|
|
|
|
int tqdkfzs = Integer.valueOf(Util.null2String(needClockIn.get("tqdkfzs")));
|
|
|
|
|
|
|
|
|
|
|
|
if (!"".equals(getBeforeClockTime(needClockDateList,dtjssj))){
|
|
|
|
if (!"".equals(getBeforeClockTime(needClockDateList,dtjssj))){
|
|
|
@ -451,25 +431,20 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
//弹性核算
|
|
|
|
//弹性核算
|
|
|
|
int dxhs = Integer.valueOf(Util.null2String(workScheduleList.get(0).get("dxhs")));
|
|
|
|
int dxhs = Integer.valueOf(Util.null2String(workScheduleList.get(0).get("dxhs")));
|
|
|
|
Map<String, Object> ksdkMap = workScheduleList.get(0);
|
|
|
|
Map<String, Object> ksdkMap = workScheduleList.get(0);
|
|
|
|
String kssjStart = analysisDate + " " + Util.null2String(ksdkMap.get("dtkssj"));
|
|
|
|
String kssjStart = Utils.getkssjTime(ksdkMap,analysisDate);
|
|
|
|
String jssjStart = analysisDate + " " + Util.null2String(ksdkMap.get("dtjssj"));
|
|
|
|
String jssjStart = Utils.getjssjTime(ksdkMap,analysisDate);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> jsdkMap = workScheduleList.get(workScheduleList.size() - 1);
|
|
|
|
Map<String, Object> jsdkMap = workScheduleList.get(workScheduleList.size() - 1);
|
|
|
|
int thdkfzs = Integer.valueOf(Util.null2String(jsdkMap.get("thdkfzs")));
|
|
|
|
int thdkfzs = Integer.valueOf(Util.null2String(jsdkMap.get("thdkfzs")));
|
|
|
|
String kssjEnd = analysisDate + " " + Util.null2String(jsdkMap.get("dtkssj"));
|
|
|
|
String kssjEnd = Utils.getkssjTime(jsdkMap,analysisDate);
|
|
|
|
String jssjEnd = analysisDate + " " + Util.null2String(jsdkMap.get("dtjssj"));
|
|
|
|
String jssjEnd = Utils.getjssjTime(jsdkMap,analysisDate);
|
|
|
|
|
|
|
|
|
|
|
|
if (ksdkMap != jsdkMap) {
|
|
|
|
// if (ksdkMap != jsdkMap) {
|
|
|
|
if (DateUtil.getTime(kssjStart).compareTo(DateUtil.getTime(jssjStart)) > 0) {
|
|
|
|
// if (DateUtil.getTime(kssjStart).compareTo(DateUtil.getTime(jssjStart)) > 0) {
|
|
|
|
kssjStart = DateUtil.beforeDay(analysisDate, 1) + " " + Util.null2String(ksdkMap.get("dtkssj"));
|
|
|
|
// kssjStart = DateUtil.beforeDay(analysisDate, 1) + " " + Util.null2String(ksdkMap.get("dtkssj"));
|
|
|
|
}
|
|
|
|
// }
|
|
|
|
if (DateUtil.getTime(kssjEnd).compareTo(DateUtil.getTime(jssjEnd)) > 0) {
|
|
|
|
// }
|
|
|
|
jssjEnd = DateUtil.AfterDay(analysisDate, 1) + " " + Util.null2String(jsdkMap.get("dtjssj"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
jssjEnd = DateUtil.AfterDay(analysisDate, 1) + " " + Util.null2String(jsdkMap.get("dtjssj"));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//弹性上班时间
|
|
|
|
//弹性上班时间
|
|
|
|
String flexibleWorkTime = "";
|
|
|
|
String flexibleWorkTime = "";
|
|
|
@ -478,7 +453,7 @@ public class GetClockInPointCmd extends AbstractCommonCommand<Map<String, Object
|
|
|
|
if (leaveAndEvctionList.size() >0){
|
|
|
|
if (leaveAndEvctionList.size() >0){
|
|
|
|
//第一笔请假、外出时间
|
|
|
|
//第一笔请假、外出时间
|
|
|
|
Map<String, Object> leaveAndEvctionMap = leaveAndEvctionList.get(0);
|
|
|
|
Map<String, Object> leaveAndEvctionMap = leaveAndEvctionList.get(0);
|
|
|
|
String leaveAndEvctionkssj = analysisDate + " " + Util.null2String(leaveAndEvctionMap.get("dtkssj"));
|
|
|
|
String leaveAndEvctionkssj = Utils.getkssjTime(leaveAndEvctionMap,analysisDate);
|
|
|
|
//最大开始弹性时间
|
|
|
|
//最大开始弹性时间
|
|
|
|
String minkssjStart = DateUtil.beforeMinutes(kssjStart,zddxfz);
|
|
|
|
String minkssjStart = DateUtil.beforeMinutes(kssjStart,zddxfz);
|
|
|
|
String maxkssjStart = DateUtil.AfterMinutes(kssjStart,zddxfz);
|
|
|
|
String maxkssjStart = DateUtil.AfterMinutes(kssjStart,zddxfz);
|
|
|
|