Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
Y
YX_IDENT_beijing_auxiliary_YD
Project
Project
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
zhangyusheng
YX_IDENT_beijing_auxiliary_YD
Commits
8156d7ab
Commit
8156d7ab
authored
Dec 30, 2024
by
xiachenqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支持导出全国异地证系统制证人信息
parent
23d600c4
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
147 additions
and
47 deletions
+147
-47
pom.xml
pom.xml
+7
-0
ReadExcelApi.java
src/main/java/com/yxproject/start/api/ReadExcelApi.java
+2
-2
ReadXmlApi.java
src/main/java/com/yxproject/start/api/ReadXmlApi.java
+47
-28
PersonPostDto.java
src/main/java/com/yxproject/start/dto/PersonPostDto.java
+14
-1
FilesMapper.java
src/main/java/com/yxproject/start/mapper/FilesMapper.java
+1
-1
PersonPostMapper.java
...ain/java/com/yxproject/start/mapper/PersonPostMapper.java
+2
-1
PreproPersonMapper.java
...n/java/com/yxproject/start/mapper/PreproPersonMapper.java
+12
-2
PreproPersonService.java
...java/com/yxproject/start/service/PreproPersonService.java
+10
-9
PreproPersonServiceImpl.java
...yxproject/start/service/impl/PreproPersonServiceImpl.java
+52
-3
No files found.
pom.xml
View file @
8156d7ab
...
@@ -101,6 +101,13 @@
...
@@ -101,6 +101,13 @@
<scope>
system
</scope>
<scope>
system
</scope>
<systemPath>
${project.basedir}/lib/ojdbc6.jar
</systemPath>
<systemPath>
${project.basedir}/lib/ojdbc6.jar
</systemPath>
</dependency>
</dependency>
<dependency>
<groupId>
com.opencsv
</groupId>
<artifactId>
opencsv
</artifactId>
<version>
5.9
</version>
</dependency>
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/yxproject/start/api/ReadExcelApi.java
View file @
8156d7ab
...
@@ -171,14 +171,14 @@ public class ReadExcelApi {
...
@@ -171,14 +171,14 @@ public class ReadExcelApi {
personPostEntity
.
setGetToCounty
((
String
)
list2
.
get
(
28
));
personPostEntity
.
setGetToCounty
((
String
)
list2
.
get
(
28
));
personPostEntity
.
setBusinessType
((
String
)
list2
.
get
(
1
));
personPostEntity
.
setBusinessType
((
String
)
list2
.
get
(
1
));
//todo 格口信息
//todo 格口信息
personPostEntity
.
setLatticeMouthInformation
(
""
);
personPostEntity
.
setLatticeMouthInformation
(
(
String
)
list2
.
get
(
51
)
);
//内件性质
//内件性质
personPostEntity
.
setNatureOfTheInternal
(
""
);
personPostEntity
.
setNatureOfTheInternal
(
""
);
//内件信息
//内件信息
personPostEntity
.
setNatureOfTheInformation
(
""
);
personPostEntity
.
setNatureOfTheInformation
(
""
);
personPostEntity
.
setFirstWhite
((
String
)
list2
.
get
(
47
));
personPostEntity
.
setFirstWhite
((
String
)
list2
.
get
(
47
));
personPostEntity
.
setFileId
(
fileNameDicEntity
.
getFileId
());
personPostEntity
.
setFileId
(
fileNameDicEntity
.
getFileId
());
personPostEntity
.
setGk
(
0L
);
personPostEntity
.
setGk
(
gkMap
);
}
else
{
}
else
{
personPostEntity
.
setWaybillNumber
((
String
)
list2
.
get
(
0
));
personPostEntity
.
setWaybillNumber
((
String
)
list2
.
get
(
0
));
personPostEntity
.
setBackWaybillNumber
((
String
)
list2
.
get
(
1
));
personPostEntity
.
setBackWaybillNumber
((
String
)
list2
.
get
(
1
));
...
...
src/main/java/com/yxproject/start/api/ReadXmlApi.java
View file @
8156d7ab
...
@@ -4,6 +4,7 @@ import com.yxproject.start.dto.PreproPersonDto;
...
@@ -4,6 +4,7 @@ import com.yxproject.start.dto.PreproPersonDto;
import
com.yxproject.start.entity.CountDataEntity
;
import
com.yxproject.start.entity.CountDataEntity
;
import
com.yxproject.start.entity.FilesEntity
;
import
com.yxproject.start.entity.FilesEntity
;
import
com.yxproject.start.service.ImportXmlService
;
import
com.yxproject.start.service.ImportXmlService
;
import
com.yxproject.start.service.impl.PreproPersonServiceImpl
;
import
com.yxproject.start.utils.IDCardFactory
;
import
com.yxproject.start.utils.IDCardFactory
;
import
com.yxproject.start.utils.YXJSONResponse
;
import
com.yxproject.start.utils.YXJSONResponse
;
import
com.yxproject.start.utils.YXStringUtils
;
import
com.yxproject.start.utils.YXStringUtils
;
...
@@ -13,7 +14,11 @@ import org.apache.commons.lang.StringUtils;
...
@@ -13,7 +14,11 @@ import org.apache.commons.lang.StringUtils;
import
org.apache.log4j.Logger
;
import
org.apache.log4j.Logger
;
import
org.apache.log4j.MDC
;
import
org.apache.log4j.MDC
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentException
;
import
org.springframework.core.io.FileSystemResource
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -27,9 +32,11 @@ import javax.ws.rs.Consumes;
...
@@ -27,9 +32,11 @@ import javax.ws.rs.Consumes;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.Produces
;
import
javax.ws.rs.core.Context
;
import
javax.ws.rs.core.Context
;
import
javax.ws.rs.core.MediaType
;
import
javax.ws.rs.core.MediaType
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStream
;
import
java.io.UnsupportedEncodingException
;
import
java.io.UnsupportedEncodingException
;
import
java.time.LocalDate
;
import
java.util.*
;
import
java.util.*
;
@RestController
@RestController
...
@@ -37,11 +44,13 @@ import java.util.*;
...
@@ -37,11 +44,13 @@ import java.util.*;
public
class
ReadXmlApi
{
public
class
ReadXmlApi
{
private
final
ImportXmlService
importXmlService
;
private
final
ImportXmlService
importXmlService
;
private
final
PreproPersonServiceImpl
preproPersonServiceImpl
;
Logger
logger
=
Logger
.
getLogger
(
ReadXmlApi
.
class
);
Logger
logger
=
Logger
.
getLogger
(
ReadXmlApi
.
class
);
public
ReadXmlApi
(
ImportXmlService
importXmlService
)
{
public
ReadXmlApi
(
ImportXmlService
importXmlService
,
PreproPersonServiceImpl
preproPersonServiceImpl
)
{
this
.
importXmlService
=
importXmlService
;
this
.
importXmlService
=
importXmlService
;
this
.
preproPersonServiceImpl
=
preproPersonServiceImpl
;
}
}
/**
/**
...
@@ -55,8 +64,8 @@ public class ReadXmlApi {
...
@@ -55,8 +64,8 @@ public class ReadXmlApi {
@Consumes
(
MediaType
.
MULTIPART_FORM_DATA
)
@Consumes
(
MediaType
.
MULTIPART_FORM_DATA
)
@Produces
(
MediaType
.
APPLICATION_JSON
)
@Produces
(
MediaType
.
APPLICATION_JSON
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Map
<
String
,
Object
>
getXMLToCheck
(
@Context
HttpServletResponse
resp
,
HttpServletRequest
requ
)
{
public
Map
<
String
,
Object
>
getXMLToCheck
(
@Context
HttpServletResponse
resp
,
HttpServletRequest
requ
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
List
<
String
>
errList
=
new
ArrayList
<>();
List
<
String
>
errList
=
new
ArrayList
<>();
String
remoteAddr
=
requ
.
getRemoteAddr
();
String
remoteAddr
=
requ
.
getRemoteAddr
();
MDC
.
put
(
"ip"
,
remoteAddr
);
MDC
.
put
(
"ip"
,
remoteAddr
);
...
@@ -82,7 +91,7 @@ public class ReadXmlApi {
...
@@ -82,7 +91,7 @@ public class ReadXmlApi {
MultipartHttpServletRequest
multiRequest
=
(
MultipartHttpServletRequest
)
requ
;
MultipartHttpServletRequest
multiRequest
=
(
MultipartHttpServletRequest
)
requ
;
Iterator
<
String
>
iter
=
multiRequest
.
getFileNames
();
Iterator
<
String
>
iter
=
multiRequest
.
getFileNames
();
while
(
iter
.
hasNext
())
{
while
(
iter
.
hasNext
())
{
logger
.
info
(
"开始获取整体文件信息! "
+
System
.
currentTimeMillis
());
logger
.
info
(
"开始获取整体文件信息! "
+
System
.
currentTimeMillis
());
List
<
MultipartFile
>
fileRows
=
multiRequest
.
getFiles
(
iter
.
next
());
List
<
MultipartFile
>
fileRows
=
multiRequest
.
getFiles
(
iter
.
next
());
for
(
MultipartFile
item
:
fileRows
)
{
for
(
MultipartFile
item
:
fileRows
)
{
try
{
try
{
...
@@ -93,47 +102,47 @@ public class ReadXmlApi {
...
@@ -93,47 +102,47 @@ public class ReadXmlApi {
if
(
StringUtils
.
isBlank
(
filename
))
{
if
(
StringUtils
.
isBlank
(
filename
))
{
continue
;
continue
;
}
}
logger
.
error
(
"获取"
+
filename
+
"文件信息! "
+
System
.
currentTimeMillis
());
logger
.
error
(
"获取"
+
filename
+
"文件信息! "
+
System
.
currentTimeMillis
());
InputStream
in
=
item
.
getInputStream
();
InputStream
in
=
item
.
getInputStream
();
String
str
=
YXStringUtils
.
inputStream2String
(
in
,
"utf-8"
);
String
str
=
YXStringUtils
.
inputStream2String
(
in
,
"utf-8"
);
in
.
close
();
in
.
close
();
IDCardFactory
idCardFactory
=
new
IDCardFactory
();
IDCardFactory
idCardFactory
=
new
IDCardFactory
();
logger
.
error
(
"开始解析"
+
filename
+
"文件! "
+
System
.
currentTimeMillis
());
logger
.
error
(
"开始解析"
+
filename
+
"文件! "
+
System
.
currentTimeMillis
());
boolean
isGAT
=
idCardFactory
.
isGAT
(
filename
);
boolean
isGAT
=
idCardFactory
.
isGAT
(
filename
);
Map
<
String
,
Object
>
objectMap
=
isGAT
?
idCardFactory
.
extractGATCard
(
str
,
date
)
:
idCardFactory
.
extractIDCard
(
str
,
date
);
Map
<
String
,
Object
>
objectMap
=
isGAT
?
idCardFactory
.
extractGATCard
(
str
,
date
)
:
idCardFactory
.
extractIDCard
(
str
,
date
);
logger
.
error
(
"开始存储"
+
filename
+
"文件! "
+
System
.
currentTimeMillis
());
logger
.
error
(
"开始存储"
+
filename
+
"文件! "
+
System
.
currentTimeMillis
());
Boolean
aBoolean
=
idcardsFactory
(
objectMap
);
Boolean
aBoolean
=
idcardsFactory
(
objectMap
);
logger
.
error
(
"存储"
+
filename
+
"文件完成! "
+
System
.
currentTimeMillis
());
logger
.
error
(
"存储"
+
filename
+
"文件完成! "
+
System
.
currentTimeMillis
());
if
(!
aBoolean
){
if
(!
aBoolean
)
{
errList
.
add
(
"上传文件名:"
+
filename
+
",文件上传失败"
);
errList
.
add
(
"上传文件名:"
+
filename
+
",文件上传失败"
);
}
}
}
catch
(
UnsupportedEncodingException
e
)
{
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"UnsupportedEncodingException 上传文件时发现文件编码错误"
,
e
);
logger
.
error
(
"UnsupportedEncodingException 上传文件时发现文件编码错误"
,
e
);
// yxresp.outPutError("UnsupportedEncodingException", "上传文件时发现文件编码错误:" + e.getMessage());
// yxresp.outPutError("UnsupportedEncodingException", "上传文件时发现文件编码错误:" + e.getMessage());
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发现文件编码错误"
);
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发现文件编码错误"
);
continue
;
continue
;
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"IOException 上传文件时发生IO错误"
,
e
);
logger
.
error
(
"IOException 上传文件时发生IO错误"
,
e
);
// yxresp.outPutError("IOException", "上传文件时发生IO错误:" + e.getMessage());
// yxresp.outPutError("IOException", "上传文件时发生IO错误:" + e.getMessage());
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生IO错误"
);
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生IO错误"
);
continue
;
continue
;
}
catch
(
DocumentException
e
)
{
}
catch
(
DocumentException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"DocumentException 上传文件时发生错误,非法XML文件"
,
e
);
logger
.
error
(
"DocumentException 上传文件时发生错误,非法XML文件"
,
e
);
// yxresp.outPutError("DocumentException", "上传文件时发生IO错误:" + e.getMessage());
// yxresp.outPutError("DocumentException", "上传文件时发生IO错误:" + e.getMessage());
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生错误,非法XML文件"
);
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生错误,非法XML文件"
);
continue
;
continue
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"Exception 上传文件时发生错误"
,
e
);
logger
.
error
(
"Exception 上传文件时发生错误"
,
e
);
// yxresp.outPutError("Exception", "上传文件时发生错误,非法XML文件:" + filename);
// yxresp.outPutError("Exception", "上传文件时发生错误,非法XML文件:" + filename);
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生错误"
);
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生错误"
);
continue
;
continue
;
}
}
}
}
...
@@ -141,20 +150,20 @@ public class ReadXmlApi {
...
@@ -141,20 +150,20 @@ public class ReadXmlApi {
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"上传文件名"
+
filename
);
logger
.
error
(
"FileUploadException 文件上传发生异常"
,
e
);
logger
.
error
(
"FileUploadException 文件上传发生异常"
,
e
);
// yxresp.outPutError("FileUploadException", "文件上传发生异常:" + e.getMessage());
// yxresp.outPutError("FileUploadException", "文件上传发生异常:" + e.getMessage());
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生错误"
);
errList
.
add
(
"上传文件名:"
+
filename
+
",上传文件时发生错误"
);
}
}
if
(
errList
.
size
()
==
0
){
if
(
errList
.
size
()
==
0
)
{
map
.
put
(
"msg"
,
"文件上传成功!"
);
map
.
put
(
"msg"
,
"文件上传成功!"
);
map
.
put
(
"code"
,
"200"
);
map
.
put
(
"code"
,
"200"
);
}
else
{
}
else
{
map
.
put
(
"msg"
,
"文件上传失败!"
);
map
.
put
(
"msg"
,
"文件上传失败!"
);
map
.
put
(
"code"
,
"500"
);
map
.
put
(
"code"
,
"500"
);
map
.
put
(
"errMsg"
,
errList
);
map
.
put
(
"errMsg"
,
errList
);
}
}
logger
.
error
(
"所有文件上传完成! "
+
System
.
currentTimeMillis
());
logger
.
error
(
"所有文件上传完成! "
+
System
.
currentTimeMillis
());
return
map
;
return
map
;
}
}
...
@@ -269,4 +278,14 @@ public class ReadXmlApi {
...
@@ -269,4 +278,14 @@ public class ReadXmlApi {
return
str
.
replace
(
"-"
,
""
).
replace
(
" "
,
""
).
replace
(
":"
,
""
);
return
str
.
replace
(
"-"
,
""
).
replace
(
" "
,
""
).
replace
(
":"
,
""
);
}
}
@GetMapping
(
"exportCsv"
)
public
ResponseEntity
<
FileSystemResource
>
exportCsv
()
throws
IOException
{
String
fileName
=
preproPersonServiceImpl
.
generateCsv
();
FileSystemResource
resource
=
new
FileSystemResource
(
fileName
);
// 返回文件下载响应
return
ResponseEntity
.
ok
()
.
header
(
HttpHeaders
.
CONTENT_DISPOSITION
,
"attachment; filename="
+
fileName
)
.
contentType
(
org
.
springframework
.
http
.
MediaType
.
parseMediaType
(
"text/csv"
))
.
body
(
resource
);
}
}
}
src/main/java/com/yxproject/start/dto/PersonPostDto.java
View file @
8156d7ab
...
@@ -2,6 +2,9 @@ package com.yxproject.start.dto;
...
@@ -2,6 +2,9 @@ package com.yxproject.start.dto;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
javax.persistence.Basic
;
import
javax.persistence.Column
;
import
javax.persistence.Column
;
...
@@ -35,8 +38,18 @@ public class PersonPostDto {
...
@@ -35,8 +38,18 @@ public class PersonPostDto {
private
String
natureOfTheInformation
;
private
String
natureOfTheInformation
;
private
long
id
;
private
long
id
;
private
Long
state
;
private
Long
state
;
private
String
playState
;
@JsonProperty
(
"playType"
)
@Column
(
name
=
"PLAY_STATE"
)
public
String
getPlayState
()
{
return
playState
;
}
public
void
setPlayState
(
String
playState
)
{
this
.
playState
=
playState
;
}
@Column
(
name
=
"WAYBILL_NUMBER"
)
@Column
(
name
=
"WAYBILL_NUMBER"
)
public
String
getWaybillNumber
()
{
public
String
getWaybillNumber
()
{
return
waybillNumber
;
return
waybillNumber
;
...
...
src/main/java/com/yxproject/start/mapper/FilesMapper.java
View file @
8156d7ab
...
@@ -12,7 +12,7 @@ public interface FilesMapper {
...
@@ -12,7 +12,7 @@ public interface FilesMapper {
@Insert
(
"INSERT INTO FILES (VERSION_CODE,DWDM,DWMC,RECORD_NUMBER,CREATE_TIME,SOURCE_FILE_NAME,UPLOAD_DATE)"
+
@Insert
(
"INSERT INTO FILES (VERSION_CODE,DWDM,DWMC,RECORD_NUMBER,CREATE_TIME,SOURCE_FILE_NAME,UPLOAD_DATE)"
+
"VALUES(#{versionCode},#{dwdm},#{dwmc},#{recordNumber},#{createTime},#{sourceFileName},#{uploadDate})"
)
"VALUES(#{versionCode},#{dwdm},#{dwmc},#{recordNumber},#{createTime},#{sourceFileName},#{uploadDate})"
)
@Options
(
useGeneratedKeys
=
true
,
keyProperty
=
"id"
,
keyColumn
=
"id"
)
@Options
(
useGeneratedKeys
=
true
,
keyProperty
=
"id"
,
keyColumn
=
"id"
)
public
long
insertFiles
(
FilesEntity
filesEntity
);
long
insertFiles
(
FilesEntity
filesEntity
);
...
...
src/main/java/com/yxproject/start/mapper/PersonPostMapper.java
View file @
8156d7ab
...
@@ -3,6 +3,7 @@ package com.yxproject.start.mapper;
...
@@ -3,6 +3,7 @@ package com.yxproject.start.mapper;
import
com.yxproject.start.dto.PersonPostDto
;
import
com.yxproject.start.dto.PersonPostDto
;
import
com.yxproject.start.entity.GATTrackEntity
;
import
com.yxproject.start.entity.GATTrackEntity
;
import
com.yxproject.start.entity.PersonPostEntity
;
import
com.yxproject.start.entity.PersonPostEntity
;
import
com.yxproject.start.entity.PreproPersonEntity
;
import
org.apache.ibatis.annotations.*
;
import
org.apache.ibatis.annotations.*
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -314,7 +315,7 @@ public interface PersonPostMapper {
...
@@ -314,7 +315,7 @@ public interface PersonPostMapper {
@Select
(
"SELECT ID,WAYBILL_NUMBER,BACK_WAYBILL_NUMBER,ORDER_NUMBER,RECIPIENT_NAME,RECIPIENT_PHONE,"
+
@Select
(
"SELECT ID,WAYBILL_NUMBER,BACK_WAYBILL_NUMBER,ORDER_NUMBER,RECIPIENT_NAME,RECIPIENT_PHONE,"
+
"RECIPIENT_ADDRESS,APPLICANT_NAME,PRINT_DATE,SENDER_NAME,SENDER_PHONE,SENDER_ADDRESS,"
+
"RECIPIENT_ADDRESS,APPLICANT_NAME,PRINT_DATE,SENDER_NAME,SENDER_PHONE,SENDER_ADDRESS,"
+
"GET_TO_PROVINCE,GET_TO_CITY,GET_TO_COUNTY,BUSINESS_TYPE,"
+
"GET_TO_PROVINCE,GET_TO_CITY,GET_TO_COUNTY,BUSINESS_TYPE,"
+
"LATTICE_MOUTH_INFORMATION,NATURE_OF_THE_INTERNAL,NATURE_OF_THE_INFORMATION,"
+
"LATTICE_MOUTH_INFORMATION,NATURE_OF_THE_INTERNAL,NATURE_OF_THE_INFORMATION,
PLAY_STATE,
"
+
"STATE FROM PERSON_POST WHERE ID_CARD=#{idCard} AND BEGIN_USEFUL_LIFE=#{startDate} AND VALID_PERIOD_END=#{endDate} AND STATE1=0"
)
"STATE FROM PERSON_POST WHERE ID_CARD=#{idCard} AND BEGIN_USEFUL_LIFE=#{startDate} AND VALID_PERIOD_END=#{endDate} AND STATE1=0"
)
List
<
PersonPostDto
>
getPostInfoAtMachine
(
@Param
(
"idCard"
)
String
idCard
,
@Param
(
"startDate"
)
String
startDate
,
@Param
(
"endDate"
)
String
endDate
);
List
<
PersonPostDto
>
getPostInfoAtMachine
(
@Param
(
"idCard"
)
String
idCard
,
@Param
(
"startDate"
)
String
startDate
,
@Param
(
"endDate"
)
String
endDate
);
...
...
src/main/java/com/yxproject/start/mapper/PreproPersonMapper.java
View file @
8156d7ab
...
@@ -262,8 +262,17 @@ public interface PreproPersonMapper {
...
@@ -262,8 +262,17 @@ public interface PreproPersonMapper {
@Select
(
"select UPLOAD_NO,ACCEPT_NO from ACCYD_DBA.ACC_CARD_T@ACCUYD_LINK WHERE ACCEPT_NO =#{acceptNo}\n"
+
@Select
(
"select UPLOAD_NO,ACCEPT_NO from ACCYD_DBA.ACC_CARD_T@ACCUYD_LINK WHERE ACCEPT_NO =#{acceptNo}\n"
+
"UNION all \n"
+
"UNION all \n"
+
"select UPLOAD_NO,ACCEPT_NO from PRODYD_DBA.PROD_CARD_T@PRODYD_LINK WHERE ACCEPT_NO =#{acceptNo}"
)
"select UPLOAD_NO,ACCEPT_NO from PRODYD_DBA.PROD_CARD_T@PRODYD_LINK WHERE ACCEPT_NO =#{acceptNo}"
)
public
List
<
Map
<
String
,
Object
>>
selectUploadNoByAcceptNo
(
String
acceptNo
);
List
<
Map
<
String
,
Object
>>
selectUploadNoByAcceptNo
(
String
acceptNo
);
@Select
(
"SELECT TP_PATH FROM PREPRO_PERSON WHERE FILE_ID = #{id}"
)
@Select
(
"SELECT TP_PATH FROM PREPRO_PERSON WHERE FILE_ID = #{id}"
)
public
List
<
PreproPersonEntity
>
selectPath
(
String
id
);
List
<
PreproPersonEntity
>
selectPath
(
String
id
);
@Select
(
"SELECT PREPRO_PERSON.* "
+
"FROM PREPRO_PERSON "
+
"LEFT JOIN YINGXINYD.FILES F ON PREPRO_PERSON.FILE_ID = F.ID "
+
"WHERE F.UPLOAD_DATE >= TRUNC(SYSDATE) "
+
"AND F.UPLOAD_DATE < TRUNC(SYSDATE) + 1 "
+
"AND SUBSTR(PREPRO_PERSON.JMSFZSLH, 18, 1) = '8' "
+
"ORDER BY PREPRO_PERSON.ID DESC"
)
List
<
PreproPersonEntity
>
selectPreproPersonsToday
();
}
}
\ No newline at end of file
src/main/java/com/yxproject/start/service/PreproPersonService.java
View file @
8156d7ab
...
@@ -3,6 +3,7 @@ package com.yxproject.start.service;
...
@@ -3,6 +3,7 @@ package com.yxproject.start.service;
import
com.yxproject.start.dto.PreproPersonDto
;
import
com.yxproject.start.dto.PreproPersonDto
;
import
com.yxproject.start.entity.PreproPersonEntity
;
import
com.yxproject.start.entity.PreproPersonEntity
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -12,21 +13,21 @@ import java.util.Map;
...
@@ -12,21 +13,21 @@ import java.util.Map;
*/
*/
public
interface
PreproPersonService
{
public
interface
PreproPersonService
{
public
boolean
uploadState
(
String
acceptNo
,
String
state
);
boolean
uploadState
(
String
acceptNo
,
String
state
);
public
List
<
Map
<
String
,
Object
>>
selectUploadNoByAcceptNo
(
String
acceptNo
);
List
<
Map
<
String
,
Object
>>
selectUploadNoByAcceptNo
(
String
acceptNo
);
public
boolean
updatePreproPersonIsValid
(
PreproPersonEntity
preproPersonEntity
);
boolean
updatePreproPersonIsValid
(
PreproPersonEntity
preproPersonEntity
);
public
List
<
Map
<
String
,
Object
>>
selectPreproPerson
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
currPage
,
String
pageSize
,
String
downloadState
);
List
<
Map
<
String
,
Object
>>
selectPreproPerson
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
currPage
,
String
pageSize
,
String
downloadState
);
public
List
<
Map
<
String
,
Object
>>
selectPreproPerson
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
downloadState
);
List
<
Map
<
String
,
Object
>>
selectPreproPerson
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
downloadState
);
public
List
<
PreproPersonDto
>
selectAllPreproPerson
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
downloadState
);
List
<
PreproPersonDto
>
selectAllPreproPerson
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
downloadState
);
public
int
selectPreproPersonCount
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
downloadState
);
int
selectPreproPersonCount
(
String
uploadNo
,
String
IDCard
,
String
oldFile
,
String
newFile
,
String
SSXQDM
,
String
cardType
,
String
state
,
String
uploadDate1
,
String
uploadDate2
,
String
downloadState
);
public
boolean
updatePreproPerson_NewFileName
(
List
<
PreproPersonDto
>
preproPersonEntities
);
boolean
updatePreproPerson_NewFileName
(
List
<
PreproPersonDto
>
preproPersonEntities
);
String
generateCsv
()
throws
IOException
;
}
}
src/main/java/com/yxproject/start/service/impl/PreproPersonServiceImpl.java
View file @
8156d7ab
package
com
.
yxproject
.
start
.
service
.
impl
;
package
com
.
yxproject
.
start
.
service
.
impl
;
import
com.opencsv.CSVWriter
;
import
com.yxproject.start.dto.PreproPersonDto
;
import
com.yxproject.start.dto.PreproPersonDto
;
import
com.yxproject.start.entity.PreproPersonEntity
;
import
com.yxproject.start.entity.PreproPersonEntity
;
import
com.yxproject.start.mapper.PreproPersonMapper
;
import
com.yxproject.start.mapper.PreproPersonMapper
;
...
@@ -9,10 +10,11 @@ import org.dom4j.Document;
...
@@ -9,10 +10,11 @@ import org.dom4j.Document;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentHelper
;
import
org.dom4j.DocumentHelper
;
import
org.dom4j.Element
;
import
org.dom4j.Element
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.io.*
;
import
java.io.*
;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDate
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -23,8 +25,12 @@ import java.util.Map;
...
@@ -23,8 +25,12 @@ import java.util.Map;
*/
*/
@Service
@Service
public
class
PreproPersonServiceImpl
implements
PreproPersonService
{
public
class
PreproPersonServiceImpl
implements
PreproPersonService
{
@Autowired
private
PreproPersonMapper
preproPersonMapper
;
private
final
PreproPersonMapper
preproPersonMapper
;
public
PreproPersonServiceImpl
(
PreproPersonMapper
preproPersonMapper
)
{
this
.
preproPersonMapper
=
preproPersonMapper
;
}
@Override
@Override
public
boolean
uploadState
(
String
acceptNo
,
String
state
)
{
public
boolean
uploadState
(
String
acceptNo
,
String
state
)
{
...
@@ -173,4 +179,47 @@ public class PreproPersonServiceImpl implements PreproPersonService {
...
@@ -173,4 +179,47 @@ public class PreproPersonServiceImpl implements PreproPersonService {
public
List
<
Map
<
String
,
Object
>>
selectUploadNoByAcceptNo
(
String
acceptNo
)
{
public
List
<
Map
<
String
,
Object
>>
selectUploadNoByAcceptNo
(
String
acceptNo
)
{
return
preproPersonMapper
.
selectUploadNoByAcceptNo
(
acceptNo
);
return
preproPersonMapper
.
selectUploadNoByAcceptNo
(
acceptNo
);
}
}
@Override
public
String
generateCsv
()
throws
IOException
{
List
<
PreproPersonEntity
>
dataList
=
preproPersonMapper
.
selectPreproPersonsToday
();
LocalDate
date
=
LocalDate
.
now
();
// 定义 CSV 文件路径
String
csvFile
=
"./"
+
date
+
".csv"
;
// 创建 CSVWriter
// 使用 OutputStreamWriter 和 FileOutputStream 来设置 UTF-8 编码
try
(
FileOutputStream
fileOut
=
new
FileOutputStream
(
csvFile
);
OutputStreamWriter
writer
=
new
OutputStreamWriter
(
fileOut
,
StandardCharsets
.
UTF_8
))
{
// 可选:写入 UTF-8 BOM(用于兼容 Excel)
writer
.
write
(
'\
uFEFF
'
);
// 创建 CSVWriter
CSVWriter
csvWriter
=
new
CSVWriter
(
writer
);
// 写入表头
String
[]
header
=
{
"受理号"
,
"身份证号"
,
"姓名"
,
"联系电话"
,
"申领原因代码"
,
"受理日期"
,
"受理单位代码"
};
csvWriter
.
writeNext
(
header
);
// 写入数据
for
(
PreproPersonEntity
data
:
dataList
)
{
// 确保所有字段都作为字符串保存,防止 Excel 将其解析为数字
String
[]
row
=
{
data
.
getJmsfzslh
(),
data
.
getGmsfhm
(),
data
.
getXm
(),
// 姓名
data
.
getSjrLxdh
(),
// 联系电话
data
.
getJmsfzslyydm
(),
// 原因代码
data
.
getJmsfzslh
().
substring
(
9
,
17
),
// 身份证号后部分
data
.
getJmsfzslh
().
substring
(
0
,
9
)
// 身份证号前部分
};
csvWriter
.
writeNext
(
row
);
}
}
System
.
out
.
println
(
"CSV 文件生成成功,路径为:"
+
csvFile
);
return
csvFile
;
}
}
}
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