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
50ad63fe
Commit
50ad63fe
authored
Sep 29, 2019
by
李承祥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
保底配置修改-过滤重复数据
parent
6f0778d7
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
41 deletions
+52
-41
performance/Performance.Services/GuaranteeService.cs
+52
-41
No files found.
performance/Performance.Services/GuaranteeService.cs
View file @
50ad63fe
...
...
@@ -70,12 +70,15 @@ public List<GuaranteeResponse> GuaranTree(int allotId)
/// <returns></returns>
public
List
<
cof_guarantee
>
GuarantInsert
(
GuaranteeRequest
request
)
{
var
list
=
perforCofguaranteeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
request
.
AllotId
);
var
list
=
perforCofguaranteeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
request
.
AllotId
&&
t
.
UnitType
==
request
.
UnitType
);
if
(
list
!=
null
)
{
var
config
=
list
.
FirstOrDefault
(
t
=>
t
.
Priority
==
request
.
Priority
&&
t
.
UnitType
==
request
.
UnitType
&&
t
.
Target
!=
request
.
Target
);
var
config
=
list
.
FirstOrDefault
(
t
=>
t
.
Priority
==
request
.
Priority
);
if
(
list
.
FirstOrDefault
(
t
=>
t
.
Priority
==
request
.
Priority
)
!=
null
||
list
.
FirstOrDefault
(
t
=>
t
.
Target
==
request
.
Target
)
!=
null
)
throw
new
PerformanceException
(
$"[
{((
UnitType
)
request
.
UnitType
).
ToString
()}
]已存在优先级\"
{
config
.
Target
}
(
{
request
.
Priority
}
)\",请重新选择"
);
config
=
list
.
FirstOrDefault
(
t
=>
t
.
Target
==
request
.
Target
);
if
(
config
!=
null
)
throw
new
PerformanceException
(
"优先级无效,已存在
"
);
throw
new
PerformanceException
(
$"[
{((
UnitType
)
request
.
UnitType
).
ToString
()}
]已存在优先级\"
{
request
.
Target
}
(
{
config
.
Priority
}
)\",请重新选择
"
);
}
var
guaranteeList
=
new
List
<
cof_guarantee
>();
guaranteeList
.
AddRange
(
request
.
Source
.
Select
(
t
=>
new
cof_guarantee
{
Source
=
t
.
GValue
}));
...
...
@@ -102,47 +105,13 @@ public List<cof_guarantee> GuarantUpdate(GuaranteeRequest request)
var
guaranteeList
=
perforCofguaranteeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
guarantee
.
AllotId
&&
t
.
UnitType
==
guarantee
.
UnitType
&&
t
.
Target
==
guarantee
.
Target
);
if
(
guaranteeList
==
null
)
throw
new
PerformanceException
(
"提交数据无效"
);
#
region
添加
//a合并到b集合 过滤b集合中已存在的Source
var
filterList
=
perforCofguaranteeRepository
.
GetEntities
(
t
=>
t
.
AllotId
==
guarantee
.
AllotId
&&
t
.
UnitType
==
request
.
UnitType
&&
t
.
Target
==
request
.
Target
);
if
(
request
.
UnitType
!=
guarantee
.
UnitType
&&
filterList
!=
null
&&
filterList
.
Count
>
0
)
throw
new
PerformanceException
(
$"
{((
UnitType
)
request
.
UnitType
).
ToString
()}
已存在
{
request
.
Target
}
,请重新选择"
);
var
insertList
=
request
.
Source
.
Where
(
t
=>
t
.
GId
.
HasValue
&&
t
.
GId
==
0
&&
!
filterList
.
Select
(
g
=>
g
.
Source
).
Contains
(
t
.
GValue
)).
Select
(
t
=>
new
cof_guarantee
{
Source
=
t
.
GValue
}).
ToList
();
insertList
.
ForEach
(
t
=>
{
t
.
AllotId
=
request
.
AllotId
;
t
.
Priority
=
request
.
Priority
;
t
.
UnitType
=
request
.
UnitType
;
t
.
Target
=
request
.
Target
;
});
perforCofguaranteeRepository
.
AddRange
(
insertList
.
ToArray
());
#
endregion
#
region
修改、删除
var
delItem
=
new
List
<
int
>();
var
exist
=
request
.
Source
.
Where
(
t
=>
t
.
GId
.
HasValue
&&
t
.
GId
!=
0
).
Select
(
t
=>
t
.
GId
);
guaranteeList
.
ForEach
(
t
=>
{
if
(
exist
.
Contains
(
t
.
Id
))
t
.
Source
=
request
.
Source
.
FirstOrDefault
(
s
=>
s
.
GId
==
t
.
Id
).
GValue
;
else
delItem
.
Add
(
t
.
Id
);
//t.Priority = request.Priority;
t
.
UnitType
=
request
.
UnitType
;
t
.
Target
=
request
.
Target
;
});
if
(!
perforCofguaranteeRepository
.
UpdateRange
(
guaranteeList
.
ToArray
()))
throw
new
PerformanceException
(
"保存失败"
);
if
(
delItem
!=
null
&&
delItem
.
Count
()
>
0
)
perforCofguaranteeRepository
.
RemoveRange
(
guaranteeList
.
Where
(
t
=>
delItem
.
Contains
(
t
.
Id
)).
ToArray
());
#
endregion
if
(
request
.
UnitType
!=
guarantee
.
UnitType
&&
filterList
!=
null
&&
filterList
.
Count
>
0
)
throw
new
PerformanceException
(
$"[
{((
UnitType
)
request
.
UnitType
).
ToString
()}
]已存在\"
{
request
.
Target
}
\",请重新选择"
);
#
region
修改优先级
if
(
request
.
AllotId
==
guarantee
.
AllotId
&&
request
.
Target
==
guarantee
.
Target
&&
request
.
UnitType
==
guarantee
.
UnitType
&&
request
.
Priority
!=
guarantee
.
Priority
)
{
int
flag
=
guaranteeList
.
FirstOrDefault
().
Priority
.
Value
;
if
(
flag
>
request
.
Priority
)
{
...
...
@@ -170,6 +139,48 @@ public List<cof_guarantee> GuarantUpdate(GuaranteeRequest request)
perforCofguaranteeRepository
.
UpdateRange
(
filterList
.
ToArray
());
}
}
}
else
{
if
(
filterList
!=
null
&&
filterList
.
Any
())
{
filterList
?.
ForEach
(
t
=>
{
t
.
Priority
=
request
.
Priority
;
});
perforCofguaranteeRepository
.
UpdateRange
(
filterList
.
ToArray
());
}
}
#
endregion
#
region
添加
var
insertList
=
request
.
Source
.
Where
(
t
=>
t
.
GId
.
HasValue
&&
t
.
GId
==
0
).
Select
(
t
=>
new
cof_guarantee
{
Source
=
t
.
GValue
}).
ToList
();
insertList
.
ForEach
(
t
=>
{
t
.
AllotId
=
request
.
AllotId
;
t
.
Priority
=
request
.
Priority
;
t
.
UnitType
=
request
.
UnitType
;
t
.
Target
=
request
.
Target
;
});
perforCofguaranteeRepository
.
AddRange
(
insertList
.
ToArray
());
#
endregion
#
region
修改、删除
var
delItem
=
new
List
<
int
>();
var
exist
=
request
.
Source
.
Where
(
t
=>
t
.
GId
.
HasValue
&&
t
.
GId
!=
0
).
Select
(
t
=>
t
.
GId
);
guaranteeList
.
ForEach
(
t
=>
{
if
(
exist
.
Contains
(
t
.
Id
)
&&
!
filterList
.
Select
(
s
=>
s
.
Source
).
Contains
(
t
.
Source
))
t
.
Source
=
request
.
Source
.
FirstOrDefault
(
s
=>
s
.
GId
==
t
.
Id
).
GValue
;
else
delItem
.
Add
(
t
.
Id
);
t
.
Priority
=
request
.
Priority
;
t
.
UnitType
=
request
.
UnitType
;
t
.
Target
=
request
.
Target
;
});
if
(!
perforCofguaranteeRepository
.
UpdateRange
(
guaranteeList
.
ToArray
()))
throw
new
PerformanceException
(
"保存失败"
);
if
(
delItem
!=
null
&&
delItem
.
Count
()
>
0
)
perforCofguaranteeRepository
.
RemoveRange
(
guaranteeList
.
Where
(
t
=>
delItem
.
Contains
(
t
.
Id
)).
ToArray
());
#
endregion
guaranteeList
.
AddRange
(
insertList
);
...
...
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