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
57244c0c
Commit
57244c0c
authored
Aug 26, 2019
by
李承祥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
开单医院读取、展示
parent
0e79b004
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
283 additions
and
97 deletions
+283
-97
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
+54
-52
performance/Performance.EntityModels/Entity/cof_workitem.cs
+34
-0
performance/Performance.EntityModels/Entity/log_dbug.cs
+1
-1
performance/Performance.Repository/Repository/PerforCofworkitemRepository.cs
+20
-0
performance/Performance.Repository/Repository/PerforResaccountdoctorRepository.cs
+19
-19
performance/Performance.Repository/Repository/PerforResaccountnurseRepository.cs
+19
-19
performance/Performance.Services/AllotCompute/CheckDataService.cs
+1
-1
performance/Performance.Services/AllotCompute/ImportDataService.cs
+7
-1
performance/Performance.Services/PerExcelService/PerSheetDataFactory.cs
+5
-2
performance/Performance.Services/PerExcelService/PerSheetService.cs
+2
-2
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadBillIncome.cs
+107
-0
performance/Performance.Services/SheetSevice.cs
+14
-0
No files found.
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
View file @
57244c0c
...
@@ -12,105 +12,107 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
...
@@ -12,105 +12,107 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
{
{
}
}
/// <summary> 二次分配概览 </summary>
/// <summary> 二次分配概览 </summary>
public
virtual
DbSet
<
ag_againsituation
>
ag_againsituation
{
get
;
set
;
}
public
virtual
DbSet
<
ag_againsituation
>
ag_againsituation
{
get
;
set
;
}
/// <summary> 二次分配不固定数据 </summary>
/// <summary> 二次分配不固定数据 </summary>
public
virtual
DbSet
<
ag_data
>
ag_data
{
get
;
set
;
}
public
virtual
DbSet
<
ag_data
>
ag_data
{
get
;
set
;
}
/// <summary> 二次分配人员名单 </summary>
/// <summary> 二次分配人员名单 </summary>
public
virtual
DbSet
<
ag_employee
>
ag_employee
{
get
;
set
;
}
public
virtual
DbSet
<
ag_employee
>
ag_employee
{
get
;
set
;
}
/// <summary> 二次分配不固定列头数据 </summary>
/// <summary> 二次分配不固定列头数据 </summary>
public
virtual
DbSet
<
ag_header
>
ag_header
{
get
;
set
;
}
public
virtual
DbSet
<
ag_header
>
ag_header
{
get
;
set
;
}
/// <summary> 考核类别 </summary>
/// <summary> 考核类别 </summary>
public
virtual
DbSet
<
as_assess
>
as_assess
{
get
;
set
;
}
public
virtual
DbSet
<
as_assess
>
as_assess
{
get
;
set
;
}
/// <summary> 考核列头 </summary>
/// <summary> 考核列头 </summary>
public
virtual
DbSet
<
as_columns
>
as_columns
{
get
;
set
;
}
public
virtual
DbSet
<
as_columns
>
as_columns
{
get
;
set
;
}
/// <summary> 考核数据 </summary>
/// <summary> 考核数据 </summary>
public
virtual
DbSet
<
as_data
>
as_data
{
get
;
set
;
}
public
virtual
DbSet
<
as_data
>
as_data
{
get
;
set
;
}
/// <summary> 考核类别 </summary>
/// <summary> 考核类别 </summary>
public
virtual
DbSet
<
as_tempassess
>
as_tempassess
{
get
;
set
;
}
public
virtual
DbSet
<
as_tempassess
>
as_tempassess
{
get
;
set
;
}
/// <summary> 考核列头 </summary>
/// <summary> 考核列头 </summary>
public
virtual
DbSet
<
as_tempcolumns
>
as_tempcolumns
{
get
;
set
;
}
public
virtual
DbSet
<
as_tempcolumns
>
as_tempcolumns
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
cof_again
>
cof_again
{
get
;
set
;
}
public
virtual
DbSet
<
cof_again
>
cof_again
{
get
;
set
;
}
/// <summary> 上传excel文件校验配置 </summary>
/// <summary> 上传excel文件校验配置 </summary>
public
virtual
DbSet
<
cof_check
>
cof_check
{
get
;
set
;
}
public
virtual
DbSet
<
cof_check
>
cof_check
{
get
;
set
;
}
/// <summary> 规模绩效、效率绩效计算系数配置 </summary>
/// <summary> 规模绩效、效率绩效计算系数配置 </summary>
public
virtual
DbSet
<
cof_director
>
cof_director
{
get
;
set
;
}
public
virtual
DbSet
<
cof_director
>
cof_director
{
get
;
set
;
}
/// <summary> 工作量门诊药占比系数 </summary>
/// <summary> 工作量门诊药占比系数 </summary>
public
virtual
DbSet
<
cof_drugprop
>
cof_drugprop
{
get
;
set
;
}
public
virtual
DbSet
<
cof_drugprop
>
cof_drugprop
{
get
;
set
;
}
/// <summary> 药占比费用列头名称 </summary>
/// <summary> 药占比费用列头名称 </summary>
public
virtual
DbSet
<
cof_drugtype
>
cof_drugtype
{
get
;
set
;
}
public
virtual
DbSet
<
cof_drugtype
>
cof_drugtype
{
get
;
set
;
}
/// <summary> ICU医生护士有效收入汇总计算系数 </summary>
/// <summary> ICU医生护士有效收入汇总计算系数 </summary>
public
virtual
DbSet
<
cof_income
>
cof_income
{
get
;
set
;
}
public
virtual
DbSet
<
cof_income
>
cof_income
{
get
;
set
;
}
/// <summary> 特殊绩效项指标 </summary>
/// <summary> 特殊绩效项指标 </summary>
public
virtual
DbSet
<
cof_singlefactor
>
cof_singlefactor
{
get
;
set
;
}
public
virtual
DbSet
<
cof_singlefactor
>
cof_singlefactor
{
get
;
set
;
}
/// <summary> 工龄对应绩效系数配置 </summary>
/// <summary> </summary>
public
virtual
DbSet
<
cof_workitem
>
cof_workitem
{
get
;
set
;
}
/// <summary> 工龄对应绩效系数配置 </summary>
public
virtual
DbSet
<
cof_workyear
>
cof_workyear
{
get
;
set
;
}
public
virtual
DbSet
<
cof_workyear
>
cof_workyear
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
hos_personfee
>
hos_personfee
{
get
;
set
;
}
public
virtual
DbSet
<
hos_personfee
>
hos_personfee
{
get
;
set
;
}
/// <summary> 科室核算导入信息 </summary>
/// <summary> 科室核算导入信息 </summary>
public
virtual
DbSet
<
im_accountbasic
>
im_accountbasic
{
get
;
set
;
}
public
virtual
DbSet
<
im_accountbasic
>
im_accountbasic
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
im_data
>
im_data
{
get
;
set
;
}
public
virtual
DbSet
<
im_data
>
im_data
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
im_employee
>
im_employee
{
get
;
set
;
}
public
virtual
DbSet
<
im_employee
>
im_employee
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
im_header
>
im_header
{
get
;
set
;
}
public
virtual
DbSet
<
im_header
>
im_header
{
get
;
set
;
}
/// <summary> 特殊科室核算 </summary>
/// <summary> 特殊科室核算 </summary>
public
virtual
DbSet
<
im_specialunit
>
im_specialunit
{
get
;
set
;
}
public
virtual
DbSet
<
im_specialunit
>
im_specialunit
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
log_check
>
log_check
{
get
;
set
;
}
public
virtual
DbSet
<
log_check
>
log_check
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
log_dbug
>
log_dbug
{
get
;
set
;
}
public
virtual
DbSet
<
log_dbug
>
log_dbug
{
get
;
set
;
}
/// <summary> 医院数据提取脚本 </summary>
/// <summary> 医院数据提取脚本 </summary>
public
virtual
DbSet
<
mod_extract
>
mod_extract
{
get
;
set
;
}
public
virtual
DbSet
<
mod_extract
>
mod_extract
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
mod_item
>
mod_item
{
get
;
set
;
}
public
virtual
DbSet
<
mod_item
>
mod_item
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
mod_module
>
mod_module
{
get
;
set
;
}
public
virtual
DbSet
<
mod_module
>
mod_module
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
mod_special
>
mod_special
{
get
;
set
;
}
public
virtual
DbSet
<
mod_special
>
mod_special
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
per_againallot
>
per_againallot
{
get
;
set
;
}
public
virtual
DbSet
<
per_againallot
>
per_againallot
{
get
;
set
;
}
/// <summary> 医院绩效分配 </summary>
/// <summary> 医院绩效分配 </summary>
public
virtual
DbSet
<
per_allot
>
per_allot
{
get
;
set
;
}
public
virtual
DbSet
<
per_allot
>
per_allot
{
get
;
set
;
}
/// <summary> 首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本) </summary>
/// <summary> 首次上传文件地址(当医院存在标准库时,首次上传用户提交固定格式的excel,开发人员配置SQL脚本) </summary>
public
virtual
DbSet
<
per_first
>
per_first
{
get
;
set
;
}
public
virtual
DbSet
<
per_first
>
per_first
{
get
;
set
;
}
/// <summary> 上传数据解析 </summary>
/// <summary> 上传数据解析 </summary>
public
virtual
DbSet
<
per_sheet
>
per_sheet
{
get
;
set
;
}
public
virtual
DbSet
<
per_sheet
>
per_sheet
{
get
;
set
;
}
/// <summary> 科室核算结果 </summary>
/// <summary> 科室核算结果 </summary>
public
virtual
DbSet
<
res_account
>
res_account
{
get
;
set
;
}
public
virtual
DbSet
<
res_account
>
res_account
{
get
;
set
;
}
//
/// <summary> 医生科室核算结果 </summary>
/// <summary> 医生科室核算结果 </summary>
//
public virtual DbSet<res_accountdoctor> res_accountdoctor { get; set; }
public
virtual
DbSet
<
res_accountdoctor
>
res_accountdoctor
{
get
;
set
;
}
//
/// <summary> 护理科室核算结果 </summary>
/// <summary> 护理科室核算结果 </summary>
//
public virtual DbSet<res_accountnurse> res_accountnurse { get; set; }
public
virtual
DbSet
<
res_accountnurse
>
res_accountnurse
{
get
;
set
;
}
/// <summary> 核算基础标准 </summary>
/// <summary> 核算基础标准 </summary>
public
virtual
DbSet
<
res_baiscnorm
>
res_baiscnorm
{
get
;
set
;
}
public
virtual
DbSet
<
res_baiscnorm
>
res_baiscnorm
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
res_compute
>
res_compute
{
get
;
set
;
}
public
virtual
DbSet
<
res_compute
>
res_compute
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
res_specialunit
>
res_specialunit
{
get
;
set
;
}
public
virtual
DbSet
<
res_specialunit
>
res_specialunit
{
get
;
set
;
}
/// <summary> 医院数据提取脚本 </summary>
/// <summary> 医院数据提取脚本 </summary>
public
virtual
DbSet
<
sys_extract
>
sys_extract
{
get
;
set
;
}
public
virtual
DbSet
<
sys_extract
>
sys_extract
{
get
;
set
;
}
/// <summary> 医院信息 </summary>
/// <summary> 医院信息 </summary>
public
virtual
DbSet
<
sys_hospital
>
sys_hospital
{
get
;
set
;
}
public
virtual
DbSet
<
sys_hospital
>
sys_hospital
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
sys_hospitalconfig
>
sys_hospitalconfig
{
get
;
set
;
}
public
virtual
DbSet
<
sys_hospitalconfig
>
sys_hospitalconfig
{
get
;
set
;
}
/// <summary> 菜单表 </summary>
/// <summary> 菜单表 </summary>
public
virtual
DbSet
<
sys_menu
>
sys_menu
{
get
;
set
;
}
public
virtual
DbSet
<
sys_menu
>
sys_menu
{
get
;
set
;
}
/// <summary> 角色表 </summary>
/// <summary> 角色表 </summary>
public
virtual
DbSet
<
sys_role
>
sys_role
{
get
;
set
;
}
public
virtual
DbSet
<
sys_role
>
sys_role
{
get
;
set
;
}
/// <summary> 角色菜单关联表 </summary>
/// <summary> 角色菜单关联表 </summary>
public
virtual
DbSet
<
sys_role_menu
>
sys_role_menu
{
get
;
set
;
}
public
virtual
DbSet
<
sys_role_menu
>
sys_role_menu
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
sys_sms
>
sys_sms
{
get
;
set
;
}
public
virtual
DbSet
<
sys_sms
>
sys_sms
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
sys_task
>
sys_task
{
get
;
set
;
}
public
virtual
DbSet
<
sys_task
>
sys_task
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
sys_user
>
sys_user
{
get
;
set
;
}
public
virtual
DbSet
<
sys_user
>
sys_user
{
get
;
set
;
}
/// <summary> </summary>
/// <summary> </summary>
public
virtual
DbSet
<
sys_user_hospital
>
sys_user_hospital
{
get
;
set
;
}
public
virtual
DbSet
<
sys_user_hospital
>
sys_user_hospital
{
get
;
set
;
}
/// <summary> 用户角色关联表 </summary>
/// <summary> 用户角色关联表 </summary>
public
virtual
DbSet
<
sys_user_role
>
sys_user_role
{
get
;
set
;
}
public
virtual
DbSet
<
sys_user_role
>
sys_user_role
{
get
;
set
;
}
}
}
}
}
performance/Performance.EntityModels/Entity/cof_workitem.cs
0 → 100644
View file @
57244c0c
//-----------------------------------------------------------------------
// <copyright file=" cof_workitem.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
///
/// </summary>
[
Table
(
"cof_workitem"
)]
public
class
cof_workitem
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// 工作量中需做运算的项
/// </summary>
public
string
Item
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/log_dbug.cs
View file @
57244c0c
...
@@ -42,7 +42,7 @@ public class log_dbug
...
@@ -42,7 +42,7 @@ public class log_dbug
public
string
Message
{
get
;
set
;
}
public
string
Message
{
get
;
set
;
}
/// <summary>
/// <summary>
///
///
1、信息(info)2、警告(warn)3、错误(error)4、异常(exception)5、成功(success)
/// </summary>
/// </summary>
public
Nullable
<
int
>
Level
{
get
;
set
;
}
public
Nullable
<
int
>
Level
{
get
;
set
;
}
}
}
...
...
performance/Performance.Repository/Repository/PerforCofworkitemRepository.cs
0 → 100644
View file @
57244c0c
//-----------------------------------------------------------------------
// <copyright file=" cof_workitem.cs">
// * FileName: cof_workitem.cs
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
Performance.EntityModels
;
namespace
Performance.Repository
{
/// <summary>
/// cof_workitem Repository
/// </summary>
public
partial
class
PerforCofworkitemRepository
:
PerforRepository
<
cof_workitem
>
{
public
PerforCofworkitemRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Repository/Repository/PerforResaccountdoctorRepository.cs
View file @
57244c0c
//
//
-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//
//
<copyright file=" res_accountdoctor.cs">
// <copyright file=" res_accountdoctor.cs">
//
//
* FileName: res_accountdoctor.cs
// * FileName: res_accountdoctor.cs
//
//
</copyright>
// </copyright>
//
//
-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//
using System;
using
System
;
//
using Performance.EntityModels;
using
Performance.EntityModels
;
//
namespace Performance.Repository
namespace
Performance.Repository
//
{
{
//
/// <summary>
/// <summary>
//
/// res_accountdoctor Repository
/// res_accountdoctor Repository
//
/// </summary>
/// </summary>
//
public partial class PerforResaccountdoctorRepository : PerforRepository<res_accountdoctor>
public
partial
class
PerforResaccountdoctorRepository
:
PerforRepository
<
res_accountdoctor
>
//
{
{
//
public PerforResaccountdoctorRepository(PerformanceDbContext context) : base(context)
public
PerforResaccountdoctorRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
//
{
{
//
}
}
//
}
}
//
}
}
performance/Performance.Repository/Repository/PerforResaccountnurseRepository.cs
View file @
57244c0c
//
//
-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//
//
<copyright file=" res_accountnurse.cs">
// <copyright file=" res_accountnurse.cs">
//
//
* FileName: res_accountnurse.cs
// * FileName: res_accountnurse.cs
//
//
</copyright>
// </copyright>
//
//
-----------------------------------------------------------------------
//-----------------------------------------------------------------------
//
using System;
using
System
;
//
using Performance.EntityModels;
using
Performance.EntityModels
;
//
namespace Performance.Repository
namespace
Performance.Repository
//
{
{
//
/// <summary>
/// <summary>
//
/// res_accountnurse Repository
/// res_accountnurse Repository
//
/// </summary>
/// </summary>
//
public partial class PerforResaccountnurseRepository : PerforRepository<res_accountnurse>
public
partial
class
PerforResaccountnurseRepository
:
PerforRepository
<
res_accountnurse
>
//
{
{
//
public PerforResaccountnurseRepository(PerformanceDbContext context) : base(context)
public
PerforResaccountnurseRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
//
{
{
//
}
}
//
}
}
//
}
}
performance/Performance.Services/AllotCompute/CheckDataService.cs
View file @
57244c0c
...
@@ -97,7 +97,7 @@ public bool Discern(PerExcel excel, per_allot allot)
...
@@ -97,7 +97,7 @@ public bool Discern(PerExcel excel, per_allot allot)
cellValue
=
cellValue
.
Union
(
item
.
Children
.
Select
(
t
=>
t
.
CellValue
)).
ToList
();
cellValue
=
cellValue
.
Union
(
item
.
Children
.
Select
(
t
=>
t
.
CellValue
)).
ToList
();
}
}
var
headerCheck
=
perforCofcheckRepository
.
GetEntities
(
t
=>
t
.
Type
==
(
int
)
sheet
.
SheetType
)
var
headerCheck
=
perforCofcheckRepository
.
GetEntities
(
t
=>
t
.
Type
==
(
int
)
sheet
.
SheetType
)
.
Select
(
t
=>
t
.
CellName
).
Distinct
().
ToList
();
?
.
Select
(
t
=>
t
.
CellName
).
Distinct
().
ToList
();
if
(
headerCheck
!=
null
)
if
(
headerCheck
!=
null
)
{
{
var
list
=
cellValue
.
Intersect
(
headerCheck
).
ToList
();
//求交集,提交的列头和数据库中保存的列头
var
list
=
cellValue
.
Intersect
(
headerCheck
).
ToList
();
//求交集,提交的列头和数据库中保存的列头
...
...
performance/Performance.Services/AllotCompute/ImportDataService.cs
View file @
57244c0c
...
@@ -84,6 +84,7 @@ private PerExcel Import(per_allot allot)
...
@@ -84,6 +84,7 @@ private PerExcel Import(per_allot allot)
IWorkbook
workbook
=
(
excel
.
Version
==
ExcelVersion
.
xlsx
)
IWorkbook
workbook
=
(
excel
.
Version
==
ExcelVersion
.
xlsx
)
?
(
IWorkbook
)(
new
XSSFWorkbook
(
fs
))
?
(
IWorkbook
)(
new
XSSFWorkbook
(
fs
))
:
(
IWorkbook
)(
new
HSSFWorkbook
(
fs
));
:
(
IWorkbook
)(
new
HSSFWorkbook
(
fs
));
bool
isnew
=
false
;
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
);
...
@@ -92,9 +93,14 @@ private PerExcel Import(per_allot allot)
...
@@ -92,9 +93,14 @@ private PerExcel Import(per_allot allot)
if
(
SheetType
.
Unidentifiable
!=
sheetType
)
if
(
SheetType
.
Unidentifiable
!=
sheetType
)
{
{
logManageService
.
WriteMsg
(
"开始读取excel文件"
,
$"开始读取sheet --
{
sheet
.
SheetName
}
"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
logManageService
.
WriteMsg
(
"开始读取excel文件"
,
$"开始读取sheet --
{
sheet
.
SheetName
}
"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
var
st
=
perSheetService
.
Sheet
(
sheet
);
var
st
=
perSheetService
.
Sheet
(
sheet
,
isnew
);
excel
.
PerSheet
.
Add
(
st
);
excel
.
PerSheet
.
Add
(
st
);
}
}
else
{
if
(
sheet
.
SheetName
.
Contains
(
"开单医院"
))
isnew
=
true
;
}
}
}
logManageService
.
WriteMsg
(
"开始读取excel文件"
,
$"excel文件基础数据读取完成!"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
logManageService
.
WriteMsg
(
"开始读取excel文件"
,
$"excel文件基础数据读取完成!"
,
1
,
allot
.
ID
,
"ReceiveMessage"
,
true
);
return
excel
;
return
excel
;
...
...
performance/Performance.Services/PerExcelService/PerSheetDataFactory.cs
View file @
57244c0c
...
@@ -15,7 +15,7 @@ public class PerSheetDataFactory
...
@@ -15,7 +15,7 @@ public class PerSheetDataFactory
/// </summary>
/// </summary>
/// <param name="sheetType"></param>
/// <param name="sheetType"></param>
/// <returns></returns>
/// <returns></returns>
public
static
IPerSheetDataRead
GetDataRead
(
SheetType
sheetType
)
public
static
IPerSheetDataRead
GetDataRead
(
SheetType
sheetType
,
bool
isnew
=
false
)
{
{
IPerSheetDataRead
dataread
=
null
;
IPerSheetDataRead
dataread
=
null
;
switch
(
sheetType
)
switch
(
sheetType
)
...
@@ -24,7 +24,10 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType)
...
@@ -24,7 +24,10 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType)
dataread
=
new
PerSheetDataReadEmployee
();
dataread
=
new
PerSheetDataReadEmployee
();
break
;
break
;
case
SheetType
.
Income
:
case
SheetType
.
Income
:
dataread
=
new
PerSheetDataReadIncome
();
if
(
isnew
)
dataread
=
new
PerSheetDataReadBillIncome
();
else
dataread
=
new
PerSheetDataReadIncome
();
break
;
break
;
case
SheetType
.
OtherIncome
:
case
SheetType
.
OtherIncome
:
dataread
=
new
PerSheetDataReadOtherIncome
();
dataread
=
new
PerSheetDataReadOtherIncome
();
...
...
performance/Performance.Services/PerExcelService/PerSheetService.cs
View file @
57244c0c
...
@@ -33,7 +33,7 @@ public class PerSheetService : IAutoInjection
...
@@ -33,7 +33,7 @@ public class PerSheetService : IAutoInjection
/// </summary>
/// </summary>
/// <param name="sheet"></param>
/// <param name="sheet"></param>
/// <returns></returns>
/// <returns></returns>
public
PerSheet
Sheet
(
ISheet
sheet
)
public
PerSheet
Sheet
(
ISheet
sheet
,
bool
isnew
)
{
{
PerSheet
perSheet
=
new
PerSheet
();
PerSheet
perSheet
=
new
PerSheet
();
perSheet
.
SheetName
=
sheet
.
SheetName
;
perSheet
.
SheetName
=
sheet
.
SheetName
;
...
@@ -43,7 +43,7 @@ public PerSheet Sheet(ISheet sheet)
...
@@ -43,7 +43,7 @@ public PerSheet Sheet(ISheet sheet)
if
(
perSheet
.
SheetType
==
SheetType
.
Unidentifiable
)
if
(
perSheet
.
SheetType
==
SheetType
.
Unidentifiable
)
return
null
;
return
null
;
var
sheetRead
=
PerSheetDataFactory
.
GetDataRead
(
perSheet
.
SheetType
);
var
sheetRead
=
PerSheetDataFactory
.
GetDataRead
(
perSheet
.
SheetType
,
isnew
);
var
perHeader
=
_perHeader
.
GetPerHeader
(
sheet
,
sheetRead
.
Point
);
var
perHeader
=
_perHeader
.
GetPerHeader
(
sheet
,
sheetRead
.
Point
);
var
headerReverse
=
_perHeader
.
GetPerHeaderReverse
(
perHeader
);
var
headerReverse
=
_perHeader
.
GetPerHeaderReverse
(
perHeader
);
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadBillIncome.cs
0 → 100644
View file @
57244c0c
using
NPOI.SS.UserModel
;
using
Performance.DtoModels
;
using
Performance.Infrastructure
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Performance.Services
{
/// <summary>
/// 开单医院收入
/// </summary>
public
class
PerSheetDataReadBillIncome
:
IPerSheetDataRead
{
public
PerSheetPoint
Point
=>
new
PerSheetPoint
{
HeaderFirstRowNum
=
6
,
HeaderLastRowNum
=
6
,
HeaderFirstCellNum
=
0
,
DataFirstRowNum
=
7
,
AccountingUnit
=
new
List
<
AccountingUnit
>
{
//核算单元(医技组)
new
AccountingUnit
{
AccountingUnitCellNum
=
-
1
,
UnitType
=
"医技组"
,
DeptCellNum
=
2
,
FactorRow
=
3
,
},
//核算单元(医生组)
new
AccountingUnit
{
AccountingUnitCellNum
=
0
,
UnitType
=
"医生组"
,
DeptCellNum
=
2
,
FactorRow
=
2
,
},
//核算单元(护理组)
new
AccountingUnit
{
AccountingUnitCellNum
=
1
,
UnitType
=
"护理组"
,
DeptCellNum
=
2
,
FactorRow
=
1
,
}
}
};
public
List
<
IPerData
>
ReadData
(
ISheet
sheet
,
List
<
PerHeader
>
perHeader
)
{
List
<
IPerData
>
dataList
=
new
List
<
IPerData
>();
var
prevRow
=
sheet
.
GetRow
(
5
);
//循环 当前有几个核算单元
foreach
(
var
unit
in
Point
.
AccountingUnit
)
{
//查询除了 核算单元 科室名称 有效数据列头位置
var
vhead
=
perHeader
.
Where
(
t
=>
!
Point
.
AccountingUnit
.
Select
(
p
=>
p
.
AccountingUnitCellNum
).
Contains
(
t
.
PointCell
)
&&
!
Point
.
AccountingUnit
.
Select
(
p
=>
p
.
DeptCellNum
).
Contains
(
t
.
PointCell
)).
OrderBy
(
t
=>
t
.
PointCell
);
for
(
int
r
=
Point
.
DataFirstRowNum
.
Value
;
r
<
sheet
.
LastRowNum
+
1
;
r
++)
{
var
row
=
sheet
.
GetRow
(
r
);
if
(
row
==
null
)
continue
;
for
(
int
c
=
0
;
c
<
vhead
.
Count
();
c
++)
{
var
athead
=
vhead
.
ElementAt
(
c
);
var
cellValue
=
NopiSevice
.
GetCellValue
(
row
.
GetCell
(
athead
.
PointCell
));
if
(!
cellValue
.
HasValue
||
cellValue
.
Value
==
0
)
continue
;
string
accountingUnit
,
department
;
if
(
unit
.
AccountingUnitCellNum
.
Value
==
-
1
)
{
if
(
prevRow
==
null
)
continue
;
accountingUnit
=
prevRow
.
GetCell
(
athead
.
PointCell
).
StringCellValue
;
if
(
string
.
IsNullOrEmpty
(
accountingUnit
)
||
r
!=
Point
.
DataFirstRowNum
.
Value
)
continue
;
department
=
accountingUnit
;
}
else
{
accountingUnit
=
row
.
GetCell
(
unit
.
AccountingUnitCellNum
.
Value
)?.
ToString
();
department
=
row
.
GetCell
(
unit
.
DeptCellNum
.
Value
)?.
ToString
();
}
PerData
data
=
new
PerData
{
RowNumber
=
r
,
SignID
=
athead
.
SignID
,
AccountingUnit
=
accountingUnit
,
Department
=
department
,
TypeName
=
athead
?.
CellValue
,
CellValue
=
cellValue
,
Annotation
=
row
.
GetCell
(
athead
.
PointCell
)?.
CellComment
?.
String
?.
String
,
UnitType
=
unit
.
UnitType
,
//手动匹配
FactorValue
=
ConvertHelper
.
To
<
decimal
?>(
sheet
.
GetRow
(
unit
.
FactorRow
.
Value
).
GetCell
(
athead
.
PointCell
)?.
ToString
()),
IsFactor
=
true
,
};
dataList
.
Add
(
data
);
}
}
}
return
dataList
;
}
}
}
performance/Performance.Services/SheetSevice.cs
View file @
57244c0c
...
@@ -167,6 +167,20 @@ private void CommonExport(int sheetID, SheetExportResponse response)
...
@@ -167,6 +167,20 @@ private void CommonExport(int sheetID, SheetExportResponse response)
response
=
AddFactor
(
response
,
factorhead2
,
headList
.
ToList
(),
dataList
,
UnitType
.
医技组
);
response
=
AddFactor
(
response
,
factorhead2
,
headList
.
ToList
(),
dataList
,
UnitType
.
医技组
);
}
}
if
(
sheet
.
SheetType
==
(
int
)
SheetType
.
Income
&&
!
headList
.
Select
(
t
=>
t
.
CellValue
).
Contains
(
"医技组"
))
{
var
technicianvalue
=
new
Row
(
response
.
Header
.
Count
());
technicianvalue
.
Data
.
Add
(
new
Cell
(
0
,
"医技组核算收入"
,
1
,
4
,
false
,
false
));
response
.
Header
.
Add
(
technicianvalue
);
var
technicianhead
=
new
Row
(
response
.
Header
.
Count
());
technicianhead
.
Data
.
Add
(
new
Cell
(
0
,
"医技组核算单元"
,
1
,
4
,
false
,
false
));
response
.
Header
.
Add
(
technicianhead
);
foreach
(
var
technician
in
dataList
.
Where
(
t
=>
t
.
UnitType
==
3
))
{
var
header
=
headList
.
First
(
t
=>
t
.
CellValue
==
technician
.
TypeName
);
technicianvalue
.
Data
.
Add
(
new
Cell
(
header
.
PointCell
.
Value
,
technician
.
CellValue
,
header
.
MergeRow
.
Value
,
header
.
MergeCell
.
Value
,
header
.
IsTotal
==
1
,
false
));
technicianhead
.
Data
.
Add
(
new
Cell
(
header
.
PointCell
.
Value
,
technician
.
AccountingUnit
,
header
.
MergeRow
.
Value
,
header
.
MergeCell
.
Value
,
header
.
IsTotal
==
1
,
false
));
}
}
//创建列头行
//创建列头行
var
rowhead
=
new
Row
(
response
.
Header
.
Count
());
var
rowhead
=
new
Row
(
response
.
Header
.
Count
());
response
.
Header
.
Add
(
rowhead
);
response
.
Header
.
Add
(
rowhead
);
...
...
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