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
e7b0c24b
Commit
e7b0c24b
authored
Jul 30, 2024
by
xiachenqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
港澳台支持v0.5
parent
40c8d753
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
187 additions
and
119 deletions
+187
-119
pom.xml
pom.xml
+8
-12
ExportXMLApi.java
src/main/java/com/yxproject/start/api/ExportXMLApi.java
+43
-49
LogApi.java
src/main/java/com/yxproject/start/api/LogApi.java
+14
-16
ReadExcelApi.java
src/main/java/com/yxproject/start/api/ReadExcelApi.java
+6
-0
ReceiptApi.java
src/main/java/com/yxproject/start/api/ReceiptApi.java
+10
-5
queryPreproPerson.java
src/main/java/com/yxproject/start/api/queryPreproPerson.java
+6
-0
LogMapper.java
src/main/java/com/yxproject/start/mapper/LogMapper.java
+26
-17
ImportXmlService.java
...in/java/com/yxproject/start/service/ImportXmlService.java
+3
-3
LogService.java
src/main/java/com/yxproject/start/service/LogService.java
+5
-5
ImportXmlServiceImpl.java
...om/yxproject/start/service/impl/ImportXmlServiceImpl.java
+24
-0
LogServiceImpl.java
...java/com/yxproject/start/service/impl/LogServiceImpl.java
+9
-7
YXStringUtils.java
src/main/java/com/yxproject/start/utils/YXStringUtils.java
+6
-4
YdssUtils.java
src/main/java/com/yxproject/start/utils/YdssUtils.java
+18
-0
cardProdPackage.html
...sources/static/views/cardProdPackage/cardProdPackage.html
+7
-1
cardProdPackage.js
...resources/static/views/cardProdPackage/cardProdPackage.js
+2
-0
No files found.
pom.xml
View file @
e7b0c24b
...
...
@@ -54,11 +54,6 @@
<version>
2.4
</version>
<classifier>
jdk15
</classifier>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
<artifactId>
poi
</artifactId>
<version>
4.0.1
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-test
</artifactId>
...
...
@@ -74,7 +69,6 @@
<artifactId>
poi-ooxml-schemas
</artifactId>
<version>
3.14
</version>
</dependency>
<dependency>
<groupId>
net.sourceforge.jexcelapi
</groupId>
<artifactId>
jxl
</artifactId>
...
...
@@ -85,11 +79,6 @@
<artifactId>
javax.ws.rs-api
</artifactId>
<version>
2.0
</version>
</dependency>
<dependency>
<groupId>
commons-fileupload
</groupId>
<artifactId>
commons-fileupload
</artifactId>
<version>
1.3.3
</version>
</dependency>
<dependency>
<groupId>
org.apache.poi
</groupId>
...
...
@@ -105,7 +94,13 @@
<groupId>
org.projectlombok
</groupId>
<artifactId>
lombok
</artifactId>
</dependency>
<dependency>
<groupId>
com.oracle
</groupId>
<artifactId>
ojdbc6
</artifactId>
<version>
11.2.0.3
</version>
<scope>
system
</scope>
<systemPath>
${project.basedir}/lib/ojdbc6.jar
</systemPath>
</dependency>
</dependencies>
<build>
...
...
@@ -114,6 +109,7 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-maven-plugin
</artifactId>
<configuration>
<includeSystemScope>
true
</includeSystemScope>
<excludes>
<exclude>
<groupId>
org.projectlombok
</groupId>
...
...
src/main/java/com/yxproject/start/api/ExportXMLApi.java
View file @
e7b0c24b
...
...
@@ -3,7 +3,6 @@ package com.yxproject.start.api;
import
com.yxproject.start.dto.PreproPersonDto
;
import
com.yxproject.start.entity.FilesEntity
;
import
com.yxproject.start.entity.NewFilesEntity
;
import
com.yxproject.start.mapper.PreproPersonMapper
;
import
com.yxproject.start.service.FilesService
;
import
com.yxproject.start.service.NewFilesService
;
import
com.yxproject.start.service.PreproPersonService
;
...
...
@@ -15,21 +14,18 @@ import org.dom4j.DocumentHelper;
import
org.dom4j.Element
;
import
org.dom4j.io.OutputFormat
;
import
org.dom4j.io.XMLWriter
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStreamWriter
;
import
java.sql.SQLException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.zip.ZipOutputStream
;
import
static
com
.
yxproject
.
start
.
utils
.
YXStringUtils
.
getCurrentDate2String
;
...
...
@@ -41,36 +37,36 @@ import static com.yxproject.start.utils.YXStringUtils.getCurrentDate2String;
@RestController
@RequestMapping
(
"exportXML"
)
public
class
ExportXMLApi
{
@Autowired
private
PreproPersonService
preproPersonService
;
@Autowired
private
NewFilesService
newFilesService
;
@Autowired
private
FilesService
filesService
;
@Autowired
private
QuerySequenceSercive
querySequenceSercive
;
private
static
ExecutorService
threadPool
=
Executors
.
newCachedThreadPool
();
private
static
final
ExecutorService
threadPool
=
Executors
.
newCachedThreadPool
();
private
final
PreproPersonService
preproPersonService
;
private
final
NewFilesService
newFilesService
;
private
final
FilesService
filesService
;
private
final
QuerySequenceSercive
querySequenceSercive
;
Logger
logger
=
Logger
.
getLogger
(
ExportXMLApi
.
class
);
public
ExportXMLApi
(
PreproPersonService
preproPersonService
,
NewFilesService
newFilesService
,
FilesService
filesService
,
QuerySequenceSercive
querySequenceSercive
)
{
this
.
preproPersonService
=
preproPersonService
;
this
.
newFilesService
=
newFilesService
;
this
.
filesService
=
filesService
;
this
.
querySequenceSercive
=
querySequenceSercive
;
}
/**
* 导出制证数据包
*/
@RequestMapping
(
"printXmlData"
)
public
byte
[]
printXmlData
(
@RequestParam
(
"uploadNo"
)
String
uploadNo
,
@RequestParam
(
"IDCard"
)
String
IDCard
,
@RequestParam
(
"oldFile"
)
String
oldFile
,
@RequestParam
(
"newFile"
)
String
newFile
,
@RequestParam
(
"SSXQDM"
)
String
SSXQDM
,
@RequestParam
(
"cardType"
)
String
cardType
,
@RequestParam
(
"state"
)
String
state
,
@RequestParam
(
"uploadDate1"
)
String
uploadDate1
,
@RequestParam
(
"uploadDate2"
)
String
uploadDate2
,
@RequestParam
(
"downloadState"
)
String
downloadState
,
HttpServletResponse
response
,
HttpServletRequest
requ
)
throws
SQLException
{
public
byte
[]
printXmlData
(
@RequestParam
(
"uploadNo"
)
String
uploadNo
,
@RequestParam
(
"IDCard"
)
String
IDCard
,
@RequestParam
(
"oldFile"
)
String
oldFile
,
@RequestParam
(
"newFile"
)
String
newFile
,
@RequestParam
(
"SSXQDM"
)
String
SSXQDM
,
@RequestParam
(
"cardType"
)
String
cardType
,
@RequestParam
(
"state"
)
String
state
,
@RequestParam
(
"uploadDate1"
)
String
uploadDate1
,
@RequestParam
(
"uploadDate2"
)
String
uploadDate2
,
@RequestParam
(
"downloadState"
)
String
downloadState
,
HttpServletResponse
response
)
{
//使用Servlet实现文件下载的时候,避免浏览器自动打开文件
List
<
PreproPersonDto
>
preproPersonEntities
=
new
ArrayList
<>();
List
<
PreproPersonDto
>
preproPersonDtos
=
null
;
logger
.
info
(
new
Date
()+
"开始查询"
);
preproPersonDtos
=
preproPersonService
.
selectAllPreproPerson
(
uploadNo
,
IDCard
,
oldFile
,
newFile
,
SSXQDM
,
cardType
,
state
,
replaceDate
(
uploadDate1
),
replaceDate
(
uploadDate2
),
downloadState
);
preproPersonEntities
.
addAll
(
preproPersonDtos
);
logger
.
info
(
new
Date
()+
"结束查询"
);
if
(
preproPersonEntities
.
size
()
>
0
)
{
List
<
PreproPersonDto
>
preProPersonDtoList
;
logger
.
info
(
new
Date
()
+
"开始查询"
);
preProPersonDtoList
=
preproPersonService
.
selectAllPreproPerson
(
uploadNo
,
IDCard
,
oldFile
,
newFile
,
SSXQDM
,
cardType
,
state
,
replaceDate
(
uploadDate1
),
replaceDate
(
uploadDate2
),
downloadState
);
List
<
PreproPersonDto
>
preProPersonEntities
=
new
ArrayList
<>(
preProPersonDtoList
);
logger
.
info
(
new
Date
()
+
"结束查询"
);
if
(!
preProPersonEntities
.
isEmpty
())
{
//将制证详情详细划分
Map
<
Long
,
Object
>
map
=
new
LinkedHashMap
<>();
for
(
PreproPersonDto
preproPersonDto
:
pre
p
roPersonEntities
)
{
if
(
map
!=
null
&&
map
.
containsKey
(
preproPersonDto
.
getCardTypeId
()))
{
for
(
PreproPersonDto
preproPersonDto
:
pre
P
roPersonEntities
)
{
if
(
map
.
containsKey
(
preproPersonDto
.
getCardTypeId
()))
{
List
<
PreproPersonDto
>
preproPersonEntityList
=
(
List
<
PreproPersonDto
>)
map
.
get
(
preproPersonDto
.
getCardTypeId
());
preproPersonEntityList
.
add
(
preproPersonDto
);
map
.
put
(
preproPersonDto
.
getCardTypeId
(),
preproPersonEntityList
);
...
...
@@ -82,15 +78,14 @@ public class ExportXMLApi {
}
List
<
List
<
Map
<
String
,
Object
>>>
lists
=
new
ArrayList
<>();
for
(
Long
cardTypeId
:
map
.
keySet
())
{
//区分邮寄证和大批证件类型
//大批证
if
(
cardTypeId
==
0
||
cardTypeId
==
10
)
{
if
(
cardTypeId
==
0
||
cardTypeId
==
10
||
cardTypeId
==
5
||
cardTypeId
==
7
)
{
List
list
=
new
ArrayList
();
List
<
PreproPersonDto
>
preproPersonEntityList
=
(
List
<
PreproPersonDto
>)
map
.
get
(
cardTypeId
);
Map
<
String
,
Object
>
mapFileId
=
new
LinkedHashMap
<>();
for
(
PreproPersonDto
preproPersonEntity
:
preproPersonEntityList
)
{
if
(
mapFileId
!=
null
&&
mapFileId
.
containsKey
(
preproPersonEntity
.
getDwdm
()))
{
if
(
mapFileId
.
containsKey
(
preproPersonEntity
.
getDwdm
()))
{
List
<
PreproPersonDto
>
preproPersonEntityListFileId
=
(
List
<
PreproPersonDto
>)
mapFileId
.
get
(
preproPersonEntity
.
getDwdm
());
preproPersonEntityListFileId
.
add
(
preproPersonEntity
);
mapFileId
.
put
(
preproPersonEntity
.
getDwdm
(),
preproPersonEntityListFileId
);
...
...
@@ -114,7 +109,7 @@ public class ExportXMLApi {
}
List
<
String
>
documentList
=
new
ArrayList
<>();
//执行生成XML文件方法
logger
.
info
(
new
Date
()+
"开始生成xml"
);
logger
.
info
(
new
Date
()
+
"开始生成xml"
);
for
(
List
<
Map
<
String
,
Object
>>
mapList
:
lists
)
{
for
(
Map
<
String
,
Object
>
objectMap
:
mapList
)
{
for
(
String
fileId
:
objectMap
.
keySet
())
{
...
...
@@ -140,7 +135,7 @@ public class ExportXMLApi {
List
<
PreproPersonDto
>
preproPersonEntityList1
=
(
List
<
PreproPersonDto
>)
list1
;
List
<
FilesEntity
>
filesEntities
=
filesService
.
selectFilesEntityById
(
preproPersonEntityList1
.
get
(
0
).
getFileId
().
toString
());
FilesEntity
filesEntity
=
new
FilesEntity
();
if
(
preproPersonEntityList1
.
get
(
0
).
getCardTypeId
()
==
9
||
preproPersonEntityList1
.
get
(
0
).
getCardTypeId
()
==
11
)
{
if
(
preproPersonEntityList1
.
get
(
0
).
getCardTypeId
()
==
9
||
preproPersonEntityList1
.
get
(
0
).
getCardTypeId
()
==
11
||
preproPersonEntityList1
.
get
(
0
).
getCardTypeId
()
==
4
||
preproPersonEntityList1
.
get
(
0
).
getCardTypeId
()
==
6
)
{
filesEntity
.
setVersionCode
(
"3.00"
);
filesEntity
.
setCreateTime
(
getCurrentDate2String
(
"yyyyMMddhhmmss"
));
filesEntity
.
setDwmc
(
"北京市公安局人口管理总队证件管理大队"
);
...
...
@@ -154,7 +149,7 @@ public class ExportXMLApi {
String
xml
=
null
;
try
{
//生成XML制证包
xml
=
createToMakePackageXML
(
preproPersonEntityList1
,
finalFilesEntity
,
"\\zhang"
);
xml
=
createToMakePackageXML
(
preproPersonEntityList1
,
finalFilesEntity
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
@@ -167,7 +162,7 @@ public class ExportXMLApi {
}
}
logger
.
info
(
new
Date
()+
"生成xml结束"
);
logger
.
info
(
new
Date
()
+
"生成xml结束"
);
// -----制证包数据打包下载
String
zipName
=
"myfile.zip"
;
response
.
setContentType
(
"APPLICATION/OCTET-STREAM"
);
...
...
@@ -181,12 +176,12 @@ public class ExportXMLApi {
logger
.
error
(
"IOException 制证包数据打包下载IO异常"
,
e
);
}
try
{
logger
.
info
(
new
Date
()+
"开始打包"
);
logger
.
info
(
new
Date
()
+
"开始打包"
);
for
(
String
document
:
documentList
)
{
ZipUtils
.
doCompress
(
document
,
out
);
response
.
flushBuffer
();
}
logger
.
info
(
new
Date
()+
"结束打包"
);
logger
.
info
(
new
Date
()
+
"结束打包"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
logger
.
error
(
"制证包数据打包名:"
+
zipName
);
...
...
@@ -201,16 +196,16 @@ public class ExportXMLApi {
}
}
}
logger
.
info
(
new
Date
()+
"结束"
);
logger
.
info
(
new
Date
()
+
"结束"
);
return
null
;
}
/**
* 生成单个可制证数据XML
*
@throws IOException 可能出现文件写入不成功
*
*/
private
String
createToMakePackageXML
(
List
<
PreproPersonDto
>
preproPersonEntities
,
FilesEntity
filesEntity
,
String
url
)
throws
IOException
,
ParseException
{
private
String
createToMakePackageXML
(
List
<
PreproPersonDto
>
preproPersonEntities
,
FilesEntity
filesEntity
)
{
// 重新设置包名中的类型代码为0或9
long
cardTypeTem
=
preproPersonEntities
.
get
(
0
).
getCardTypeId
();
if
(
cardTypeTem
==
10
)
cardTypeTem
=
0
;
...
...
@@ -307,7 +302,7 @@ public class ExportXMLApi {
if
(
cardType
==
10
)
cardType
=
0
;
if
(
cardType
==
11
)
cardType
=
9
;
//民族文字 sid=010210
if
(
preproPersonEntity
.
getSid
().
equals
(
"010210"
)){
if
(
preproPersonEntity
.
getSid
().
equals
(
"010210"
))
{
Element
XMMZWZ
=
RECORD
.
addElement
(
"XMMZWZ"
);
XMMZWZ
.
setText
(
replaceNullString
(
preproPersonEntity
.
getXmmzwz
()));
...
...
@@ -329,14 +324,11 @@ public class ExportXMLApi {
}
threadPool
.
execute
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
preproPersonService
.
updatePreproPerson_NewFileName
(
preproPersonEntities
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
threadPool
.
execute
(()
->
{
try
{
preproPersonService
.
updatePreproPerson_NewFileName
(
preproPersonEntities
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
});
try
{
...
...
@@ -360,6 +352,7 @@ public class ExportXMLApi {
/**
* 字符串去除空格
*
* @param str 原始字符串
* @return 返回新的字符串
*/
...
...
@@ -377,11 +370,12 @@ public class ExportXMLApi {
* @return
*/
private
String
replaceDate
(
String
str
)
{
return
str
.
replace
(
"-"
,
""
).
replace
(
" "
,
""
).
replace
(
":"
,
""
);
return
str
.
replace
(
"-"
,
""
).
replace
(
" "
,
""
).
replace
(
":"
,
""
);
}
/**
* 不够位数的在前面补0,保留code的长度位数字
*
* @param code
* @return
*/
...
...
src/main/java/com/yxproject/start/api/LogApi.java
View file @
e7b0c24b
...
...
@@ -221,7 +221,7 @@ public class LogApi {
String
remoteAddr
=
requ
.
getRemoteAddr
();
MDC
.
put
(
"ip"
,
remoteAddr
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd hh:
MM
:ss"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd hh:
mm
:ss"
);
//通过上传受理号更新制证数据类型
//通过上传受理号和出生日期更新邮寄订单
try
{
...
...
@@ -229,20 +229,18 @@ public class LogApi {
//更新xml数据中的证件类型和格口文件解析状态
logService
.
changeCardTypeByPrintDate
(
getCurrentDate2String
(
"yyyyMMddhhmmss"
),
printDate
);
//查询XML文件信息
List
<
Map
<
String
,
Object
>>
resultList
=
logService
.
selectFileIdByUploadDate
(
printDate
);
List
<
Map
<
String
,
Object
>>
resultList
=
logService
.
selectFileIdByUploadDate
(
printDate
);
//查询身份数据
List
<
Map
<
String
,
Object
>>
dataList
=
logService
.
selectPersonPostUnanalysis
(
printDate
);
List
<
Map
<
String
,
Object
>>
personList
=
logService
.
selectPersonPostUnanalysis
(
printDate
);
logger
.
info
(
"结束查询XML、Excel、身份数据信息----->"
+
sdf
.
format
(
new
Date
()));
logger
.
info
(
"开始查询出生日期不合法订单修改备注----->"
+
sdf
.
format
(
new
Date
()));
//添加受理号匹配,出生日期不匹配订单
List
<
Map
<
String
,
Object
>>
invalidList
=
logService
.
selectInvalidPersonPost
(
printDate
);
for
(
int
i
=
0
;
i
<
invalidList
.
size
();
i
++)
{
Map
<
String
,
Object
>
noteMap
=
invalidList
.
get
(
i
);
String
uploadNo
=
noteMap
.
get
(
"JMSFZSLH"
).
toString
();
String
note
=
"出生日期填写不符!办证人信息:"
+
noteMap
.
get
(
"XM"
).
toString
()+
"-"
+
noteMap
.
get
(
"CSRQ"
).
toString
();
String
name
=
"system"
;
personPostService
.
cancelPostByAcceptNo
(
uploadNo
,
note
,
name
);
List
<
Map
<
String
,
Object
>>
invalidList
=
logService
.
selectInvalidPersonPost
(
printDate
);
for
(
Map
<
String
,
Object
>
noteMap
:
invalidList
)
{
String
uploadNo
=
noteMap
.
get
(
"JMSFZSLH"
).
toString
();
String
note
=
"出生日期填写不符!办证人信息:"
+
noteMap
.
get
(
"XM"
).
toString
()
+
"-"
+
noteMap
.
get
(
"CSRQ"
).
toString
();
personPostService
.
cancelPostByAcceptNo
(
uploadNo
,
note
,
"system"
);
}
logger
.
info
(
"结束查询出生日期不合法订单修改备注----->"
+
sdf
.
format
(
new
Date
()));
...
...
@@ -250,13 +248,13 @@ public class LogApi {
//todo 获取所有的已解析的文件id
List
<
Map
<
String
,
Object
>>
analysusList
=
new
ArrayList
<>();
//将身份数据插入到邮寄表中
for
(
int
i
=
0
;
i
<
dataList
.
size
();
i
++
)
{
logService
.
insertIdData
((
String
)
dataList
.
get
(
i
).
get
(
"GMSFHM"
),
(
String
)
dataList
.
get
(
i
).
get
(
"SSXQDM"
),
(
String
)
dataList
.
get
(
i
).
get
(
"YXQQSRQ"
),
(
String
)
dataList
.
get
(
i
).
get
(
"YXQJZRQ"
),
(
String
)
dataList
.
get
(
i
)
.
get
(
"JMSFZSLH"
));
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"gkId"
,
dataList
.
get
(
i
)
.
get
(
"GK_ID"
));
map
.
put
(
"xmlId"
,
dataList
.
get
(
i
)
.
get
(
"XML_ID"
));
for
(
Map
<
String
,
Object
>
personData
:
personList
)
{
logService
.
insertIdData
((
String
)
personData
.
get
(
"GMSFHM"
),
(
String
)
personData
.
get
(
"SSXQDM"
),
(
String
)
personData
.
get
(
"YXQQSRQ"
),
(
String
)
personData
.
get
(
"YXQJZRQ"
),
(
String
)
personData
.
get
(
"JMSFZSLH"
));
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"gkId"
,
personData
.
get
(
"GK_ID"
));
map
.
put
(
"xmlId"
,
personData
.
get
(
"XML_ID"
));
//将每个xml的不同格口保存
if
(!
analysusList
.
contains
(
map
)){
if
(!
analysusList
.
contains
(
map
))
{
analysusList
.
add
(
map
);
}
}
...
...
src/main/java/com/yxproject/start/api/ReadExcelApi.java
View file @
e7b0c24b
...
...
@@ -53,6 +53,12 @@ public class ReadExcelApi {
/**
* 导入个人邮寄信息表
*
* @param startDate 订单起始日期
* @param endDate 订单截止日期
* @param resp resp
* @param requ 要求
* @return {@link Map }<{@link String }, {@link String }>
*/
@RequestMapping
(
"ReadPersonPost"
)
@Consumes
(
MediaType
.
MULTIPART_FORM_DATA
)
...
...
src/main/java/com/yxproject/start/api/ReceiptApi.java
View file @
e7b0c24b
...
...
@@ -27,16 +27,19 @@ import static com.yxproject.start.utils.YXStringUtils.stripNonDigits;
@RestController
@RequestMapping
(
"ReceiptApi"
)
/*
*
*
交接单
/*
交接单
*/
public
class
ReceiptApi
{
@Autowired
private
ReceiptService
receiptService
;
private
final
ReceiptService
receiptService
;
Logger
logger
=
Logger
.
getLogger
(
ReceiptApi
.
class
);
public
ReceiptApi
(
ReceiptService
receiptService
)
{
this
.
receiptService
=
receiptService
;
}
/**
* 生成交接单 快证保存ACCEPT_NO 普通证保存GROUP_NO
* @param id 证件ID
...
...
@@ -159,10 +162,12 @@ public class ReceiptApi {
for
(
int
i
=
0
;
i
<
receiptListDate
.
size
();
i
++)
{
ReceiptListEntity
receiptListEntity
=
new
ReceiptListEntity
();
Long
card_type
=
Long
.
valueOf
((
BigDecimal
)
receiptListDate
.
get
(
i
).
get
(
"CARD_TYPE"
)
+
""
);
Long
card_type
=
Long
.
valueOf
(
receiptListDate
.
get
(
i
).
get
(
"CARD_TYPE"
)
+
""
);
receiptListEntity
.
setCardTypeId
(
card_type
);
String
slh
=
receiptListDate
.
get
(
i
).
get
(
"UPLOAD_NO"
).
toString
();
boolean
ydss
=
YdssUtils
.
personIsYdss
(
slh
);
boolean
hk
=
YdssUtils
.
personIsHk
(
slh
);
boolean
tw
=
YdssUtils
.
personIsTw
(
slh
);
//个人邮寄证,单位代码保存为北京市公安局
if
(
card_type
==
9
){
receiptListEntity
.
setPoliceCode
(
"110001580800"
);
...
...
src/main/java/com/yxproject/start/api/queryPreproPerson.java
View file @
e7b0c24b
...
...
@@ -46,6 +46,8 @@ public class queryPreproPerson {
int
puSum
=
0
;
int
yidishoushenpuSum
=
0
;
//异地首申普
int
yidishoushenyouSum
=
0
;
//异地首申邮
int
hkYSum
=
0
;
//hk youji
int
twYSum
=
0
;
//tw youji
int
invaildCount
=
0
;
for
(
Map
<
String
,
Object
>
map1
:
preproPersonEntityList
)
{
if
(
"9"
.
equals
(
map1
.
get
(
"CARD_TYPE_ID"
)
+
""
))
{
...
...
@@ -55,6 +57,8 @@ public class queryPreproPerson {
}
if
(
"10"
.
equals
(
map1
.
get
(
"CARD_TYPE_ID"
)
+
""
))
yidishoushenpuSum
++;
if
(
"11"
.
equals
(
map1
.
get
(
"CARD_TYPE_ID"
)
+
""
))
yidishoushenyouSum
++;
if
(
"4"
.
equals
(
map1
.
get
(
"CARD_TYPE_ID"
)
+
""
))
hkYSum
++;
if
(
"6"
.
equals
(
map1
.
get
(
"CARD_TYPE_ID"
)
+
""
))
twYSum
++;
if
(
"0"
.
equals
(
map1
.
get
(
"IS_VALID"
)
+
""
))
{
invaildCount
++;
}
...
...
@@ -64,6 +68,8 @@ public class queryPreproPerson {
map
.
put
(
"puSum"
,
puSum
);
map
.
put
(
"ydsspuSum"
,
yidishoushenpuSum
);
map
.
put
(
"ydssyouSum"
,
yidishoushenyouSum
);
map
.
put
(
"hkYSum"
,
hkYSum
);
map
.
put
(
"twYSum"
,
twYSum
);
map
.
put
(
"invaildCount"
,
invaildCount
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"oldFile:"
+
uploadNo
+
"公民身份号码:"
+
IDCard
+
"包号:"
+
oldFile
+
"文件名:"
+
newFile
+
"签发机关:"
+
SSXQDM
+
"制证类型代码(9邮寄0大批):"
+
cardType
+
"是否有效(1有效,0无效):"
+
state
+
"上传时间:"
+
replaceDate
(
uploadDate1
)
+
replaceDate
(
uploadDate2
)
+
"页数:"
+
currPage
+
"条数:"
+
pageSize
+
"生成时间:"
+
downloadState
);
...
...
src/main/java/com/yxproject/start/mapper/LogMapper.java
View file @
e7b0c24b
...
...
@@ -39,20 +39,17 @@ public interface LogMapper {
public
boolean
changeCardType
(
@Param
(
"printDate"
)
String
printDate
,
@Param
(
"fileId"
)
String
fileId
);
//TODO XML的时间+post的file_id
// @Update("UPDATE PREPRO_PERSON SET CARD_TYPE_ID =9 \n" +
// "WHERE JMSFZSLH in (\n" +
// "SELECT PREPRO_PERSON.JMSFZSLH \n" +
// "FROM PERSON_POST \n" +
// "LEFT JOIN PREPRO_PERSON ON PERSON_POST.FIRST_WHITE = PREPRO_PERSON.JMSFZSLH\n" +
// "LEFT JOIN FILES ON FILES.ID=PREPRO_PERSON.FILE_ID "+
// "WHERE (PERSON_POST.STATE1 = 3 OR PERSON_POST.STATE1 = 0) " +
// "AND PERSON_POST.BIRTH_DATE = PREPRO_PERSON.CSRQ " +
// "AND TO_CHAR(FILES.UPLOAD_DATE,'yyyy-mm-dd hh24:mi:ss')=#{printDate} )")
// public boolean changeCardTypeByPrintDate(@Param("printDate")String printDate);
/**
* 按xml日期更改卡片类型
* 本地受理和港澳台相应的修改制证类型
* @param printDate 打印日期
* @return boolean
*/
//TODO XML的时间+post的file_id
@Update
(
"UPDATE PREPRO_PERSON SET CARD_TYPE_ID = CASE "
+
" WHEN CARD_TYPE_ID = 0 THEN 9 "
+
" WHEN CARD_TYPE_ID = 10 THEN 11 "
+
" WHEN CARD_TYPE_ID = 5 THEN 4 "
+
" WHEN CARD_TYPE_ID = 7 THEN 6 "
+
" ELSE CARD_TYPE_ID "
+
" END \n"
+
"WHERE JMSFZSLH in (\n"
+
...
...
@@ -63,11 +60,17 @@ public interface LogMapper {
"WHERE (PERSON_POST.STATE1 = 3 OR PERSON_POST.STATE1 = 0) "
+
"AND PERSON_POST.BIRTH_DATE = PREPRO_PERSON.CSRQ "
+
"AND TO_CHAR(FILES.UPLOAD_DATE,'yyyy-mm-dd hh24:mi:ss')=#{printDate} )"
)
public
boolean
changeCardTypeByPrintDate
(
@Param
(
"printDate"
)
String
printDate
);
boolean
changeCardTypeByPrintDate
(
@Param
(
"printDate"
)
String
printDate
);
// STATE1 = 3 待定;STATE1 = 0 正常邮寄
@Update
(
" update FILE_NAME_DIC set FILE_NAME_DIC.ANALYSIS_DATE = #{printDate} where file_id=#{fileId} "
)
public
boolean
insertAnalysisDate
(
@Param
(
"printDate"
)
String
printDate
,
@Param
(
"fileId"
)
String
fileId
);
/**
* 按xml日期更新格口文件的分析日期
*
* @param analysisDate 分析日期
* @param printDate 打印日期
*/
@Update
(
" update FILE_NAME_DIC set FILE_NAME_DIC.ANALYSIS_DATE = #{analysisDate},STATE = 1 "
+
" where file_id IN (SELECT DISTINCT PERSON_POST.file_id FROM PERSON_POST "
+
" LEFT JOIN PREPRO_PERSON ON PERSON_POST.FIRST_WHITE = PREPRO_PERSON.JMSFZSLH "
+
...
...
@@ -75,7 +78,7 @@ public interface LogMapper {
" WHERE PERSON_POST.BIRTH_DATE = PREPRO_PERSON.CSRQ"
+
" AND PERSON_POST.STATE1=3 "
+
" AND TO_CHAR(FILES.UPLOAD_DATE,'yyyy-mm-dd hh24:mi:ss')=#{printDate} ) "
)
public
boolean
insertAnalysisDateByPrintDate
(
@Param
(
"analysisDate"
)
String
analysisDate
,
@Param
(
"printDate"
)
String
printDate
);
void
insertAnalysisDateByPrintDate
(
@Param
(
"analysisDate"
)
String
analysisDate
,
@Param
(
"printDate"
)
String
printDate
);
/**
* 生成解析表
...
...
@@ -224,9 +227,15 @@ public interface LogMapper {
"WHERE PERSON_POST.STATE1=3 \n"
+
"AND PERSON_POST.BIRTH_DATE = PREPRO_PERSON.CSRQ \n"
+
"and TO_CHAR(FILES.UPLOAD_DATE,'yyyy-mm-dd hh24:mi:ss')=#{uploadDate}"
)
public
List
<
Map
<
String
,
Object
>>
selectPersonPostUnanalysis
(
@Param
(
"uploadDate"
)
String
uploadDate
);
List
<
Map
<
String
,
Object
>>
selectPersonPostUnanalysis
(
@Param
(
"uploadDate"
)
String
uploadDate
);
/**
* 查询出生日期不匹配的无效Person
*
* @param uploadDate xml日期
* @return {@link List }<{@link Map }<{@link String }, {@link Object }>>
*/
@Select
(
"select DISTINCT PREPRO_PERSON.JMSFZSLH,PREPRO_PERSON.XM,PREPRO_PERSON.CSRQ \n"
+
"FROM PERSON_POST "
+
"LEFT JOIN PREPRO_PERSON ON PERSON_POST.FIRST_WHITE = PREPRO_PERSON.JMSFZSLH \n"
+
...
...
@@ -234,12 +243,12 @@ public interface LogMapper {
"WHERE PERSON_POST.STATE1=3 \n"
+
"AND PERSON_POST.BIRTH_DATE <> PREPRO_PERSON.CSRQ \n"
+
"and TO_CHAR(FILES.UPLOAD_DATE,'yyyy-mm-dd hh24:mi:ss')=#{uploadDate}"
)
public
List
<
Map
<
String
,
Object
>>
selectInvalidPersonPost
(
@Param
(
"uploadDate"
)
String
uploadDate
);
List
<
Map
<
String
,
Object
>>
selectInvalidPersonPost
(
@Param
(
"uploadDate"
)
String
uploadDate
);
//身份数据插入person_post
@Update
(
"UPDATE PERSON_POST SET ID_CARD=#{cardId},ACCEPT_THE_MATTER=#{issuing},BEGIN_USEFUL_LIFE=#{beginDate},VALID_PERIOD_END=#{endDate},STATE1=0 where PERSON_POST.FIRST_WHITE=#{firstWhite}"
)
public
boolean
insertIdData
(
@Param
(
"cardId"
)
String
cardId
,
@Param
(
"issuing"
)
String
issuing
,
@Param
(
"beginDate"
)
String
beginDate
,
@Param
(
"endDate"
)
String
endDate
,
@Param
(
"firstWhite"
)
String
firstWhite
);
void
insertIdData
(
@Param
(
"cardId"
)
String
cardId
,
@Param
(
"issuing"
)
String
issuing
,
@Param
(
"beginDate"
)
String
beginDate
,
@Param
(
"endDate"
)
String
endDate
,
@Param
(
"firstWhite"
)
String
firstWhite
);
/**
* 解析时更改Excel文件状态
...
...
@@ -262,7 +271,7 @@ public interface LogMapper {
@Select
(
"SELECT COUNT(*) FROM PERSON_POST LEFT JOIN PREPRO_PERSON ON PERSON_POST.FIRST_WHITE = PREPRO_PERSON.JMSFZSLH "
+
"WHERE PERSON_POST.FILE_ID = #{gkId} AND PREPRO_PERSON.FILE_ID = #{xmlId}"
)
public
String
selectPostCountByXmlidAndGkid
(
@Param
(
"xmlId"
)
String
xmlId
,
@Param
(
"gkId"
)
String
gkId
);
String
selectPostCountByXmlidAndGkid
(
@Param
(
"xmlId"
)
String
xmlId
,
@Param
(
"gkId"
)
String
gkId
);
@Update
(
"UPDATE FILE_NAME_DIC SET STATE = 1 WHERE FILE_ID =#{gkId} "
)
...
...
src/main/java/com/yxproject/start/service/ImportXmlService.java
View file @
e7b0c24b
...
...
@@ -13,7 +13,7 @@ import java.util.List;
*/
public
interface
ImportXmlService
{
public
boolean
importPersonXml
(
List
<
PreproPersonDto
>
preproPersonDtos
,
FilesEntity
filesEntity
);
public
List
<
CountDataEntity
>
queryPersonXml
(
String
importDate
,
long
maxNum
,
long
minNum
);
public
int
queryPersonXmlCount
(
String
importDate
);
boolean
importPersonXml
(
List
<
PreproPersonDto
>
preproPersonDtos
,
FilesEntity
filesEntity
);
List
<
CountDataEntity
>
queryPersonXml
(
String
importDate
,
long
maxNum
,
long
minNum
);
int
queryPersonXmlCount
(
String
importDate
);
}
src/main/java/com/yxproject/start/service/LogService.java
View file @
e7b0c24b
...
...
@@ -36,7 +36,7 @@ public interface LogService {
public
boolean
insertIntoAnalysis
(
@Param
(
"fileDic"
)
String
fileDic
,
@Param
(
"fileId"
)
String
fileId
,
@Param
(
"commonCardCount"
)
String
commonCardCount
,
@Param
(
"postCardCount"
)
String
postCardCount
,
@Param
(
"analysisDate"
)
String
analysisDate
);
public
List
<
Map
<
String
,
Object
>>
selectFileIdByUploadDate
(
@Param
(
"uploadDate"
)
String
uploadDate
);
List
<
Map
<
String
,
Object
>>
selectFileIdByUploadDate
(
@Param
(
"uploadDate"
)
String
uploadDate
);
public
Map
<
String
,
Object
>
selectFileNameDic
(
@Param
(
"fileId"
)
String
fileId
);
...
...
@@ -48,17 +48,17 @@ public interface LogService {
public
List
<
Map
<
String
,
Object
>>
selectIdData
(
@Param
(
"fileId"
)
String
fileId
);
public
List
<
Map
<
String
,
Object
>>
selectPersonPostUnanalysis
(
@Param
(
"uploadDate"
)
String
uploadDate
);
List
<
Map
<
String
,
Object
>>
selectPersonPostUnanalysis
(
@Param
(
"uploadDate"
)
String
uploadDate
);
public
List
<
Map
<
String
,
Object
>>
selectInvalidPersonPost
(
@Param
(
"uploadDate"
)
String
uploadDate
);
List
<
Map
<
String
,
Object
>>
selectInvalidPersonPost
(
@Param
(
"uploadDate"
)
String
uploadDate
);
public
boolean
insertIdData
(
String
cardId
,
String
issuing
,
String
beginDate
,
String
endDate
,
String
firstWhite
);
void
insertIdData
(
String
cardId
,
String
issuing
,
String
beginDate
,
String
endDate
,
String
firstWhite
);
public
boolean
updateNullIdDate
(
String
fileId
);
public
boolean
updateGKState
(
String
gkId
);
public
String
selectPostCountByXmlidAndGkid
(
String
xmlId
,
String
gkId
);
String
selectPostCountByXmlidAndGkid
(
String
xmlId
,
String
gkId
);
public
boolean
checkNewExcelUnresolved
();
...
...
src/main/java/com/yxproject/start/service/impl/ImportXmlServiceImpl.java
View file @
e7b0c24b
...
...
@@ -96,6 +96,12 @@ public class ImportXmlServiceImpl implements ImportXmlService {
if
(
personIsYdss
(
preproPersonDto
.
getJmsfzslh
()))
{
preproPersonDto
.
setCardTypeId
(
10L
);
}
if
(
personIsHk
(
preproPersonDto
.
getJmsfzslh
()))
{
preproPersonDto
.
setCardTypeId
(
5L
);
}
if
(
personIsTw
(
preproPersonDto
.
getJmsfzslh
()))
{
preproPersonDto
.
setCardTypeId
(
7L
);
}
boolean
b
=
preproPersonMapper
.
savePreproPersonEntity
(
preproPersonDto
);
if
(!
b
){
logger
.
error
(
preproPersonDto
.
getFileId
()+
"存儲失敗!"
);
...
...
@@ -130,4 +136,22 @@ public class ImportXmlServiceImpl implements ImportXmlService {
protected
boolean
personIsYdss
(
String
jmsfzslh
)
{
return
jmsfzslh
.
charAt
(
jmsfzslh
.
length
()
-
5
)
==
'9'
;
}
/**
* 从受理号判断是否为港澳证 受理号倒数第5位为6
* @param jmsfzslh 受理号
* @return true 是异地首申
*/
protected
boolean
personIsHk
(
String
jmsfzslh
)
{
return
jmsfzslh
.
charAt
(
jmsfzslh
.
length
()
-
5
)
==
'6'
;
}
/**
* 从受理号判断是否为台湾证 受理号倒数第5位为7
* @param jmsfzslh 受理号
* @return true 是异地首申
*/
protected
boolean
personIsTw
(
String
jmsfzslh
)
{
return
jmsfzslh
.
charAt
(
jmsfzslh
.
length
()
-
5
)
==
'7'
;
}
}
src/main/java/com/yxproject/start/service/impl/LogServiceImpl.java
View file @
e7b0c24b
...
...
@@ -5,13 +5,10 @@ import com.yxproject.start.entity.PreproPersonEntity;
import
com.yxproject.start.mapper.LogMapper
;
import
com.yxproject.start.mapper.PreproPersonMapper
;
import
com.yxproject.start.service.LogService
;
import
com.yxproject.start.service.SelectSerialNumberService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.xml.crypto.Data
;
import
java.io.File
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
@Service
...
...
@@ -72,6 +69,13 @@ public class LogServiceImpl implements LogService {
return
true
;
}
/**
* 按打印日期更改卡片类型
*
* @param analysisDate 分析日期
* @param printDate 打印日期
* @return boolean
*/
@Override
public
boolean
changeCardTypeByPrintDate
(
String
analysisDate
,
String
printDate
)
{
logMapper
.
changeCardTypeByPrintDate
(
printDate
);
...
...
@@ -118,8 +122,7 @@ public class LogServiceImpl implements LogService {
@Override
public
List
<
Map
<
String
,
Object
>>
selectFileIdByUploadDate
(
String
uploadDate
)
{
List
<
Map
<
String
,
Object
>>
result
=
logMapper
.
selectFileIdByUploadDate
(
uploadDate
);
return
result
;
return
logMapper
.
selectFileIdByUploadDate
(
uploadDate
);
}
@Override
...
...
@@ -163,9 +166,8 @@ public class LogServiceImpl implements LogService {
}
@Override
public
boolean
insertIdData
(
String
cardId
,
String
issuing
,
String
beginDate
,
String
endDate
,
String
firstWhite
)
{
public
void
insertIdData
(
String
cardId
,
String
issuing
,
String
beginDate
,
String
endDate
,
String
firstWhite
)
{
logMapper
.
insertIdData
(
cardId
,
issuing
,
beginDate
,
endDate
,
firstWhite
);
return
true
;
}
@Override
...
...
src/main/java/com/yxproject/start/utils/YXStringUtils.java
View file @
e7b0c24b
...
...
@@ -6,10 +6,6 @@ import org.dom4j.io.XMLWriter;
import
sun.misc.BASE64Decoder
;
import
sun.misc.BASE64Encoder
;
import
java.net.URLEncoder
;
import
java.nio.charset.StandardCharsets
;
import
java.net.URLEncoder
;
import
java.io.*
;
import
java.io.IOException
;
...
...
@@ -46,6 +42,12 @@ public class YXStringUtils {
return
str
;
}
/**
* 获取当前日期字符串
*
* @param pattern 格式
* @return {@link String }
*/
public
static
String
getCurrentDate2String
(
String
pattern
)
{
SimpleDateFormat
dt
=
new
SimpleDateFormat
(
pattern
);
return
dt
.
format
(
new
Date
());
...
...
src/main/java/com/yxproject/start/utils/YdssUtils.java
View file @
e7b0c24b
...
...
@@ -10,4 +10,22 @@ public class YdssUtils {
public
static
boolean
personIsYdss
(
String
jmsfzslh
)
{
return
jmsfzslh
.
charAt
(
jmsfzslh
.
length
()
-
5
)
==
'9'
;
}
/**
* 从受理号判断是否为异地首申 受理号倒数第5位为9
* @param jmsfzslh 受理号
* @return true 是异地首申
*/
public
static
boolean
personIsHk
(
String
jmsfzslh
)
{
return
jmsfzslh
.
charAt
(
jmsfzslh
.
length
()
-
5
)
==
'6'
;
}
/**
* 从受理号判断是否为异地首申 受理号倒数第5位为9
* @param jmsfzslh 受理号
* @return true 是异地首申
*/
public
static
boolean
personIsTw
(
String
jmsfzslh
)
{
return
jmsfzslh
.
charAt
(
jmsfzslh
.
length
()
-
5
)
==
'7'
;
}
}
src/main/resources/static/views/cardProdPackage/cardProdPackage.html
View file @
e7b0c24b
...
...
@@ -112,7 +112,13 @@
(
<span
style=
"color:#0b93d5;"
>
每页显示{{paginationConf.itemsPerPage}}条/共
{{paginationConf.totalItems}}条
</span>
)
<div
class=
"pull-right"
>
<span
style=
"color:#9f191f;"
><span
style=
"margin-right: 15px;"
>
普通证:{{simpleCardCount}}
</span><span
style=
"margin-right: 15px;"
>
邮寄证:{{postCardCount}}
</span><span
style=
"margin-right: 15px;"
>
异地首申普:{{ydSsSimpleCount}}
</span><span
style=
"margin-right: 15px;"
>
异地首申邮:{{ydSsPostCount}}
</span><span
style=
"margin-right: 15px;"
>
禁用数:{{forbiddenCount}}
</span></span>
<span
style=
"color:#9f191f;"
>
<span
style=
"margin-right: 15px;"
>
普通证:{{simpleCardCount}}
</span>
<span
style=
"margin-right: 15px;"
>
邮寄证:{{postCardCount}}
</span>
<span
style=
"margin-right: 15px;"
>
异地首申普:{{ydSsSimpleCount}}
</span>
<span
style=
"margin-right: 15px;"
>
港澳速递:{{hkCount}}
</span>
<span
style=
"margin-right: 15px;"
>
台湾速递:{{twCount}}
</span>
<span
style=
"margin-right: 15px;"
>
禁用数:{{forbiddenCount}}
</span></span>
</div>
</div>
<div
class=
"box-info"
style=
"padding: 7px; padding-top: 0px;"
>
...
...
src/main/resources/static/views/cardProdPackage/cardProdPackage.js
View file @
e7b0c24b
...
...
@@ -97,6 +97,8 @@ angular.module('AvatarCheck.cardProdPackage', ['ngRoute', 'AvatarCheck.http', 't
$scope
.
postCardCount
=
data
.
youSum
;
$scope
.
ydSsSimpleCount
=
data
.
ydsspuSum
;
$scope
.
ydSsPostCount
=
data
.
ydssyouSum
;
$scope
.
hkCount
=
data
.
hkYSum
;
$scope
.
twCount
=
data
.
twYSum
;
$scope
.
forbiddenCount
=
data
.
invaildCount
;
$scope
.
packageData
=
data
.
list
;
console
.
log
(
data
)
...
...
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