diff --git a/AMESCoreStudio.Web/Controllers/PCSController.cs b/AMESCoreStudio.Web/Controllers/PCSController.cs index 36edea12..066001b0 100644 --- a/AMESCoreStudio.Web/Controllers/PCSController.cs +++ b/AMESCoreStudio.Web/Controllers/PCSController.cs @@ -9319,34 +9319,7 @@ namespace AMESCoreStudio.Web.Controllers ModelState.AddModelError("error", _msg); return View(model); } - #region 計算設定條碼區間是否有大於工單數 會有多個區間 - var WipBarcodeOhter = await _pcsApi.GetWipBarcodeOthers(model.WipBarcodeOther.WipNO); - int TotalQTY = 0; - foreach (var item in WipBarcodeOhter) - { - int StrNoQty = int.Parse(item.StartNO.Substring(SNStart, SNLen)); - // 結束流水碼 - int EndNoQty = int.Parse(item.EndNO.Substring(SNStart, SNLen)); - TotalQTY += EndNoQty - StrNoQty +1; - } - if (model.Type == "del") - { - TotalQTY -= QTY; - } - else if (model.Type == "add") - { - TotalQTY += QTY; - } - if (TotalQTY != model.WipInfo.PlanQTY) - { - - _msg += "總取號序號數量: "+ TotalQTY + " 與工單數量 : "+model.WipInfo.PlanQTY+" 不符"; - ModelState.AddModelError("error", _msg); - return View(model); - - } - - #endregion + #region 判斷加或減後迄小於起 int sum = 0; @@ -9363,10 +9336,6 @@ namespace AMESCoreStudio.Web.Controllers { InputEndNoQty += QTY; } - - #endregion - - if (InputEndNoQty < InputStrNoQty) { _msg += "結束流水碼不可以小於起始流水碼"; @@ -9374,8 +9343,13 @@ namespace AMESCoreStudio.Web.Controllers return View(model); } + #endregion - string EndNO = model.WipBarcodeOther.EndNO.Substring(0, SNStart) + InputEndNoQty.ToString().PadLeft(SNLen, '0') + model.WipBarcodeOther.EndNO.Substring(SNStart + SNLen); + + + + + string EndNO = model.WipBarcodeOther.EndNO.Substring(0, SNStart) + InputEndNoQty.ToString().PadLeft(SNLen, '0') + model.WipBarcodeOther.EndNO.Substring(SNStart + SNLen); //判斷結束序號是否有重覆在其他區間 //var CheckRepeat = await CheckWipBarcodeOtherRepeat(model.WipInfo.WipNO,model.SerialRuleItem,model.WipBarcodeOther.StartNO,EndNO, SNStart , SNLen); // if (!CheckRepeat.Success) @@ -9407,7 +9381,48 @@ namespace AMESCoreStudio.Web.Controllers //判斷工單結束序號流水號號碼 int modelEndNO = int.Parse(model.WipBarcodeOther.EndNO.Substring(SNStart, SNLen)); - //判斷是否有比此工單流水號更大的號碼 + #region 判斷是否有比此工單流水號更大的號碼 + + if (Max_SnNum > modelEndNO && !model.SerialRuleItem.StartsWith("OTHER")) + { + _msg += "工單號碼【" + model.WipInfo.WipNO + "】出貨序號不為目前最大號,請先刪除最大號工單 !"; + ModelState.AddModelError("error", _msg); + return View(model); + } + #endregion + + #region 計算設定條碼區間是否有大於工單數 會有多個區間 + var WipBarcodeOhter = await _pcsApi.GetWipBarcodeOthers(model.WipBarcodeOther.WipNO); + int TotalQTY = 0; + foreach (var item in WipBarcodeOhter) + { + if (!string.IsNullOrWhiteSpace(item.StartNO.Trim())) + { + int StrNoQty = int.Parse(item.StartNO.Substring(SNStart, SNLen)); + // 結束流水碼 + int EndNoQty = int.Parse(item.EndNO.Substring(SNStart, SNLen)); + TotalQTY += EndNoQty - StrNoQty + 1; + } + } + if (model.Type == "del") + { + TotalQTY -= QTY; + } + else if (model.Type == "add") + { + TotalQTY += QTY; + } + if (TotalQTY != model.WipInfo.PlanQTY) + { + + _msg += "總取號序號數量: " + TotalQTY + " 與工單數量 : " + model.WipInfo.PlanQTY + " 不符"; + ModelState.AddModelError("error", _msg); + return View(model); + + } + + #endregion + if (Max_SnNum <= modelEndNO) { @@ -9466,62 +9481,29 @@ namespace AMESCoreStudio.Web.Controllers return RedirectToAction("Refresh", "Home", new { id = model.WipInfo.WipNO, msg = _msg }); } - else if (model.SerialRuleItem.StartsWith("OTHER") && model.Type == "del") //OTHER可不連號,直接減少 - { - - } - else - { - - _msg += "工單號碼【" + model.WipInfo.WipNO + "】出貨序號不為目前最大號,請先刪除最大號工單 !"; - ModelState.AddModelError("error", _msg); - return View(model); - } - - //if (WipQty < (InputEndNoQty - InputStrNoQty + 1)) - //// if (WipQty < sum + (InputEndNoQty - InputStrNoQty + 1)) - //{ - // _msg += "工單號碼【" + model.WipInfo.WipNO + "】 設定條碼區間數量已超過工單數量,請確認!"; - // ModelState.AddModelError("error", _msg); - // return View(model); - //} + IResultModel result; model.WipBarcodeOther.WipNO = model.WipInfo.WipNO; model.WipBarcodeOther.CreateUserID = GetLogInUserID(); model.WipBarcodeOther.EndNO = EndNO; - //model.WipBarcode.WipID = model.WipInfo.WipID; - //model.WipBarcode.UnitNO = model.WipInfo.UnitNO; - result = await _pcsApi.PutWipBarcodeOther(JsonConvert.SerializeObject(model.WipBarcodeOther)); if (result.Success) { _msg = "修改成功!"; - // return RedirectToAction("PCS040", "PCS", new { wipNo = model.WipInfo.WipNO, msg = _msg }); return RedirectToAction("Refresh", "Home", new { wipNo = model.WipInfo.WipNO, msg = _msg }); - // return RedirectToAction("Refresh", "Home", new { msg = _msg }); - // return Json(new Result() { success = true, msg = _msg }); } else { _msg = result.Msg; ModelState.AddModelError("error", result.Msg); - //if (result.Errors.Count > 0) - //{ - // ModelState.AddModelError(result.Errors[0].Id, result.Errors[0].Msg); - //} - //else - //{ - // ModelState.AddModelError("error", result.Msg); - //} } - // } + return RedirectToAction("Refresh", "Home", new { wipNo = model.WipInfo.WipNO, msg = _msg }); - // return RedirectToAction("PCS040R", "PCS", new { id = model.WipInfo.WipID, msg = _msg }); - // return RedirectToAction("Refresh", "Home", new { wipNo = model.WipInfo.WipNO, msg = _msg }); + } public async Task PCS040R(string id, string rule,string serialRuleitem, string msg = null) diff --git a/AMESCoreStudio.Web/Controllers/SPCController.cs b/AMESCoreStudio.Web/Controllers/SPCController.cs index 845ee828..5a81b921 100644 --- a/AMESCoreStudio.Web/Controllers/SPCController.cs +++ b/AMESCoreStudio.Web/Controllers/SPCController.cs @@ -14,6 +14,8 @@ using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Hosting; using AMESCoreStudio.WebApi.DTO.AMES; using System.Linq; +using AspNetCore.Reporting; +using System; namespace AMESCoreStudio.Web.Controllers { @@ -1253,9 +1255,167 @@ namespace AMESCoreStudio.Web.Controllers } #endregion - + #region SPC005 報表 + public async Task SPC005_PDF(int id) + { + string mimeType = ""; + int extension = 1; + Dictionary param = new Dictionary(); + var localReport = GetReprot(id); + var result = localReport.Result.Execute(RenderType.Pdf, extension, param, mimeType); + return File(result.MainStream, "application/pdf"); + } + /// + /// 產生FQC報表 + /// + /// FQC單號 + /// FQC單號_編號 + /// + private async Task GetReprot(int id) + { + var path = $"{this._env.WebRootPath}\\Reports\\SPC005View.rdlc"; + LocalReport localReport = new LocalReport(path); + + System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); + System.Text.Encoding.GetEncoding(1252); + var SPC005Master = new SPC005VIiew(); + IResultModel resultIpqcQuery; + resultIpqcQuery = _spcApi.GetIpqcQuery(id).InvokeAsync().Result; + + + if (resultIpqcQuery.Data.Count() != 0) + { + var IPQCQuery = resultIpqcQuery.Data.FirstOrDefault(); + + SPC005Master = new SPC005VIiew() + { + InspectionNumber = IPQCQuery.InspectionNo, + OrderNumber = IPQCQuery.WipNo, + InspectionDate = IPQCQuery.InspectionDate.ToString(), + ItemNo = IPQCQuery.ItemNo, + PlanQTY = IPQCQuery.PlanQTY.ToString(), + MedicalModel = IPQCQuery.CustomerMedical, + VIP = IPQCQuery.CustomerVIP, + BIOSVer = IPQCQuery.BIOS, + Approved = "沈俊輝", + Inspector = IPQCQuery.UpdateUser_Name + + }; + + foreach (var item in IPQCQuery.IpqcDetail_ASSY) + { + SPC005Master.Detail1_ASSY.Add(new SPC005Detail1 + { + BarcodeNO = item.BarcodeNO, + Result = item.Result == "P" ? "PASS" : "FAIL", + Defect = item.Defect + }); + } + + foreach (var item in IPQCQuery.qcItemDtos_ASSY) + { + SPC005Master.Detail2_ASSY.Add(new SPC005Detail2 + { + + SEQ = item.Seq.ToString(), + InspectionItemDesc = item.InspectionItemDesc, + InspectionResults = item.InspectionResult + }); + } + + foreach (var item in IPQCQuery.IpqcDetail_TEST) + { + SPC005Master.Detail1_TEST.Add(new SPC005Detail1 + { + BarcodeNO = item.BarcodeNO, + Result = item.Result == "P" ? "PASS" : "FAIL", + Defect = item.Defect + }); + } + + foreach (var item in IPQCQuery.qcItemDtos_TEST) + { + SPC005Master.Detail2_TEST.Add(new SPC005Detail2 + { + + SEQ = item.Seq.ToString(), + InspectionItemDesc = item.InspectionItemDesc, + InspectionResults = item.InspectionResult + }); + } + + foreach (var item in IPQCQuery.IpqcDetail_Pack) + { + SPC005Master.Detail1_PACK.Add(new SPC005Detail1 + { + BarcodeNO = item.BarcodeNO, + Result = item.Result == "P" ? "PASS" : "FAIL", + Defect = item.Defect + }); + } + + foreach (var item in IPQCQuery.qcItemDtos_Pack) + { + SPC005Master.Detail2_PACK.Add(new SPC005Detail2 + { + + SEQ = item.Seq.ToString(), + InspectionItemDesc = item.InspectionItemDesc, + InspectionResults = item.InspectionResult + }); + } + + + #region 圖檔轉BASE64 + string ApprovedSign = null; + string InspectorSign = null; + if (System.IO.File.Exists($"{this._env.WebRootPath}/images/ElectronicSignature/{SPC005Master.Approved}.png")) + { + using (var b = new System.Drawing.Bitmap($"{this._env.WebRootPath}/images/ElectronicSignature/{SPC005Master.Approved}.png")) + { + using (var ms = new MemoryStream()) + { + b.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); + ApprovedSign = Convert.ToBase64String(ms.ToArray()); + } + } + } + if (System.IO.File.Exists($"{this._env.WebRootPath}/images/ElectronicSignature/{SPC005Master.Inspector}.png")) + { + using (var b = new System.Drawing.Bitmap($"{this._env.WebRootPath}/images/ElectronicSignature/{SPC005Master.Inspector}.png")) + { + using (var ms = new MemoryStream()) + { + b.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp); + InspectorSign = Convert.ToBase64String(ms.ToArray()); + } + } + } + + SPC005Master.ApprovedSignImg = ApprovedSign; + SPC005Master.InspectorSignImg = InspectorSign; + #endregion + } + + var SPC005Masters = new List(); + SPC005Masters.Add(SPC005Master); + + + localReport.AddDataSource("DataSet1", SPC005Masters); + localReport.AddDataSource("DataSet2", SPC005Master.Detail1_ASSY); + localReport.AddDataSource("DataSet3", SPC005Master.Detail2_ASSY); + + localReport.AddDataSource("DataSet2_TEST", SPC005Master.Detail1_TEST); + localReport.AddDataSource("DataSet3_TEST", SPC005Master.Detail2_TEST); + + localReport.AddDataSource("DataSet2_PACK", SPC005Master.Detail1_PACK); + localReport.AddDataSource("DataSet3_PACK", SPC005Master.Detail2_PACK); + return localReport; + } + + #endregion } - + } diff --git a/AMESCoreStudio.Web/HttpApis/AMES/ISPC.cs b/AMESCoreStudio.Web/HttpApis/AMES/ISPC.cs index 72a5c941..f5e5c96f 100644 --- a/AMESCoreStudio.Web/HttpApis/AMES/ISPC.cs +++ b/AMESCoreStudio.Web/HttpApis/AMES/ISPC.cs @@ -265,7 +265,13 @@ namespace AMESCoreStudio.Web [WebApiClient.Attributes.HttpGet("api/InspectionResultDetails/{id}")] ITask> GetInspectionResultDetails(int id); - + + /// + /// IPQC資料 + /// + /// + [WebApiClient.Attributes.HttpGet("api/InspectionResultMasters/IpqcQuery/{InspectionID}")] + ITask> GetIpqcQuery(int InspectionID); #endregion diff --git a/AMESCoreStudio.Web/Views/SPC/SPC005.cshtml b/AMESCoreStudio.Web/Views/SPC/SPC005.cshtml index bfcdfada..70806b07 100644 --- a/AMESCoreStudio.Web/Views/SPC/SPC005.cshtml +++ b/AMESCoreStudio.Web/Views/SPC/SPC005.cshtml @@ -243,22 +243,29 @@ } }, { - align: 'center', title: '操作', width: 100, fixed: 'right', + align: 'center', title: '操作', width: 150, fixed: 'right', sort: true, templet: function (item) { var btns = ''; //btns = btns + '编辑'; if (item.statusNo == "暫存") btns = btns + '编辑'; - else if (item.statusNo == "儲存") - btns = btns + '檢視'; + else if (item.statusNo == "保存") { + btns = btns + '檢視\ + PDF '; + } + return btns; } } ]]; - + function PDF(obj) { + if (obj.data.inspectionID) { + hg.open('PDF', '/SPC/SPC005_PDF?id=' + obj.data.inspectionID , '', '', true); + } + } //通过行tool编辑,lay-event="edit" function edit(obj) { diff --git a/AMESCoreStudio.Web/wwwroot/Reports/SPC005View.rdlc b/AMESCoreStudio.Web/wwwroot/Reports/SPC005View.rdlc new file mode 100644 index 00000000..80390147 --- /dev/null +++ b/AMESCoreStudio.Web/wwwroot/Reports/SPC005View.rdlc @@ -0,0 +1,2719 @@ + + + 0 + + + + System.Data.DataSet + /* Local Connection */ + + e0dcb4ed-57fb-41b0-a865-d53383fc0026 + + + + + + Accessory + /* Local Query */ + + + + Approved + System.String + + + Inspector + System.String + + + PlanQTY + System.String + + + BIOSVer + System.String + + + InspectionDate + System.String + + + InspectionNumber + System.String + + + MedicalModel + System.String + + + ItemNo + System.String + + + OrderNumber + System.String + + + VIP + System.String + + + ApprovedSignImg + System.String + + + InspectorSignImg + System.String + + + + Accessory + FQC010VIiew + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + Accessory + /* Local Query */ + + + + BarcodeNO + System.String + + + Result + System.String + + + Defect + System.String + + + + Accessory + FQC010VIiew + Detail1 + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + Accessory + /* Local Query */ + + + + InspectionResults + System.String + + + InspectionItemDesc + System.String + + + SEQ + System.String + + + + Accessory + FQC010VIiew + Detail2 + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + Accessory + /* Local Query */ + + + + BarcodeNO + System.String + + + Result + System.String + + + Defect + System.String + + + + Accessory + FQC010VIiew + Detail1 + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + Accessory + /* Local Query */ + + + + InspectionResults + System.String + + + InspectionItemDesc + System.String + + + SEQ + System.String + + + + Accessory + FQC010VIiew + Detail2 + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + Accessory + /* Local Query */ + + + + BarcodeNO + System.String + + + Result + System.String + + + Defect + System.String + + + + Accessory + FQC010VIiew + Detail1 + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + Accessory + /* Local Query */ + + + + InspectionResults + System.String + + + InspectionItemDesc + System.String + + + SEQ + System.String + + + + Accessory + FQC010VIiew + Detail2 + Accessory.FQC010VIiew, Accessory, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null + + + + + + + + + + + true + true + + + + + IPQC檢驗單號: + + + + + + + Textbox1 + 1.36409cm + 0.30622cm + 0.60324cm + 4.68409cm + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 工單/委外廠單號: + + + + + + + Textbox1 + 1.96733cm + 0.30622cm + 0.60324cm + 4.68409cm + 1 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 料號: + + + + + + + Textbox1 + 2.57057cm + 0.30622cm + 0.60324cm + 4.68409cm + 2 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 數量: + + + + + + + Textbox1 + 3.17381cm + 0.30622cm + 0.60324cm + 4.68409cm + 3 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + 醫療機種?: + + + + + + + Textbox1 + 3.17028cm + 8.33174cm + 0.60324cm + 3.04704cm + 4 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + BIOS Ver: + + + + + + + Textbox1 + 3.17028cm + 20.21795cm + 0.60324cm + 3.78532cm + 5 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Inspection Date: + + + + Textbox1 + 1.36409cm + 20.21795cm + 0.60324cm + 3.72887cm + 6 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Aulue-Technology Inc. + + + + + + + + + IPQC Inspection Report + + + + + + + Textbox44 + 0.10583cm + 9.15951cm + 1.24355cm + 9.71299cm + 7 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + QQ4-044 + + + + + + + Textbox45 + 0.5147cm + 21.48352cm + 0.61419cm + 2.4633cm + 8 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Rev.A7 + + + + + + + Textbox45 + 0.5147cm + 26.8639cm + 0.61419cm + 1.81031cm + 9 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!BIOSVer.Value, "DataSet1") + + + + + 0.5pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!InspectionDate.Value, "DataSet1") + + + + + 0.5pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!OrderNumber.Value, "DataSet1") + + 0.5pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!ItemNo.Value, "DataSet1") + + + + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!PlanQTY.Value, "DataSet1") + + + + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!VIP.Value, "DataSet1") + + + + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!InspectionNumber.Value, "DataSet1") + + + + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + Embedded + avalue + FitProportional + 0.10583cm + 1.92953cm + 1.14483cm + 5.40124cm + 17 + + + + + + true + true + + + + + =First(Fields!MedicalModel.Value, "DataSet1") + + + + + 0.5pt + + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + VIP?: + + + + + + + Textbox1 + 3.17028cm + 14.24447cm + 0.60324cm + 2.64327cm + 19 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ASSY + + + + + + + Textbox45 + 4.19762cm + 0.30622cm + 0.61419cm + 28.36799cm + 20 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + DodgerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + 7.97752cm + + + 2.8473cm + + + 17.54318cm + + + + + 0.62117cm + + + + + true + true + + + + + 抽驗序號 + + + + Textbox38 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + 檢驗結果 + + + + Textbox40 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Defect description + + + + Textbox42 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.62117cm + + + + + true + true + + + + + =Fields!BarcodeNO.Value + + + + ItemID + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Result.Value + + + + ItemName + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Defect.Value + + + + ItemType + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet2 + 5.15641cm + 0.30622cm + 1.24234cm + 28.36799cm + 21 + + + + + + + + + 2.06048cm + + + 12.45692cm + + + 1.74015cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SEQ.Value + + + + ProductionSerialNumber1 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!InspectionItemDesc.Value + + + + ShippingSerialNumber + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!InspectionResults.Value + + + + InspectionResults + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + DataSet3 + 6.78923cm + 6.27126cm + 0.6cm + 16.25755cm + 22 + + + + + + true + true + + + + + TEST + + + + + + + Textbox45 + 8.28524cm + 0.30622cm + 0.61419cm + 28.36799cm + 23 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + DodgerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + 7.97752cm + + + 2.8473cm + + + 17.54318cm + + + + + 0.62117cm + + + + + true + true + + + + + 抽驗序號 + + + + Textbox38 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + 檢驗結果 + + + + Textbox40 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Defect description + + + + Textbox42 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.62117cm + + + + + true + true + + + + + =Fields!BarcodeNO.Value + + + + ItemID + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Result.Value + + + + ItemName + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Defect.Value + + + + ItemType + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet2_TEST + 9.24403cm + 0.30622cm + 1.24234cm + 28.36799cm + 24 + + + + + + + + + 2.06048cm + + + 12.45692cm + + + 1.74015cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SEQ.Value + + + + ProductionSerialNumber1 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!InspectionItemDesc.Value + + + + ShippingSerialNumber + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!InspectionResults.Value + + + + InspectionResults + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + DataSet3_TEST + 10.87685cm + 6.423cm + 0.6cm + 16.25755cm + 25 + + + + + + true + true + + + + + Packing + + + + + + + Textbox45 + 11.99999cm + 0.30622cm + 0.61419cm + 28.36799cm + 26 + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + DodgerBlue + 2pt + 2pt + 2pt + 2pt + + + + + + + 8.20078cm + + + 3.07056cm + + + 17.09666cm + + + + + 0.62117cm + + + + + true + true + + + + + 抽驗序號 + + + + Textbox38 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + 檢驗結果 + + + + Textbox40 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Defect description + + + + Textbox42 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.62117cm + + + + + true + true + + + + + =Fields!BarcodeNO.Value + + + + ItemID + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Result.Value + + + + ItemName + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Defect.Value + + + + ItemType + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + After + + + + + + + DataSet2_PACK + 12.95878cm + 0.30622cm + 1.24234cm + 28.36799cm + 27 + + + + + + + + + 2.06048cm + + + 12.45692cm + + + 1.74015cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!SEQ.Value + + + + ProductionSerialNumber1 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!InspectionItemDesc.Value + + + + ShippingSerialNumber + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!InspectionResults.Value + + + + InspectionResults + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + DataSet3_PACK + 14.5916cm + 6.49355cm + 0.6cm + 16.25755cm + 28 + + + + + + true + true + + + + + Inspector: + + + + + + + Textbox76 + 15.5803cm + 14.96744cm + 1.00557cm + 3.14055cm + 29 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + Database + =First(Fields!InspectorSignImg.Value, "DataSet1") + image/png + FitProportional + 15.5803cm + 18.14327cm + 1.00557cm + 4.60783cm + 30 + + =iif(IsNothing(First(Fields!InspectorSignImg.Value, "DataSet1")),True,False) + + + + + + + true + + + + + Approved: + + + + + + + Textbox76 + 15.5803cm + 7.31026cm + 1.00557cm + 2.99263cm + 31 + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =First(Fields!Approved.Value, "DataSet1") + + + + + + + 15.5803cm + 10.26761cm + 1.00557cm + 4.594cm + 32 + + =iif(IsNothing(First(Fields!ApprovedSignImg.Value, "DataSet1")),False,True) + + + + Middle + 2pt + 2pt + 2pt + 2pt + + + + Database + =First(Fields!ApprovedSignImg.Value, "DataSet1") + image/png + FitProportional + 15.5803cm + 10.28905cm + 1.00557cm + 4.60783cm + 33 + + =iif(IsNothing(First(Fields!ApprovedSignImg.Value, "DataSet1")),True,False) + + + + + + + true + 0.31154cm + 0.20185cm + 17.34369cm + 29.08642cm + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + Black + + 0.5pt + + + + + 7.04086in +