Commit a64427a9 authored by chenhao's avatar chenhao

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents a90ab0b5 b7a284c3
...@@ -9,9 +9,11 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; ...@@ -9,9 +9,11 @@ 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.DutyPersonShiftDto;
import com.yeejoin.amos.boot.module.common.api.dto.DutyShiftDto; 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.entity.DutyShift;
import com.yeejoin.amos.boot.module.common.api.mapper.DutyPersonShiftMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.DutyShiftMapper; import com.yeejoin.amos.boot.module.common.api.mapper.DutyShiftMapper;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.velocity.runtime.directive.Break;
import org.eclipse.paho.client.mqttv3.MqttException; import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -111,6 +113,9 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe ...@@ -111,6 +113,9 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
@Autowired @Autowired
private EmqKeeper emqKeeper; private EmqKeeper emqKeeper;
@Autowired
DutyPersonShiftMapper dutyPersonShiftMapper;
@Value("${mqtt.topic.command.power.deployment}") @Value("${mqtt.topic.command.power.deployment}")
private String topic; private String topic;
...@@ -299,57 +304,103 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe ...@@ -299,57 +304,103 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
} }
if (fireCarDto.getId() != null) { if (fireCarDto.getId() != null) {
try { List<Map<String,String>> resultList = new ArrayList<>();
int num;
String todayTime = DateUtils.getDateNowShortStr(); String dutyDay = DateUtils.getDateNowShortStr();
String beginDate = todayTime; Map<String, Object> instanceMap = dutyPersonShiftMapper.getInstanceIdForSpecifyDateAndEquipment(dutyDay,
beginDate = beginDate + " 00:00:00"; "dutyCar", fireCarDto.getId());
String endDate = todayTime;
endDate = endDate + " 23:59:59"; if (instanceMap != null){
LambdaQueryWrapper<DutyShift> wrapper = new LambdaQueryWrapper<>(); String instanceId = instanceMap.get("instanceIds").toString();
wrapper.eq(BaseEntity::getIsDelete,false); if (StringUtils.isNotBlank(instanceId)) {
List<DutyShift> dutyShifts = dutyShiftMapper.selectList(wrapper); String[] instanceIds = instanceId.split(",");
List<Map<String, Object>> dutyList = dutyPersonShiftMapper.getDutyForSpecifyDate(dutyDay);
String[] dutyShiftName = {" "}; if(dutyList!=null && dutyList.size()>0) {
for (Map<String, Object> dutyDetail : dutyList) {
dutyShifts.forEach(e->{ if(!dutyDetail.containsKey("name")) {
String startTime = e.getStartTime(); continue;
Date startDate = null; }
Date dateEnd = null; // 获取当前装备ID下的排版数据
if (startTime.startsWith("当日:")){ List<Map<String, Object>> specifyDateList = dutyPersonShiftMapper.getPositionStaffDutyForSpecifyDate(dutyDay,
String resultTime = startTime.replace("当日:", todayTime)+":00"; "dutyCar", instanceIds,dutyDetail.get("name").toString());
startDate = DateUtils.longStr2Date(resultTime); if(specifyDateList==null || specifyDateList.size() < 1 || specifyDateList.get(0)==null) {
}else if (startTime.startsWith("次日:")){ continue;
Date dateNow = DateUtils.getDateNow(); }
Date date = DateUtils.dateAddDays(dateNow, 1); LinkedHashMap<String, String> infoMap_1 =new LinkedHashMap<String, String>();
String s = DateUtils.convertDateToString(date, DateUtils.DATE_PATTERN); for (Map<String, Object> specify : specifyDateList) {
String resultTime = startTime.replace("次日:", s)+":00"; //
startDate = DateUtils.longStr2Date(resultTime); if(specify.containsKey("userName")&& specify.get("userName")!=null ) {
}
String endTime = e.getEndTime(); if (specify.get("userName").toString().contains(",")){
if (endTime.startsWith("当日:")){ String[] userNames = specify.get("userName").toString().split(",");
String resultTime = endTime.replace("当日:", todayTime)+":00"; infoMap_1.put(dutyDetail.get("name").toString(),userNames.length+"");
dateEnd = DateUtils.longStr2Date(resultTime); }else {
}else if (endTime.startsWith("次日:")){ infoMap_1.put(dutyDetail.get("name").toString(),"1");
Date dateNow = DateUtils.getDateNow(); }
Date date = DateUtils.dateAddDays(dateNow, 1); resultList.add(infoMap_1);
String s = DateUtils.convertDateToString(date, DateUtils.DATE_PATTERN); }
String resultTime =endTime.replace("次日:",s)+":00"; }
dateEnd = DateUtils.longStr2Date(resultTime); }
} }
}
}
int num = 0;
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)) { if (DateUtils.belongCalendar(DateUtils.getDateNow(),startDate,dateEnd)) {
dutyShiftName[0] = dutyShiftName[0].replace(" ", e.getName()); dutyShiftName[0] = dutyShiftName[0].replace(" ", e.getName());
} }
});
if (resultList != null ){
resultList.forEach(e->{
if (e.containsKey( dutyShiftName[0])) {
String personNum = e.get(dutyShiftName[0]);
fireCarDto.setPersonCount(Integer.valueOf(personNum));
}
}); });
}else {
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); fireCarDto.setPersonCount(num);
} catch (ParseException e) {
e.printStackTrace();
} }
} }
fireCarDtoList.add(fireCarDto); 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