Commit 2e9193a7 by jiawei.su

someupdate

parent 1b6a2d13
[DbSetting]
UseOneDb=false
DbConnection=Server=mysql.siger-data.com;port=3306;database=sigerlaisi;charset=utf8;uid=siger;password=Siger_123
DbConnectionKM=Server=mysql.siger-data.com;port=3306;charset=utf8;uid=siger;password=Siger_123
DbConnectionTrace=Server=mysql.siger-data.com;port=3306;database=155_155;charset=utf8;uid=siger;password=Siger_123;Allow User Variables=True;
[RedisSetting]
ConnectionString=redis.siger-data.com,password=ky701@YH.com,ssl=false,writeBuffer=10240
PoolSize=1
DefaultDatabase=0
TokenExpiryMinutes=130
[DbClusterSetting]
ClusterConnection=Server=172.8.10.109;port=3306;database=siger;charset=utf8;uid=siger;password=Siger_123
ClusterConnectionKM=Server=172.8.10.109;port=3306;charset=utf8;uid=siger;password=Siger_123
RedisHost=172.8.10.105:7000;172.8.10.105:7001;172.8.10.106:7002;172.8.10.106:7003;172.8.10.107:7004;172.8.10.107:7005
[Task]
Start=0
[LogSetting]
Type=1
[FileSetting]
PhysicalFolder=TemporaryFiles
RequestPath=Files
[ConsulEnabledSetting]
Enabled=0
[PythonPathSetting]
PyPath=/root/miniconda3/bin/python3.7
[Register]
License=a7OIdILhmFICTay3U+952Fx1vl6vzT4T5E/Fto5zrNgoK49j3zOoU/H2ppaP/Jd8xLR6tJY7jgXCoXJCe09PNN7sjDTpRRCUkxWgCIuDhWRGERvo7HTEPA==
AppKey="123123"
\ No newline at end of file
[program:9MiddlerServer]
command=dotnet Siger.Middlelayer.ApiGateway.dll --port 8100
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9ConfigServer]
command=dotnet Siger.ApiConfig.dll --port 8101
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9CncServer]
command=dotnet Siger.ApiCNC.dll --port 8102
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9DncServer]
command=dotnet Siger.ApiDNC.dll --port 8103
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9EsopServer]
command=dotnet Siger.ApiEsop.dll --port 8104
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
[program:9TpmServer]
command=dotnet Siger.ApiTPM.dll --port 8105
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9ACCServer]
command=dotnet Siger.ApiACC.dll --port 8106
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9QMSServer]
command=dotnet Siger.ApiQMS.dll --port 8107
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9WMSServer]
command=dotnet Siger.ApiWMS.dll --port 8108
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2MiddlerServer]
command=dotnet Siger.Middlelayer.ApiGateway.dll --port 7405
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2ConfigServer]
command=dotnet Siger.ApiConfig.dll --port 7402
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2TpmServer]
command=dotnet Siger.ApiTPM.dll --port 7415
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2QMSServer]
command=dotnet Siger.ApiQMS.dll --port 7416
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2DashboardServer]
command=dotnet Siger.ApiDashboard.dll --port 7417
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2CNCServer]
command=dotnet Siger.ApiCNC.dll --port 7401
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2ChanglingServer]
command=dotnet Siger.ApiChangLing.dll --port 7408
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:CL2DNCServer]
command=dotnet Siger.ApiDNC.dll --port 7406
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9MiddlerServer]
command=dotnet Siger.Middlelayer.ApiGateway.dll --port 8100
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9ConfigServer]
command=dotnet Siger.ApiConfig.dll --port 8101
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9CncServer]
command=dotnet Siger.ApiCNC.dll --port 8102
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9DncServer]
command=dotnet Siger.ApiDNC.dll --port 8103
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9EsopServer]
command=dotnet Siger.ApiEsop.dll --port 8104
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
[program:9ACCServer]
command=dotnet Siger.ApiACC.dll --port 8106
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9QMSServer]
command=dotnet Siger.ApiQMS.dll --port 8107
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
[program:9WMSServer]
command=dotnet Siger.ApiWMS.dll --port 8108
directory=/usr/local/server
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
\ No newline at end of file
user root;
worker_processes 2;
error_log /usr/local/nginx/logs/nginx_error.log crit;
worker_rlimit_nofile 51200;
pid /usr/local/nginx/conf/nginx.pid;
events {
use epoll;
worker_connections 8000;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 3526;
server_names_hash_max_size 4096;
log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
'$host "$request_uri" $status'
'"$http_referer" "$http_user_agent"';
sendfile on;
tcp_nopush on;
keepalive_timeout 300;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
connection_pool_size 256;
client_header_buffer_size 16k;
large_client_header_buffers 8 4k;
fastcgi_buffers 8 128k;
request_pool_size 4k;
output_buffers 4 32k;
postpone_output 1460;
client_max_body_size 200m;
client_body_buffer_size 256k;
fastcgi_intercept_errors on;
tcp_nodelay on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_comp_level 5;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/css text/htm application/xml;
#servers
upstream node{
server 127.0.0.1:8100;
}
upstream hehong{
server 127.0.0.1:18105;
}
server {
listen 80;
location / {
root html;
index index.html index.html;
}
location /onestop {
alias /usr/local/nginx/html;
index index.html index.html;
}
location ~^/apis/{
rewrite ^/apis/(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://node;
}
location /onestop/apis{
rewrite ^/onestop/apis/(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://node;
}
}
server {
listen 8080;
location / {
root /usr/local/nginx/hehong_html;
}
location ~^/apis/{
rewrite ^/apis/(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://hehong;
}
}
}
...@@ -8,6 +8,7 @@ using Siger.Middlelayer.AccRepository.Entities; ...@@ -8,6 +8,7 @@ using Siger.Middlelayer.AccRepository.Entities;
using Siger.Middlelayer.AccRepository.Repositories.Interface; using Siger.Middlelayer.AccRepository.Repositories.Interface;
using Siger.Middlelayer.AccRepository.Request; using Siger.Middlelayer.AccRepository.Request;
using Siger.Middlelayer.Common; using Siger.Middlelayer.Common;
using Siger.Middlelayer.Common.Extensions;
using Siger.Middlelayer.Common.Log; using Siger.Middlelayer.Common.Log;
using Siger.Middlelayer.Common.ModuleEnum; using Siger.Middlelayer.Common.ModuleEnum;
using Siger.Middlelayer.Repository; using Siger.Middlelayer.Repository;
...@@ -26,8 +27,10 @@ namespace Siger.ApiACC.Controllers ...@@ -26,8 +27,10 @@ namespace Siger.ApiACC.Controllers
private readonly IAutomationMachineStatus _automationMachineStatus; private readonly IAutomationMachineStatus _automationMachineStatus;
private readonly ISigerDict _sigerDict; private readonly ISigerDict _sigerDict;
private readonly IAutomationTaskListRepository _automationTaskList; private readonly IAutomationTaskListRepository _automationTaskList;
private readonly ISigerProjectMachineAttributionRepository _sigerProjectMachineAttribution;
public AutomationController(IUnitOfWork unitOfWork,ISigerProjectLevelSectionRepository sigerProjectLevelSection,IAutomationLineMode automationLineMode,IAutomationMachineStatus automationMachineStatus,ISigerDict sigerDict,IAutomationTaskListRepository automationTaskList) public AutomationController(IUnitOfWork unitOfWork,ISigerProjectLevelSectionRepository sigerProjectLevelSection,IAutomationLineMode automationLineMode,IAutomationMachineStatus automationMachineStatus,ISigerDict sigerDict,IAutomationTaskListRepository automationTaskList,
ISigerProjectMachineAttributionRepository sigerProjectMachineAttribution)
{ {
_unitOfWork = unitOfWork; _unitOfWork = unitOfWork;
_sigerProjectLevelSection = sigerProjectLevelSection; _sigerProjectLevelSection = sigerProjectLevelSection;
...@@ -35,6 +38,7 @@ namespace Siger.ApiACC.Controllers ...@@ -35,6 +38,7 @@ namespace Siger.ApiACC.Controllers
_automationMachineStatus = automationMachineStatus; _automationMachineStatus = automationMachineStatus;
_sigerDict = sigerDict; _sigerDict = sigerDict;
_automationTaskList = automationTaskList; _automationTaskList = automationTaskList;
_sigerProjectMachineAttribution = sigerProjectMachineAttribution;
} }
/// <summary> /// <summary>
...@@ -45,10 +49,16 @@ namespace Siger.ApiACC.Controllers ...@@ -45,10 +49,16 @@ namespace Siger.ApiACC.Controllers
[HttpPost] [HttpPost]
public IActionResult MachineStatus([FromBody]RequestAutomationMachine request) public IActionResult MachineStatus([FromBody]RequestAutomationMachine request)
{ {
var machineAttr = _sigerProjectMachineAttribution.Get(f => f.projectid == PID && f.machine == request.machineid);
if (machineAttr==null)
{
throw new BadRequestException(ConfigEnum.MachineAttributionNotFound);
}
var exitsObj = _automationMachineStatus.Get(f => f.machineid == request.machineid); var exitsObj = _automationMachineStatus.Get(f => f.machineid == request.machineid);
if (exitsObj==null) if (exitsObj==null)
{ {
_automationMachineStatus.Insert(new siger_automation_machine_status{ _automationMachineStatus.Insert(new siger_automation_machine_status{
section=machineAttr.station,
machineid=request.machineid, machineid=request.machineid,
projectId=PID, projectId=PID,
updatetime=DateTime.Now, updatetime=DateTime.Now,
...@@ -61,12 +71,82 @@ namespace Siger.ApiACC.Controllers ...@@ -61,12 +71,82 @@ namespace Siger.ApiACC.Controllers
exitsObj.status = request.status; exitsObj.status = request.status;
exitsObj.updatetime = DateTime.Now; exitsObj.updatetime = DateTime.Now;
} }
if (_unitOfWork.Commit() > 0) if (_unitOfWork.Commit() > 0)
{
// 设备空闲,或者完成时触发 自动任务
if (request.enable == 1)
{
if (request.status == (int)Automation.MachineStatus.Waiting || request.status == (int)Automation.MachineStatus.Complated)
{
var tasklist = _automationTaskList.GetList(f => f.projectId == PID && f.status >= (int)TaskResultStatus.Cancel && f.status < (int)TaskResultStatus.Complated);
if (!tasklist.Any())
{
var section = _sigerProjectLevelSection.Get(f => f.id == machineAttr.station);
if (section != null)
{
Logger.WriteLineInfo($"MachineStatus 设备状态 触发自动任务检查");
AutoProcess(section.parentid);
}
}
}
}
return new ObjectResult(CommonEnum.Succefull); return new ObjectResult(CommonEnum.Succefull);
}
else else
{
throw new BadRequestException(CommonEnum.Fail); throw new BadRequestException(CommonEnum.Fail);
}
}
/// <summary>
/// 产线模式 0:手动模式 /1:自动模式(产生自动任务)
/// </summary>
/// <param name="line"></param>
/// <param name="mode"></param>
/// <returns></returns>
public IActionResult LineMode(int line, int mode)
{
var exitObj = _automationLineMode.Get(f => f.section == line);
if (exitObj == null)
{
_automationLineMode.Insert(new siger_automation_line_mode
{
section = line,
projectId = PID,
status = 1,
updatetime = DateTime.Now,
mode = mode
});
}
else
{
exitObj.updatetime = DateTime.Now;
exitObj.mode = mode;
}
if (_unitOfWork.Commit() > 0)
{
if (mode == 1)
{
//TODO
//手动-》自动 时
//task 无任务时候 ,根据设备状态创建任务
var tasklist = _automationTaskList.GetList(f => f.projectId == PID && f.status >= (int)TaskResultStatus.Cancel && f.status < (int)TaskResultStatus.Complated);
if (!tasklist.Any())
{
Logger.WriteLineInfo($"LineMode Mode=1 触发自动任务检查");
AutoProcess(line);
}
}
return new ObjectResult(CommonEnum.Succefull);
}
else
{
throw new BadRequestException(CommonEnum.Fail);
}
} }
/// <summary> /// <summary>
/// 任务状态接口 用于保存PLC 实时任务状态 () /// 任务状态接口 用于保存PLC 实时任务状态 ()
...@@ -107,7 +187,11 @@ namespace Siger.ApiACC.Controllers ...@@ -107,7 +187,11 @@ namespace Siger.ApiACC.Controllers
case (int)TaskResultStatus.Cancel: case (int)TaskResultStatus.Cancel:
case (int)TaskResultStatus.Complated: case (int)TaskResultStatus.Complated:
{ {
CreateAutoTask(taskObj); var section = _sigerProjectLevelSection.Get(f => f.id == taskObj.sectionid);
if (section != null)
{
AutoProcess(section.parentid);
}
break; break;
} }
case (int)TaskResultStatus.Waiting: case (int)TaskResultStatus.Waiting:
...@@ -123,83 +207,110 @@ namespace Siger.ApiACC.Controllers ...@@ -123,83 +207,110 @@ namespace Siger.ApiACC.Controllers
/// <summary> /// <summary>
/// 创建自动 Task任务 /// 创建自动 Task任务
/// </summary> /// </summary>
/// <param name="tasklist"></param> /// <param name="line"></param>
void CreateAutoTask(siger_automation_task_list tasklist) void AutoProcess(int line)
{ {
var section = _sigerProjectLevelSection.Get(f => f.id == tasklist.startsection); var lineMode = _automationLineMode.Get(f => f.projectId == PID && f.section == line);
if (section == null)
{
Logger.WriteLineInfo($"CreateAutoTask 工站未找到");
throw new BadRequestException(RequestEnum.LevelSectionNotFound);
}
var lineMode = _automationLineMode.Get(f => f.projectId == PID && f.section == section.parentid);
if (lineMode==null) if (lineMode==null)
{ {
Logger.WriteLineInfo($"CreateAutoTask 产线未找到"); Logger.WriteLineInfo($"AutoProcess 产线模式未找到");
throw new BadRequestException(RequestEnum.LevelSectionNotFound); throw new BadRequestException(RequestEnum.LevelSectionNotFound);
} }
if (lineMode.mode==0) if (lineMode.mode==0)
{ {
Logger.WriteLineInfo($"CreateAutoTask 手动模式"); Logger.WriteLineInfo($"AutoProcess 手动模式");
//手动模式时 退出 //手动模式时 退出
return; return;
} }
var machineList= _automationMachineStatus.GetList(f => f.projectId == PID && f.enable == 1); /*
//自动Task任务 顺序 //自动Task任务 顺序
//1.清洗机下料 //1.清洗机下料
//2.其他设备上料 //2.其他设备上料
//3.其他设备下料 //3.其他设备下料
*/
var stationDicts = _sigerDict.GetDataByCat(AccDictCost.Automation, PID); var stationDicts = _sigerDict.GetDataByCat(AccDictCost.Automation, PID);
if (!stationDicts.Any()) if (!stationDicts.Any())
{ {
Logger.WriteLineInfo($"CreateAutoTask 未配置设备类型字典"); Logger.WriteLineInfo($"AutoProcess 未配置设备类型字典");
return; return;
} }
var dictClean = stationDicts.FirstOrDefault(s=>s.dkey==DictKeyValConst.CleanStation); var dictClean = stationDicts.FirstOrDefault(s=>s.dkey==DictKeyValConst.CleanStation);
if (dictClean==null) if (dictClean==null)
{ {
Logger.WriteLineInfo($"CreateAutoTask 未配置清洗机字典"); Logger.WriteLineInfo($"AutoProcess 未配置清洗机字典");
return; return;
} }
}
/// <summary> // 获取可用 设备状态列表
/// 产线模式 0:手动模式 /1:自动模式(产生自动任务) var machineStatusList = _automationMachineStatus.GetList(f => f.projectId == PID && f.enable == 1);
/// </summary> if (!machineStatusList.Any())
/// <param name="line"></param>
/// <param name="mode"></param>
/// <returns></returns>
public IActionResult LineMode(int line,int mode)
{
var exitObj = _automationLineMode.Get(f => f.section == line);
if (exitObj==null)
{ {
_automationLineMode.Insert(new siger_automation_line_mode Logger.WriteLineInfo($"AutoProcess 无可用状态的设备");
return;
}
//优先级1 :清洗机完成 。待下料
var cleanMachine = machineStatusList.FirstOrDefault(f => f.machineid == dictClean.dval.ToInt());
if (cleanMachine!=null)
{
if (cleanMachine.status == (int)Automation.MachineStatus.Complated)
{ {
section = line, Logger.WriteLineInfo($"AutoProcess 有清洗机完成,创建清洗剂Task");
projectId = PID, CreateTask(cleanMachine, TaskActionType.Unload, TaskAction.Step_QXJ_LK);
status=1, return; //完成当前任务 退出
updatetime=DateTime.Now, }
mode=mode }
}) ;
}else
//优先级2 :其他设备待上料 (立库->加工中心)
var freeMachine = machineStatusList.FirstOrDefault(f=>f.status==(int)Automation.MachineStatus.Waiting);
if (freeMachine != null)
{ {
exitObj.updatetime = DateTime.Now; Logger.WriteLineInfo($"AutoProcess 普通空闲,创建普通设备上料Task");
exitObj.mode = mode; CreateTask(freeMachine, TaskActionType.Load ,TaskAction.Step_LK_JGZX);
return; //完成当前任务 退出
}
//优先级3:其他设备下料 (加工中心 ->立库)
if (cleanMachine != null)
{
var fullMachine = machineStatusList.FirstOrDefault(f => f.status == (int)Automation.MachineStatus.Complated);
if (fullMachine != null && cleanMachine.status==(int)Automation.MachineStatus.Waiting)
{
Logger.WriteLineInfo($"AutoProcess 普通空闲,创建普通设备下料Task ");
CreateTask(fullMachine, TaskActionType.Unload, TaskAction.Step_JGZX_QXJ);
return; //完成当前任务 退出
}
} }
}
void CreateTask(siger_automation_machine_status machineStatus, TaskActionType actionType, TaskAction taskAction)
{
_automationTaskList.Insert(new siger_automation_task_list
{
projectId = PID,
sectionid = machineStatus.section,
trigger = TaskTrigerType.Auto,
action = taskAction,
actiontype = TaskTrigerType.Auto,//默认自动动作
tasktype = actionType,
triggertime = DateTime.Now,
completetime = DateTime.MinValue,
operatetime = DateTime.MinValue,
send = 0,
operater = 0,
status = 1,
});
if (_unitOfWork.Commit() > 0) if (_unitOfWork.Commit() > 0)
return new ObjectResult(CommonEnum.Succefull); Logger.WriteLineInfo($"CreateTask 工站 完成");
else else
throw new BadRequestException(CommonEnum.Fail); Logger.WriteLineInfo($"CreateTask 工站 失败");
} }
} }
} }
...@@ -80,38 +80,53 @@ namespace Siger.Middlelayer.Share.Enum.ModuleEnum ...@@ -80,38 +80,53 @@ namespace Siger.Middlelayer.Share.Enum.ModuleEnum
/// <summary> /// <summary>
/// 立库->上下料工站 /// 立库->上下料工站
/// </summary> /// </summary>
[Description("立库->上下料工站")] [Description("立库->上下料")]
FirstStep=1, Step_LK_SXLW=1,
/// <summary> /// <summary>
/// 上下料工站->立库 /// 上下料工站->立库
/// </summary> /// </summary>
[Description("上下料工站->立库")] [Description("上下料->立库")]
SecondStep =2, Step_SXLW_LK =2,
/// <summary> /// <summary>
/// 立库->加工中心 /// 立库->加工中心
/// </summary> /// </summary>
[Description("立库->加工中心")] [Description("立库->加工中心")]
ThirdStep =3, Step_LK_JGZX =3,
/// <summary> /// <summary>
/// 加工中心->清洗机 /// 加工中心->清洗机
/// </summary> /// </summary>
[Description("加工中心->清洗机")] [Description("加工中心->清洗机")]
FourStep =4, Step_JGZX_QXJ =4,
/// <summary> /// <summary>
/// 立库->抽检工位 /// 立库->抽检工位
/// </summary> /// </summary>
[Description("立库->抽检工位")] [Description("立库->抽检")]
FiveStep =5, Step_LK_CJT =5,
/// <summary> /// <summary>
/// 抽检工位->上下料工站 /// 抽检工位->上下料工站
/// </summary> /// </summary>
[Description("抽检工位->上下料工站")] [Description("抽检台->上下料位")]
SixStep =6, Step_CJT_SXLW =6,
/// <summary> /// <summary>
/// 清洗->立库 /// 清洗->立库
/// </summary> /// </summary>
[Description("清洗剂->立库")] [Description("清洗机->立库")]
SevenStep =7 Step_QXJ_LK =7,
/// <summary>
/// 加工中心->立库
/// </summary>
[Description("加工中心->立库")]
Step_JGZX_LK =8,
/// <summary>
/// 抽检台->立库
/// </summary>
[Description("抽检台->立库")]
Step_CJT_LK = 9,
/// <summary>
/// 清洗机->加工中心
/// </summary>
[Description("清洗机->加工中心")]
Step_QXJ_JGZX = 10,
} }
} }
} }
...@@ -9,7 +9,13 @@ namespace Siger.Middlelayer.AccRepository.Entities ...@@ -9,7 +9,13 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// </summary> /// </summary>
public class siger_automation_machine_status:AccEntityBase public class siger_automation_machine_status:AccEntityBase
{ {
public string guid { get; set; } /// <summary>
/// 工位ID
/// </summary>
public int section { get; set; }
/// <summary>
/// 设备ID
/// </summary>
public int machineid { get; set; } public int machineid { get; set; }
/// <summary> /// <summary>
/// 1可用 0不可用 /// 1可用 0不可用
......
...@@ -14,7 +14,7 @@ namespace Siger.Middlelayer.AccRepository.Entities ...@@ -14,7 +14,7 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// <summary> /// <summary>
/// 工位ID /// 工位ID
/// </summary> /// </summary>
public string sectionid { get; set; } public int sectionid { get; set; }
/// <summary> /// <summary>
/// 触发方式 /// 触发方式
/// </summary> /// </summary>
...@@ -24,10 +24,6 @@ namespace Siger.Middlelayer.AccRepository.Entities ...@@ -24,10 +24,6 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// </summary> /// </summary>
public TaskActionType tasktype { get; set; } public TaskActionType tasktype { get; set; }
/// <summary> /// <summary>
/// 发起工位
/// </summary>
public int startsection { get; set; }
/// <summary>
/// 工件ID /// 工件ID
/// </summary> /// </summary>
public int materialid { get; set; } public int materialid { get; set; }
......
...@@ -320,7 +320,6 @@ CREATE TABLE IF NOT EXISTS `siger_automation_task_list` ( ...@@ -320,7 +320,6 @@ CREATE TABLE IF NOT EXISTS `siger_automation_task_list` (
`sectionid` int(11) NOT NULL DEFAULT 0 COMMENT '工位ID', `sectionid` int(11) NOT NULL DEFAULT 0 COMMENT '工位ID',
`trigger` int(1) NOT NULL DEFAULT 0 COMMENT '触发方', `trigger` int(1) NOT NULL DEFAULT 0 COMMENT '触发方',
`tasktype` int(1) NOT NULL DEFAULT 0 COMMENT '任务类型', `tasktype` int(1) NOT NULL DEFAULT 0 COMMENT '任务类型',
`startsection` int(11) NOT NULL DEFAULT 0 COMMENT '发起工位',
`materialid` int(11) NOT NULL DEFAULT 0 COMMENT '工件ID', `materialid` int(11) NOT NULL DEFAULT 0 COMMENT '工件ID',
`ordercode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '工单号', `ordercode` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '工单号',
`productid` int(11) NOT NULL DEFAULT 0 COMMENT '产品ID', `productid` int(11) NOT NULL DEFAULT 0 COMMENT '产品ID',
...@@ -328,7 +327,7 @@ CREATE TABLE IF NOT EXISTS `siger_automation_task_list` ( ...@@ -328,7 +327,7 @@ CREATE TABLE IF NOT EXISTS `siger_automation_task_list` (
`programnumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '程序号', `programnumber` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '程序号',
`locationid` int(11) NOT NULL COMMENT '储位位置', `locationid` int(11) NOT NULL COMMENT '储位位置',
`fixturetools` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '工装GUID', `fixturetools` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '工装GUID',
`action` int(1) int(11) NOT NULL DEFAULT 0 COMMENT '动作', `action` int(1) NOT NULL DEFAULT 0 COMMENT '动作',
`actiontype` int(11) NOT NULL DEFAULT 0 COMMENT '动作类型', `actiontype` int(11) NOT NULL DEFAULT 0 COMMENT '动作类型',
`projectid` int(11) NOT NULL DEFAULT 0, `projectid` int(11) NOT NULL DEFAULT 0,
`send` int(1) NOT NULL DEFAULT 0 COMMENT '0:未下发 1:已下发', `send` int(1) NOT NULL DEFAULT 0 COMMENT '0:未下发 1:已下发',
...@@ -349,8 +348,8 @@ CREATE TABLE IF NOT EXISTS `siger_automation_task_list` ( ...@@ -349,8 +348,8 @@ CREATE TABLE IF NOT EXISTS `siger_automation_task_list` (
DROP TABLE IF EXISTS `siger_automation_machine_status`; DROP TABLE IF EXISTS `siger_automation_machine_status`;
CREATE TABLE `siger_automation_machine_status` ( CREATE TABLE `siger_automation_machine_status` (
`id` int(11) NOT NULL AUTO_INCREMENT, `id` int(11) NOT NULL AUTO_INCREMENT,
`guid` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `section` int(11) NOT NULL DEFAULT 0 COMMENT '工位ID',
`machineid` int(11) NOT NULL DEFAULT 0 COMMENT '设备ID', `machineid` int(11) NOT NULL DEFAULT 0 COMMENT '工位对应设备ID',
`projectid` int(11) NOT NULL DEFAULT 0, `projectid` int(11) NOT NULL DEFAULT 0,
`enable` int(1) NOT NULL DEFAULT 1 COMMENT '设备可用状态 0:不可用 1:可用', `enable` int(1) NOT NULL DEFAULT 1 COMMENT '设备可用状态 0:不可用 1:可用',
`status` int(1) NOT NULL DEFAULT 1 COMMENT '完工状态 0:取消 1:待生产 2:生产中 3:生产完成 ', `status` int(1) NOT NULL DEFAULT 1 COMMENT '完工状态 0:取消 1:待生产 2:生产中 3:生产完成 ',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment