Commit 7e1470db by java-李谡

提交测试

parent c7557997
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resource"/>
<classpathentry kind="src" path="lib"/>
<classpathentry kind="lib" path="lib/commons-codec-1.9.jar"/>
<classpathentry kind="lib" path="lib/commons-fileupload-1.2.2.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.0.1.jar"/>
<classpathentry kind="lib" path="lib/commons-lang3-3.3.2.jar"/>
<classpathentry kind="lib" path="lib/commons-logging-1.2.jar"/>
<classpathentry kind="lib" path="lib/druid-1.0.16.jar"/>
<classpathentry kind="lib" path="lib/fastjson-1.2.7.jar"/>
<classpathentry kind="lib" path="lib/httpclient-4.5.2.jar"/>
<classpathentry kind="lib" path="lib/httpcore-4.4.4.jar"/>
<classpathentry kind="lib" path="lib/httpmime-4.5.2.jar"/>
<classpathentry kind="lib" path="lib/mysql-connector-java-5.1.38.jar"/>
<classpathentry kind="lib" path="lib/log4j-1.2.17.jar"/>
<classpathentry kind="lib" path="lib/dom4j-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.7.13.jar"/>
<classpathentry kind="lib" path="lib/slf4j-log4j12-1.7.13.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_79"/>
<classpathentry kind="lib" path="lib/commons-dbutils-1.6.jar"/>
<classpathentry kind="lib" path="lib/commons-collections-3.2.1.jar"/>
<classpathentry kind="lib" path="lib/esdk_ec_native_professional_java.jar"/>
<classpathentry kind="lib" path="lib/gson-2.3.1.jar"/>
<classpathentry kind="lib" path="lib/ojdbc6.jar"/>
<classpathentry kind="lib" path="lib/jave-1.0.2.jar"/>
<classpathentry kind="lib" path="lib/msbase.jar"/>
<classpathentry kind="lib" path="lib/mssqlserver.jar"/>
<classpathentry kind="lib" path="lib/msutil.jar"/>
<classpathentry kind="lib" path="lib/sqljdbc4.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>foc-task-1.0</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
package com.foc.flightdynamics.service; package com.foc.flightdynamics.service;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.lang3.StringUtils;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.foc.conf.Constants; import com.foc.conf.Constants;
...@@ -27,13 +13,20 @@ import com.foc.util.DBHandler; ...@@ -27,13 +13,20 @@ import com.foc.util.DBHandler;
import com.foc.util.DBHelper; import com.foc.util.DBHelper;
import com.foc.util.DateUtil; import com.foc.util.DateUtil;
import com.foc.util.IdWorker; import com.foc.util.IdWorker;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.lang3.StringUtils;
import java.sql.SQLException;
import java.util.*;
public class FlightDynamicsService { public class FlightDynamicsService {
private QueryRunner run = null; private QueryRunner run = null;
private PushService service = new PushService(); private PushService service = new PushService();
public FlightDynamicsService() { public FlightDynamicsService() {
try { try {
this.run = new QueryRunner(DBHelper.getDataSource()); this.run = new QueryRunner(DBHelper.getDataSource());
...@@ -42,30 +35,32 @@ public class FlightDynamicsService { ...@@ -42,30 +35,32 @@ public class FlightDynamicsService {
e.printStackTrace(); e.printStackTrace();
} }
} }
public void finish(final Map<String, String> flightDates, final String modified){
public void finish(final Map<String, String> flightDates, final String modified) {
long startTime = System.nanoTime(); long startTime = System.nanoTime();
if(flightDates != null){ if (flightDates != null) {
for(String flightDate:flightDates.keySet()){ for (String flightDate : flightDates.keySet()) {
deleteLastDynamicsData(flightDate, modified); deleteLastDynamicsData(flightDate, modified);
} }
} }
long endTime = System.nanoTime(); long endTime = System.nanoTime();
long duration = endTime - startTime; long duration = endTime - startTime;
System.out.println("【FlightDynamicsService】【finish】处理时间:" + DateUtil.getDurationTime(duration)); System.out.println("【FlightDynamicsService】【finish】处理时间:" + DateUtil.getDurationTime(duration));
} }
public boolean deleteLastDynamicsData(final String flightDate, final String modified){
public boolean deleteLastDynamicsData(final String flightDate, final String modified) {
try { try {
if(StringUtils.isNotEmpty(flightDate)){ if (StringUtils.isNotEmpty(flightDate)) {
String insert = "INSERT INTO "+Constants.FOC_FLIGHT_DYNAMICS_HISTORY+" SELECT * FROM "+Constants.FOC_FLIGHT_DYNAMICS+" WHERE datop_chn=? AND modified !=?"; String insert = "INSERT INTO " + Constants.FOC_FLIGHT_DYNAMICS_HISTORY + " SELECT * FROM " + Constants.FOC_FLIGHT_DYNAMICS + " WHERE datop_chn=? AND modified !=?";
System.out.println(insert+"["+flightDate+","+modified+"]"); System.out.println(insert + "[" + flightDate + "," + modified + "]");
run.update(insert, flightDate, modified); run.update(insert, flightDate, modified);
String sql = "DELETE FROM "+Constants.FOC_FLIGHT_DYNAMICS+" WHERE datop_chn=? AND modified !=?"; String sql = "DELETE FROM " + Constants.FOC_FLIGHT_DYNAMICS + " WHERE datop_chn=? AND modified !=?";
System.out.println(sql+"["+flightDate+","+modified+"]"); System.out.println(sql + "[" + flightDate + "," + modified + "]");
int count = run.update(sql, flightDate, modified); int count = run.update(sql, flightDate, modified);
if(count>0) if (count > 0)
return true; return true;
} }
} catch (Exception e) { } catch (Exception e) {
...@@ -73,12 +68,14 @@ public class FlightDynamicsService { ...@@ -73,12 +68,14 @@ public class FlightDynamicsService {
} }
return false; return false;
} }
public String getStringValue(Object object, String want){
public String getStringValue(Object object, String want) {
if(object == null || StringUtils.isEmpty(String.valueOf(object)))
if (object == null || StringUtils.isEmpty(String.valueOf(object)))
return want; return want;
return String.valueOf(object); return String.valueOf(object);
} }
public void insertFlightDynamicsData(JSONObject result, final String modified, boolean dailyFlag, Map<String, String> flightDates) { public void insertFlightDynamicsData(JSONObject result, final String modified, boolean dailyFlag, Map<String, String> flightDates) {
// Date curDate = new Date(); // Date curDate = new Date();
// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); // DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
...@@ -96,32 +93,32 @@ public class FlightDynamicsService { ...@@ -96,32 +93,32 @@ public class FlightDynamicsService {
// } // }
// dailyFlag = true; // dailyFlag = true;
JSONObject dataJson = (JSONObject) result.get("data"); JSONObject dataJson = (JSONObject) result.get("data");
JSONArray jsonArray = (JSONArray) dataJson.get("apiResp"); JSONArray jsonArray = (JSONArray) dataJson.get("apiResp");
List<FlightDynamicsBean> flightDynamicsBeans = JSONObject.parseArray(jsonArray.toJSONString(), List<FlightDynamicsBean> flightDynamicsBeans = JSONObject.parseArray(jsonArray.toJSONString(),
FlightDynamicsBean.class); FlightDynamicsBean.class);
if (flightDynamicsBeans != null) { if (flightDynamicsBeans != null) {
// int index=0; // int index=0;
try { try {
int size = flightDynamicsBeans.size(); int size = flightDynamicsBeans.size();
for (int index=0;index<size;index++) { for (int index = 0; index < size; index++) {
// index++; // index++;
try { try {
FlightDynamicsBean flightDynamicsBean = flightDynamicsBeans.get(index); FlightDynamicsBean flightDynamicsBean = flightDynamicsBeans.get(index);
System.out.print("【DYNAMIC】第【"+(index+1)+"/"+size+"】条【"+flightDynamicsBean.getFlightNo()+"】【"+flightDynamicsBean.getDatopChn()+"】【"+flightDynamicsBean.getStatus()+"】"); System.out.print("【DYNAMIC】第【" + (index + 1) + "/" + size + "】条【" + flightDynamicsBean.getFlightNo() + "】【" + flightDynamicsBean.getDatopChn() + "】【" + flightDynamicsBean.getStatus() + "】");
mergeFlightDynamics(flightDynamicsBean, dailyFlag, modified); mergeFlightDynamics(flightDynamicsBean, dailyFlag, modified);
if(flightDates.get(flightDynamicsBean.getDatopChn()) == null){ if (flightDates.get(flightDynamicsBean.getDatopChn()) == null) {
flightDates.put(flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDatopChn()); flightDates.put(flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDatopChn());
} }
System.out.println("【正常】"); System.out.println("【正常】");
} catch (Exception e) { } catch (Exception e) {
// TODO: handle exception // TODO: handle exception
System.out.println("【异常】"); System.out.println("【异常】");
} }
} }
...@@ -132,69 +129,57 @@ public class FlightDynamicsService { ...@@ -132,69 +129,57 @@ public class FlightDynamicsService {
} }
} }
/**
* 同步数据到每日5点数据
* @param flightDynamicsBean
* @param dailyFlag
*/
// private void mergeFlightDailyDynamics(FlightDynamicsBean flightDynamicsBean, boolean dailyFlag) {
// // 是5点时间,有数据直接更新,没有数据直接插入
// if (existFlightDynamics(flightDynamicsBean.getFlightNo(),
// flightDynamicsBean.getDatop(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn(), Constants.FOC_FLIGHT_DYNAMICS_DAILY)) {
// if (dailyFlag) {
// updateFlightDynamics(flightDynamicsBean, Constants.FOC_FLIGHT_DYNAMICS_DAILY);
// }
// } else {
// insertFlightDynamics(flightDynamicsBean, Constants.FOC_FLIGHT_DYNAMICS_DAILY);
// }
// }
private void mergeFlightDynamics(FlightDynamicsBean flightDynamicsBean, boolean dailyFlag, final String modified) { private void mergeFlightDynamics(FlightDynamicsBean flightDynamicsBean, boolean dailyFlag, final String modified) {
// Map<MapType, FlightDynamicsEntity> flightDynamicsEntityMap = new HashMap<MapType, FlightDynamicsEntity>();
FlightDynamicsEntity flight = existFlightDynamics(flightDynamicsBean.getFlightNo(), FlightDynamicsEntity flight = existFlightDynamics(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn(), Constants.FOC_FLIGHT_DYNAMICS); flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn(), Constants.FOC_FLIGHT_DYNAMICS);
if (flight != null) { if (flight != null) {
String estStatus = this.getFlightEstStatus(flightDynamicsBean.getFlightNo(), String estStatus = this.getFlightEstStatus(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()); flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn());
if(StringUtils.isNotBlank(flight.getStatus())){ if (StringUtils.isNotBlank(flight.getStatus())) {
if(!"CNL".equals(estStatus) && "CNL".equals(flightDynamicsBean.getStatus())){// 航班取消了 // 航班取消了
if(flight.getStatus().equals(flightDynamicsBean.getStatus()) == false){// 上一个航班状态为非CNL if (!"CNL".equals(estStatus) && "CNL".equals(flightDynamicsBean.getStatus())) {
// 上一个航班状态为非CNL
if (flight.getStatus().equals(flightDynamicsBean.getStatus()) == false) {
List<FlightCrewListEntity> crewList = this.getFlightCrewList(flightDynamicsBean.getFlightNo(), List<FlightCrewListEntity> crewList = this.getFlightCrewList(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()); flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn());
if(crewList != null){ if (crewList != null) {
Map<String, String> payload = new HashMap<String, String>(); Map<String, String> payload = new HashMap<String, String>();
payload.put("flightNo", flightDynamicsBean.getFlightNo()); payload.put("flightNo", flightDynamicsBean.getFlightNo());
payload.put("depIata", flightDynamicsBean.getDepStn()); payload.put("depIata", flightDynamicsBean.getDepStn());
payload.put("arrIata", flightDynamicsBean.getArrStn()); payload.put("arrIata", flightDynamicsBean.getArrStn());
payload.put("flightDate", flightDynamicsBean.getDatopChn()); payload.put("flightDate", flightDynamicsBean.getDatopChn());
payload.put("lastStatus", flight.getStatus()); payload.put("lastStatus", flight.getStatus());
for(FlightCrewListEntity crew:crewList){ for (FlightCrewListEntity crew : crewList) {
UserNotifyEntity notify1 = new UserNotifyEntity(); UserNotifyEntity notify1 = new UserNotifyEntity();
notify1.setId(IdWorker.getNextId()); notify1.setId(IdWorker.getNextId());
notify1.setUserId(crew.getUserId());// 消息接受者用户ID(*必填) // 消息接受者用户ID(*必填)
notify1.setType("MS1003");// 消息类型(*必填) notify1.setUserId(crew.getUserId());
notify1.setTitle(flightDynamicsBean.getFlightNo()+"("+flight.getDepCityName()+"-"+flight.getArrCityName()+")航班取消了,请小伙伴们关注!");// 提示标题(*必填) // 消息类型(*必填)
notify1.setType("MS1003");
// 提示标题(*必填)
notify1.setTitle(flightDynamicsBean.getFlightNo() + "(" + flight.getDepCityName() + "-" + flight.getArrCityName() + ")航班取消了,请小伙伴们关注!");
service.sendPush(notify1, payload); service.sendPush(notify1, payload);
String[] userList = GConstants.getValue("send.push.user.list", "").split(";"); String[] userList = GConstants.getValue("send.push.user.list", "").split(";");
for (String userId:userList) { for (String userId : userList) {
if (StringUtils.isNotEmpty(userId)) {
if(StringUtils.isNotEmpty(userId)){
UserNotifyEntity notify2 = new UserNotifyEntity(); UserNotifyEntity notify2 = new UserNotifyEntity();
notify2.setId(IdWorker.getNextId()); notify2.setId(IdWorker.getNextId());
notify2.setUserId(crew.getUserId());// 消息接受者用户ID(*必填) // 消息接受者用户ID(*必填)
notify2.setType("MS1003");// 消息类型(*必填) notify2.setUserId(crew.getUserId());
notify2.setTitle(flightDynamicsBean.getFlightNo()+"("+flight.getDepCityName()+"-"+flight.getArrCityName()+")航班取消了,请小伙伴们关注!");// 提示标题(*必填) // 消息类型(*必填)
notify2.setType("MS1003");
// 提示标题(*必填)
notify2.setTitle(flightDynamicsBean.getFlightNo() + "(" + flight.getDepCityName() + "-" + flight.getArrCityName() + ")航班取消了,请小伙伴们关注!");
service.sendPush(notify2, payload); service.sendPush(notify2, payload);
} }
} }
...@@ -202,41 +187,44 @@ public class FlightDynamicsService { ...@@ -202,41 +187,44 @@ public class FlightDynamicsService {
} }
} }
} }
if("DEL".equals(flightDynamicsBean.getStatus())){// 航班延误了 // 航班延误了
if(flight.getStatus().equals(flightDynamicsBean.getStatus()) == false){// 上一个航班状态为非DEL if ("DEL".equals(flightDynamicsBean.getStatus())) {
// 上一个航班状态为非DEL
if (flight.getStatus().equals(flightDynamicsBean.getStatus()) == false) {
List<FlightCrewListEntity> crewList = this.getFlightCrewList(flightDynamicsBean.getFlightNo(), List<FlightCrewListEntity> crewList = this.getFlightCrewList(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()); flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn());
if(crewList != null){ if (crewList != null) {
Map<String, String> payload = new HashMap<String, String>(); Map<String, String> payload = new HashMap<String, String>();
payload.put("flightNo", flightDynamicsBean.getFlightNo()); payload.put("flightNo", flightDynamicsBean.getFlightNo());
payload.put("depIata", flightDynamicsBean.getDepStn()); payload.put("depIata", flightDynamicsBean.getDepStn());
payload.put("arrIata", flightDynamicsBean.getArrStn()); payload.put("arrIata", flightDynamicsBean.getArrStn());
payload.put("flightDate", flightDynamicsBean.getDatopChn()); payload.put("flightDate", flightDynamicsBean.getDatopChn());
payload.put("lastStatus", flight.getStatus()); payload.put("lastStatus", flight.getStatus());
for(FlightCrewListEntity crew:crewList){ for (FlightCrewListEntity crew : crewList) {
UserNotifyEntity notify = new UserNotifyEntity(); UserNotifyEntity notify = new UserNotifyEntity();
notify.setId(IdWorker.getNextId()); notify.setId(IdWorker.getNextId());
notify.setUserId(crew.getUserId());// 消息接受者用户ID(*必填) // 消息接受者用户ID(*必填)
notify.setType("MS1004");// 消息类型(*必填) notify.setUserId(crew.getUserId());
notify.setTitle(flightDynamicsBean.getFlightNo()+"("+flight.getDepCityName()+"-"+flight.getArrCityName()+")航班延误了,请小伙伴们关注!");// 提示标题(*必填) // 消息类型(*必填)
notify.setType("MS1004");
// 提示标题(*必填)
notify.setTitle(flightDynamicsBean.getFlightNo() + "(" + flight.getDepCityName() + "-" + flight.getArrCityName() + ")航班延误了,请小伙伴们关注!");
service.sendPush(notify, payload); service.sendPush(notify, payload);
String[] userList = GConstants.getValue("send.push.user.list", "").split(";"); String[] userList = GConstants.getValue("send.push.user.list", "").split(";");
for (String userId:userList) { for (String userId : userList) {
if (StringUtils.isNotEmpty(userId)) {
if(StringUtils.isNotEmpty(userId)){
notify = new UserNotifyEntity(); notify = new UserNotifyEntity();
notify.setId(IdWorker.getNextId()); notify.setId(IdWorker.getNextId());
notify.setUserId(crew.getUserId());// 消息接受者用户ID(*必填) // 消息接受者用户ID(*必填)
notify.setType("MS1003");// 消息类型(*必填) notify.setUserId(crew.getUserId());
notify.setTitle(flightDynamicsBean.getFlightNo()+"("+flight.getDepCityName()+"-"+flight.getArrCityName()+")航班取消了,请小伙伴们关注!");// 提示标题(*必填) // 消息类型(*必填)
notify.setType("MS1003");
// 提示标题(*必填)
notify.setTitle(flightDynamicsBean.getFlightNo() + "(" + flight.getDepCityName() + "-" + flight.getArrCityName() + ")航班取消了,请小伙伴们关注!");
service.sendPush(notify, payload); service.sendPush(notify, payload);
} }
} }
...@@ -247,24 +235,22 @@ public class FlightDynamicsService { ...@@ -247,24 +235,22 @@ public class FlightDynamicsService {
} }
System.out.print("【updateFlightDynamics】"); System.out.print("【updateFlightDynamics】");
updateFlightDynamics(flightDynamicsBean, estStatus, modified, Constants.FOC_FLIGHT_DYNAMICS); updateFlightDynamics(flightDynamicsBean, estStatus, modified, Constants.FOC_FLIGHT_DYNAMICS);
} else{ } else {
System.out.print("【insertFlightDynamics】"); System.out.print("【insertFlightDynamics】");
insertFlightDynamics(flightDynamicsBean, modified, Constants.FOC_FLIGHT_DYNAMICS); insertFlightDynamics(flightDynamicsBean, modified, Constants.FOC_FLIGHT_DYNAMICS);
} }
// String today = DateUtil.dateToStr(new Date(), DateUtil.DATE_FORMAT);
if (!dailyFlag) { if (!dailyFlag) {
return; return;
} }
Calendar calendar = new GregorianCalendar(); Calendar calendar = new GregorianCalendar();
calendar.add(Calendar.DATE, 1); calendar.add(Calendar.DATE, 1);
String tomorrow = DateUtil.dateToStr(calendar.getTime(), DateUtil.DATE_FORMAT); String tomorrow = DateUtil.dateToStr(calendar.getTime(), DateUtil.DATE_FORMAT);
if(tomorrow.equals(flightDynamicsBean.getDatopChn())){// 如果是明天的航班则需要插入数据 // 如果是明天的航班则需要插入数据
if (tomorrow.equals(flightDynamicsBean.getDatopChn())) {
flight = existFlightDynamics(flightDynamicsBean.getFlightNo(), flight = existFlightDynamics(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn(), Constants.FOC_EST_FLIGHT_DYNAMICS); flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn(), Constants.FOC_EST_FLIGHT_DYNAMICS);
// 如果数据不存在则添加一条数据 // 如果数据不存在则添加一条数据
if (flight == null) { if (flight == null) {
insertFlightDynamics(flightDynamicsBean, modified, Constants.FOC_EST_FLIGHT_DYNAMICS); insertFlightDynamics(flightDynamicsBean, modified, Constants.FOC_EST_FLIGHT_DYNAMICS);
} }
} }
...@@ -280,10 +266,11 @@ public class FlightDynamicsService { ...@@ -280,10 +266,11 @@ public class FlightDynamicsService {
columnMap.put("update_time", getStringValue(flightDynamicsBean.getUpdateTime(), null)); columnMap.put("update_time", getStringValue(flightDynamicsBean.getUpdateTime(), null));
columnMap.put("ata", getStringValue(flightDynamicsBean.getAta(), null)); columnMap.put("ata", getStringValue(flightDynamicsBean.getAta(), null));
columnMap.put("status", flightDynamicsBean.getStatus()); columnMap.put("status", flightDynamicsBean.getStatus());
// 实际航班添加计划航班状态
if(Constants.FOC_FLIGHT_DYNAMICS.equals(tableName)){// 实际航班添加计划航班状态 if (Constants.FOC_FLIGHT_DYNAMICS.equals(tableName)) {
// 航班计划状态
columnMap.put("est_status", this.getFlightEstStatus(flightDynamicsBean.getFlightNo(), columnMap.put("est_status", this.getFlightEstStatus(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()));// 航班计划状态 flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()));
} }
columnMap.put("etd", getStringValue(flightDynamicsBean.getEtd(), null)); columnMap.put("etd", getStringValue(flightDynamicsBean.getEtd(), null));
columnMap.put("arr_stn", flightDynamicsBean.getArrStn()); columnMap.put("arr_stn", flightDynamicsBean.getArrStn());
...@@ -301,23 +288,29 @@ public class FlightDynamicsService { ...@@ -301,23 +288,29 @@ public class FlightDynamicsService {
columnMap.put("is_stop_over", getStringValue(flightDynamicsBean.getIsStopOver(), null)); columnMap.put("is_stop_over", getStringValue(flightDynamicsBean.getIsStopOver(), null));
columnMap.put("eta_chn", getStringValue(flightDynamicsBean.getEtaChn(), null)); columnMap.put("eta_chn", getStringValue(flightDynamicsBean.getEtaChn(), null));
columnMap.put("atd", getStringValue(flightDynamicsBean.getAtd(), null)); columnMap.put("atd", getStringValue(flightDynamicsBean.getAtd(), null));
//std 计划起飞时间
columnMap.put("std", getStringValue(flightDynamicsBean.getStd(), null));//std 计划起飞时间 columnMap.put("std", getStringValue(flightDynamicsBean.getStd(), null));
columnMap.put("sta", getStringValue(flightDynamicsBean.getSta(), null));//sta 计划到达时间 //sta 计划到达时间
columnMap.put("std_chn", getStringValue(flightDynamicsBean.getStdChn(), null));//std_chn 计划起飞时间(北京时间) columnMap.put("sta", getStringValue(flightDynamicsBean.getSta(), null));
columnMap.put("sta_chn", getStringValue(flightDynamicsBean.getStaChn(), null));//sta_chn 计划到达时间(北京时间) //std_chn 计划起飞时间(北京时间)
columnMap.put("std_chn", getStringValue(flightDynamicsBean.getStdChn(), null));
//sta_chn 计划到达时间(北京时间)
columnMap.put("sta_chn", getStringValue(flightDynamicsBean.getStaChn(), null));
columnMap.put("ac_type", getStringValue(flightDynamicsBean.getAcType(), "")); columnMap.put("ac_type", getStringValue(flightDynamicsBean.getAcType(), ""));
columnMap.put("orig_ac_type", getStringValue(flightDynamicsBean.getOrigAcType(), "")); columnMap.put("orig_ac_type", getStringValue(flightDynamicsBean.getOrigAcType(), ""));
// 备降代码
columnMap.put("div_recode", getStringValue(flightDynamicsBean.getDivRecode(), ""));// 备降代码 columnMap.put("div_recode", getStringValue(flightDynamicsBean.getDivRecode(), ""));
columnMap.put("div_flag", getStringValue(flightDynamicsBean.getDivFlag(), ""));// 备降标识 // 备降标识
columnMap.put("leg_no", getStringValue(flightDynamicsBean.getLegNo(), ""));// 航段编号 "legNo": "100" 数据150表示备降200表示经停 columnMap.put("div_flag", getStringValue(flightDynamicsBean.getDivFlag(), ""));
// 航段编号 "legNo": "100" 数据150表示备降200表示经停
columnMap.put("delay1", getStringValue(flightDynamicsBean.getDelay1(), ""));// 第一次延误代码 columnMap.put("leg_no", getStringValue(flightDynamicsBean.getLegNo(), ""));
columnMap.put("dur1", getStringValue(flightDynamicsBean.getDur1(), ""));// 第一次延误时间 // 第一次延误代码
columnMap.put("delay1", getStringValue(flightDynamicsBean.getDelay1(), ""));
// 第一次延误时间
columnMap.put("dur1", getStringValue(flightDynamicsBean.getDur1(), ""));
columnMap.put("modified", modified); columnMap.put("modified", modified);
columnMap.put("stc", getStringValue(flightDynamicsBean.getStc(), "")); columnMap.put("stc", getStringValue(flightDynamicsBean.getStc(), ""));
columnMapList.add(columnMap); columnMapList.add(columnMap);
...@@ -325,7 +318,7 @@ public class FlightDynamicsService { ...@@ -325,7 +318,7 @@ public class FlightDynamicsService {
/** /**
* 单条插入,保证一条语句插入报错,还能往下执行 * 单条插入,保证一条语句插入报错,还能往下执行
*/ */
// System.out.print("【DYNAMIC】【insertFlightDynamics】【"+flightDynamicsBean.getFlightNo()+"】【"+flightDynamicsBean.getDatopChn()+"】"); // System.out.print("【DYNAMIC】【insertFlightDynamics】【"+flightDynamicsBean.getFlightNo()+"】【"+flightDynamicsBean.getDatopChn()+"】");
DBHandler dBHandler = new DBHandler(); DBHandler dBHandler = new DBHandler();
dBHandler.batchInsert(tableName, columnMapList); dBHandler.batchInsert(tableName, columnMapList);
...@@ -333,17 +326,17 @@ public class FlightDynamicsService { ...@@ -333,17 +326,17 @@ public class FlightDynamicsService {
/** /**
* 获取航班的计划状态 * 获取航班的计划状态
* *
* @author renmb
* @time 2016年10月31日
* @param flightNo * @param flightNo
* @param datopChn * @param datopChn
* @param depStn * @param depStn
* @param arrStn * @param arrStn
* @return * @return
* @author renmb
* @time 2016年10月31日
*/ */
public String getFlightEstStatus(String flightNo,String datopChn,String depStn, String arrStn){ public String getFlightEstStatus(String flightNo, String datopChn, String depStn, String arrStn) {
ResultSetHandler<List<FlightDynamicsEntity>> handler = new BeanListHandler<FlightDynamicsEntity>( ResultSetHandler<List<FlightDynamicsEntity>> handler = new BeanListHandler<FlightDynamicsEntity>(
FlightDynamicsEntity.class); FlightDynamicsEntity.class);
String query = "SELECT * FROM " + Constants.FOC_EST_FLIGHT_DYNAMICS + " WHERE flight_no=? AND datop_chn=? AND dep_stn=? AND arr_stn=?"; String query = "SELECT * FROM " + Constants.FOC_EST_FLIGHT_DYNAMICS + " WHERE flight_no=? AND datop_chn=? AND dep_stn=? AND arr_stn=?";
...@@ -353,7 +346,7 @@ public class FlightDynamicsService { ...@@ -353,7 +346,7 @@ public class FlightDynamicsService {
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
FlightDynamicsEntity flight = list.get(0); FlightDynamicsEntity flight = list.get(0);
if(StringUtils.isNotBlank(flight.getStatus())) if (StringUtils.isNotBlank(flight.getStatus()))
return flight.getStatus(); return flight.getStatus();
} }
} catch (SQLException e) { } catch (SQLException e) {
...@@ -362,6 +355,7 @@ public class FlightDynamicsService { ...@@ -362,6 +355,7 @@ public class FlightDynamicsService {
} }
return ""; return "";
} }
private void updateFlightDynamics(FlightDynamicsBean flightDynamicsBean, String estStatus, final String modified, String tableName) { private void updateFlightDynamics(FlightDynamicsBean flightDynamicsBean, String estStatus, final String modified, String tableName) {
DBHandler dBHandler = new DBHandler(); DBHandler dBHandler = new DBHandler();
...@@ -374,7 +368,7 @@ public class FlightDynamicsService { ...@@ -374,7 +368,7 @@ public class FlightDynamicsService {
columnMap.put("update_time", getStringValue(flightDynamicsBean.getUpdateTime(), null)); columnMap.put("update_time", getStringValue(flightDynamicsBean.getUpdateTime(), null));
columnMap.put("ata", getStringValue(flightDynamicsBean.getAta(), null)); columnMap.put("ata", getStringValue(flightDynamicsBean.getAta(), null));
columnMap.put("status", getStringValue(flightDynamicsBean.getStatus(), "")); columnMap.put("status", getStringValue(flightDynamicsBean.getStatus(), ""));
if(Constants.FOC_FLIGHT_DYNAMICS.equals(tableName)){// 实际航班添加计划航班状态 if (Constants.FOC_FLIGHT_DYNAMICS.equals(tableName)) {// 实际航班添加计划航班状态
columnMap.put("est_status", this.getFlightEstStatus(flightDynamicsBean.getFlightNo(), columnMap.put("est_status", this.getFlightEstStatus(flightDynamicsBean.getFlightNo(),
flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()));// 航班计划状态 flightDynamicsBean.getDatopChn(), flightDynamicsBean.getDepStn(), flightDynamicsBean.getArrStn()));// 航班计划状态
} }
...@@ -394,15 +388,15 @@ public class FlightDynamicsService { ...@@ -394,15 +388,15 @@ public class FlightDynamicsService {
columnMap.put("is_stop_over", getStringValue(flightDynamicsBean.getIsStopOver(), "")); columnMap.put("is_stop_over", getStringValue(flightDynamicsBean.getIsStopOver(), ""));
columnMap.put("eta_chn", getStringValue(flightDynamicsBean.getEtaChn(), null)); columnMap.put("eta_chn", getStringValue(flightDynamicsBean.getEtaChn(), null));
columnMap.put("atd", getStringValue(flightDynamicsBean.getAtd(), null)); columnMap.put("atd", getStringValue(flightDynamicsBean.getAtd(), null));
columnMap.put("std", getStringValue(flightDynamicsBean.getStd(), null));//std 计划起飞时间 columnMap.put("std", getStringValue(flightDynamicsBean.getStd(), null));//std 计划起飞时间
columnMap.put("sta", getStringValue(flightDynamicsBean.getSta(), null));//sta 计划到达时间 columnMap.put("sta", getStringValue(flightDynamicsBean.getSta(), null));//sta 计划到达时间
columnMap.put("std_chn", getStringValue(flightDynamicsBean.getStdChn(), null));//std_chn 计划起飞时间(北京时间) columnMap.put("std_chn", getStringValue(flightDynamicsBean.getStdChn(), null));//std_chn 计划起飞时间(北京时间)
columnMap.put("sta_chn", getStringValue(flightDynamicsBean.getStaChn(), null));//sta_chn 计划到达时间(北京时间) columnMap.put("sta_chn", getStringValue(flightDynamicsBean.getStaChn(), null));//sta_chn 计划到达时间(北京时间)
columnMap.put("ac_type", getStringValue(flightDynamicsBean.getAcType(), "")); columnMap.put("ac_type", getStringValue(flightDynamicsBean.getAcType(), ""));
columnMap.put("orig_ac_type", getStringValue(flightDynamicsBean.getOrigAcType(), "")); columnMap.put("orig_ac_type", getStringValue(flightDynamicsBean.getOrigAcType(), ""));
columnMap.put("div_recode", getStringValue(flightDynamicsBean.getDivRecode(), ""));// 备降代码 columnMap.put("div_recode", getStringValue(flightDynamicsBean.getDivRecode(), ""));// 备降代码
columnMap.put("div_flag", getStringValue(flightDynamicsBean.getDivFlag(), ""));// 备降标识 columnMap.put("div_flag", getStringValue(flightDynamicsBean.getDivFlag(), ""));// 备降标识
columnMap.put("leg_no", getStringValue(flightDynamicsBean.getLegNo(), ""));// 航段编号 "legNo": "100" 数据150表示备降200表示经停 columnMap.put("leg_no", getStringValue(flightDynamicsBean.getLegNo(), ""));// 航段编号 "legNo": "100" 数据150表示备降200表示经停
...@@ -410,9 +404,9 @@ public class FlightDynamicsService { ...@@ -410,9 +404,9 @@ public class FlightDynamicsService {
columnMap.put("delay1", getStringValue(flightDynamicsBean.getDelay1(), ""));// 第一次延误代码 columnMap.put("delay1", getStringValue(flightDynamicsBean.getDelay1(), ""));// 第一次延误代码
columnMap.put("dur1", getStringValue(flightDynamicsBean.getDur1(), ""));// 第一次延误时间 columnMap.put("dur1", getStringValue(flightDynamicsBean.getDur1(), ""));// 第一次延误时间
columnMap.put("modified", modified); columnMap.put("modified", modified);
columnMap.put("stc", getStringValue(flightDynamicsBean.getStc(), "")); columnMap.put("stc", getStringValue(flightDynamicsBean.getStc(), ""));
whereMap.put("flight_no", getStringValue(flightDynamicsBean.getFlightNo(), "")); whereMap.put("flight_no", getStringValue(flightDynamicsBean.getFlightNo(), ""));
whereMap.put("datop_chn", getStringValue(flightDynamicsBean.getDatopChn(), null)); whereMap.put("datop_chn", getStringValue(flightDynamicsBean.getDatopChn(), null));
whereMap.put("dep_stn", getStringValue(flightDynamicsBean.getDepStn(), "")); whereMap.put("dep_stn", getStringValue(flightDynamicsBean.getDepStn(), ""));
...@@ -423,7 +417,7 @@ public class FlightDynamicsService { ...@@ -423,7 +417,7 @@ public class FlightDynamicsService {
} }
public FlightDynamicsEntity existFlightDynamics(String flightNo, public FlightDynamicsEntity existFlightDynamics(String flightNo,
String datopChn, String depStn, String arrStn, String tableName) { String datopChn, String depStn, String arrStn, String tableName) {
ResultSetHandler<List<FlightDynamicsEntity>> handler = new BeanListHandler<FlightDynamicsEntity>( ResultSetHandler<List<FlightDynamicsEntity>> handler = new BeanListHandler<FlightDynamicsEntity>(
FlightDynamicsEntity.class); FlightDynamicsEntity.class);
// String query = "SELECT * FROM " + tableName + " WHERE flight_no=? AND datop_chn=? AND dep_stn=? AND arr_stn=?"; // String query = "SELECT * FROM " + tableName + " WHERE flight_no=? AND datop_chn=? AND dep_stn=? AND arr_stn=?";
...@@ -440,7 +434,7 @@ public class FlightDynamicsService { ...@@ -440,7 +434,7 @@ public class FlightDynamicsService {
builder.append(" a.arr_stn, "); builder.append(" a.arr_stn, ");
builder.append(" c.airport_name AS arrAirportName, "); builder.append(" c.airport_name AS arrAirportName, ");
builder.append(" c.city_name AS arrCityName "); builder.append(" c.city_name AS arrCityName ");
builder.append("FROM `"+tableName+"` a "); builder.append("FROM `" + tableName + "` a ");
builder.append("LEFT JOIN `foc_airports` b "); builder.append("LEFT JOIN `foc_airports` b ");
builder.append(" ON a.`dep_stn` = b.`airport_iata` "); builder.append(" ON a.`dep_stn` = b.`airport_iata` ");
builder.append("LEFT JOIN `foc_airports` c "); builder.append("LEFT JOIN `foc_airports` c ");
...@@ -459,33 +453,33 @@ public class FlightDynamicsService { ...@@ -459,33 +453,33 @@ public class FlightDynamicsService {
} }
return null; return null;
} }
public List<FlightCrewListEntity> getFlightCrewList(String flightNo, public List<FlightCrewListEntity> getFlightCrewList(String flightNo,
String datop, String depStn, String arrStn) { String datop, String depStn, String arrStn) {
ResultSetHandler<List<FlightCrewListEntity>> handler = new BeanListHandler<FlightCrewListEntity>( ResultSetHandler<List<FlightCrewListEntity>> handler = new BeanListHandler<FlightCrewListEntity>(
FlightCrewListEntity.class); FlightCrewListEntity.class);
StringBuffer buf = new StringBuffer(); StringBuffer buf = new StringBuffer();
buf.append(" SELECT o.rank_sd AS rankSd, " ); buf.append(" SELECT o.rank_sd AS rankSd, ");
buf.append(" o.staff_id AS userId, " ); buf.append(" o.staff_id AS userId, ");
buf.append(" o.staff_name AS username, " ); buf.append(" o.staff_name AS username, ");
buf.append(" u.photo, " ); buf.append(" u.photo, ");
buf.append(" u.phone, " ); buf.append(" u.phone, ");
buf.append(" u.mobile " ); buf.append(" u.mobile ");
buf.append(" FROM foc_ods o " ); buf.append(" FROM foc_ods o ");
buf.append(" LEFT JOIN sys_user u " ); buf.append(" LEFT JOIN sys_user u ");
buf.append(" ON o.staff_id=u.id " ); buf.append(" ON o.staff_id=u.id ");
buf.append(" LEFT JOIN sys_office c " ); buf.append(" LEFT JOIN sys_office c ");
buf.append(" ON c.id = u.company_id " ); buf.append(" ON c.id = u.company_id ");
buf.append(" LEFT JOIN sys_office f " ); buf.append(" LEFT JOIN sys_office f ");
buf.append(" ON f.id = u.office_id " ); buf.append(" ON f.id = u.office_id ");
buf.append(" LEFT JOIN sys_user_profiles p " ); buf.append(" LEFT JOIN sys_user_profiles p ");
buf.append(" ON o.staff_id=p.user_id " ); buf.append(" ON o.staff_id=p.user_id ");
buf.append(" WHERE o.flight_no=? " ); buf.append(" WHERE o.flight_no=? ");
buf.append(" AND o.flight_date=? " ); buf.append(" AND o.flight_date=? ");
buf.append(" AND o.dep_stn=? " ); buf.append(" AND o.dep_stn=? ");
buf.append(" AND o.arr_stn=? " ); buf.append(" AND o.arr_stn=? ");
List<FlightCrewListEntity> list = null; List<FlightCrewListEntity> list = null;
try { try {
list = run.query(buf.toString(), handler, flightNo, datop, depStn, arrStn); list = run.query(buf.toString(), handler, flightNo, datop, depStn, arrStn);
...@@ -499,7 +493,7 @@ public class FlightDynamicsService { ...@@ -499,7 +493,7 @@ public class FlightDynamicsService {
} }
return null; return null;
} }
enum MapType { enum MapType {
flightDynamicsEntityType; flightDynamicsEntityType;
} }
......
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