Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
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
fangxinjiang
yifu-mvp
Commits
6a8a1676
Commit
6a8a1676
authored
Jan 06, 2026
by
huyuchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
huych-电子档案批量导入第四次提交
parent
8db181df
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
117 additions
and
40 deletions
+117
-40
ArchiveDownloadFeedbackVO.java
...ifu/cloud/plus/v1/batch/vo/ArchiveDownloadFeedbackVO.java
+8
-8
ElectronicArchiveImportServiceImpl.java
...atch/service/impl/ElectronicArchiveImportServiceImpl.java
+60
-10
TElectronicArchiveDetailServiceImpl.java
...tch/service/impl/TElectronicArchiveDetailServiceImpl.java
+47
-20
TElectronicArchiveDetailMapper.xml
.../main/resources/mapper/TElectronicArchiveDetailMapper.xml
+2
-2
No files found.
yifu-batch/yifu-batch-api/src/main/java/com/yifu/cloud/plus/v1/batch/vo/ArchiveDownloadFeedbackVO.java
View file @
6a8a1676
...
...
@@ -39,55 +39,55 @@ public class ArchiveDownloadFeedbackVO implements Serializable {
/**
* 项目名称
*/
@ExcelProperty
(
value
=
"项目名称"
,
index
=
3
)
@ExcelProperty
(
value
=
"项目名称"
,
index
=
2
)
@Schema
(
description
=
"项目名称"
)
private
String
deptName
;
/**
* 客户名称
*/
@ExcelProperty
(
value
=
"客户名称"
,
index
=
4
)
@ExcelProperty
(
value
=
"客户名称"
,
index
=
3
)
@Schema
(
description
=
"客户名称"
)
private
String
customerName
;
/**
* 资料类型
*/
@ExcelProperty
(
value
=
"资料类型"
,
index
=
5
)
@ExcelProperty
(
value
=
"资料类型"
,
index
=
4
)
@Schema
(
description
=
"资料类型"
)
private
String
materialType
;
/**
* 资料类型
*/
@ExcelProperty
(
value
=
"档案所在地"
,
index
=
6
)
@ExcelProperty
(
value
=
"档案所在地"
,
index
=
5
)
@Schema
(
description
=
"档案所在地"
)
private
String
fileAddress
;
/**
* 项目编码
*/
@ExcelProperty
(
value
=
"项目编码"
,
index
=
7
)
@ExcelProperty
(
value
=
"项目编码"
,
index
=
6
)
@Schema
(
description
=
"项目编码"
)
private
String
deptNo
;
/**
* 客户编码
*/
@ExcelProperty
(
value
=
"客户编码"
,
index
=
8
)
@ExcelProperty
(
value
=
"客户编码"
,
index
=
7
)
@Schema
(
description
=
"客户编码"
)
private
String
customerCode
;
/**
* 下载状态(成功/失败)
*/
@ExcelProperty
(
value
=
"下载状态"
,
index
=
9
)
@ExcelProperty
(
value
=
"下载状态"
,
index
=
8
)
@Schema
(
description
=
"下载状态"
)
private
String
downloadStatus
;
/**
* 失败原因
*/
@ExcelProperty
(
value
=
"失败原因"
,
index
=
10
)
@ExcelProperty
(
value
=
"失败原因"
,
index
=
9
)
@Schema
(
description
=
"失败原因"
)
private
String
failReason
;
}
...
...
yifu-batch/yifu-batch-biz/src/main/java/com/yifu/cloud/plus/v1/batch/service/impl/ElectronicArchiveImportServiceImpl.java
View file @
6a8a1676
...
...
@@ -268,11 +268,12 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
detail
.
setStatus
(
ArchiveConstants
.
DETAIL_STATUS_DISABLED
);
detail
.
setDeleteFlag
(
CommonConstants
.
ZERO_STRING
);
// 设置档案所在地(需要从empInfo中获取)
detail
.
setFileProvince
(
empInfo
.
getFileProvince
());
detail
.
setFileCity
(
empInfo
.
getFileCity
());
detail
.
setFileTown
(
empInfo
.
getFileTown
());
detailService
.
save
(
detail
);
// 设置档案所在地(需要从empInfo中获取)
detail
.
setFileProvince
(
empInfo
.
getFileProvince
());
detail
.
setFileCity
(
empInfo
.
getFileCity
());
detail
.
setFileTown
(
empInfo
.
getFileTown
());
detail
.
setFileAddress
(
buildFileAddress
(
empInfo
.
getFileProvince
(),
empInfo
.
getFileCity
(),
empInfo
.
getFileTown
()));
detailService
.
save
(
detail
);
}
successList
.
add
(
data
);
...
...
@@ -1128,6 +1129,7 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
detail
.
setFileProvince
(
empInfo
.
getFileProvince
());
detail
.
setFileCity
(
empInfo
.
getFileCity
());
detail
.
setFileTown
(
empInfo
.
getFileTown
());
detail
.
setFileAddress
(
buildFileAddress
(
empInfo
.
getFileProvince
(),
empInfo
.
getFileCity
(),
empInfo
.
getFileTown
()));
detailService
.
save
(
detail
);
}
else
{
// 存在则更新资料类型(追加)
...
...
@@ -1276,12 +1278,13 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
detail
.
setMaterialType
(
materialType
);
detail
.
setStatus
(
ArchiveConstants
.
DETAIL_STATUS_ENABLED
);
detail
.
setDeleteFlag
(
CommonConstants
.
ZERO_STRING
);
detail
.
setFileProvince
(
empInfo
.
getFileProvince
());
detail
.
setFileCity
(
empInfo
.
getFileCity
());
detail
.
setFileTown
(
empInfo
.
getFileTown
());
detailService
.
save
(
detail
);
detail
.
setFileProvince
(
empInfo
.
getFileProvince
());
detail
.
setFileCity
(
empInfo
.
getFileCity
());
detail
.
setFileTown
(
empInfo
.
getFileTown
());
detail
.
setFileAddress
(
buildFileAddress
(
empInfo
.
getFileProvince
(),
empInfo
.
getFileCity
(),
empInfo
.
getFileTown
()));
detailService
.
save
(
detail
);
}
else
{
}
else
{
// 存在则更新资料类型(追加)
Set
<
String
>
existTypes
=
new
HashSet
<>();
if
(
StrUtil
.
isNotBlank
(
detail
.
getMaterialType
()))
{
...
...
@@ -1348,5 +1351,52 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
return
R
.
failed
(
"处理失败:"
+
e
.
getMessage
());
}
}
/**
* 构建档案所在地地址字符串
* 格式:安徽省/合肥市 或 安徽省/合肥市/庐阳区
*
* @param provinceCode 省代码
* @param cityCode 市代码
* @param townCode 区代码
* @return 档案所在地地址字符串
*/
private
String
buildFileAddress
(
Integer
provinceCode
,
Integer
cityCode
,
Integer
townCode
)
{
if
(
provinceCode
==
null
)
{
return
""
;
}
StringBuilder
address
=
new
StringBuilder
();
// 获取省名称
String
provinceName
=
(
String
)
RedisUtil
.
redis
.
opsForValue
().
get
(
CacheConstants
.
AREA_LABEL
+
provinceCode
);
if
(
StrUtil
.
isNotBlank
(
provinceName
))
{
address
.
append
(
provinceName
);
}
// 获取市名称
if
(
Common
.
isNotNull
(
cityCode
))
{
String
cityName
=
(
String
)
RedisUtil
.
redis
.
opsForValue
().
get
(
CacheConstants
.
AREA_LABEL
+
cityCode
);
if
(
StrUtil
.
isNotBlank
(
cityName
))
{
if
(
address
.
length
()
>
0
)
{
address
.
append
(
"/"
);
}
address
.
append
(
cityName
);
}
}
// 获取区名称(如果存在)
if
(
Common
.
isNotNull
(
townCode
))
{
String
townName
=
(
String
)
RedisUtil
.
redis
.
opsForValue
().
get
(
CacheConstants
.
AREA_LABEL
+
townCode
);
if
(
StrUtil
.
isNotBlank
(
townName
))
{
if
(
address
.
length
()
>
0
)
{
address
.
append
(
"/"
);
}
address
.
append
(
townName
);
}
}
return
address
.
toString
();
}
}
yifu-batch/yifu-batch-biz/src/main/java/com/yifu/cloud/plus/v1/batch/service/impl/TElectronicArchiveDetailServiceImpl.java
View file @
6a8a1676
...
...
@@ -236,7 +236,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
}
catch
(
Exception
e
)
{
log
.
error
(
"处理下载请求失败,姓名:{},身份证:{},项目编码:{}"
,
request
.
getEmpName
(),
request
.
getEmpIdcard
(),
request
.
getDeptNo
(),
e
);
feedbackList
.
add
(
createFeedbackVO
(
request
,
"系统异常:"
+
e
.
getMessage
()));
feedbackList
.
add
(
createFeedbackVO
(
request
,
"系统异常:"
+
e
.
getMessage
()
,
null
));
}
}
...
...
@@ -330,11 +330,6 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
List
<
ArchiveDownloadFeedbackVO
>
feedbackList
,
boolean
isCheck
,
List
<
String
>
deptNoList
)
{
//项目权限校验
if
(
isCheck
&&
!
deptNoList
.
contains
(
request
.
getDeptNo
()))
{
feedbackList
.
add
(
createFeedbackVO
(
request
,
"没有该项目的权限"
));
return
;
}
// 1. 根据姓名、身份证、项目编码、项目名称查询电子档案明细
LambdaQueryWrapper
<
TElectronicArchiveDetail
>
wrapper
=
Wrappers
.<
TElectronicArchiveDetail
>
lambdaQuery
()
...
...
@@ -350,10 +345,16 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
// 查询档案明细
TElectronicArchiveDetail
detail
=
baseMapper
.
selectOne
(
wrapper
);
//项目权限校验
if
(
isCheck
&&
!
deptNoList
.
contains
(
request
.
getDeptNo
()))
{
feedbackList
.
add
(
createFeedbackVO
(
request
,
"没有该项目的权限"
,
detail
));
return
;
}
// 2. 如果未找到档案,添加失败反馈
if
(
Common
.
isEmpty
(
detail
))
{
feedbackList
.
add
(
createFeedbackVO
(
request
,
"没找到这个人和项目对应的信息"
));
feedbackList
.
add
(
createFeedbackVO
(
request
,
"没找到这个人和项目对应的信息"
,
detail
));
return
;
}
...
...
@@ -369,7 +370,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
.
eq
(
TAttaInfo:
:
getStatus
,
ArchiveConstants
.
ATTA_STATUS_ENABLED
));
if
(
CollUtil
.
isEmpty
(
allAttaList
))
{
feedbackList
.
add
(
createFeedbackVO
(
request
,
"该人员在此项目下没有可用的附件"
));
feedbackList
.
add
(
createFeedbackVO
(
request
,
"该人员在此项目下没有可用的附件"
,
detail
));
return
;
}
...
...
@@ -406,14 +407,14 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedbackRequest
.
setDeptNo
(
request
.
getDeptNo
());
feedbackRequest
.
setDeptName
(
request
.
getDeptName
());
feedbackRequest
.
setMaterialType
(
"全部资料类型"
);
feedbackList
.
add
(
createSuccessFeedbackVO
(
feedbackRequest
));
feedbackList
.
add
(
createSuccessFeedbackVO
(
feedbackRequest
,
detail
));
}
else
{
// 下载指定资料类型
// 检查资料类型是否匹配(支持多个资料类型,用逗号分隔)
if
(
StrUtil
.
isBlank
(
detail
.
getMaterialType
())
||
!
detail
.
getMaterialType
().
contains
(
request
.
getMaterialType
()))
{
feedbackList
.
add
(
createFeedbackVO
(
request
,
"该人员在此项目下没有【"
+
request
.
getMaterialType
()
+
"】类型的资料"
));
feedbackList
.
add
(
createFeedbackVO
(
request
,
"该人员在此项目下没有【"
+
request
.
getMaterialType
()
+
"】类型的资料"
,
detail
));
return
;
}
...
...
@@ -426,7 +427,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
// 如果没有附件,添加失败反馈
if
(
CollUtil
.
isEmpty
(
attaList
))
{
feedbackList
.
add
(
createFeedbackVO
(
request
,
"该资料类型下没有可用的附件"
));
feedbackList
.
add
(
createFeedbackVO
(
request
,
"该资料类型下没有可用的附件"
,
detail
));
return
;
}
...
...
@@ -449,7 +450,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
downloadInfo
.
setMaterialType
(
request
.
getMaterialType
());
// 添加成功的反馈(状态暂时为"处理中",实际下载完成后更新)
feedbackList
.
add
(
createSuccessFeedbackVO
(
request
));
feedbackList
.
add
(
createSuccessFeedbackVO
(
request
,
detail
));
}
}
...
...
@@ -526,13 +527,19 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @param failReason 失败原因
* @return 反馈VO
*/
private
ArchiveDownloadFeedbackVO
createFeedbackVO
(
ArchiveBatchDownloadRequestVO
request
,
String
failReason
)
{
private
ArchiveDownloadFeedbackVO
createFeedbackVO
(
ArchiveBatchDownloadRequestVO
request
,
String
failReason
,
TElectronicArchiveDetail
detail
)
{
ArchiveDownloadFeedbackVO
feedback
=
new
ArchiveDownloadFeedbackVO
();
feedback
.
setEmpName
(
request
.
getEmpName
());
feedback
.
setEmpIdcard
(
request
.
getEmpIdcard
());
feedback
.
setDeptNo
(
request
.
getDeptNo
());
feedback
.
setDeptName
(
request
.
getDeptName
());
feedback
.
setMaterialType
(
request
.
getMaterialType
());
if
(
Common
.
isNotNull
(
detail
))
{
feedback
.
setCustomerCode
(
detail
.
getCustomerCode
());
feedback
.
setCustomerName
(
detail
.
getCustomerName
());
feedback
.
setFileAddress
(
detail
.
getFileAddress
());
}
feedback
.
setDownloadStatus
(
"失败"
);
feedback
.
setFailReason
(
failReason
);
return
feedback
;
...
...
@@ -544,13 +551,18 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @param request 请求VO
* @return 反馈VO
*/
private
ArchiveDownloadFeedbackVO
createSuccessFeedbackVO
(
ArchiveBatchDownloadRequestVO
request
)
{
private
ArchiveDownloadFeedbackVO
createSuccessFeedbackVO
(
ArchiveBatchDownloadRequestVO
request
,
TElectronicArchiveDetail
detail
)
{
ArchiveDownloadFeedbackVO
feedback
=
new
ArchiveDownloadFeedbackVO
();
feedback
.
setEmpName
(
request
.
getEmpName
());
feedback
.
setEmpIdcard
(
request
.
getEmpIdcard
());
feedback
.
setDeptNo
(
request
.
getDeptNo
());
feedback
.
setDeptName
(
request
.
getDeptName
());
feedback
.
setMaterialType
(
request
.
getMaterialType
());
if
(
Common
.
isNotNull
(
detail
))
{
feedback
.
setCustomerCode
(
detail
.
getCustomerCode
());
feedback
.
setCustomerName
(
detail
.
getCustomerName
());
feedback
.
setFileAddress
(
detail
.
getFileAddress
());
}
feedback
.
setDownloadStatus
(
"处理中"
);
feedback
.
setFailReason
(
""
);
return
feedback
;
...
...
@@ -950,6 +962,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedback
.
setDeptNo
(
"未知"
);
feedback
.
setDeptName
(
"未知"
);
feedback
.
setMaterialType
(
request
.
getMaterialTypes
()
!=
null
?
String
.
join
(
","
,
request
.
getMaterialTypes
())
:
""
);
feedback
.
setCustomerCode
(
""
);
feedback
.
setCustomerName
(
""
);
feedback
.
setFileAddress
(
""
);
feedback
.
setDownloadStatus
(
"失败"
);
feedback
.
setFailReason
(
failReason
);
return
feedback
;
...
...
@@ -965,15 +980,18 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @return 反馈VO
*/
private
ArchiveDownloadFeedbackVO
createSelectedExportFeedbackVOWithDetail
(
TElectronicArchiveDetail
detail
,
TElectronicArchiveTask
task
,
String
materialType
,
String
failReason
)
{
TElectronicArchiveTask
task
,
String
materialType
,
String
failReason
)
{
ArchiveDownloadFeedbackVO
feedback
=
new
ArchiveDownloadFeedbackVO
();
feedback
.
setEmpName
(
detail
.
getEmpName
());
feedback
.
setEmpIdcard
(
detail
.
getEmpIdcard
());
feedback
.
setDeptNo
(
detail
.
getDeptNo
());
feedback
.
setDeptName
(
detail
.
getDeptName
());
feedback
.
setMaterialType
(
materialType
);
feedback
.
setCustomerCode
(
detail
.
getCustomerCode
());
feedback
.
setCustomerName
(
detail
.
getCustomerName
());
feedback
.
setFileAddress
(
detail
.
getFileAddress
());
feedback
.
setDownloadStatus
(
"失败"
);
feedback
.
setFailReason
(
failReason
);
return
feedback
;
...
...
@@ -988,14 +1006,17 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @return 反馈VO
*/
private
ArchiveDownloadFeedbackVO
createSelectedExportSuccessFeedbackVO
(
TElectronicArchiveDetail
detail
,
TElectronicArchiveTask
task
,
String
materialType
)
{
TElectronicArchiveTask
task
,
String
materialType
)
{
ArchiveDownloadFeedbackVO
feedback
=
new
ArchiveDownloadFeedbackVO
();
feedback
.
setEmpName
(
detail
.
getEmpName
());
feedback
.
setEmpIdcard
(
detail
.
getEmpIdcard
());
feedback
.
setDeptNo
(
detail
.
getDeptNo
());
feedback
.
setDeptName
(
detail
.
getDeptName
());
feedback
.
setMaterialType
(
materialType
);
feedback
.
setCustomerCode
(
detail
.
getCustomerCode
());
feedback
.
setCustomerName
(
detail
.
getCustomerName
());
feedback
.
setFileAddress
(
detail
.
getFileAddress
());
feedback
.
setDownloadStatus
(
"处理中"
);
feedback
.
setFailReason
(
""
);
return
feedback
;
...
...
@@ -1216,6 +1237,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedback
.
setDeptNo
(
detail
.
getDeptNo
());
feedback
.
setDeptName
(
detail
.
getDeptName
());
feedback
.
setMaterialType
(
detail
.
getMaterialType
());
feedback
.
setCustomerCode
(
detail
.
getCustomerCode
());
feedback
.
setCustomerName
(
detail
.
getCustomerName
());
feedback
.
setFileAddress
(
detail
.
getFileAddress
());
feedback
.
setDownloadStatus
(
"失败"
);
feedback
.
setFailReason
(
failReason
);
return
feedback
;
...
...
@@ -1236,6 +1260,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedback
.
setDeptNo
(
detail
.
getDeptNo
());
feedback
.
setDeptName
(
detail
.
getDeptName
());
feedback
.
setMaterialType
(
String
.
join
(
","
,
materialTypes
));
feedback
.
setCustomerCode
(
detail
.
getCustomerCode
());
feedback
.
setCustomerName
(
detail
.
getCustomerName
());
feedback
.
setFileAddress
(
detail
.
getFileAddress
());
feedback
.
setDownloadStatus
(
"处理中"
);
feedback
.
setFailReason
(
""
);
return
feedback
;
...
...
yifu-batch/yifu-batch-biz/src/main/resources/mapper/TElectronicArchiveDetailMapper.xml
View file @
6a8a1676
...
...
@@ -23,7 +23,7 @@
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"fileAddress"
column=
"FILE_ADRESS"
/>
<result
property=
"fileAddress"
column=
"FILE_AD
D
RESS"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
...
...
@@ -44,7 +44,7 @@
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
a.FILE_ADRESS
a.FILE_AD
D
RESS
</sql>
<sql
id=
"tElectronicArchiveDetail_where"
>
<if
test=
"tElectronicArchiveDetail != null"
>
...
...
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