|
@@ -1,6 +1,8 @@
|
|
|
package org.jeecg.modules.api.imf.msg;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.common.util.SpringContextUtils;
|
|
@@ -40,53 +42,64 @@ public class DepeImfMsg extends ImfMsgAbstract {
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void handle() {
|
|
|
- // 根据起飞时间将机位置为空置,注意起飞时AFID是原FLID
|
|
|
+ // 根据起飞时间将机位置为空置,注意起飞时FLID是原进站的AFID
|
|
|
String FLID = getStrVal("/MSG/DFLT/FLID");
|
|
|
//起飞时间 20230619112000
|
|
|
String FRTT = getStrVal("/MSG/DFLT/FRTT");
|
|
|
Date date = strToDate(FRTT);
|
|
|
if (date != null) {
|
|
|
// 已经起飞
|
|
|
- LambdaQueryWrapper<AdminAircraftPosition> adminAircraftPositionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- adminAircraftPositionLambdaQueryWrapper.eq(AdminAircraftPosition::getFlightAfid, FLID);
|
|
|
- AdminAircraftPosition adminAircraftPosition = getAdminAircraftPositionService().getOne(adminAircraftPositionLambdaQueryWrapper);
|
|
|
- if (adminAircraftPosition != null) {
|
|
|
- log.info("航班已经起飞:{}", adminAircraftPosition);
|
|
|
- // 设置为空置
|
|
|
- getAdminAircraftPositionService().dept(adminAircraftPosition.getId());
|
|
|
- // 设置计划已经起飞
|
|
|
- AdminDfdlList adminDfdlList = new AdminDfdlList();
|
|
|
- adminDfdlList.setFfid(FLID);
|
|
|
- adminDfdlList.setArrival(1);
|
|
|
- updateAdminDfdl(adminDfdlList);
|
|
|
+ depeHandle(FLID, date);
|
|
|
|
|
|
- //还有改订单状态 删除安检信息
|
|
|
- LambdaQueryWrapper<AdminOrder> adminOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- adminOrderLambdaQueryWrapper.eq(AdminOrder::getFlightAfid, FLID);
|
|
|
- adminOrderLambdaQueryWrapper.ne(AdminOrder::getType, "交接结束");
|
|
|
- List<AdminOrder> list1 = adminOrderService.list(adminOrderLambdaQueryWrapper);
|
|
|
- if (list1.size() != 0) {
|
|
|
- for (int i = 0; i < list1.size(); i++) {
|
|
|
- AdminOrder adminOrder = new AdminOrder();
|
|
|
- adminOrder.setId(list1.get(i).getId());
|
|
|
- adminOrder.setType("交接结束");
|
|
|
- adminOrder.setQifeiTime(date);
|
|
|
- adminOrderService.updateById(adminOrder);
|
|
|
- }
|
|
|
- }
|
|
|
- //删安检
|
|
|
- LambdaQueryWrapper<AdminSecurityCheck> adminSecurityCheckLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- adminSecurityCheckLambdaQueryWrapper.eq(AdminSecurityCheck::getFlightAfid, FLID);
|
|
|
- List<AdminSecurityCheck> list = adminSecurityCheckService.list(adminSecurityCheckLambdaQueryWrapper);
|
|
|
- if (list.size() != 0) {
|
|
|
- List<String> ids = list.stream()
|
|
|
- .map(AdminSecurityCheck::getId)
|
|
|
- .collect(Collectors.toList());
|
|
|
- adminSecurityCheckService.removeByIds(ids);
|
|
|
+ public void depeHandle(String FLID, Date date) {
|
|
|
+ LambdaQueryWrapper<AdminDfdlList> adminDfkQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ adminDfkQueryWrapper.eq(AdminDfdlList::getAfid, FLID);
|
|
|
+ AdminDfdlList one = getAdminDfdlListService().getOne(adminDfkQueryWrapper);
|
|
|
+ if (one == null) {
|
|
|
+ log.info("计划中没有此航班的起飞航班,afid/flid:{}", FLID);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<AdminAircraftPosition> adminAircraftPositionLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ adminAircraftPositionLambdaQueryWrapper.eq(AdminAircraftPosition::getFlightSole, String.valueOf(one.getFlid()));
|
|
|
+ AdminAircraftPosition adminAircraftPosition = getAdminAircraftPositionService().getOne(adminAircraftPositionLambdaQueryWrapper);
|
|
|
+ if (adminAircraftPosition != null) {
|
|
|
+ log.info("航班已经起飞:{}", adminAircraftPosition);
|
|
|
+ // 设置为空置
|
|
|
+ getAdminAircraftPositionService().dept(adminAircraftPosition.getId());
|
|
|
+ // 设置计划已经起飞
|
|
|
+ AdminDfdlList adminDfdlList = new AdminDfdlList();
|
|
|
+ adminDfdlList.setFfid(FLID);
|
|
|
+ adminDfdlList.setArrival(1);
|
|
|
+ updateAdminDfdl(adminDfdlList);
|
|
|
+
|
|
|
+ //还有改订单状态 删除安检信息
|
|
|
+ LambdaQueryWrapper<AdminOrder> adminOrderLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+
|
|
|
+ adminOrderLambdaQueryWrapper.eq(AdminOrder::getFlightSole, adminAircraftPosition.getFlightSole());
|
|
|
+ adminOrderLambdaQueryWrapper.ne(AdminOrder::getType, "交接结束");
|
|
|
+ List<AdminOrder> list1 = adminOrderService.list(adminOrderLambdaQueryWrapper);
|
|
|
+ if (list1.size() != 0) {
|
|
|
+ for (int i = 0; i < list1.size(); i++) {
|
|
|
+ AdminOrder adminOrder = new AdminOrder();
|
|
|
+ adminOrder.setId(list1.get(i).getId());
|
|
|
+ adminOrder.setType("交接结束");
|
|
|
+ adminOrder.setQifeiTime(date);
|
|
|
+ adminOrderService.updateById(adminOrder);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ //删安检
|
|
|
+ LambdaQueryWrapper<AdminSecurityCheck> adminSecurityCheckLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ adminSecurityCheckLambdaQueryWrapper.eq(AdminSecurityCheck::getFlightSole, adminAircraftPosition.getFlightSole());
|
|
|
+ List<AdminSecurityCheck> list = adminSecurityCheckService.list(adminSecurityCheckLambdaQueryWrapper);
|
|
|
+ if (list.size() != 0) {
|
|
|
+ List<String> ids = list.stream()
|
|
|
+ .map(AdminSecurityCheck::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ adminSecurityCheckService.removeByIds(ids);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|