Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
2a040098
Commit
2a040098
authored
Nov 25, 2021
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
生成性能优化初版
parent
22e65d8d
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1550 additions
and
200 deletions
+1550
-200
performance/Performance.Api/Controllers/TemplateController.cs
+1
-1
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+1305
-0
performance/Performance.EntityModels/Performance.EntityModels.csproj
+0
-29
performance/Performance.Repository/Performance.Repository.csproj
+2
-1
performance/Performance.Services/AllotCompute/ImportDataService.cs
+203
-148
performance/Performance.Services/AllotService.cs
+0
-1
performance/Performance.Services/ConfigService.cs
+10
-11
performance/Performance.Services/LogManageService.cs
+29
-9
No files found.
performance/Performance.Api/Controllers/TemplateController.cs
View file @
2a040098
...
@@ -296,7 +296,7 @@ public ApiResponse PrejudgeLog([FromRoute] int allotId)
...
@@ -296,7 +296,7 @@ public ApiResponse PrejudgeLog([FromRoute] int allotId)
var
allot
=
allotService
.
GetAllot
(
allotId
);
var
allot
=
allotService
.
GetAllot
(
allotId
);
if
(
allot
==
null
)
if
(
allot
==
null
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"AllotID错误"
);
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"AllotID错误"
);
var
result
=
logService
.
GetLogDbug
(
allotId
);
var
result
=
logService
.
GetLogDbug
(
allotId
);
return
new
ApiResponse
(
ResponseType
.
OK
,
result
);
return
new
ApiResponse
(
ResponseType
.
OK
,
result
);
}
}
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
2a040098
...
@@ -2452,6 +2452,955 @@
...
@@ -2452,6 +2452,955 @@
是否可用 1 可用 2 不可用
是否可用 1 可用 2 不可用
</summary>
</summary>
</member>
</member>
<member
name=
"T:Performance.EntityModels.dis_drugatc"
>
<summary>
dis_drugatc Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.hospitalId"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.mechanism"
>
<summary>
药物化学物质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.disease"
>
<summary>
病种
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drugatc.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.dis_drug_tree"
>
<summary>
dis_drug_tree Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.disease"
>
<summary>
疾病
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.currentName"
>
<summary>
当前名称
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_tree.parentName"
>
<summary>
父级名称
</summary>
</member>
<member
name=
"T:Performance.EntityModels.dis_drug_type"
>
<summary>
dis_drug_type Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.disease"
>
<summary>
疾病
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.drugType"
>
<summary>
药物分类(中、西、草)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_type.fee"
>
<summary>
金额
</summary>
</member>
<member
name=
"T:Performance.EntityModels.dis_drug_useinfo_fee"
>
<summary>
dis_drug_useinfo_fee Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.drugName"
>
<summary>
药品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.fee"
>
<summary>
费用
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_drug_useinfo_fee.disease"
>
<summary>
病种
</summary>
</member>
<member
name=
"T:Performance.EntityModels.dis_ip_fee"
>
<summary>
dis_ip_fee Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.operationNum"
>
<summary>
手术量
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.allFee"
>
<summary>
总费用
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.hosBad"
>
<summary>
病床使用天数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.disease"
>
<summary>
病种
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.fee"
>
<summary>
药费
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_ip_fee.personNum"
>
<summary>
人数
</summary>
</member>
<member
name=
"T:Performance.EntityModels.dis_use_drugs"
>
<summary>
dis_use_drugs Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.disease"
>
<summary>
疾病
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.commonName"
>
<summary>
通名用
</summary>
</member>
<member
name=
"P:Performance.EntityModels.dis_use_drugs.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_department_useinfo"
>
<summary>
drug_department_useinfo Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.department"
>
<summary>
科室
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_department_useinfo.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_dosage"
>
<summary>
drug_dosage Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.dosage"
>
<summary>
剂型
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_dosage.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_first_use"
>
<summary>
drug_first_use Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.drugname"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_first_use.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_hosinfo"
>
<summary>
drug_hosinfo Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_hosinfo.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_p_info"
>
<summary>
drug_p_info Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.fee"
>
<summary>
费用
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.disease"
>
<summary>
病种
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.dis_person_times"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_info.dis_fee"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_p_mi"
>
<summary>
drug_p_mi Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.medicalInsurance"
>
<summary>
医保类型
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_mi.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_p_userinfo"
>
<summary>
drug_p_userinfo Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.sex"
>
<summary>
性别
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.age"
>
<summary>
年龄
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_p_userinfo.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.drug_som"
>
<summary>
drug_som Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.ID"
>
<summary>
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.drugName"
>
<summary>
商品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.commonName"
>
<summary>
通用名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.drug_som.fee"
>
<summary>
费用
</summary>
</member>
<member
name=
"T:Performance.EntityModels.ex_item"
>
<member
name=
"T:Performance.EntityModels.ex_item"
>
<summary>
<summary>
...
@@ -3117,6 +4066,362 @@
...
@@ -3117,6 +4066,362 @@
是否可用 1 可用 2 不可用
是否可用 1 可用 2 不可用
</summary>
</summary>
</member>
</member>
<member
name=
"T:Performance.EntityModels.hos_department_coc"
>
<summary>
hos_department_coc Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.department"
>
<summary>
科室
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_coc.fee"
>
<summary>
耗材金额
</summary>
</member>
<member
name=
"T:Performance.EntityModels.hos_department_fee"
>
<summary>
hos_department_fee Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.department"
>
<summary>
科室
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_department_fee.fee"
>
<summary>
药品金额
</summary>
</member>
<member
name=
"T:Performance.EntityModels.hos_disease_person"
>
<summary>
hos_disease_person Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.disease"
>
<summary>
病种
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_disease_person.persontimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"T:Performance.EntityModels.hos_drugatc"
>
<summary>
hos_drugatc Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.ID"
>
<summary>
ID
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.mechanism"
>
<summary>
药物化学物质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drugatc.fee"
>
<summary>
金额
</summary>
</member>
<member
name=
"T:Performance.EntityModels.hos_drug_fee"
>
<summary>
hos_drug_fee Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.drugName"
>
<summary>
药品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.fee"
>
<summary>
药品费用
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.commonName"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.personTimes"
>
<summary>
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_fee.drugtype"
>
<summary>
</summary>
</member>
<member
name=
"T:Performance.EntityModels.hos_drug_type"
>
<summary>
hos_drug_type Entity Model
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.ID"
>
<summary>
主键
E:\code_git\performance\performance\Performance.EntityModels\Entity
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.province"
>
<summary>
省份
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.hospitalid"
>
<summary>
医院ID
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.year"
>
<summary>
年
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.month"
>
<summary>
月
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.source"
>
<summary>
数据源(门诊/住院)
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.hosLevel"
>
<summary>
医院等级
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.hosType"
>
<summary>
医院性质
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.drugType"
>
<summary>
药品名
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.personTimes"
>
<summary>
人次
</summary>
</member>
<member
name=
"P:Performance.EntityModels.hos_drug_type.fee"
>
<summary>
金额
</summary>
</member>
<member
name=
"T:Performance.EntityModels.hos_personfee"
>
<member
name=
"T:Performance.EntityModels.hos_personfee"
>
<summary>
<summary>
...
...
performance/Performance.EntityModels/Performance.EntityModels.csproj
View file @
2a040098
...
@@ -10,35 +10,6 @@
...
@@ -10,35 +10,6 @@
</PropertyGroup>
</PropertyGroup>
<ItemGroup>
<ItemGroup>
<Compile Remove="T4Template\**" />
<EmbeddedResource Remove="T4Template\**" />
<None Remove="T4Template\**" />
</ItemGroup>
<ItemGroup>
<Compile Remove="Entity\dis_drugatc.Generated.cs" />
<Compile Remove="Entity\dis_drug_tree.Generated.cs" />
<Compile Remove="Entity\dis_drug_type.Generated.cs" />
<Compile Remove="Entity\dis_drug_useinfo_fee.Generated.cs" />
<Compile Remove="Entity\dis_ip_fee.Generated.cs" />
<Compile Remove="Entity\dis_use_drugs.Generated.cs" />
<Compile Remove="Entity\drug_department_useinfo.Generated.cs" />
<Compile Remove="Entity\drug_dosage.Generated.cs" />
<Compile Remove="Entity\drug_first_use.Generated.cs" />
<Compile Remove="Entity\drug_hosinfo.Generated.cs" />
<Compile Remove="Entity\drug_p_info.Generated.cs" />
<Compile Remove="Entity\drug_p_mi.Generated.cs" />
<Compile Remove="Entity\drug_p_userinfo.Generated.cs" />
<Compile Remove="Entity\drug_som.Generated.cs" />
<Compile Remove="Entity\hos_department_coc.Generated.cs" />
<Compile Remove="Entity\hos_department_fee.Generated.cs" />
<Compile Remove="Entity\hos_disease_person.Generated.cs" />
<Compile Remove="Entity\hos_drugatc.Generated.cs" />
<Compile Remove="Entity\hos_drug_fee.Generated.cs" />
<Compile Remove="Entity\hos_drug_type.Generated.cs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
</ItemGroup>
</ItemGroup>
...
...
performance/Performance.Repository/Performance.Repository.csproj
View file @
2a040098
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<TargetFramework>netstandard2.0</TargetFramework>
...
@@ -6,6 +6,7 @@
...
@@ -6,6 +6,7 @@
<ItemGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="1.60.1" />
<PackageReference Include="Dapper" Version="1.60.1" />
<PackageReference Include="Dapper.Contrib" Version="1.60.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.0" />
<PackageReference Include="MySql.Data" Version="8.0.15" />
<PackageReference Include="MySql.Data" Version="8.0.15" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.15" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.15" />
...
...
performance/Performance.Services/AllotCompute/ImportDataService.cs
View file @
2a040098
using
AutoMapper
;
using
AutoMapper
;
using
Dapper
;
using
Dapper.Contrib.Extensions
;
using
Microsoft.Extensions.DependencyInjection
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Options
;
using
MySql.Data.MySqlClient
;
using
NPOI.HSSF.UserModel
;
using
NPOI.HSSF.UserModel
;
using
NPOI.SS.UserModel
;
using
NPOI.SS.UserModel
;
using
NPOI.XSSF.UserModel
;
using
NPOI.XSSF.UserModel
;
using
Performance.DtoModels
;
using
Performance.DtoModels
;
using
Performance.DtoModels.AppSettings
;
using
Performance.EntityModels
;
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
Performance.Infrastructure
;
using
Performance.Repository
;
using
Performance.Repository
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.IO
;
using
System.IO
;
using
System.Linq
;
using
System.Linq
;
using
System.Text
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
Performance.Services.AllotCompute
namespace
Performance.Services.AllotCompute
{
{
...
@@ -20,47 +28,24 @@ namespace Performance.Services.AllotCompute
...
@@ -20,47 +28,24 @@ namespace Performance.Services.AllotCompute
/// </summary>
/// </summary>
public
class
ImportDataService
:
IAutoInjection
public
class
ImportDataService
:
IAutoInjection
{
{
private
PerSheetService
perSheetService
;
private
readonly
IOptions
<
AppConnection
>
_options
;
private
PerforPersheetRepository
perforPerSheetRepository
;
private
readonly
PerSheetService
_perSheetService
;
private
PerforPerallotRepository
perforPerallotRepository
;
private
readonly
PerforPerallotRepository
_perforPerallotRepository
;
private
PerforImdataRepository
perforImDataRepository
;
private
readonly
PerforPersheetRepository
_perforPersheetRepository
;
private
PerforImheaderRepository
perforImHeaderRepository
;
private
readonly
LogManageService
_logManageService
;
private
PerforImemployeeRepository
perforImEmployeeRepository
;
private
PerforImaccountbasicRepository
perforImaccountbasicRepository
;
private
PerforImspecialunitRepository
perforImspecialunitRepository
;
private
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
;
private
PerforImemployeelogisticsRepository
perforImemployeelogisticsRepository
;
//private PerforLogdbugRepository logdbug;
private
readonly
LogManageService
logManageService
;
private
ILogger
<
ImportDataService
>
logger
;
public
ImportDataService
(
PerSheetService
perSheetService
,
public
ImportDataService
(
PerforPersheetRepository
perforPerSheetRepository
,
IOptions
<
AppConnection
>
options
,
PerSheetService
perSheetService
,
PerforPerallotRepository
perforPerallotRepository
,
PerforPerallotRepository
perforPerallotRepository
,
PerforImdataRepository
perforImDataRepository
,
PerforPersheetRepository
perforPersheetRepository
,
PerforImheaderRepository
perforImHeaderRepository
,
LogManageService
logManageService
)
PerforImemployeeRepository
perforImEmployeeRepository
,
{
PerforImaccountbasicRepository
perforImaccountbasicRepository
,
_options
=
options
;
PerforImspecialunitRepository
perforImspecialunitRepository
,
_perSheetService
=
perSheetService
;
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
,
_perforPerallotRepository
=
perforPerallotRepository
;
PerforImemployeelogisticsRepository
perforImemployeelogisticsRepository
,
_perforPersheetRepository
=
perforPersheetRepository
;
//PerforLogdbugRepository logdbug
_logManageService
=
logManageService
;
LogManageService
logManageService
,
ILogger
<
ImportDataService
>
logger
)
{
this
.
perSheetService
=
perSheetService
;
this
.
perforPerSheetRepository
=
perforPerSheetRepository
;
this
.
perforPerallotRepository
=
perforPerallotRepository
;
this
.
perforImDataRepository
=
perforImDataRepository
;
this
.
perforImHeaderRepository
=
perforImHeaderRepository
;
this
.
perforImEmployeeRepository
=
perforImEmployeeRepository
;
this
.
perforImaccountbasicRepository
=
perforImaccountbasicRepository
;
this
.
perforImspecialunitRepository
=
perforImspecialunitRepository
;
this
.
perforImemployeeclinicRepository
=
perforImemployeeclinicRepository
;
this
.
perforImemployeelogisticsRepository
=
perforImemployeelogisticsRepository
;
//this.logdbug = logdbug;
this
.
logManageService
=
logManageService
;
this
.
logger
=
logger
;
}
}
/// <summary>
/// <summary>
...
@@ -99,39 +84,103 @@ private PerExcel Import(per_allot allot)
...
@@ -99,39 +84,103 @@ private PerExcel Import(per_allot allot)
?
(
IWorkbook
)(
new
XSSFWorkbook
(
fs
))
?
(
IWorkbook
)(
new
XSSFWorkbook
(
fs
))
:
(
IWorkbook
)(
new
HSSFWorkbook
(
fs
));
:
(
IWorkbook
)(
new
HSSFWorkbook
(
fs
));
bool
isnew
=
false
;
bool
isnew
=
false
;
var
tasks
=
new
List
<
Task
>();
for
(
int
i
=
0
;
i
<
workbook
.
NumberOfSheets
;
i
++)
for
(
int
i
=
0
;
i
<
workbook
.
NumberOfSheets
;
i
++)
{
{
var
sheet
=
workbook
.
GetSheetAt
(
i
);
var
sheet
=
workbook
.
GetSheetAt
(
i
);
var
sheetType
=
perSheetService
.
GetSheetType
(
sheet
.
SheetName
);
var
sheetType
=
_perSheetService
.
GetSheetType
(
sheet
.
SheetName
);
_logManageService
.
WriteMsg
(
"准备读取文件"
,
$"正在准备读取“
{
sheet
.
SheetName
}
”"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
try
{
tasks
.
Add
(
Task
.
Factory
.
StartNew
(()
=>
{
// 保留临床科室测算表全部结构,用作展示,不做其他用途
// 保留临床科室测算表全部结构,用作展示,不做其他用途
if
(
sheetType
==
SheetType
.
AccountBasic
)
if
(
sheetType
==
SheetType
.
AccountBasic
)
{
{
var
st
=
perSheetService
.
SheetAccountBasicSpecial
(
sheet
,
isnew
);
var
st
=
_
perSheetService
.
SheetAccountBasicSpecial
(
sheet
,
isnew
);
excel
.
PerSheet
.
Add
(
st
);
excel
.
PerSheet
.
Add
(
st
);
}
}
if
(
SheetType
.
Unidentifiable
!=
sheetType
)
if
(
SheetType
.
Unidentifiable
!=
sheetType
)
{
{
logManageService
.
WriteMsg
(
"开始读取excel文件"
,
$"开始读取sheet --
{
sheet
.
SheetName
}
"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
var
st
=
_perSheetService
.
Sheet
(
sheet
,
isnew
);
try
{
var
st
=
perSheetService
.
Sheet
(
sheet
,
isnew
);
excel
.
PerSheet
.
Add
(
st
);
excel
.
PerSheet
.
Add
(
st
);
}
else
{
if
(
sheet
.
SheetName
.
Contains
(
"开单医院"
))
isnew
=
true
;
}
}));
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
logManageService
.
WriteMsg
(
"读取excel
文件"
,
ex
.
Message
.
ToString
(),
4
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
_logManageService
.
WriteMsg
(
"读取
文件"
,
ex
.
Message
.
ToString
(),
4
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
throw
ex
;
throw
ex
;
}
}
}
}
else
_logManageService
.
WriteMsg
(
"读取文件"
,
$"文件读取中...当前操作需要一点时间,请耐心等待"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
Task
.
WaitAll
(
tasks
.
ToArray
());
_logManageService
.
WriteMsg
(
"读取文件"
,
$"EXCEL文件基础数据读取完成!"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
return
excel
;
}
}
private
bool
Save
(
PerExcel
excel
,
int
allotId
)
{
{
if
(
sheet
.
SheetName
.
Contains
(
"开单医院"
))
var
tasks
=
new
List
<
Task
>();
isnew
=
true
;
foreach
(
var
sheet
in
excel
.
PerSheet
)
{
_logManageService
.
WriteMsg
(
"准备保存数据"
,
$"正在准备保存数据“
{
sheet
.
SheetName
}
”"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
var
allot
=
_perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
var
allotList
=
_perforPerallotRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
);
var
sheets
=
_perforPersheetRepository
.
GetEntities
(
w
=>
w
.
AllotID
==
allotId
&&
w
.
SheetType
.
HasValue
);
var
task
=
Task
.
Factory
.
StartNew
(()
=>
{
if
(
sheet
.
SheetType
==
SheetType
.
Employee
)
{
var
imsheetid
=
SaveEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
}
else
if
(
sheet
.
SheetType
==
SheetType
.
LogisticsEmployee
)
{
var
imsheetid
=
SaveLogisticsEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
}
logManageService
.
WriteMsg
(
"开始读取excel文件"
,
$"excel文件基础数据读取完成!"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
else
if
(
sheet
.
SheetType
==
SheetType
.
ClinicEmployee
)
return
excel
;
{
var
imsheetid
=
SaveClinicEmployee
(
sheet
,
allot
,
allotList
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
}
else
if
(
sheet
.
SheetType
==
SheetType
.
AccountBasic
)
{
var
imsheetid
=
SaveAccountBasic
(
sheet
,
allot
,
sheets
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
SpecialUnit
)
{
var
imsheetid
=
SaveSpecialUnit
(
sheet
,
allot
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
else
{
var
imsheetid
=
SaveCommon
(
sheet
,
allot
,
sheets
);
SaveHeader
(
sheet
,
allot
,
imsheetid
);
}
});
tasks
.
Add
(
task
);
}
_logManageService
.
WriteMsg
(
"保存基础数据"
,
$"基础数据保存中...当前操作需要一点时间,请耐心等待"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
Task
.
WaitAll
(
tasks
.
ToArray
());
_logManageService
.
WriteMsg
(
"保存基础数据"
,
$"基础数据保存完成!"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
return
true
;
}
}
/// <summary>
/// <summary>
...
@@ -140,21 +189,21 @@ private PerExcel Import(per_allot allot)
...
@@ -140,21 +189,21 @@ private PerExcel Import(per_allot allot)
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
private
int
SaveEmployee
(
PerSheet
sheet
,
int
allotId
)
public
int
SaveEmployee
(
PerSheet
sheet
,
per_allot
allot
,
List
<
per_allot
>
allotList
)
{
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allotId
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
var
imsheet
=
new
per_sheet
{
AllotID
=
allot
.
ID
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
perforPerSheetRepository
.
Add
(
imsheet
);
imsheet
.
ID
=
(
int
)
connection
.
Insert
(
imsheet
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataEmployee
)
t
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataEmployee
)
t
);
//新上传名单中无人员名单,取到最后日期的数据
//新上传名单中无人员名单,取到最后日期的数据
if
(
dataList
==
null
||
dataList
.
Count
()
<=
0
)
if
(
dataList
==
null
||
dataList
.
Count
()
<=
0
)
{
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
var
allotList
=
perforPerallotRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
)
.
OrderByDescending
(
t
=>
t
.
Year
).
ThenByDescending
(
t
=>
t
.
Month
);
foreach
(
var
item
in
allotList
)
foreach
(
var
item
in
allotList
)
{
{
var
employeeList
=
perforImEmployeeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
item
.
ID
);
var
employeeList
=
connection
.
Query
<
im_employee
>(
"select * from im_employee where AllotID = @allotid"
,
new
{
AllotID
=
allot
.
ID
}
);
if
(
employeeList
!=
null
&&
employeeList
.
Count
>
0
)
if
(
employeeList
!=
null
&&
employeeList
.
Count
()
>
0
)
{
{
dataList
=
Mapper
.
Map
<
List
<
PerDataEmployee
>>(
employeeList
);
dataList
=
Mapper
.
Map
<
List
<
PerDataEmployee
>>(
employeeList
);
break
;
break
;
...
@@ -166,35 +215,67 @@ private int SaveEmployee(PerSheet sheet, int allotId)
...
@@ -166,35 +215,67 @@ private int SaveEmployee(PerSheet sheet, int allotId)
{
{
var
imdata
=
Mapper
.
Map
<
im_employee
>(
data
);
var
imdata
=
Mapper
.
Map
<
im_employee
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allot
.
ID
;
//imdata.OtherPerfor = data.OthePerfor;
//imdata.OtherPerfor = data.OthePerfor;
addList
.
Add
(
imdata
);
addList
.
Add
(
imdata
);
}
}
perforImEmployeeRepository
.
AddRange
(
addList
.
ToArray
());
connection
.
Insert
(
addList
.
ToArray
());
return
imsheet
.
ID
;
return
imsheet
.
ID
;
}
}
//var imsheet = new per_sheet { AllotID =allot.ID, SheetName = sheet.SheetName, Source = 1, SheetType = (int)sheet.SheetType };
//perforPerSheetRepository.Add(imsheet);
//var dataList = sheet.PerData.Select(t => (PerDataEmployee)t);
////新上传名单中无人员名单,取到最后日期的数据
//if (dataList == null || dataList.Count() <= 0)
//{
// var allot = perforPerallotRepository.GetEntity(t => t.ID == allotId);
// var allotList = perforPerallotRepository.GetEntities(t => t.HospitalId == allot.HospitalId)
// .OrderByDescending(t => t.Year).ThenByDescending(t => t.Month);
// foreach (var item in allotList)
// {
// var employeeList = perforImEmployeeRepository.GetEntities(t => t.AllotID == item.ID);
// if (employeeList != null && employeeList.Count > 0)
// {
// dataList = Mapper.Map<List<PerDataEmployee>>(employeeList);
// break;
// }
// }
//}
//List<im_employee> addList = new List<im_employee>();
//foreach (var data in dataList)
//{
// var imdata = Mapper.Map<im_employee>(data);
// imdata.SheetID = imsheet.ID;
// imdata. AllotID =allot.ID;
// //imdata.OtherPerfor = data.OthePerfor;
// addList.Add(imdata);
//}
//perforImEmployeeRepository.BulkInsert(addList.ToArray());
//return imsheet.ID;
}
/// <summary>
/// <summary>
/// 保存临床人员
/// 保存临床人员
/// </summary>
/// </summary>
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
p
rivate
int
SaveClinicEmployee
(
PerSheet
sheet
,
int
allotId
)
p
ublic
int
SaveClinicEmployee
(
PerSheet
sheet
,
per_allot
allot
,
List
<
per_allot
>
allotList
)
{
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allotId
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
perforPerSheetRepository
.
Add
(
imsheet
);
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allot
.
ID
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
imsheet
.
ID
=
(
int
)
connection
.
Insert
(
imsheet
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataClinicEmployee
)
t
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataClinicEmployee
)
t
);
//新上传名单中无人员名单,取到最后日期的数据
//新上传名单中无人员名单,取到最后日期的数据
if
(
dataList
==
null
||
dataList
.
Count
()
<=
0
)
if
(
dataList
==
null
||
dataList
.
Count
()
<=
0
)
{
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
var
allotList
=
perforPerallotRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
)
.
OrderByDescending
(
t
=>
t
.
Year
).
ThenByDescending
(
t
=>
t
.
Month
);
foreach
(
var
item
in
allotList
)
foreach
(
var
item
in
allotList
)
{
{
var
employeeList
=
perforImemployeeclinicRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
item
.
ID
);
var
employeeList
=
connection
.
Query
<
im_employee_clinic
>(
"select * from im_employee_clinic where AllotID = @allotid"
,
new
{
AllotID
=
allot
.
ID
}
);
if
(
employeeList
!=
null
&&
employeeList
.
Count
>
0
)
if
(
employeeList
!=
null
&&
employeeList
.
Count
()
>
0
)
{
{
dataList
=
Mapper
.
Map
<
List
<
PerDataClinicEmployee
>>(
employeeList
);
dataList
=
Mapper
.
Map
<
List
<
PerDataClinicEmployee
>>(
employeeList
);
break
;
break
;
...
@@ -206,13 +287,14 @@ private int SaveClinicEmployee(PerSheet sheet, int allotId)
...
@@ -206,13 +287,14 @@ private int SaveClinicEmployee(PerSheet sheet, int allotId)
{
{
var
imdata
=
Mapper
.
Map
<
im_employee_clinic
>(
data
);
var
imdata
=
Mapper
.
Map
<
im_employee_clinic
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allot
.
ID
;
imdata
.
OtherPerfor
=
data
.
OthePerfor
;
imdata
.
OtherPerfor
=
data
.
OthePerfor
;
addList
.
Add
(
imdata
);
addList
.
Add
(
imdata
);
}
}
perforImemployeeclinicRepository
.
AddRange
(
addList
.
ToArray
()
);
connection
.
Insert
(
addList
);
return
imsheet
.
ID
;
return
imsheet
.
ID
;
}
}
}
/// <summary>
/// <summary>
/// 保存临床人员
/// 保存临床人员
...
@@ -220,21 +302,21 @@ private int SaveClinicEmployee(PerSheet sheet, int allotId)
...
@@ -220,21 +302,21 @@ private int SaveClinicEmployee(PerSheet sheet, int allotId)
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
p
rivate
int
SaveLogisticsEmployee
(
PerSheet
sheet
,
int
allotId
)
p
ublic
int
SaveLogisticsEmployee
(
PerSheet
sheet
,
per_allot
allot
,
List
<
per_allot
>
allotList
)
{
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allotId
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
perforPerSheetRepository
.
Add
(
imsheet
);
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allot
.
ID
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
imsheet
.
ID
=
(
int
)
connection
.
Insert
(
imsheet
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataLogisticsEmployee
)
t
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataLogisticsEmployee
)
t
);
//新上传名单中无人员名单,取到最后日期的数据
//新上传名单中无人员名单,取到最后日期的数据
if
(
dataList
==
null
||
dataList
.
Count
()
<=
0
)
if
(
dataList
==
null
||
dataList
.
Count
()
<=
0
)
{
{
var
allot
=
perforPerallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
foreach
(
var
item
in
allotList
?.
OrderByDescending
(
t
=>
t
.
Year
).
ThenByDescending
(
t
=>
t
.
Month
))
var
allotList
=
perforPerallotRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
allot
.
HospitalId
)
.
OrderByDescending
(
t
=>
t
.
Year
).
ThenByDescending
(
t
=>
t
.
Month
);
foreach
(
var
item
in
allotList
)
{
{
var
employeeList
=
perforImemployeelogisticsRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
item
.
ID
);
var
employeeList
=
connection
.
Query
<
im_employee_logistics
>(
"select * from im_employee_logistics where AllotID = @allotid"
,
new
{
AllotID
=
allot
.
ID
}
);
if
(
employeeList
!=
null
&&
employeeList
.
Count
>
0
)
if
(
employeeList
!=
null
&&
employeeList
.
Count
()
>
0
)
{
{
dataList
=
Mapper
.
Map
<
List
<
PerDataLogisticsEmployee
>>(
employeeList
);
dataList
=
Mapper
.
Map
<
List
<
PerDataLogisticsEmployee
>>(
employeeList
);
break
;
break
;
...
@@ -246,13 +328,14 @@ private int SaveLogisticsEmployee(PerSheet sheet, int allotId)
...
@@ -246,13 +328,14 @@ private int SaveLogisticsEmployee(PerSheet sheet, int allotId)
{
{
var
imdata
=
Mapper
.
Map
<
im_employee_logistics
>(
data
);
var
imdata
=
Mapper
.
Map
<
im_employee_logistics
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allot
.
ID
;
imdata
.
OtherPerfor
=
data
.
OthePerfor
;
imdata
.
OtherPerfor
=
data
.
OthePerfor
;
addList
.
Add
(
imdata
);
addList
.
Add
(
imdata
);
}
}
perforImemployeelogisticsRepository
.
AddRange
(
addList
.
ToArray
()
);
connection
.
Insert
(
addList
);
return
imsheet
.
ID
;
return
imsheet
.
ID
;
}
}
}
/// <summary>
/// <summary>
/// 保存科室绩效基础表
/// 保存科室绩效基础表
...
@@ -260,22 +343,23 @@ private int SaveLogisticsEmployee(PerSheet sheet, int allotId)
...
@@ -260,22 +343,23 @@ private int SaveLogisticsEmployee(PerSheet sheet, int allotId)
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
private
int
SaveAccountBasic
(
PerSheet
sheet
,
int
allotId
)
public
int
SaveAccountBasic
(
PerSheet
sheet
,
per_allot
allot
,
List
<
per_sheet
>
sheets
)
{
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
{
//var imsheet = new per_sheet { AllotID = allotId
, SheetName = sheet.SheetName, Source = 1, SheetType = (int)sheet.SheetType };
//var imsheet = new per_sheet { AllotID =allot.ID
, SheetName = sheet.SheetName, Source = 1, SheetType = (int)sheet.SheetType };
//perforPerSheetRepository.Add(imsheet);
//perforPerSheetRepository.Add(imsheet);
List
<
int
>
types
=
new
List
<
int
>
{
(
int
)
SheetType
.
AccountBasicSpecial
,
(
int
)
SheetType
.
AccountBasic
};
List
<
int
>
types
=
new
List
<
int
>
{
(
int
)
SheetType
.
AccountBasicSpecial
,
(
int
)
SheetType
.
AccountBasic
};
var
sheets
=
perforPerSheetRepository
.
GetEntities
(
w
=>
w
.
AllotID
==
allotId
&&
w
.
SheetType
.
HasValue
&&
types
.
Contains
(
w
.
SheetType
.
Value
));
var
imsheet
=
sheets
?.
FirstOrDefault
(
w
=>
w
.
AllotID
==
allot
.
ID
&&
w
.
SheetType
.
HasValue
&&
types
.
Contains
(
w
.
SheetType
.
Value
));
var
imsheet
=
sheets
?.
FirstOrDefault
();
if
(
imsheet
!=
null
)
if
(
imsheet
!=
null
)
{
{
imsheet
.
SheetType
=
(
int
)
SheetType
.
AccountBasic
;
imsheet
.
SheetType
=
(
int
)
SheetType
.
AccountBasic
;
perforPerSheetRepository
.
Update
(
imsheet
);
connection
.
Update
(
imsheet
);
}
}
else
else
{
{
imsheet
=
new
per_sheet
{
AllotID
=
allotId
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
imsheet
=
new
per_sheet
{
AllotID
=
allot
.
ID
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
perforPerSheetRepository
.
Add
(
imsheet
);
imsheet
.
ID
=
(
int
)
connection
.
Insert
(
imsheet
);
}
}
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataAccountBaisc
)
t
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataAccountBaisc
)
t
);
...
@@ -284,12 +368,13 @@ private int SaveAccountBasic(PerSheet sheet, int allotId)
...
@@ -284,12 +368,13 @@ private int SaveAccountBasic(PerSheet sheet, int allotId)
{
{
var
imdata
=
Mapper
.
Map
<
im_accountbasic
>(
data
);
var
imdata
=
Mapper
.
Map
<
im_accountbasic
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allot
.
ID
;
addList
.
Add
(
imdata
);
addList
.
Add
(
imdata
);
}
}
perforImaccountbasicRepository
.
AddRange
(
addList
.
ToArray
());
connection
.
Insert
(
addList
.
ToArray
());
return
imsheet
.
ID
;
return
imsheet
.
ID
;
}
}
}
/// <summary>
/// <summary>
/// 保存特殊科室
/// 保存特殊科室
...
@@ -297,10 +382,12 @@ private int SaveAccountBasic(PerSheet sheet, int allotId)
...
@@ -297,10 +382,12 @@ private int SaveAccountBasic(PerSheet sheet, int allotId)
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
p
rivate
int
SaveSpecialUnit
(
PerSheet
sheet
,
int
allotId
)
p
ublic
int
SaveSpecialUnit
(
PerSheet
sheet
,
per_allot
allot
)
{
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allotId
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
perforPerSheetRepository
.
Add
(
imsheet
);
{
var
imsheet
=
new
per_sheet
{
AllotID
=
allot
.
ID
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
imsheet
.
ID
=
(
int
)
connection
.
Insert
(
imsheet
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataSpecialUnit
)
t
);
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataSpecialUnit
)
t
);
List
<
im_specialunit
>
addList
=
new
List
<
im_specialunit
>();
List
<
im_specialunit
>
addList
=
new
List
<
im_specialunit
>();
...
@@ -308,12 +395,13 @@ private int SaveSpecialUnit(PerSheet sheet, int allotId)
...
@@ -308,12 +395,13 @@ private int SaveSpecialUnit(PerSheet sheet, int allotId)
{
{
var
imdata
=
Mapper
.
Map
<
im_specialunit
>(
data
);
var
imdata
=
Mapper
.
Map
<
im_specialunit
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allot
.
ID
;
addList
.
Add
(
imdata
);
addList
.
Add
(
imdata
);
}
}
perforImspecialunitRepository
.
AddRange
(
addList
.
ToArray
());
connection
.
Insert
(
addList
.
ToArray
());
return
imsheet
.
ID
;
return
imsheet
.
ID
;
}
}
}
/// <summary>
/// <summary>
/// 保存通用格式
/// 保存通用格式
...
@@ -321,24 +409,25 @@ private int SaveSpecialUnit(PerSheet sheet, int allotId)
...
@@ -321,24 +409,25 @@ private int SaveSpecialUnit(PerSheet sheet, int allotId)
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <param name="allotId"></param>
/// <param name="allotId"></param>
/// <returns></returns>
/// <returns></returns>
private
int
SaveCommon
(
PerSheet
sheet
,
int
allotId
)
public
int
SaveCommon
(
PerSheet
sheet
,
per_allot
allot
,
List
<
per_sheet
>
sheets
)
{
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
{
per_sheet
imsheet
=
null
;
per_sheet
imsheet
=
null
;
List
<
int
>
types
=
new
List
<
int
>
{
(
int
)
SheetType
.
AccountBasicSpecial
,
(
int
)
SheetType
.
AccountBasic
};
List
<
int
>
types
=
new
List
<
int
>
{
(
int
)
SheetType
.
AccountBasicSpecial
,
(
int
)
SheetType
.
AccountBasic
};
if
(
types
.
Any
(
type
=>
type
==
(
int
)
sheet
.
SheetType
))
if
(
types
.
Any
(
type
=>
type
==
(
int
)
sheet
.
SheetType
))
{
{
var
sheets
=
perforPerSheetRepository
.
GetEntities
(
w
=>
w
.
AllotID
==
allotId
&&
w
.
SheetType
.
HasValue
&&
types
.
Contains
(
w
.
SheetType
.
Value
));
imsheet
=
sheets
?.
FirstOrDefault
(
w
=>
w
.
AllotID
==
allot
.
ID
&&
w
.
SheetType
.
HasValue
&&
types
.
Contains
(
w
.
SheetType
.
Value
));
imsheet
=
sheets
?.
FirstOrDefault
();
if
(
imsheet
!=
null
)
if
(
imsheet
!=
null
)
{
{
imsheet
.
SheetType
=
(
int
)
SheetType
.
AccountBasic
;
imsheet
.
SheetType
=
(
int
)
SheetType
.
AccountBasic
;
perforPerSheetRepository
.
Update
(
imsheet
);
connection
.
Update
(
imsheet
);
}
}
}
}
if
(
imsheet
==
null
)
if
(
imsheet
==
null
)
{
{
imsheet
=
new
per_sheet
{
AllotID
=
allotId
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
imsheet
=
new
per_sheet
{
AllotID
=
allot
.
ID
,
SheetName
=
sheet
.
SheetName
,
Source
=
1
,
SheetType
=
(
int
)
sheet
.
SheetType
};
perforPerSheetRepository
.
Add
(
imsheet
);
imsheet
.
ID
=
(
int
)
connection
.
Insert
(
imsheet
);
}
}
...
@@ -348,7 +437,7 @@ private int SaveCommon(PerSheet sheet, int allotId)
...
@@ -348,7 +437,7 @@ private int SaveCommon(PerSheet sheet, int allotId)
{
{
var
imdata
=
Mapper
.
Map
<
im_data
>(
data
);
var
imdata
=
Mapper
.
Map
<
im_data
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
imdata
.
AllotID
=
allot
.
ID
;
addDataList
.
Add
(
imdata
);
addDataList
.
Add
(
imdata
);
}
}
if
(
addDataList
!=
null
&&
addDataList
.
Any
())
if
(
addDataList
!=
null
&&
addDataList
.
Any
())
...
@@ -356,21 +445,25 @@ private int SaveCommon(PerSheet sheet, int allotId)
...
@@ -356,21 +445,25 @@ private int SaveCommon(PerSheet sheet, int allotId)
int
rows
=
500
;
int
rows
=
500
;
for
(
int
i
=
0
;
i
<
Math
.
Ceiling
((
double
)
addDataList
.
Count
/
rows
);
i
++)
for
(
int
i
=
0
;
i
<
Math
.
Ceiling
((
double
)
addDataList
.
Count
/
rows
);
i
++)
{
{
perforImDataRepository
.
AddRange
(
addDataList
.
Skip
(
rows
*
i
).
Take
(
rows
).
ToArray
());
connection
.
Insert
(
addDataList
.
Skip
(
rows
*
i
).
Take
(
rows
).
ToArray
());
}
}
}
}
return
imsheet
.
ID
;
return
imsheet
.
ID
;
}
}
}
private
void
SaveHeader
(
PerSheet
sheet
,
int
allotId
,
int
imsheetid
)
public
void
SaveHeader
(
PerSheet
sheet
,
per_allot
allot
,
int
imsheetid
)
{
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
{
List
<
im_header
>
addHeadList
=
new
List
<
im_header
>();
List
<
im_header
>
addHeadList
=
new
List
<
im_header
>();
foreach
(
var
header
in
sheet
.
PerHeader
)
foreach
(
var
header
in
sheet
.
PerHeader
)
{
{
var
imheader
=
Mapper
.
Map
<
im_header
>(
header
);
var
imheader
=
Mapper
.
Map
<
im_header
>(
header
);
imheader
.
SheetID
=
imsheetid
;
imheader
.
SheetID
=
imsheetid
;
imheader
.
AllotID
=
allotId
;
imheader
.
AllotID
=
allot
.
ID
;
perforImHeaderRepository
.
Add
(
imheader
);
imheader
.
ID
=
(
int
)
connection
.
Insert
(
imheader
);
if
(
header
.
IsHasChildren
)
if
(
header
.
IsHasChildren
)
{
{
foreach
(
var
child
in
header
.
Children
)
foreach
(
var
child
in
header
.
Children
)
...
@@ -378,53 +471,15 @@ private void SaveHeader(PerSheet sheet, int allotId, int imsheetid)
...
@@ -378,53 +471,15 @@ private void SaveHeader(PerSheet sheet, int allotId, int imsheetid)
var
imheaderChild
=
Mapper
.
Map
<
im_header
>(
child
);
var
imheaderChild
=
Mapper
.
Map
<
im_header
>(
child
);
imheaderChild
.
SheetID
=
imsheetid
;
imheaderChild
.
SheetID
=
imsheetid
;
imheaderChild
.
ParentID
=
imheader
.
ID
;
imheaderChild
.
ParentID
=
imheader
.
ID
;
imheaderChild
.
AllotID
=
allotId
;
imheaderChild
.
AllotID
=
allot
.
ID
;
addHeadList
.
Add
(
imheaderChild
);
addHeadList
.
Add
(
imheaderChild
);
}
}
}
}
}
}
if
(
addHeadList
!=
null
&&
addHeadList
.
Any
())
if
(
addHeadList
!=
null
&&
addHeadList
.
Any
())
perforImHeaderRepository
.
AddRange
(
addHeadList
.
ToArray
()
);
connection
.
Insert
(
addHeadList
);
}
}
private
bool
Save
(
PerExcel
excel
,
int
allotId
)
{
foreach
(
var
sheet
in
excel
.
PerSheet
)
{
logManageService
.
WriteMsg
(
"保存基础数据"
,
$"开始保存数据 --
{
sheet
.
SheetName
}
"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
if
(
sheet
.
SheetType
==
SheetType
.
Employee
)
{
var
imsheetid
=
SaveEmployee
(
sheet
,
allotId
);
SaveHeader
(
sheet
,
allotId
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
LogisticsEmployee
)
{
var
imsheetid
=
SaveLogisticsEmployee
(
sheet
,
allotId
);
SaveHeader
(
sheet
,
allotId
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
ClinicEmployee
)
{
var
imsheetid
=
SaveClinicEmployee
(
sheet
,
allotId
);
SaveHeader
(
sheet
,
allotId
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
AccountBasic
)
{
var
imsheetid
=
SaveAccountBasic
(
sheet
,
allotId
);
SaveHeader
(
sheet
,
allotId
,
imsheetid
);
}
else
if
(
sheet
.
SheetType
==
SheetType
.
SpecialUnit
)
{
var
imsheetid
=
SaveSpecialUnit
(
sheet
,
allotId
);
SaveHeader
(
sheet
,
allotId
,
imsheetid
);
}
else
{
var
imsheetid
=
SaveCommon
(
sheet
,
allotId
);
SaveHeader
(
sheet
,
allotId
,
imsheetid
);
}
}
logManageService
.
WriteMsg
(
"保存基础数据"
,
$"基础数据保存完成!"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
return
true
;
}
}
}
}
}
}
performance/Performance.Services/AllotService.cs
View file @
2a040098
...
@@ -464,7 +464,6 @@ public void Generate(per_allot allot)
...
@@ -464,7 +464,6 @@ public void Generate(per_allot allot)
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
logManageService
.
WriteMsg
(
"绩效生成失败"
,
ex
.
Message
,
4
,
allot
.
ID
,
"ReceiveMessage"
);
logManageService
.
WriteMsg
(
"绩效生成失败"
,
ex
.
Message
,
4
,
allot
.
ID
,
"ReceiveMessage"
);
logdbug
.
Add
(
allot
.
ID
,
"绩效生成失败"
,
ex
.
ToString
(),
4
,
1
);
UpdateAllotStates
(
allot
.
ID
,
(
int
)
AllotStates
.
GenerateFail
,
EnumHelper
.
GetDescription
(
AllotStates
.
GenerateFail
));
UpdateAllotStates
(
allot
.
ID
,
(
int
)
AllotStates
.
GenerateFail
,
EnumHelper
.
GetDescription
(
AllotStates
.
GenerateFail
));
//SendEmail(allot, mail, 2, time);
//SendEmail(allot, mail, 2, time);
//throw ex;
//throw ex;
...
...
performance/Performance.Services/ConfigService.cs
View file @
2a040098
...
@@ -1207,8 +1207,8 @@ public void NewCopy(CopyRequest request)
...
@@ -1207,8 +1207,8 @@ public void NewCopy(CopyRequest request)
/// <param name="allotId"></param>
/// <param name="allotId"></param>
public
void
Clear
(
int
allotId
)
public
void
Clear
(
int
allotId
)
{
{
var
count
=
_directorRepository
.
DeleteData
(
allotId
);
_directorRepository
.
DeleteData
(
allotId
);
logManageService
.
WriteMsg
(
"清理无效数据"
,
$"清理无效数据
,受影响行数:
{
count
}
"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
logManageService
.
WriteMsg
(
"清理无效数据"
,
$"清理无效数据
!
"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
}
}
/// <summary>
/// <summary>
...
@@ -1217,8 +1217,7 @@ public void Clear(int allotId)
...
@@ -1217,8 +1217,7 @@ public void Clear(int allotId)
/// <param name="allotId"></param>
/// <param name="allotId"></param>
public
void
ClearAllotData
(
int
allotId
)
public
void
ClearAllotData
(
int
allotId
)
{
{
var
count
=
_directorRepository
.
DeleteAllotData
(
allotId
);
_directorRepository
.
DeleteAllotData
(
allotId
);
logManageService
.
WriteMsg
(
"清理无效数据"
,
$"清理无效数据,受影响行数:
{
count
}
"
,
1
,
allotId
,
"ReceiveMessage"
,
true
);
}
}
/// <summary>
/// <summary>
...
@@ -1803,7 +1802,7 @@ public HandsonTable QueryHandsCustom(CustomPagingRequest request)
...
@@ -1803,7 +1802,7 @@ public HandsonTable QueryHandsCustom(CustomPagingRequest request)
var
result
=
new
HandsonTable
((
int
)
SheetType
.
Unidentifiable
,
new
string
[]
{
},
new
List
<
collect_permission
>());
var
result
=
new
HandsonTable
((
int
)
SheetType
.
Unidentifiable
,
new
string
[]
{
},
new
List
<
collect_permission
>());
var
jsonData
=
JsonHelper
.
Serialize
(
perforReport
.
QueryCustom
(
request
,
true
).
DataList
);
var
jsonData
=
JsonHelper
.
Serialize
(
perforReport
.
QueryCustom
(
request
,
true
).
DataList
);
var
data
=
JsonHelper
.
Deserialize
<
List
<
Dictionary
<
string
,
string
>>>(
jsonData
);
var
data
=
JsonHelper
.
Deserialize
<
List
<
Dictionary
<
string
,
string
>>>(
jsonData
);
var
headDic
=
new
List
<
Dictionary
<
string
,
object
>>();
var
headDic
=
new
List
<
Dictionary
<
string
,
object
>>();
...
@@ -1873,7 +1872,7 @@ public ApiResponse SaveCustomTable(SaveCustomData request)
...
@@ -1873,7 +1872,7 @@ public ApiResponse SaveCustomTable(SaveCustomData request)
var
custom
=
perforReport
.
QueryCustomColumn
(
request
.
TableName
);
var
custom
=
perforReport
.
QueryCustomColumn
(
request
.
TableName
);
if
(
custom
.
Count
>
50
)
if
(
custom
.
Count
>
50
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"最多支持50列数据!"
);
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"最多支持50列数据!"
);
var
dicCustom
=
new
Dictionary
<
string
,
object
>();
var
dicCustom
=
new
Dictionary
<
string
,
object
>();
...
@@ -1900,11 +1899,11 @@ public ApiResponse SaveCustomTable(SaveCustomData request)
...
@@ -1900,11 +1899,11 @@ public ApiResponse SaveCustomTable(SaveCustomData request)
{
{
var
type
=
((
IDictionary
<
string
,
object
>)
typeColumn
.
ElementAt
(
i
)).
Values
.
ElementAt
(
0
).
ToString
();
var
type
=
((
IDictionary
<
string
,
object
>)
typeColumn
.
ElementAt
(
i
)).
Values
.
ElementAt
(
0
).
ToString
();
var
itemDic
=
item
.
FirstOrDefault
(
t
=>
t
.
Key
.
ToUpper
()
==
type
.
ToUpper
());
var
itemDic
=
item
.
FirstOrDefault
(
t
=>
t
.
Key
.
ToUpper
()
==
type
.
ToUpper
());
var
value
=
((
IDictionary
<
string
,
object
>)
typeColumn
.
ElementAt
(
i
)).
Values
.
ElementAt
(
1
).
ToString
();
var
value
=
((
IDictionary
<
string
,
object
>)
typeColumn
.
ElementAt
(
i
)).
Values
.
ElementAt
(
1
).
ToString
();
if
(
string
.
IsNullOrEmpty
(
itemDic
.
Value
.
ToString
())
&&
value
.
Contains
(
"date"
))
if
(
string
.
IsNullOrEmpty
(
itemDic
.
Value
.
ToString
())
&&
value
.
Contains
(
"date"
))
item
.
AddOrUpdate
(
itemDic
.
Key
,
null
);
item
.
AddOrUpdate
(
itemDic
.
Key
,
null
);
else
if
(!
string
.
IsNullOrEmpty
(
itemDic
.
Value
.
ToString
())
&&
value
.
Contains
(
"date"
))
else
if
(!
string
.
IsNullOrEmpty
(
itemDic
.
Value
.
ToString
())
&&
value
.
Contains
(
"date"
))
{
{
try
try
{
{
...
@@ -1941,7 +1940,7 @@ public ApiResponse QueryCustom(CustomPagingRequest request)
...
@@ -1941,7 +1940,7 @@ public ApiResponse QueryCustom(CustomPagingRequest request)
var
isExist
=
perforReport
.
QueryIsAllotId
(
request
.
TableName
);
var
isExist
=
perforReport
.
QueryIsAllotId
(
request
.
TableName
);
if
(
isExist
==
false
||
heads
==
null
)
if
(
isExist
==
false
||
heads
==
null
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"表不符合规范,请补全注释或修改重复注释"
);
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"表不符合规范,请补全注释或修改重复注释"
);
if
(
heads
.
Count
>
50
)
if
(
heads
.
Count
>
50
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"最多支持50列数据"
);
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"最多支持50列数据"
);
var
headList
=
new
List
<
Heads
>();
var
headList
=
new
List
<
Heads
>();
...
@@ -1961,7 +1960,7 @@ public ApiResponse QueryCustom(CustomPagingRequest request)
...
@@ -1961,7 +1960,7 @@ public ApiResponse QueryCustom(CustomPagingRequest request)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"表不符合规范,请补全注释或修改重复注释"
);
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"表不符合规范,请补全注释或修改重复注释"
);
result
.
Heads
=
headList
;
result
.
Heads
=
headList
;
result
.
Datas
=
perforReport
.
QueryCustom
(
request
,
false
);
result
.
Datas
=
perforReport
.
QueryCustom
(
request
,
false
);
return
new
ApiResponse
(
ResponseType
.
OK
,
result
);
return
new
ApiResponse
(
ResponseType
.
OK
,
result
);
}
}
...
...
performance/Performance.Services/LogManageService.cs
View file @
2a040098
using
Microsoft.AspNetCore.SignalR
;
using
Dapper
;
using
Dapper.Contrib.Extensions
;
using
Microsoft.AspNetCore.SignalR
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Options
;
using
Microsoft.Extensions.Options
;
using
MySql.Data.MySqlClient
;
using
Performance.DtoModels
;
using
Performance.DtoModels
;
using
Performance.DtoModels.AppSettings
;
using
Performance.DtoModels.AppSettings
;
using
Performance.EntityModels
;
using
Performance.EntityModels
;
...
@@ -8,6 +11,8 @@
...
@@ -8,6 +11,8 @@
using
Performance.Repository
;
using
Performance.Repository
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
namespace
Performance.Services
namespace
Performance.Services
...
@@ -16,19 +21,19 @@ public class LogManageService : IAutoInjection
...
@@ -16,19 +21,19 @@ public class LogManageService : IAutoInjection
{
{
private
readonly
ILogger
<
LogManageService
>
logger
;
private
readonly
ILogger
<
LogManageService
>
logger
;
private
readonly
IHubContext
<
AllotLogHub
>
hubContext
;
private
readonly
IHubContext
<
AllotLogHub
>
hubContext
;
private
readonly
IOptions
<
AppConnection
>
_options
;
private
readonly
WebapiUrl
url
;
private
readonly
WebapiUrl
url
;
private
PerforLogdbugRepository
logdbug
;
public
LogManageService
(
public
LogManageService
(
ILogger
<
LogManageService
>
logger
,
ILogger
<
LogManageService
>
logger
,
IHubContext
<
AllotLogHub
>
hubContext
,
IHubContext
<
AllotLogHub
>
hubContext
,
IOptions
<
WebapiUrl
>
url
,
IOptions
<
WebapiUrl
>
url
,
PerforLogdbugRepository
logdbug
)
IOptions
<
AppConnection
>
options
)
{
{
this
.
logger
=
logger
;
this
.
logger
=
logger
;
this
.
hubContext
=
hubContext
;
this
.
hubContext
=
hubContext
;
_options
=
options
;
this
.
url
=
url
.
Value
;
this
.
url
=
url
.
Value
;
this
.
logdbug
=
logdbug
;
}
}
/// <summary>
/// <summary>
...
@@ -45,7 +50,15 @@ public void WriteMsg(string tag, string message, int level, int allotId, string
...
@@ -45,7 +50,15 @@ public void WriteMsg(string tag, string message, int level, int allotId, string
hubContext
.
Clients
.
Group
(
allotId
.
ToString
()).
SendAsync
(
method
,
tag
,
message
,
level
);
hubContext
.
Clients
.
Group
(
allotId
.
ToString
()).
SendAsync
(
method
,
tag
,
message
,
level
);
if
(
isDebug
)
if
(
isDebug
)
{
{
logdbug
.
Add
(
allotId
,
tag
,
message
,
level
,
1
);
Insert
(
allotId
,
tag
,
message
,
level
,
1
);
}
}
private
void
Insert
(
int
allotId
,
string
tag
,
string
message
,
int
level
,
int
type
)
{
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
connection
.
Insert
<
log_dbug
>(
new
log_dbug
{
AllotID
=
allotId
,
CreateTime
=
DateTime
.
Now
,
Title
=
tag
,
Message
=
message
,
Level
=
level
,
Type
=
type
});
}
}
}
}
...
@@ -103,7 +116,7 @@ public void ReturnTheLog(int allotId, string groupName, int type, string tag, ob
...
@@ -103,7 +116,7 @@ public void ReturnTheLog(int allotId, string groupName, int type, string tag, ob
if
(
isSingle
)
hubContext
.
Clients
.
Group
(
groupName
).
SendAsync
(
"Schedule"
,
ratio
,
level
);
if
(
isSingle
)
hubContext
.
Clients
.
Group
(
groupName
).
SendAsync
(
"Schedule"
,
ratio
,
level
);
}
}
logdbug
.
Add
(
allotId
,
tag
,
content
,
level
,
type
);
Insert
(
allotId
,
tag
,
content
,
level
,
type
);
if
(!
isSingle
)
if
(!
isSingle
)
{
{
var
http
=
new
RestSharpHelper
();
var
http
=
new
RestSharpHelper
();
...
@@ -128,15 +141,22 @@ public void ReturnTheLog(int allotId, string groupName, int type, string tag, ob
...
@@ -128,15 +141,22 @@ public void ReturnTheLog(int allotId, string groupName, int type, string tag, ob
}
}
}
}
public
bool
ClearExtractLog
(
int
allotId
)
public
int
ClearExtractLog
(
int
allotId
)
{
{
return
logdbug
.
ClearExtractLog
(
allotId
);
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
return
connection
.
Execute
(
"delete from log_dbug where AllotID = @allotId and Type in @type"
,
new
{
allotId
,
type
=
new
int
[]
{
2
,
3
}
});
}
}
}
//todo:log信息展示
//todo:log信息展示
public
List
<
log_dbug
>
GetLogDbug
(
int
allotId
)
public
List
<
log_dbug
>
GetLogDbug
(
int
allotId
)
{
{
return
logdbug
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
&&
t
.
Type
==
2
);
using
(
IDbConnection
connection
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
var
logs
=
connection
.
Query
<
log_dbug
>(
"select * from log_dbug where AllotID = @allotId and Type = @type"
,
new
{
allotId
,
type
=
2
});
return
logs
==
null
||
logs
.
Count
()
==
0
?
new
List
<
log_dbug
>()
:
logs
.
ToList
();
}
}
}
}
}
}
}
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