Commit e41af7d6 by jiawei.su

someupdate

parent 9964d254
......@@ -28,9 +28,10 @@ namespace Siger.ApiACC.Controllers
private readonly ISigerDict _sigerDict;
private readonly IAutomationTaskListRepository _automationTaskList;
private readonly ISigerProjectMachineAttributionRepository _sigerProjectMachineAttribution;
private readonly IAutomationFixtureMonitor _automationFixtureMonitor;
public AutomationController(IUnitOfWork unitOfWork,ISigerProjectLevelSectionRepository sigerProjectLevelSection,IAutomationLineMode automationLineMode,IAutomationMachineStatus automationMachineStatus,ISigerDict sigerDict,IAutomationTaskListRepository automationTaskList,
ISigerProjectMachineAttributionRepository sigerProjectMachineAttribution)
ISigerProjectMachineAttributionRepository sigerProjectMachineAttribution, IAutomationFixtureMonitor automationFixtureMonitor)
{
_unitOfWork = unitOfWork;
_sigerProjectLevelSection = sigerProjectLevelSection;
......@@ -39,6 +40,7 @@ namespace Siger.ApiACC.Controllers
_sigerDict = sigerDict;
_automationTaskList = automationTaskList;
_sigerProjectMachineAttribution = sigerProjectMachineAttribution;
_automationFixtureMonitor = automationFixtureMonitor;
}
/// <summary>
......@@ -311,8 +313,28 @@ namespace Siger.ApiACC.Controllers
}
}
/// <summary>
/// 创建自动任务
/// </summary>
/// <param name="machineStatus"></param>
/// <param name="actionType"></param>
/// <param name="taskAction"></param>
void CreateTask(siger_automation_machine_status machineStatus,TaskActionType actionType, TaskAction taskAction)
{
//j检查工装监控状态
var monitor = _automationFixtureMonitor.Get(f => f.section == machineStatus.section);
if (monitor==null)
{
Logger.WriteLineInfo($"CreateTask 工装监控状态无数据,请确认业务链正确 ");
return;
}
if (monitor.section==0)
{
Logger.WriteLineInfo($"CreateTask 工装监控状态无当前工站信息,请确认业务链正确 ");
return;
}
_automationTaskList.Insert(new siger_automation_task_list
{
......@@ -328,9 +350,16 @@ namespace Siger.ApiACC.Controllers
send = 0,
operater = 0,
status = 1,
fixtureguid=monitor.fixtureguid,
productcode=monitor.productCode,
locationid=monitor.locationId,
ordercode=monitor.ordernumber,
sn=monitor.sn,
remark="自动任务"
});
if (_unitOfWork.Commit() > 0)
Logger.WriteLineInfo($"CreateTask 工站 完成");
else
......
......@@ -159,7 +159,7 @@ namespace Siger.ApiACC.Controllers
var result = _automationFixtureToolsProduct.GetPlanFixtureInfo(ProjectId, code);
if (result==null)
{
throw new BadRequestException(CncEnum.PlanHasExist);
throw new BadRequestException(AccEnum.FixtureOrderNulll);
}
var sn = _automationTaskList.CreateRandonSn(result.ProductCode);
result.Sn = sn;
......
......@@ -327,6 +327,8 @@ namespace Siger.Middlelayer.Common.ModuleEnum
TaskProcessing,
[Description("产品工装未找到")]
FixtureToolsIsNone,
[Description("未找到工装信息")]
FixtureOrderNulll
}
public enum SeriNumCfg
......
......@@ -41,5 +41,9 @@ namespace Siger.Middlelayer.AccRepository.Entities
public string productCode { get; set; }
public string productName { get; set; }
public int locationId { get; set; }
/// <summary>
/// 当前工站progam
/// </summary>
public string program { get; set; }
}
}
......@@ -25,6 +25,10 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// 更新时间
/// </summary>
public DateTime updatetime { get; set; }
/// <summary>
/// 程序号
/// </summary>
public string program { get; set; }
}
}
......@@ -40,6 +40,10 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// </summary>
public int productid { get; set; }
/// <summary>
/// 产品code
/// </summary>
public string productcode { get; set; }
/// <summary>
/// 工序ID
/// </summary>
public int processid { get; set; }
......
......@@ -89,17 +89,20 @@ namespace Siger.Middlelayer.AccRepository.Repositories
var query = from d in _context.siger_project_product_plan_detail
join p in _context.siger_project_product_plan on d.PlanId equals p.id
join q in _context.siger_automation_fixture_tools_product on p.product_code equals q.productcode
join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid
join l in _context.siger_automation_location on t.guid equals l.fixturetools
join q in _context.siger_automation_fixture_tools_product on p.product_code equals q.productcode into qtemp
from q in qtemp.DefaultIfEmpty()
join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid into ttemp
from t in ttemp.DefaultIfEmpty()
join l in _context.siger_automation_location on t.guid equals l.fixturetools into ltemp
from l in ltemp.DefaultIfEmpty()
where q.projectId == projectId && d.OrderNumber == ordernumber && q.status == (int)RowState.Valid && t.status == (int)RowState.Valid
select new ResponsePlanlFixtureInfo
{
OrderNumber = ordernumber,
ProductName = p.product_name,
ProductCode = q.productcode,
Location = l.locationid,
ProductCode =q!=null? q.productcode:"",
Location =l!=null? l.locationid:0,
};
return query.FirstOrDefault();
}
......
......@@ -19,5 +19,6 @@ namespace Siger.Middlelayer.AccRepository.Request
/// 完成状态
/// </summary>
public int status { 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