Commit 56067a6c by 罗胜

2022-03-24 罗胜

1.油量分析增加获取飞行计划接口睡觉
2.航班执行期监控增加A321neo机型
parent 91606b28
......@@ -44,7 +44,7 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.7</version>
<version>1.2.76</version>
</dependency>
<dependency>
......@@ -72,9 +72,11 @@
<artifactId>slf4j-jdk14</artifactId>
<version>1.8.0-beta4</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.6.6</version>
</dependency>
</dependencies>
<build>
<plugins>
......@@ -104,7 +106,7 @@
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.foc.DspReleaseInfoTask</mainClass>
<mainClass>com.foc.StatisticalTask</mainClass>
</transformer>
</transformers>
</configuration>
......
......@@ -42,5 +42,7 @@ public class DspReleaseInfoTask {
dates.add(LocalDate.now());
}
DspReleaseInfoService.addInfo(dates);
DspReleaseInfoService.addPltPlan(dates.get(0).plusDays(-1));
// DspReleaseInfoService.addHistoryPltPlan();
}
}
......@@ -2,6 +2,7 @@ package com.foc.dao;
import com.foc.entity.DspReleaseInfo;
import com.foc.entity.Dynamics;
import com.foc.entity.FlightPlan;
import com.foc.entity.StatisticalEntity;
import org.apache.ibatis.annotations.Param;
......@@ -88,6 +89,13 @@ public interface StatisticalDao {
void insertDspReleaseInfo(List<DspReleaseInfo> list);
/**
* 批量新增飞行计划
*
* @param list
*/
void insertFltPlanInfo(List<FlightPlan> list);
/**
* 测试批量新增或修改
*
* @param list
......@@ -146,7 +154,7 @@ public interface StatisticalDao {
* @param acNo
* @return
*/
String selectAcTypeNameByAcNo(@Param(value="acNo") String acNo);
String selectAcTypeNameByAcNo(@Param(value="acNo") String acNo,@Param("year") int year);
/**
* 根据三字码获取四字码
......@@ -154,4 +162,7 @@ public interface StatisticalDao {
* @return
*/
String selectIcaoIdByTataId(@Param(value="iataId")String iataId);
List<DspReleaseInfo> selectReleaseInfoByDate(@Param("startTime") String startTime,@Param("endTime") String endTime);
}
......@@ -12,6 +12,8 @@ import java.util.Date;
@Data
public class DspReleaseInfo {
private Integer id;
private String sendTime;
private String flightNo;
......@@ -71,4 +73,15 @@ public class DspReleaseInfo {
private String arrIcaoId;
private String depIcaoId;
private String extraOilConclusion;
private String extraOilFuelReasonNew;
private String arrAltIataId;
private String flightTime;
//源系统签派放行ID
// private String orgDispatchInfoId;
}
package com.foc.entity;
import lombok.Data;
import java.util.Date;
/**
* @author ls
* @date 2022-02-28 14:37
*/
@Data
public class FlightPlan {
private String flightNo;
private String std;
private String depIataId;
private String arrIataId;
private String cfpFlag;
private Integer takeoffWeight;
private Integer landingWeight;
private Integer payloadWeight;
private Integer zeroFuel;
private Integer kalCargoLoad;
private Integer maximumFuelCapacity;
private Integer total;
private String totalTime;
private Integer trip;
private String tripTime;
private Integer tripDist;
private String arrivalTime;
private Integer alternateFuel;
private String alternateTime;
private Integer alternateDist;
private Integer taxiOut;
private String taxiOutTime;
private Integer hold;
private Integer reserve;
private String reserveTime;
private Integer extra;
private String extraTime;
private Integer limitingTakeoffWeight;
private Integer limitingLandingWeight;
private String customExtraTime;
private Integer etop;
private String etopTime;
private Integer planLeftOver;
private Date createDate;
private Date updateDate;
private Integer dynamicsStaId;
}
package com.foc.entity;
import lombok.Data;
/**
*
* @Author luos
* @Date 2022/2/25 15:22
**/
@Data
public class FltPLanInfo {
//飞行计划XML内容
private String planContentsXml;
//起飞地三字码
private String depIataId;
//目的地三字码
private String arrIataId;
//ODS更新时间
private String updatedTime;
//ODS创建时间
private String createdTime;
private String id;
//签派放行信息ID
private String dispatchInfoId;
//计划起飞时间(北京时间)
private String std;
//航班号
private String flightNo;
//飞行计划XML(国际二放)
private String recPlanContentsXml;
//CFP 标志
private String cfpFlag;
}
......@@ -71,14 +71,13 @@ public class DynamicFlightService {
return verifyAcTypes;
}
public static void
sta() {
public static void sta() {
StatisticalDao dao = session.getMapper(StatisticalDao.class);
//总机型集合
List<String> verifyAcTypes = getVerifyAcType();
//获取航班动态表中所有航班性质为A,J,G,状态不为CNL,子机型为319/A320,321,320neo,330的航线的最后一班时间
//String date = DateUtils.getLastDate();
//获取航班动态表中所有航班性质为A,J,G,状态不为CNL,子机型为319/A320,321,320neo,330,321neo的航线的最后一班时间
// String date = DateUtils.getLastDate();
String date=DateUtils.getTime("yyyy-MM-dd 23:59:59");
List<StatisticalEntity> list = dao.getFlightList(date);
List<StatisticalEntity> slist = new ArrayList<>();
......@@ -175,4 +174,6 @@ public class DynamicFlightService {
session.close();
}
}
......@@ -26,7 +26,7 @@ toEmail=zangtao@bbdtek.com
#,lisu@bbdtek.com
#lisu@bbdtek.com
fromName=sdhkxxaq
verifyAcType=A319/A320,A321,A320neo,A330
verifyAcType=A319/A320,A320neo,A321,321neo,A330
#uat
#esb.security.account=JD_FOCIMC_UAT
#esb.security.key=SkRfRk9DSU1DX1VBVA0ODw==
......
......@@ -75,8 +75,8 @@
left join foc_airline_verify a on a.id = sc.verif_id
left join foc_aircraft_type b on a.aircraft_type = b.id
where a.verif_type in ('01','02','03','04') AND a.del_flag = 0 AND (a.flight_type='01' or a.flight_type='02' or
a.flight_type='03')
and a.depIata=#{entity.depIata} and a.arrIata=#{entity.arrIata} and b.del_flag=0
a.flight_type='03') and ((a.depIata=#{entity.depIata} and a.arrIata=#{entity.arrIata})
or (a.depIata=#{entity.arrIata } and a.arrIata=#{entity.depIata})) and b.del_flag=0 and 180-TIMESTAMPDIFF(DAY,a.start_time,CURRENT_TIMESTAMP)>0
<choose>
<when test="verifyAcType=='A319/A320'">
and upper(b.type_name) like concat(upper(#{verifyAcType}),'%')
......@@ -85,6 +85,7 @@
and upper(b.type_name) = upper(#{verifyAcType})
</otherwise>
</choose>
order by sc.create_date desc limit 1
</select>
......@@ -125,14 +126,15 @@
ffd.flight_no
</select>
<insert id="insertDspReleaseInfo" parameterType="java.util.List">
INSERT INTO foc_flight_dynamics_sta ( send_time, flight_no, std, ac_no, dep_iata_id, arr_iata_id, total_oil, dispatcher_name, extra_oil_fuel_reason, e_e_t, weight_unit
<insert id="insertDspReleaseInfo" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
INSERT INTO foc_flight_dynamics_sta (id, send_time, flight_no, std, ac_no, dep_iata_id, arr_iata_id, total_oil,
dispatcher_name, extra_oil_fuel_reason, e_e_t, weight_unit
, update_time,create_date,update_date, del_flag
,airline_oil,remark_msg,alt1_fuel,alt1_time,alt1_distance,alt2_fuel,alt2_time,alt2_distance,cruising_altitude,
dep_air_port_name,arr_air_port_name,dispatcher_account,ac_type_name,arr_icao_id,dep_icao_id)
dep_air_port_name,arr_air_port_name,dispatcher_account,ac_type_name,arr_icao_id,dep_icao_id,extra_oil_fuel_reason_new,extra_oil_conclusion,arr_alt_iata_id,flight_time)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
(null,
#{item.sendTime}
, #{item.flightNo}
, #{item.std}
......@@ -163,6 +165,10 @@
, #{item.acTypeName}
, #{item.arrIcaoId}
, #{item.depIcaoId}
, #{item.extraOilFuelReasonNew}
, #{item.extraOilConclusion}
, #{item.arrAltIataId}
, #{item.flightTime}
)
</foreach>
ON DUPLICATE KEY UPDATE
......@@ -175,7 +181,8 @@
</insert>
<insert id="insertDspReleaseInfo1" parameterType="java.util.List">
INSERT INTO foc_flight_dynamics_sta ( send_time, flight_no, std, ac_no, dep_iata_id, arr_iata_id, total_oil, dispatcher_name, extra_oil_fuel_reason, e_e_t, weight_unit, update_time,create_date,update_date, del_flag )
INSERT INTO foc_flight_dynamics_sta ( send_time, flight_no, std, ac_no, dep_iata_id, arr_iata_id, total_oil,
dispatcher_name, extra_oil_fuel_reason, e_e_t, weight_unit, update_time,create_date,update_date, del_flag )
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
......@@ -236,6 +243,59 @@
, stc = values(stc)
</insert>
<insert id="insertFltPlanInfo" parameterType="java.util.List">
INSERT INTO foc_flight_plan ( flight_no, std, dep_iata_id, arr_iata_id, cfp_flag,takeoff_weight,landing_weight,
payload_weight,zero_fuel,kal_cargo_load,
maximum_fuel_capacity,total,total_time,trip,trip_time,trip_dist,arrival_time,alternate_fuel,alternate_time,alternate_dist,
taxi_out,taxi_out_time, `hold`,
etop, etop_time,plan_left_over,reserve,reserve_time,extra,extra_time,custom_extra_time,limiting_takeoff_weight,limiting_landing_weight
, update_date,create_date,dynamics_sta_id)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(
#{item.flightNo}
, #{item.std}
, #{item.depIataId}
, #{item.arrIataId}
, #{item.cfpFlag}
,#{item.takeoffWeight}
,#{item.landingWeight}
,#{item.payloadWeight}
,#{item.zeroFuel}
,#{item.kalCargoLoad}
,#{item.maximumFuelCapacity}
, #{item.total}
,#{item.totalTime}
, #{item.trip}
,#{item.tripTime}
,#{item.tripDist}
,#{item.arrivalTime}
,#{item.alternateFuel}
,#{item.alternateTime}
,#{item.alternateDist}
, #{item.taxiOut}
, #{item.taxiOutTime}
, #{item.hold}
, #{item.etop}
, #{item.etopTime}
, #{item.planLeftOver}
, #{item.reserve}
, #{item.reserveTime}
, #{item.extra}
, #{item.extraTime}
, #{item.customExtraTime}
, #{item.limitingTakeoffWeight}
, #{item.limitingLandingWeight}
, #{item.updateDate}
, #{item.createDate}
, #{item.dynamicsStaId}
)
</foreach>
</insert>
<select id="getFromBackUp" parameterType="com.foc.entity.StatisticalEntity" resultType="string">
select datop_chn
from foc_flight_dynamics_backup
......@@ -259,10 +319,13 @@
</select>
<select id="selectAcTypeNameByAcNo" resultType="java.lang.String">
select IFNULL(verify_ac_type,'') from foc_ac_type_oil where ac_no=#{acNo}
select IFNULL(verify_ac_type,'') from foc_ac_type_oil where ac_no=#{acNo} and year=#{year}
</select>
<select id="selectIcaoIdByTataId" resultType="java.lang.String">
select airport_icao from foc_airports where airport_iata=#{iataId}
</select>
<select id="selectReleaseInfoByDate" resultType="com.foc.entity.DspReleaseInfo">
select * from foc_flight_dynamics_sta where std BETWEEN #{startTime} and #{endTime}
</select>
</mapper>
\ No newline at end of file
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