Commit 196f1c67 by xin.yang
parents 252958ef 8dae8a1b
......@@ -42,13 +42,8 @@
</div>
<div class="choose">
<p class="selectTitle">3.操作</p>
<Tabs type="card" :value="tabindex">
<TabPane
label="上料"
:disabled="attr1"
name="1"
@click="getStorages()"
>
<Tabs type="card" :value="tabindex" @on-click="getIndex">
<TabPane label="上料" :disabled="attr1" name="1">
<div class="filter">
<label style="font-size: 16px"
>上料信息:</label
......@@ -113,8 +108,11 @@
}}</span>
</p>
<Button type="primary" @click="modal = true"
@on-click="getStorages()">储位选择</Button
<Button
type="primary"
@click="modal = true"
@on-click="getStorages()"
>储位选择</Button
>
</div>
<div class="flex">
......@@ -136,11 +134,7 @@
>
</div>
</TabPane>
<TabPane
label="下料"
:disabled="attr2"
name="2"
@click="getStorages()"
<TabPane label="下料" :disabled="attr2" name="2"
><div class="flex">
<div>
<Table
......@@ -160,7 +154,7 @@
>工单信息:</span
>
<span class="info">{{
orderDetail.orderNumber
orderDetail2.orderNumber
}}</span>
</p>
<p class="flex">
......@@ -168,7 +162,7 @@
>产品编号:</span
>
<span class="info">{{
orderDetail.productCode
orderDetail2.productCode
}}</span>
</p>
<p class="flex">
......@@ -176,7 +170,7 @@
>产品名称:</span
>
<span class="info">{{
orderDetail.productName
orderDetail2.productName
}}</span>
</p>
<p class="flex">
......@@ -184,7 +178,7 @@
>工件编号:</span
>
<span class="info">{{
orderDetail.sn
orderDetail2.sn
}}</span>
</p>
</div>
......@@ -194,11 +188,11 @@
>状态:</span
>
<span class="info">{{
orderDetail.status == 1
orderDetail2.status == 1
? "待上料"
: orderDetail.status == 2
: orderDetail2.status == 2
? "运行中"
: orderDetail.status == 3
: orderDetail2.status == 3
? "待下料"
: ""
}}</span>
......@@ -208,7 +202,7 @@
>储位编号:</span
>
<span class="info">{{
orderDetail.location
orderDetail2.location
}}</span>
</p>
<p class="flex">
......@@ -216,7 +210,7 @@
>工装编号:</span
>
<span class="info">{{
orderDetail.fixtureGuid
orderDetail2.fixtureGuid
}}</span>
</p>
</div>
......@@ -337,6 +331,7 @@ export default {
],
data2: [],
orderDetail: {},
orderDetail2: {},
detailobj: {},
sectionid: 0,
tabindex: "1",
......@@ -390,18 +385,26 @@ export default {
this.b = index;
let status = this.stationList[index].status;
this.sectionid = this.stationList[index].section;
// status = 2;
// if (status == 3) {
// this.attr1 = true;
// this.tabindex = "2";
this.getRunningDetail(index);
// }
// else {
// } else {
// this.attr2 = true;
// }
// if (status == 2) {
// // if (status == 2) {
// this.getRunningDetail(index);
// }
},
getIndex(name) {
this.tabindex = name;
if(this.tabindex == '2'){
this.orderDetail2 = {};
}
this.getStorages();
},
//获取储位
getStorages() {
let code = "";
......@@ -431,6 +434,9 @@ export default {
this.request("/acc/AutomationOperate/ScanCode", data, "get")
.then((res) => {
if (res.data.ret == 1) {
if (this.tabindex == "2") {
this.orderDetail = {};
} else {
let obj = res.data.data;
if (
obj.url == null ||
......@@ -439,7 +445,8 @@ export default {
) {
obj.url = "";
} else {
obj.url = this.axios.publicPath + obj.url.slice(4);
obj.url =
this.axios.publicPath + obj.url.slice(4);
}
this.orderDetail = Object.assign(
{},
......@@ -447,6 +454,7 @@ export default {
obj
);
this.getStorages();
}
} else {
this.$Message.error(this.$t(res.data.msg));
this.orderDetail = {};
......@@ -482,6 +490,10 @@ export default {
this.orderDetail,
obj
);
if (this.tabindex == "2") {
this.orderDetail2 = res.data.data;
this.getStorages();
}
} else {
this.$Message.error(this.$t(res.data, msg));
}
......@@ -585,11 +597,12 @@ export default {
this.orderDetail.location = this.detailobj.locationid;
},
handleRowChange1(currentRow, oldCurrentRow) {
console.log(currentRow);
// console.log(currentRow);
this.locationobj = currentRow;
this.orderDetail.fixtureGuid = this.detailobj.fixtureguid;
this.orderDetail.location = this.detailobj.locationid;
if (this.locationobj.id) {
// this.getRunningDetail();
this.request(
"/acc/AutomationOperate/ScanCode?id=" + this.locationobj.id,
"",
......@@ -598,9 +611,9 @@ export default {
.then((res) => {
if (res.data.ret == 1) {
let obj = res.data.data;
this.orderDetail = Object.assign(
this.orderDetail2 = Object.assign(
{},
this.orderDetail,
this.orderDetail2,
obj
);
} else {
......
......@@ -355,12 +355,23 @@ namespace Siger.ApiACC.Controllers
/// <summary>
///
/// </summary>
/// <param name="productcode"></param>
/// <param name="fillsn">0:全部 1: 储位有SN</param>
/// <returns></returns>
[HttpGet]
public IActionResult GetLocationList(int fillsn=0)
{
return new ObjectResult(_autoLocationRepository.GetDataList(ProjectId, fillsn).ToList());
public IActionResult GetLocationList(string productcode, int fillsn=0)
{
var locations = _autoLocationRepository.GetFulllocation(ProjectId, fillsn);
return new ObjectResult(locations);
//if (fillsn == 1)
//{
// var locations = _autoLocationRepository.GetFulllocation(ProjectId,fillsn);
// return new ObjectResult(locations);
//}
//else
//{
// return new ObjectResult(_autoLocationRepository.GetDataList(ProjectId, fillsn, productcode).ToList());
//}
}
}
}
......@@ -535,21 +535,21 @@ namespace Siger.ApiACC.Controllers
// 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)
{
return new ObjectResult(CommonEnum.RecordNotFound);
throw new BadRequestException(CommonEnum.RecordNotFound);
}
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 lineMode = _automationLine.Get(f => f.section ==levelSection.parentid);
if (lineMode==null)
{
return new ObjectResult(AccEnum.LineModeNotfound);
throw new BadRequestException(AccEnum.LineModeNotfound);
}
//TODO
......
......@@ -135,12 +135,12 @@ namespace Siger.ApiACC.Controllers
{
throw new BadRequestException(RequestEnum.ProductNotFound);
}
var data = _toolsProductRepository.Get(q => q.projectId == ProjectId && q.status == (int)RowState.Valid && (q.fixturetools == fixtureTool.guid ||
q.productid == req.productid.ToInt()));
if (data != null)
{
throw new BadRequestException(RequestEnum.DataExist);
}
//var data = _toolsProductRepository.Get(q => q.projectId == ProjectId && q.status == (int)RowState.Valid && (q.fixturetools == fixtureTool.guid ||
// q.productid == req.productid.ToInt()));
//if (data != null)
//{
// throw new BadRequestException(RequestEnum.DataExist);
//}
var entity = new siger_automation_fixture_tools_product
{
......
......@@ -37,6 +37,8 @@ namespace Siger.ApiACC.Tasks
var tasks = tasklist.OrderBy(s => s.actiontype);
var task = tasks.FirstOrDefault();
if (task.send == 1)
return;
var levelsction = dbhelper.GetLevelsection(task.sectionid);
if (levelsction == null)
return;
......@@ -56,6 +58,7 @@ namespace Siger.ApiACC.Tasks
Program = task.programnumber
};
Logger.WriteLineError($"TASK 开始下发 : {EnumHelper.GetEnumDesc(task.action)}");
var result = PushTask(hostDic,sendToPLC, out string message);
if (!result)
{
......
......@@ -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);
}
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
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 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 w in _context.siger_wms_storage on l.storageid equals w.id
where q.projectId == projectid && q.status == (int)RowState.Valid
select new ResponseAutomationLocationList
{
id = q.id,
typeid=t.id,
fixtureguid = t.guid,
locationid = l.locationid,
location = l.realname,
......@@ -117,14 +120,21 @@ namespace Siger.Middlelayer.AccRepository.Repositories
code = t.code,
name = t.name,
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;
if (hasMaterial != 0)
{
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);
return entities;
}
......@@ -200,5 +210,33 @@ namespace Siger.Middlelayer.AccRepository.Repositories
throw;
}
}
public IEnumerable<ResponseAutomationLocationList> GetFulllocation(int projectId,int full)
{
var query = from q in _context.siger_automation_location
join t in _context.siger_automation_fixture_tools on q.fixturetools equals t.guid
where q.projectId==projectId && !string.IsNullOrEmpty(q.sn)
select new ResponseAutomationLocationList
{
id = q.id,
typeid = t.id,
fixtureguid = t.guid,
locationid = q.locationid,
fixturetoolid = t.id,
code = t.code,
name = t.name,
materialsn =q.sn
};
Expression<Func<ResponseAutomationLocationList, bool>> locationidExpression = f => true;
if (full != 0)
{
locationidExpression = q => !string.IsNullOrEmpty(q.materialsn);
}else
{
locationidExpression = q => string.IsNullOrEmpty(q.materialsn);
}
return query.Where(locationidExpression);
}
}
}
......@@ -20,10 +20,12 @@ namespace Siger.Middlelayer.AccRepository.Repositories.Interface
/// <param name="projectid">项目ID</param>
/// <param name="hasMaterial">只查有SN</param>
/// <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);
CommonImportResult ImportData(IEnumerable<AutomationLocationTemplate> list, int projectid, int userid);
IEnumerable<ResponseAutomationLocationList> GetFulllocation(int projectId, int full);
}
}
......@@ -62,6 +62,10 @@ namespace Siger.Middlelayer.AccRepository.Response
{
public int id { get; set; }
/// <summary>
/// 工装ID
/// </summary>
public int typeid { get; set; }
/// <summary>
/// 储位位置
/// </summary>
public int locationid { get; set; }
......@@ -80,11 +84,16 @@ namespace Siger.Middlelayer.AccRepository.Response
/// 工装ID
/// </summary>
public int fixturetoolid { get; set; }
/// <summary>
/// 工装GUID
/// </summary>
public string fixtureguid { get; set; }
public string code { get; set; }
public string name { get; set; }
public string materialsn { 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