Commit db5dcb9e by yiyu.li
parents 2dbf8261 c9eced46
...@@ -286,6 +286,7 @@ namespace Siger.ApiACC.Controllers ...@@ -286,6 +286,7 @@ namespace Siger.ApiACC.Controllers
{ {
//2.更新状态 //2.更新状态
taskObj.status = status; taskObj.status = status;
taskObj.completetime = DateTime.Now;
_automationTaskList.Update(taskObj); _automationTaskList.Update(taskObj);
//PLC 反馈结束. //PLC 反馈结束.
......
...@@ -21,7 +21,7 @@ using Siger.Middlelayer.Share.Enum.ModuleEnum; ...@@ -21,7 +21,7 @@ using Siger.Middlelayer.Share.Enum.ModuleEnum;
namespace Siger.ApiACC.Controllers namespace Siger.ApiACC.Controllers
{ {
[NoTokenValidateFilter]
public class AutomationOperateController : BaseController public class AutomationOperateController : BaseController
{ {
private readonly IUnitOfWork _unitOfWork; private readonly IUnitOfWork _unitOfWork;
...@@ -36,9 +36,10 @@ namespace Siger.ApiACC.Controllers ...@@ -36,9 +36,10 @@ namespace Siger.ApiACC.Controllers
private readonly IAutomationFixtureToolsProductRepository _automationFixtureToolsProduct; private readonly IAutomationFixtureToolsProductRepository _automationFixtureToolsProduct;
private readonly IAutomationFixtureToolsRepository _automationFixtureTools; private readonly IAutomationFixtureToolsRepository _automationFixtureTools;
private readonly IAutomationLocationRepository _automationLocation; private readonly IAutomationLocationRepository _automationLocation;
private readonly IAutomationLineMode _automationLine;
public AutomationOperateController(IUnitOfWork unitOfWork,ISigerProjectLevelSectionRepository sigerProjectLevelSection , ISigerDict sigerDict,IAutomationMachineStatus automationMachineStatus,ISigerProjectMachineAttributionRepository sigerProjectMachineAttribution,IAutomationTaskListRepository automationTaskList, public AutomationOperateController(IUnitOfWork unitOfWork,ISigerProjectLevelSectionRepository sigerProjectLevelSection , ISigerDict sigerDict,IAutomationMachineStatus automationMachineStatus,ISigerProjectMachineAttributionRepository sigerProjectMachineAttribution,IAutomationTaskListRepository automationTaskList,
IProductPlanDetails planDetails,IProductPlanRepository productPlan,IAutomationFixtureMonitor automationFixtureMonitor ,IAutomationFixtureToolsProductRepository automationFixtureToolsProduct,IAutomationFixtureToolsRepository automationFixtureTools, IAutomationLocationRepository automationLocation) IProductPlanDetails planDetails,IProductPlanRepository productPlan,IAutomationFixtureMonitor automationFixtureMonitor ,IAutomationFixtureToolsProductRepository automationFixtureToolsProduct,IAutomationFixtureToolsRepository automationFixtureTools, IAutomationLocationRepository automationLocation, IAutomationLineMode automationLine)
{ {
_unitOfWork = unitOfWork; _unitOfWork = unitOfWork;
_sigerProjectLevelSection = sigerProjectLevelSection; _sigerProjectLevelSection = sigerProjectLevelSection;
...@@ -52,6 +53,7 @@ namespace Siger.ApiACC.Controllers ...@@ -52,6 +53,7 @@ namespace Siger.ApiACC.Controllers
_automationFixtureToolsProduct = automationFixtureToolsProduct; _automationFixtureToolsProduct = automationFixtureToolsProduct;
_automationFixtureTools = automationFixtureTools; _automationFixtureTools = automationFixtureTools;
_automationLocation = automationLocation; _automationLocation = automationLocation;
_automationLine = automationLine;
} }
/// <summary> /// <summary>
...@@ -160,7 +162,37 @@ namespace Siger.ApiACC.Controllers ...@@ -160,7 +162,37 @@ namespace Siger.ApiACC.Controllers
}; };
return new ObjectResult(result); return new ObjectResult(result);
} }
/// <summary>
/// 手动下发
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public IActionResult Send(int id)
{
var taskobj = _automationTaskList.Get(f => f.id == id);
if (taskobj==null)
{
throw new BadRequestException(CommonEnum.RecordNotFound);
}
if (taskobj.send==1)
{
throw new BadRequestException(AccEnum.TaskIsSend);
}
var levelsection = _sigerProjectLevelSection.Get(taskobj.sectionid);
var line = levelsection != null ? levelsection.parentid : 0;
var lineMode = _automationLine.Get(f => f.section == line );
if (lineMode==null)
{
throw new BadRequestException(AccEnum.LineModeNotfound);
}
if (lineMode.mode==1)
{
throw new BadRequestException(AccEnum.LineIsAutoMode);
}
//TODO
return new ObjectResult(1);
}
/// <summary> /// <summary>
/// 扫描 /// 扫描
/// </summary> /// </summary>
...@@ -249,10 +281,10 @@ namespace Siger.ApiACC.Controllers ...@@ -249,10 +281,10 @@ namespace Siger.ApiACC.Controllers
no=taskNo, no=taskNo,
action= Automation.TaskAction.Step_LK_SXLW, action= Automation.TaskAction.Step_LK_SXLW,
actiontype= Automation.ExcueType.None, actiontype= Automation.ExcueType.None,
triggertime=DateTime.MinValue, triggertime=DateTime.Now,
tasktype= Automation.TaskActionType.Load, tasktype= Automation.TaskActionType.Load,
operater=UserId, operater=UserId,
operatetime=DateTime.Now, operatetime=DateTime.MinValue,
sectionid=loading.section, sectionid=loading.section,
send=0, send=0,
status=1, status=1,
...@@ -363,7 +395,7 @@ namespace Siger.ApiACC.Controllers ...@@ -363,7 +395,7 @@ namespace Siger.ApiACC.Controllers
no = taskNo, no = taskNo,
action = Automation.TaskAction.Step_SXLW_LK, action = Automation.TaskAction.Step_SXLW_LK,
actiontype = Automation.ExcueType.None, actiontype = Automation.ExcueType.None,
triggertime = DateTime.MinValue, triggertime = DateTime.Now,
tasktype = Automation.TaskActionType.Load, tasktype = Automation.TaskActionType.Load,
operater = UserId, operater = UserId,
operatetime = DateTime.Now, operatetime = DateTime.Now,
......
...@@ -336,7 +336,12 @@ namespace Siger.Middlelayer.Common.ModuleEnum ...@@ -336,7 +336,12 @@ namespace Siger.Middlelayer.Common.ModuleEnum
[Description("该设备当前无工装状态")] [Description("该设备当前无工装状态")]
MonitorNotfound, MonitorNotfound,
[Description("未配置字典信息")] [Description("未配置字典信息")]
AutomationDictNotfound AutomationDictNotfound,
[Description("产线当前为自动模式")]
LineIsAutoMode,
[Description("该任务已经下发")]
TaskIsSend
} }
public enum SeriNumCfg public enum SeriNumCfg
......
...@@ -28,12 +28,16 @@ namespace Siger.Middlelayer.AccRepository.Repositories ...@@ -28,12 +28,16 @@ namespace Siger.Middlelayer.AccRepository.Repositories
public bool CanTask(int projectId,int section) public bool CanTask(int projectId,int section)
{ {
//已经下发,并且任务完成 //已经下发,并且任务完成
var taskObj = _context.siger_automation_task_list.Where(f => f.projectId == projectId && f.send==1 && f.status < (int)TaskResultStatus.Complated); var taskObjs = _context.siger_automation_task_list.Where(f => f.projectId == projectId && f.send==0);
if (taskObj==null) if (taskObjs.Any())
return true;
else
return false; return false;
else
{
var complatedData = taskObjs.Where(f => f.status < (int)TaskResultStatus.Complated);
return !complatedData.Any();
}
} }
...@@ -70,7 +74,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories ...@@ -70,7 +74,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
where q.projectId == projectid where q.projectId == projectid
select new ResponseAutomationTasklist select new ResponseAutomationTasklist
{ {
id=q.id,
taskno=q.no, taskno=q.no,
sectionid= q.sectionid, sectionid= q.sectionid,
section=$"{lv.title}-{s.title}", section=$"{lv.title}-{s.title}",
......
...@@ -6,6 +6,10 @@ namespace Siger.Middlelayer.AccRepository.Response ...@@ -6,6 +6,10 @@ namespace Siger.Middlelayer.AccRepository.Response
{ {
public class ResponseAutomationTasklist public class ResponseAutomationTasklist
{ {
/// <summary>
/// tasklist.id 回传使用
/// </summary>
public int id { get; set; }
public string taskno { get; set; } public string taskno { get; set; }
public int sectionid { get; set; } public int sectionid { get; set; }
public string section { get; set; } public string section { get; set; }
......
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