Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bme-access-upload
Project
Project
Details
Activity
Releases
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
李洪明
bme-access-upload
Commits
6a647741
Commit
6a647741
authored
Jul 09, 2025
by
曹军
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
8de4210c
b3cba905
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
634 additions
and
3 deletions
+634
-3
DateUtils.java
src/main/java/com/bme/access/upload/common/DateUtils.java
+351
-0
HttpUtils.java
src/main/java/com/bme/access/upload/common/HttpUtils.java
+3
-3
UploadDataNewTask.java
...ain/java/com/bme/access/upload/job/UploadDataNewTask.java
+12
-0
InAndOutDate.java
src/main/java/com/bme/access/upload/model/InAndOutDate.java
+31
-0
InAndOutDateUrl.java
...ain/java/com/bme/access/upload/model/InAndOutDateUrl.java
+29
-0
DataUploadTimeMapper.java
...om/bme/access/upload/module/dao/DataUploadTimeMapper.java
+14
-0
InAndOutDateUploadFailMapper.java
...ccess/upload/module/dao/InAndOutDateUploadFailMapper.java
+11
-0
InAndOutDateUrlMapper.java
...m/bme/access/upload/module/dao/InAndOutDateUrlMapper.java
+13
-0
InAndOutDateService.java
...bme/access/upload/module/service/InAndOutDateService.java
+117
-0
DataUploadTimeMapper.xml
src/main/resources/mapper/DataUploadTimeMapper.xml
+17
-0
InAndOutDateUploadFailMapper.xml
src/main/resources/mapper/InAndOutDateUploadFailMapper.xml
+12
-0
InAndOutDateUrlMapper.xml
src/main/resources/mapper/InAndOutDateUrlMapper.xml
+24
-0
No files found.
src/main/java/com/bme/access/upload/common/DateUtils.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
common
;
import
org.apache.commons.lang.time.DateFormatUtils
;
import
java.sql.Timestamp
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Calendar
;
import
java.util.Date
;
public
class
DateUtils
extends
org
.
apache
.
commons
.
lang
.
time
.
DateUtils
{
public
final
static
String
DATE_FORMAT_DAY
=
"yyyy-MM-dd"
;
public
final
static
String
DATE_FORMAT_SECOND
=
"yyyy-MM-dd HH:mm:ss"
;
public
final
static
String
DATE_FORMAT_MIN
=
"MMddHHmmssSS"
;
public
final
static
String
DATE_FORMAT_SECOND1
=
"yyyyMMddHHmmss"
;
/**
* 取当前时间
*
* @return
*/
public
static
Timestamp
now
()
{
return
new
Timestamp
(
System
.
currentTimeMillis
());
}
/**
* 取当天
*
* @return
*/
public
static
Date
today
()
{
Date
date
=
DateUtils
.
now
();
return
DateUtils
.
toDate
(
date
);
}
/**
* 获取unix_timestamp
*
* @return
*/
public
static
int
unix_timestamp
()
{
long
timestamp
=
System
.
currentTimeMillis
();
return
new
Long
(
timestamp
/
1000
).
intValue
();
}
/**
* 获取月的第一天
*
* @return
*/
public
static
Date
firstDayOfMonth
()
{
Date
date
=
DateUtils
.
now
();
return
DateUtils
.
firstDayOfMonth
(
date
);
}
/**
* 获取月的第一天
*
* @param date
* @return
*/
public
static
Date
firstDayOfMonth
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
set
(
Calendar
.
DAY_OF_MONTH
,
1
);
Date
date2
=
DateUtils
.
toDate
(
calendar
.
getTime
());
return
date2
;
}
/**
* 获取当月的最后一天
*
* @return
*/
public
static
Date
lastDayOfMonth
()
{
Date
date
=
DateUtils
.
now
();
return
DateUtils
.
lastDayOfMonth
(
date
);
}
/**
* 获取当月的最后一天
*
* @return
*/
public
static
Date
lastDayOfMonth
(
Date
date
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
int
maxDayNum
=
calendar
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
);
calendar
.
set
(
Calendar
.
DATE
,
maxDayNum
);
Date
date2
=
DateUtils
.
toDate
(
calendar
.
getTime
());
return
date2
;
}
/**
* 转换成日期格式
*
* @param str
* @return
*/
public
static
Date
toDate
(
String
str
)
{
String
[]
patterns
=
new
String
[]{
"yyyy-MM-dd HH:mm:ss"
,
"yyyy-MM-dd HH:mm"
,
"yyyy-MM-dd"
,
"HH:mm:ss"
,
"HH:mm"
,
"yyyy/M/d H:m:s"
,
"HH:mm"
,
"yyyy/M/d H:m"
,
"yyyy/M/d"
,
"H:m:s"
,
"H:m"
,
"yyyy-MM-dd HH:mm:ss.SSS"
,
"yyyyMMdd"
,
"yyyyMM"
};
try
{
return
org
.
apache
.
commons
.
lang
.
time
.
DateUtils
.
parseDate
(
str
,
patterns
);
}
catch
(
Exception
ex
)
{
return
null
;
}
}
/**
* 转换成日期格式
*
* @param str
* @param pattern
* @return
*/
public
static
Date
toDate
(
String
str
,
String
pattern
)
{
try
{
return
DateUtils
.
parseDate
(
str
,
new
String
[]{
pattern
});
}
catch
(
Exception
e
)
{
return
null
;
}
}
/**
* 取日期的0点
*
* @param date
* @return
*/
public
static
Date
toDate
(
Date
date
)
{
String
strDate
=
DateUtils
.
format
(
date
,
"yyyy-MM-dd"
);
return
DateUtils
.
toDate
(
strDate
,
"yyyy-MM-dd"
);
}
/**
* 日期格式化,取当前日期时间
*
* @param pattern
* @return
*/
public
static
String
format
(
String
pattern
)
{
return
DateUtils
.
format
(
DateUtils
.
now
(),
pattern
);
}
/**
* 日期格式化
*
* @param date
* @param pattern
* @return
*/
public
static
String
format
(
Date
date
,
String
pattern
)
{
if
(
date
==
null
)
{
return
null
;
}
return
DateFormatUtils
.
format
(
date
,
pattern
);
}
/**
* 时间前推或后推分钟,其中JJ表示分钟.
*/
public
static
String
getPreTime
(
String
sj1
,
int
jj
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
mydate1
=
""
;
try
{
Date
date1
=
format
.
parse
(
sj1
);
long
Time
=
(
date1
.
getTime
()
/
1000
)
+
jj
*
60
;
date1
.
setTime
(
Time
*
1000
);
mydate1
=
format
.
format
(
date1
);
}
catch
(
Exception
e
)
{
}
return
mydate1
;
}
/**
* 时间前推或后推分钟,其中ss表示秒.
*/
public
static
String
getDateStr
(
String
sj1
,
int
ss
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
mydate1
=
""
;
try
{
Date
date1
=
format
.
parse
(
sj1
);
long
Time
=
(
date1
.
getTime
()
/
1000
)
+
ss
;
date1
.
setTime
(
Time
*
1000
);
mydate1
=
format
.
format
(
date1
);
}
catch
(
Exception
e
)
{
}
return
mydate1
;
}
/**
* 获取两个时间相差多少分
*
* @param firstTime
* @param secondTime
* @return
*/
public
static
long
getDiffMin
(
String
firstTime
,
String
secondTime
)
{
long
first
=
toDate
(
firstTime
).
getTime
();
long
second
=
toDate
(
secondTime
).
getTime
();
//从对象中拿到时间
long
diff
=
(
second
-
first
)
/
1000
/
60
;
return
diff
;
}
public
static
long
getDiffHour
(
String
firstTime
,
String
secondTime
)
{
long
first
=
toDate
(
firstTime
).
getTime
();
long
second
=
toDate
(
secondTime
).
getTime
();
//从对象中拿到时间
long
diff
=
(
second
-
first
)
/
1000
/
60
/
60
;
return
diff
;
}
/**
* 获取两个时间相差多少秒
*
* @param firstTime
* @param secondTime
* @return
*/
public
static
long
getDiffSecond
(
String
firstTime
,
String
secondTime
)
{
long
first
=
toDate
(
firstTime
).
getTime
();
long
second
=
toDate
(
secondTime
).
getTime
();
//从对象中拿到时间
long
diff
=
(
second
-
first
)
/
1000
;
return
diff
;
}
/**
* 查询几天前/后的日期
*
* @param day
* @return
*/
public
static
String
getStrData
(
int
day
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
new
Date
());
c
.
add
(
Calendar
.
DATE
,
day
);
Date
start
=
c
.
getTime
();
String
qyt
=
format
(
start
,
DATE_FORMAT_SECOND
);
return
qyt
;
}
public
static
String
getStrDateTime
(
String
data
,
int
day
)
{
SimpleDateFormat
dateStyes
=
new
SimpleDateFormat
(
DATE_FORMAT_SECOND
);
//设置日期格式
Calendar
c
=
Calendar
.
getInstance
();
try
{
c
.
setTime
(
dateStyes
.
parse
(
data
));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
c
.
add
(
Calendar
.
DATE
,
day
);
Date
start
=
c
.
getTime
();
String
qyt
=
format
(
start
,
DATE_FORMAT_SECOND
);
return
qyt
;
}
/**
* 根据传进来得日期 计算前后day日期
*
* @param day
* @return
*/
public
static
String
getDateChange
(
String
data
,
int
day
)
{
SimpleDateFormat
dateStyes
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
//设置日期格式
Calendar
c
=
Calendar
.
getInstance
();
try
{
c
.
setTime
(
dateStyes
.
parse
(
data
));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
c
.
add
(
Calendar
.
DATE
,
day
);
Date
start
=
c
.
getTime
();
String
qyt
=
format
(
start
,
DATE_FORMAT_DAY
);
return
qyt
;
}
/**
* 根据传进来得日期计算 此月一共有多少天
*
* @param data
* @return
*/
public
static
int
getDateDays
(
String
data
)
{
SimpleDateFormat
dateStyes
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
//设置日期格式
Calendar
c
=
Calendar
.
getInstance
();
try
{
c
.
setTime
(
dateStyes
.
parse
(
data
));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
int
days
=
c
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
);
//根据年月 获取月份天数
return
days
;
}
public
static
String
dateToStr
(
Date
date
,
String
format
)
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
format
);
return
simpleDateFormat
.
format
(
date
);
}
public
static
String
getYesterdayBegin
()
{
// 创建Calendar实例
Calendar
calendar
=
Calendar
.
getInstance
();
// 获取当前时间
calendar
.
setTimeInMillis
(
System
.
currentTimeMillis
());
// 将时间设置为昨天
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
// 设置时间为当天的零点
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
0
);
calendar
.
set
(
Calendar
.
MINUTE
,
0
);
calendar
.
set
(
Calendar
.
SECOND
,
0
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
0
);
// 获取昨天的起始时间
Date
yesterdayStartTime
=
calendar
.
getTime
();
return
DateUtils
.
format
(
yesterdayStartTime
,
DATE_FORMAT_SECOND
);
}
public
static
String
getYesterdayEnd
()
{
// 创建Calendar实例
Calendar
calendar
=
Calendar
.
getInstance
();
// 获取当前时间
calendar
.
setTimeInMillis
(
System
.
currentTimeMillis
());
// 将时间设置为昨天
calendar
.
add
(
Calendar
.
DAY_OF_YEAR
,
-
1
);
// 设置时间为当天的零点
calendar
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
calendar
.
set
(
Calendar
.
MINUTE
,
59
);
calendar
.
set
(
Calendar
.
SECOND
,
59
);
calendar
.
set
(
Calendar
.
MILLISECOND
,
59
);
// 获取昨天的起始时间
Date
yesterdayBeginTime
=
calendar
.
getTime
();
return
DateUtils
.
format
(
yesterdayBeginTime
,
DATE_FORMAT_SECOND
);
}
}
\ No newline at end of file
src/main/java/com/bme/access/upload/common/HttpUtils.java
View file @
6a647741
...
@@ -338,7 +338,7 @@ public class HttpUtils {
...
@@ -338,7 +338,7 @@ public class HttpUtils {
return
httpClient
.
execute
(
request
);
return
httpClient
.
execute
(
request
);
}
}
public
static
HttpResponse
sendPost
(
String
host
,
String
path
,
Map
<
String
,
String
>
querys
,
Map
<
String
,
Object
>
bodys
)
throws
Exception
{
public
static
HttpResponse
sendPost
(
String
host
,
String
path
,
Map
<
String
,
String
>
querys
,
String
bodyJson
)
throws
Exception
{
HttpClient
httpClient
=
wrapClient
(
host
);
HttpClient
httpClient
=
wrapClient
(
host
);
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
...
@@ -347,8 +347,8 @@ public class HttpUtils {
...
@@ -347,8 +347,8 @@ public class HttpUtils {
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
}
if
(
body
s
!=
null
)
{
if
(
body
Json
!=
null
)
{
StringEntity
entity
=
new
StringEntity
(
JSON
.
toJSONString
(
bodys
)
,
"UTF-8"
);
StringEntity
entity
=
new
StringEntity
(
bodyJson
,
"UTF-8"
);
request
.
setEntity
(
entity
);
request
.
setEntity
(
entity
);
}
}
return
httpClient
.
execute
(
request
);
return
httpClient
.
execute
(
request
);
...
...
src/main/java/com/bme/access/upload/job/UploadDataNewTask.java
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
job
;
package
com
.
bme
.
access
.
upload
.
job
;
import
com.bme.access.upload.module.service.InAndOutDateService
;
import
com.bme.access.upload.module.service.InFactoryTransportVehicleInfoService
;
import
com.bme.access.upload.module.service.InFactoryTransportVehicleInfoService
;
import
com.bme.access.upload.module.service.NoneRoadMovementInfoService
;
import
com.bme.access.upload.module.service.NoneRoadMovementInfoService
;
import
com.bme.access.upload.module.service.TransportVehicleInfoService
;
import
com.bme.access.upload.module.service.TransportVehicleInfoService
;
...
@@ -21,6 +22,8 @@ public class UploadDataNewTask {
...
@@ -21,6 +22,8 @@ public class UploadDataNewTask {
private
TransportVehicleInfoService
transportVehicleInfoService
;
private
TransportVehicleInfoService
transportVehicleInfoService
;
@Autowired
@Autowired
private
NoneRoadMovementInfoService
noneRoadMovementInfoService
;
private
NoneRoadMovementInfoService
noneRoadMovementInfoService
;
@Autowired
private
InAndOutDateService
inAndOutDateService
;
/**
/**
* 场内运输车辆信息-添加
* 场内运输车辆信息-添加
...
@@ -57,4 +60,13 @@ public class UploadDataNewTask {
...
@@ -57,4 +60,13 @@ public class UploadDataNewTask {
log
.
error
(
"上传非道路电子台账生异常: {}"
,
e
);
log
.
error
(
"上传非道路电子台账生异常: {}"
,
e
);
}
}
}
}
@Scheduled
(
cron
=
"*/30 * * * * ?"
)
public
void
uploadInAndOutDate
()
{
try
{
inAndOutDateService
.
uploadInAndOutDate
();
}
catch
(
Exception
e
)
{
log
.
error
(
"上传进出场记录异常: {}"
,
e
);
}
}
}
}
src/main/java/com/bme/access/upload/model/InAndOutDate.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
model
;
import
lombok.Data
;
@Data
public
class
InAndOutDate
{
// 道闸编号 道闸编号规则(3位):出入口编号+道闸顺序编号,如 A 出入口道闸编号 A01,依次递增,同一企业不可重复。
private
String
barriernumber
;
// 运输货物名称
private
String
cargoname
;
// 运输量
private
String
cargoquantity
;
// 运输量单位/进厂运输量单位:T:吨L:升(L)P:箱、包、桶、瓶、件
private
String
unit
;
// 车牌号码
private
String
licenseplatenumber
;
// 出入口编号,用于区分不同的出入口 出入口编号规则(1位):A、B、C 依次递增,同一企业不可重复。
private
String
entryexitnumber
;
// 进出厂状态 1-进厂,2-出厂
private
String
entryexitstatus
;
// 进出厂时间
private
String
entryexittime
;
// 车队名称
private
String
fleetname
;
// 进出厂流水号 最长为36位字符串
private
String
entryexitflownumber
;
// 进厂出厂照片 图片使用base64字节存储
private
String
photos
;
// 0=手动模式 1=自动模式
private
String
inOutAttribute
;
}
src/main/java/com/bme/access/upload/model/InAndOutDateUrl.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
model
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
InAndOutDateUrl
{
private
Integer
id
;
//ID
private
String
numberPlate
;
//Number_plate
private
String
inOutTime
;
// InOut_Time
private
String
inOutImage
;
//InOut_Image
private
Integer
inOrOut
;
//InorOut
private
String
gatePostCode
;
//Gate_post_code
private
String
inOutPlateImage
;
//InOut_Plate_Image
private
String
inoutTopImage
;
// Inout_Top_image
private
Integer
vehicleColorIndex
;
//Vehicle_color_index
private
Integer
isEdit
;
private
String
rsn
;
private
Date
createTime
;
private
String
msg
;
private
Integer
result
;
private
Integer
unattended
;
}
\ No newline at end of file
src/main/java/com/bme/access/upload/module/dao/DataUploadTimeMapper.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
module
.
dao
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
@Mapper
public
interface
DataUploadTimeMapper
{
String
getUploadTime
(
@Param
(
"type"
)
Integer
type
);
Integer
insertUploadTime
(
@Param
(
"uploadTime"
)
String
uploadTime
,
@Param
(
"type"
)
Integer
type
);
Integer
updateUploadTimeByType
(
@Param
(
"uploadTime"
)
String
uploadTime
,
@Param
(
"type"
)
Integer
type
);
}
src/main/java/com/bme/access/upload/module/dao/InAndOutDateUploadFailMapper.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
module
.
dao
;
import
com.bme.access.upload.model.InAndOutDateUrl
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
@Mapper
public
interface
InAndOutDateUploadFailMapper
{
Integer
insertInAndOutFail
(
@Param
(
"data"
)
InAndOutDateUrl
data
);
}
src/main/java/com/bme/access/upload/module/dao/InAndOutDateUrlMapper.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
module
.
dao
;
import
com.bme.access.upload.model.InAndOutDateUrl
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
public
interface
InAndOutDateUrlMapper
{
List
<
InAndOutDateUrl
>
selectInAndOutDateUrl
(
@Param
(
"startTime"
)
String
startTime
,
@Param
(
"endTime"
)
String
endTime
);
}
src/main/java/com/bme/access/upload/module/service/InAndOutDateService.java
0 → 100644
View file @
6a647741
package
com
.
bme
.
access
.
upload
.
module
.
service
;
import
com.alibaba.fastjson.JSONObject
;
import
com.bme.access.upload.common.DateUtils
;
import
com.bme.access.upload.common.HttpUtils
;
import
com.bme.access.upload.model.InAndOutDate
;
import
com.bme.access.upload.model.InAndOutDateUrl
;
import
com.bme.access.upload.module.dao.DataUploadTimeMapper
;
import
com.bme.access.upload.module.dao.InAndOutDateUploadFailMapper
;
import
com.bme.access.upload.module.dao.InAndOutDateUrlMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
import
java.util.List
;
@Service
@Slf4j
public
class
InAndOutDateService
{
@Autowired
private
DataUploadTimeMapper
dataUploadTimeMapper
;
@Autowired
private
InAndOutDateUrlMapper
inAndOutDateUrlMapper
;
@Autowired
private
InAndOutDateUploadFailMapper
inAndOutDateUploadFailMapper
;
@Autowired
private
LoginService
loginService
;
private
final
static
String
IN_AND_OUT_DATE_URL
=
"https://dctapi.soszyzg.com/dct/new/addInAndOut"
;
public
void
uploadInAndOutDate
()
{
// 查询上次更新时间
String
uploadTime
=
dataUploadTimeMapper
.
getUploadTime
(
103
);
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
uploadTime
))
{
uploadTime
=
DateUtils
.
dateToStr
(
new
Date
(
System
.
currentTimeMillis
()
-
60
*
60
*
1000
),
"yyyy-MM-dd HH:mm:ss"
);
dataUploadTimeMapper
.
insertUploadTime
(
uploadTime
,
103
);
}
log
.
info
(
"本次循环上传大于{}的数据"
,
uploadTime
);
String
endTime
=
LocalDateTime
.
now
().
minusMinutes
(
2
).
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
this
.
getAndUploadInAndOutDate
(
uploadTime
,
endTime
,
Boolean
.
TRUE
);
}
public
List
<
InAndOutDateUrl
>
getAndUploadInAndOutDate
(
String
startTime
,
String
endTime
,
Boolean
flag
)
{
log
.
info
(
"执行进出场记录上传线程"
);
List
<
InAndOutDateUrl
>
inAndOutDateUrlList
=
inAndOutDateUrlMapper
.
selectInAndOutDateUrl
(
startTime
,
endTime
);
if
(!
CollectionUtils
.
isEmpty
(
inAndOutDateUrlList
)){
try
{
loginService
.
login
();
}
catch
(
Exception
e
)
{
log
.
error
(
"更新token失败:{}"
,
e
.
getMessage
());
}
}
log
.
info
(
"本次通行记录需要上报{}条"
,
inAndOutDateUrlList
.
size
());
for
(
int
i
=
0
;
i
<
inAndOutDateUrlList
.
size
();
i
++)
{
InAndOutDateUrl
inAndOutDateUrl
=
inAndOutDateUrlList
.
get
(
i
);
InAndOutDate
inAndOutDate
=
this
.
convertInAndOutDate
(
inAndOutDateUrl
);
try
{
String
bodyJson
=
JSONObject
.
toJSONString
(
inAndOutDate
);
HttpUtils
.
sendPost
(
IN_AND_OUT_DATE_URL
,
null
,
null
,
bodyJson
);
if
(
flag
){
dataUploadTimeMapper
.
updateUploadTimeByType
(
inAndOutDateUrl
.
getInOutTime
(),
103
);
}
// 防止连接超时
Thread
.
sleep
(
50
);
}
catch
(
Exception
e
)
{
log
.
info
(
"过车记录上传失败,重新上传一次{}"
,
e
.
getMessage
());
try
{
String
bodyJson
=
JSONObject
.
toJSONString
(
inAndOutDate
);
HttpUtils
.
sendPost
(
IN_AND_OUT_DATE_URL
,
null
,
null
,
bodyJson
);
}
catch
(
Exception
ex
)
{
log
.
info
(
"再次失败,此条数据存于失败表里{}"
,
ex
.
getMessage
());
inAndOutDateUrl
.
setMsg
(
ex
.
getMessage
());
inAndOutDateUploadFailMapper
.
insertInAndOutFail
(
inAndOutDateUrl
);
}
finally
{
if
(
flag
){
dataUploadTimeMapper
.
updateUploadTimeByType
(
inAndOutDateUrl
.
getInOutTime
(),
103
);
}
}
}
finally
{
if
(
flag
){
dataUploadTimeMapper
.
updateUploadTimeByType
(
inAndOutDateUrl
.
getInOutTime
(),
103
);
}
}
}
if
(!
CollectionUtils
.
isEmpty
(
inAndOutDateUrlList
)
&&
flag
){
log
.
info
(
"本次循环上传完成,再次更新最后的上传时间{}"
,
inAndOutDateUrlList
.
get
(
inAndOutDateUrlList
.
size
()
-
1
).
getInOutTime
());
dataUploadTimeMapper
.
updateUploadTimeByType
(
inAndOutDateUrlList
.
get
(
inAndOutDateUrlList
.
size
()
-
1
).
getInOutTime
(),
103
);
}
else
{
log
.
info
(
"本次循环无数据上传"
);
}
return
inAndOutDateUrlList
;
}
private
InAndOutDate
convertInAndOutDate
(
InAndOutDateUrl
inAndOutDateUrl
)
{
InAndOutDate
inAndOutDate
=
new
InAndOutDate
();
inAndOutDate
.
setInOutAttribute
(
"1"
);
inAndOutDate
.
setEntryexitstatus
(
inAndOutDateUrl
.
getInOrOut
().
toString
());
inAndOutDate
.
setEntryexittime
(
inAndOutDateUrl
.
getInOutTime
());
inAndOutDate
.
setLicenseplatenumber
(
inAndOutDateUrl
.
getNumberPlate
());
inAndOutDate
.
setEntryexitnumber
(
inAndOutDateUrl
.
getGatePostCode
());
inAndOutDate
.
setBarriernumber
(
""
);
// 货物信息
inAndOutDate
.
setCargoname
(
""
);
inAndOutDate
.
setCargoquantity
(
""
);
inAndOutDate
.
setUnit
(
"T"
);
// 车队信息
inAndOutDate
.
setEntryexitflownumber
(
inAndOutDateUrl
.
getRsn
());
return
new
InAndOutDate
();
}
}
src/main/resources/mapper/DataUploadTimeMapper.xml
0 → 100644
View file @
6a647741
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.bme.access.upload.module.dao.DataUploadTimeMapper"
>
<select
id=
"getUploadTime"
resultType=
"java.lang.String"
>
select Upload_Time uploadTime from Data_Upload_Time where Type=#{type}
</select>
<insert
id=
"insertUploadTime"
>
insert into Data_Upload_Time (Upload_Time, type) values (#{uploadTime}, #{type});
</insert>
<update
id=
"updateUploadTimeByType"
>
update Data_Upload_Time set Upload_Time=#{uploadTime} where type=#{type};
</update>
</mapper>
\ No newline at end of file
src/main/resources/mapper/InAndOutDateUploadFailMapper.xml
0 → 100644
View file @
6a647741
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.bme.access.upload.module.dao.InAndOutDateUploadFailMapper"
>
<insert
id=
"insertInAndOutFail"
parameterType=
"com.bme.access.upload.model.InAndOutDateUrl"
>
insert into InAndOut_Date_Url_Fail (Number_plate, InOut_Time, InOut_Image, InorOut, Gate_post_code, InOut_Plate_Image, Inout_Top_image, Vehicle_color_index, msg)
values (#{inAndOutDateUrl.numberPlate}, #{inAndOutDateUrl.inOutTime}, #{inAndOutDateUrl.inOutImage}, #{inAndOutDateUrl.inOrOut}, #{inAndOutDateUrl.gatePostCode},
#{inAndOutDateUrl.inOutPlateImage}, #{inAndOutDateUrl.inoutTopImage}, #{inAndOutDateUrl.vehicleColorIndex}, #{inAndOutDateUrl.msg})
</insert>
</mapper>
\ No newline at end of file
src/main/resources/mapper/InAndOutDateUrlMapper.xml
0 → 100644
View file @
6a647741
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.bme.access.upload.module.dao.InAndOutDateUrlMapper"
>
<select
id=
"selectInAndOutDateUrl"
resultType=
"com.bme.access.upload.model.InAndOutDateUrl"
>
select id ID,
Number_plate numberPlate,
InOut_Time inOutTime,
InOut_Image inOutImage,
InorOut inOrOut,
Gate_post_code gatePostCode,
InOut_Plate_Image inOutPlateImage,
Inout_Top_image inoutTopImage,
Vehicle_color_index vehicleColorIndex,
unattended,
rsn
from InAndOut_Date_Url where InOut_Time > #{uploadTime}
<if
test=
"endTime !=null and endTime != ''"
>
and InOut_Time
<
= #{endTime}
</if>
order by InOut_Time asc
</select>
</mapper>
\ No newline at end of file
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