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
ad0b828a
Commit
ad0b828a
authored
Jan 23, 2021
by
yiyu.li
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://test.siger-data.com:9000/jiawei.su/Laisi_AutoMES2
parents
38f5f173
9f261137
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
472 additions
and
131 deletions
+472
-131
associateProduct.vue
Html/src/view/fms/associate/associateProduct.vue
+0
-6
accountInfo.vue
Html/src/view/fms/config/accountInfo.vue
+0
-6
storageInfoQuery.vue
Html/src/view/wms/whStatusQuery/storageInfoQuery.vue
+333
-78
AutomationLocationController.cs
.../Siger.ApiACC/Controllers/AutomationLocationController.cs
+20
-4
AutomationOperateController.cs
...s/Siger.ApiACC/Controllers/AutomationOperateController.cs
+23
-9
FixtureToolsAssemblyController.cs
...iger.ApiACC/Controllers/FixtureToolsAssemblyController.cs
+55
-16
FixtureToolsProductController.cs
...Siger.ApiACC/Controllers/FixtureToolsProductController.cs
+19
-1
siger_automation_fixture_tools_assembly.cs
...itory/Entities/siger_automation_fixture_tools_assembly.cs
+0
-1
siger_automation_task_list.cs
...ayer.AccRepository/Entities/siger_automation_task_list.cs
+5
-4
AutomationFixtureToolsAssemblyRepository.cs
.../Repositories/AutomationFixtureToolsAssemblyRepository.cs
+2
-1
AutomationFixtureToolsProductRepository.cs
...y/Repositories/AutomationFixtureToolsProductRepository.cs
+2
-1
AutomationLocationRepository.cs
...ccRepository/Repositories/AutomationLocationRepository.cs
+3
-1
FixtureToolsCategory.cs
...iddlelayer.AccRepository/Response/FixtureToolsCategory.cs
+4
-0
ResponseAutomationLocation.cs
...ayer.AccRepository/Response/ResponseAutomationLocation.cs
+3
-0
DB.script
Server/Infrastructure/Script/DB.script
+3
-3
No files found.
Html/src/view/fms/associate/associateProduct.vue
View file @
ad0b828a
...
...
@@ -255,12 +255,6 @@ export default {
filename
:
''
,
//文件名称
fileurl
:
''
,
//文件路径
UploadAction
:
this
.
axios
.
publicPath
+
"config/upload/UploadImage"
,
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
sign
:
localStorage
.
getItem
(
"sign"
),
},
spinShow
:
false
,
}
},
...
...
Html/src/view/fms/config/accountInfo.vue
View file @
ad0b828a
...
...
@@ -289,12 +289,6 @@ export default {
filename
:
''
,
//文件名称
fileurl
:
''
,
//文件路径
UploadAction
:
this
.
axios
.
publicPath
+
"config/upload/UploadImage"
,
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
timestamp
:
localStorage
.
getItem
(
"timestamp"
),
nonce
:
localStorage
.
getItem
(
"nonce"
),
sign
:
localStorage
.
getItem
(
"sign"
),
},
spinShow
:
false
,
}
},
...
...
Html/src/view/wms/whStatusQuery/storageInfoQuery.vue
View file @
ad0b828a
...
...
@@ -14,19 +14,12 @@
</div>
<div
class=
"filter"
>
<label>
{{
$t
(
5500316
)
}}
:
</label>
<Select
v-model=
"storageid"
label-in-value
clearable
filterable
filter-by-label
class=
"searchSelect"
>
<Option
v-for=
"(item,index) in storageList"
:value=
"item.id"
:key=
"index"
:label=
"item.name"
>
{{
item
.
name
}}
</Option>
</Select>
<Cascader
class=
"searchSelect"
:data=
"storageTree"
clearable
change-on-select
@
on-change=
"changeStorage"
></Cascader>
</div>
<div
class=
"searchBtn"
>
<Button
type=
"primary"
class=
"twoWord"
icon=
"ios-search"
@
click=
"tosearch()"
>
{{
$t
(
1001
)
}}
</Button>
<Button
type=
"success"
class=
"twoWord"
icon=
"md-add-circle"
@
click=
"add()"
>
{{
$t
(
'1002'
)
}}
</Button>
<
!--
<
Button
type=
"warning"
class=
"twoWord"
icon=
"ios-create-outline"
@
click=
"edit()"
>
{{
$t
(
'1003'
)
}}
</Button>
<Button
type=
"warning"
class=
"twoWord"
icon=
"ios-create-outline"
@
click=
"edit()"
>
{{
$t
(
'1003'
)
}}
</Button>
<Button
type=
"error"
class=
"twoWord intervalRight"
icon=
"md-close-circle"
@
click=
"dele()"
>
{{
$t
(
1004
)
}}
</Button>
<Button
type=
"primary"
class=
"fourWord"
icon=
"md-download"
@
click=
"loadexcel()"
>
{{
$t
(
'1005'
)
}}
</Button>
<Upload
...
...
@@ -47,7 +40,7 @@
icon=
"md-cloud-upload"
>
{{
$t
(
'1006'
)
}}
</Button>
</Upload>
<Button
type=
"primary"
class=
"fourWord"
icon=
"ios-cloud-download"
@
click=
"
Export()"
>
{{
$t
(
'1007'
)
}}
</Button>
--
>
<Button
type=
"primary"
class=
"fourWord"
icon=
"ios-cloud-download"
@
click=
"
search(1)"
>
{{
$t
(
'1007'
)
}}
</Button
>
</div>
</div>
<div
class=
"divborder newTableDiv"
>
...
...
@@ -95,17 +88,9 @@
</Select>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
{{
$t
(
5500316
)
}}
:
</label>
<Select
v-model=
"addstorageid"
label-in-value
clearable
filterable
filter-by-label
class=
"searchSelect"
>
<Option
v-for=
"(item,index) in storageList1"
:value=
"item.id"
:key=
"index"
:label=
"item.name"
>
{{
item
.
name
}}
</Option>
</Select>
<label><i>
*
</i>
{{
$t
(
5500316
)
}}
:
</label>
<Cascader
class=
"searchSelect"
:data=
"addstorageTree"
v-model=
"addstorageList"
clearable
change-on-select
@
on-change=
"changeStorage1"
></Cascader>
</div>
<div
class=
"filter"
>
<label><i>
*
</i>
工装类型:
</label>
<Cascader
class=
"searchSelect"
:data=
"frockTypeTree"
v-model=
"parentType"
change-on-select
@
on-change=
"changeFrockType1"
></Cascader>
...
...
@@ -161,7 +146,7 @@ export default {
whdata
:[],
//仓库列表
warehouseid
:
""
,
//仓库id
//储位
storage
List
:[],
storage
Tree
:[],
storageid
:
""
,
//储位id
//列表
...
...
@@ -183,47 +168,61 @@ export default {
},
{
title
:
'仓库名称'
,
key
:
'wa
rehouse_nam
e'
key
:
'wa
vehous
e'
},
{
title
:
'储位信息'
,
key
:
'
storage_info
'
key
:
'
location
'
},
{
title
:
'储位ID'
,
key
:
'
storage_
id'
key
:
'
location
id'
},
{
title
:
'工装类别'
,
key
:
'
frock_type
'
key
:
'
category
'
},
{
title
:
'工装编号'
,
key
:
'
frock_
code'
key
:
'code'
},
{
title
:
'工装名称'
,
key
:
'f
rock_name
'
key
:
'f
ixturetool
'
},
{
title
:
'工装规格'
,
key
:
'
frock_spec
'
key
:
'
specfication
'
},
{
title
:
'工件编号'
,
key
:
'
workpiece_code
'
key
:
'
sn
'
},
{
title
:
'工序顺序'
,
key
:
'
process_seq
'
key
:
'
routenumber
'
},
{
title
:
'工序名称'
,
key
:
'
process_nam
e'
key
:
'
rout
e'
},
{
title
:
'物料状态'
,
key
:
'material_status'
key
:
'materialstate'
,
render
:(
h
,
params
)
=>
{
let
str
=
''
;
//materialstate:1:有工装无工件2:有工装有工件3:无工装无工件4:无工装有工件
if
(
params
.
row
.
materialstate
===
1
){
str
=
'有工装无工件'
;
}
else
if
(
params
.
row
.
materialstate
===
2
){
str
=
'有工装有工件'
;
}
else
if
(
params
.
row
.
materialstate
===
2
){
str
=
'无工装无工件'
;
}
else
if
(
params
.
row
.
materialstate
===
2
){
str
=
'无工装有工件'
;
}
return
h
(
'span'
,
str
);
}
},
{
title
:
'备注'
,
...
...
@@ -231,15 +230,32 @@ export default {
},
{
title
:
'附件'
,
key
:
'file_url'
key
:
'filename'
,
render
:(
h
,
params
)
=>
{
return
h
(
'span'
,{
style
:{
color
:
'#2b85e4'
,
cursor
:
'pointer'
},
on
:{
click
:()
=>
{
let
name
=
params
.
row
.
filename
;
let
url
=
params
.
row
.
fileurl
;
if
(
url
){
this
.
downFile
(
url
,
name
);
}
}
}
},
params
.
row
.
filename
);
}
},
{
title
:
'维护人'
,
key
:
'u
se
r'
key
:
'u
pdato
r'
},
{
title
:
'维护时间'
,
key
:
'datetime'
key
:
'
up
datetime'
}
],
...
...
@@ -247,8 +263,11 @@ export default {
addmodal
:
false
,
//添加弹窗
addwarehouseid
:
''
,
//仓库id
type
:
1
,
storageList1
:[],
//储位列表
addstorageTree
:[],
//储位列表
addstorageList
:[],
addstorageid
:
''
,
//储位id
storagelevelnum
:
0
,
//储位层级数
frockTypeTree
:[],
//工装类型
parentType
:[],
addfrockList
:[],
//工装列表
...
...
@@ -256,6 +275,7 @@ export default {
addremark
:
''
,
//备注
filename
:
''
,
fileurl
:
''
,
action
:
this
.
axios
.
publicPath
+
"wms/Upload/Submit?templateName=StorageLocation"
,
UploadAction
:
this
.
axios
.
publicPath
+
"config/upload/UploadImage"
,
headers
:
{
token
:
localStorage
.
getItem
(
"token"
),
...
...
@@ -270,9 +290,11 @@ export default {
created
(){
this
.
initWarehouse
();
//仓库
this
.
initStorage
();
this
.
tosearch
();
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
methods
:{
/*************搜索 start************ */
//仓库下拉框
initWarehouse
(){
let
params
=
{
...
...
@@ -305,60 +327,112 @@ export default {
this
.
initStorage
();
}
},
changeWarehouse1
(
value
){
this
.
storageList1
=
[];
this
.
addstorageid
=
""
;
if
(
value
!=
undefined
){
this
.
addwarehouseid
=
value
.
value
;
this
.
addinitStorage
();
}
},
//储位
initStorage
(){
let
params
=
{
page
:
1
,
pageSize
:
1000000
,
id
:
this
.
warehouseid
,
// 仓库id
isWarehouse
:
1
,
warehouseid
:
this
.
warehouseid
,
};
this
.
axios
.
request
({
url
:
"/wms/Location/GetLocation
List
"
,
url
:
"/wms/Location/GetLocation
Tree
"
,
params
,
method
:
"get"
,
})
.
then
(
(
res
)
=>
{
this
.
storageList
=
[];
let
data
=
res
.
data
.
data
;
if
(
res
.
data
.
ret
==
1
&&
Array
.
isArray
(
data
)
&&
data
.
length
)
{
this
.
storageList
=
res
.
data
.
data
;
}
.
then
((
res
)
=>
{
if
(
res
.
data
.
ret
==
1
)
{
let
arr
=
res
.
data
.
data
;
this
.
contentTree
(
arr
);
this
.
storageTree
=
arr
;
}
);
});
},
contentTree
(
arr
)
{
arr
.
forEach
(
ele
=>
{
ele
.
disabled
=
false
;
ele
.
value
=
ele
.
id
;
ele
.
label
=
ele
.
name
;
if
(
ele
.
children
!=
undefined
&&
ele
.
children
!=
null
&&
ele
.
children
.
length
!=
0
)
{
this
.
contentTree
(
ele
.
children
);
}
else
{
ele
.
children
=
[]
}
});
},
//切换储位
changeStorage
(){
this
.
storageid
=
""
;
if
(
value
!=
undefined
&&
value
.
length
){
this
.
storageid
=
value
[
value
.
length
-
1
];
}
},
/*************搜索 end************ */
/***************弹窗 start***************** */
//弹窗-切换仓库
changeWarehouse1
(
value
){
this
.
addstorageTree
=
[];
this
.
addstorageid
=
""
;
if
(
value
!=
undefined
){
this
.
addwarehouseid
=
value
.
value
;
this
.
addinitStorage
();
}
},
//弹窗-获取储位
addinitStorage
(){
let
params
=
{
page
:
1
,
pageSize
:
1000000
,
id
:
this
.
addwarehouseid
,
// 仓库id
isWarehouse
:
1
,
warehouseid
:
this
.
addwarehouseid
,
};
this
.
axios
.
request
({
url
:
"/wms/Location/GetLocation
List
"
,
url
:
"/wms/Location/GetLocation
Tree
"
,
params
,
method
:
"get"
,
})
.
then
(
(
res
)
=>
{
this
.
storageList1
=
[];
let
data
=
res
.
data
.
data
;
if
(
res
.
data
.
ret
==
1
&&
Array
.
isArray
(
data
)
&&
data
.
length
)
{
this
.
storageList1
=
res
.
data
.
data
;
}
.
then
((
res
)
=>
{
if
(
res
.
data
.
ret
==
1
)
{
let
arr
=
res
.
data
.
data
;
this
.
contentTree1
(
arr
);
this
.
addstorageTree
=
arr
;
}
);
});
},
contentTree1
(
arr
)
{
let
max
=
0
;
function
eachfun
(
arr
,
floor
){
arr
.
forEach
(
ele
=>
{
ele
.
disabled
=
false
;
ele
.
value
=
ele
.
id
;
ele
.
label
=
ele
.
name
;
if
(
floor
>
max
)
{
max
=
floor
;
}
if
(
ele
.
children
!=
undefined
&&
ele
.
children
!=
null
&&
ele
.
children
.
length
!=
0
)
{
eachfun
(
ele
.
children
,
floor
+
1
);
}
else
{
ele
.
children
=
[]
}
});
}
eachfun
(
arr
,
1
);
this
.
storagelevelnum
=
max
;
return
arr
;
},
//工装类型
//弹窗-切换储位
changeStorage1
(
value
){
this
.
addstorageid
=
""
;
if
(
Array
.
isArray
(
value
)
&&
value
.
length
==
this
.
storagelevelnum
){
this
.
addstorageid
=
value
[
value
.
length
-
1
];
}
else
{
this
.
addstorageList
=
[];
}
},
//弹窗-工装类型
initFrockType
(){
this
.
axios
.
request
({
url
:
"/acc/FixtureTools/GetCategoryList"
,
...
...
@@ -367,12 +441,12 @@ export default {
.
then
((
res
)
=>
{
if
(
res
.
data
.
ret
==
1
)
{
let
arr
=
res
.
data
.
data
;
this
.
contentTree
(
arr
);
this
.
contentTree
2
(
arr
);
this
.
frockTypeTree
=
arr
;
}
});
},
contentTree
(
arr
)
{
contentTree
2
(
arr
)
{
arr
.
forEach
(
ele
=>
{
ele
.
disabled
=
false
;
if
(
...
...
@@ -380,21 +454,23 @@ export default {
ele
.
children
!=
null
&&
ele
.
children
.
length
!=
0
)
{
this
.
contentTree
(
ele
.
children
);
this
.
contentTree
2
(
ele
.
children
);
}
else
{
ele
.
children
=
[]
}
});
},
//弹窗-工装类型变更
changeFrockType1
(
value
){
this
.
parentTypeid
=
""
;
this
.
parentType
=
[];
this
.
parentTypeid
=
""
;
//工装类型清空
this
.
addfrockList
=
[];
//工装清空
this
.
addfrockid
=
''
;
//工装id清空
if
(
value
!=
undefined
&&
value
.
length
){
this
.
parentTypeid
=
value
[
value
.
length
-
1
];
this
.
parentType
=
value
;
this
.
getFrocksChange
();
}
},
//弹窗-获取工装
getFrocksChange
(){
this
.
addfrockid
=
''
;
let
params
=
{
...
...
@@ -419,6 +495,7 @@ export default {
}
});
},
/***************弹窗 end***************** */
tosearch
(){
this
.
page
=
1
;
this
.
pagesize
=
10
;
...
...
@@ -460,17 +537,175 @@ export default {
},
add
(){
this
.
type
=
1
;
this
.
addwarehouseid
=
''
;
//仓库id
this
.
addstorageTree
=
[];
this
.
addstorageList
=
[];
this
.
addstorageid
=
''
;
//储位id
this
.
initFrockType
();
//工装类型
this
.
addstorageid
=
''
;
//仓库id
this
.
parentType
=
[];
//工装类型
this
.
parentTypeid
=
''
;
//工装类型id
this
.
addfrockid
=
''
;
//工装id
this
.
addremark
=
''
;
//备注
this
.
filename
=
''
;
this
.
fileurl
=
''
;
this
.
addmodal
=
true
;
},
//编辑
edit
(){
if
(
!
this
.
detailobj
||
!
this
.
detailobj
.
id
){
this
.
$Message
.
error
(
this
.
$t
(
'1017'
));
return
false
;
}
this
.
type
=
2
;
this
.
addwarehouseid
=
this
.
detailobj
.
wavehouseid
;
//仓库id
//获取储位
this
.
addinitStorage
();
this
.
addstorageList
=
this
.
detailobj
.
locationIds
;
this
.
addstorageid
=
this
.
detailobj
.
locationid
;
//获取工装类型
this
.
initFrockType
();
//工装类型
this
.
parentType
=
this
.
detailobj
.
categoryIds
;
//工装类型
let
categoryIds
=
this
.
detailobj
.
categoryIds
;
if
(
Array
.
isArray
(
categoryIds
)
&&
categoryIds
.
length
){
this
.
parentTypeid
=
categoryIds
[
categoryIds
.
length
-
1
];
this
.
getFrocksChange
();
}
this
.
addfrockid
=
this
.
detailobj
.
fixturetoolid
;
//工装id
this
.
addremark
=
this
.
detailobj
.
remark
?
this
.
detailobj
.
remark
:
''
;
//备注
this
.
filename
=
this
.
detailobj
.
filename
;
this
.
fileurl
=
this
.
detailobj
.
fileurl
;
this
.
addmodal
=
true
;
},
addPost
(){
if
(
!
this
.
addstorageid
){
this
.
$Message
.
error
(
"储位信息不能为空"
);
return
false
;
}
if
(
!
this
.
addfrockid
){
this
.
$Message
.
error
(
"工装名称不能为空"
);
return
false
;
}
let
url
=
''
;
let
id
=
''
;
if
(
this
.
type
===
1
){
url
=
'/acc/AutomationLocation/Add'
;
id
=
0
;
}
else
{
url
=
'/acc/AutomationLocation/Update'
;
id
=
this
.
detailobj
.
id
;
}
let
data
=
{
id
:
id
,
locationid
:
this
.
addstorageid
,
//储位ID,前端填写的那个
fixturetoolid
:
this
.
addfrockid
,
//工装ID
fileurl
:
this
.
fileurl
,
//url
filename
:
this
.
filename
,
//附件名称
remark
:
this
.
addremark
//备注
}
this
.
axios
.
request
({
url
:
url
,
data
,
method
:
"post"
,
}).
then
((
res
)
=>
{
if
(
res
.
data
.
ret
==
1
)
{
this
.
addmodal
=
false
;
if
(
this
.
type
===
1
){
this
.
tosearch
();
this
.
$Message
.
success
(
this
.
$t
(
'1055'
));
}
else
{
this
.
$Message
.
success
(
this
.
$t
(
'1060'
));
this
.
search
(
0
);
}
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
.
msg
+
''
));
}
});
},
//删除
dele
(){
if
(
this
.
detailobj
.
id
===
undefined
||
this
.
detailobj
.
id
===
null
)
{
this
.
$Message
.
error
(
this
.
$t
(
"1017"
));
return
false
;
}
else
{
var
params
=
{
id
:
this
.
detailobj
.
id
,
};
this
.
$Modal
.
confirm
({
title
:
this
.
$t
(
"1018"
),
content
:
""
,
width
:
"290px"
,
closable
:
true
,
okText
:
this
.
$t
(
"1004"
),
onOk
:
()
=>
{
this
.
axios
.
request
({
url
:
"/acc/AutomationLocation/Delete"
,
params
,
method
:
"get"
,
})
.
then
((
res
)
=>
{
if
(
res
.
data
.
ret
===
1
)
{
this
.
$Message
.
success
(
this
.
$t
(
"1058"
));
this
.
search
(
0
);
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
.
msg
));
}
});
},
});
}
},
//导出模板
loadexcel
()
{
// this.axios.request({
// url: "/config/Download/GetTemplate?name=StorageLocation",
// method: "get",
// })
// .then((res) => {
// if (res.data.ret === 1) {
// window.location.href =
// this.axios.publicPath + "" + res.data.data;
// } else {
// this.$Message.error(this.$t(res.data.msg));
// }
// });
},
/*********文件上传 start******** */
//下载文件
downFile
(
url
,
fileName
){
let
params
=
{
url
:
url
,
name
:
fileName
};
this
.
axios
.
request
({
url
:
"/config/Download/DownloadFileByUrl"
,
params
,
method
:
"get"
,
responseType
:
"blob"
})
.
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
let
url
;
let
link
=
document
.
createElement
(
"a"
);
url
=
window
.
URL
.
createObjectURL
(
res
.
data
);
link
.
style
.
display
=
"none"
;
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
}
}).
catch
(
error
=>
{
this
.
$Message
.
error
(
'请求错误'
)
});
},
handleBeforeUpload
(
file
){
this
.
spinShow
=
true
;
if
(
!
file
){
...
...
@@ -509,6 +744,26 @@ export default {
this
.
page
=
value
;
this
.
search
(
0
);
},
handleFormatError
(
file
)
{
this
.
$Message
.
error
(
this
.
$t
(
"950396"
)
+
file
.
name
+
this
.
$t
(
"950397"
)
);
},
handleSuccess
(
res
,
file
)
{
if
(
res
.
ret
==
1
)
{
this
.
$Message
.
success
(
this
.
$t
(
"950398"
));
this
.
tosearch
();
}
else
{
if
((
res
.
msg
+
""
).
indexOf
(
","
)
!=
-
1
)
{
inittip
(
res
.
msg
);
}
else
{
this
.
$Message
.
error
(
this
.
$t
(
res
.
data
));
}
}
},
handleError
()
{
this
.
$Message
.
error
(
this
.
$t
(
"2010006"
)
+
"!"
);
},
}
}
</
script
>
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationLocationController.cs
View file @
ad0b828a
...
...
@@ -44,7 +44,8 @@ namespace Siger.ApiACC.Controllers
var
data
=
_autoLocationRepository
.
GetPagedList
(
wavehouseid
.
ToInt
(),
locationid
.
ToInt
(),
ProjectId
,
page
,
pagesize
);
var
list
=
new
List
<
ResponseAutomationLocation
>();
var
locations
=
_autoLocationRepository
.
GetLocationList
(
ProjectId
);
foreach
(
var
item
in
data
.
Data
)
var
categorys
=
_toolsCategoryRepository
.
GetList
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
status
==
(
int
)
RowState
.
Valid
).
ToList
();
foreach
(
var
item
in
data
.
Data
)
{
if
(
item
.
fixturetoolid
>
0
&&
string
.
IsNullOrEmpty
(
item
.
sn
))
{
...
...
@@ -68,11 +69,26 @@ namespace Siger.ApiACC.Controllers
{
var
locas
=
GetParentLocations
(
loca
.
id
,
locations
);
var
locationIds
=
locas
.
Select
(
q
=>
q
.
id
).
ToList
();
locationIds
.
Distinct
().
Reverse
();
locationIds
=
locationIds
.
Distinct
().
ToList
();
locationIds
.
Reverse
();
item
.
locationIds
=
locationIds
;
}
}
var
cates
=
GetParentCategoryList
(
item
.
cate_guid
,
categorys
);
var
cateIds
=
cates
.
Select
(
q
=>
q
.
id
).
ToList
();
cateIds
.
Reverse
();
item
.
categoryIds
=
cateIds
;
list
.
Add
(
item
);
}
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
return
new
PagedObjectResult
(
list
,
data
.
Total
,
page
,
pagesize
);
}
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
;
return
query
.
ToList
().
Concat
(
query
.
ToList
().
SelectMany
(
t
=>
GetParentCategoryList
(
t
.
parent
,
sections
)));
}
private
IEnumerable
<
siger_wms_storage_location
>
GetParentLocations
(
int
pid
,
IEnumerable
<
siger_wms_storage_location
>
types
)
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationOperateController.cs
View file @
ad0b828a
...
...
@@ -183,18 +183,32 @@ namespace Siger.ApiACC.Controllers
{
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
var
machineStatus
=
_automationMachineStatus
.
Get
(
f
=>
f
.
machineid
==
machineAttr
.
machine
);
if
(
machineStatus
==
null
)
var
machineStatus
=
_automationMachineStatus
.
Get
(
f
=>
f
.
machineid
==
machineAttr
.
machine
);
if
(
machineStatus
==
null
)
{
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
if
(
machineStatus
.
enable
==
0
)
{
throw
new
BadRequestException
(
AccEnum
.
MachineDisable
);
// throw new BadRequestException(CommonEnum.RecordNotFound);
//上料设备状态与PLC 无关,
//需要手动插入
_automationMachineStatus
.
Insert
(
new
siger_automation_machine_status
{
enable
=
1
,
section
=
loading
.
section
,
machineid
=
machineAttr
.
machine
,
projectId
=
ProjectId
,
status
=
(
int
)
Automation
.
MachineStatus
.
Produce
,
updatetime
=
DateTime
.
Now
});
}
if
(
machineStatus
.
status
!=(
int
)
Automation
.
MachineStatus
.
Waiting
)
else
{
throw
new
BadRequestException
(
AccEnum
.
MachineBusy
);
if
(
machineStatus
.
enable
==
0
)
{
throw
new
BadRequestException
(
AccEnum
.
MachineDisable
);
}
if
(
machineStatus
.
status
!=
(
int
)
Automation
.
MachineStatus
.
Waiting
)
{
throw
new
BadRequestException
(
AccEnum
.
MachineBusy
);
}
}
if
(!
_automationTaskList
.
CanTask
(
ProjectId
,
loading
.
section
))
{
...
...
Server/Apis/Siger.ApiACC/Controllers/FixtureToolsAssemblyController.cs
View file @
ad0b828a
...
...
@@ -53,7 +53,7 @@ namespace Siger.ApiACC.Controllers
list
.
Add
(
item
);
}
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
return
new
PagedObjectResult
(
list
,
data
.
Total
,
page
,
pagesize
);
}
private
IEnumerable
<
siger_automation_fixture_tools_category
>
GetParentCategoryList
(
string
parentId
,
List
<
siger_automation_fixture_tools_category
>
sections
)
...
...
@@ -78,31 +78,50 @@ namespace Siger.ApiACC.Controllers
{
throw
new
BadRequestException
(
RequestEnum
.
ParameterMiss
);
}
if
(!
string
.
IsNullOrEmpty
(
req
.
parentid
)
&&
!
string
.
IsNullOrEmpty
(
req
.
fixturetoolid
)
&&
req
.
parentid
==
req
.
fixturetoolid
)
if
(
req
.
parentid
==
req
.
fixturetoolid
)
{
throw
new
BadRequestException
(
RequestEnum
.
ParentSonSame
);
}
var
parent
=
_toolsRepository
.
Get
(
q
=>
q
.
id
==
req
.
parentid
.
ToInt
()
&&
q
.
projectId
==
ProjectId
);
if
(
parent
==
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
FixtureToolNotFound
);
}
var
son
=
_toolsRepository
.
Get
(
q
=>
q
.
id
==
req
.
fixturetoolid
.
ToInt
()
&&
q
.
projectId
==
ProjectId
);
if
(
son
==
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
FixtureToolNotFound
);
}
var
parentGuid
=
parent
?.
guid
??
""
;
var
parentGuid
=
parent
.
guid
;
var
exsit
=
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
son
.
guid
&&
q
.
parent
==
parentGuid
);
if
(
exsit
!=
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
DataExist
);
}
if
(!
string
.
IsNullOrEmpty
(
parentGuid
))
var
parentExsit
=
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
parentGuid
);
if
(
parentExsit
!=
null
)
{
var
parentExsit
=
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
parentGuid
);
if
(
parentExsit
!=
null
)
throw
new
BadRequestException
(
RequestEnum
.
LevelCountError
);
}
if
(
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
parentGuid
)
==
null
)
{
var
parentEntity
=
new
siger_automation_fixture_tools_assembly
{
throw
new
BadRequestException
(
RequestEnum
.
LevelCountError
);
}
}
guid
=
Guid
.
NewGuid
().
ToString
(),
parent
=
""
,
son
=
parent
.
guid
,
creator
=
UserId
,
createtime
=
DateTime
.
Now
,
attachment
=
req
.
fileurl
,
filename
=
req
.
filename
,
projectId
=
ProjectId
,
updatetime
=
DateTime
.
Now
,
updator
=
UserId
,
status
=
req
.
status
.
ToInt
()
==
(
int
)
RowState
.
Valid
?
(
int
)
RowState
.
Valid
:
(
int
)
RowState
.
Invalid
,
};
_toolsAssemblyRepository
.
Insert
(
parentEntity
);
}
var
entity
=
new
siger_automation_fixture_tools_assembly
{
...
...
@@ -147,25 +166,45 @@ namespace Siger.ApiACC.Controllers
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
var
parent
=
_toolsRepository
.
Get
(
q
=>
q
.
id
==
req
.
parentid
.
ToInt
()
&&
q
.
projectId
==
ProjectId
);
if
(
parent
==
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
FixtureToolNotFound
);
}
var
son
=
_toolsRepository
.
Get
(
q
=>
q
.
id
==
req
.
fixturetoolid
.
ToInt
()
&&
q
.
projectId
==
ProjectId
);
if
(
son
==
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
FixtureToolNotFound
);
}
var
parentGuid
=
parent
?.
guid
??
""
;
var
parentGuid
=
parent
.
guid
;
var
exsit
=
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
son
.
guid
&&
q
.
parent
==
parentGuid
&&
q
.
id
!=
req
.
id
);
if
(
exsit
!=
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
DataExist
);
}
if
(!
string
.
IsNullOrEmpty
(
parentGuid
))
var
parentExsit
=
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
parentGuid
);
if
(
parentExsit
!=
null
)
{
throw
new
BadRequestException
(
RequestEnum
.
LevelCountError
);
}
if
(
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
parentGuid
)
==
null
)
{
var
parentExsit
=
_toolsAssemblyRepository
.
Get
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
son
==
parentGuid
);
if
(
parentExsit
!=
null
)
var
parentEntity
=
new
siger_automation_fixture_tools_assembly
{
throw
new
BadRequestException
(
RequestEnum
.
LevelCountError
);
}
guid
=
Guid
.
NewGuid
().
ToString
(),
parent
=
""
,
son
=
parent
.
guid
,
creator
=
UserId
,
createtime
=
DateTime
.
Now
,
attachment
=
req
.
fileurl
,
filename
=
req
.
filename
,
projectId
=
ProjectId
,
updatetime
=
DateTime
.
Now
,
updator
=
UserId
,
status
=
req
.
status
.
ToInt
()
==
(
int
)
RowState
.
Valid
?
(
int
)
RowState
.
Valid
:
(
int
)
RowState
.
Invalid
,
};
_toolsAssemblyRepository
.
Insert
(
parentEntity
);
}
entity
.
parent
=
parent
?.
guid
??
""
;
...
...
Server/Apis/Siger.ApiACC/Controllers/FixtureToolsProductController.cs
View file @
ad0b828a
...
...
@@ -36,10 +36,28 @@ namespace Siger.ApiACC.Controllers
_productRepository
=
productRepository
;
}
[
HttpGet
]
public
IActionResult
GetPageList
(
string
category
,
string
tool
,
string
product
,
int
page
,
int
pagesize
)
{
var
data
=
_toolsProductRepository
.
GetPagedList
(
category
.
ToInt
(),
tool
.
ToInt
(),
product
.
ToInt
(),
ProjectId
,
page
,
pagesize
);
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
var
categorys
=
_toolsCategoryRepository
.
GetList
(
q
=>
q
.
projectId
==
ProjectId
&&
q
.
status
==
(
int
)
RowState
.
Valid
).
ToList
();
var
list
=
new
List
<
ResponseAumationFixtureToolsProduct
>();
foreach
(
var
item
in
data
.
Data
)
{
var
cates
=
GetParentCategoryList
(
item
.
cate_guid
,
categorys
);
var
cateIds
=
cates
.
Select
(
q
=>
q
.
id
).
ToList
();
cateIds
.
Reverse
();
item
.
categoryids
=
cateIds
;
list
.
Add
(
item
);
}
return
new
PagedObjectResult
(
list
,
data
.
Total
,
page
,
pagesize
);
}
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
;
return
query
.
ToList
().
Concat
(
query
.
ToList
().
SelectMany
(
t
=>
GetParentCategoryList
(
t
.
parent
,
sections
)));
}
[
HttpPost
]
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Entities/siger_automation_fixture_tools_assembly.cs
View file @
ad0b828a
...
...
@@ -22,7 +22,6 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// 附件
/// </summary>
public
string
attachment
{
get
;
set
;
}
public
string
fileurl
{
get
;
set
;
}
/// <summary>
/// 附件名称
/// </summary>
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Entities/siger_automation_task_list.cs
View file @
ad0b828a
...
...
@@ -16,6 +16,10 @@ namespace Siger.Middlelayer.AccRepository.Entities
public
string
no
{
get
;
set
;
}
/// <summary>
/// 工装GUID
/// </summary>
public
string
fixtureguid
{
get
;
set
;
}
/// <summary>
/// 工位ID
/// </summary>
public
int
sectionid
{
get
;
set
;
}
...
...
@@ -55,10 +59,7 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// 储位位置
/// </summary>
public
int
locationid
{
get
;
set
;
}
/// <summary>
/// 工装GUID
/// </summary>
public
string
fixtureguid
{
get
;
set
;
}
/// <summary>
/// Task 执行动作类型 1 手动 2 自动
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationFixtureToolsAssemblyRepository.cs
View file @
ad0b828a
...
...
@@ -26,7 +26,8 @@ namespace Siger.Middlelayer.AccRepository.Repositories
var
query
=
from
q
in
_context
.
siger_automation_fixture_tools_assembly
join
t1
in
_context
.
siger_automation_fixture_tools
on
q
.
parent
equals
t1
.
guid
into
tt1
from
t1
in
tt1
.
DefaultIfEmpty
()
join
c1
in
_context
.
siger_automation_fixture_tools_category
on
t1
.
category
equals
c1
.
guid
join
c1
in
_context
.
siger_automation_fixture_tools_category
on
t1
.
category
equals
c1
.
guid
into
cc1
from
c1
in
cc1
.
DefaultIfEmpty
()
join
t2
in
_context
.
siger_automation_fixture_tools
on
q
.
son
equals
t2
.
guid
join
c2
in
_context
.
siger_automation_fixture_tools_category
on
t2
.
category
equals
c2
.
guid
join
u
in
_context
.
siger_project_user
on
q
.
updator
equals
u
.
mid
into
uu
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationFixtureToolsProductRepository.cs
View file @
ad0b828a
...
...
@@ -61,7 +61,8 @@ namespace Siger.Middlelayer.AccRepository.Repositories
filename
=
q
.
filename
,
partnumber
=
t
.
partnumber
,
specfication
=
t
.
specification
,
productcode
=
p
.
code
productcode
=
p
.
code
,
cate_guid
=
c
.
guid
??
""
};
Expression
<
Func
<
ResponseAumationFixtureToolsProduct
,
bool
>>
categoryExpression
=
f
=>
true
;
if
(
category
>
0
)
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationLocationRepository.cs
View file @
ad0b828a
...
...
@@ -56,7 +56,8 @@ namespace Siger.Middlelayer.AccRepository.Repositories
updatetime
=
q
.
updatetime
.
HasValue
&&
q
.
updatetime
>
DateTime
.
MinValue
?
q
.
updatetime
.
Value
.
ToString
(
ParameterConstant
.
DateTimeFormat
)
:
""
,
sn
=
m
.
sn
??
""
,
route
=
r
.
name
??
""
,
routenumber
=
r
==
null
?
""
:
r
.
serialNumber
.
ToString
()
routenumber
=
r
==
null
?
""
:
r
.
serialNumber
.
ToString
(),
cate_guid
=
c
.
guid
??
""
};
Expression
<
Func
<
ResponseAutomationLocation
,
bool
>>
wavehouseidExpression
=
f
=>
true
;
if
(
wavehouseid
>
0
)
...
...
@@ -97,6 +98,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
select
new
ResponseAutomationLocationList
{
id
=
q
.
id
,
fixtureguid
=
t
.
guid
,
locationid
=
l
.
locationid
,
location
=
l
.
realname
,
locationcode
=
l
.
serial_number
,
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Response/FixtureToolsCategory.cs
View file @
ad0b828a
...
...
@@ -111,6 +111,10 @@ namespace Siger.Middlelayer.AccRepository.Response
public
string
updatetime
{
get
;
set
;
}
public
string
fileurl
{
get
;
set
;
}
public
string
filename
{
get
;
set
;
}
public
string
cate_guid
{
get
;
set
;
}
public
List
<
int
>
categoryids
{
get
;
set
;
}
=
new
List
<
int
>();
}
public
class
ResponseAumationFixtureToolsAssembly
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Response/ResponseAutomationLocation.cs
View file @
ad0b828a
...
...
@@ -50,6 +50,8 @@ namespace Siger.Middlelayer.AccRepository.Response
public
int
status
{
get
;
set
;
}
public
List
<
int
>
locationIds
{
get
;
set
;
}
=
new
List
<
int
>();
public
List
<
int
>
categoryIds
{
get
;
set
;
}
=
new
List
<
int
>();
public
string
cate_guid
{
get
;
set
;
}
}
public
class
ResponseAutomationLocationList
...
...
@@ -74,6 +76,7 @@ namespace Siger.Middlelayer.AccRepository.Response
/// 工装ID
/// </summary>
public
int
fixturetoolid
{
get
;
set
;
}
public
string
fixtureguid
{
get
;
set
;
}
public
string
code
{
get
;
set
;
}
public
string
name
{
get
;
set
;
}
public
string
materialsn
{
get
;
set
;
}
...
...
Server/Infrastructure/Script/DB.script
View file @
ad0b828a
...
...
@@ -324,17 +324,17 @@ CREATE TABLE IF NOT EXISTS `siger_automation_section_route` (
CREATE TABLE IF NOT EXISTS `siger_automation_task_list` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`no` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`fixtureguid` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`fixtureguid` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
COMMENT '工装GUID'
,
`sectionid` int(11) NOT NULL DEFAULT 0 COMMENT '工位ID',
`trigger` int(1) NOT NULL DEFAULT 0 COMMENT '触发方',
`tasktype` int(1) NOT NULL DEFAULT 0 COMMENT '任务类型',
`
materialid
` int(11) NOT NULL DEFAULT 0 COMMENT '工件ID',
`
sn
` int(11) NOT NULL DEFAULT 0 COMMENT '工件ID',
`ordercode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '工单号',
`productid` int(11) NOT NULL DEFAULT 0 COMMENT '产品ID',
`productcode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '产品CODE',
`processid` int(11) NOT NULL DEFAULT 0 COMMENT '工序ID',
`programnumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '程序号',
`locationid` int(11) NOT NULL COMMENT '储位位置',
`fixturetools` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '工装GUID',
`action` int(1) NOT NULL DEFAULT 0 COMMENT '动作',
`actiontype` int(11) NOT NULL DEFAULT 0 COMMENT '动作类型',
`projectid` int(11) NOT NULL DEFAULT 0,
...
...
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