Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
api
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
首航-临时账号
api
Commits
5842a65c
Commit
5842a65c
authored
Dec 12, 2020
by
luoh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
查询油量分析数据
parent
45600b29
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
188 additions
and
44 deletions
+188
-44
OilAnalysisDao.xml
resources/mapper/modules/airport/OilAnalysisDao.xml
+27
-15
OilAnalysisController.java
src/com/ejweb/modules/airport/api/OilAnalysisController.java
+40
-6
OilAnalysisBean.java
src/com/ejweb/modules/airport/bean/OilAnalysisBean.java
+33
-6
OilAnalysisEntity.java
src/com/ejweb/modules/airport/entity/OilAnalysisEntity.java
+23
-9
OilAnalysisService.java
src/com/ejweb/modules/airport/service/OilAnalysisService.java
+65
-8
No files found.
resources/mapper/modules/airport/OilAnalysisDao.xml
View file @
5842a65c
...
...
@@ -2,43 +2,55 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.ejweb.modules.airport.dao.OilAnalysisDao"
>
<select
id=
"getOilAnalysisData"
resultType=
"com.ejweb.modules.airport.entity.OilAnalysisEntity"
>
select
sta.
std,
select
DATE_FORMAT(sta.std, '%Y-%m-%d %H:%i:%S')as
std,
sta.flight_no,
sta.ac_no,
sta.dispatcher_name,
sta.total_oil,
sta.dep_iata_id,
sta.arr_iata_id,
sta.extra_oil_fuel_reason,
airArr.airport_name as arrAirPortName,
airdep.airport_name as depAirPortName,
acType.
flight_no
as acTypeName
acType.
type_name
as acTypeName
from foc_flight_dynamics_sta sta
left join foc_airports airArr on airArr.airport_iata = #{arrIata}
left join foc_airports airdep on airArr.airport_iata = #{depIata}
left join foc_ac_type acType on acType.flight_no = #{flightNo}
left join foc_airports airArr on airArr.airport_iata = sta.arr_iata_id
left join foc_airports airdep on airdep.airport_iata = sta.dep_iata_id
left join foc_ac_type acType on acType.flight_no = sta.ac_no
where 1=1
<if
test=
"#{std} !=null and #{std} !=''"
>
and sta.std = #{std}
<if
test=
"arrIata!=null and arrIata!='' "
>
and sta.arr_iata_id = #{arrIata}
</if>
<if
test=
"depIata!=null and depIata!='' "
>
and sta.dep_iata_id = #{depIata}
</if>
<if
test=
"
#{flightNo} !=null and #{flightNo} !=''
"
>
<if
test=
"
flightNo!=null and flightNo!=''
"
>
and sta.flight_no = #{flightNo}
</if>
<if
test=
"
#{dispatcher} !=null and #{dispatcher}
!=''"
>
<if
test=
"
dispatcher!=null and dispatcher
!=''"
>
and sta.dispatcher_name = #{dispatcher}
</if>
<if
test=
"#{dispatcher} !=null and sta.flight_no!=''"
>
and sta.flight_no = #{dispatcher}
<if
test=
"minDepTime !=null and minDepTime!=''"
>
and sta.std
<![CDATA[>=]]>
date_format(#{minDepTime},'%Y-%c-%d %H:%i:%s')
</if>
<if
test=
"maxDepTime !=null and maxDepTime!=''"
>
and sta.std
<![CDATA[<]]>
date_format(#{maxDepTime},'%Y-%c-%d %H:%i:%s')
</if>
<if
test=
"
#{mintotalOil} !=null and #{mintotalOil}
!=''"
>
and s
ta.total_oil >=
#{mintotalOil}
<if
test=
"
mintotalOil !=null and mintotalOil
!=''"
>
and s
ubstring_index(sta.total_oil, 'KGS',1)
<![CDATA[>=]]>
#{mintotalOil}
</if>
<if
test=
"
#{maxtotalOil} !=null and #{maxtotalOil}
!=''"
>
and s
ta.total_oil
<![CDATA[ >=
]]>
#{maxtotalOil}
<if
test=
"
maxtotalOil !=null and maxtotalOil
!=''"
>
and s
ubstring_index(sta.total_oil, 'KGS',1)
<![CDATA[<
]]>
#{maxtotalOil}
</if>
...
...
src/com/ejweb/modules/airport/api/OilAnalysisController.java
View file @
5842a65c
...
...
@@ -3,10 +3,13 @@ package com.ejweb.modules.airport.api;
import
com.ejweb.core.api.RequestBean
;
import
com.ejweb.core.api.ResponseBean
;
import
com.ejweb.core.base.PageEntity
;
import
com.ejweb.core.conf.ErrorCode
;
import
com.ejweb.core.conf.GConstants
;
import
com.ejweb.core.utils.excel.ExportExcel
;
import
com.ejweb.modules.airport.bean.OilAnalysisBean
;
import
com.ejweb.modules.airport.dao.OilAnalysisDao
;
import
com.ejweb.modules.airport.entity.AirportListEntity
;
import
com.ejweb.modules.airport.entity.OilAnalysisEntity
;
import
com.ejweb.modules.airport.service.OilAnalysisService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -14,6 +17,9 @@ import org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
@Controller
...
...
@@ -27,22 +33,50 @@ public class OilAnalysisController {
@RequestMapping
(
value
=
"/oilAnalysis"
)
public
ResponseBean
getOilAnalysisData
(
RequestBean
requestBean
)
{
//todo: 2、返回数据判空 3、机型链表查询 4、剩余油量数据分析 5、生成表格导出
//todo: 5、生成表格导出
PageEntity
<
OilAnalysisEntity
>
list
=
null
;
ResponseBean
responseBean
=
new
ResponseBean
();
OilAnalysisBean
bean
=
requestBean
.
getObjectBean
(
OilAnalysisBean
.
class
);
list
=
oilAnalysisService
.
getAnalysisData
(
bean
);
List
<
OilAnalysisEntity
>
oilAnalysisEntity
=
oilAnalysisService
.
getAnalysisData
(
bean
);
if
(
oilAnalysisEntity
==
null
)
if
(
list
==
null
)
// 查询结果为空
{
responseBean
.
setMessage
(
"接口调用失败"
);
responseBean
.
setStatus
(
ErrorCode
.
STATUS_CODE_4001
);
responseBean
.
setMessage
(
GConstants
.
EMPTY
);
responseBean
.
setStatus
(
ErrorCode
.
STATUS_CODE_2001
);
return
responseBean
;
}
else
{
responseBean
.
setData
(
oilAnalysisEntity
);
responseBean
.
setData
(
list
);
responseBean
.
setMessage
(
GConstants
.
OK
);
responseBean
.
setStatus
(
ErrorCode
.
STATUS_CODE_2000
);
}
return
responseBean
;
}
@RequestMapping
(
value
=
"/oilAnalysisExport"
)
public
ResponseBean
newExport
(
RequestBean
requestBean
,
HttpServletResponse
response
)
{
ResponseBean
responseBean
=
new
ResponseBean
();
OilAnalysisBean
bean
=
requestBean
.
getObjectBean
(
OilAnalysisBean
.
class
);
PageEntity
<
OilAnalysisEntity
>
page
=
oilAnalysisService
.
getAnalysisData
(
bean
);
List
<
OilAnalysisEntity
>
list
=
new
ArrayList
<
OilAnalysisEntity
>();
if
(
page
!=
null
)
{
list
=
page
.
getList
();
//自定义导出序号
int
no
=
1
;
String
fileName
=
"油量分析统计.xlsx"
;
try
{
new
ExportExcel
(
"油量分析统计"
,
OilAnalysisEntity
.
class
).
setDataList
(
list
).
write
(
response
,
fileName
).
dispose
();
}
catch
(
IOException
e
)
{
responseBean
.
setMessage
(
"导出数据失败"
+
e
.
getMessage
());
return
responseBean
;
}
}
return
responseBean
;
}
}
src/com/ejweb/modules/airport/bean/OilAnalysisBean.java
View file @
5842a65c
package
com
.
ejweb
.
modules
.
airport
.
bean
;
import
com.ejweb.core.base.GenericBean
;
import
com.ejweb.core.conf.GConstants
;
import
javax.validation.constraints.Min
;
/**
* 油量分析
...
...
@@ -25,9 +28,33 @@ public class OilAnalysisBean extends GenericBean {
//签派员d
private
String
dispatcher
;
//最低总油量
private
Integer
mintotalOil
;
private
String
mintotalOil
;
//最高总油量
private
Integer
maxtotalOil
;
private
String
maxtotalOil
;
@Min
(
value
=
1
,
message
=
"pageNo必须大于等于1"
)
private
int
pageNo
=
1
;
//第几页
@Min
(
value
=
1
,
message
=
"pageSize必须大于等于1"
)
private
int
pageSize
=
GConstants
.
PAGE_SIZE
;
//每页条数
public
int
getPageNo
()
{
return
pageNo
;
}
public
void
setPageNo
(
int
pageNo
)
{
this
.
pageNo
=
pageNo
;
}
public
int
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
public
String
getMinDepTime
()
{
...
...
@@ -48,19 +75,19 @@ public class OilAnalysisBean extends GenericBean {
public
Integer
getMintotalOil
()
{
public
String
getMintotalOil
()
{
return
mintotalOil
;
}
public
void
setMintotalOil
(
Integer
mintotalOil
)
{
public
void
setMintotalOil
(
String
mintotalOil
)
{
this
.
mintotalOil
=
mintotalOil
;
}
public
Integer
getMaxtotalOil
()
{
public
String
getMaxtotalOil
()
{
return
maxtotalOil
;
}
public
void
setMaxtotalOil
(
Integer
maxtotalOil
)
{
public
void
setMaxtotalOil
(
String
maxtotalOil
)
{
this
.
maxtotalOil
=
maxtotalOil
;
}
...
...
src/com/ejweb/modules/airport/entity/OilAnalysisEntity.java
View file @
5842a65c
package
com
.
ejweb
.
modules
.
airport
.
entity
;
import
com.ejweb.core.base.BaseEntity
;
import
com.ejweb.core.utils.excel.annotation.ExcelField
;
/**
...
...
@@ -11,7 +12,7 @@ import com.ejweb.core.base.BaseEntity;
* @team suzhou
* @time 2020年12月10日
*/
public
class
OilAnalysisEntity
extends
BaseEntity
{
public
class
OilAnalysisEntity
{
private
String
std
;
// 计划起飞时间
private
String
flightNo
;
// 航班号
...
...
@@ -19,15 +20,28 @@ public class OilAnalysisEntity extends BaseEntity {
private
String
depIataId
;
// 起飞机场三字码
private
String
arrIataId
;
// 落地机场三字码
private
String
dispatcherName
;
// 签派人
private
Integer
totalOil
;
// 总油量
private
String
totalOil
;
// 总油量
private
String
extraOilFuelReason
;
// 额外油加注原因
private
String
extraOilFuelTakeoff
;
// 起飞额外油量
private
String
extraOilFuelArr
rr
;
// 到达额外油量
private
String
extraOilFuelArr
;
// 到达额外油量
private
String
extraOilFuelFlight
;
// 航路额外油量
private
String
extraOilFuelOther
;
// 起飞额外油量
private
String
depAirPortName
;
// 起飞机场中文名称
private
String
arrAirPortName
;
// 落地机场中文名称
private
String
acTypeName
;
// 机型
@ExcelField
(
title
=
"序号"
,
type
=
0
,
align
=
1
,
sort
=
19
)
private
int
no
;
public
int
getNo
()
{
return
no
;
}
public
void
setNo
(
int
no
)
{
this
.
no
=
no
;
}
public
String
getAcTypeName
()
{
return
acTypeName
;
...
...
@@ -85,11 +99,11 @@ public class OilAnalysisEntity extends BaseEntity {
this
.
dispatcherName
=
dispatcherName
;
}
public
Integer
getTotalOil
()
{
public
String
getTotalOil
()
{
return
totalOil
;
}
public
void
setTotalOil
(
Integer
totalOil
)
{
public
void
setTotalOil
(
String
totalOil
)
{
this
.
totalOil
=
totalOil
;
}
...
...
@@ -109,12 +123,12 @@ public class OilAnalysisEntity extends BaseEntity {
this
.
extraOilFuelTakeoff
=
extraOilFuelTakeoff
;
}
public
String
getExtraOilFuelArr
rr
()
{
return
extraOilFuelArr
rr
;
public
String
getExtraOilFuelArr
()
{
return
extraOilFuelArr
;
}
public
void
setExtraOilFuelArr
rr
(
String
extraOilFuelArr
rr
)
{
this
.
extraOilFuelArr
rr
=
extraOilFuelArr
rr
;
public
void
setExtraOilFuelArr
(
String
extraOilFuelA
rr
)
{
this
.
extraOilFuelArr
=
extraOilFuelA
rr
;
}
public
String
getExtraOilFuelFlight
()
{
...
...
src/com/ejweb/modules/airport/service/OilAnalysisService.java
View file @
5842a65c
...
...
@@ -4,12 +4,14 @@ import com.ejweb.core.base.BaseService;
import
com.ejweb.modules.airport.bean.OilAnalysisBean
;
import
com.ejweb.modules.airport.dao.OilAnalysisDao
;
import
com.ejweb.modules.airport.entity.OilAnalysisEntity
;
import
com.ejweb.modules.airport.entity.StatisticalEntity
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.BeanPropertyBindingResult
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.validation.ObjectError
;
import
org.springframework.util.StringUtils
;
import
com.ejweb.core.base.PageEntity
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
java.util.Collections
;
import
java.util.List
;
@Service
...
...
@@ -18,10 +20,65 @@ public class OilAnalysisService extends BaseService<OilAnalysisDao> {
@Autowired
protected
OilAnalysisDao
oilAnalysisDao
;
public
List
<
OilAnalysisEntity
>
getAnalysisData
(
OilAnalysisBean
bean
)
{
List
<
OilAnalysisEntity
>
oilAnalysisEntity
=
oilAnalysisDao
.
getOilAnalysisData
(
bean
);
//拆分原因数据
public
PageEntity
<
OilAnalysisEntity
>
getAnalysisData
(
OilAnalysisBean
bean
)
{
PageHelper
.
startPage
(
bean
.
getPageNo
(),
bean
.
getPageSize
());
PageInfo
<
OilAnalysisEntity
>
pageInfo
=
null
;
List
<
OilAnalysisEntity
>
oilAnalysisEntityList
=
oilAnalysisDao
.
getOilAnalysisData
(
bean
);
for
(
OilAnalysisEntity
oilAnalysisEntity
:
oilAnalysisEntityList
)
{
String
oilFuelReason
=
oilAnalysisEntity
.
getExtraOilFuelReason
();
if
(!
StringUtils
.
isEmpty
(
oilFuelReason
))
{
String
[]
arr
=
oilFuelReason
.
split
(
"\\|"
);
for
(
int
i
=
0
;
i
<
arr
.
length
;
i
++)
{
String
arrTemp
=
arr
[
i
];
String
[]
reasonArr
=
arrTemp
.
split
(
":"
);
String
oilNum
=
reasonArr
.
length
==
0
?
""
:
reasonArr
[
0
]
;
switch
(
i
){
case
0
:
//起飞油量及原因
oilAnalysisEntity
.
setExtraOilFuelTakeoff
(
oilNum
);
break
;
case
1
:
//到达额外油量及原因
oilAnalysisEntity
.
setExtraOilFuelArr
(
oilNum
);
break
;
case
2
:
//航路额外油量及原因
oilAnalysisEntity
.
setExtraOilFuelFlight
(
oilNum
);
break
;
case
3
:
//其他额外油量及原因
oilAnalysisEntity
.
setExtraOilFuelOther
(
oilNum
);
break
;
default
:
}
}
}
}
if
(
oilAnalysisEntityList
==
null
||
oilAnalysisEntityList
.
size
()
==
0
)
{
return
null
;
}
pageInfo
=
new
PageInfo
<
OilAnalysisEntity
>(
oilAnalysisEntityList
);
if
(
pageInfo
.
getPages
()
<
bean
.
getPageNo
())
{
// 页码大于总页数,则返回NULL
return
null
;
}
PageEntity
<
OilAnalysisEntity
>
page
=
new
PageEntity
<
OilAnalysisEntity
>();
page
.
setPageNo
(
pageInfo
.
getPageNum
());
page
.
setPageSize
(
pageInfo
.
getPageSize
());
page
.
setCount
(
pageInfo
.
getTotal
());
page
.
setTotalPage
(
pageInfo
.
getPages
());
page
.
setList
(
pageInfo
.
getList
());
return
page
;
return
oilAnalysisEntity
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment