Commit edc534b6 by jiawei.su

someupdate

parent c25b6bee
......@@ -21,6 +21,7 @@ using Siger.Middlelayer.Share.Enum.ModuleEnum;
using Siger.Middlelayer.Common.Configuration;
using Siger.Middlelayer.Common.Helpers;
using Newtonsoft.Json;
using NPOI.SS.Formula;
namespace Siger.ApiACC.Controllers
{
......@@ -452,7 +453,7 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(AccEnum.MonitorNotfound);
}
//移出 上料位
monitor.status = (int)Automation.MachineStatus.Waiting;
monitor.section = 0;
var taskNo = _automationTaskList.CrateTaskNumber(Automation.TaskTrigerType.Manual);
_automationTaskList.Insert(new siger_automation_task_list
{
......@@ -500,18 +501,27 @@ namespace Siger.ApiACC.Controllers
[HttpPost]
public IActionResult Unloading([FromBody]requestAutomationUnloading unloading)
{
var monitor = _automationFixtureMonitor.Get(f => f.section == unloading.section);
if (monitor == null)
//var monitor = _automationFixtureMonitor.Get(f => f.section == unloading.section);
//if (monitor == null)
//{
// Logger.WriteLineInfo($"AutoProcess 找不到CNC监控信息");
// return new ObjectResult(CommonEnum.RecordNotFound);
//}
//if (string.IsNullOrEmpty( monitor.sn))
//{
// Logger.WriteLineInfo($"AutoProcess 找不到CNC监控SN信息");
// return new ObjectResult(CommonEnum.RecordNotFound);
//}
var location = _automationLocation.Get(f => f.locationid == unloading.locationid);
if (location==null)
{
Logger.WriteLineInfo($"AutoProcess 找不到CNC监控信息");
return new ObjectResult(CommonEnum.RecordNotFound);
}
if (string.IsNullOrEmpty( monitor.sn))
if (string.IsNullOrEmpty( location.sn))
{
Logger.WriteLineInfo($"AutoProcess 找不到CNC监控SN信息");
return new ObjectResult(CommonEnum.RecordNotFound);
return new ObjectResult(AccEnum.LocationNoSn);
}
var levelSection = _sigerProjectLevelSection.Get(f => f.id == unloading.section);
var lineMode = _automationLine.Get(f => f.section ==levelSection.parentid);
......@@ -540,17 +550,51 @@ namespace Siger.ApiACC.Controllers
completetime = DateTime.MinValue,
trigger = Automation.TaskTrigerType.Manual,
projectId = ProjectId,
productid = monitor.productId,
sn = monitor.sn,
ordercode = monitor.ordernumber,
fixtureguid = monitor.fixtureguid,
locationid = monitor.locationId,
productcode = monitor.productCode,
productid = location.productid,
sn = location.sn,
ordercode = location.ordernumber,
fixtureguid = location.fixturetools,
locationid = location.locationid,
productcode = location.productcode,
processid = 0,
programnumber = "",
remark = "手动任务-准备上料",
});
var monitor = _automationFixtureMonitor.Get(f => f.section == unloading.section);
if (monitor == null)
{
_automationFixtureMonitor.Insert(new siger_automation_fixture_tools_monitor
{
fixtureguid = location.fixturetools,
fixturename = location.fixturename,
projectId = ProjectId,
section = unloading.section,
sn = location.sn,
createtime = DateTime.Now,
updatetime = DateTime.Now,
status = (int)Automation.MachineStatus.Produce,
productId = location.productid,
productCode = location.productcode,
productName = location.productname,
ordernumber = location.ordernumber,
locationId = location.locationid
});
}
else
{
monitor.sn = location.sn;
monitor.updatetime = DateTime.Now;
monitor.status = (int)Automation.MachineStatus.Produce;
monitor.productId = location.productid;
monitor.productName = location.productname;
monitor.productCode = location.productcode;
monitor.ordernumber = location.ordernumber;
monitor.locationId = location.locationid;
_automationFixtureMonitor.Update(monitor);
}
if (_unitOfWork.Commit() > 0)
{
......@@ -571,7 +615,64 @@ namespace Siger.ApiACC.Controllers
public IActionResult Disassemble([FromBody]Requestdisassemble disassemble)
{
return new ObjectResult(1);
var machineStatus = _automationMachineStatus.Get(f => f.section == disassemble.section);
if (machineStatus == null)
{
throw new BadRequestException(CommonEnum.RecordNotFound);
}
if (machineStatus.enable == 0)
{
throw new BadRequestException(AccEnum.MachineDisable);
}
if (!_automationTaskList.CanTask(ProjectId, disassemble.section))
{
throw new BadRequestException(AccEnum.TaskProcessing);
}
//创建 安装完成动作
var monitor = _automationFixtureMonitor.Get(f => f.projectId == ProjectId && f.section == disassemble.section);
if (monitor == null)
{
throw new BadRequestException(AccEnum.MonitorNotfound);
}
//移出 上料位
monitor.section = 0;
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.Now,
tasktype = Automation.TaskActionType.Load,
operater = UserId,
operatetime = DateTime.Now,
sectionid = disassemble.section,
send = 0,
status = 1,
completetime = DateTime.MinValue,
trigger = Automation.TaskTrigerType.Manual,
projectId = ProjectId,
productid = monitor.productId,
sn = monitor.sn,
ordercode = monitor.ordernumber,
fixtureguid = monitor.fixtureguid,
locationid = monitor.locationId,
productcode = monitor.productCode,
processid = 0,
programnumber = "",
remark = "手动任务-拆卸完成",
});
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);
}
}
}
}
......@@ -341,7 +341,9 @@ namespace Siger.Middlelayer.Common.ModuleEnum
[Description("产线当前为自动模式")]
LineIsAutoMode,
[Description("该任务已经下发")]
TaskIsSend
TaskIsSend,
[Description("该储位无工件")]
LocationNoSn,
}
public enum SeriNumCfg
......
......@@ -31,6 +31,8 @@ namespace Siger.Middlelayer.AccRepository.Request
{
public int section { get; set; }
public int locationid { get; set; }
}
/// <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