示例#1
0
        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());
        }
示例#2
0
        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完成时
            });
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }