Commit 5d5248dd by jiawei.su

someupdate

parent d46d88c5
......@@ -3,14 +3,29 @@ using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Siger.Middlelayer.AccRepository.Entities;
using Siger.Middlelayer.AccRepository.Repositories.Interface;
using Siger.Middlelayer.AccRepository.Request;
using Siger.Middlelayer.Common;
using Siger.Middlelayer.Repository;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace Siger.ApiACC.Controllers
{
public class AutomationController : BaseController
public class AutomationController : LaisiBaseController
{
private readonly IUnitOfWork _unitOfWork;
private readonly IAutomationLineMode _automationLineMode;
private readonly IAutomationMachineStatus _automationMachineStatus;
public AutomationController(IUnitOfWork unitOfWork,IAutomationLineMode automationLineMode,IAutomationMachineStatus automationMachineStatus)
{
_unitOfWork = unitOfWork;
_automationLineMode = automationLineMode;
_automationMachineStatus = automationMachineStatus;
}
/// <summary>
/// 设备状态接口 用于 保存 设备当前可用状态
/// </summary>
......@@ -19,10 +34,31 @@ namespace Siger.ApiACC.Controllers
[HttpPost]
public IActionResult MachineStatus([FromBody]RequestAutomationMachine request)
{
return new ObjectResult("1");
var exitsObj = _automationMachineStatus.Get(f => f.machineid == request.machineid);
if (exitsObj==null)
{
_automationMachineStatus.Insert(new siger_automation_machine_status{
machineid=request.machineid,
projectId=PID,
updatetime=DateTime.Now,
enable=request.enable,
status=request.status
});
}else
{
exitsObj.enable = request.enable;
exitsObj.status = request.status;
exitsObj.updatetime = DateTime.Now;
}
if (_unitOfWork.Commit() > 0)
return new ObjectResult(CommonEnum.Succefull);
else
throw new BadRequestException(CommonEnum.Fail);
}
/// <summary>
/// 任务状态接口 用于保存PLC 实时任务状态
/// 任务状态接口 用于保存PLC 实时任务状态 ()
/// </summary>
/// <returns></returns>
public IActionResult TaskResult([FromBody]RequestAutomationTaskResult request)
......@@ -34,12 +70,32 @@ namespace Siger.ApiACC.Controllers
/// <summary>
/// 产线模式 0:手动模式 /1:自动模式(产生自动任务)
/// </summary>
/// <param name="line"></param>
/// <param name="mode"></param>
/// <returns></returns>
public IActionResult LineMode(int mode)
public IActionResult LineMode(int line,int mode)
{
return new ObjectResult("1");
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)
return new ObjectResult(CommonEnum.Succefull);
else
throw new BadRequestException(CommonEnum.Fail);
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Siger.ApiCommon;
using Siger.Middlelayer.Common;
using Siger.Middlelayer.Common.Configuration;
using Siger.Middlelayer.Common.Extensions;
// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
namespace Siger.ApiACC.Controllers
{
[Route("acc/[controller]/[action]")]
public class LaisiBaseController
{
/// <summary>
/// 自动线 ProjectID 通过配置
/// </summary>
public int PID = 0;
public LaisiBaseController()
{
var _pid = ConfigManager.GetValue("ProjectSetting", "ProjectId", string.Empty);
if (string.IsNullOrEmpty(_pid))
throw new Exception("DbSetting about [ProjectSetting] ProjectId not found.");
PID = _pid.ToInt();
}
}
}
......@@ -10,7 +10,7 @@ namespace Siger.Middlelayer.AccRepository.Request
/// 设备ID
/// </summary>
public int machine { get; set; }
public int machineid { get; set; }
/// <summary>
/// 是否可用
/// </summary>
......
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