protected override string[] FormatExportRecord(object obj) { InventoryFacade facade = new InventoryFacade(this.DataProvider); OQCQuery oqcQuery = obj as OQCQuery; if (oqcQuery == null) { return(null); } int ocCheckFinishDate = facade.MaxOutDate(oqcQuery.PickNo, oqcQuery.MCode, "OQC"); int ocCheckFinishTime = facade.MaxOutTime(oqcQuery.PickNo, oqcQuery.MCode, "OQC"); int sqeFinishDate = facade.MaxOutDate(oqcQuery.PickNo, oqcQuery.MCode, "OQCSQE"); int sqeFinishTime = facade.MaxOutTime(oqcQuery.PickNo, oqcQuery.MCode, "OQCSQE"); int oqcCloseDate = 0; int oqcCloseTime = 0; int OQCFinishDate = 0; if (oqcQuery.Status == "OQCClose") { oqcCloseDate = oqcQuery.MaintainDate; oqcCloseTime = oqcQuery.MaintainTime; OQCFinishDate = oqcQuery.MaintainDate;//有SQE环节的,等于SQE判定完成时间;无SQE环节的,等于QC检验完成时间 } decimal OCCheckDate = 0; if (oqcCloseDate != 0) { OCCheckDate = Common.Totalday(ocCheckFinishDate, ocCheckFinishTime, oqcQuery.CDate, oqcQuery.CTime); } decimal SQEexecuteDate = 0; if (SQEexecuteDate != 0) { SQEexecuteDate = Common.Totalday(sqeFinishDate, sqeFinishTime, ocCheckFinishDate, ocCheckFinishTime); } decimal OQCEexecuteDate = 0; if (oqcCloseDate != 0) { OQCEexecuteDate = Common.Totalday(oqcCloseDate, oqcCloseTime, oqcQuery.CDate, oqcQuery.CTime); } List <string> list = new List <string>(); list.Add(oqcQuery.OqcNo); list.Add(oqcQuery.InvNo); list.Add(oqcQuery.PickType); list.Add(oqcQuery.StorageCode); list.Add(oqcQuery.GfHwItemCode); list.Add(oqcQuery.DQMCode); list.Add(oqcQuery.VendorMCode); list.Add(oqcQuery.Mdesc); list.Add(oqcQuery.OqcType); list.Add(oqcQuery.AQL); list.Add(oqcQuery.Qty.ToString()); //来料数量 list.Add(oqcQuery.SampleSize.ToString()); //样本数量 list.Add(oqcQuery.NgQty.ToString()); list.Add(oqcQuery.ReturnQty.ToString()); list.Add(oqcQuery.GiveQty.ToString()); Dictionary <string, string> eCodelist = GetECodelist(); if (eCodelist != null) { foreach (string key in eCodelist.Keys) { list.Add(facade.GetNgQty(oqcQuery.OqcNo, oqcQuery.MCode, key).ToString()); } } list.Add(FormatHelper.ToDateString(oqcQuery.CDate)); list.Add(FormatHelper.ToDateString(ocCheckFinishDate)); // QC检验完成时间 list.Add(FormatHelper.ToDateString(sqeFinishDate)); //SQE判定完成时间 list.Add(FormatHelper.ToDateString(OQCFinishDate)); list.Add(OCCheckDate.ToString("0.0")); //QC检验完成时间-创 list.Add(SQEexecuteDate.ToString("0.0")); //SQE判定完成 list.Add(OQCEexecuteDate.ToString("0.0")); //OQC完成时 return(list.ToArray()); }
protected override string[] FormatExportRecord(object obj) { InventoryFacade facade = new InventoryFacade(this.DataProvider); OQCQuery oqcQuery = obj as OQCQuery; if (oqcQuery == null) { return(null); } int ocCheckFinishDate = facade.MaxOutDate(oqcQuery.PickNo, oqcQuery.MCode, "OQC"); int ocCheckFinishTime = facade.MaxOutTime(oqcQuery.PickNo, oqcQuery.MCode, "OQC"); int sqeFinishDate = facade.MaxOutDate(oqcQuery.PickNo, oqcQuery.MCode, "OQCSQE"); int sqeFinishTime = facade.MaxOutTime(oqcQuery.PickNo, oqcQuery.MCode, "OQCSQE"); int oqcCloseDate = 0; int oqcCloseTime = 0; int OQCFinishDate = 0; if (oqcQuery.Status == "OQCClose") { oqcCloseDate = oqcQuery.MaintainDate; oqcCloseTime = oqcQuery.MaintainTime; OQCFinishDate = oqcQuery.MaintainDate; //有SQE环节的,等于SQE判定完成时间;无SQE环节的,等于QC检验完成时间 } decimal OCCheckDate = 0; if (oqcCloseDate != 0) { OCCheckDate = Common.Totalday(ocCheckFinishDate, ocCheckFinishTime, oqcQuery.CDate, oqcQuery.CTime); } decimal SQEexecuteDate = 0; if (SQEexecuteDate != 0) { SQEexecuteDate = Common.Totalday(sqeFinishDate, sqeFinishTime, ocCheckFinishDate, ocCheckFinishTime); } decimal OQCEexecuteDate = 0; if (oqcCloseDate != 0) { OQCEexecuteDate = Common.Totalday(oqcCloseDate, oqcCloseTime, oqcQuery.CDate, oqcQuery.CTime); } return(new string[] { oqcQuery.OqcNo, oqcQuery.InvNo, oqcQuery.PickType, oqcQuery.StorageCode, oqcQuery.GfHwItemCode, oqcQuery.DQMCode, oqcQuery.VendorMCode, oqcQuery.Mdesc, oqcQuery.OqcType, //检验方式 oqcQuery.AQL, oqcQuery.Qty.ToString(), //来料数量 oqcQuery.SampleSize.ToString(), //样本数量 oqcQuery.NgQty.ToString(), oqcQuery.ReturnQty.ToString(), oqcQuery.GiveQty.ToString(), FormatHelper.ToDateString(oqcQuery.CDate), FormatHelper.ToDateString(ocCheckFinishDate), // QC检验完成时间 FormatHelper.ToDateString(sqeFinishDate), //SQE判定完成时间 FormatHelper.ToDateString(OQCFinishDate), OCCheckDate.ToString("0.0"), //QC检验完成时间-创 SQEexecuteDate.ToString("0.0"), //SQE判定完成 OQCEexecuteDate.ToString("0.0") //OQC完成时 }); }
protected override DataRow GetGridRow(object obj) { DataRow row = this.DtSource.NewRow(); InventoryFacade facade = new InventoryFacade(this.DataProvider); OQCQuery oqcQuery = obj as OQCQuery; row["OQCSerial"] = oqcQuery.OqcNo; row["SAPInvNo"] = oqcQuery.InvNo; row["StorageOutType"] = oqcQuery.PickType; row["StorageNo"] = oqcQuery.StorageCode; row["GFHWItemCode"] = oqcQuery.GfHwItemCode; row["DQMCode"] = oqcQuery.DQMCode; row["VendorMCODE"] = oqcQuery.VendorMCode; row["DQMaterialNoDesc"] = oqcQuery.Mdesc; row["OQCType"] = oqcQuery.OqcType;//检验方式 row["AQLLevel"] = oqcQuery.AQL; row["INQTY"] = oqcQuery.Qty; //来料数量 row["SampleSize"] = oqcQuery.SampleSize; //样本数量 row["NGQty"] = oqcQuery.NgQty; row["ReturnQty"] = oqcQuery.ReturnQty; row["GiveQTY"] = oqcQuery.GiveQty; row["Ctime"] = oqcQuery.CDate; int ocCheckFinishDate = facade.MaxOutDate(oqcQuery.OqcNo, oqcQuery.MCode, "OQC"); int ocCheckFinishTime = facade.MaxOutTime(oqcQuery.OqcNo, oqcQuery.MCode, "OQC"); int sqeFinishDate = facade.MaxOutDate(oqcQuery.OqcNo, oqcQuery.MCode, "OQCSQE"); int sqeFinishTime = facade.MaxOutTime(oqcQuery.OqcNo, oqcQuery.MCode, "OQCSQE"); row["OCCheckFinishDate"] = ocCheckFinishDate; // QC检验完成时间 row["SQEFinishDate"] = sqeFinishDate; //SQE判定完成时间 int oqcCloseDate = 0; int oqcCloseTime = 0; if (oqcQuery.Status == "OQCClose") { oqcCloseDate = oqcQuery.MaintainDate; oqcCloseTime = oqcQuery.MaintainTime; row["OQCFinishDate"] = oqcQuery.MaintainDate;//有SQE环节的,等于SQE判定完成时间;无SQE环节的,等于QC检验完成时间 } decimal OCCheckDate = 0; if (ocCheckFinishDate != 0) { OCCheckDate = Common.Totalday(ocCheckFinishDate, ocCheckFinishTime, oqcQuery.CDate, oqcQuery.CTime); } decimal SQEexecuteDate = 0; if (SQEexecuteDate != 0) { SQEexecuteDate = Common.Totalday(sqeFinishDate, sqeFinishTime, ocCheckFinishDate, ocCheckFinishTime); } decimal OQCEexecuteDate = 0; if (oqcCloseDate != 0) { OQCEexecuteDate = Common.Totalday(oqcCloseDate, oqcCloseTime, oqcQuery.CDate, oqcQuery.CTime); } row["OCCheckDate"] = OCCheckDate.ToString("0.0"); //QC检验完成时间-创建时间,每天8小时转换成天,未完成检验为空 row["SQEexecuteDate"] = SQEexecuteDate.ToString("0.0"); //SQE判定完成时间-QC检验完成时间,每天按8小时转换成天,未完成SQE判定或无SQE环节则为空 row["OQCEexecuteDate"] = OQCEexecuteDate.ToString("0.0"); //OQC完成时间-创建时间,每天按8小时转换成天,OQC未完成为空 Dictionary <string, string> eCodelist = GetECodelist(); if (eCodelist != null) { foreach (string key in eCodelist.Keys) { row[key] = facade.GetNgQty(oqcQuery.OqcNo, oqcQuery.MCode, key); } } return(row); }
protected override DataRow GetGridRow(object obj) { DataRow row = this.DtSource.NewRow(); InventoryFacade facade = new InventoryFacade(this.DataProvider); OQCQuery oqcQuery = obj as OQCQuery; row["CreateOQCQty"] = oqcQuery.OQCQty; string outType = FormatHelper.CleanString(this.drpStorageOutTypeQurey.SelectedValue); string storageCode = FormatHelper.CleanString(this.drpStorageQuery.SelectedValue); int dateFrom = FormatHelper.TODateInt(this.dateInDateFromQuery.Text); int dateTo = FormatHelper.TODateInt(this.dateInDateToQuery.Text); int QCCheckQty = facade.QueryTransQty(outType, storageCode, dateFrom, dateTo, "OQC"); int SQEQty = facade.QueryTransQty(outType, storageCode, dateFrom, dateTo, "OQCSQE"); row["QCCheckQty"] = QCCheckQty; row["SQEQty"] = SQEQty; object[] oqcQueryList = facade.QueryRecordOQC( FormatHelper.CleanString(this.drpStorageOutTypeQurey.SelectedValue), FormatHelper.CleanString(this.drpStorageQuery.SelectedValue), FormatHelper.TODateInt(this.dateInDateFromQuery.Text), FormatHelper.TODateInt(this.dateInDateToQuery.Text), 0, int.MaxValue); #region oqcQueryList decimal sumOCCheckDate = 0; int sumOCCheck = 0; decimal sumSQEexecuteDate = 0; int sumSQEexecute = 0; foreach (OQCQuery oqcObj in oqcQueryList) { int ocCheckFinishDate = facade.MaxOutDate(oqcObj.OqcNo, oqcObj.MCode, "OQC"); int ocCheckFinishTime = facade.MaxOutTime(oqcObj.OqcNo, oqcObj.MCode, "OQC"); int sqeFinishDate = facade.MaxOutDate(oqcObj.OqcNo, oqcObj.MCode, "OQCSQE"); int sqeFinishTime = facade.MaxOutTime(oqcObj.OqcNo, oqcObj.MCode, "OQCSQE"); decimal OCCheckDate = 0; if (ocCheckFinishDate != 0) { OCCheckDate = Common.Totalday(ocCheckFinishDate, ocCheckFinishTime, oqcObj.CDate, oqcObj.CTime); sumOCCheckDate += OCCheckDate; sumOCCheck++; } decimal SQEexecuteDate = 0; if (SQEexecuteDate != 0) { SQEexecuteDate = Common.Totalday(sqeFinishDate, sqeFinishTime, ocCheckFinishDate, ocCheckFinishTime); sumSQEexecuteDate += SQEexecuteDate; sumSQEexecute++; } } #endregion decimal sumOC = 0; if (sumOCCheck != 0) { sumOC = (sumOCCheckDate / sumOCCheck); } decimal sumSQE = 0; if (sumSQEexecute != 0) { sumSQE = (sumSQEexecuteDate / sumSQEexecute); } row["AvgOQCheckDate"] = sumOC.ToString("0.0"); row["AvgSQEDate"] = sumSQE.ToString("0.0"); row["AvgOQCDate"] = (sumOC + sumSQE).ToString("0.0"); row["SumINQTY"] = oqcQuery.Qty; row["SumSampleSize"] = oqcQuery.SampleSize; row["SumNGQty"] = oqcQuery.NgQty; row["SumReturnQty"] = oqcQuery.ReturnQty; row["SumGiveQTY"] = oqcQuery.GiveQty; Dictionary <string, string> eCodelist = GetECodelist(); if (eCodelist != null) { foreach (string key in eCodelist.Keys) { row[key] = facade.GetSumNgQty(outType, storageCode, dateFrom, dateTo, key); } } return(row); }