Commit b1b5e769 by jiawei.su

someupdate Laisi NewFeature

parent ae082147
......@@ -378,6 +378,7 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(AccEnum.FixtureToolsIsNone);
}
upload.upload = 1;
upload.updatetime = DateTime.Now;
_sectionPropertyRepository.Update(upload);
var monitor = _automationFixtureMonitor.Get(f => f.section == loading.section);
......@@ -479,6 +480,7 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(AccEnum.TaskCreateDone);
}
upload.upload += 1;
upload.updatetime = DateTime.Now;
_sectionPropertyRepository.Update(upload);
var monitor = _automationFixtureMonitor.Get(f => f.projectId == ProjectId && f.section == assemble.section);
......@@ -569,6 +571,7 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(AccEnum.TaskCreateDone);
}
upload.down += 1;
upload.updatetime = DateTime.Now;
_sectionPropertyRepository.Update(upload);
var location = _automationLocation.Get(f => f.id == unloading.id);
......@@ -728,6 +731,7 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(AccEnum.TaskCreateDone);
}
upload.down += 1;
upload.updatetime = DateTime.Now;
_sectionPropertyRepository.Update(upload);
//创建 安装完成动作
......@@ -783,6 +787,131 @@ namespace Siger.ApiACC.Controllers
}
}
/// <summary>
/// 同工单上料 -获取新工件信息
/// </summary>
/// <param name="section"></param>
/// <param name="scan"></param>
/// <param name="code"></param>
/// <returns></returns>
[HttpPost]
public IActionResult CurrentOrder([FromBody]RequestDissasembleAndLoad request)
{
var monitor = _automationFixtureMonitor.Get(f => f.section == request.section);
if (monitor == null)
{
throw new BadRequestException(AccEnum.MachineOnFree);
}
var newCode = monitor.ordernumber;
if (!string.IsNullOrEmpty(request.code))
{
newCode = request.code;
}
var result = _automationFixtureToolsProduct.GetPlanFixtureInfo(ProjectId, newCode);
if (result == null)
{
throw new BadRequestException(AccEnum.FixtureOrderNulll);
}
if (!string.IsNullOrEmpty(request.code))
{
//新扫描的工单,工装与原托盘工装一致
if (result.FixtureGuid != monitor.fixtureguid)
{
throw new BadRequestException(AccEnum.FixtureDiff);
}
}
var sn = _automationTaskList.CreateRandonSn(result.ProductCode);
result.Sn = sn;
result.status = monitor != null ? monitor.status : 1;
return new ObjectResult(result);
}
/// <summary>
/// 拆卸完成 并上料
/// </summary>
/// <param name="assemble"></param>
/// <returns></returns>
[HttpPost]
public IActionResult DisassembleAndAssemble([FromBody]RequestDissasembleAndLoad assemble)
{
var invenProperty = _sectionPropertyRepository.Get(f => f.propertytype == 5);
if (invenProperty == null)
{
throw new BadRequestException(AccEnum.SectionPropertyNull);
}
var upload = _sectionPropertyRepository.Get(f => f.sectionid == assemble.section);
if (upload == null)
{
throw new BadRequestException(AccEnum.Station_Null);
}
if (upload.upload >0)
{
throw new BadRequestException(AccEnum.Uploading);
}
if (upload.down != 1)
{
throw new BadRequestException(AccEnum.Downloading);
}
upload.upload += 1;
upload.updatetime = DateTime.Now;
_sectionPropertyRepository.Update(upload);
var monitor = _automationFixtureMonitor.Get(f => f.projectId == ProjectId && f.section == assemble.section);
if (monitor == null)
{
throw new BadRequestException(AccEnum.MonitorNotfound);
}
//检测工序是否配置正确
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 = invenProperty.sectionid,
send = 0,
status = 1,
completetime = DateTime.MinValue,
trigger = Automation.TaskTrigerType.Manual,
projectId = ProjectId,
productid = monitor.productId,
productname = monitor.productName,
sn = monitor.sn,
ordercode = monitor.ordernumber,
fixtureguid = monitor.fixtureguid,
fixturename = monitor.fixturename,
locationid = monitor.locationId,
productcode = monitor.productCode,
processid = 0,
programnumber = "",
remark = "手动任务-下料并安装完成",
route = monitor.route,
extend1 = assemble.section.ToStr()
});
monitor.taskno = taskNo;
_automationFixtureMonitor.Update(monitor);
if (_unitOfWork.Commit() > 0)
{
Logger.WriteLineError($"安装完成任务{taskNo}创建成功-{EnumHelper.GetEnumDesc(Automation.TaskAction.Step_SXLW_LK)}");
return new ObjectResult(CommonEnum.Succefull);
}
else
{
throw new BadRequestException(CommonEnum.Fail);
}
}
}
}
......@@ -337,7 +337,7 @@ namespace Siger.Middlelayer.Common.ModuleEnum
MonitorNotfound,
[Description("未配置字典信息")]
AutomationDictNotfound,
[Description("产线当前为自动模式")]
LineIsAutoMode,
[Description("该任务已经下发")]
......@@ -361,7 +361,9 @@ namespace Siger.Middlelayer.Common.ModuleEnum
[Description("同步报工记录失败")]
SyncSnReportErro,
[Description("请勿重复提交任务")]
TaskCreateDone
TaskCreateDone,
[Description("该工单对应当前工装不一致")]
FixtureDiff,
}
public enum SeriNumCfg
......
......@@ -251,7 +251,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
join r in _context.siger_project_product_route on q.routeid equals r.id into rtemp
from r in rtemp.DefaultIfEmpty()
where q.projectId == projectId
&& q.status == (int)RowState.Valid
//&& q.status == (int)RowState.Valid
&& t.status == (int)RowState.Valid
&& l.status == (int)RowState.Valid && w.status == (int)RowState.Valid
......
......@@ -46,4 +46,12 @@ namespace Siger.Middlelayer.AccRepository.Request
{
public int section { get; set; }
}
/// <summary>
/// 拆卸并上料
/// </summary>
public class RequestDissasembleAndLoad
{
public int section { get; set; }
public string code { 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