Browse Source

1. FQC抽驗修正箱號抽驗問題

2. 過站訊息判斷更新
PTD
ray 2 years ago
parent
commit
28c19dd422
  1. 57
      AMESCoreStudio.Web/Controllers/FQCController.cs
  2. 4
      AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

57
AMESCoreStudio.Web/Controllers/FQCController.cs

@ -1036,21 +1036,29 @@ namespace AMESCoreStudio.Web.Controllers
return View("FQC007C", model); return View("FQC007C", model);
}; };
var FqcResultDetail = new FqcResultDetail var FqcResultDetails = new List<FqcResultDetail>();
foreach (var item in result_BarCodeInfo)
{ {
BarcodeNo = result_BarCodeInfo.FirstOrDefault().BarcodeNo, FqcResultDetails.Add(new FqcResultDetail
ExtraBarcodeNo = result_BarCodeInfo.FirstOrDefault().ExtraBarcodeNo, {
BoxNo = result_BarCodeInfo.FirstOrDefault().BoxNo, BarcodeNo = item.BarcodeNo,
ExtraBarcodeNo = item.ExtraBarcodeNo,
BoxNo = item.BoxNo,
StatusNo = model.StatusNo, StatusNo = model.StatusNo,
NgMemo = model.NgMemo, NgMemo = model.NgMemo,
NgReasonNo = model.NgReasonNo, NgReasonNo = model.NgReasonNo,
CreateUserID = GetLogInUserID(), CreateUserID = GetLogInUserID(),
UpdateUserID = GetLogInUserID() UpdateUserID = GetLogInUserID()
});
}; };
// 要抽驗的內部條碼
var AddBarCodeNo = FqcResultDetails.Select(s => s.BarcodeNo).ToList();
if (string.IsNullOrWhiteSpace(FqcResultDetail.ExtraBarcodeNo)) if (FqcResultDetails.Where(w => string.IsNullOrWhiteSpace(w.ExtraBarcodeNo)).Any())
{ {
ModelState.AddModelError("error", "找不到該筆資料的出貨序號"); var NoExtraBarcodeNo = FqcResultDetails.Where(w => string.IsNullOrWhiteSpace(w.ExtraBarcodeNo))
.Select(s => s.BarcodeNo).ToList();
ModelState.AddModelError("error", string.Join(',', NoExtraBarcodeNo) + "找不到出貨序號");
return View("FQC007C", model); return View("FQC007C", model);
} }
#endregion #endregion
@ -1060,9 +1068,12 @@ namespace AMESCoreStudio.Web.Controllers
if (result_FqcResultMaster.Count() != 0) if (result_FqcResultMaster.Count() != 0)
{ {
var result_ResultDetail = await _fqcApi.GetFqcResultDetail(result_FqcResultMaster.FirstOrDefault().FqcID); var result_ResultDetail = await _fqcApi.GetFqcResultDetail(result_FqcResultMaster.FirstOrDefault().FqcID);
if (result_ResultDetail.Where(w => w.BarcodeNo == FqcResultDetail.BarcodeNo).Any()) if (result_ResultDetail.Where(w => AddBarCodeNo.Contains(w.BarcodeNo)).Any())
{ {
ModelState.AddModelError("error", "內部序號【" + FqcResultDetail.BarcodeNo + "】已抽驗過"); var errorMag = result_ResultDetail.Where(w => AddBarCodeNo.Contains(w.BarcodeNo))
.Select(s => s.BarcodeNo).ToList();
ModelState.AddModelError("error", "內部序號【" + string.Join(",", errorMag) + "】已抽驗過");
return View("FQC007C", model); return View("FQC007C", model);
} }
} }
@ -1073,7 +1084,7 @@ namespace AMESCoreStudio.Web.Controllers
if (result_FqcResultMaster.Count != 0) if (result_FqcResultMaster.Count != 0)
{ {
FqcResultMaster = result_FqcResultMaster.FirstOrDefault(); FqcResultMaster = result_FqcResultMaster.FirstOrDefault();
FqcResultMaster.QaQty += 1; FqcResultMaster.QaQty += AddBarCodeNo.Count();
FqcResultMaster.UpdateDate = DateTime.Now; FqcResultMaster.UpdateDate = DateTime.Now;
FqcResultMaster.UpdateUserID = GetLogInUserID(); FqcResultMaster.UpdateUserID = GetLogInUserID();
} }
@ -1086,7 +1097,7 @@ namespace AMESCoreStudio.Web.Controllers
FqcResultMaster.SeqID = model.SeqID; FqcResultMaster.SeqID = model.SeqID;
FqcResultMaster.LotQty = FirstFqc.InhouseQty; FqcResultMaster.LotQty = FirstFqc.InhouseQty;
FqcResultMaster.WipNo = FirstFqc.WipNo; FqcResultMaster.WipNo = FirstFqc.WipNo;
FqcResultMaster.QaQty = 1; FqcResultMaster.QaQty = AddBarCodeNo.Count();
FqcResultMaster.ItemNo = FirstFqc.ItemNo; FqcResultMaster.ItemNo = FirstFqc.ItemNo;
FqcResultMaster.ModelNo = FirstFqc.ModelNo; FqcResultMaster.ModelNo = FirstFqc.ModelNo;
FqcResultMaster.StartTime = DateTime.Now; FqcResultMaster.StartTime = DateTime.Now;
@ -1096,28 +1107,38 @@ namespace AMESCoreStudio.Web.Controllers
// 判斷是PASS || FAIL // 判斷是PASS || FAIL
if (model.StatusNo == "F") if (model.StatusNo == "F")
FqcResultMaster.FailQty += 1; FqcResultMaster.FailQty += AddBarCodeNo.Count();
else else
{ {
FqcResultMaster.PassQty += 1; FqcResultMaster.PassQty += AddBarCodeNo.Count();
FqcResultDetail.NgReasonNo = "";
FqcResultDetail.NgMemo = "";
} }
#endregion #endregion
IResultModel<FqcResultMaster> result; IResultModel<FqcResultMaster> result;
var FqcID = 0;
if (result_FqcResultMaster.Count == 0) if (result_FqcResultMaster.Count == 0)
{ {
result = await _fqcApi.PostFqcResultMaster(JsonConvert.SerializeObject(FqcResultMaster)); result = await _fqcApi.PostFqcResultMaster(JsonConvert.SerializeObject(FqcResultMaster));
FqcResultDetail.FqcID = result.Data.FirstOrDefault().FqcID; FqcID = result.Data.FirstOrDefault().FqcID;
} }
else else
{ {
result = await _fqcApi.PutFqcResultMaster(JsonConvert.SerializeObject(FqcResultMaster)); result = await _fqcApi.PutFqcResultMaster(JsonConvert.SerializeObject(FqcResultMaster));
FqcResultDetail.FqcID = result_FqcResultMaster.FirstOrDefault().FqcID; FqcID = result_FqcResultMaster.FirstOrDefault().FqcID;
} }
IResultModel result_detail;
result_detail = await _fqcApi.PostFqcResultDetail(JsonConvert.SerializeObject(FqcResultDetail)); IResultModel result_detail = new ResultModel<FqcResultDetail>();
foreach (var item in FqcResultDetails)
{
item.FqcID = FqcID;
if (model.StatusNo == "P")
{
item.NgMemo = "";
item.NgReasonNo = "";
}
result_detail = await _fqcApi.PostFqcResultDetail(JsonConvert.SerializeObject(item));
}
if (result_detail.Success) if (result_detail.Success)
{ {

4
AMESCoreStudio.WebApi/Controllers/BLL/BarCodeCheckController.cs

@ -2114,9 +2114,9 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES
// 目前BarCodeInfo StationID 取得相對應下個流程StationID // 目前BarCodeInfo StationID 取得相對應下個流程StationID
var rulesByBarCodeInfoStationID = rules.Value.Where(w => w.StationID == barcodeInfo.StationID).ToList(); var rulesByBarCodeInfoStationID = rules.Value.Where(w => w.StationID == barcodeInfo.StationID).ToList();
// 當下個流程 != 目前過站流程 // 當下個流程 != 目前過站流程
if (rulesByBarCodeInfoStationID.Where(w => w.RuleStatus == "P" && w.NextStationID == stationID).Count() == 0) if (rulesByBarCodeInfoStationID.Where(w => w.NextStationID == stationID && w.RuleStatus == barcodeInfo.RuleStatus).Count() == 0)
{ {
var Nextstation = rulesByBarCodeInfoStationID.Where(w => w.RuleStatus == "P").ToList(); var Nextstation = rulesByBarCodeInfoStationID.Where(w => w.RuleStatus == barcodeInfo.RuleStatus).ToList();
var StationName = Nextstation.Select(s => s.NextStation.StationName).ToArray(); var StationName = Nextstation.Select(s => s.NextStation.StationName).ToArray();
resultModel.Msg = "該內部序號下一個作業站應該是:" + String.Join('、', StationName) + " ,請確認"; resultModel.Msg = "該內部序號下一個作業站應該是:" + String.Join('、', StationName) + " ,請確認";
return resultModel; return resultModel;

Loading…
Cancel
Save