Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
data_management_system
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张伯涛
data_management_system
Commits
31eb8e62
Commit
31eb8e62
authored
Nov 30, 2022
by
zhuangxinwei
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into master
parents
fd5afe93
b2f77578
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
212 additions
and
51 deletions
+212
-51
YcsbController.java
.../java/com/ruoyi/web/controller/system/YcsbController.java
+33
-1
DictUtils.java
...ommon/src/main/java/com/ruoyi/common/utils/DictUtils.java
+9
-9
Ycsb.java
ruoyi-system/src/main/java/com/ruoyi/system/domain/Ycsb.java
+27
-17
YcsbMapper.java
...tem/src/main/java/com/ruoyi/system/mapper/YcsbMapper.java
+15
-8
IYcsbService.java
.../src/main/java/com/ruoyi/system/service/IYcsbService.java
+17
-8
YcsbServiceImpl.java
...n/java/com/ruoyi/system/service/impl/YcsbServiceImpl.java
+80
-3
HscjMapper.xml
ruoyi-system/src/main/resources/mapper/system/HscjMapper.xml
+4
-2
YcsbMapper.xml
ruoyi-system/src/main/resources/mapper/system/YcsbMapper.xml
+4
-0
ycsb.js
ruoyi-ui/src/api/system/ycsb.js
+20
-0
index.vue
ruoyi-ui/src/views/system/ycsb/index.vue
+3
-3
No files found.
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/YcsbController.java
View file @
31eb8e62
...
@@ -20,6 +20,7 @@ import com.ruoyi.system.domain.Ycsb;
...
@@ -20,6 +20,7 @@ import com.ruoyi.system.domain.Ycsb;
import
com.ruoyi.system.service.IYcsbService
;
import
com.ruoyi.system.service.IYcsbService
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
com.ruoyi.common.core.page.TableDataInfo
;
import
org.springframework.web.multipart.MultipartFile
;
/**
/**
* 抗原异常上报Controller
* 抗原异常上报Controller
...
@@ -101,4 +102,35 @@ public class YcsbController extends BaseController
...
@@ -101,4 +102,35 @@ public class YcsbController extends BaseController
{
{
return
toAjax
(
ycsbService
.
deleteYcsbByIds
(
ids
));
return
toAjax
(
ycsbService
.
deleteYcsbByIds
(
ids
));
}
}
/**
* 抗原异常上报导入空模板下载
*/
@PostMapping
(
"/importTemplate"
)
@PreAuthorize
(
"@ss.hasPermi('system:ycsb:import')"
)
@Log
(
title
=
"下载抗原异常上报模板"
,
businessType
=
BusinessType
.
IMPORT
)
public
void
importTemplate
(
HttpServletResponse
response
)
throws
Exception
{
ExcelUtil
<
Ycsb
>
util
=
new
ExcelUtil
<>(
Ycsb
.
class
);
Class
<?
extends
Ycsb
>
clazz
=
new
Ycsb
().
getClass
();
// 是否做核酸
String
[]
hasAcid
=
new
String
[]{
"是"
,
"否"
};
ExcelUtil
.
setClassExcelAttribute
(
clazz
,
"hasAcid"
,
"combo"
,
hasAcid
);
util
.
importTemplateExcel
(
response
,
"抗原异常上报"
);
}
/**
* 导入接口
* @param file 导入的excel文件
* @param response
* @throws Exception
*/
@Log
(
title
=
"导入抗原异常上报"
,
businessType
=
BusinessType
.
IMPORT
)
@PreAuthorize
(
"@ss.hasPermi('system:ycsb:import')"
)
@PostMapping
(
"/importData"
)
public
void
importData
(
MultipartFile
file
,
HttpServletResponse
response
)
throws
Exception
{
ExcelUtil
<
Ycsb
>
util
=
new
ExcelUtil
<>(
Ycsb
.
class
);
List
<
Ycsb
>
list
=
util
.
importExcel
(
file
.
getInputStream
());
ycsbService
.
importList
(
list
,
response
);
}
}
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
View file @
31eb8e62
ruoyi-system/src/main/java/com/ruoyi/system/domain/Ycsb.java
View file @
31eb8e62
...
@@ -20,15 +20,19 @@ public class Ycsb extends BaseEntity
...
@@ -20,15 +20,19 @@ public class Ycsb extends BaseEntity
/** 主键 */
/** 主键 */
private
Long
id
;
private
Long
id
;
/** 日期 */
/**
上报
日期 */
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
@Excel
(
name
=
"时间"
,
width
=
30
,
dateFormat
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
sbDate
;
private
Date
sbDate
;
/** 姓名 */
/**
异常人员
姓名 */
@Excel
(
name
=
"姓名"
)
@Excel
(
name
=
"姓名"
)
private
String
userName
;
private
String
userName
;
/** 是否做核酸 */
@Excel
(
name
=
"是否做核酸"
)
private
String
hasAcid
;
/** 身份证号码 */
/** 身份证号码 */
@Excel
(
name
=
"身份证号"
)
@Excel
(
name
=
"身份证号"
)
private
String
cardNo
;
private
String
cardNo
;
...
@@ -37,20 +41,16 @@ public class Ycsb extends BaseEntity
...
@@ -37,20 +41,16 @@ public class Ycsb extends BaseEntity
@Excel
(
name
=
"联系电话"
)
@Excel
(
name
=
"联系电话"
)
private
String
phone
;
private
String
phone
;
/** 联系方式 */
@Excel
(
name
=
"家庭现住址"
)
private
String
address
;
/** 居住地所在区 */
/** 居住地所在区 */
// @Excel(name = "居住地所在区
")
@Excel
(
name
=
"居住地所在区"
,
dictType
=
"residential_area
"
)
private
String
area
;
private
String
area
;
/** 街道/镇 */
/** 街道/镇 */
@Excel
(
name
=
"单位"
)
@Excel
(
name
=
"单位"
,
dictType
=
"street_town"
)
private
String
street
;
private
String
street
;
/
/ 新增字段
/
** 居委会 */
@Excel
(
name
=
"居委会"
)
@Excel
(
name
=
"居委会"
,
dictType
=
"committee"
)
private
String
committee
;
private
String
committee
;
/** 小区/村名称 */
/** 小区/村名称 */
...
@@ -69,20 +69,30 @@ public class Ycsb extends BaseEntity
...
@@ -69,20 +69,30 @@ public class Ycsb extends BaseEntity
@Excel
(
name
=
"门牌号"
)
@Excel
(
name
=
"门牌号"
)
private
String
house
;
private
String
house
;
/** 是否做核酸 */
/** 联系方式 */
// @Excel(name = "是否做核酸")
@Excel
(
name
=
"家庭现住址"
)
private
String
hasAcid
;
private
String
address
;
/** 备注 */
@Excel
(
name
=
"备注"
)
private
String
remark
;
/** 状态(0正常 1停用) */
/** 状态(0正常 1停用) */
// @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
private
String
status
;
private
String
status
;
/** 删除标志(0代表存在 2代表删除) */
/** 删除标志(0代表存在 2代表删除) */
private
String
delFlag
;
private
String
delFlag
;
/** 备注 */
private
String
checkCard
;
@Excel
(
name
=
"备注"
)
private
String
remark
;
public
String
getCheckCard
()
{
return
checkCard
;
}
public
void
setCheckCard
(
String
checkCard
)
{
this
.
checkCard
=
checkCard
;
}
public
void
setId
(
Long
id
)
public
void
setId
(
Long
id
)
{
{
...
...
ruoyi-system/src/main/java/com/ruoyi/system/mapper/YcsbMapper.java
View file @
31eb8e62
...
@@ -58,4 +58,11 @@ public interface YcsbMapper
...
@@ -58,4 +58,11 @@ public interface YcsbMapper
* @return 结果
* @return 结果
*/
*/
public
int
deleteYcsbByIds
(
Long
[]
ids
);
public
int
deleteYcsbByIds
(
Long
[]
ids
);
/**
* 根据身份证号查询
* @param cardNo 身份证号
* @return
*/
List
<
Ycsb
>
selectYcsbByCard
(
String
cardNo
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/service/IYcsbService.java
View file @
31eb8e62
...
@@ -3,6 +3,8 @@ package com.ruoyi.system.service;
...
@@ -3,6 +3,8 @@ package com.ruoyi.system.service;
import
java.util.List
;
import
java.util.List
;
import
com.ruoyi.system.domain.Ycsb
;
import
com.ruoyi.system.domain.Ycsb
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* 抗原异常上报Service接口
* 抗原异常上报Service接口
*
*
...
@@ -58,4 +60,11 @@ public interface IYcsbService
...
@@ -58,4 +60,11 @@ public interface IYcsbService
* @return 结果
* @return 结果
*/
*/
public
int
deleteYcsbById
(
Long
id
);
public
int
deleteYcsbById
(
Long
id
);
/**
* 导入抗原异常上报信息
* @param list 导入的list数据
* @param response
*/
void
importList
(
List
<
Ycsb
>
list
,
HttpServletResponse
response
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/YcsbServiceImpl.java
View file @
31eb8e62
package
com
.
ruoyi
.
system
.
service
.
impl
;
package
com
.
ruoyi
.
system
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
com.ruoyi.common.core.domain.entity.SysDictData
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.exception.ServiceException
;
import
com.ruoyi.common.utils.DataUtils
;
import
com.ruoyi.common.utils.*
;
import
com.ruoyi.common.utils.DateUtils
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.system.domain.Yxry
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.ruoyi.common.utils.SecurityUtils
;
import
com.ruoyi.common.annotation.DataScope
;
import
com.ruoyi.common.annotation.DataScope
;
import
com.ruoyi.system.mapper.YcsbMapper
;
import
com.ruoyi.system.mapper.YcsbMapper
;
import
com.ruoyi.system.domain.Ycsb
;
import
com.ruoyi.system.domain.Ycsb
;
import
com.ruoyi.system.service.IYcsbService
;
import
com.ruoyi.system.service.IYcsbService
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* 抗原异常上报Service业务层处理
* 抗原异常上报Service业务层处理
*
*
...
@@ -107,4 +112,76 @@ public class YcsbServiceImpl implements IYcsbService
...
@@ -107,4 +112,76 @@ public class YcsbServiceImpl implements IYcsbService
{
{
return
ycsbMapper
.
deleteYcsbById
(
id
);
return
ycsbMapper
.
deleteYcsbById
(
id
);
}
}
/**
* 导入
* @param list 导入的list数据
* @param response
*/
@Override
public
void
importList
(
List
<
Ycsb
>
list
,
HttpServletResponse
response
)
{
if
(
StringUtils
.
isNull
(
list
)
||
list
.
size
()
==
0
)
{
throw
new
ServiceException
(
"导入数据不能为空!"
);
}
List
<
Ycsb
>
trueList
=
new
ArrayList
<>();
List
<
Ycsb
>
failureList
=
new
ArrayList
<>();
for
(
Ycsb
ycsb
:
list
)
{
if
(
StringUtils
.
isNotEmpty
(
ycsb
.
getUserName
())
&&
StringUtils
.
isNotEmpty
(
ycsb
.
getCardNo
())
&&
StringUtils
.
isNotEmpty
(
ycsb
.
getArea
())
&&
StringUtils
.
isNotEmpty
(
ycsb
.
getStreet
())
&&
StringUtils
.
isNotEmpty
(
ycsb
.
getCommittee
())
&&
StringUtils
.
isNotEmpty
(
ycsb
.
getSbDate
().
toString
()))
{
// 校验身份证号是否重复(同excel表验证)
List
<
Ycsb
>
ycsbList
=
list
.
stream
().
filter
(
i
->
ycsb
.
getCardNo
().
equals
(
i
.
getCardNo
())).
collect
(
Collectors
.
toList
());
if
(
ycsbList
.
size
()
>
1
)
{
failureList
.
add
(
ycsb
);
}
else
{
// 校验身份证格式
if
(
CheckUtils
.
checkCard
(
ycsb
.
getCardNo
()))
{
ycsb
.
setCheckCard
(
"1"
);
// 校验手机号格式
if
(!
CheckUtils
.
checkPhone
(
ycsb
.
getPhone
()))
{
failureList
.
add
(
ycsb
);
}
else
{
// 匹配小区参数
if
(
StringUtils
.
isNotEmpty
(
ycsb
.
getCommunity
()))
{
List
<
SysDictData
>
communities
=
DictUtils
.
getDictCache
(
"community"
);
List
<
String
>
values
=
communities
.
stream
().
map
(
SysDictData:
:
getDictValue
)
.
filter
(
dictValue
->
ycsb
.
getCommunity
().
equals
(
dictValue
)).
collect
(
Collectors
.
toList
());
if
(!
values
.
isEmpty
())
{
ycsb
.
setCommunity
(
values
.
get
(
0
));
String
createBy
=
DataUtils
.
getValue
(
ycsb
.
getArea
(),
ycsb
.
getStreet
(),
ycsb
.
getCommittee
());
ycsb
.
setCreateBy
(
createBy
);
ycsb
.
setCreateTime
(
DateUtils
.
getNowDate
());
trueList
.
add
(
ycsb
);
}
else
{
failureList
.
add
(
ycsb
);
}
}
}
}
else
{
ycsb
.
setCheckCard
(
"0"
);
failureList
.
add
(
ycsb
);
}
}
}
else
{
failureList
.
add
(
ycsb
);
}
}
if
(!
trueList
.
isEmpty
())
{
for
(
Ycsb
ycsb
:
trueList
)
{
// 校验身份证号是否重复(数据库验证)
List
<
Ycsb
>
ycsbList
=
ycsbMapper
.
selectYcsbByCard
(
ycsb
.
getCardNo
());
if
(
ycsbList
.
size
()
>
0
)
{
ycsbMapper
.
updateYcsb
(
ycsb
);
}
ycsbMapper
.
insertYcsb
(
ycsb
);
}
}
if
(!
failureList
.
isEmpty
())
{
ExcelUtil
<
Ycsb
>
util
=
new
ExcelUtil
<>(
Ycsb
.
class
);
util
.
exportExcel
(
response
,
failureList
,
"抗原异常上报错误数据"
);
}
}
}
}
ruoyi-system/src/main/resources/mapper/system/HscjMapper.xml
View file @
31eb8e62
...
@@ -70,13 +70,15 @@
...
@@ -70,13 +70,15 @@
create_time,
create_time,
update_by,
update_by,
update_time,
update_time,
remark
remark,
committee,
cj_result
from hscj
from hscj
</sql>
</sql>
<select
id=
"selectHscjList"
parameterType=
"Hscj"
resultMap=
"HscjResult"
>
<select
id=
"selectHscjList"
parameterType=
"Hscj"
resultMap=
"HscjResult"
>
select a.id, a.province, a.city, a.area, a.street, a.community, a.cj_place, a.cjgh, a.user_name, a.card_no,
select a.id, a.province, a.city, a.area, a.street, a.community, a.cj_place, a.cjgh, a.user_name, a.card_no,
a.phone,
a.phone,
a.committee,a.cj_result,
a.sex, a.address, a.age, a.category, a.cj_time, a.cj_name, a.cj_phone, a.b_type, a.laboratory, a.jc_time,
a.sex, a.address, a.age, a.category, a.cj_time, a.cj_name, a.cj_phone, a.b_type, a.laboratory, a.jc_time,
a.rygx, a.boxhao, a.status, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time, a.remark from
a.rygx, a.boxhao, a.status, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time, a.remark from
hscj a
hscj a
...
...
ruoyi-system/src/main/resources/mapper/system/YcsbMapper.xml
View file @
31eb8e62
...
@@ -74,6 +74,10 @@
...
@@ -74,6 +74,10 @@
<include
refid=
"selectYcsbVo"
/>
<include
refid=
"selectYcsbVo"
/>
where id = #{id}
where id = #{id}
</select>
</select>
<select
id=
"selectYcsbByCard"
resultType=
"com.ruoyi.system.domain.Ycsb"
>
<include
refid=
"selectYcsbVo"
/>
where del_flag = '0' and card_no = #{cardNo}
</select>
<insert
id=
"insertYcsb"
parameterType=
"Ycsb"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insertYcsb"
parameterType=
"Ycsb"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into ycsb
insert into ycsb
...
...
ruoyi-ui/src/api/system/ycsb.js
View file @
31eb8e62
...
@@ -42,3 +42,23 @@ export function delYcsb(id) {
...
@@ -42,3 +42,23 @@ export function delYcsb(id) {
method
:
'delete'
method
:
'delete'
})
})
}
}
// 下载抗原异常上报导入模板
export
function
importTemplate
(
params
)
{
return
request
({
url
:
'/system/ycsb/importTemplate'
,
method
:
'post'
,
responseType
:
'blob'
,
params
})
}
// 导入抗原异常上报信息
export
function
importExcel
(
data
)
{
return
request
({
url
:
'/system/ycsb/importData'
,
method
:
'post'
,
responseType
:
'blob'
,
data
})
}
ruoyi-ui/src/views/system/ycsb/index.vue
View file @
31eb8e62
...
@@ -421,7 +421,7 @@
...
@@ -421,7 +421,7 @@
<
script
>
<
script
>
import
{
listYcsb
,
getYcsb
,
delYcsb
,
addYcsb
,
updateYcsb
}
from
"@/api/system/ycsb"
;
import
{
listYcsb
,
getYcsb
,
delYcsb
,
addYcsb
,
updateYcsb
}
from
"@/api/system/ycsb"
;
import
{
getToken
}
from
'@/utils/auth'
import
{
getToken
}
from
'@/utils/auth'
import
{
importTemplate
,
importExcel
}
from
"@/api/system/
zlqk
"
;
import
{
importTemplate
,
importExcel
}
from
"@/api/system/
ycsb
"
;
export
default
{
export
default
{
name
:
"Ycsb"
,
name
:
"Ycsb"
,
...
@@ -677,7 +677,7 @@ export default {
...
@@ -677,7 +677,7 @@ export default {
// 设置上传的请求头部
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
}
,
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
}
,
// 上传的地址
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/system/
zlqk
/importTemplate"
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/system/
ycbs
/importTemplate"
}
,
}
,
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
...
@@ -849,7 +849,7 @@ export default {
...
@@ -849,7 +849,7 @@ export default {
/** 导入按钮操作 */
/** 导入按钮操作 */
handleImport
()
{
handleImport
()
{
this
.
importLoading
=
false
this
.
importLoading
=
false
this
.
upload
.
title
=
"
治疗情况
导入"
;
this
.
upload
.
title
=
"
抗原异常上报
导入"
;
this
.
upload
.
open
=
true
;
this
.
upload
.
open
=
true
;
}
,
}
,
/** 下载模板操作 */
/** 下载模板操作 */
...
...
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