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
892cb6f5
Commit
892cb6f5
authored
Jul 09, 2025
by
李洪明
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加上传进出厂记录
parent
b3cba905
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
247 additions
and
22 deletions
+247
-22
UploadDataNewTask.java
...ain/java/com/bme/access/upload/job/UploadDataNewTask.java
+13
-4
MaterialInfo.java
src/main/java/com/bme/access/upload/model/MaterialInfo.java
+11
-0
TransportDate.java
src/main/java/com/bme/access/upload/model/TransportDate.java
+24
-0
TransportDateMapper.java
...com/bme/access/upload/module/dao/TransportDateMapper.java
+13
-0
TransportDateUploadFailMapper.java
...cess/upload/module/dao/TransportDateUploadFailMapper.java
+11
-0
InAndOutDateService.java
...bme/access/upload/module/service/InAndOutDateService.java
+18
-3
TransportDateService.java
...me/access/upload/module/service/TransportDateService.java
+106
-0
InAndOutDateUploadFailMapper.xml
src/main/resources/mapper/InAndOutDateUploadFailMapper.xml
+2
-3
InAndOutDateUrlMapper.xml
src/main/resources/mapper/InAndOutDateUrlMapper.xml
+9
-12
TransportDateMapper.xml
src/main/resources/mapper/TransportDateMapper.xml
+29
-0
TransportDateUploadFailMapper.xml
src/main/resources/mapper/TransportDateUploadFailMapper.xml
+11
-0
No files found.
src/main/java/com/bme/access/upload/job/UploadDataNewTask.java
View file @
892cb6f5
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.NoneRoadMovementInfoService
;
import
com.bme.access.upload.module.service.TransportVehicleInfoService
;
import
com.bme.access.upload.module.service.*
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
...
...
@@ -24,6 +21,8 @@ public class UploadDataNewTask {
private
NoneRoadMovementInfoService
noneRoadMovementInfoService
;
@Autowired
private
InAndOutDateService
inAndOutDateService
;
@Autowired
private
TransportDateService
transportDateService
;
/**
* 场内运输车辆信息-添加
...
...
@@ -69,4 +68,14 @@ public class UploadDataNewTask {
log
.
error
(
"上传进出场记录异常: {}"
,
e
);
}
}
@Scheduled
(
cron
=
"*/30 * * * * ?"
)
public
void
uploadTransportDateInfo
()
{
try
{
transportDateService
.
uploadTransportDate
();
}
catch
(
Exception
e
)
{
log
.
error
(
"上传进出场货物异常: {}"
,
e
);
}
}
}
src/main/java/com/bme/access/upload/model/MaterialInfo.java
0 → 100644
View file @
892cb6f5
package
com
.
bme
.
access
.
upload
.
model
;
import
lombok.Data
;
@Data
public
class
MaterialInfo
{
private
String
cargoname
;
private
String
cargoquantity
;
private
String
entryexitflownumber
;
private
String
unit
;
}
src/main/java/com/bme/access/upload/model/TransportDate.java
0 → 100644
View file @
892cb6f5
package
com
.
bme
.
access
.
upload
.
model
;
import
lombok.Data
;
@Data
public
class
TransportDate
{
private
String
numberPlate
;
private
String
transportName
;
private
Double
transportVolume
;
private
String
inoutTime
;
private
String
createTime
;
private
Integer
inOut
;
private
Integer
vehicleUseType
;
private
String
transportCode
;
private
String
transportType
;
private
String
company
;
private
String
loadDischargeAddress
;
private
Integer
action
;
private
Long
id
;
private
String
insertTime
;
private
Integer
syncState
;
private
Integer
remark
;
private
String
msg
;
}
src/main/java/com/bme/access/upload/module/dao/TransportDateMapper.java
0 → 100644
View file @
892cb6f5
package
com
.
bme
.
access
.
upload
.
module
.
dao
;
import
com.bme.access.upload.model.TransportDate
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
@Mapper
public
interface
TransportDateMapper
{
List
<
TransportDate
>
selectTransportDate
(
@Param
(
"startTime"
)
String
startTime
,
@Param
(
"endTime"
)
String
endTime
);
}
src/main/java/com/bme/access/upload/module/dao/TransportDateUploadFailMapper.java
0 → 100644
View file @
892cb6f5
package
com
.
bme
.
access
.
upload
.
module
.
dao
;
import
com.bme.access.upload.model.TransportDate
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
@Mapper
public
interface
TransportDateUploadFailMapper
{
Integer
insertTransportDateFail
(
@Param
(
"data"
)
TransportDate
data
);
}
src/main/java/com/bme/access/upload/module/service/InAndOutDateService.java
View file @
892cb6f5
...
...
@@ -9,6 +9,7 @@ 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.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -17,6 +18,8 @@ import java.time.LocalDateTime;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
@Service
@Slf4j
...
...
@@ -102,16 +105,28 @@ public class InAndOutDateService {
inAndOutDate
.
setEntryexitstatus
(
inAndOutDateUrl
.
getInOrOut
().
toString
());
inAndOutDate
.
setEntryexittime
(
inAndOutDateUrl
.
getInOutTime
());
inAndOutDate
.
setLicenseplatenumber
(
inAndOutDateUrl
.
getNumberPlate
());
inAndOutDate
.
setEntryexitnumber
(
inAndOutDateUrl
.
getGatePostCode
());
inAndOutDate
.
setBarriernumber
(
""
);
// 出入口编号
String
entryExitNumber
=
Objects
.
equals
(
inAndOutDateUrl
.
getGatePostCode
(),
"GC-2MEN"
)
?
"B"
:
Objects
.
equals
(
inAndOutDateUrl
.
getGatePostCode
(),
"GC-3MEN"
)
?
"C"
:
Objects
.
equals
(
inAndOutDateUrl
.
getGatePostCode
(),
"GC_1MEN"
)
?
"A"
:
""
;
inAndOutDate
.
setEntryexitnumber
(
entryExitNumber
);
// 道闸编号
if
(
StringUtils
.
isNotEmpty
(
entryExitNumber
))
{
String
barrierNumber
=
Objects
.
equals
(
inAndOutDateUrl
.
getInOrOut
(),
1
)
?
entryExitNumber
.
concat
(
"01"
)
:
Objects
.
equals
(
inAndOutDateUrl
.
getInOrOut
(),
2
)
?
entryExitNumber
.
concat
(
"02"
)
:
""
;
inAndOutDate
.
setBarriernumber
(
barrierNumber
);
}
else
{
inAndOutDate
.
setBarriernumber
(
""
);
}
// 货物信息
inAndOutDate
.
setCargoname
(
""
);
inAndOutDate
.
setCargoquantity
(
""
);
inAndOutDate
.
setUnit
(
"T"
);
// 车队信息
inAndOutDate
.
setEntryexitflownumber
(
inAndOutDateUrl
.
getRsn
());
inAndOutDate
.
setFleetname
(
""
);
// 进出厂流水号
inAndOutDate
.
setEntryexitflownumber
(
""
);
return
new
InAndOutDate
();
}
}
src/main/java/com/bme/access/upload/module/service/TransportDateService.java
0 → 100644
View file @
892cb6f5
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.MaterialInfo
;
import
com.bme.access.upload.model.TransportDate
;
import
com.bme.access.upload.module.dao.DataUploadTimeMapper
;
import
com.bme.access.upload.module.dao.TransportDateMapper
;
import
com.bme.access.upload.module.dao.TransportDateUploadFailMapper
;
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
TransportDateService
{
@Autowired
private
DataUploadTimeMapper
dataUploadTimeMapper
;
@Autowired
private
TransportDateMapper
transportDateMapper
;
@Autowired
private
LoginService
loginService
;
@Autowired
private
TransportDateUploadFailMapper
transportDateUploadFailMapper
;
private
final
static
String
CARGO_URL
=
"https://dctapi.soszyzg.com/dct/addCargo"
;
public
void
uploadTransportDate
()
{
// 查询上次更新时间
String
uploadTime
=
dataUploadTimeMapper
.
getUploadTime
(
104
);
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
,
104
);
}
log
.
info
(
"本次循环上传大于{}的数据"
,
uploadTime
);
String
endTime
=
LocalDateTime
.
now
().
minusMinutes
(
2
).
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
this
.
getAndUploadTransportDate
(
uploadTime
,
endTime
,
Boolean
.
TRUE
);
}
public
void
getAndUploadTransportDate
(
String
startTime
,
String
endTime
,
Boolean
flag
)
{
log
.
info
(
"执行进出厂货物上传"
);
List
<
TransportDate
>
transportDateList
=
transportDateMapper
.
selectTransportDate
(
startTime
,
endTime
);
if
(!
CollectionUtils
.
isEmpty
(
transportDateList
)){
try
{
loginService
.
login
();
}
catch
(
Exception
e
)
{
log
.
error
(
"更新token失败:{}"
,
e
.
getMessage
());
}
}
log
.
info
(
"本次货物上传记录需要上报{}条"
,
transportDateList
.
size
());
for
(
int
i
=
0
;
i
<
transportDateList
.
size
();
i
++)
{
TransportDate
transportDate
=
transportDateList
.
get
(
i
);
MaterialInfo
materialInfo
=
this
.
convertMaterialInfo
(
transportDate
);
try
{
String
bodyJson
=
JSONObject
.
toJSONString
(
materialInfo
);
HttpUtils
.
sendPost
(
CARGO_URL
,
null
,
null
,
bodyJson
);
if
(
flag
){
dataUploadTimeMapper
.
updateUploadTimeByType
(
transportDate
.
getInoutTime
(),
104
);
}
// 防止连接超时
Thread
.
sleep
(
50
);
}
catch
(
Exception
e
)
{
log
.
info
(
"货物上传失败,重新上传一次{}"
,
e
.
getMessage
());
try
{
String
bodyJson
=
JSONObject
.
toJSONString
(
materialInfo
);
HttpUtils
.
sendPost
(
CARGO_URL
,
null
,
null
,
bodyJson
);
}
catch
(
Exception
ex
)
{
log
.
info
(
"再次失败,此条数据存于失败表里{}"
,
ex
.
getMessage
());
transportDate
.
setMsg
(
ex
.
getMessage
());
transportDateUploadFailMapper
.
insertTransportDateFail
(
transportDate
);
}
finally
{
if
(
flag
){
dataUploadTimeMapper
.
updateUploadTimeByType
(
transportDate
.
getInoutTime
(),
104
);
}
}
}
finally
{
if
(
flag
){
dataUploadTimeMapper
.
updateUploadTimeByType
(
transportDate
.
getInoutTime
(),
104
);
}
}
}
if
(!
CollectionUtils
.
isEmpty
(
transportDateList
)
&&
flag
){
log
.
info
(
"本次循环上传完成,再次更新最后的上传时间{}"
,
transportDateList
.
get
(
transportDateList
.
size
()
-
1
).
getInoutTime
());
dataUploadTimeMapper
.
updateUploadTimeByType
(
transportDateList
.
get
(
transportDateList
.
size
()
-
1
).
getInoutTime
(),
104
);
}
else
{
log
.
info
(
"本次循环无数据上传"
);
}
}
public
MaterialInfo
convertMaterialInfo
(
TransportDate
transportDate
)
{
MaterialInfo
materialInfo
=
new
MaterialInfo
();
materialInfo
.
setCargoname
(
transportDate
.
getTransportName
());
materialInfo
.
setUnit
(
"T"
);
materialInfo
.
setCargoquantity
(
transportDate
.
getTransportVolume
().
toString
());
// 进出厂流水号
materialInfo
.
setEntryexitflownumber
(
""
);
return
materialInfo
;
}
}
src/main/resources/mapper/InAndOutDateUploadFailMapper.xml
View file @
892cb6f5
...
...
@@ -4,9 +4,8 @@
<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})
values (#{data.numberPlate}, #{data.inOutTime}, #{data.inOutImage}, #{data.inOrOut}, #{data.gatePostCode},
#{data.inOutPlateImage}, #{data.inoutTopImage}, #{data.vehicleColorIndex}, #{data.msg})
</insert>
</mapper>
\ No newline at end of file
src/main/resources/mapper/InAndOutDateUrlMapper.xml
View file @
892cb6f5
...
...
@@ -3,18 +3,15 @@
<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}
select ID id,
Number_plate numberPlate,
InOut_Time inOutTime,
InOut_Image inOutImage,
InorOut inOrOut,
Gate_post_code gatePostCode,
InOut_Plate_Image inOutPlateImage,
Vehicle_color_index vehicleColorIndex
from InAndOut_Date_Url where InOut_Time > #{startTime}
<if
test=
"endTime !=null and endTime != ''"
>
and InOut_Time
<
= #{endTime}
</if>
...
...
src/main/resources/mapper/TransportDateMapper.xml
0 → 100644
View file @
892cb6f5
<?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.TransportDateMapper"
>
<select
id=
"selectTransportDate"
resultType=
"com.bme.access.upload.model.TransportDate"
>
select number_plate numberPlate,
transport_name transportName,
transport_volume transportVolume,
inout_time inoutTime,
create_time createTime,
in_out inOut,
vehicle_use_type vehicleUseType,
transport_code transportCode,
transport_type transportType,
company,
load_discharge_address loadDischargeAddress,
action,
id,
insert_time insertTime,
sync_state syncState,
remark
from Transport_date where inout_time > #{startTime}
<if
test=
"endTime !=null and endTime != ''"
>
and inout_time
<
= #{endTime}
</if>
order by inout_time asc
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/TransportDateUploadFailMapper.xml
0 → 100644
View file @
892cb6f5
<?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.TransportDateUploadFailMapper"
>
<insert
id=
"insertTransportDateFail"
parameterType=
"com.bme.access.upload.model.TransportDate"
>
insert into Transport_Date_Fail (number_plate,transport_name,transport_volume,inout_time,create_time,in_out,vehicle_use_type,transport_code,transport_type,company,load_discharge_address, msg)
values (#{data.numberPlate}, #{data.transportName}, #{data.transportVolume}, #{data.inoutTime}, now(),
#{data.inOut}, #{data.vehicleUseType}, #{data.transportCode}, #{data.transportType}, #{data.company}, #{data.loadDischargeAddress}, #{data.msg})
</insert>
</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