Commit 971259e2 by jiawei.su

fixedbug

parent 675758a1
...@@ -44,10 +44,11 @@ namespace Siger.ApiACC.Controllers ...@@ -44,10 +44,11 @@ namespace Siger.ApiACC.Controllers
private readonly IAutomationLocationRepository _automationLocation; private readonly IAutomationLocationRepository _automationLocation;
private readonly IAutomationLineMode _automationLine; private readonly IAutomationLineMode _automationLine;
private readonly IProductRouteRepository _productRoute; private readonly IProductRouteRepository _productRoute;
private readonly IAutomationSectionPropertyRepository _sectionPropertyRepository;
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, IProductRouteRepository productRoute) IAutomationLineMode automationLine, IProductRouteRepository productRoute, IAutomationSectionPropertyRepository sectionPropertyRepository)
{ {
_unitOfWork = unitOfWork; _unitOfWork = unitOfWork;
_sigerProjectLevelSection = sigerProjectLevelSection; _sigerProjectLevelSection = sigerProjectLevelSection;
...@@ -63,6 +64,7 @@ namespace Siger.ApiACC.Controllers ...@@ -63,6 +64,7 @@ namespace Siger.ApiACC.Controllers
_automationLocation = automationLocation; _automationLocation = automationLocation;
_automationLine = automationLine; _automationLine = automationLine;
_productRoute = productRoute; _productRoute = productRoute;
_sectionPropertyRepository = sectionPropertyRepository;
} }
/// <summary> /// <summary>
...@@ -409,7 +411,7 @@ namespace Siger.ApiACC.Controllers ...@@ -409,7 +411,7 @@ namespace Siger.ApiACC.Controllers
}); });
var monitor = _automationFixtureMonitor.Get(f => f.fixtureguid == fixtureToolsObj.FixtureGuid); var monitor = _automationFixtureMonitor.Get(f =>f.section==loading.section);
if (monitor==null) if (monitor==null)
{ {
_automationFixtureMonitor.Insert(new siger_automation_fixture_tools_monitor _automationFixtureMonitor.Insert(new siger_automation_fixture_tools_monitor
...@@ -484,15 +486,22 @@ namespace Siger.ApiACC.Controllers ...@@ -484,15 +486,22 @@ namespace Siger.ApiACC.Controllers
machineStatus.status = (int)Automation.MachineStatus.Waiting; machineStatus.status = (int)Automation.MachineStatus.Waiting;
} }
//创建 安装完成动作
var monitor = _automationFixtureMonitor.Get(f => f.projectId == ProjectId && f.section == assemble.section); var monitor = _automationFixtureMonitor.Get(f => f.projectId == ProjectId && f.section == assemble.section);
if (monitor==null) if (monitor==null)
{ {
throw new BadRequestException(AccEnum.MonitorNotfound); throw new BadRequestException(AccEnum.MonitorNotfound);
} }
//检测工序是否配置正确 var tasklist = _automationTaskList.Get(f => f.projectId == ProjectId && f.no == monitor.taskno);
if(tasklist==null)
{
throw new BadRequestException(AccEnum.MachineDisable);
}
if (tasklist.status!=(int)Automation.TaskResultStatus.Complated)
{
throw new BadRequestException(AccEnum.TaskProcessing);
}
//检测工序是否配置正确
var taskNo = _automationTaskList.CrateTaskNumber(Automation.TaskTrigerType.Manual); var taskNo = _automationTaskList.CrateTaskNumber(Automation.TaskTrigerType.Manual);
_automationTaskList.Insert(new siger_automation_task_list _automationTaskList.Insert(new siger_automation_task_list
{ {
...@@ -553,9 +562,12 @@ namespace Siger.ApiACC.Controllers ...@@ -553,9 +562,12 @@ namespace Siger.ApiACC.Controllers
{ {
throw new BadRequestException(AccEnum.LocationNoSn); throw new BadRequestException(AccEnum.LocationNoSn);
} }
if (location.status==(int)Automation.LocationStatus.Out)
{
throw new BadRequestException(AccEnum.LocationNoSn);
}
var levelSection = _sigerProjectLevelSection.Get(f => f.id == unloading.section); var levelSection = _sigerProjectLevelSection.Get(f => f.id == unloading.section);
var lineMode = _automationLine.Get(f => f.section ==levelSection.parentid); var lineMode = _automationLine.Get(f => f.section ==levelSection.parentid);
if (lineMode==null) if (lineMode==null)
{ {
throw new BadRequestException(AccEnum.LineModeNotfound); throw new BadRequestException(AccEnum.LineModeNotfound);
...@@ -570,8 +582,17 @@ namespace Siger.ApiACC.Controllers ...@@ -570,8 +582,17 @@ namespace Siger.ApiACC.Controllers
//1. 有检验状态 (立库-》检验工位) //1. 有检验状态 (立库-》检验工位)
//2. 无检验状态 (立库-》上下料工位) //2. 无检验状态 (立库-》上下料工位)
var taskNo = _automationTaskList.CrateTaskNumber(Automation.TaskTrigerType.Manual); var taskNo = _automationTaskList.CrateTaskNumber(Automation.TaskTrigerType.Manual);
var action = lineMode.inspect == 1 ? Automation.TaskAction.Step_LK_CJT : Automation.TaskAction.Step_LK_SXLW; var action = lineMode.inspect == 1 ? Automation.TaskAction.Step_LK_CJT : Automation.TaskAction.Step_LK_SXLW;
var section = unloading.section;
if (lineMode.inspect==1)
{
var sectionProperty = _sectionPropertyRepository.Get(f => f.propertytype == 3);
if(sectionProperty==null)
{
throw new BadRequestException(AccEnum.SectionPropertyNull);
}
section = sectionProperty.sectionid;
}
_automationTaskList.Insert(new siger_automation_task_list _automationTaskList.Insert(new siger_automation_task_list
{ {
no = taskNo, no = taskNo,
...@@ -599,7 +620,7 @@ namespace Siger.ApiACC.Controllers ...@@ -599,7 +620,7 @@ namespace Siger.ApiACC.Controllers
extend1= unixtime.ToStr() extend1= unixtime.ToStr()
}); });
var monitor = _automationFixtureMonitor.Get(f => f.section == unloading.section); var monitor = _automationFixtureMonitor.Get(f => f.section == section);
if (monitor == null) if (monitor == null)
{ {
_automationFixtureMonitor.Insert(new siger_automation_fixture_tools_monitor _automationFixtureMonitor.Insert(new siger_automation_fixture_tools_monitor
...@@ -607,7 +628,7 @@ namespace Siger.ApiACC.Controllers ...@@ -607,7 +628,7 @@ namespace Siger.ApiACC.Controllers
fixtureguid = location.fixturetools, fixtureguid = location.fixturetools,
fixturename = location.fixturename, fixturename = location.fixturename,
projectId = ProjectId, projectId = ProjectId,
section = unloading.section, section = section,
sn = location.sn, sn = location.sn,
createtime = DateTime.Now, createtime = DateTime.Now,
updatetime = DateTime.Now, updatetime = DateTime.Now,
...@@ -655,20 +676,6 @@ namespace Siger.ApiACC.Controllers ...@@ -655,20 +676,6 @@ namespace Siger.ApiACC.Controllers
[HttpPost] [HttpPost]
public IActionResult Disassemble([FromBody]Requestdisassemble disassemble) public IActionResult Disassemble([FromBody]Requestdisassemble disassemble)
{ {
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 (machineStatus.auto==0)
{
machineStatus.status = 1;
}
if (!_automationTaskList.CanTask(ProjectId, disassemble.section)) if (!_automationTaskList.CanTask(ProjectId, disassemble.section))
{ {
throw new BadRequestException(AccEnum.TaskProcessing); throw new BadRequestException(AccEnum.TaskProcessing);
...@@ -679,7 +686,25 @@ namespace Siger.ApiACC.Controllers ...@@ -679,7 +686,25 @@ namespace Siger.ApiACC.Controllers
{ {
throw new BadRequestException(AccEnum.MonitorNotfound); throw new BadRequestException(AccEnum.MonitorNotfound);
} }
var tasklist = _automationTaskList.Get(f => f.no == monitor.taskno);
if (tasklist==null)
{
throw new BadRequestException(AccEnum.MachineDisable);
}
var location = _automationLocation.Get(f => f.id == monitor.locationId); var location = _automationLocation.Get(f => f.id == monitor.locationId);
if (location==null)
{
throw new BadRequestException(AccEnum.LocationNoSn);
}
if (string.IsNullOrEmpty(location.sn))
{
throw new BadRequestException(AccEnum.LocationNoSn);
}
if(location.status== (int)LocationStatus.Out)
{
throw new BadRequestException(AccEnum.LocationNoSn);
}
if (location!=null) if (location!=null)
{ {
location.sn = ""; location.sn = "";
...@@ -714,7 +739,7 @@ namespace Siger.ApiACC.Controllers ...@@ -714,7 +739,7 @@ namespace Siger.ApiACC.Controllers
}); });
//移出 上料位 //移出 上料位
monitor.section = 0;
monitor.taskno = taskNo; monitor.taskno = taskNo;
_automationFixtureMonitor.Update(monitor); _automationFixtureMonitor.Update(monitor);
......
...@@ -344,6 +344,8 @@ namespace Siger.Middlelayer.Common.ModuleEnum ...@@ -344,6 +344,8 @@ namespace Siger.Middlelayer.Common.ModuleEnum
TaskIsSend, TaskIsSend,
[Description("该储位无工件")] [Description("该储位无工件")]
LocationNoSn, LocationNoSn,
[Description("工站属性为空")]
SectionPropertyNull
} }
public enum SeriNumCfg public enum SeriNumCfg
......
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