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
aa1df8d2
Commit
aa1df8d2
authored
Feb 10, 2021
by
jiawei.su
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixedubug 添加起始工站
parent
ec42324c
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
194 additions
and
174 deletions
+194
-174
AutomationController.cs
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
+144
-139
AutomationOperateController.cs
...s/Siger.ApiACC/Controllers/AutomationOperateController.cs
+29
-14
QmsCheckController.cs
Server/Apis/Siger.ApiACC/Controllers/QmsCheckController.cs
+3
-3
SectionPropertyController.cs
...pis/Siger.ApiACC/Controllers/SectionPropertyController.cs
+1
-1
AutoMES.cs
Server/Apis/Siger.ApiACC/Tasks/AutoMES.cs
+3
-3
DBhelper.cs
Server/Apis/Siger.ApiACC/Tasks/DBhelper.cs
+9
-9
siger_automation_task_list.cs
...ayer.AccRepository/Entities/siger_automation_task_list.cs
+2
-2
Siger.Middlelayer.License_MarkupCompile.cache
...e/obj/Debug/Siger.Middlelayer.License_MarkupCompile.cache
+3
-3
No files found.
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
View file @
aa1df8d2
...
...
@@ -248,7 +248,7 @@ namespace Siger.ApiACC.Controllers
var
monitor
=
_automationFixtureMonitor
.
Get
(
f
=>
f
.
section
==
taskObj
.
sectionid
);
var
sectionProperty
=
_automationSectionProperty
.
Get
(
f
=>
f
.
sectionid
==
taskObj
.
sectionid
);
var
sectionProperty
=
_automationSectionProperty
.
Get
(
f
=>
f
.
sectionid
==
taskObj
.
extend1
.
ToInt
()
);
if
(
sectionProperty
==
null
)
{
Logger
.
WriteLineInfo
(
$"PlCfeeback 设备属性为维护"
);
...
...
@@ -264,148 +264,145 @@ namespace Siger.ApiACC.Controllers
throw
new
BadRequestException
(
AccEnum
.
MachineDisable
);
}
// 业务入口: 上料位-》 入库 如果是上料工装 安装完成 ,绑定 储位与装配
if
(
sectionProperty
.
propertytype
==
1
)
var
download
=
false
;
if
(
sectionProperty
.
down
>
2
)
{
var
download
=
false
;
if
(
sectionProperty
.
down
>
2
)
{
// 是拆卸
download
=
true
;
}
//绑定SN 工件到立库储位
if
(
taskObj
.
action
==
TaskAction
.
Step_SXLW_LK
)
{
location
.
fixturetools
=
taskObj
.
fixtureguid
;
location
.
fixturename
=
taskObj
.
fixturename
;
location
.
ordernumber
=
taskObj
.
ordercode
;
location
.
productcode
=
download
?
""
:
taskObj
.
productcode
;
location
.
productid
=
download
?
0
:
taskObj
.
productid
;
location
.
routeid
=
download
?
0
:
taskObj
.
route
;
location
.
route
=
download
?
""
:
taskObj
.
route
.
ToString
();
location
.
sn
=
download
?
""
:
taskObj
.
sn
;
location
.
status
=
(
int
)
LocationStatus
.
In
;
_automationLocation
.
Update
(
location
);
sectionProperty
.
upload
=
0
;
sectionProperty
.
down
=
0
;
_automationSectionProperty
.
Update
(
sectionProperty
);
// 是拆卸
download
=
true
;
}
//绑定SN 工件到立库储位
if
(
taskObj
.
action
==
TaskAction
.
Step_SXLW_LK
)
{
location
.
fixturetools
=
taskObj
.
fixtureguid
;
location
.
fixturename
=
taskObj
.
fixturename
;
location
.
ordernumber
=
taskObj
.
ordercode
;
location
.
productcode
=
download
?
""
:
taskObj
.
productcode
;
location
.
productid
=
download
?
0
:
taskObj
.
productid
;
location
.
routeid
=
download
?
0
:
taskObj
.
route
;
location
.
route
=
download
?
""
:
taskObj
.
route
.
ToString
();
location
.
sn
=
download
?
""
:
taskObj
.
sn
;
location
.
status
=
(
int
)
LocationStatus
.
In
;
_automationLocation
.
Update
(
location
);
sectionProperty
.
upload
=
0
;
sectionProperty
.
down
=
0
;
_automationSectionProperty
.
Update
(
sectionProperty
);
}
//从立库储位拿SN 工件到上料位
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_SXLW
)
{
location
.
sn
=
taskObj
.
sn
;
location
.
productcode
=
taskObj
.
productcode
;
location
.
productid
=
taskObj
.
productid
;
location
.
productname
=
taskObj
.
productname
;
location
.
route
=
taskObj
.
route
.
ToString
();
location
.
routeid
=
taskObj
.
route
;
location
.
status
=
(
int
)
LocationStatus
.
Out
;
_automationLocation
.
Update
(
location
);
}
//从立库储位拿SN 工件到上料位
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_SXLW
)
{
location
.
sn
=
taskObj
.
sn
;
location
.
productcode
=
taskObj
.
productcode
;
location
.
productid
=
taskObj
.
productid
;
location
.
productname
=
taskObj
.
productname
;
location
.
route
=
taskObj
.
route
.
ToString
();
location
.
routeid
=
taskObj
.
route
;
location
.
status
=
(
int
)
LocationStatus
.
Out
;
_automationLocation
.
Update
(
location
);
}
}
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_CJT
)
{
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_CJT
)
{
}
//上料中
if
(
sectionProperty
.
upload
!=
0
)
}
//上料中
if
(
sectionProperty
.
upload
!=
0
)
{
sectionProperty
.
upload
+=
1
;
_automationSectionProperty
.
Update
(
sectionProperty
);
}
if
(
sectionProperty
.
down
!=
0
)
{
sectionProperty
.
down
+=
1
;
_automationSectionProperty
.
Update
(
sectionProperty
);
}
// CNC 设备
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_JGZX
)
{
var
route
=
_productRoute
.
GetList
(
f
=>
f
.
productId
==
taskObj
.
productid
&&
f
.
id
!=
taskObj
.
route
&&
f
.
status
==
(
int
)
RowState
.
Valid
,
"serialNumber"
,
false
).
FirstOrDefault
();
if
(
route
==
null
)
{
sectionProperty
.
upload
+=
1
;
_automationSectionProperty
.
Update
(
sectionProperty
);
throw
new
BadRequestException
(
AccEnum
.
ProductRouteMissing
);
}
if
(
sectionProperty
.
down
!=
0
)
location
.
routeid
=
route
.
id
;
location
.
route
=
route
.
id
.
ToString
();
location
.
status
=
(
int
)
LocationStatus
.
Out
;
_automationLocation
.
Update
(
location
);
//加工中心做完 下一站清洗机
var
cleanMachine
=
_automationSectionProperty
.
Get
(
f
=>
f
.
propertytype
==
4
);
if
(
cleanMachine
!=
null
)
{
sectionProperty
.
down
+=
1
;
_automationSectionProperty
.
Update
(
sectionProperty
);
taskObj
.
extend1
=
cleanMachine
.
sectionid
.
ToString
();
}
}
// CNC 设备
if
(
sectionProperty
.
propertytype
==
2
)
{
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_JGZX
)
{
var
route
=
_productRoute
.
GetList
(
f
=>
f
.
productId
==
taskObj
.
productid
&&
f
.
id
!=
taskObj
.
route
&&
f
.
status
==
(
int
)
RowState
.
Valid
,
"serialNumber"
,
false
).
FirstOrDefault
();
if
(
route
==
null
)
{
throw
new
BadRequestException
(
AccEnum
.
ProductRouteMissing
);
}
location
.
routeid
=
route
.
id
;
location
.
route
=
route
.
id
.
ToString
();
location
.
status
=
(
int
)
LocationStatus
.
Out
;
_automationLocation
.
Update
(
location
);
//加工中心做完 下一站清洗机
var
cleanMachine
=
_automationSectionProperty
.
Get
(
f
=>
f
.
propertytype
==
4
);
if
(
cleanMachine
!=
null
)
{
taskObj
.
extend1
=
cleanMachine
.
sectionid
.
ToString
();
}
}
}
//抽检台
if
(
sectionProperty
.
propertytype
==
3
)
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_CJT
)
{
location
.
status
=
(
int
)
LocationStatus
.
Out
;
_automationLocation
.
Update
(
location
);
}
if
(
taskObj
.
action
==
TaskAction
.
Step_CJT_SXLW
)
{
if
(
taskObj
.
action
==
TaskAction
.
Step_LK_CJT
)
{
location
.
status
=
(
int
)
LocationStatus
.
Out
;
_automationLocation
.
Update
(
location
);
}
if
(
taskObj
.
action
==
TaskAction
.
Step_CJT_SXLW
)
{
}
}
//清洗机
if
(
sectionProperty
.
propertytype
==
4
)
{
if
(
taskObj
.
action
==
TaskAction
.
Step_QXJ_LK
)
{
var
currenRute
=
_productRoute
.
Get
(
f
=>
f
.
id
==
taskObj
.
route
);
if
(
currenRute
==
null
)
{
throw
new
BadRequestException
(
AccEnum
.
ProductRouteMissing
);
}
var
nextRoute
=
_productRoute
.
GetList
(
f
=>
f
.
productId
==
taskObj
.
productid
&&
f
.
serialNumber
>
currenRute
.
serialNumber
&&
f
.
status
==
(
int
)
RowState
.
Valid
,
"serialNumber"
,
false
).
FirstOrDefault
();
if
(
taskObj
.
action
==
TaskAction
.
Step_QXJ_LK
)
{
var
route
=
0
;
if
(
nextRoute
!=
null
)
{
route
=
nextRoute
.
id
;
}
//更新下一到工序
location
.
routeid
=
route
;
location
.
route
=
route
.
ToString
();
location
.
status
=
(
int
)
LocationStatus
.
In
;
_automationLocation
.
Update
(
location
);
Logger
.
WriteLineInfo
(
$"PlCfeeback 工装储位
{
taskObj
.
locationid
}
工序
{
location
.
routeid
}
-
{
location
.
routenum
}
完成"
);
Logger
.
WriteLineInfo
(
$"PlCfeeback 工装储位
{
taskObj
.
locationid
}
下一工序
{
route
}
更新完成"
);
//if (route.id == location.routeid)
//{
// Logger.WriteLineInfo($"PlCfeeback 工装储位{taskObj.locationid} 工序{location.routeid}-{location.routenum}完成");
// //最后一道工序
// location.routeid = 0;
// location.route = "0";
// location.status = (int)LocationStatus.In;
// _automationLocation.Update(location);
//}
//else
//{
// Logger.WriteLineInfo($"PlCfeeback 工装储位{taskObj.locationid} 工序{location.routeid}-{location.routenum}为完成");
//}
var
currenRute
=
_productRoute
.
Get
(
f
=>
f
.
id
==
taskObj
.
route
);
if
(
currenRute
==
null
)
{
throw
new
BadRequestException
(
AccEnum
.
ProductRouteMissing
);
}
var
nextRoute
=
_productRoute
.
GetList
(
f
=>
f
.
productId
==
taskObj
.
productid
&&
f
.
serialNumber
>
currenRute
.
serialNumber
&&
f
.
status
==
(
int
)
RowState
.
Valid
,
"serialNumber"
,
false
).
FirstOrDefault
();
var
route
=
0
;
if
(
nextRoute
!=
null
)
{
route
=
nextRoute
.
id
;
}
//更新下一到工序
location
.
routeid
=
route
;
location
.
route
=
route
.
ToString
();
location
.
status
=
(
int
)
LocationStatus
.
In
;
_automationLocation
.
Update
(
location
);
Logger
.
WriteLineInfo
(
$"PlCfeeback 工装储位
{
taskObj
.
locationid
}
工序
{
location
.
routeid
}
-
{
location
.
routenum
}
完成"
);
Logger
.
WriteLineInfo
(
$"PlCfeeback 工装储位
{
taskObj
.
locationid
}
下一工序
{
route
}
更新完成"
);
//if (route.id == location.routeid)
//{
// Logger.WriteLineInfo($"PlCfeeback 工装储位{taskObj.locationid} 工序{location.routeid}-{location.routenum}完成");
// //最后一道工序
// location.routeid = 0;
// location.route = "0";
// location.status = (int)LocationStatus.In;
// _automationLocation.Update(location);
//}
//else
//{
// Logger.WriteLineInfo($"PlCfeeback 工装储位{taskObj.locationid} 工序{location.routeid}-{location.routenum}为完成");
//}
}
if
(
monitor
==
null
)
{
_automationFixtureMonitor
.
Insert
(
new
siger_automation_fixture_tools_monitor
...
...
@@ -451,18 +448,18 @@ namespace Siger.ApiACC.Controllers
//添加SN记录
_automationProduceHistory
.
Insert
(
new
siger_automation_produce_history
{
section
=
taskObj
.
sectionid
,
sn
=
taskObj
.
sn
,
locationid
=
taskObj
.
locationid
,
productcode
=
taskObj
.
productcode
,
productname
=
taskObj
.
productname
,
productid
=
taskObj
.
productid
,
projectId
=
taskObj
.
projectId
,
route
=
taskObj
.
route
.
ToString
(),
status
=
1
,
locationname
=
location
.
location_cid
.
ToString
(),
updatetime
=
DateTime
.
Now
,
section
=
taskObj
.
sectionid
,
sn
=
taskObj
.
sn
,
locationid
=
taskObj
.
locationid
,
productcode
=
taskObj
.
productcode
,
productname
=
taskObj
.
productname
,
productid
=
taskObj
.
productid
,
projectId
=
taskObj
.
projectId
,
route
=
taskObj
.
route
.
ToString
(),
status
=
1
,
locationname
=
location
.
location_cid
.
ToString
(),
updatetime
=
DateTime
.
Now
,
});
...
...
@@ -502,6 +499,7 @@ namespace Siger.ApiACC.Controllers
Logger
.
WriteLineInfo
(
$"AutoProcess 设备属性未配置"
);
return
;
}
//立库工位
var
invenSection
=
_automationSectionProperty
.
Get
(
f
=>
f
.
propertytype
==
5
);
if
(
invenSection
==
null
)
{
...
...
@@ -545,7 +543,7 @@ namespace Siger.ApiACC.Controllers
lastTask
.
extend1
=
string
.
Empty
;
_automationTaskList
.
Update
(
lastTask
);
Logger
.
WriteLineInfo
(
$"自动化业务流转--AutoProcess section
{
cleanMachine
.
section
}
task:
{
TaskAction
.
Step_QXJ_LK
.
ToStr
()}
sn
{
lastTask
.
sn
}
"
);
CreateTask
(
invenSection
.
sectionid
,
TaskActionType
.
Unload
,
TaskAction
.
Step_QXJ_LK
,
lastTask
.
fixtureguid
,
lastTask
.
fixturename
,
lastTask
.
ordercode
,
lastTask
.
sn
,
"无程序"
,
lastTask
.
productid
,
lastTask
.
productcode
,
lastTask
.
productname
,
lastTask
.
locationid
,
lastTask
.
route
);
CreateTask
(
invenSection
.
sectionid
,
cleanMachine
.
section
,
TaskActionType
.
Unload
,
TaskAction
.
Step_QXJ_LK
,
lastTask
.
fixtureguid
,
lastTask
.
fixturename
,
lastTask
.
ordercode
,
lastTask
.
sn
,
"无程序"
,
lastTask
.
productid
,
lastTask
.
productcode
,
lastTask
.
productname
,
lastTask
.
locationid
,
lastTask
.
route
);
return
;
//完成当前任务 退出
}
}
...
...
@@ -560,7 +558,7 @@ namespace Siger.ApiACC.Controllers
if
(
location
!=
null
)
{
Logger
.
WriteLineInfo
(
$"自动化业务流转--AutoProcess section
{
location
.
section
}
task:
{
TaskAction
.
Step_LK_JGZX
.
ToStr
()}
sn
{
location
.
sn
}
"
);
CreateTask
(
location
.
section
,
TaskActionType
.
Load
,
TaskAction
.
Step_LK_JGZX
,
location
.
fixture
,
location
.
fixturename
,
location
.
ordernumber
,
location
.
sn
,
location
.
pn
,
location
.
productId
,
location
.
productCode
,
location
.
productName
,
location
.
location
,
location
.
route
);
CreateTask
(
location
.
section
,
location
.
section
,
TaskActionType
.
Load
,
TaskAction
.
Step_LK_JGZX
,
location
.
fixture
,
location
.
fixturename
,
location
.
ordernumber
,
location
.
sn
,
location
.
pn
,
location
.
productId
,
location
.
productCode
,
location
.
productName
,
location
.
location
,
location
.
route
);
}
}
...
...
@@ -585,7 +583,7 @@ namespace Siger.ApiACC.Controllers
return
;
}
//创建CNC 下料到清洗机
CreateTask
(
cleanMachine
.
section
,
TaskActionType
.
Unload
,
TaskAction
.
Step_JGZX_QXJ
,
tasklist
.
fixtureguid
,
tasklist
.
fixturename
,
tasklist
.
ordercode
,
tasklist
.
sn
,
tasklist
.
programnumber
,
tasklist
.
productid
,
tasklist
.
productcode
,
tasklist
.
productname
,
tasklist
.
locationid
,
tasklist
.
route
);
CreateTask
(
cleanMachine
.
section
,
fullMachine
.
section
,
TaskActionType
.
Unload
,
TaskAction
.
Step_JGZX_QXJ
,
tasklist
.
fixtureguid
,
tasklist
.
fixturename
,
tasklist
.
ordercode
,
tasklist
.
sn
,
tasklist
.
programnumber
,
tasklist
.
productid
,
tasklist
.
productcode
,
tasklist
.
productname
,
tasklist
.
locationid
,
tasklist
.
route
);
return
;
//完成当前任务 退出
}
else
...
...
@@ -598,7 +596,7 @@ namespace Siger.ApiACC.Controllers
if
(
lastTask
!=
null
)
{
Logger
.
WriteLineInfo
(
$"自动化业务流转--AutoProcess section
{
fullMachine
.
section
}
task:
{
TaskAction
.
Step_JGZX_QXJ
.
ToStr
()}
sn
{
lastTask
.
sn
}
"
);
CreateTask
(
cleanMachine
.
section
,
TaskActionType
.
Unload
,
TaskAction
.
Step_JGZX_QXJ
,
lastTask
.
fixtureguid
,
lastTask
.
fixturename
,
lastTask
.
ordercode
,
lastTask
.
sn
,
lastTask
.
programnumber
,
lastTask
.
productid
,
lastTask
.
productcode
,
lastTask
.
productname
,
lastTask
.
locationid
,
lastTask
.
route
);
CreateTask
(
cleanMachine
.
section
,
fullMachine
.
section
,
TaskActionType
.
Unload
,
TaskAction
.
Step_JGZX_QXJ
,
lastTask
.
fixtureguid
,
lastTask
.
fixturename
,
lastTask
.
ordercode
,
lastTask
.
sn
,
lastTask
.
programnumber
,
lastTask
.
productid
,
lastTask
.
productcode
,
lastTask
.
productname
,
lastTask
.
locationid
,
lastTask
.
route
);
}
}
}
...
...
@@ -610,15 +608,21 @@ namespace Siger.ApiACC.Controllers
/// <summary>
/// 创建自动任务
/// </summary>
/// <param name="section"></param>
/// <param name="toSection"></param>
/// <param name="fromSection"></param>
/// <param name="actionType"></param>
/// <param name="taskAction"></param>
/// <param name="guid">工装GUID</param>
/// <param name="fixtruename"></param>
/// <param name="orderno">订单</param>
/// <param name="sn">工件</param>
/// <param name="program"></param>
/// <param name="productId"></param>
/// <param name="productCode">产品CODE</param>
/// <param name="productName"></param>
/// <param name="locationid">储位ID</param>
void
CreateTask
(
int
section
,
TaskActionType
actionType
,
TaskAction
taskAction
,
string
guid
,
string
fixtruename
,
string
orderno
,
string
sn
,
string
program
,
int
productId
,
string
productCode
,
string
productName
,
int
locationid
,
int
route
)
/// <param name="route"></param>
void
CreateTask
(
int
toSection
,
int
fromSection
,
TaskActionType
actionType
,
TaskAction
taskAction
,
string
guid
,
string
fixtruename
,
string
orderno
,
string
sn
,
string
program
,
int
productId
,
string
productCode
,
string
productName
,
int
locationid
,
int
route
)
{
var
taskNo
=
_automationTaskList
.
CrateTaskNumber
(
Automation
.
TaskTrigerType
.
Auto
);
...
...
@@ -626,7 +630,7 @@ namespace Siger.ApiACC.Controllers
{
no
=
taskNo
,
projectId
=
PID
,
sectionid
=
s
ection
,
sectionid
=
toS
ection
,
trigger
=
TaskTrigerType
.
Auto
,
action
=
taskAction
,
actiontype
=
ExcueType
.
None
,
...
...
@@ -648,11 +652,12 @@ namespace Siger.ApiACC.Controllers
sn
=
sn
,
remark
=
EnumHelper
.
GetEnumDesc
(
taskAction
),
route
=
route
,
extend1
=
fromSection
.
ToString
()
});
if
(
_unitOfWork
.
Commit
()
>
0
)
Logger
.
WriteLineInfo
(
$"CreateTask sectionId:
{
s
ection
}
工站
{
EnumHelper
.
GetEnumDesc
(
taskAction
)}
完成"
);
Logger
.
WriteLineInfo
(
$"CreateTask sectionId:
{
fromSection
}
工站->
{
toS
ection
}
工站
{
EnumHelper
.
GetEnumDesc
(
taskAction
)}
完成"
);
else
Logger
.
WriteLineInfo
(
$"CreateTask sectionId:
{
s
ection
}
工站
{
EnumHelper
.
GetEnumDesc
(
taskAction
)}
失败"
);
Logger
.
WriteLineInfo
(
$"CreateTask sectionId:
{
fromSection
}
工站->
{
toS
ection
}
工站
{
EnumHelper
.
GetEnumDesc
(
taskAction
)}
失败"
);
}
/// <summary>
/// 自动匹配储位 储位 ->CNC
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationOperateController.cs
View file @
aa1df8d2
...
...
@@ -185,11 +185,11 @@ namespace Siger.ApiACC.Controllers
{
throw
new
BadRequestException
(
AccEnum
.
LineIsAutoMode
);
}
var
section
=
taskobj
.
sectionid
;
var
section
=
taskobj
.
extend1
.
ToInt
()
;
//抽检台-》上料位特殊逻辑
if
(
taskobj
.
action
==
Automation
.
TaskAction
.
Step_CJT_SXLW
)
{
section
=
taskobj
.
extend1
.
ToInt
()
;
section
=
taskobj
.
sectionid
;
}
var
attr
=
_sigerProjectMachineAttribution
.
Get
(
f
=>
f
.
station
==
section
&&
f
.
status
==
1
);
...
...
@@ -354,6 +354,11 @@ namespace Siger.ApiACC.Controllers
{
throw
new
BadRequestException
(
AccEnum
.
ProductRouteMissing
);
}
var
invenProperty
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
propertytype
==
5
);
if
(
invenProperty
==
null
)
{
throw
new
BadRequestException
(
AccEnum
.
SectionPropertyNull
);
}
var
unixtime
=
UnixTimeHelper
.
GetNow
();
_automationTaskList
.
Insert
(
new
siger_automation_task_list
{
...
...
@@ -381,7 +386,7 @@ namespace Siger.ApiACC.Controllers
programnumber
=
""
,
remark
=
"手动任务-准备上料"
,
route
=
route
.
id
,
extend1
=
""
extend1
=
loading
.
section
.
ToStr
(),
});
...
...
@@ -404,7 +409,12 @@ namespace Siger.ApiACC.Controllers
[
HttpPost
]
public
IActionResult
CompalateAssemble
([
FromBody
]
requestAutoCompalateAssemble
assemble
)
{
var
invenProperty
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
propertytype
==
5
);
if
(
invenProperty
==
null
)
{
throw
new
BadRequestException
(
AccEnum
.
SectionPropertyNull
);
}
var
upload
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
sectionid
==
assemble
.
section
);
if
(
upload
==
null
)
{
...
...
@@ -447,7 +457,7 @@ namespace Siger.ApiACC.Controllers
tasktype
=
Automation
.
TaskActionType
.
Load
,
operater
=
UserId
,
operatetime
=
DateTime
.
Now
,
sectionid
=
assemble
.
section
,
sectionid
=
invenProperty
.
sectionid
,
send
=
0
,
status
=
1
,
completetime
=
DateTime
.
MinValue
,
...
...
@@ -464,7 +474,8 @@ namespace Siger.ApiACC.Controllers
processid
=
0
,
programnumber
=
""
,
remark
=
"手动任务-安装完成"
,
route
=
monitor
.
route
route
=
monitor
.
route
,
extend1
=
assemble
.
section
.
ToStr
()
});
monitor
.
taskno
=
taskNo
;
...
...
@@ -489,7 +500,11 @@ namespace Siger.ApiACC.Controllers
[
HttpPost
]
public
IActionResult
Unloading
([
FromBody
]
requestAutomationUnloading
unloading
)
{
var
invenProperty
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
propertytype
==
5
);
if
(
invenProperty
==
null
)
{
throw
new
BadRequestException
(
AccEnum
.
SectionPropertyNull
);
}
var
upload
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
sectionid
==
unloading
.
section
);
if
(
upload
==
null
)
{
...
...
@@ -541,6 +556,8 @@ namespace Siger.ApiACC.Controllers
var
taskNo
=
_automationTaskList
.
CrateTaskNumber
(
Automation
.
TaskTrigerType
.
Manual
);
var
action
=
lineMode
.
inspect
==
1
?
Automation
.
TaskAction
.
Step_LK_CJT
:
Automation
.
TaskAction
.
Step_LK_SXLW
;
var
section
=
unloading
.
section
;
var
fromSection
=
unloading
.
section
;
if
(
lineMode
.
inspect
==
1
)
{
var
sectionProperty
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
propertytype
==
3
);
...
...
@@ -549,6 +566,7 @@ namespace Siger.ApiACC.Controllers
throw
new
BadRequestException
(
AccEnum
.
SectionPropertyNull
);
}
section
=
sectionProperty
.
sectionid
;
fromSection
=
sectionProperty
.
sectionid
;
}
var
tasklst
=
_automationTaskList
.
GetList
(
f
=>
f
.
sectionid
==
unloading
.
section
&&
f
.
action
==
action
&&
f
.
status
!=(
int
)
TaskResultStatus
.
Complated
);
if
(
tasklst
.
Any
())
...
...
@@ -565,7 +583,7 @@ namespace Siger.ApiACC.Controllers
tasktype
=
Automation
.
TaskActionType
.
Load
,
operater
=
UserId
,
operatetime
=
DateTime
.
MinValue
,
sectionid
=
unloading
.
section
,
sectionid
=
section
,
send
=
0
,
status
=
1
,
completetime
=
DateTime
.
MinValue
,
...
...
@@ -580,7 +598,7 @@ namespace Siger.ApiACC.Controllers
processid
=
0
,
programnumber
=
""
,
remark
=
lineMode
.
inspect
==
1
?
"准备下料-》抽检台"
:
"准备下料"
,
extend1
=
section
.
ToStr
()
extend1
=
fromSection
.
ToString
()
});
...
...
@@ -603,9 +621,7 @@ namespace Siger.ApiACC.Controllers
[
HttpPost
]
public
IActionResult
Disassemble
([
FromBody
]
Requestdisassemble
disassemble
)
{
var
upload
=
_sectionPropertyRepository
.
Get
(
f
=>
f
.
sectionid
==
disassemble
.
section
);
if
(
upload
==
null
)
{
...
...
@@ -644,7 +660,7 @@ namespace Siger.ApiACC.Controllers
tasktype
=
Automation
.
TaskActionType
.
Load
,
operater
=
UserId
,
operatetime
=
DateTime
.
Now
,
sectionid
=
unloadSection
,
sectionid
=
sectionProperty
.
sectionid
,
send
=
0
,
status
=
1
,
completetime
=
DateTime
.
MinValue
,
...
...
@@ -659,10 +675,9 @@ namespace Siger.ApiACC.Controllers
processid
=
0
,
programnumber
=
""
,
remark
=
"手动任务-拆卸完成"
,
extend1
=
disassemble
.
section
.
ToStr
()
});
//移出 上料位
if
(
_unitOfWork
.
Commit
()
>
0
)
{
Logger
.
WriteLineError
(
$"拆卸完成任务
{
taskNo
}
创建成功-
{
EnumHelper
.
GetEnumDesc
(
Automation
.
TaskAction
.
Step_SXLW_LK
)}
"
);
...
...
Server/Apis/Siger.ApiACC/Controllers/QmsCheckController.cs
View file @
aa1df8d2
...
...
@@ -329,7 +329,7 @@ namespace Siger.ApiACC.Controllers
private
void
CreateTaskList
(
int
section
,
int
productid
,
string
productcode
,
string
sn
,
int
routeid
)
{
var
tasklist
=
_automationTaskList
.
GetList
(
f
=>
f
.
extend1
==
section
.
ToString
()
&&
f
.
action
==
Automation
.
TaskAction
.
Step_LK_CJT
).
LastOrDefault
();
var
tasklist
=
_automationTaskList
.
GetList
(
f
=>
f
.
sectionid
==
section
&&
f
.
action
==
Automation
.
TaskAction
.
Step_LK_CJT
).
LastOrDefault
();
if
(
tasklist
==
null
)
{
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
...
...
@@ -347,7 +347,7 @@ namespace Siger.ApiACC.Controllers
tasktype
=
Automation
.
TaskActionType
.
Unload
,
operater
=
UserId
,
operatetime
=
DateTime
.
Now
,
sectionid
=
section
,
sectionid
=
tasklist
.
extend1
.
ToInt
()
,
send
=
0
,
status
=
1
,
completetime
=
DateTime
.
MinValue
,
...
...
@@ -365,7 +365,7 @@ namespace Siger.ApiACC.Controllers
processid
=
routeid
,
programnumber
=
""
,
remark
=
"质量检验->上下料位置"
,
extend1
=
""
,
//上下料位发起到检验的工站
extend1
=
section
.
ToStr
()
,
//上下料位发起到检验的工站
});
...
...
Server/Apis/Siger.ApiACC/Controllers/SectionPropertyController.cs
View file @
aa1df8d2
...
...
@@ -68,7 +68,7 @@ namespace Siger.ApiACC.Controllers
[
HttpGet
]
public
IActionResult
GetMonitorSnProduct
(
int
sectionid
)
{
var
tasklist
=
_taskListRepository
.
GetList
(
f
=>
f
.
extend1
==
sectionid
.
ToString
()
&&
f
.
action
==
Automation
.
TaskAction
.
Step_LK_CJT
).
LastOrDefault
();
var
tasklist
=
_taskListRepository
.
GetList
(
f
=>
f
.
sectionid
==
sectionid
&&
f
.
action
==
Automation
.
TaskAction
.
Step_LK_CJT
).
LastOrDefault
();
if
(
tasklist
==
null
)
{
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
...
...
Server/Apis/Siger.ApiACC/Tasks/AutoMES.cs
View file @
aa1df8d2
...
...
@@ -46,11 +46,11 @@ namespace Siger.ApiACC.Tasks
if
(
task
.
send
==
1
)
return
;
var
section
=
task
.
sectionid
;
var
section
=
task
.
extend1
.
ToInt
()
;
//抽检台-》上料位特殊逻辑
if
(
task
.
action
==
Automation
.
TaskAction
.
Step_CJT_SXLW
)
if
(
task
.
action
==
Automation
.
TaskAction
.
Step_CJT_SXLW
)
{
section
=
dbhelper
.
GetPreStation
(
task
)
;
section
=
task
.
sectionid
;
}
var
levelsction
=
dbhelper
.
GetLevelsection
(
section
);
if
(
levelsction
==
null
)
...
...
Server/Apis/Siger.ApiACC/Tasks/DBhelper.cs
View file @
aa1df8d2
...
...
@@ -70,15 +70,15 @@ namespace Siger.ApiACC.Tasks
{
return
AccDbContext
.
siger_project_machine_attribution
.
FirstOrDefault
(
f
=>
f
.
station
==
section
&&
f
.
status
==
1
);
}
public
int
GetPreStation
(
siger_automation_task_list
task
)
{
//取抽检工位发起的上料位ID
var
preTask
=
AccDbContext
.
siger_automation_task_list
.
Where
(
f
=>
f
.
sn
==
task
.
sn
&&
f
.
extend1
==
task
.
sectionid
.
ToString
()
&&
f
.
action
==
TaskAction
.
Step_LK_CJT
).
OrderByDescending
(
d
=>
d
.
id
).
FirstOrDefault
();
if
(
preTask
!=
null
)
return
preTask
.
sectionid
;
else
return
0
;
}
//
public int GetPreStation(siger_automation_task_list task )
//
{
//
//取抽检工位发起的上料位ID
//
var preTask = AccDbContext.siger_automation_task_list.Where(f => f.sn == task.sn && f.extend1 == task.sectionid.ToString() && f.action == TaskAction.Step_LK_CJT).OrderByDescending(d => d.id).FirstOrDefault();
//
if (preTask != null)
//
return preTask.sectionid;
//
else
//
return 0;
//
}
public
siger_automation_fixture_tools
GetFixture
(
string
guid
)
{
return
AccDbContext
.
siger_automation_fixture_tools
.
FirstOrDefault
(
f
=>
f
.
guid
==
guid
&&
f
.
status
==
1
);
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Entities/siger_automation_task_list.cs
View file @
aa1df8d2
...
...
@@ -24,7 +24,7 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// </summary>
public
string
fixturename
{
get
;
set
;
}
/// <summary>
/// 工位ID
/// 工位ID
目的
/// </summary>
public
int
sectionid
{
get
;
set
;
}
/// <summary>
...
...
@@ -103,7 +103,7 @@ namespace Siger.Middlelayer.AccRepository.Entities
public
string
remark
{
get
;
set
;
}
/// <summary>
///
准备前往下一个
工站ID
///
发起
工站ID
/// </summary>
public
string
extend1
{
get
;
set
;
}
...
...
Server/PC/Siger.Middlelayer.License/obj/Debug/Siger.Middlelayer.License_MarkupCompile.cache
View file @
aa1df8d2
...
...
@@ -4,15 +4,15 @@
winexe
C#
.cs
E:\gitlabcode
\Laisi_AutoMES2\Server\PC\Siger.Middlelayer.License\obj\Debug\
D:\Code\20210208
\Laisi_AutoMES2\Server\PC\Siger.Middlelayer.License\obj\Debug\
Siger.Middlelayer.License
none
false
DEBUG;TRACE
E:\gitlabcode
\Laisi_AutoMES2\Server\PC\Siger.Middlelayer.License\App.xaml
D:\Code\20210208
\Laisi_AutoMES2\Server\PC\Siger.Middlelayer.License\App.xaml
11151548125
13
8765104
70
13
-9178831
70
121654848548
MainWindow.xaml;
...
...
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