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
234d45b5
Commit
234d45b5
authored
Jun 08, 2023
by
ruyun.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
科室详情别名
parent
521bc703
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
181 additions
and
60 deletions
+181
-60
performance/Performance.DtoModels/UniteDeptSetting.cs
+4
-0
performance/Performance.Services/ComputeService.UniteDeptDetail.cs
+177
-60
No files found.
performance/Performance.DtoModels/UniteDeptSetting.cs
View file @
234d45b5
...
...
@@ -9,8 +9,12 @@ public class UniteDeptDetailItem
public
string
ParentId
{
get
;
set
;
}
public
int
SheetType
{
get
;
set
;
}
public
string
Title
{
get
;
set
;
}
public
string
Alias
{
get
;
set
;
}
public
bool
IsAllowAlias
{
get
;
set
;
}
=
false
;
public
string
Remark
{
get
;
set
;
}
public
bool
IsAllowRemark
{
get
;
set
;
}
=
true
;
public
string
Format
{
get
;
set
;
}
public
bool
IsAllowFormat
{
get
;
set
;
}
=
true
;
public
int
Sort
{
get
;
set
;
}
public
string
Display
{
get
;
set
;
}
public
List
<
UniteDeptDetailItem
>
Children
{
get
;
set
;
}
...
...
performance/Performance.Services/ComputeService.UniteDeptDetail.cs
View file @
234d45b5
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.IO
;
using
System.Linq
;
using
System.Text.RegularExpressions
;
using
Masuit.Tools
;
using
Newtonsoft.Json
;
using
Masuit.Tools.Systems
;
using
NPOI.Util
;
using
Microsoft.Extensions.Configuration
;
using
OfficeOpenXml
;
using
OfficeOpenXml.Style
;
using
Performance.DtoModels
;
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
Performance.Repository
;
using
static
Performance
.
Services
.
ExtractExcelService
.
WriteDataHelper
;
using
System.Drawing
;
using
Microsoft.Extensions.Configuration
;
namespace
Performance.Services
{
...
...
@@ -134,7 +130,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
var
special
=
_perforResspecialunitRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
&&
t
.
Department
==
accountingUnit
);
if
(
special
?.
Any
()
!=
true
)
return
response
;
var
detailItems
=
new
List
<
DeptDetailItem
>
();
var
detailItems
=
new
DeptDetailItem
();
#
region
补全特殊核算组量化指标明细
{
var
items
=
new
List
<
Dictionary
<
string
,
object
>>();
...
...
@@ -142,23 +138,23 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
{
items
.
Add
(
new
Dictionary
<
string
,
object
>
{
{
"
量化指标
"
,
item
.
QuantitativeIndicators
},
{
"
项目
"
,
item
.
QuantitativeIndicators
},
{
"数量"
,
ValueFormating
(
item
.
Quantity
,
""
)
},
{
"
量化指标绩效分值
"
,
ValueFormating
(
item
.
QuantitativeIndicatorsValue
,
""
)
},
{
"
工作量绩效
"
,
ValueFormating
(
item
.
QuantitativeFee
,
UniteDept
.
Format
.
两位小数
.
ToString
())
},
{
"
系数
"
,
ValueFormating
(
item
.
QuantitativeIndicatorsValue
,
""
)
},
{
"
金额
"
,
ValueFormating
(
item
.
QuantitativeFee
,
UniteDept
.
Format
.
两位小数
.
ToString
())
},
});
}
detailItems
.
Add
(
new
DeptDetailItem
{
Title
=
"量化考核"
,
Total
=
special
.
First
().
ResultsTotalFee
??
0
,
TotalFormat
=
ValueFormating
(
special
.
First
().
ResultsTotalFee
??
0
,
""
),
Items
=
items
});
detailItems
.
Total
=
special
.
First
().
ResultsTotalFee
??
0
;
detailItems
.
TotalFormat
=
ValueFormating
(
special
.
First
().
ResultsTotalFee
??
0
,
""
);
detailItems
.
Items
=
items
;
}
#
endregion
#
region
特殊处理
var
total
=
detailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
"量化考核"
)?.
Total
??
0
;
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Total
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Total
=
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Total
=
total
,
Children
=
detail
Items
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Total
=
detailItems
.
Total
,
TotalFormat
=
detailItems
.
TotalFormat
,
Items
=
detailItems
.
Items
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
Total
=
special
.
First
().
PerforTotal
??
0
});
#
endregion
}
...
...
@@ -221,7 +217,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
}
#
endregion
var
detailItemWorkloads
=
new
List
<
DeptDetailItem
>()
;
var
detailItemWorkloads
=
new
DeptDetailItem
{
}
;
#
region
补全临床科室工作量明细
{
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Workload
))
...
...
@@ -229,8 +225,6 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
if
((
sheet
.
SheetName
.
Contains
(
"医生"
)
&&
account
.
UnitType
==
(
int
)
UnitType
.
护理组
)
||
(
sheet
.
SheetName
.
Contains
(
"护理"
)
&&
account
.
UnitType
!=
(
int
)
UnitType
.
护理组
))
continue
;
string
sheetName
=
BeautifulName
(
sheet
.
SheetName
);
var
type
=
TypeConversion
(
account
.
UnitType
);
var
workitems
=
cofworkitemRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotId
);
...
...
@@ -289,7 +283,9 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
DeleteBlankColumn
(
items
);
var
amount
=
basicData
.
Where
(
t
=>
t
.
SheetID
==
sheet
.
ID
&&
t
.
UnitType
==
(
int
)
type
&&
t
.
IsTotal
!=
1
)?.
Sum
(
t
=>
t
.
IsFactor
==
1
?
t
.
CellValue
*
(
t
.
FactorValue
??
0
)
:
t
.
CellValue
)
??
0
;
detailItemWorkloads
.
Add
(
new
DeptDetailItem
{
Title
=
sheetName
,
Total
=
amount
,
TotalFormat
=
ValueFormating
(
amount
,
""
),
Items
=
items
});
detailItemWorkloads
.
Total
=
amount
;
detailItemWorkloads
.
TotalFormat
=
ValueFormating
(
amount
,
""
);
detailItemWorkloads
.
Items
=
items
;
}
}
#
endregion
...
...
@@ -305,7 +301,7 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
}
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Total
=
account
.
Income
??
0
,
Children
=
detailItems
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Total
=
account
.
PerforFee
??
0
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Total
=
account
.
WorkloadFee
??
0
,
Children
=
detailItemWorkload
s
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Total
=
detailItemWorkloads
.
Total
,
TotalFormat
=
detailItemWorkloads
.
TotalFormat
,
Items
=
detailItemWorkloads
.
Item
s
});
response
.
DetailItems
.
Add
(
new
DeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
Total
=
account
.
PerforTotal
??
0
});
#
endregion
}
...
...
@@ -379,13 +375,24 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
}
}
#
endregion
// 应用用户设置的显示规则
foreach
(
var
detail
in
response
.
DetailItems
)
RecursionUseSettings
(
response
.
DetailItems
,
settings
,
userInfo
.
IsSecondAdmin
,
allot
);
response
.
DetailItems
=
response
.
DetailItems
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
return
response
;
}
#
region
科室详情辅助方法
void
RecursionUseSettings
(
List
<
DeptDetailItem
>
detailItems
,
List
<
UniteDeptDetailItem
>
userDetailItems
,
bool
isSecondAdmin
,
per_allot
allot
)
{
detailItems
??=
new
List
<
DeptDetailItem
>();
userDetailItems
??=
new
List
<
UniteDeptDetailItem
>();
foreach
(
var
detail
in
detailItems
)
{
detail
.
Display
=
true
;
var
cfg
=
setting
s
.
FirstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
var
cfg
=
userDetailItem
s
.
FirstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
// 部分左右侧显示全部格式化
detail
.
TotalFormat
=
ValueFormating
(
detail
.
Total
,
cfg
?.
Format
);
// 只对右侧设置排序
...
...
@@ -399,17 +406,45 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
}
else
if
(
cfg
?.
Display
==
UniteDept
.
DisplayRule
.
下发显示
.
ToString
())
{
if
(
userInfo
.
I
sSecondAdmin
&&
allot
.
States
!=
(
int
)
AllotStates
.
绩效下发
&&
allot
.
States
!=
(
int
)
AllotStates
.
归档
)
if
(
i
sSecondAdmin
&&
allot
.
States
!=
(
int
)
AllotStates
.
绩效下发
&&
allot
.
States
!=
(
int
)
AllotStates
.
归档
)
{
detail
.
Display
=
false
;
}
}
detail
.
Title
=
string
.
IsNullOrEmpty
(
cfg
?.
Alias
)
?
detail
.
Title
:
cfg
?.
Alias
;
// Item里面需要隐藏和格式化的操作
if
(
detail
.
Children
?.
Any
()
!=
true
&&
detail
.
Items
?.
Any
()
==
true
&&
cfg
?.
Children
?.
Any
()
==
true
)
{
foreach
(
var
item
in
cfg
.
Children
)
{
foreach
(
var
row
in
detail
.
Items
)
{
if
(!
string
.
IsNullOrEmpty
(
item
.
Format
))
{
if
(
row
.
ContainsKey
(
item
.
Title
)
&&
decimal
.
TryParse
(
row
[
item
.
Title
]?.
ToString
()
??
""
,
out
decimal
value
))
{
row
.
AddOrUpdate
(
item
.
Title
,
ValueFormating
(
value
,
item
.
Format
));
}
}
if
(
item
.
Display
==
UniteDept
.
DisplayRule
.
始终隐藏
.
ToString
())
{
row
.
Remove
(
item
.
Title
);
}
else
if
(
item
.
Display
==
UniteDept
.
DisplayRule
.
下发显示
.
ToString
())
{
if
(
isSecondAdmin
&&
allot
.
States
!=
(
int
)
AllotStates
.
绩效下发
&&
allot
.
States
!=
(
int
)
AllotStates
.
归档
)
{
row
.
Remove
(
item
.
Title
);
}
}
}
}
}
response
.
DetailItems
=
response
.
DetailItems
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
return
response
;
RecursionUseSettings
(
detail
.
Children
,
cfg
?.
Children
,
isSecondAdmin
,
allot
);
}
}
/// <summary>
/// 删除空白列
/// </summary>
...
...
@@ -498,6 +533,7 @@ private string BeautifulName(string sheetName)
sheetName
=
sheetName
!=
"科室考核"
?
sheetName
.
Replace
(
"科室绩效"
,
""
).
Replace
(
"科室"
,
""
)
:
sheetName
;
return
sheetName
;
}
#
endregion
/// <summary>
/// 查询显示设置内容
...
...
@@ -518,9 +554,73 @@ public List<UniteDeptDetailItem> GetUniteDeptDetailSetting(int allotId)
var
response
=
new
List
<
UniteDeptDetailItem
>()
{
};
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"业绩分值 * 预算比例"
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
#
region
临床科室收入
List
<
UniteDeptDetailItem
>
lcUniteDepts
=
new
List
<
UniteDeptDetailItem
>();
{
var
leftSheetTypes
=
new
List
<
int
>
{
(
int
)
SheetType
.
Income
,
(
int
)
SheetType
.
OtherIncome
,
(
int
)
SheetType
.
Expend
,
};
foreach
(
var
sheetType
in
leftSheetTypes
)
{
foreach
(
var
sheet
in
persheet
.
Where
(
t
=>
t
.
SheetType
==
sheetType
).
OrderBy
(
w
=>
w
.
SheetName
))
{
var
sheetName
=
BeautifulName
(
sheet
.
SheetName
);
var
lcyj
=
new
UniteDeptDetailItem
{
Title
=
sheetName
,
Children
=
new
List
<
UniteDeptDetailItem
>()
};
lcyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"量化指标"
,
IsAllowRemark
=
false
});
lcyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"量化分值"
,
IsAllowRemark
=
false
});
lcyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"核算比例"
,
IsAllowRemark
=
false
});
lcyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"核算分值"
,
IsAllowRemark
=
false
});
lcUniteDepts
.
Add
(
lcyj
);
}
}
}
#
endregion
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩分值
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Children
=
lcUniteDepts
});
#
region
行政工勤
List
<
UniteDeptDetailItem
>
gqUniteDepts
=
new
List
<
UniteDeptDetailItem
>();
{
var
gqyj
=
new
UniteDeptDetailItem
{
Title
=
"行政工勤"
,
Children
=
new
List
<
UniteDeptDetailItem
>()
};
gqyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"工号"
,
IsAllowRemark
=
false
});
gqyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"姓名"
,
IsAllowRemark
=
false
});
gqyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"系数"
,
IsAllowRemark
=
false
});
gqyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"出勤"
,
IsAllowRemark
=
false
});
gqyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"其他绩效"
,
IsAllowRemark
=
false
});
gqyj
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"绩效合计"
,
IsAllowRemark
=
false
});
gqUniteDepts
.
Add
(
gqyj
);
var
gwxs
=
new
UniteDeptDetailItem
{
Title
=
"岗位系数"
,
Children
=
new
List
<
UniteDeptDetailItem
>()
};
gwxs
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"工号"
,
IsAllowRemark
=
false
});
gwxs
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"姓名"
,
IsAllowRemark
=
false
});
var
postSheet
=
persheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
PersonPostCoefficient
);
if
(
postSheet
!=
null
)
{
var
typeNames
=
basicData
?.
Where
(
w
=>
w
.
SheetID
==
postSheet
.
ID
&&
w
.
IsTotal
!=
1
).
Select
(
w
=>
w
.
TypeName
).
Distinct
();
foreach
(
var
item
in
typeNames
)
{
gwxs
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
item
,
IsAllowRemark
=
false
});
}
}
gwxs
.
Children
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"合计"
,
IsAllowRemark
=
false
});
gqUniteDepts
.
Add
(
gwxs
);
}
#
endregion
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
业绩绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"业绩分值 * 预算比例"
,
Children
=
gqUniteDepts
});
#
region
工作量
List
<
UniteDeptDetailItem
>
gzlUniteDepts
=
new
List
<
UniteDeptDetailItem
>();
{
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"项目"
,
IsAllowRemark
=
false
});
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"数量"
,
IsAllowRemark
=
false
});
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"系数"
,
IsAllowRemark
=
false
});
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"药占比系数"
,
IsAllowRemark
=
false
});
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"CMI系数"
,
IsAllowRemark
=
false
});
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"工作量倾斜"
,
IsAllowRemark
=
false
});
gzlUniteDepts
.
Add
(
new
UniteDeptDetailItem
{
Title
=
"金额"
,
IsAllowRemark
=
false
});
}
#
endregion
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
工作量绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Children
=
gzlUniteDepts
});
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核前绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
});
// 只显示合计没有详情
response
.
Add
(
new
UniteDeptDetailItem
{
Title
=
UniteDept
.
Title
.
考核后绩效
.
ToString
(),
Format
=
UniteDept
.
Format
.
整数
.
ToString
(),
Remark
=
"考核前绩效 × 考核得分率 + 药占比奖罚 + 材料占比奖罚 + 医院奖罚 + 考核后其他绩效"
});
...
...
@@ -552,7 +652,7 @@ public List<UniteDeptDetailItem> GetUniteDeptDetailSetting(int allotId)
foreach
(
var
post
in
postDatas
.
GroupBy
(
t
=>
new
{
t
.
TypeName
}))
{
if
(
ignore
.
Contains
(
post
.
Key
.
TypeName
))
continue
;
items
.
Add
(
new
UniteDeptDetailItem
{
Title
=
post
.
Key
.
TypeName
});
items
.
Add
(
new
UniteDeptDetailItem
{
Title
=
post
.
Key
.
TypeName
,
IsAllowRemark
=
false
});
}
detail
.
Children
=
items
;
}
...
...
@@ -564,52 +664,69 @@ public List<UniteDeptDetailItem> GetUniteDeptDetailSetting(int allotId)
?
new
List
<
UniteDeptDetailItem
>()
:
JsonHelper
.
Deserialize
<
List
<
UniteDeptDetailItem
>>(
entity
.
Settings
);
InitRecursion
(
response
,
null
);
#
region
排序
var
enumItems
=
EnumHelper
.
GetItems
<
UniteDept
.
Title
>();
foreach
(
var
detail
in
response
)
{
detail
.
Id
=
SnowFlake
.
GetInstance
().
GetLongId
().
ToString
();
detail
.
Display
=
UniteDept
.
DisplayRule
.
始终显示
.
ToString
();
detail
.
Children
??=
new
List
<
UniteDeptDetailItem
>();
foreach
(
var
item
in
detail
.
Children
)
{
item
.
Id
=
SnowFlake
.
GetInstance
().
GetLongId
().
ToString
();
item
.
ParentId
=
detail
.
Id
;
item
.
Display
=
UniteDept
.
DisplayRule
.
始终显示
.
ToString
();
}
var
cfg
=
enumItems
.
FirstOrDefault
(
w
=>
w
.
Name
==
detail
.
Title
);
// 只对右侧设置排序
detail
.
Sort
=
cfg
==
null
?
detail
.
Sort
:
cfg
.
Value
;
}
#
endregion
// 读取数据库保存内容
var
temp1
=
cofDeptDetail
.
FirstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
if
(
temp1
!=
null
)
GetRecursionUseSettings
(
response
,
cofDeptDetail
);
response
=
response
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
return
response
;
}
#
region
递归设置
void
GetRecursionUseSettings
(
List
<
UniteDeptDetailItem
>
initDetailItems
,
List
<
UniteDeptDetailItem
>
userDetailItems
)
{
detail
.
Remark
=
temp1
.
Remark
;
detail
.
Format
=
temp1
.
Format
;
detail
.
Sort
=
temp1
.
Sort
;
detail
.
Display
=
temp1
.
Display
;
foreach
(
var
item
in
detail
.
Children
)
initDetailItems
??=
new
List
<
UniteDeptDetailItem
>();
userDetailItems
??=
new
List
<
UniteDeptDetailItem
>();
foreach
(
var
detail
in
initDetailItems
)
{
var
temp2
=
temp1
.
Children
.
FirstOrDefault
(
w
=>
w
.
Title
==
item
.
Title
);
if
(
temp2
!=
null
)
var
temp
=
userDetailItems
.
FirstOrDefault
(
w
=>
w
.
Title
==
detail
.
Title
);
if
(
temp
!=
null
)
{
item
.
Remark
=
temp2
.
Remark
;
item
.
Format
=
temp2
.
Format
;
item
.
Sort
=
temp2
.
Sort
;
item
.
Display
=
temp2
.
Display
;
detail
.
Alias
=
temp
.
Alias
;
detail
.
Remark
=
temp
.
Remark
;
detail
.
Format
=
temp
.
Format
;
detail
.
Sort
=
temp
.
Sort
;
detail
.
Display
=
temp
.
Display
;
GetRecursionUseSettings
(
detail
.
Children
,
temp
.
Children
);
}
}
foreach
(
var
item2
in
temp1
.
Children
)
foreach
(
var
item
in
userDetailItems
)
{
if
(!
detail
.
Children
.
Any
(
w
=>
w
.
Title
==
item2
.
Title
))
detail
.
Children
.
Add
(
item2
);
}
if
(!
initDetailItems
.
Any
(
w
=>
w
.
Title
==
item
.
Title
))
initDetailItems
.
Add
(
item
);
}
}
response
=
response
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
return
response
;
/// <summary>
/// 初始化显示配置信息
/// </summary>
/// <param name="detailItems"></param>
/// <param name="parentId"></param>
void
InitRecursion
(
List
<
UniteDeptDetailItem
>
detailItems
,
string
parentId
)
{
foreach
(
var
detail
in
detailItems
)
{
detail
.
Id
=
SnowFlake
.
GetInstance
().
GetLongId
().
ToString
();
detail
.
ParentId
=
parentId
;
detail
.
Display
=
UniteDept
.
DisplayRule
.
始终显示
.
ToString
();
detail
.
IsAllowAlias
=
string
.
IsNullOrWhiteSpace
(
parentId
);
detail
.
Children
??=
new
List
<
UniteDeptDetailItem
>();
InitRecursion
(
detail
.
Children
,
detail
.
Id
);
}
}
#
endregion
public
void
SaveUniteDeptDetailSetting
(
int
allotId
,
List
<
UniteDeptDetailItem
>
request
)
{
var
entity
=
_perforCofDeptDetailRepository
.
GetEntity
(
w
=>
w
.
AllotId
==
allotId
);
...
...
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