Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
Laisi_AutoMES2
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiawei.su
Laisi_AutoMES2
Commits
a6d6c689
Commit
a6d6c689
authored
Jan 23, 2021
by
xin.yang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug
parent
ec6ca0ab
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
203 additions
and
14 deletions
+203
-14
FixtureToolsController.cs
...r/Apis/Siger.ApiACC/Controllers/FixtureToolsController.cs
+108
-4
FixtureTools.cs
.../Siger.Middlelayer.Utility/ImportEntities/FixtureTools.cs
+67
-0
AutomationFixtureToolsCategoryRepository.cs
.../Repositories/AutomationFixtureToolsCategoryRepository.cs
+13
-4
AutomationFixtureToolsRepository.cs
...pository/Repositories/AutomationFixtureToolsRepository.cs
+13
-4
IAutomationFixtureToolsCategoryRepository.cs
...es/Interface/IAutomationFixtureToolsCategoryRepository.cs
+1
-1
IAutomationFixtureToolsRepository.cs
...positories/Interface/IAutomationFixtureToolsRepository.cs
+1
-1
No files found.
Server/Apis/Siger.ApiACC/Controllers/FixtureToolsController.cs
View file @
a6d6c689
...
...
@@ -14,6 +14,11 @@ using Siger.Middlelayer.Repository;
using
Siger.Middlelayer.Repository.Extensions
;
using
System.Linq
;
using
Siger.Middlelayer.Repository.Entities
;
using
Siger.Middlelayer.Common.Helpers
;
using
Siger.Middlelayer.Utility.Helpers
;
using
Siger.Middlelayer.Utility.ImportEntities
;
using
System.IO
;
using
Siger.Middlelayer.Log
;
namespace
Siger.ApiACC.Controllers
{
...
...
@@ -31,9 +36,9 @@ namespace Siger.ApiACC.Controllers
_toolsRepository
=
toolsRepository
;
}
public
IActionResult
GetPageList
(
string
category
,
string
code
,
string
name
,
string
state
,
int
page
,
int
pagesize
)
public
IActionResult
GetPageList
(
string
category
,
string
code
,
string
name
,
string
state
,
int
page
,
int
pagesize
,
string
toexcel
)
{
var
data
=
_toolsRepository
.
GetPagedList
(
category
.
ToInt
(),
code
,
name
,
string
.
IsNullOrEmpty
(
state
)
?
-
1
:
state
.
ToInt
(),
ProjectId
,
page
,
pagesize
);
var
data
=
_toolsRepository
.
GetPagedList
(
category
.
ToInt
(),
code
,
name
,
string
.
IsNullOrEmpty
(
state
)
?
-
1
:
state
.
ToInt
(),
ProjectId
,
page
,
pagesize
,
toexcel
);
var
list
=
new
List
<
ResponseFixtureTools
>();
var
categorys
=
_toolsCategoryRepository
.
GetList
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
status
==
(
int
)
RowState
.
Valid
).
ToList
();
foreach
(
var
item
in
data
.
Data
)
...
...
@@ -44,9 +49,62 @@ namespace Siger.ApiACC.Controllers
item
.
categoryids
=
cateIds
;
list
.
Add
(
item
);
}
if
(
toexcel
.
ToInt
()
==
1
)
{
return
ExportExcel
(
data
.
Data
);
}
return
new
PagedObjectResult
(
list
,
data
.
Total
,
page
,
pagesize
);
}
private
IActionResult
ExportExcel
(
IEnumerable
<
ResponseFixtureTools
>
data
)
{
var
rootDir
=
FileSystemHelper
.
GetPhysicalFolders
(
FileSystemHelper
.
CommonFileSetting
.
PhysicalFolder
,
FileSystemHelper
.
ExportFileName
);
if
(!
data
.
Any
())
{
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
var
dataList
=
new
List
<
FixtureToolsTemplate
>();
foreach
(
var
item
in
data
)
{
dataList
.
Add
(
new
FixtureToolsTemplate
{
Catgeory
=
item
.
category
,
Name
=
item
.
name
,
Manage
=
item
.
managetype
==
1
?
"单件"
:
"批次"
,
PartNumber
=
item
.
partnumber
,
Code
=
item
.
code
,
Specfication
=
item
.
specification
,
Number
=
item
.
number
.
ToString
(),
Status
=
item
.
status
==
1
?
"可用"
:
"停用"
,
Remark
=
item
.
remark
});
}
if
(
dataList
.
Any
())
{
EpPlusExcelHelper
<
FixtureToolsTemplate
>
helper
=
null
;
try
{
helper
=
new
EpPlusExcelHelper
<
FixtureToolsTemplate
>();
var
temporaryFileName
=
$"工装台账_FixtureToolsData_
{
DateTime
.
Now
:
yyyyMMddHHmmss
}
.xlsx"
;
helper
.
GenerateExcel
(
dataList
,
Path
.
Combine
(
rootDir
,
temporaryFileName
));
return
new
ObjectResult
(
$"
{
FileSystemHelper
.
CommonFileSetting
.
RequestPath
}
/
{
FileSystemHelper
.
ExportFileName
}
/
{
temporaryFileName
}
"
);
}
catch
(
Exception
e
)
{
Logger
.
WriteLineError
(
"Export Fixture Tools Data failed, error:"
+
e
);
throw
new
BadRequestException
(
RequestEnum
.
ExportFailed
);
}
finally
{
helper
?.
Dispose
();
}
}
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
private
IEnumerable
<
siger_automation_fixture_tools_category
>
GetParentCategoryList
(
string
parentId
,
List
<
siger_automation_fixture_tools_category
>
sections
)
{
var
query
=
from
c
in
sections
where
c
.
guid
==
parentId
select
c
;
...
...
@@ -194,12 +252,58 @@ namespace Siger.ApiACC.Controllers
[
HttpGet
]
public
IActionResult
GetCategoryPageList
(
string
id
,
int
page
,
int
pagesize
)
public
IActionResult
GetCategoryPageList
(
string
id
,
int
page
,
int
pagesize
,
string
toexcel
=
""
)
{
var
data
=
_toolsCategoryRepository
.
GetPagedList
(
id
.
ToInt
(),
ProjectId
,
page
,
pagesize
);
var
data
=
_toolsCategoryRepository
.
GetPagedList
(
id
.
ToInt
(),
ProjectId
,
page
,
pagesize
,
toexcel
);
if
(
toexcel
.
ToInt
()
==
1
)
{
return
ExportCategoryExcel
(
data
.
Data
);
}
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
}
private
IActionResult
ExportCategoryExcel
(
IEnumerable
<
ResponseFixtureToolsCategory
>
data
)
{
var
rootDir
=
FileSystemHelper
.
GetPhysicalFolders
(
FileSystemHelper
.
CommonFileSetting
.
PhysicalFolder
,
FileSystemHelper
.
ExportFileName
);
if
(!
data
.
Any
())
{
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
var
dataList
=
new
List
<
FixtureToolsCategoryTemplate
>();
foreach
(
var
item
in
data
)
{
dataList
.
Add
(
new
FixtureToolsCategoryTemplate
{
Fixture
=
item
.
name
,
Parent
=
item
.
parentname
});
}
if
(
dataList
.
Any
())
{
EpPlusExcelHelper
<
FixtureToolsCategoryTemplate
>
helper
=
null
;
try
{
helper
=
new
EpPlusExcelHelper
<
FixtureToolsCategoryTemplate
>();
var
temporaryFileName
=
$"工装类型_FixtureToolsCategoryData_
{
DateTime
.
Now
:
yyyyMMddHHmmss
}
.xlsx"
;
helper
.
GenerateExcel
(
dataList
,
Path
.
Combine
(
rootDir
,
temporaryFileName
));
return
new
ObjectResult
(
$"
{
FileSystemHelper
.
CommonFileSetting
.
RequestPath
}
/
{
FileSystemHelper
.
ExportFileName
}
/
{
temporaryFileName
}
"
);
}
catch
(
Exception
e
)
{
Logger
.
WriteLineError
(
"Export Fixture Tools Category Data failed, error:"
+
e
);
throw
new
BadRequestException
(
RequestEnum
.
ExportFailed
);
}
finally
{
helper
?.
Dispose
();
}
}
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
[
HttpPost
]
public
IActionResult
AddCategory
([
FromBody
]
RequestAddFixtureToolsCategory
req
)
{
...
...
Server/Common/Siger.Middlelayer.Utility/ImportEntities/FixtureTools.cs
0 → 100644
View file @
a6d6c689
using
Siger.Middlelayer.Utility.ExcelImport
;
namespace
Siger.Middlelayer.Utility.ImportEntities
{
public
class
FixtureToolsCategoryTemplate
:
ImportBase
{
[
ExcelColumn
(
"工装类型*"
)]
public
string
Fixture
{
get
;
set
;
}
[
ExcelColumn
(
"上级类型"
)]
public
string
Parent
{
get
;
set
;
}
}
public
class
FixtureToolsTemplate
:
ImportBase
{
[
ExcelColumn
(
"工装类型*"
)]
public
string
Catgeory
{
get
;
set
;
}
[
ExcelColumn
(
"管理类型*"
)]
public
string
Manage
{
get
;
set
;
}
[
ExcelColumn
(
"工装名称*"
)]
public
string
Name
{
get
;
set
;
}
[
ExcelColumn
(
"工装料号*"
)]
public
string
PartNumber
{
get
;
set
;
}
[
ExcelColumn
(
"工装编号*"
)]
public
string
Code
{
get
;
set
;
}
[
ExcelColumn
(
"规格型号*"
)]
public
string
Specfication
{
get
;
set
;
}
[
ExcelColumn
(
"数量*"
)]
public
string
Number
{
get
;
set
;
}
[
ExcelColumn
(
"状态*"
)]
public
string
Status
{
get
;
set
;
}
[
ExcelColumn
(
"备注"
)]
public
string
Remark
{
get
;
set
;
}
}
public
class
FixtureToolsProductTemplate
:
ImportBase
{
[
ExcelColumn
(
"工装编号*"
)]
public
string
FixtureTool
{
get
;
set
;
}
[
ExcelColumn
(
"产品名称*"
)]
public
string
Product
{
get
;
set
;
}
[
ExcelColumn
(
"备注"
)]
public
string
Remark
{
get
;
set
;
}
}
public
class
FixtureToolsAssmeblyTemplate
:
ImportBase
{
[
ExcelColumn
(
"父工装编号*"
)]
public
string
ParentFixtureTool
{
get
;
set
;
}
[
ExcelColumn
(
"子工装编号*"
)]
public
string
FixtureTool
{
get
;
set
;
}
[
ExcelColumn
(
"备注"
)]
public
string
Remark
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationFixtureToolsCategoryRepository.cs
View file @
a6d6c689
...
...
@@ -7,6 +7,7 @@ using Siger.Middlelayer.AccRepository.Entities;
using
Siger.Middlelayer.AccRepository.Repositories.Interface
;
using
Siger.Middlelayer.AccRepository.Response
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Common.Extensions
;
using
Siger.Middlelayer.Repository.Data.Acc
;
using
Siger.Middlelayer.Repository.Paged
;
...
...
@@ -20,7 +21,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
_context
=
context
;
}
public
IPagedCollectionResult
<
ResponseFixtureToolsCategory
>
GetPagedList
(
int
id
,
int
projectid
,
int
page
,
int
pagesize
)
public
IPagedCollectionResult
<
ResponseFixtureToolsCategory
>
GetPagedList
(
int
id
,
int
projectid
,
int
page
,
int
pagesize
,
string
toexcel
=
""
)
{
Expression
<
Func
<
ResponseFixtureToolsCategory
,
bool
>>
FunNum
=
f
=>
true
;
var
query
=
from
q
in
_context
.
siger_automation_fixture_tools_category
...
...
@@ -42,9 +43,17 @@ namespace Siger.Middlelayer.AccRepository.Repositories
{
FunNum
=
q
=>
q
.
id
==
id
;
}
var
entities
=
query
.
Where
(
FunNum
).
OrderBy
(
q
=>
q
.
parentid
).
OrderBy
(
q
=>
q
.
createtime
).
Skip
((
page
-
1
)
*
pagesize
).
Take
(
pagesize
).
AsNoTracking
().
ToList
();
var
totalCount
=
query
.
Where
(
FunNum
).
Count
();
return
new
PagedCollectionResult
<
ResponseFixtureToolsCategory
>(
entities
,
totalCount
);
if
(
toexcel
.
ToInt
()
==
1
)
{
var
entities
=
query
.
Where
(
FunNum
).
OrderBy
(
q
=>
q
.
parentid
).
OrderBy
(
q
=>
q
.
createtime
).
AsNoTracking
().
ToList
();
return
new
PagedCollectionResult
<
ResponseFixtureToolsCategory
>(
entities
,
entities
.
Count
);
}
else
{
var
entities
=
query
.
Where
(
FunNum
).
OrderBy
(
q
=>
q
.
parentid
).
OrderBy
(
q
=>
q
.
createtime
).
Skip
((
page
-
1
)
*
pagesize
).
Take
(
pagesize
).
AsNoTracking
().
ToList
();
var
totalCount
=
query
.
Where
(
FunNum
).
Count
();
return
new
PagedCollectionResult
<
ResponseFixtureToolsCategory
>(
entities
,
totalCount
);
}
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationFixtureToolsRepository.cs
View file @
a6d6c689
...
...
@@ -7,6 +7,7 @@ using Siger.Middlelayer.AccRepository.Entities;
using
Siger.Middlelayer.AccRepository.Repositories.Interface
;
using
Siger.Middlelayer.AccRepository.Response
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Common.Extensions
;
using
Siger.Middlelayer.Repository.Data.Acc
;
using
Siger.Middlelayer.Repository.Extensions
;
using
Siger.Middlelayer.Repository.Paged
;
...
...
@@ -22,7 +23,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
}
public
IPagedCollectionResult
<
ResponseFixtureTools
>
GetPagedList
(
int
category
,
string
code
,
string
name
,
int
state
,
int
projectid
,
int
page
,
int
pagesize
)
int
projectid
,
int
page
,
int
pagesize
,
string
toexcel
=
""
)
{
var
query
=
from
q
in
_context
.
siger_automation_fixture_tools
join
p
in
_context
.
siger_automation_fixture_tools_category
on
q
.
category
equals
p
.
guid
...
...
@@ -70,9 +71,17 @@ namespace Siger.Middlelayer.AccRepository.Repositories
stateExpression
=
q
=>
q
.
status
==
state
;
}
var
expression
=
categoryExpression
.
And
(
codeExpression
).
And
(
nameExpression
).
And
(
stateExpression
);
var
entities
=
query
.
Where
(
expression
).
OrderByDescending
(
q
=>
q
.
id
).
Skip
((
page
-
1
)
*
pagesize
).
Take
(
pagesize
).
AsNoTracking
().
ToList
();
var
totalCount
=
query
.
Where
(
expression
).
Count
();
return
new
PagedCollectionResult
<
ResponseFixtureTools
>(
entities
,
totalCount
);
if
(
toexcel
.
ToInt
()
==
1
)
{
var
entities
=
query
.
Where
(
expression
).
OrderByDescending
(
q
=>
q
.
id
).
AsNoTracking
().
ToList
();
return
new
PagedCollectionResult
<
ResponseFixtureTools
>(
entities
,
entities
.
Count
);
}
else
{
var
entities
=
query
.
Where
(
expression
).
OrderByDescending
(
q
=>
q
.
id
).
Skip
((
page
-
1
)
*
pagesize
).
Take
(
pagesize
).
AsNoTracking
().
ToList
();
var
totalCount
=
query
.
Where
(
expression
).
Count
();
return
new
PagedCollectionResult
<
ResponseFixtureTools
>(
entities
,
totalCount
);
}
}
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/Interface/IAutomationFixtureToolsCategoryRepository.cs
View file @
a6d6c689
...
...
@@ -7,6 +7,6 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface
{
public
interface
IAutomationFixtureToolsCategoryRepository
:
IAccRepositoryBase
<
siger_automation_fixture_tools_category
>
{
IPagedCollectionResult
<
ResponseFixtureToolsCategory
>
GetPagedList
(
int
id
,
int
projectid
,
int
page
,
int
pagesize
);
IPagedCollectionResult
<
ResponseFixtureToolsCategory
>
GetPagedList
(
int
id
,
int
projectid
,
int
page
,
int
pagesize
,
string
toexcel
=
""
);
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/Interface/IAutomationFixtureToolsRepository.cs
View file @
a6d6c689
...
...
@@ -9,7 +9,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface
public
interface
IAutomationFixtureToolsRepository
:
IAccRepositoryBase
<
siger_automation_fixture_tools
>
{
IPagedCollectionResult
<
ResponseFixtureTools
>
GetPagedList
(
int
category
,
string
code
,
string
name
,
int
state
,
int
projectid
,
int
page
,
int
pagesize
);
int
projectid
,
int
page
,
int
pagesize
,
string
toexcel
=
""
);
IEnumerable
<
ResponseFixtureTools
>
GetDataList
(
int
categoryid
,
int
projectid
);
...
...
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