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
852368db
Commit
852368db
authored
Jun 03, 2020
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
获取抽取配置
parent
c3f25536
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
426 additions
and
24 deletions
+426
-24
performance/Performance.Api/Controllers/ExConfigController.cs
+18
-0
performance/Performance.Api/Controllers/ModExtractController.cs
+16
-16
performance/Performance.DtoModels/Request/ModItemRequest.cs
+1
-1
performance/Performance.EntityModels/Entity/ex_item.cs
+2
-2
performance/Performance.EntityModels/Entity/ex_module.cs
+2
-2
performance/Performance.Services/ExConfigService.cs
+384
-0
performance/Performance.Services/ModExtractService.cs
+3
-3
No files found.
performance/Performance.Api/Controllers/ExConfigController.cs
0 → 100644
View file @
852368db
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Microsoft.AspNetCore.Mvc
;
namespace
Performance.Api.Controllers
{
[
Route
(
"api/modextract"
)]
[
ApiController
]
public
class
ExConfigController
:
Controller
{
public
ExConfigController
()
{
}
}
}
performance/Performance.Api/Controllers/ModExtractController.cs
View file @
852368db
...
...
@@ -35,7 +35,7 @@ public class ModExtractController : Controller
/// <returns></returns>
[
Route
(
"scheme"
)]
[
HttpPost
]
public
ApiResponse
Extract
([
CustomizeValidator
(
RuleSet
=
"Query"
),
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
Extract
([
CustomizeValidator
(
RuleSet
=
"Query"
),
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
HospitalId
==
null
||
request
.
HospitalId
.
Value
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"HospitalId 不存在,请重新选择!"
);
...
...
@@ -64,7 +64,7 @@ public ApiResponse FeeType()
/// <returns></returns>
[
Route
(
"source"
)]
[
HttpPost
]
public
ApiResponse
FeeSource
([
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
FeeSource
([
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
HospitalId
==
null
||
request
.
HospitalId
.
Value
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"HospitalId 参数错误!"
);
...
...
@@ -80,7 +80,7 @@ public ApiResponse FeeSource([FromBody]ModModuleRequest request)
/// <returns></returns>
[
Route
(
"addmodule"
)]
[
HttpPost
]
public
ApiResponse
AddModule
([
CustomizeValidator
(
RuleSet
=
"Add"
),
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
AddModule
([
CustomizeValidator
(
RuleSet
=
"Add"
),
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
HospitalId
==
null
||
request
.
HospitalId
.
Value
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"HospitalId 参数错误!"
);
...
...
@@ -95,7 +95,7 @@ public ApiResponse AddModule([CustomizeValidator(RuleSet = "Add"), FromBody]ModM
/// <returns></returns>
[
Route
(
"modules"
)]
[
HttpPost
]
public
ApiResponse
Module
([
CustomizeValidator
(
RuleSet
=
"Query"
),
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
Module
([
CustomizeValidator
(
RuleSet
=
"Query"
),
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
HospitalId
==
null
||
request
.
HospitalId
.
Value
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"HospitalId 不存在,请重新选择!"
);
...
...
@@ -110,7 +110,7 @@ public ApiResponse Module([CustomizeValidator(RuleSet = "Query"), FromBody]ModMo
/// <returns></returns>
[
Route
(
"editmodule"
)]
[
HttpPost
]
public
ApiResponse
EditModule
([
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
EditModule
([
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
ModuleId
==
null
||
request
.
ModuleId
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"ModuleId 参数错误!"
);
...
...
@@ -125,7 +125,7 @@ public ApiResponse EditModule([FromBody]ModModuleRequest request)
/// <returns></returns>
[
Route
(
"deletemodule"
)]
[
HttpPost
]
public
ApiResponse
DelModule
([
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
DelModule
([
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
ModuleId
==
null
||
request
.
ModuleId
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"ModuleId 参数错误!"
);
...
...
@@ -140,7 +140,7 @@ public ApiResponse DelModule([FromBody]ModModuleRequest request)
/// <returns></returns>
[
Route
(
"additem"
)]
[
HttpPost
]
public
ApiResponse
AddItem
([
FromBody
]
ItemListRequest
request
)
public
ApiResponse
AddItem
([
FromBody
]
ItemListRequest
request
)
{
if
(
request
.
ModuleId
==
null
&&
request
.
ModuleId
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"ModuleId 参数错误!"
);
...
...
@@ -158,7 +158,7 @@ public ApiResponse AddItem([FromBody]ItemListRequest request)
/// <returns></returns>
[
Route
(
"items"
)]
[
HttpPost
]
public
ApiResponse
Items
([
FromBody
]
ModItemRequest
request
)
public
ApiResponse
Items
([
FromBody
]
ModItemRequest
request
)
{
logger
.
LogInformation
(
$"绩效收入模板配置项列表 : 请求地址
{
url
.
HttpPost
}
/modextract/items"
);
HttpHelper
.
HttpPost
(
url
.
HttpPost
+
"/modextract/items"
,
JsonHelper
.
Serialize
(
request
),
true
);
...
...
@@ -173,12 +173,12 @@ public ApiResponse Items([FromBody]ModItemRequest request)
/// <returns></returns>
[
Route
(
"edititem"
)]
[
HttpPost
]
public
ApiResponse
EditItem
([
FromBody
]
ItemListRequest
request
)
public
ApiResponse
EditItem
([
FromBody
]
ItemListRequest
request
)
{
if
(
request
.
Items
==
null
||
!
request
.
Items
.
Any
())
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"请选择需要修改的数据!"
);
var
entity
=
modExtractService
.
EditItem
(
request
.
Items
[
0
]);
var
entity
=
0
;
//=
modExtractService.EditItem(request.Items[0]);
return
new
ApiResponse
(
ResponseType
.
OK
,
"修改成功!"
,
entity
);
}
...
...
@@ -188,7 +188,7 @@ public ApiResponse EditItem([FromBody]ItemListRequest request)
/// <returns></returns>
[
Route
(
"deleteitem"
)]
[
HttpPost
]
public
ApiResponse
DelItem
([
FromBody
]
ModItemRequest
request
)
public
ApiResponse
DelItem
([
FromBody
]
ModItemRequest
request
)
{
if
(
request
.
ItemId
==
null
&&
request
.
ItemId
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"ItemId 参数错误!"
);
...
...
@@ -205,7 +205,7 @@ public ApiResponse DelItem([FromBody]ModItemRequest request)
/// <returns></returns>
[
Route
(
"addspecial"
)]
[
HttpPost
]
public
ApiResponse
AddSpecial
([
FromBody
]
SpecialListRequest
request
)
public
ApiResponse
AddSpecial
([
FromBody
]
SpecialListRequest
request
)
{
if
(
request
.
HospitalId
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"HospitalId 参数错误!"
);
...
...
@@ -223,7 +223,7 @@ public ApiResponse AddSpecial([FromBody]SpecialListRequest request)
/// <returns></returns>
[
Route
(
"specials"
)]
[
HttpPost
]
public
ApiResponse
Specials
([
FromBody
]
ModSpecialRequest
request
)
public
ApiResponse
Specials
([
FromBody
]
ModSpecialRequest
request
)
{
var
list
=
modExtractService
.
Special
(
request
.
HospitalId
.
Value
);
return
new
ApiResponse
(
ResponseType
.
OK
,
list
);
...
...
@@ -235,7 +235,7 @@ public ApiResponse Specials([FromBody]ModSpecialRequest request)
/// <returns></returns>
[
Route
(
"editspecial"
)]
[
HttpPost
]
public
ApiResponse
EditSpecial
([
FromBody
]
SpecialListRequest
request
)
public
ApiResponse
EditSpecial
([
FromBody
]
SpecialListRequest
request
)
{
if
(
request
.
Items
==
null
||
!
request
.
Items
.
Any
())
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"请选择需要修改的数据!"
);
...
...
@@ -250,7 +250,7 @@ public ApiResponse EditSpecial([FromBody]SpecialListRequest request)
/// <returns></returns>
[
Route
(
"deletespecial"
)]
[
HttpPost
]
public
ApiResponse
DelSpecial
([
FromBody
]
ModSpecialRequest
request
)
public
ApiResponse
DelSpecial
([
FromBody
]
ModSpecialRequest
request
)
{
if
(
request
.
SpecialId
==
null
&&
request
.
SpecialId
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"SpecialId 参数错误!"
);
...
...
@@ -279,7 +279,7 @@ public ApiResponse PerforType()
/// <returns></returns>
[
Route
(
"config"
)]
[
HttpPost
]
public
ApiResponse
Config
([
FromBody
]
ModModuleRequest
request
)
public
ApiResponse
Config
([
FromBody
]
ModModuleRequest
request
)
{
if
(
request
.
HospitalId
==
null
||
request
.
HospitalId
.
Value
==
0
)
return
new
ApiResponse
(
ResponseType
.
ParameterError
,
"HospitalId 不存在,请重新选择!"
);
...
...
performance/Performance.DtoModels/Request/ModItemRequest.cs
View file @
852368db
...
...
@@ -30,7 +30,7 @@ public class ItemListRequest
public
Nullable
<
int
>
ModuleId
{
get
;
set
;
}
/// <summary> 新增项 </summary>
public
List
<
mod
_item
>
Items
{
get
;
set
;
}
public
List
<
ex
_item
>
Items
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/ex_item.cs
View file @
852368db
...
...
@@ -47,9 +47,9 @@ public class ex_item
public
Nullable
<
decimal
>
FactorValue3
{
get
;
set
;
}
/// <summary>
///
抽取绩效值SQL
///
/// </summary>
public
Nullable
<
int
>
Extract
Id
{
get
;
set
;
}
public
Nullable
<
int
>
Type
Id
{
get
;
set
;
}
/// <summary>
/// 数据库地址
...
...
performance/Performance.EntityModels/Entity/ex_module.cs
View file @
852368db
...
...
@@ -42,9 +42,9 @@ public class ex_module
public
string
Description
{
get
;
set
;
}
/// <summary>
///
提取脚本ID
///
/// </summary>
public
Nullable
<
int
>
Extract
Id
{
get
;
set
;
}
public
Nullable
<
int
>
Type
Id
{
get
;
set
;
}
/// <summary>
/// 数据库地址
...
...
performance/Performance.Services/ExConfigService.cs
0 → 100644
View file @
852368db
using
Microsoft.Extensions.Logging
;
using
Performance.DtoModels
;
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
Performance.Repository
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Text.RegularExpressions
;
namespace
Performance.Services
{
public
class
ExConfigService
:
IAutoInjection
{
private
readonly
PerforExtypeRepository
extypeRepository
;
private
readonly
PerforExscriptRepository
exscriptRepository
;
private
readonly
PerforExmoduleRepository
exmoduleRepository
;
private
readonly
PerforExitemRepository
exitemRepository
;
private
readonly
PerforModspecialRepository
modspecialRepository
;
private
readonly
PerforPerallotRepository
perallotRepository
;
private
readonly
PerforHospitalconfigRepository
hospitalconfigRepository
;
private
readonly
PerforExtractRepository
extractRepository
;
private
readonly
PerforModdicRepository
moddicRepository
;
private
readonly
ILogger
logger
;
public
ExConfigService
(
PerforExtypeRepository
extypeRepository
,
PerforExscriptRepository
exscriptRepository
,
PerforExmoduleRepository
exmoduleRepository
,
PerforExitemRepository
exitemRepository
,
PerforModspecialRepository
modspecialRepository
,
PerforPerallotRepository
perallotRepository
,
PerforHospitalconfigRepository
hospitalconfigRepository
,
PerforExtractRepository
extractRepository
,
PerforModdicRepository
moddicRepository
,
ILogger
<
ExConfigService
>
logger
)
{
this
.
extypeRepository
=
extypeRepository
;
this
.
exscriptRepository
=
exscriptRepository
;
this
.
exmoduleRepository
=
exmoduleRepository
;
this
.
exitemRepository
=
exitemRepository
;
this
.
modspecialRepository
=
modspecialRepository
;
this
.
perallotRepository
=
perallotRepository
;
this
.
hospitalconfigRepository
=
hospitalconfigRepository
;
this
.
extractRepository
=
extractRepository
;
this
.
moddicRepository
=
moddicRepository
;
this
.
logger
=
logger
;
}
#
region
Modules
public
List
<
ex_module
>
QueryModule
(
int
hospitalId
)
{
//首次添加费用字典默认值
DefaultModules
(
hospitalId
);
var
list
=
exmoduleRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalId
).
OrderBy
(
t
=>
t
.
ModuleName
).
ToList
();
return
list
;
}
private
void
DefaultModules
(
int
hospitalId
)
{
var
moduleList
=
new
ex_module
[]
{
new
ex_module
{
ModuleName
=
"1.0.1 额外收入"
,
SheetType
=
(
int
)
SheetType
.
OtherIncome
},
new
ex_module
{
ModuleName
=
"1.1.1 门诊开单收入"
,
SheetType
=
(
int
)
SheetType
.
Income
},
new
ex_module
{
ModuleName
=
"1.1.2 门诊执行收入"
,
SheetType
=
(
int
)
SheetType
.
Income
},
new
ex_module
{
ModuleName
=
"1.2.1 住院开单收入"
,
SheetType
=
(
int
)
SheetType
.
Income
},
new
ex_module
{
ModuleName
=
"1.2.2 住院执行收入"
,
SheetType
=
(
int
)
SheetType
.
Income
},
new
ex_module
{
ModuleName
=
"2.1 成本支出统计表"
,
SheetType
=
(
int
)
SheetType
.
Expend
},
new
ex_module
{
ModuleName
=
"3.1 医生组工作量绩效测算表"
,
SheetType
=
(
int
)
SheetType
.
Workload
},
new
ex_module
{
ModuleName
=
"3.2 护理组工作量绩效测算表"
,
SheetType
=
(
int
)
SheetType
.
Workload
},
};
var
data
=
exmoduleRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalId
);
var
inexistence
=
data
==
null
?
moduleList
:
moduleList
.
Where
(
t
=>
!
data
.
Select
(
p
=>
p
.
ModuleName
).
ToArray
().
Contains
(
t
.
ModuleName
));
if
(
inexistence
!=
null
&&
inexistence
.
Any
())
{
List
<
ex_module
>
modules
=
new
List
<
ex_module
>();
foreach
(
var
item
in
inexistence
)
{
var
module
=
new
ex_module
{
HospitalId
=
hospitalId
,
ModuleName
=
item
.
ModuleName
,
SheetType
=
(
int
)
item
.
SheetType
,
ReadOnly
=
1
,
TypeId
=
null
,
};
modules
.
Add
(
module
);
}
if
(
modules
.
Any
())
exmoduleRepository
.
AddRange
(
modules
.
ToArray
());
}
}
public
ex_module
AddModule
(
ModModuleRequest
request
)
{
if
(
request
.
SheetType
!=
(
int
)
SheetType
.
Income
)
throw
new
PerformanceException
(
"模块类型错误,只支持收入模板配置"
);
string
[]
array
=
new
string
[]
{
"开单收入"
,
"执行收入"
};
if
(
request
.
ModuleName
.
IndexOf
(
"开单收入"
)
==
-
1
&&
request
.
ModuleName
.
IndexOf
(
"执行收入"
)
==
-
1
)
throw
new
PerformanceException
(
"模块名称规则错误"
);
//if (!Regex.IsMatch(request.ModuleName, @"^[\u4e00-\u9fa5]+$"))
// throw new PerformanceException("模块名称规则错误,请使用全中文命名");
var
incomeList
=
exmoduleRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
request
.
HospitalId
&&
t
.
SheetType
==
(
int
)
SheetType
.
Income
);
if
(
incomeList
.
Any
(
t
=>
Regex
.
Replace
(
t
.
ModuleName
,
@"\d"
,
""
).
Replace
(
"."
,
""
).
Replace
(
" "
,
""
)
==
request
.
ModuleName
))
throw
new
PerformanceException
(
"绩效模板已存在!"
);
string
addname
=
""
;
var
moduleList
=
exmoduleRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
request
.
HospitalId
&&
t
.
ModuleName
.
IndexOf
(
"1."
)
!=
-
1
);
string
name
=
request
.
ModuleName
.
Replace
(
"开单收入"
,
""
).
Replace
(
"执行收入"
,
""
);
var
exist
=
moduleList
.
Where
(
t
=>
t
.
ModuleName
.
Contains
(
name
));
if
(
exist
!=
null
&&
exist
.
Any
())
{
string
modulename
=
exist
.
OrderByDescending
(
t
=>
t
.
ModuleName
).
First
().
ModuleName
;
int
[]
sort
=
Array
.
ConvertAll
(
modulename
.
Split
(
' '
)[
0
].
Split
(
new
string
[]
{
"."
},
StringSplitOptions
.
RemoveEmptyEntries
),
t
=>
ConvertHelper
.
TryInt
(
t
));
sort
[
2
]
+=
1
;
addname
=
string
.
Join
(
"."
,
sort
)
+
" "
+
request
.
ModuleName
;
}
else
{
string
modulename
=
moduleList
.
OrderByDescending
(
t
=>
t
.
ModuleName
).
First
().
ModuleName
;
int
[]
sort
=
Array
.
ConvertAll
(
modulename
.
Split
(
' '
)[
0
].
Split
(
new
string
[]
{
"."
},
StringSplitOptions
.
RemoveEmptyEntries
),
t
=>
ConvertHelper
.
TryInt
(
t
));
sort
[
1
]
+=
1
;
addname
=
$"
{
sort
[
0
]}
.
{
sort
[
1
]}
.1 "
+
request
.
ModuleName
;
}
ex_module
entity
=
new
ex_module
{
ModuleName
=
addname
,
HospitalId
=
request
.
HospitalId
,
Description
=
request
.
Description
,
SheetType
=
request
.
SheetType
,
TypeId
=
request
.
ExtractId
,
ReadOnly
=
0
,
};
if
(!
exmoduleRepository
.
Add
(
entity
))
throw
new
PerformanceException
(
"添加失败!"
);
return
entity
;
}
public
ex_module
EditModule
(
ModModuleRequest
request
)
{
var
entity
=
exmoduleRepository
.
GetEntity
(
t
=>
t
.
Id
==
request
.
ModuleId
);
if
(
entity
==
null
)
throw
new
PerformanceException
(
"该绩效抽取方案不存在!"
);
//if (entity.ReadOnly == 1)
// throw new PerformanceException("该绩效抽取方案不可编辑!");
var
list
=
exmoduleRepository
.
GetEntities
(
t
=>
t
.
Id
!=
entity
.
Id
&&
t
.
HospitalId
==
entity
.
HospitalId
&&
t
.
ModuleName
==
request
.
ModuleName
);
if
(
list
!=
null
&&
list
.
Any
())
throw
new
PerformanceException
(
"绩效模板已存在!"
);
entity
.
ModuleName
=
request
.
ModuleName
??
entity
.
ModuleName
;
entity
.
SheetType
=
request
.
SheetType
;
entity
.
Description
=
request
.
Description
;
entity
.
TypeId
=
request
.
ExtractId
;
entity
.
ConfigId
=
request
.
ConfigId
;
if
(!
exmoduleRepository
.
Update
(
entity
))
throw
new
PerformanceException
(
"修改失败!"
);
return
entity
;
}
public
void
DelModule
(
int
moduleId
)
{
var
entity
=
exmoduleRepository
.
GetEntity
(
t
=>
t
.
Id
==
moduleId
);
if
(
entity
==
null
)
throw
new
PerformanceException
(
"该绩效抽取方案不存在!"
);
if
(!
exmoduleRepository
.
Remove
(
entity
))
throw
new
PerformanceException
(
"删除失败!"
);
if
(
entity
.
SheetType
!=
(
int
)
SheetType
.
SpecialUnit
)
{
var
itemList
=
exitemRepository
.
GetEntities
(
t
=>
t
.
ModuleId
==
moduleId
);
if
(
itemList
!=
null
&&
itemList
.
Any
())
exitemRepository
.
RemoveRange
(
itemList
.
ToArray
());
}
else
{
var
specialList
=
modspecialRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
entity
.
HospitalId
);
if
(
specialList
!=
null
&&
specialList
.
Any
())
modspecialRepository
.
RemoveRange
(
specialList
.
ToArray
());
}
}
#
endregion
#
region
Items
public
List
<
ex_item
>
QueryItems
(
int
moduleId
)
{
var
list
=
exitemRepository
.
GetEntities
(
t
=>
t
.
ModuleId
==
moduleId
);
return
list
?.
OrderBy
(
t
=>
t
.
Id
).
ToList
();
}
public
List
<
ex_item
>
Items
(
int
moduleId
)
{
var
list
=
exitemRepository
.
GetEntities
(
t
=>
t
.
ModuleId
==
moduleId
);
return
list
?.
OrderBy
(
t
=>
t
.
Id
).
ToList
();
}
public
List
<
ex_item
>
AddItem
(
ItemListRequest
request
)
{
var
entity
=
exitemRepository
.
GetEntity
(
t
=>
t
.
Id
==
request
.
ModuleId
);
if
(
entity
==
null
)
throw
new
PerformanceException
(
"选择的绩效抽取方案不存在!"
);
var
list
=
request
.
Items
;
list
.
ForEach
(
t
=>
{
t
.
ModuleId
=
entity
.
Id
;
//t.ExtractId = entity.ExtractId;
t
.
ReadOnly
=
0
;
});
if
(!
exitemRepository
.
AddRange
(
list
.
ToArray
()))
throw
new
PerformanceException
(
"添加失败!"
);
return
list
;
}
public
ex_item
EditItem
(
ex_item
entity
)
{
var
item
=
exitemRepository
.
GetEntity
(
t
=>
t
.
Id
==
entity
.
Id
);
if
(
item
==
null
)
throw
new
PerformanceException
(
"选择修改的项不存在!"
);
item
.
ItemName
=
entity
.
ItemName
;
item
.
FactorValue1
=
entity
.
FactorValue1
;
item
.
FactorValue2
=
entity
.
FactorValue2
;
item
.
FactorValue3
=
entity
.
FactorValue3
;
item
.
TypeId
=
entity
.
TypeId
;
item
.
ConfigId
=
entity
.
ConfigId
;
if
(!
exitemRepository
.
Update
(
item
))
throw
new
PerformanceException
(
"修改失败!"
);
return
item
;
}
public
void
DelItem
(
int
itemId
)
{
var
item
=
exitemRepository
.
GetEntity
(
t
=>
t
.
Id
==
itemId
);
if
(
item
==
null
)
throw
new
PerformanceException
(
"Item项不存在!"
);
exitemRepository
.
Remove
(
item
);
}
#
endregion
#
region
特殊科室
/// <summary>
/// 特殊科室模板配置项列表
/// </summary>
/// <returns></returns>
public
List
<
mod_special
>
QuerySpecial
(
int
hospitalId
)
{
var
list
=
modspecialRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalId
);
return
list
;
}
/// <summary>
/// 特殊科室模板配置项新增
/// </summary>
/// <returns></returns>
public
List
<
mod_special
>
AddSpecial
(
SpecialListRequest
request
)
{
var
list
=
request
.
Items
;
list
.
ForEach
(
t
=>
t
.
HospitalId
=
request
.
HospitalId
);
if
(!
modspecialRepository
.
AddRange
(
list
.
ToArray
()))
throw
new
PerformanceException
(
"添加失败!"
);
return
list
;
}
/// <summary>
/// 特殊科室模板配置项修改
/// </summary>
/// <returns></returns>
public
mod_special
EditSpecial
(
mod_special
entity
)
{
var
special
=
modspecialRepository
.
GetEntity
(
t
=>
t
.
Id
==
entity
.
Id
);
if
(
special
==
null
)
throw
new
PerformanceException
(
"选择修改的数据不存在!"
);
special
.
Department
=
entity
.
Department
??
special
.
Department
;
special
.
Target
=
entity
.
Target
;
special
.
TargetFactor
=
entity
.
TargetFactor
;
special
.
AdjustFactor
=
entity
.
AdjustFactor
;
special
.
ExtractId
=
entity
.
ExtractId
;
special
.
ConfigId
=
entity
.
ConfigId
;
if
(!
modspecialRepository
.
Update
(
special
))
throw
new
PerformanceException
(
"修改失败!"
);
return
special
;
}
/// <summary>
/// 特殊科室模板配置项删除
/// </summary>
/// <returns></returns>
public
void
DelSpecial
(
int
specialId
)
{
var
special
=
modspecialRepository
.
GetEntity
(
t
=>
t
.
Id
==
specialId
);
if
(
special
==
null
)
throw
new
PerformanceException
(
"需要删除的项不存在!"
);
modspecialRepository
.
Remove
(
special
);
}
#
endregion
/// <summary>
/// 添加默认绩效模板配置
/// </summary>
/// <param name="moduleId"></param>
public
void
AddItems
(
int
moduleId
)
{
var
module
=
exmoduleRepository
.
GetEntity
(
t
=>
t
.
Id
==
moduleId
);
if
(
module
==
null
)
throw
new
PerformanceException
(
"绩效模板不存在,请重新选择!"
);
if
(
module
.
SheetType
!=
(
int
)
SheetType
.
Income
)
return
;
var
sqlconfig
=
moddicRepository
.
GetEntity
(
w
=>
w
.
HospitalId
==
module
.
HospitalId
&&
w
.
Type
.
Trim
().
ToLower
()
==
"itemsql"
);
if
(
sqlconfig
!=
null
)
{
var
hospitalConfig
=
hospitalconfigRepository
.
GetEntity
(
t
=>
t
.
HospitalId
==
module
.
HospitalId
&&
t
.
Id
==
sqlconfig
.
ConfigId
);
if
(
hospitalConfig
==
null
)
{
logger
.
LogInformation
(
"添加默认收费项时,医院配置信息未设置"
);
return
;
}
}
else
{
logger
.
LogInformation
(
"添加默认收费项时医院未设置sql"
);
var
hospitalConfigs
=
hospitalconfigRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
module
.
HospitalId
);
if
(
hospitalConfigs
==
null
||
!
hospitalConfigs
.
Any
())
{
logger
.
LogInformation
(
"医院未设置数据库连接信息"
);
return
;
}
string
sql
=
"SELECT ITEM_TYPE FROM DIC_FEE GROUP BY ITEM_TYPE ORDER BY ITEM_TYPE"
;
}
}
private
bool
QueryAndAddItem
(
List
<
sys_hospitalconfig
>
hospitalconfigs
,
string
sql
)
{
logger
.
LogInformation
(
"创建数据库连接"
);
foreach
(
var
hospitalConfig
in
hospitalconfigs
)
{
var
connection
=
ConnectionBuilder
.
Create
((
DatabaseType
)
hospitalConfig
.
DataBaseType
,
hospitalConfig
.
DbSource
,
hospitalConfig
.
DbName
,
hospitalConfig
.
DbUser
,
hospitalConfig
.
DbPassword
);
logger
.
LogInformation
(
$"执行sql:
{
sql
}
"
);
var
dataList
=
extractRepository
.
ExecuteScript
(
connection
,
sql
,
null
);
logger
.
LogInformation
(
$"获取数据
{
dataList
?.
Count
??
0
}
条"
);
if
(
dataList
!=
null
&&
dataList
.
Any
())
{
var
itemList
=
dataList
.
Select
(
t
=>
new
ex_item
{
ItemName
=
t
.
Value
.
ToString
(),
FactorValue1
=
0
m
,
FactorValue2
=
0
m
,
FactorValue3
=
0
m
,
ModuleId
=
module
.
Id
,
TypeId
=
module
.
TypeId
,
ReadOnly
=
1
});
logger
.
LogInformation
(
$"添加默认收费项 受影响行数
{
itemList
.
Count
()}
"
);
exitemRepository
.
AddRange
(
itemList
.
ToArray
());
exmoduleRepository
.
Update
(
module
);
}
}
return
false
;
}
}
}
performance/Performance.Services/ModExtractService.cs
View file @
852368db
...
...
@@ -264,10 +264,10 @@ public List<mod_item> AddItem(ItemListRequest request)
//t.ExtractId = entity.ExtractId;
t
.
ReadOnly
=
0
;
});
if
(!
perforModitemRepository
.
AddRange
(
list
.
ToArray
()))
throw
new
PerformanceException
(
"添加失败!"
);
//
if (!perforModitemRepository.AddRange(list.ToArray()))
//
throw new PerformanceException("添加失败!");
return
list
;
return
new
List
<
mod_item
>()
;
}
/// <summary>
...
...
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