Commit db5dcb9e by yiyu.li
parents 2dbf8261 c9eced46
......@@ -286,6 +286,7 @@ namespace Siger.ApiACC.Controllers
{
//2.更新状态
taskObj.status = status;
taskObj.completetime = DateTime.Now;
_automationTaskList.Update(taskObj);
//PLC 反馈结束.
......
......@@ -21,7 +21,7 @@ using Siger.Middlelayer.Share.Enum.ModuleEnum;
namespace Siger.ApiACC.Controllers
{
[NoTokenValidateFilter]
public class AutomationOperateController : BaseController
{
private readonly IUnitOfWork _unitOfWork;
......@@ -36,9 +36,10 @@ namespace Siger.ApiACC.Controllers
private readonly IAutomationFixtureToolsProductRepository _automationFixtureToolsProduct;
private readonly IAutomationFixtureToolsRepository _automationFixtureTools;
private readonly IAutomationLocationRepository _automationLocation;
private readonly IAutomationLineMode _automationLine;
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;
_sigerProjectLevelSection = sigerProjectLevelSection;
......@@ -52,6 +53,7 @@ namespace Siger.ApiACC.Controllers
_automationFixtureToolsProduct = automationFixtureToolsProduct;
_automationFixtureTools = automationFixtureTools;
_automationLocation = automationLocation;
_automationLine = automationLine;
}
/// <summary>
......@@ -160,7 +162,37 @@ namespace Siger.ApiACC.Controllers
};
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>
......@@ -249,10 +281,10 @@ namespace Siger.ApiACC.Controllers
no=taskNo,
action= Automation.TaskAction.Step_LK_SXLW,
actiontype= Automation.ExcueType.None,
triggertime=DateTime.MinValue,
triggertime=DateTime.Now,
tasktype= Automation.TaskActionType.Load,
operater=UserId,
operatetime=DateTime.Now,
operatetime=DateTime.MinValue,
sectionid=loading.section,
send=0,
status=1,
......@@ -363,7 +395,7 @@ namespace Siger.ApiACC.Controllers
no = taskNo,
action = Automation.TaskAction.Step_SXLW_LK,
actiontype = Automation.ExcueType.None,
triggertime = DateTime.MinValue,
triggertime = DateTime.Now,
tasktype = Automation.TaskActionType.Load,
operater = UserId,
operatetime = DateTime.Now,
......
......@@ -336,7 +336,12 @@ namespace Siger.Middlelayer.Common.ModuleEnum
[Description("该设备当前无工装状态")]
MonitorNotfound,
[Description("未配置字典信息")]
AutomationDictNotfound
AutomationDictNotfound,
[Description("产线当前为自动模式")]
LineIsAutoMode,
[Description("该任务已经下发")]
TaskIsSend
}
public enum SeriNumCfg
......
......@@ -28,12 +28,16 @@ namespace Siger.Middlelayer.AccRepository.Repositories
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)
return true;
else
if (taskObjs.Any())
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
where q.projectId == projectid
select new ResponseAutomationTasklist
{
id=q.id,
taskno=q.no,
sectionid= q.sectionid,
section=$"{lv.title}-{s.title}",
......
......@@ -6,6 +6,10 @@ namespace Siger.Middlelayer.AccRepository.Response
{
public class ResponseAutomationTasklist
{
/// <summary>
/// tasklist.id 回传使用
/// </summary>
public int id { get; set; }
public string taskno { get; set; }
public int sectionid { 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