Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
data-center
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
廖鑫
data-center
Commits
3b67812e
Commit
3b67812e
authored
Nov 30, 2021
by
shenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加事项清单导入
parent
ee0df0de
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
268 additions
and
28 deletions
+268
-28
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/dao/RybWorkDao.java
...com/mortals/xhx/modules/implementlist/dao/RybWorkDao.java
+1
-0
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/dao/ibatis/RybWorkDaoImpl.java
.../xhx/modules/implementlist/dao/ibatis/RybWorkDaoImpl.java
+5
-0
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/listener/ImplementImportListener.java
...dules/implementlist/listener/ImplementImportListener.java
+59
-0
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/listener/RybMatterImportListener.java
...dules/implementlist/listener/RybMatterImportListener.java
+57
-0
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/listener/RybWorkImportListener.java
...modules/implementlist/listener/RybWorkImportListener.java
+59
-0
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/model/RybMatterListEntry.java
...s/xhx/modules/implementlist/model/RybMatterListEntry.java
+7
-21
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/model/RybWorkEntry.java
...mortals/xhx/modules/implementlist/model/RybWorkEntry.java
+6
-0
dataCenter-manager/src/main/java/com/mortals/xhx/modules/supplement/web/SupplementController.java
...tals/xhx/modules/supplement/web/SupplementController.java
+65
-0
dataCenter-manager/src/main/resources/sqlmap/module/implementlist/rybMatter.xml
.../main/resources/sqlmap/module/implementlist/rybMatter.xml
+2
-7
dataCenter-manager/src/main/resources/sqlmap/module/implementlist/rybWork.xml
...rc/main/resources/sqlmap/module/implementlist/rybWork.xml
+7
-0
No files found.
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/dao/RybWorkDao.java
View file @
3b67812e
...
...
@@ -12,4 +12,5 @@ public interface RybWorkDao extends ICRUDDao<ImplementlistEntity,Long> {
List
<
RybWorkEntry
>
find
(
String
deptCode
);
void
inserts
(
List
<
RybWorkEntry
>
list
);
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/dao/ibatis/RybWorkDaoImpl.java
View file @
3b67812e
...
...
@@ -21,4 +21,9 @@ public class RybWorkDaoImpl extends BaseCRUDDaoMybatis<ImplementlistEntity,Long>
public
List
<
RybWorkEntry
>
find
(
String
deptCode
)
{
return
getSqlSession
().
selectList
(
getSqlId
(
"findRyb"
),
deptCode
);
}
@Override
public
void
inserts
(
List
<
RybWorkEntry
>
rybWorkEntries
)
{
getSqlSession
().
insert
(
getSqlId
(
"insertRyb"
),
rybWorkEntries
);
}
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/listener/ImplementImportListener.java
0 → 100644
View file @
3b67812e
package
com.mortals.xhx.modules.implementlist.listener
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.mortals.xhx.common.utils.SnowFlakeUtil
;
import
com.mortals.xhx.modules.implementlist.dao.ImplementlistDao
;
import
com.mortals.xhx.modules.implementlist.model.ImplementlistEntity
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author liaozimu
* @Date: 2021-11-2021/11/2-17:23
* @Description:
*/
@Slf4j
public
class
ImplementImportListener
extends
AnalysisEventListener
<
ImplementlistEntity
>
{
private
ImplementlistDao
implementlistDao
;
/**
* 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
*/
private
static
final
int
BATCH_COUNT
=
3000
;
/**
* 这个集合用于接收 读取Excel文件得到的数据
*/
List
<
ImplementlistEntity
>
entityList
=
new
ArrayList
<
ImplementlistEntity
>();
public
ImplementImportListener
(
ImplementlistDao
implementlistDao
)
{
this
.
implementlistDao
=
implementlistDao
;
}
@SneakyThrows
@Override
public
void
invoke
(
ImplementlistEntity
implementlistEntity
,
AnalysisContext
analysisContext
)
{
implementlistEntity
.
setId
(
SnowFlakeUtil
.
get
().
nextId
());
entityList
.
add
(
implementlistEntity
);
//达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
if
(
entityList
.
size
()
>=
BATCH_COUNT
)
{
implementlistDao
.
insertBatch
(
entityList
);
//存储完成清理list
entityList
.
clear
();
}
log
.
info
(
"=======Excel文件<<>>导入成功==========="
);
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
analysisContext
)
{
// 这里也要保存数据,确保最后遗留的数据也存储到数据库
implementlistDao
.
insertBatch
(
entityList
);
log
.
info
(
"=======Excel文件<<>>导入成功==========="
);
}
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/listener/RybMatterImportListener.java
0 → 100644
View file @
3b67812e
package
com.mortals.xhx.modules.implementlist.listener
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.mortals.xhx.modules.implementlist.dao.RybMatterDao
;
import
com.mortals.xhx.modules.implementlist.model.RybMatterListEntry
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author liaozimu
* @Date: 2021-11-2021/11/2-17:23
* @Description:
*/
@Slf4j
public
class
RybMatterImportListener
extends
AnalysisEventListener
<
RybMatterListEntry
>
{
private
RybMatterDao
rybMatterDao
;
/**
* 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
*/
private
static
final
int
BATCH_COUNT
=
3000
;
/**
* 这个集合用于接收 读取Excel文件得到的数据
*/
List
<
RybMatterListEntry
>
entityList
=
new
ArrayList
<
RybMatterListEntry
>();
public
RybMatterImportListener
(
RybMatterDao
rybMatterDao
)
{
this
.
rybMatterDao
=
rybMatterDao
;
}
@SneakyThrows
@Override
public
void
invoke
(
RybMatterListEntry
rybMatterListEntry
,
AnalysisContext
analysisContext
)
{
entityList
.
add
(
rybMatterListEntry
);
//达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
if
(
entityList
.
size
()
>=
BATCH_COUNT
)
{
rybMatterDao
.
inserts
(
entityList
);
//存储完成清理list
entityList
.
clear
();
}
log
.
info
(
"=======Excel文件<<>>导入成功==========="
);
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
analysisContext
)
{
// 这里也要保存数据,确保最后遗留的数据也存储到数据库
rybMatterDao
.
inserts
(
entityList
);
log
.
info
(
"=======Excel文件<<>>导入成功==========="
);
}
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/listener/RybWorkImportListener.java
0 → 100644
View file @
3b67812e
package
com.mortals.xhx.modules.implementlist.listener
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.mortals.xhx.common.utils.SnowFlakeUtil
;
import
com.mortals.xhx.modules.implementlist.dao.RybWorkDao
;
import
com.mortals.xhx.modules.implementlist.model.RybWorkEntry
;
import
lombok.SneakyThrows
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author liaozimu
* @Date: 2021-11-2021/11/2-17:23
* @Description:
*/
@Slf4j
public
class
RybWorkImportListener
extends
AnalysisEventListener
<
RybWorkEntry
>
{
private
RybWorkDao
rybWorkDao
;
/**
* 每隔5条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
*/
private
static
final
int
BATCH_COUNT
=
3000
;
/**
* 这个集合用于接收 读取Excel文件得到的数据
*/
List
<
RybWorkEntry
>
entityList
=
new
ArrayList
<
RybWorkEntry
>();
public
RybWorkImportListener
(
RybWorkDao
rybWorkDao
)
{
this
.
rybWorkDao
=
rybWorkDao
;
}
@SneakyThrows
@Override
public
void
invoke
(
RybWorkEntry
rybWorkEntry
,
AnalysisContext
analysisContext
)
{
rybWorkEntry
.
setId
(
SnowFlakeUtil
.
get
().
nextId
());
entityList
.
add
(
rybWorkEntry
);
//达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
if
(
entityList
.
size
()
>=
BATCH_COUNT
)
{
rybWorkDao
.
inserts
(
entityList
);
//存储完成清理list
entityList
.
clear
();
}
log
.
info
(
"=======Excel文件<<>>导入成功==========="
);
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
analysisContext
)
{
// 这里也要保存数据,确保最后遗留的数据也存储到数据库
rybWorkDao
.
inserts
(
entityList
);
log
.
info
(
"=======Excel文件<<>>导入成功==========="
);
}
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/model/RybMatterListEntry.java
View file @
3b67812e
...
...
@@ -3,6 +3,7 @@ package com.mortals.xhx.modules.implementlist.model;
* 蓉易办对接实体类
*/
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
...
...
@@ -12,42 +13,27 @@ import java.util.Date;
public
class
RybMatterListEntry
extends
BaseEntityLong
{
//部门编码
@ExcelProperty
(
"部门编码"
)
private
String
deptCode
;
//部门名称
@ExcelProperty
(
"部门编码"
)
private
String
deptName
;
//事项名称
@ExcelProperty
(
"部门编码"
)
private
String
matterName
;
//事项编码
@ExcelProperty
(
"部门编码"
)
private
String
matterCode
;
//taskId
@ExcelProperty
(
"部门编码"
)
private
String
taskId
;
//事项类型
@ExcelProperty
(
"部门编码"
)
private
String
matterType
;
/**
* 是否推送(0 否 1是)
*/
private
String
isReport
;
/**
* 是否成功(0 否 1是)
*/
private
String
isSuccess
;
/**
* 失败次数
*/
private
Integer
failTimes
;
/**
* 推送失败原因
*/
private
String
failReason
;
private
Date
createTime
;
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/implementlist/model/RybWorkEntry.java
View file @
3b67812e
...
...
@@ -3,6 +3,7 @@ package com.mortals.xhx.modules.implementlist.model;
* 蓉易办工作人员对接实体类
*/
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.mortals.framework.model.BaseEntityLong
;
import
lombok.Data
;
...
...
@@ -10,18 +11,23 @@ import lombok.Data;
public
class
RybWorkEntry
extends
BaseEntityLong
{
//部门编码
@ExcelProperty
(
"部门编码"
)
private
String
deptCode
;
//部门名称
@ExcelProperty
(
"部门名称"
)
private
String
deptName
;
//'接受人'
@ExcelProperty
(
"接受人"
)
private
String
receiveUserName
;
//'接收人身份证号'
@ExcelProperty
(
"接收人身份证号"
)
private
String
receiveUserIdcard
;
//'接收人号码'
@ExcelProperty
(
"接收人号码"
)
private
String
receiveUserPhone
;
}
dataCenter-manager/src/main/java/com/mortals/xhx/modules/supplement/web/SupplementController.java
View file @
3b67812e
package
com.mortals.xhx.modules.supplement.web
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.fastjson.JSONObject
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.xhx.base.system.upload.service.UploadService
;
import
com.mortals.xhx.common.code.ExcelUploadEnum
;
import
com.mortals.xhx.common.code.PushTypeEnum
;
import
com.mortals.xhx.common.pdu.ApiRespPdu
;
import
com.mortals.xhx.modules.implementlist.dao.ImplementlistDao
;
import
com.mortals.xhx.modules.implementlist.dao.RybMatterDao
;
import
com.mortals.xhx.modules.implementlist.dao.RybWorkDao
;
import
com.mortals.xhx.modules.implementlist.listener.ImplementImportListener
;
import
com.mortals.xhx.modules.implementlist.listener.RybMatterImportListener
;
import
com.mortals.xhx.modules.implementlist.listener.RybWorkImportListener
;
import
com.mortals.xhx.modules.implementlist.model.ImplementlistEntity
;
import
com.mortals.xhx.modules.implementlist.model.RybMatterListEntry
;
import
com.mortals.xhx.modules.implementlist.model.RybWorkEntry
;
import
com.mortals.xhx.modules.supplement.model.SupplementEntity
;
import
com.mortals.xhx.modules.supplement.service.SupplementService
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -16,6 +28,7 @@ import org.springframework.web.bind.annotation.*;
import
com.mortals.framework.web.BaseCRUDJsonMappingController
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.IOException
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -39,6 +52,14 @@ public class SupplementController extends BaseCRUDJsonMappingController<Suppleme
@Autowired
private
ICacheService
iCacheService
;
@Autowired
private
RybWorkDao
rybWorkDao
;
@Autowired
private
ImplementlistDao
implementlistDao
;
@Autowired
private
RybMatterDao
matterDao
;
/**
* 导入办件信息,一阶段通过excel表格导入,放入磁盘中,在通过文件地址去获取文件内容进行数据清洗
...
...
@@ -62,7 +83,51 @@ public class SupplementController extends BaseCRUDJsonMappingController<Suppleme
return
respPdu
;
}
/*
*
* 蓉易办对接入口,excel上传,工作人员上传
* */
@RequestMapping
(
"rybImportWork"
)
public
ApiRespPdu
<
Object
>
rybImportWork
(
@RequestPart
(
"file"
)
MultipartFile
file
){
ApiRespPdu
respPdu
=
new
ApiRespPdu
();
try
{
EasyExcel
.
read
(
file
.
getInputStream
(),
RybWorkEntry
.
class
,
new
RybWorkImportListener
(
rybWorkDao
))
.
sheet
(
0
)
.
headRowNumber
(
3
)
.
doRead
();
respPdu
.
setCode
(
200
);
respPdu
.
setMsg
(
"上传文件成功"
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
respPdu
;
}
/*
* excel上传,事项清单
* */
@RequestMapping
(
"importMatter"
)
public
ApiRespPdu
<
Object
>
importMatter
(
@RequestPart
(
"file"
)
MultipartFile
file
,
Integer
type
){
ApiRespPdu
respPdu
=
new
ApiRespPdu
();
try
{
if
(
PushTypeEnum
.
SYTH
.
getValue
()
==
type
){
EasyExcel
.
read
(
file
.
getInputStream
(),
ImplementlistEntity
.
class
,
new
ImplementImportListener
(
implementlistDao
))
.
sheet
(
0
)
.
headRowNumber
(
3
)
.
doRead
();
}
else
if
(
PushTypeEnum
.
RYB
.
getValue
()
==
type
){
EasyExcel
.
read
(
file
.
getInputStream
(),
RybMatterListEntry
.
class
,
new
RybMatterImportListener
(
matterDao
))
.
sheet
(
0
)
.
headRowNumber
(
3
)
.
doRead
();
}
respPdu
.
setCode
(
200
);
respPdu
.
setMsg
(
"上传文件成功"
);
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
respPdu
;
}
public
SupplementController
(){
super
.
setFormClass
(
SupplementForm
.
class
);
...
...
dataCenter-manager/src/main/resources/sqlmap/module/implementlist/rybMatter.xml
View file @
3b67812e
...
...
@@ -9,12 +9,7 @@
matter_name as matterName,
matter_code as matterCode,
task_id as taskId,
matter_type as matterType,
create_time as createTime,
is_report as isReport,
is_success as isSuccess,
fail_times as failTimes,
fail_reason as failReason
matter_type as matterType
from ryb_matter_list
where matter_code = #{eventCode}
</select>
...
...
@@ -22,7 +17,7 @@
<select
id=
"insertRyb"
parameterType=
"collection"
>
insert into values
<foreach
collection=
"collection"
item=
"entry"
index=
","
>
(#{entry.deptCode},#{entry.deptName},#{entry.matterName},#{entry.matterCode},#{entry.taskId},#{entry.matterType}
,#{entry.createTime},#{entry.isReport},#{entry.isSuccess},#{entry.failTimes},#{entry.failReason}
)
(#{entry.deptCode},#{entry.deptName},#{entry.matterName},#{entry.matterCode},#{entry.taskId},#{entry.matterType})
</foreach>
</select>
</mapper>
\ No newline at end of file
dataCenter-manager/src/main/resources/sqlmap/module/implementlist/rybWork.xml
View file @
3b67812e
...
...
@@ -12,4 +12,11 @@
from ryb_work
where dept_code = #{deptCode}
</select>
<select
id=
"insertRyb"
parameterType=
"collection"
>
insert into values
<foreach
collection=
"collection"
item=
"entry"
index=
","
>
(#{entry.deptCode},#{entry.deptName},#{entry.matterName},#{entry.receiveUserName},#{entry.receiveUserIdcard},#{entry.receiveUserPhone})
</foreach>
</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