Commit 5510658b by java-李谡

开发航线监控定时

parent 4d064360
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
<transformers> <transformers>
<transformer <transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.foc.DbSoundsMonitorTask</mainClass> <mainClass>com.foc.StatisticalTask</mainClass>
</transformer> </transformer>
</transformers> </transformers>
</configuration> </configuration>
......
...@@ -11,19 +11,20 @@ import java.util.List; ...@@ -11,19 +11,20 @@ import java.util.List;
public interface StatisticalDao { public interface StatisticalDao {
/** /**
* 获取所有类型为J,状态为ATA的航线 * 获取所有类型为J,状态为ATA的航线
* * @param date
* @return * @return
*/ */
List<StatisticalEntity> getFlightList(); List<StatisticalEntity> getFlightList(String date);
/** /**
* 根据起飞地和到达地获取航线最近时间 * 根据起飞地和到达地获取航线最近时间
* *
* @param entity * @param entity
* @param acTypes * @param acTypes
* @param date
* @return * @return
*/ */
String getFlightByDepAndArr(@Param(value = "entity") StatisticalEntity entity, @Param(value = "acTypes") List acTypes); String getFlightByDepAndArr(@Param(value = "entity") StatisticalEntity entity, @Param(value = "acTypes") List acTypes,@Param(value = "date") String date);
/** /**
* 根据论证机型获取小机型 * 根据论证机型获取小机型
......
...@@ -56,12 +56,13 @@ public class DynamicFlightService { ...@@ -56,12 +56,13 @@ public class DynamicFlightService {
List<String> verifyAcTypes = Arrays.asList(verifyAcType.split(",")); List<String> verifyAcTypes = Arrays.asList(verifyAcType.split(","));
StatisticalDao dao = session.getMapper(StatisticalDao.class); StatisticalDao dao = session.getMapper(StatisticalDao.class);
//获取航班动态表中所有航班性质为J,状态为ATA,机型为319/A320,321,320neo,330的航线的最后一班时间 //获取航班动态表中所有航班性质为J,状态为ATA,机型为319/A320,321,320neo,330的航线的最后一班时间
List<StatisticalEntity> list = dao.getFlightList(); String date = DateUtils.getLastDate();
List<StatisticalEntity> list = dao.getFlightList(date);
List<StatisticalEntity> slist = new ArrayList<>(); List<StatisticalEntity> slist = new ArrayList<>();
List<String> acTypes = dao.getLacTypesByVerifyAcTypes(verifyAcTypes); List<String> acTypes = dao.getLacTypesByVerifyAcTypes(verifyAcTypes);
list.forEach(e -> { list.forEach(e -> {
//获取该航线所有论证机型(319/A320,321,320neo,330)的最后执行时间(实际起飞时间) //获取该航线所有论证机型(319/A320,321,320neo,330)的最后执行时间(实际起飞时间)
String lastDate = dao.getFlightByDepAndArr(e, acTypes); String lastDate = dao.getFlightByDepAndArr(e, acTypes,date);
StatisticalEntity entity = new StatisticalEntity(); StatisticalEntity entity = new StatisticalEntity();
entity.setArrIata(e.getArrIata()); entity.setArrIata(e.getArrIata());
entity.setArrIataName(e.getArrIataName()); entity.setArrIataName(e.getArrIataName());
...@@ -78,7 +79,7 @@ public class DynamicFlightService { ...@@ -78,7 +79,7 @@ public class DynamicFlightService {
continue; continue;
} }
//获取该航线特定机型下的最后执行时间 //获取该航线特定机型下的最后执行时间
String acTypeLastTime = dao.getFlightByDepAndArr(e, lacTypes); String acTypeLastTime = dao.getFlightByDepAndArr(e, lacTypes,date);
if (StringUtils.isEmpty(acTypeLastTime)) { if (StringUtils.isEmpty(acTypeLastTime)) {
int count = dao.getSailingCommand(e, str); int count = dao.getSailingCommand(e, str);
//查询开航指令,有的话为可用 //查询开航指令,有的话为可用
......
...@@ -3,6 +3,8 @@ package com.foc.util; ...@@ -3,6 +3,8 @@ package com.foc.util;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.Calendar;
import java.util.Date;
/** /**
* @author lisu * @author lisu
...@@ -22,4 +24,13 @@ public class DateUtils { ...@@ -22,4 +24,13 @@ public class DateUtils {
SimpleDateFormat format = new SimpleDateFormat(formatType); SimpleDateFormat format = new SimpleDateFormat(formatType);
return format.format(System.currentTimeMillis()); return format.format(System.currentTimeMillis());
} }
public static String getLastDate(){
Calendar cal=Calendar.getInstance();
cal.add(Calendar.DATE,-1);
Date d=cal.getTime();
SimpleDateFormat sp=new SimpleDateFormat("yyyy-MM-dd");
String time =sp.format(d);
return time;
}
} }
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
WHERE WHERE
d.`status` = 'ATA' d.`status` = 'ATA'
AND d.`stc` = 'J' AND d.`stc` = 'J'
AND d.`atd` &lt;= #{date}
GROUP BY GROUP BY
d.dep_stn, d.dep_stn,
d.arr_stn d.arr_stn
...@@ -25,6 +26,9 @@ ...@@ -25,6 +26,9 @@
DATE_FORMAT(atd,'%Y/%m/%d') as lastAirlineTime DATE_FORMAT(atd,'%Y/%m/%d') as lastAirlineTime
from foc_flight_dynamics from foc_flight_dynamics
where dep_stn=#{entity.depIata} and arr_stn=#{entity.arrIata} where dep_stn=#{entity.depIata} and arr_stn=#{entity.arrIata}
and `status` = 'ATA'
AND `stc` = 'J'
AND `atd` &lt;= #{date}
and ac_type in and ac_type in
<foreach item="acType" collection="acTypes" separator="," open="(" close=")" index=""> <foreach item="acType" collection="acTypes" separator="," open="(" close=")" index="">
#{acType} #{acType}
......
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