Commit cc832d0e by jiawei.su

someupdate

parent 0a021699
...@@ -355,12 +355,13 @@ namespace Siger.ApiACC.Controllers ...@@ -355,12 +355,13 @@ namespace Siger.ApiACC.Controllers
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
/// <param name="productcode"></param>
/// <param name="fillsn">0:全部 1: 储位有SN</param> /// <param name="fillsn">0:全部 1: 储位有SN</param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
public IActionResult GetLocationList(int fillsn=0) public IActionResult GetLocationList(string productcode, int fillsn=0)
{ {
return new ObjectResult(_autoLocationRepository.GetDataList(ProjectId, fillsn).ToList()); return new ObjectResult(_autoLocationRepository.GetDataList(ProjectId, fillsn, productcode).ToList());
} }
} }
} }
...@@ -535,21 +535,21 @@ namespace Siger.ApiACC.Controllers ...@@ -535,21 +535,21 @@ namespace Siger.ApiACC.Controllers
// return new ObjectResult(CommonEnum.RecordNotFound); // return new ObjectResult(CommonEnum.RecordNotFound);
//} //}
var location = _automationLocation.Get(f => f.locationid == unloading.locationid); var location = _automationLocation.Get(f => f.id == unloading.locationid);
if (location==null) if (location==null)
{ {
return new ObjectResult(CommonEnum.RecordNotFound); throw new BadRequestException(CommonEnum.RecordNotFound);
} }
if (string.IsNullOrEmpty( location.sn)) if (string.IsNullOrEmpty( location.sn))
{ {
return new ObjectResult(AccEnum.LocationNoSn); 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)
{ {
return new ObjectResult(AccEnum.LineModeNotfound); throw new BadRequestException(AccEnum.LineModeNotfound);
} }
//TODO //TODO
......
...@@ -135,12 +135,12 @@ namespace Siger.ApiACC.Controllers ...@@ -135,12 +135,12 @@ namespace Siger.ApiACC.Controllers
{ {
throw new BadRequestException(RequestEnum.ProductNotFound); throw new BadRequestException(RequestEnum.ProductNotFound);
} }
var data = _toolsProductRepository.Get(q => q.projectId == ProjectId && q.status == (int)RowState.Valid && (q.fixturetools == fixtureTool.guid || //var data = _toolsProductRepository.Get(q => q.projectId == ProjectId && q.status == (int)RowState.Valid && (q.fixturetools == fixtureTool.guid ||
q.productid == req.productid.ToInt())); // q.productid == req.productid.ToInt()));
if (data != null) //if (data != null)
{ //{
throw new BadRequestException(RequestEnum.DataExist); // throw new BadRequestException(RequestEnum.DataExist);
} //}
var entity = new siger_automation_fixture_tools_product var entity = new siger_automation_fixture_tools_product
{ {
......
...@@ -37,6 +37,8 @@ namespace Siger.ApiACC.Tasks ...@@ -37,6 +37,8 @@ namespace Siger.ApiACC.Tasks
var tasks = tasklist.OrderBy(s => s.actiontype); var tasks = tasklist.OrderBy(s => s.actiontype);
var task = tasks.FirstOrDefault(); var task = tasks.FirstOrDefault();
if (task.send == 1)
return;
var levelsction = dbhelper.GetLevelsection(task.sectionid); var levelsction = dbhelper.GetLevelsection(task.sectionid);
if (levelsction == null) if (levelsction == null)
return; return;
...@@ -56,6 +58,7 @@ namespace Siger.ApiACC.Tasks ...@@ -56,6 +58,7 @@ namespace Siger.ApiACC.Tasks
Program = task.programnumber Program = task.programnumber
}; };
Logger.WriteLineError($"TASK 开始下发 : {EnumHelper.GetEnumDesc(task.action)}");
var result = PushTask(hostDic,sendToPLC, out string message); var result = PushTask(hostDic,sendToPLC, out string message);
if (!result) if (!result)
{ {
......
...@@ -95,17 +95,20 @@ namespace Siger.Middlelayer.AccRepository.Repositories ...@@ -95,17 +95,20 @@ namespace Siger.Middlelayer.AccRepository.Repositories
return _context.siger_wms_storage_location.Where(q => q.projectId == projectid && q.status == (int)RowState.Valid); return _context.siger_wms_storage_location.Where(q => q.projectId == projectid && q.status == (int)RowState.Valid);
} }
public IEnumerable<ResponseAutomationLocationList> GetDataList(int projectid,int hasMaterial) public IEnumerable<ResponseAutomationLocationList> GetDataList(int projectid,int hasMaterial,string productcode)
{ {
var query = from q in _context.siger_automation_location var query = from q in _context.siger_automation_location
join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid
join c in _context.siger_automation_fixture_tools_category on t.category equals c.guid join c in _context.siger_automation_fixture_tools_category on t.category equals c.guid
join tp in _context.siger_automation_fixture_tools_product on t.guid equals tp.fixturetools into tptemp
from tp in tptemp.DefaultIfEmpty()
join l in _context.siger_wms_storage_location on q.location_cid equals l.id join l in _context.siger_wms_storage_location on q.location_cid equals l.id
join w in _context.siger_wms_storage on l.storageid equals w.id join w in _context.siger_wms_storage on l.storageid equals w.id
where q.projectId == projectid && q.status == (int)RowState.Valid where q.projectId == projectid && q.status == (int)RowState.Valid
select new ResponseAutomationLocationList select new ResponseAutomationLocationList
{ {
id = q.id, id = q.id,
typeid=t.id,
fixtureguid = t.guid, fixtureguid = t.guid,
locationid = l.locationid, locationid = l.locationid,
location = l.realname, location = l.realname,
...@@ -117,14 +120,21 @@ namespace Siger.Middlelayer.AccRepository.Repositories ...@@ -117,14 +120,21 @@ namespace Siger.Middlelayer.AccRepository.Repositories
code = t.code, code = t.code,
name = t.name, name = t.name,
materialsn = q.sn ?? "", materialsn = q.sn ?? "",
categoryid = c == null ? 0 : c.id categoryid = c == null ? 0 : c.id,
productcode=tp!=null?tp.productcode:""
}; };
Expression<Func<ResponseAutomationLocationList, bool>> locationidExpression = f => true; Expression<Func<ResponseAutomationLocationList, bool>> locationidExpression = f => true;
if (hasMaterial != 0) if (hasMaterial != 0)
{ {
locationidExpression = q =>!string.IsNullOrEmpty(q.materialsn); locationidExpression = q =>!string.IsNullOrEmpty(q.materialsn);
} }
var entities = query.Where(locationidExpression).AsNoTracking().ToList(); Expression<Func<ResponseAutomationLocationList, bool>> producExpression = f => true;
if (!string.IsNullOrEmpty(productcode))
{
producExpression = q => q.productcode==productcode;
}
var expression = locationidExpression.And(producExpression);
var entities = query.Where(expression).GroupBy(g=>g.typeid).Select(f=>f.FirstOrDefault());
return entities; return entities;
} }
......
...@@ -20,7 +20,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface ...@@ -20,7 +20,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface
/// <param name="projectid">项目ID</param> /// <param name="projectid">项目ID</param>
/// <param name="hasMaterial">只查有SN</param> /// <param name="hasMaterial">只查有SN</param>
/// <returns></returns> /// <returns></returns>
IEnumerable<ResponseAutomationLocationList> GetDataList(int projectid, int hasMaterial); IEnumerable<ResponseAutomationLocationList> GetDataList(int projectid, int hasMaterial, string productcode);
IEnumerable<siger_wms_storage_location> GetLocationList(int projectid); IEnumerable<siger_wms_storage_location> GetLocationList(int projectid);
......
...@@ -62,6 +62,10 @@ namespace Siger.Middlelayer.AccRepository.Response ...@@ -62,6 +62,10 @@ namespace Siger.Middlelayer.AccRepository.Response
{ {
public int id { get; set; } public int id { get; set; }
/// <summary> /// <summary>
/// 工装ID
/// </summary>
public int typeid { get; set; }
/// <summary>
/// 储位位置 /// 储位位置
/// </summary> /// </summary>
public int locationid { get; set; } public int locationid { get; set; }
...@@ -80,11 +84,16 @@ namespace Siger.Middlelayer.AccRepository.Response ...@@ -80,11 +84,16 @@ namespace Siger.Middlelayer.AccRepository.Response
/// 工装ID /// 工装ID
/// </summary> /// </summary>
public int fixturetoolid { get; set; } public int fixturetoolid { get; set; }
/// <summary>
/// 工装GUID
/// </summary>
public string fixtureguid { get; set; } public string fixtureguid { get; set; }
public string code { get; set; } public string code { get; set; }
public string name { get; set; } public string name { get; set; }
public string materialsn { get; set; } public string materialsn { get; set; }
public int categoryid { get; set; } public int categoryid { get; set; }
//产品CODE
public string productcode { 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