Commit 6ab8fbe9 by jiawei.su

someupdate

parent e0c0ef05
...@@ -197,6 +197,15 @@ namespace Siger.ApiACC.Controllers ...@@ -197,6 +197,15 @@ namespace Siger.ApiACC.Controllers
taskObj.status = request.status; taskObj.status = request.status;
_automationTaskList.Update(taskObj); _automationTaskList.Update(taskObj);
var machineStatus = _automationMachineStatus.Get(f => f.section == taskObj.sectionid);
if (machineStatus==null)
{
throw new BadRequestException(AccEnum.MachineDisable);
}
machineStatus.status = request.status;
_automationMachineStatus.Update(machineStatus);
if (_unitOfWork.Commit() <= 0) if (_unitOfWork.Commit() <= 0)
{ {
throw new BadRequestException(CommonEnum.Fail); throw new BadRequestException(CommonEnum.Fail);
...@@ -266,6 +275,12 @@ namespace Siger.ApiACC.Controllers ...@@ -266,6 +275,12 @@ namespace Siger.ApiACC.Controllers
return; return;
} }
var updownDic= stationDicts.Where(s => s.dkey == DictKeyValConst.UploadloadStation);
var uploadStations = updownDic.Select(f => f.dval).ToList();
/* 自动任务创建只有CNC 设备;排除上料设备(手动任务) */
var dictClean = stationDicts.FirstOrDefault(s=>s.dkey==DictKeyValConst.CleanStation); var dictClean = stationDicts.FirstOrDefault(s=>s.dkey==DictKeyValConst.CleanStation);
if (dictClean==null) if (dictClean==null)
{ {
...@@ -287,7 +302,7 @@ namespace Siger.ApiACC.Controllers ...@@ -287,7 +302,7 @@ namespace Siger.ApiACC.Controllers
if (cleanMachine.status == (int)Automation.MachineStatus.Complated) if (cleanMachine.status == (int)Automation.MachineStatus.Complated)
{ {
Logger.WriteLineInfo($"AutoProcess 有清洗机完成,创建清洗剂Task"); Logger.WriteLineInfo($"AutoProcess 有清洗机完成,创建清洗剂Task");
CreateTask(cleanMachine,TaskActionType.Unload, TaskAction.Step_QXJ_LK); CreateTask(cleanMachine,TaskActionType.Unload, TaskAction.Step_QXJ_LK, uploadStations);
return; //完成当前任务 退出 return; //完成当前任务 退出
} }
} }
...@@ -298,7 +313,7 @@ namespace Siger.ApiACC.Controllers ...@@ -298,7 +313,7 @@ namespace Siger.ApiACC.Controllers
if (freeMachine != null) if (freeMachine != null)
{ {
Logger.WriteLineInfo($"AutoProcess 普通空闲,创建普通设备上料Task"); Logger.WriteLineInfo($"AutoProcess 普通空闲,创建普通设备上料Task");
CreateTask(freeMachine,TaskActionType.Load ,TaskAction.Step_LK_JGZX); CreateTask(freeMachine,TaskActionType.Load ,TaskAction.Step_LK_JGZX, uploadStations);
return; //完成当前任务 退出 return; //完成当前任务 退出
} }
//优先级3:其他设备下料 (加工中心 ->立库) //优先级3:其他设备下料 (加工中心 ->立库)
...@@ -308,7 +323,7 @@ namespace Siger.ApiACC.Controllers ...@@ -308,7 +323,7 @@ namespace Siger.ApiACC.Controllers
if (fullMachine != null && cleanMachine.status==(int)Automation.MachineStatus.Waiting) if (fullMachine != null && cleanMachine.status==(int)Automation.MachineStatus.Waiting)
{ {
Logger.WriteLineInfo($"AutoProcess 普通空闲,创建普通设备下料Task "); Logger.WriteLineInfo($"AutoProcess 普通空闲,创建普通设备下料Task ");
CreateTask(fullMachine,TaskActionType.Unload, TaskAction.Step_JGZX_QXJ); CreateTask(fullMachine,TaskActionType.Unload, TaskAction.Step_JGZX_QXJ, uploadStations);
return; //完成当前任务 退出 return; //完成当前任务 退出
} }
...@@ -322,8 +337,15 @@ namespace Siger.ApiACC.Controllers ...@@ -322,8 +337,15 @@ namespace Siger.ApiACC.Controllers
/// <param name="machineStatus"></param> /// <param name="machineStatus"></param>
/// <param name="actionType"></param> /// <param name="actionType"></param>
/// <param name="taskAction"></param> /// <param name="taskAction"></param>
void CreateTask(siger_automation_machine_status machineStatus,TaskActionType actionType, TaskAction taskAction) /// <param name="uploadStations"></param>
void CreateTask(siger_automation_machine_status machineStatus,TaskActionType actionType, TaskAction taskAction,List<string>uploadStations)
{ {
var uploadPostion= uploadStations.Exists(f => f.Contains(machineStatus.section.ToString()));
if (uploadPostion)
{
Logger.WriteLineInfo($"CreateTask 上料料工站 无需自动创建任务 ");
return;
}
//j检查工装监控状态 //j检查工装监控状态
var monitor = _automationFixtureMonitor.Get(f => f.section == machineStatus.section); var monitor = _automationFixtureMonitor.Get(f => f.section == machineStatus.section);
if (monitor==null) if (monitor==null)
......
...@@ -261,7 +261,7 @@ namespace Siger.ApiACC.Controllers ...@@ -261,7 +261,7 @@ namespace Siger.ApiACC.Controllers
productcode=plan.product_code, productcode=plan.product_code,
processid=0, processid=0,
programnumber="", programnumber="",
remark ="手动任务", remark ="手动任务-准备上料",
}); });
...@@ -301,9 +301,14 @@ namespace Siger.ApiACC.Controllers ...@@ -301,9 +301,14 @@ namespace Siger.ApiACC.Controllers
if (_unitOfWork.Commit() > 0) if (_unitOfWork.Commit() > 0)
{
Logger.WriteLineError($"手动任务创建成功-{Siger.Middlelayer.Common.Helpers.EnumHelper.GetEnumDesc(Automation.TaskAction.Step_LK_SXLW)}");
return new ObjectResult(CommonEnum.Succefull); return new ObjectResult(CommonEnum.Succefull);
}
else else
{
throw new BadRequestException(CommonEnum.Fail); throw new BadRequestException(CommonEnum.Fail);
}
} }
/// <summary> /// <summary>
...@@ -337,9 +342,50 @@ namespace Siger.ApiACC.Controllers ...@@ -337,9 +342,50 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(AccEnum.TaskProcessing); throw new BadRequestException(AccEnum.TaskProcessing);
} }
//创建 安装完成动作 //创建 安装完成动作
var monitor = _automationFixtureMonitor.Get(f => f.projectId == ProjectId && f.section == assemble.section);
if (monitor==null)
{
throw new BadRequestException(AccEnum.MonitorNotfound);
}
var taskNo = _automationTaskList.CrateTaskNumber(Automation.TaskTrigerType.Manual);
_automationTaskList.Insert(new siger_automation_task_list
{
no = taskNo,
action = Automation.TaskAction.Step_SXLW_LK,
actiontype = Automation.ExcueType.None,
triggertime = DateTime.MinValue,
tasktype = Automation.TaskActionType.Load,
operater = UserId,
operatetime = DateTime.Now,
sectionid = assemble.section,
send = 0,
status = 1,
completetime = DateTime.MinValue,
trigger = Automation.TaskTrigerType.Manual,
projectId = ProjectId,
productid = 0,
sn = monitor.sn,
ordercode = monitor.ordernumber,
fixtureguid = monitor.fixtureguid,
locationid = monitor.locationId,
productcode = monitor.productCode,
processid = 0,
programnumber = "",
remark = "手动任务-安装完成",
return new ObjectResult(1); });
if (_unitOfWork.Commit() > 0)
{
Logger.WriteLineError($"手动任务创建成功-{Siger.Middlelayer.Common.Helpers.EnumHelper.GetEnumDesc(Automation.TaskAction.Step_SXLW_LK)}");
return new ObjectResult(CommonEnum.Succefull);
}
else
{
throw new BadRequestException(CommonEnum.Fail);
}
} }
/// <summary> /// <summary>
/// 准备下料 /// 准备下料
......
...@@ -332,7 +332,9 @@ namespace Siger.Middlelayer.Common.ModuleEnum ...@@ -332,7 +332,9 @@ namespace Siger.Middlelayer.Common.ModuleEnum
[Description("设备正在空闲中")] [Description("设备正在空闲中")]
MachineOnFree, MachineOnFree,
[Description("设备已经生产完成")] [Description("设备已经生产完成")]
MachineProCompalate MachineProCompalate,
[Description("该设备当前无工装状态")]
MonitorNotfound
} }
public enum SeriNumCfg public enum SeriNumCfg
......
...@@ -93,7 +93,8 @@ namespace Siger.Middlelayer.AccRepository.Repositories ...@@ -93,7 +93,8 @@ namespace Siger.Middlelayer.AccRepository.Repositories
join q in _context.siger_automation_fixture_tools_product on p.product_code equals q.productcode join q in _context.siger_automation_fixture_tools_product on p.product_code equals q.productcode
join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid
join l in _context.siger_automation_location on t.guid equals l.fixturetools join l in _context.siger_automation_location on t.guid equals l.fixturetools
where q.projectId == projectId && d.OrderNumber == ordernumber && q.status == (int)RowState.Valid && t.status == (int)RowState.Valid where q.projectId == projectId && d.OrderNumber == ordernumber
&& q.status == (int)RowState.Valid && t.status == (int)RowState.Valid && l.status==(int)RowState.Valid
select new ResponsePlanlFixtureInfo select new ResponsePlanlFixtureInfo
{ {
OrderNumber = ordernumber, OrderNumber = ordernumber,
......
...@@ -36,14 +36,14 @@ namespace Siger.Middlelayer.AccRepository.Repositories ...@@ -36,14 +36,14 @@ namespace Siger.Middlelayer.AccRepository.Repositories
{ {
var date = DateTime.Now; var date = DateTime.Now;
var lable = date.ToString(UnixTimeHelper.DateTimeFormatYmd)+date.Hour + date.Minute + date.Second + date.Millisecond; var lable = date.ToString(UnixTimeHelper.DateTimeFormatYmd)+date.Hour + date.Minute + date.Second + date.Millisecond;
var lableUnix = UnixTimeHelper.GetNow();
var radon = new Random().Next(1000, 9999); var radon = new Random().Next(1000, 9999);
if (trigerType== TaskTrigerType.Auto) if (trigerType== TaskTrigerType.Auto)
{ {
return $"A{radon}T{lable}"; return $"A{lableUnix}R{radon}T{lable}";
}else }else
{ {
return $"M{radon}T{lable}"; return $"M{lableUnix}R{radon}T{lable}";
} }
} }
......
...@@ -10,7 +10,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface ...@@ -10,7 +10,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface
/// <summary> /// <summary>
/// 是否能创建任务 /// 上下料时候是否能创建任务
/// </summary> /// </summary>
/// <param name="projectId"></param> /// <param name="projectId"></param>
/// <param name="section"></param> /// <param name="section"></param>
......
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