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
fb79032f
Commit
fb79032f
authored
Mar 13, 2019
by
liboyang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
66ecedde
bf625e4a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
151 additions
and
73 deletions
+151
-73
ExportExcelApi.java
src/main/java/com/yxproject/start/api/ExportExcelApi.java
+37
-0
ReceiptMapper.java
src/main/java/com/yxproject/start/mapper/ReceiptMapper.java
+4
-4
ReceiptServiceImpl.java
.../com/yxproject/start/service/impl/ReceiptServiceImpl.java
+110
-69
No files found.
src/main/java/com/yxproject/start/api/ExportExcelApi.java
View file @
fb79032f
...
@@ -3,8 +3,11 @@ package com.yxproject.start.api;
...
@@ -3,8 +3,11 @@ package com.yxproject.start.api;
import
com.yxproject.start.service.DetailReceiptListService
;
import
com.yxproject.start.service.DetailReceiptListService
;
import
com.yxproject.start.service.ReceiptService
;
import
com.yxproject.start.service.ReceiptService
;
import
com.yxproject.start.utils.ExportExcel
;
import
com.yxproject.start.utils.ExportExcel
;
import
net.sf.json.JSONArray
;
import
net.sf.json.JSONObject
;
import
org.apache.commons.lang.time.DateFormatUtils
;
import
org.apache.commons.lang.time.DateFormatUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestBody
;
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
;
...
@@ -14,6 +17,7 @@ import java.io.File;
...
@@ -14,6 +17,7 @@ import java.io.File;
import
java.io.FileInputStream
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.FileNotFoundException
;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -52,6 +56,39 @@ public class ExportExcelApi {
...
@@ -52,6 +56,39 @@ public class ExportExcelApi {
}
}
return
null
;
return
null
;
}
}
/**
* 导出交接单
*/
@RequestMapping
(
"printReceiptExcelData"
)
public
byte
[]
printReceiptExcelData
(
@RequestBody
String
list
,
HttpServletResponse
response
){
JSONObject
jsonObject
=
JSONObject
.
fromObject
(
list
);
JSONArray
jsonArray
=
JSONArray
.
fromObject
(
jsonObject
);
// List<Map<String, Object>> mapList = receiptService.;
List
<
Map
<
String
,
Object
>>
mapList
=
new
ArrayList
<>();
response
.
setContentType
(
"application/x-download"
);
response
.
setCharacterEncoding
(
"UTF-8"
);
String
dateTime
=
DateFormatUtils
.
format
(
new
Date
(),
"yyyy-MM-dd"
);
// //使用Servlet实现文件下载的时候,避免浏览器自动打开文件
String
fout
=
null
;
fout
=
ExportExcel
.
exportExcelDate
(
mapList
);
String
outFile
=
dateTime
+
"交接单"
;
try
{
FileInputStream
fis
=
new
FileInputStream
(
new
File
(
fout
));
byte
[]
b
=
new
byte
[
fis
.
available
()];
fis
.
read
(
b
);
fis
.
close
();
response
.
addHeader
(
"Content-Disposition"
,
"attachment;filename="
+
outFile
+
".xls"
);
return
b
;
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
/**
/**
* 查询公安网数据
* 查询公安网数据
*/
*/
...
...
src/main/java/com/yxproject/start/mapper/ReceiptMapper.java
View file @
fb79032f
...
@@ -128,10 +128,10 @@ public interface ReceiptMapper {
...
@@ -128,10 +128,10 @@ public interface ReceiptMapper {
"WHERE subStr(ACCEPT_NO,0,8) = #{groupNo} or ACCEPT_NO=#{groupNo}"
)
"WHERE subStr(ACCEPT_NO,0,8) = #{groupNo} or ACCEPT_NO=#{groupNo}"
)
public
Map
<
String
,
Object
>
selectTimes
(
@Param
(
"groupNo"
)
String
groupNo
);
public
Map
<
String
,
Object
>
selectTimes
(
@Param
(
"groupNo"
)
String
groupNo
);
@Select
(
"select RECEIPT_LIST.id,RECEIPT_LIST.QR_CODE,RECEIPT_LIST.RECEIPT_DATE,RECEIPT_LIST.POLICE_CODE,
c1.
CARD_TYPE_ID,\n"
+
@Select
(
"select RECEIPT_LIST.id,RECEIPT_LIST.QR_CODE,RECEIPT_LIST.RECEIPT_DATE,RECEIPT_LIST.POLICE_CODE,
decode(RECEIPT_LIST.Old_CARD_TYPE_ID,null,RECEIPT_LIST.CARD_TYPE_ID,RECEIPT_LIST.Old_CARD_TYPE_ID)
CARD_TYPE_ID,\n"
+
"
c2.CARD_TYPE_ID CARD_TYPE2,
RECEIPT_LIST.FINISH_COUNT,GAJG_DM.GAJG_DM,GAJG_DM.GAJG_MC,RECEIPT_LIST.CHECK_DATE,RECEIPT_LIST.CHECK_NAME\n"
+
"RECEIPT_LIST.FINISH_COUNT,GAJG_DM.GAJG_DM,GAJG_DM.GAJG_MC,RECEIPT_LIST.CHECK_DATE,RECEIPT_LIST.CHECK_NAME\n"
+
",C
OUNTY_DIC.COUNTY_CODE ,COUNTY_DIC.COUNTYNAME from RECEIPT_LIST left join CARD_TYPE_DIC c1 on c1.CARD_TYPE_ID = RECEIPT_LIST.CARD_TYPE_ID
\n"
+
",C
ARD_TYPE_DIC.CARD_TYPE,COUNTY_DIC.COUNTY_CODE ,COUNTY_DIC.COUNTYNAME from RECEIPT_LIST
\n"
+
"left join CARD_TYPE_DIC
c2 on c2.CARD_TYPE_ID = RECEIPT_LIST.CARD_TYPE_ID
\n"
+
"left join CARD_TYPE_DIC
on CARD_TYPE_DIC.CARD_TYPE_ID = decode(RECEIPT_LIST.Old_CARD_TYPE_ID,null,RECEIPT_LIST.CARD_TYPE_ID,RECEIPT_LIST.Old_CARD_TYPE_ID)
\n"
+
"left join GAJG_DM on GAJG_DM.GAJG_DM = RECEIPT_LIST.POLICE_CODE\n"
+
"left join GAJG_DM on GAJG_DM.GAJG_DM = RECEIPT_LIST.POLICE_CODE\n"
+
"left join COUNTY_DIC on substr(RECEIPT_LIST.POLICE_CODE,0,6) = COUNTY_DIC.COUNTY_CODE"
+
"left join COUNTY_DIC on substr(RECEIPT_LIST.POLICE_CODE,0,6) = COUNTY_DIC.COUNTY_CODE"
+
" where to_char(CHECK_DATE,'yyyyMMdd') = #{date}"
)
" where to_char(CHECK_DATE,'yyyyMMdd') = #{date}"
)
...
...
src/main/java/com/yxproject/start/service/impl/ReceiptServiceImpl.java
View file @
fb79032f
...
@@ -153,84 +153,125 @@ public class ReceiptServiceImpl implements ReceiptService {
...
@@ -153,84 +153,125 @@ public class ReceiptServiceImpl implements ReceiptService {
return
mapList1
;
return
mapList1
;
}
}
private
List
<
Map
<
String
,
Object
>>
formateMap
(
List
<
Map
<
String
,
Object
>>
mapList
){
Map
<
String
,
Object
>
objectMap
=
new
LinkedHashMap
<>();
private
List
<
Map
<
String
,
Object
>>
formateMap
(
List
<
Map
<
String
,
Object
>>
maplist
)
{
for
(
Map
<
String
,
Object
>
map
:
mapList
){
Map
<
String
,
Object
>
typeMap
=
new
LinkedHashMap
<>();
if
(
objectMap
!=
null
&&
objectMap
.
containsKey
(
map
.
get
(
"COUNTY_CODE"
)+
""
)){
for
(
Map
o
:
maplist
)
{
List
<
Map
<
String
,
Object
>>
maps
=
(
List
<
Map
<
String
,
Object
>>)
objectMap
.
get
(
map
.
get
(
"COUNTY_CODE"
)+
""
);
// 组合JSON
maps
.
add
(
map
);
if
(
typeMap
!=
null
&
typeMap
.
containsKey
(
o
.
get
(
"CARD_TYPE"
)
+
""
))
{
objectMap
.
put
(
map
.
get
(
"COUNTY_CODE"
)+
""
,
maps
);
List
<
Map
<
String
,
Object
>>
mapList
=
(
List
<
Map
<
String
,
Object
>>)
typeMap
.
get
(
o
.
get
(
"CARD_TYPE"
));
}
else
{
mapList
.
add
(
o
);
List
<
Map
<
String
,
Object
>>
maps
=
new
ArrayList
<>();
typeMap
.
put
(
o
.
get
(
"CARD_TYPE"
)
+
""
,
mapList
);
maps
.
add
(
map
);
}
else
{
objectMap
.
put
(
map
.
get
(
"COUNTY_CODE"
)+
""
,
maps
);
List
<
Map
<
String
,
Object
>>
mapList
=
new
ArrayList
<>();
mapList
.
add
(
o
);
typeMap
.
put
(
o
.
get
(
"CARD_TYPE"
)
+
""
,
mapList
);
}
}
}
}
List
<
Map
<
String
,
Object
>>
countyMapList
=
new
ArrayList
<>();
//将已按制证分好的Map 再次细化分为任务单Map
for
(
String
countyCode:
objectMap
.
keySet
()){
for
(
String
type
:
typeMap
.
keySet
())
{
Map
<
String
,
Object
>
countyMap
=
new
LinkedHashMap
<>();
List
<
Map
<
String
,
Object
>>
mapList
=
(
List
<
Map
<
String
,
Object
>>)
typeMap
.
get
(
type
);
String
countyName
=
null
;
Map
<
String
,
Object
>
typemap
=
new
LinkedHashMap
<>();
List
<
Map
<
String
,
Object
>>
policeMapList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
o
:
mapList
)
{
if
(
typemap
!=
null
&&
typemap
.
containsKey
(
o
.
get
(
"POLICE_CODE"
)
+
""
))
{
List
<
Map
<
String
,
Object
>>
maps
=
(
List
<
Map
<
String
,
Object
>>)
objectMap
.
get
(
countyCode
);
List
<
Map
<
String
,
Object
>>
maplist_county
=
(
List
<
Map
<
String
,
Object
>>)
typemap
.
get
(
o
.
get
(
"POLICE_CODE"
)
+
""
);
maplist_county
.
add
(
o
);
Map
<
String
,
Object
>
policeMap
=
new
LinkedHashMap
<>();
typemap
.
put
(
o
.
get
(
"POLICE_CODE"
)
+
""
,
maplist_county
);
for
(
Map
<
String
,
Object
>
map
:
maps
){
}
else
{
countyName
=
map
.
get
(
"COUNTYNAME"
)+
""
;
List
<
Map
<
String
,
Object
>>
maplist_county
=
new
ArrayList
<>();
if
(
policeMap
!=
null
&&
policeMap
.
containsKey
(
map
.
get
(
"POLICE_CODE"
)+
""
)){
maplist_county
.
add
(
o
);
List
<
Map
<
String
,
Object
>>
policeMapList2
=
(
List
<
Map
<
String
,
Object
>>)
policeMap
.
get
(
map
.
get
(
"POLICE_CODE"
)+
""
);
typemap
.
put
(
o
.
get
(
"POLICE_CODE"
)
+
""
,
maplist_county
);
policeMapList2
.
add
(
map
);
policeMap
.
put
(
map
.
get
(
"POLICE_CODE"
)+
""
,
policeMapList2
);
}
else
{
List
<
Map
<
String
,
Object
>>
policeMapList2
=
new
ArrayList
<>();
policeMapList2
.
add
(
map
);
policeMap
.
put
(
map
.
get
(
"POLICE_CODE"
)+
""
,
policeMapList2
);
}
}
}
}
for
(
String
policeCode
:
policeMap
.
keySet
()){
typeMap
.
put
(
type
,
typemap
);
List
<
Map
<
String
,
Object
>>
policeList
=
(
List
<
Map
<
String
,
Object
>>)
policeMap
.
get
(
policeCode
);
}
Map
<
String
,
Object
>
policemap
=
new
LinkedHashMap
<>();
List
<
Map
<
String
,
Object
>>
typeList
=
new
ArrayList
<>();
String
GAJG_MC
=
null
;
for
(
String
type
:
typeMap
.
keySet
())
{
String
CHECK_DATE
=
null
;
Map
<
String
,
Object
>
mapType
=
new
LinkedHashMap
<>();
String
CHECK_NAME
=
null
;
int
typeSum
=
0
;
int
youSum
=
0
;
String
typeName
=
null
;
int
puSum
=
0
;
List
<
Map
<
String
,
Object
>>
countyList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
map
:
policeList
){
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
mapList
=
(
Map
<
String
,
List
<
Map
<
String
,
Object
>>>)
typeMap
.
get
(
type
);
GAJG_MC
=
map
.
get
(
"GAJG_MC"
)+
""
;
for
(
String
taskId
:
mapList
.
keySet
())
{
CHECK_DATE
=
map
.
get
(
"CHECK_DATE"
)+
""
;
Map
<
String
,
Object
>
countyMapGroup
=
new
LinkedHashMap
<>();
CHECK_NAME
=
map
.
get
(
"CHECK_NAME"
)+
""
;
int
validCount
=
0
;
if
(
"null"
.
equals
(
map
.
get
(
"CARD_TYPE2"
))){
String
countyName
=
null
;
if
(
"9"
.
equals
(
map
.
get
(
"CARD_TYPE_ID"
)+
""
)){
String
countyCode
=
null
;
youSum
+=
Integer
.
parseInt
(
map
.
get
(
"FINISH_COUNT"
)+
""
);
List
<
Map
<
String
,
Object
>>
countyMapList
=
mapList
.
get
(
taskId
);
}
else
{
for
(
Map
<
String
,
Object
>
countyMap
:
countyMapList
)
{
puSum
+=
Integer
.
parseInt
(
map
.
get
(
"FINISH_COUNT"
)+
""
);
countyCode
=
countyMap
.
get
(
"COUNTY_CODE"
)
+
""
;
}
countyName
=
countyMap
.
get
(
"COUNTYNAME"
)
+
""
;
}
else
{
typeName
=
countyMap
.
get
(
"CARD_TYPE_ID"
)
+
""
;
if
(
"9"
.
equals
(
map
.
get
(
"CARD_TYPE2"
)+
""
)){
typeSum
+=
Integer
.
valueOf
(
countyMap
.
get
(
"FINISH_COUNT"
)
+
""
);
youSum
+=
Integer
.
parseInt
(
map
.
get
(
"FINISH_COUNT"
)+
""
);
validCount
+=
Integer
.
valueOf
(
countyMap
.
get
(
"FINISH_COUNT"
)
+
""
);
}
else
{
}
puSum
+=
Integer
.
parseInt
(
map
.
get
(
"FINISH_COUNT"
)+
""
);
if
(
countyMapList
.
size
()
==
1
)
{
countyMapGroup
.
put
(
"groupNum"
,
countyMapList
.
get
(
0
).
get
(
"QR_CODE"
));
}
else
{
List
<
Integer
>
c
=
new
ArrayList
<>();
List
<
Integer
>
nsList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
countyMapList
.
size
();
i
++)
{
/**
* 判断组号中时候含有历史回迁组
*/
if
((((
countyMapList
.
get
(
i
)).
get
(
"QR_CODE"
))
+
""
).
contains
(
"L"
))
{
if
((((
countyMapList
.
get
(
i
)).
get
(
"QR_CODE"
))
+
""
).
length
()
==
8
)
{
nsList
.
add
(
Integer
.
parseInt
((((
countyMapList
.
get
(
i
)).
get
(
"QR_CODE"
))
+
""
).
substring
(
1
,
(((
countyMapList
.
get
(
i
)).
get
(
"QR_CODE"
))
+
""
).
length
())));
}
}
else
{
if
((((
countyMapList
.
get
(
i
)).
get
(
"QR_CODE"
))
+
""
).
length
()
==
8
)
{
nsList
.
add
(
Integer
.
parseInt
((((
countyMapList
.
get
(
i
)).
get
(
"QR_CODE"
))
+
""
)));
}
}
}
}
}
countyMapGroup
.
put
(
"groupNum"
,
createGroupNo
(
c
,
nsList
));
}
}
policemap
.
put
(
"youSum"
,
youSum
);
countyMapGroup
.
put
(
"countyCode"
,
countyCode
);
policemap
.
put
(
"puSum"
,
puSum
);
countyMapGroup
.
put
(
"taskId"
,
taskId
);
policemap
.
put
(
"checkName"
,
CHECK_NAME
);
countyMapGroup
.
put
(
"groupList"
,
countyMapList
);
policemap
.
put
(
"checkDate"
,
CHECK_DATE
);
countyMapGroup
.
put
(
"countyName"
,
countyName
);
policemap
.
put
(
"policeName"
,
GAJG_MC
);
countyMapGroup
.
put
(
"countyValidCount"
,
validCount
);
policemap
.
put
(
"policeCode"
,
policeCode
);
countyList
.
add
(
countyMapGroup
);
policeMapList
.
add
(
policemap
);
}
}
mapType
.
put
(
"typeCode"
,
typeName
);
mapType
.
put
(
"typeSum"
,
typeSum
);
countyMap
.
put
(
"policeList"
,
policeMapList
);
mapType
.
put
(
"typeName"
,
type
);
countyMap
.
put
(
"countyName"
,
countyName
);
mapType
.
put
(
"countyList"
,
countyList
);
countyMap
.
put
(
"countyCode"
,
countyCode
);
typeList
.
add
(
mapType
);
countyMapList
.
add
(
countyMap
);
}
}
return
typeList
;
}
private
String
createGroupNo
(
List
<
Integer
>
c
,
List
<
Integer
>
nsList
)
{
try
{
return
countyMapList
;
String
groupNo
=
""
;
c
.
add
(
nsList
.
get
(
0
));
for
(
int
i
=
0
;
i
<
nsList
.
size
()
-
1
;
++
i
)
{
if
(
nsList
.
get
(
i
)
+
1
==
nsList
.
get
(
i
+
1
))
{
c
.
add
(
nsList
.
get
(
i
+
1
));
}
else
{
if
(
c
.
size
()
>=
1
)
{
if
(
c
.
size
()
==
1
)
{
groupNo
+=
c
.
get
(
0
)
+
","
;
}
else
{
groupNo
+=
c
.
get
(
0
)
+
"-"
+
c
.
get
(
c
.
size
()
-
1
)
+
","
;
}
}
c
.
clear
();
c
.
add
(
nsList
.
get
(
i
+
1
));
}
}
if
(
c
.
size
()
>=
1
)
{
if
(
c
.
size
()
==
1
)
{
groupNo
+=
c
.
get
(
0
)
+
","
;
}
else
{
groupNo
+=
c
.
get
(
0
)
+
"-"
+
c
.
get
(
c
.
size
()
-
1
)
+
","
;
}
}
return
groupNo
;
}
catch
(
Exception
e
)
{
}
return
""
;
}
}
}
}
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