Commit 96fead29 by xin.yang
parents da6817f3 ea368c82
......@@ -33,9 +33,10 @@ namespace Siger.ApiACC.Controllers
private readonly IProductPlanRepository _productPlan;
private readonly IAutomationFixtureMonitor _automationFixtureMonitor;
private readonly IAutomationFixtureToolsProductRepository _automationFixtureToolsProduct;
private readonly IAutomationFixtureToolsRepository _automationFixtureTools;
public AutomationOperateController(IUnitOfWork unitOfWork,ISigerProjectLevelSectionRepository sigerProjectLevelSection , ISigerDict sigerDict,IAutomationMachineStatus automationMachineStatus,ISigerProjectMachineAttributionRepository sigerProjectMachineAttribution,IAutomationTaskListRepository automationTaskList,
IProductPlanDetails planDetails,IProductPlanRepository productPlan,IAutomationFixtureMonitor automationFixtureMonitor ,IAutomationFixtureToolsProductRepository automationFixtureToolsProduct)
IProductPlanDetails planDetails,IProductPlanRepository productPlan,IAutomationFixtureMonitor automationFixtureMonitor ,IAutomationFixtureToolsProductRepository automationFixtureToolsProduct,IAutomationFixtureToolsRepository automationFixtureTools)
{
_unitOfWork = unitOfWork;
_sigerProjectLevelSection = sigerProjectLevelSection;
......@@ -47,6 +48,7 @@ namespace Siger.ApiACC.Controllers
_productPlan = productPlan;
_automationFixtureMonitor = automationFixtureMonitor;
_automationFixtureToolsProduct = automationFixtureToolsProduct;
_automationFixtureTools = automationFixtureTools;
}
/// <summary>
......@@ -208,7 +210,8 @@ namespace Siger.ApiACC.Controllers
throw new BadRequestException(CncEnum.PlanHasExist);
}
//检查工装
var fixtureToolsObj = _automationFixtureToolsProduct.GetFixtureInfoByProductCode(ProjectId, plan.product_code);
var fixtureToolsObj = _automationFixtureTools.GetProductFixtureLocation(ProjectId,loading.guid);
//var fixtureToolsObj = _automationFixtureToolsProduct.GetFixtureInfoByProductCode(ProjectId, plan.product_code);
if (fixtureToolsObj == null)
{
throw new BadRequestException(AccEnum.FixtureToolsIsNone);
......
......@@ -41,9 +41,5 @@ 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; }
}
}
......@@ -89,18 +89,16 @@ 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 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()
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
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,
FixtureName=t.name,
FixtureGuid=t.guid,
ProductCode =q!=null? q.productcode:"",
Location =l!=null? l.locationid:0,
};
......
......@@ -101,5 +101,18 @@ namespace Siger.Middlelayer.AccRepository.Repositories
var entities = query.OrderByDescending(q => q.id).AsNoTracking().ToList();
return entities;
}
public ResponseProductFixtureInfo GetProductFixtureLocation(int projectId, string guid)
{
var query = from q in _context.siger_automation_fixture_tools
join l in _context.siger_automation_location on q.guid equals l.guid
select new ResponseProductFixtureInfo
{
FixtureGuid=q.guid,
FixtureId=q.id,
Location=l.locationid
};
return query.FirstOrDefault();
}
}
}
......@@ -12,5 +12,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface
int projectid, int page, int pagesize);
IEnumerable<ResponseFixtureTools> GetDataList(int projectid);
ResponseProductFixtureInfo GetProductFixtureLocation(int projectId, string guid);
}
}
......@@ -11,6 +11,11 @@ namespace Siger.Middlelayer.AccRepository.Request
{
public int section { get; set; }
public string code { get; set; }
/// <summary>
/// 工装GUID
/// </summary>
public string guid { get; set; }
}
/// <summary>
/// 安装完成
......
......@@ -34,6 +34,8 @@ namespace Siger.Middlelayer.AccRepository.Response
public string ProductCode { get; set; }
public string ProductName { get; set; }
public int status { get; set; }
public string FixtureName { get; set; }
public string FixtureGuid { get; set; }
public int Location { get; set; }
public string Sn { get; set; }
}
......
......@@ -427,4 +427,19 @@ CREATE TABLE `siger_automation_fixture_tools_moniter` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
DROP TABLE IF EXISTS `siger_automation_machine_status`;
CREATE TABLE `siger_automation_machine_status` (
`id` int NOT NULL AUTO_INCREMENT,
`section` int NOT NULL DEFAULT '0' COMMENT '工位ID',
`machineid` int NOT NULL DEFAULT '0' COMMENT '工位对应设备ID',
`projectid` int NOT NULL DEFAULT '0',
`enable` int NOT NULL DEFAULT '1' COMMENT '设备可用状态 0:不可用 1:可用',
`status` int NOT NULL DEFAULT '1' COMMENT '完工状态 0:取消 1:待生产 2:生产中 3:生产完成 ',
`updatetime` datetime DEFAULT NULL COMMENT '操作时间',
`program` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '程序号',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
SET FOREIGN_KEY_CHECKS=1;
SET FOREIGN_KEY_CHECKS = 1;
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