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
c3e8b319
Commit
c3e8b319
authored
Jul 09, 2025
by
李洪明
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加上传进出厂记录
parent
c1f03b85
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
648 additions
and
3 deletions
+648
-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
UploadDataJob.java
src/main/java/com/bme/access/upload/job/UploadDataJob.java
+26
-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 @
c3e8b319
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 @
c3e8b319
...
...
@@ -338,7 +338,7 @@ public class HttpUtils {
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
);
HttpPost
request
=
new
HttpPost
(
buildUrl
(
host
,
path
,
querys
));
Map
<
String
,
String
>
headers
=
new
HashMap
<>();
...
...
@@ -347,8 +347,8 @@ public class HttpUtils {
for
(
Map
.
Entry
<
String
,
String
>
e
:
headers
.
entrySet
())
{
request
.
addHeader
(
e
.
getKey
(),
e
.
getValue
());
}
if
(
body
s
!=
null
)
{
StringEntity
entity
=
new
StringEntity
(
JSON
.
toJSONString
(
bodys
)
,
"UTF-8"
);
if
(
body
Json
!=
null
)
{
StringEntity
entity
=
new
StringEntity
(
bodyJson
,
"UTF-8"
);
request
.
setEntity
(
entity
);
}
return
httpClient
.
execute
(
request
);
...
...
src/main/java/com/bme/access/upload/job/UploadDataJob.java
0 → 100644
View file @
c3e8b319
package
com
.
bme
.
access
.
upload
.
job
;
import
com.bme.access.upload.module.service.InAndOutDateService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
@Component
@EnableScheduling
@Slf4j
public
class
UploadDataJob
{
@Autowired
private
InAndOutDateService
inAndOutDateService
;
@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 @
c3e8b319
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 @
c3e8b319
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 @
c3e8b319
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 @
c3e8b319
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 @
c3e8b319
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 @
c3e8b319
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 @
c3e8b319
<?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 @
c3e8b319
<?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 @
c3e8b319
<?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