|
|
@ -721,53 +721,60 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
|
/// <returns></returns>
|
|
|
|
private async Task<ResultModel<BurnInfo>> Table_BurnInfo(BarCodeCheckDto model) |
|
|
|
{ |
|
|
|
// 判斷是否有燒機時間
|
|
|
|
WipBoardController wipBoardController = new WipBoardController(_context); |
|
|
|
var wipBoardTime = wipBoardController.GetWipBoardToBITime(model.wipNo).Result.Value; |
|
|
|
WipSystemController wipSystemController = new WipSystemController(_context); |
|
|
|
var wipSystemTime = wipSystemController.GetWipSystemToBITime(model.wipNo).Result.Value; |
|
|
|
decimal PlanHour = 0; |
|
|
|
if (wipBoardTime > 0) |
|
|
|
PlanHour = (decimal)wipBoardTime; |
|
|
|
else |
|
|
|
PlanHour = (decimal)wipSystemTime; |
|
|
|
|
|
|
|
BurnInfoeController burnInfoeController = new BurnInfoeController(_context); |
|
|
|
|
|
|
|
var result = new ResultModel<BurnInfo>() { Success = true }; |
|
|
|
|
|
|
|
// 判斷燒機時間是否足夠
|
|
|
|
var burnInfos = await burnInfoeController.GetBurnInfosByBarcodeID(model.barcodeID); |
|
|
|
if (burnInfos.Value.Count() != 0) |
|
|
|
// 判斷作業站是否為燒機站
|
|
|
|
StationsesController stationsesController = new StationsesController(_context); |
|
|
|
var station = await stationsesController.GetStations(model.station); |
|
|
|
if (station.Value.Where(w => w.TypeNo == "F").Any()) |
|
|
|
{ |
|
|
|
// 取實際燒機完成時間 空白資料
|
|
|
|
var item = burnInfos.Value.Where(w => string.IsNullOrWhiteSpace(w.FinishTime.ToString())).FirstOrDefault(); |
|
|
|
if (item != null) |
|
|
|
|
|
|
|
// 判斷是否有燒機時間
|
|
|
|
WipBoardController wipBoardController = new WipBoardController(_context); |
|
|
|
var wipBoardTime = wipBoardController.GetWipBoardToBITime(model.wipNo).Result.Value; |
|
|
|
WipSystemController wipSystemController = new WipSystemController(_context); |
|
|
|
var wipSystemTime = wipSystemController.GetWipSystemToBITime(model.wipNo).Result.Value; |
|
|
|
decimal PlanHour = 0; |
|
|
|
if (wipBoardTime > 0) |
|
|
|
PlanHour = (decimal)wipBoardTime; |
|
|
|
else |
|
|
|
PlanHour = (decimal)wipSystemTime; |
|
|
|
|
|
|
|
BurnInfoeController burnInfoeController = new BurnInfoeController(_context); |
|
|
|
// 判斷燒機時間是否足夠
|
|
|
|
var burnInfos = await burnInfoeController.GetBurnInfosByBarcodeID(model.barcodeID); |
|
|
|
if (burnInfos.Value.Count() != 0) |
|
|
|
{ |
|
|
|
item.FinishTime = DateTime.Now; |
|
|
|
item.OutUserID = 1; |
|
|
|
item.UpdateDate = DateTime.Now; |
|
|
|
result = await burnInfoeController.PutBurnInfo(item); |
|
|
|
// 取實際燒機完成時間 空白資料
|
|
|
|
var item = burnInfos.Value.Where(w => string.IsNullOrWhiteSpace(w.FinishTime.ToString())).FirstOrDefault(); |
|
|
|
if (item != null) |
|
|
|
{ |
|
|
|
item.FinishTime = DateTime.Now; |
|
|
|
item.OutUserID = 1; |
|
|
|
item.UpdateDate = DateTime.Now; |
|
|
|
result = await burnInfoeController.PutBurnInfo(item); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
// 新增 BarCodeStation
|
|
|
|
var burnInfo = new BurnInfo |
|
|
|
else |
|
|
|
{ |
|
|
|
BarcodeID = model.barcodeID, |
|
|
|
WipNo = model.wipNo, |
|
|
|
BurnPlanHour = PlanHour, |
|
|
|
StartTime = DateTime.Now, |
|
|
|
ScheduleFinishTime = DateTime.Now.AddMinutes((double)PlanHour), |
|
|
|
InUserID = 0, |
|
|
|
Status = 0 |
|
|
|
}; |
|
|
|
result = await burnInfoeController.PostBurnInfo(burnInfo); |
|
|
|
// 新增 BarCodeStation
|
|
|
|
var burnInfo = new BurnInfo |
|
|
|
{ |
|
|
|
BarcodeID = model.barcodeID, |
|
|
|
WipNo = model.wipNo, |
|
|
|
BurnPlanHour = PlanHour, |
|
|
|
StartTime = DateTime.Now, |
|
|
|
ScheduleFinishTime = DateTime.Now.AddMinutes((double)PlanHour), |
|
|
|
InUserID = 0, |
|
|
|
Status = 0 |
|
|
|
}; |
|
|
|
result = await burnInfoeController.PostBurnInfo(burnInfo); |
|
|
|
} |
|
|
|
} |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// NgInfo-測試不良基本資料檔
|
|
|
|
/// </summary>
|
|
|
@ -805,7 +812,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
|
NgComponent ngComponent = new NgComponent |
|
|
|
{ |
|
|
|
NgID = result.Data.FirstOrDefault().NgID, |
|
|
|
LocationNo = NGNo.oldInputData, |
|
|
|
LocationNo = NGNo.oldInputData ?? "N/A", |
|
|
|
NgNo = NGNo.inputData, |
|
|
|
}; |
|
|
|
result_NgComponent = await ngComponentsController.PostNgComponent(ngComponent); |
|
|
@ -909,9 +916,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
|
var classInfo = await classInfoesController.GetClassInfoByUnit(barCodeCheckDto.unitNo); |
|
|
|
if (classInfo.Value.Count() != 0) |
|
|
|
{ |
|
|
|
var ID = classInfo.Value.Where(w => string.Compare(w.BeginTime, DateTime.Now.ToString("HH:mm:ss")) <= 0 |
|
|
|
&& string.Compare(w.EndTime, DateTime.Now.ToString("HH:mm:ss")) >= 0) |
|
|
|
var ID = classInfo.Value.Where(w => DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd") + " " + w.BeginTime) <= DateTime.Now |
|
|
|
&& DateTime.Now <= DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd") + " " + w.EndTime)) |
|
|
|
.FirstOrDefault(); |
|
|
|
|
|
|
|
if (ID != null) |
|
|
|
{ |
|
|
|
ClassID = ID.ClassID; |
|
|
@ -971,8 +979,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
|
var timeSegment = await timeSegmentsController.GetTimeSegment(); |
|
|
|
if (timeSegment.Value.Count() != 0) |
|
|
|
{ |
|
|
|
var ID = timeSegment.Value.Where(w => string.Compare(w.StartTime, DateTime.Now.ToString("HH:mm:ss")) <= 0 |
|
|
|
&& string.Compare(w.EndTime, DateTime.Now.ToString("HH:mm:ss")) >= 0) |
|
|
|
var ID = timeSegment.Value.Where(w => DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd") + " " + w.StartTime) <= DateTime.Now |
|
|
|
&& DateTime.Now <= DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd") + " " + w.EndTime)) |
|
|
|
.FirstOrDefault(); |
|
|
|
|
|
|
|
if (ID != null) |
|
|
|