|
@ -145,9 +145,17 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
#endregion
|
|
|
#endregion
|
|
|
try |
|
|
try |
|
|
{ |
|
|
{ |
|
|
if (! string.IsNullOrEmpty(wipBoxDto.ExtraNo)) |
|
|
var wipInfos = await wipInfosController.GetWipInfoByWipNo(wipBoxDto.WipNo); |
|
|
|
|
|
|
|
|
|
|
|
wipInfos = wipInfos.Value.Where(w => w.UnitNO == wipBoxDto.UnitNo).ToList(); |
|
|
|
|
|
if (wipInfos.Value.Count() > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
int wipID = wipInfos.Value.Where(w => w.UnitNO == wipBoxDto.UnitNo).Select(s => s.WipID).FirstOrDefault(); //當前工單ID
|
|
|
|
|
|
var WipNo = wipBoxDto.WipNo; //當前工單
|
|
|
|
|
|
if (!string.IsNullOrEmpty(wipBoxDto.ExtraNo)) |
|
|
{ |
|
|
{ |
|
|
var BarcodeInfos = await barcodeInfoesController.GetBarcodeInfoesByExtraNo(wipBoxDto.ExtraNo); |
|
|
var BarcodeInfos = await barcodeInfoesController.GetBarcodeInfoesByExtraNo(wipBoxDto.ExtraNo); |
|
|
|
|
|
BarcodeInfos = BarcodeInfos.Value.Where(w => w.WipID == wipID).ToList(); |
|
|
if (BarcodeInfos.Value.Count() == 0) |
|
|
if (BarcodeInfos.Value.Count() == 0) |
|
|
{ |
|
|
{ |
|
|
BarcodeInfos = await barcodeInfoesController.GetBarcodeInfoesByNo(wipBoxDto.ExtraNo); |
|
|
BarcodeInfos = await barcodeInfoesController.GetBarcodeInfoesByNo(wipBoxDto.ExtraNo); |
|
@ -162,18 +170,19 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
} |
|
|
} |
|
|
if (BarcodeInfos.Value.Where(w => w.BoxNo != null).Count() > 0) |
|
|
if (BarcodeInfos.Value.Where(w => w.BoxNo != null).Count() > 0) |
|
|
{ |
|
|
{ |
|
|
|
|
|
//查詢該工單若有跟Barcodeinfo 相同的箱號,則為序號已裝箱過(為避免不同制程都有裝箱誤判為已裝箱過)
|
|
|
|
|
|
var WipBOX = await GetWipBoxByWipID(wipID); |
|
|
|
|
|
WipBOX = WipBOX.Value.Where(w => w.BoxNo == BarcodeInfos.Value.Select(s => s.BoxNo).FirstOrDefault()).ToList(); |
|
|
|
|
|
if (WipBOX.Value.Count() > 0) |
|
|
|
|
|
{ |
|
|
resultModel.Success = false; |
|
|
resultModel.Success = false; |
|
|
resultModel.Msg = "裝箱失敗 此序號已裝箱過"; |
|
|
resultModel.Msg = "裝箱失敗 此序號已裝箱過"; |
|
|
return resultModel; |
|
|
return resultModel; |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
var WipInfos = await wipInfosController.GetWipInfoByWipNo(wipBoxDto.WipNo); |
|
|
|
|
|
int wipID = WipInfos.Value.Where(w=>w.UnitNO == wipBoxDto.UnitNo).Select(s => s.WipID).FirstOrDefault(); //當前工單ID
|
|
|
|
|
|
var WipNo = wipBoxDto.WipNo; //當前工單
|
|
|
|
|
|
// var BoxCnt = WipInfos.Value.Select(s => s.BoxCNT).FirstOrDefault(); //當前工單單箱入數
|
|
|
|
|
|
var wipBoxs = await GetWipBoxByWipID(wipID); |
|
|
var wipBoxs = await GetWipBoxByWipID(wipID); |
|
|
|
|
|
|
|
|
//// 當前箱號
|
|
|
//// 當前箱號
|
|
@ -182,10 +191,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
{ |
|
|
{ |
|
|
//創建新箱號
|
|
|
//創建新箱號
|
|
|
if (wipBoxs.Value.Count() == 0) |
|
|
if (wipBoxs.Value.Count() == 0) |
|
|
NowBoxNo = WipNo + "BOX" + "001"; |
|
|
NowBoxNo = WipNo + wipBoxDto.UnitNo + "BOX" + "001"; |
|
|
else |
|
|
else |
|
|
{ |
|
|
{ |
|
|
NowBoxNo = wipBoxs.Value.OrderByDescending(o => o.BoxNo).Select(s=> s.BoxNo).FirstOrDefault(); |
|
|
NowBoxNo = wipBoxs.Value.OrderByDescending(o => o.BoxNo).Select(s => s.BoxNo).FirstOrDefault(); |
|
|
string BoxNoOrder = NowBoxNo.Substring(NowBoxNo.Length - 3, 3); |
|
|
string BoxNoOrder = NowBoxNo.Substring(NowBoxNo.Length - 3, 3); |
|
|
BoxNoOrder = (int.Parse(BoxNoOrder) + 1).ToString().PadLeft(3, '0'); |
|
|
BoxNoOrder = (int.Parse(BoxNoOrder) + 1).ToString().PadLeft(3, '0'); |
|
|
NowBoxNo = NowBoxNo.Substring(0, NowBoxNo.Length - 3) + BoxNoOrder; |
|
|
NowBoxNo = NowBoxNo.Substring(0, NowBoxNo.Length - 3) + BoxNoOrder; |
|
@ -259,7 +268,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
WipID = wipID, |
|
|
WipID = wipID, |
|
|
BoxNo = NowBoxNo, |
|
|
BoxNo = NowBoxNo, |
|
|
BoxCnt = 0, |
|
|
BoxCnt = 0, |
|
|
BoxStatus =1 |
|
|
BoxStatus = 1 |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
//wipBox.BoxNo = NowBoxNo;
|
|
|
//wipBox.BoxNo = NowBoxNo;
|
|
@ -273,6 +282,15 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
return resultModel; |
|
|
return resultModel; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
|
|
|
resultModel.Success = false; |
|
|
|
|
|
resultModel.Msg = "制程單位:"+ wipBoxDto.UnitNo + " 查無此工單"; |
|
|
|
|
|
return resultModel; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
catch (Exception ex) |
|
|
catch (Exception ex) |
|
|
{ |
|
|
{ |
|
|