Commit 0bf31657 authored by chenzhao's avatar chenzhao

统计当前时间班次内随车人员数量

parent 74af40cf
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.common.api.dto.DutyPersonShiftDto;
import com.yeejoin.amos.boot.module.common.api.dto.DutyShiftDto;
import com.yeejoin.amos.boot.module.common.api.entity.DutyShift;
import com.yeejoin.amos.boot.module.common.api.mapper.DutyShiftMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.paho.client.mqttv3.MqttException;
......@@ -129,6 +131,8 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
@Autowired
private AircraftServiceImpl aircraftServiceImpl;
@Autowired
private DutyShiftMapper dutyShiftMapper;
@Override
public PowerTransferSimpleDto getPowerTransferList(Long alertCalledId) {
......@@ -295,11 +299,58 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
}
if (fireCarDto.getId() != null) {
int num = 0;
num = iDutyCarService.getDutyCarCount(Long.valueOf(fireCarDto.getId()));
fireCarDto.setPersonCount(num);
try {
int num;
String todayTime = DateUtils.getDateNowShortStr();
String beginDate = todayTime;
beginDate = beginDate + " 00:00:00";
String endDate = todayTime;
endDate = endDate + " 23:59:59";
LambdaQueryWrapper<DutyShift> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BaseEntity::getIsDelete,false);
List<DutyShift> dutyShifts = dutyShiftMapper.selectList(wrapper);
String[] dutyShiftName = {" "};
dutyShifts.forEach(e->{
String startTime = e.getStartTime();
Date startDate = null;
Date dateEnd = null;
if (startTime.startsWith("当日:")){
String resultTime = startTime.replace("当日:", todayTime)+":00";
startDate = DateUtils.longStr2Date(resultTime);
}else if (startTime.startsWith("次日:")){
Date dateNow = DateUtils.getDateNow();
Date date = DateUtils.dateAddDays(dateNow, 1);
String s = DateUtils.convertDateToString(date, DateUtils.DATE_PATTERN);
String resultTime = startTime.replace("次日:", s)+":00";
startDate = DateUtils.longStr2Date(resultTime);
}
String endTime = e.getEndTime();
if (endTime.startsWith("当日:")){
String resultTime = endTime.replace("当日:", todayTime)+":00";
dateEnd = DateUtils.longStr2Date(resultTime);
}else if (endTime.startsWith("次日:")){
Date dateNow = DateUtils.getDateNow();
Date date = DateUtils.dateAddDays(dateNow, 1);
String s = DateUtils.convertDateToString(date, DateUtils.DATE_PATTERN);
String resultTime =endTime.replace("次日:",s)+":00";
dateEnd = DateUtils.longStr2Date(resultTime);
}
if (DateUtils.belongCalendar(DateUtils.getDateNow(),startDate,dateEnd)) {
dutyShiftName[0] = dutyShiftName[0].replace(" ", e.getName());
}
});
List<Map<String, Object>> list = iDutyCarService.list(null, beginDate, endDate);
num = (int) list.stream().filter(e -> e.get("carId").equals(fireCarDto.getId()) && ((List<DutyPersonShiftDto>) e.get("dutyShift")).get(0).getShiftName().equals(dutyShiftName[0])).count();
fireCarDto.setPersonCount(num);
} catch (ParseException e) {
e.printStackTrace();
}
}
fireCarDtoList.add(fireCarDto);
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment