|
|
@@ -126,11 +126,90 @@ public class DelayedUtils {
|
|
|
//考核 100 160
|
|
|
//int ssss = addMinuteStart(result, TimeExchange.StringToDate("2023-08-03 14:00:00", "yyyy-MM-dd HH:mm:ss"), 270, TimeExchange.StringToDate("2023-08-03 10:11:00", "yyyy-MM-dd HH:mm:ss"), "2023-08-03", 229, 0, 2);
|
|
|
|
|
|
- int isDuty = 0;
|
|
|
- Date nowDate = TimeExchange.StringToDate("2023-08-03 19:30:00", "yyyy-MM-dd HH:mm:ss");
|
|
|
- int acceptanceAssessTime = 200;
|
|
|
- int maintenanceAssessTime = 600;
|
|
|
+ List<timeVo> nsn = new ArrayList<>();
|
|
|
+ timeVo s1 = new timeVo();
|
|
|
+ s1.setNowDate(TimeExchange.StringToDate("2023-08-03 10:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s1.setAcceptanceAssessTime(50);
|
|
|
+ s1.setMaintenanceAssessTime(60);
|
|
|
+ nsn.add(s1);
|
|
|
+
|
|
|
+ timeVo s2 = new timeVo();
|
|
|
+ s2.setNowDate(TimeExchange.StringToDate("2023-08-03 06:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s2.setAcceptanceAssessTime(200);
|
|
|
+ s2.setMaintenanceAssessTime(600);
|
|
|
+ nsn.add(s2);
|
|
|
+ timeVo s3 = new timeVo();
|
|
|
+ s3.setNowDate(TimeExchange.StringToDate("2023-08-03 07:30:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s3.setAcceptanceAssessTime(50);
|
|
|
+ s3.setMaintenanceAssessTime(300);
|
|
|
+ nsn.add(s3);
|
|
|
+ timeVo s4 = new timeVo();
|
|
|
+ s4.setNowDate(TimeExchange.StringToDate("2023-08-03 10:11:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s4.setAcceptanceAssessTime(320);
|
|
|
+ s4.setMaintenanceAssessTime(100);
|
|
|
+ nsn.add(s4);
|
|
|
+ timeVo s5 = new timeVo();
|
|
|
+ s5.setNowDate(TimeExchange.StringToDate("2023-08-03 12:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s5.setAcceptanceAssessTime(200);
|
|
|
+ s5.setMaintenanceAssessTime(160);
|
|
|
+ nsn.add(s5);
|
|
|
+ timeVo s6 = new timeVo();
|
|
|
+ s6.setNowDate(TimeExchange.StringToDate("2023-08-03 14:20:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s6.setAcceptanceAssessTime(150);
|
|
|
+ s6.setMaintenanceAssessTime(280);
|
|
|
+ nsn.add(s6);
|
|
|
+ timeVo s7 = new timeVo();
|
|
|
+ s7.setNowDate(TimeExchange.StringToDate("2023-08-03 16:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s7.setAcceptanceAssessTime(30);
|
|
|
+ s7.setMaintenanceAssessTime(150);
|
|
|
+ nsn.add(s7);
|
|
|
+ timeVo s8 = new timeVo();
|
|
|
+ s8.setNowDate(TimeExchange.StringToDate("2023-08-03 17:30:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s8.setAcceptanceAssessTime(50);
|
|
|
+ s8.setMaintenanceAssessTime(200);
|
|
|
+ nsn.add(s8);
|
|
|
+ timeVo s9 = new timeVo();
|
|
|
+ s9.setNowDate(TimeExchange.StringToDate("2023-08-03 19:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s9.setAcceptanceAssessTime(90);
|
|
|
+ s9.setMaintenanceAssessTime(70);
|
|
|
+ nsn.add(s9);
|
|
|
+ timeVo s10 = new timeVo();
|
|
|
+ s10.setNowDate(TimeExchange.StringToDate("2023-08-03 07:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s10.setAcceptanceAssessTime(100);
|
|
|
+ s10.setMaintenanceAssessTime(90);
|
|
|
+ nsn.add(s10);
|
|
|
+ timeVo s20 = new timeVo();
|
|
|
+ s20.setNowDate(TimeExchange.StringToDate("2023-08-03 07:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s20.setAcceptanceAssessTime(200);
|
|
|
+ s20.setMaintenanceAssessTime(400);
|
|
|
+ nsn.add(s20);
|
|
|
+ timeVo s11 = new timeVo();
|
|
|
+ s11.setNowDate(TimeExchange.StringToDate("2023-08-03 11:11:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s11.setAcceptanceAssessTime(150);
|
|
|
+ s11.setMaintenanceAssessTime(170);
|
|
|
+ nsn.add(s11);
|
|
|
+ timeVo s12 = new timeVo();
|
|
|
+ s12.setNowDate(TimeExchange.StringToDate("2023-08-03 18:30:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s12.setAcceptanceAssessTime(50);
|
|
|
+ s12.setMaintenanceAssessTime(60);
|
|
|
+ nsn.add(s12);
|
|
|
+ timeVo s13 = new timeVo();
|
|
|
+ s13.setNowDate(TimeExchange.StringToDate("2023-08-03 20:00:00", "yyyy-MM-dd HH:mm:ss"));
|
|
|
+ s13.setAcceptanceAssessTime(70);
|
|
|
+ s13.setMaintenanceAssessTime(90);
|
|
|
+ nsn.add(s13);
|
|
|
+
|
|
|
+
|
|
|
+ for (timeVo t:nsn) {
|
|
|
+ teststs(t.getNowDate(),t.getAcceptanceAssessTime(),t.getMaintenanceAssessTime(),shiftDatas);
|
|
|
+ }
|
|
|
+ String ssss = "";
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void teststs(Date nowDate, int acceptanceAssessTime, int maintenanceAssessTime, List<RepairShiftSettings> shiftDatas) throws ParseException {
|
|
|
String dateNow = "2023-08-03";
|
|
|
+ int isDuty = 0;
|
|
|
+ //下班之后或者值班接的单不考核 将报修工单中的is_duty改为1
|
|
|
//下班之后或者值班接的单不考核 将报修工单中的is_duty改为1
|
|
|
Date workTime = TimeExchange.StringToDate(dateNow + " " + shiftDatas.get(0).getEndTime() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
if (workTime.before(nowDate)) {
|
|
|
@@ -146,41 +225,28 @@ public class DelayedUtils {
|
|
|
Date endWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i).getEnd() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
//小于工作时间段的开始时间
|
|
|
- if (nowDate.before(startWorkTime) || nowDate.equals(startWorkTime)) {
|
|
|
- if (i == 0) {
|
|
|
- int minute = TimeExchange.getOffsetMinutes(nowDate, startWorkTime);
|
|
|
- int workMinte = TimeExchange.getOffsetMinutes(nowDate, endWorkTime);
|
|
|
- acceptanceAssessTime = acceptanceAssessTime + minute;
|
|
|
- acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 1);
|
|
|
- maintenanceAssessTime = maintenanceAssessTime + minute;
|
|
|
- maintenanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, maintenanceAssessTime, nowDate, dateNow, workMinte, i, 1);
|
|
|
- break;
|
|
|
- }
|
|
|
- else {
|
|
|
- Date lastEndWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i - 1).getEnd() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
- if (lastEndWorkTime.before(nowDate) || lastEndWorkTime.equals(nowDate)) {
|
|
|
- Date nextStartWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
- Date nextEndWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getEnd() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
- int minute = TimeExchange.getOffsetMinutes(nowDate, nextStartWorkTime);
|
|
|
- int workMinte = TimeExchange.getOffsetMinutes(nowDate, nextEndWorkTime);
|
|
|
- acceptanceAssessTime = acceptanceAssessTime + minute;
|
|
|
- acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, nextEndWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 2);
|
|
|
- maintenanceAssessTime = maintenanceAssessTime + minute;
|
|
|
- maintenanceAssessTime = DelayedUtils.addMinuteStart(tvs, nextEndWorkTime, maintenanceAssessTime, nowDate, dateNow, workMinte, i, 2);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ((startWorkTime.before(nowDate) || startWorkTime.equals(nowDate)) && (nowDate.before(endWorkTime) || endWorkTime.equals(nowDate))) {
|
|
|
+ if (nowDate.before(startWorkTime) || nowDate.equals(startWorkTime) && i == 0) {
|
|
|
+ //早上开始上班之前的单子
|
|
|
+ int minute = TimeExchange.getOffsetMinutes(nowDate, startWorkTime);
|
|
|
int workMinte = TimeExchange.getOffsetMinutes(nowDate, endWorkTime);
|
|
|
+ acceptanceAssessTime = acceptanceAssessTime + minute;
|
|
|
acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 1);
|
|
|
+ maintenanceAssessTime = maintenanceAssessTime + minute;
|
|
|
maintenanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, maintenanceAssessTime, nowDate, dateNow, workMinte, i, 1);
|
|
|
+ System.out.println("时间:"+TimeExchange.DateToString(nowDate)+"acc:"+acceptanceAssessTime+"main:"+maintenanceAssessTime);
|
|
|
break;
|
|
|
- } else {
|
|
|
- Date sdsfds = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
- if ((endWorkTime.before(nowDate) || endWorkTime.equals(nowDate)) &&
|
|
|
- (nowDate.before(TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss"))
|
|
|
- || nowDate.equals(TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss")))) {
|
|
|
- Date nextStartWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
+ } else if ((startWorkTime.before(nowDate) || startWorkTime.equals(nowDate)) && (nowDate.before(endWorkTime) || nowDate.equals(endWorkTime))) {
|
|
|
+ //工作时间段内的单子
|
|
|
+ int workMinte = TimeExchange.getOffsetMinutes(nowDate, endWorkTime);
|
|
|
+ acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 1);
|
|
|
+ maintenanceAssessTime = DelayedUtils.addMinuteStart(tvs, endWorkTime, maintenanceAssessTime, nowDate, dateNow, workMinte, i, 1);
|
|
|
+ System.out.println("时间:"+TimeExchange.DateToString(nowDate)+"acc:"+acceptanceAssessTime+"main:"+maintenanceAssessTime);
|
|
|
+ break;
|
|
|
+
|
|
|
+ } else{
|
|
|
+ //非工作时间段的单子
|
|
|
+ Date nextStartWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getStart() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
+ if ((endWorkTime.before(nowDate) || endWorkTime.equals(nowDate)) && (nowDate.before(nextStartWorkTime) || nowDate.equals(nextStartWorkTime))) {
|
|
|
Date nextEndWorkTime = TimeExchange.StringToDate(dateNow + " " + tvs.get(i + 1).getEnd() + ":00", "yyyy-MM-dd HH:mm:ss");
|
|
|
int minute = TimeExchange.getOffsetMinutes(nowDate, nextStartWorkTime);
|
|
|
int workMinte = TimeExchange.getOffsetMinutes(nowDate, nextEndWorkTime);
|
|
|
@@ -188,6 +254,7 @@ public class DelayedUtils {
|
|
|
acceptanceAssessTime = DelayedUtils.addMinuteStart(tvs, nextEndWorkTime, acceptanceAssessTime, nowDate, dateNow, workMinte, i, 2);
|
|
|
maintenanceAssessTime = maintenanceAssessTime + minute;
|
|
|
maintenanceAssessTime = DelayedUtils.addMinuteStart(tvs, nextEndWorkTime, maintenanceAssessTime, nowDate, dateNow, workMinte, i, 2);
|
|
|
+ System.out.println("时间:"+TimeExchange.DateToString(nowDate)+"acc:"+acceptanceAssessTime+"main:"+maintenanceAssessTime);
|
|
|
break;
|
|
|
}
|
|
|
}
|