public DataTable getShippingPackagesStatus(ShippingParameter sparameters)
        {
            DataTable dt = sps.getShippingPackagesBySparameters(sparameters);

            if (dt.Rows.Count > 0)
            {
                //ShippingPackageStatus
                List <ShippingPackageStatusParameter> lspsps = new List <ShippingPackageStatusParameter>();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ShippingPackageStatusParameter spsp = new ShippingPackageStatusParameter();
                    spsp.GtnPO       = dt.Rows[i]["GtnPO"].ToString();
                    spsp.po_mainLine = dt.Rows[i]["po_mainLine"].ToString();
                    spsp.styleNumber = dt.Rows[i]["styleNumber"].ToString();
                    spsp.color       = dt.Rows[i]["color"].ToString();
                    lspsps.Add(spsp);
                }
                /*获取扫描系统数据*/
                // List<ShippingPackageStatus> lspss = new List<ShippingPackageStatus>();
                DataTable shipPackStatusDT = new DataTable();
                shipPackStatusDT.Columns.Add(new DataColumn("aid", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("isCancel", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("type", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("ftyNo", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("season", Type.GetType("System.String")));

                shipPackStatusDT.Columns.Add(new DataColumn("masterPO", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("GtnPO", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("Modify", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("po_mainLine", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("HOD", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("befoeHOD", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("newHOD", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("bookingStatus", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("BookingData", Type.GetType("System.String")));

                shipPackStatusDT.Columns.Add(new DataColumn("styleNumber", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("color", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("totalQty", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("overflow", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("pprfno", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("POqty", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("POboxs", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("InQty", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("InBoxs", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("CHQty", Type.GetType("System.Int32")));
                shipPackStatusDT.Columns.Add(new DataColumn("CHBoxs", Type.GetType("System.Int32")));

                shipPackStatusDT.Columns.Add(new DataColumn("con_no", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("CompletionRate", Type.GetType("System.String"))); // 入库比率
                shipPackStatusDT.Columns.Add(new DataColumn("ShipmentRatio", Type.GetType("System.String")));  // 出货比率

                shipPackStatusDT.Columns.Add(new DataColumn("BVPO", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("styleName", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("colDescription", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("channel", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("shipMode", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("sourceTag", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("wwwt", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("citHangTag", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("Fastener", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("steelNumber", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("cup", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("cclable", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("sensitive", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("remark", Type.GetType("System.String")));
                shipPackStatusDT.Columns.Add(new DataColumn("org", Type.GetType("System.String")));

                DataTable ScanDt = sps.getShippingPackageStatusByPO(lspsps);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    for (int j = 0; j < ScanDt.Rows.Count; j++)
                    {
                        string shipPo          = dt.Rows[i]["GtnPO"].ToString().ToUpper();
                        string shipPo_MainLine = dt.Rows[i]["po_mainLine"].ToString().ToUpper();
                        string shipStyleNumber = dt.Rows[i]["styleNumber"].ToString().ToUpper();
                        string shipColor_code  = dt.Rows[i]["color"].ToString().ToUpper();

                        string scanPo          = ScanDt.Rows[j]["po"].ToString().ToUpper();
                        string scanPo_MainLine = ScanDt.Rows[j]["MAIN_LINE"].ToString().ToUpper();
                        string scanStyleNumber = ScanDt.Rows[j]["Buyer_Item"].ToString().ToUpper();
                        string scanColor_code  = ScanDt.Rows[j]["color_code"].ToString().ToUpper();

                        string totalQty = dt.Rows[i]["totalQty"].ToString();
                        string overflow = dt.Rows[i]["overflow"].ToString();
                        string POqty    = ScanDt.Rows[j]["POqty"].ToString();
                        string POboxs   = ScanDt.Rows[j]["POboxs"].ToString();
                        string InQty    = ScanDt.Rows[j]["InQty"].ToString();
                        string InBoxs   = ScanDt.Rows[j]["InBoxs"].ToString();
                        string CHQty    = ScanDt.Rows[j]["CHQty"].ToString();
                        string CHBoxs   = ScanDt.Rows[j]["CHBoxs"].ToString();

                        int tlQty = totalQty.Length <= 0 ? 0 : Convert.ToInt32(totalQty);
                        int tOQty = overflow.Length <= 0 ? 0 : Convert.ToInt32(overflow);

                        int Pqty  = POqty.Length <= 0 ? 0 : Convert.ToInt32(POqty);
                        int Pboxs = POboxs.Length <= 0 ? 0 : Convert.ToInt32(POboxs);
                        int IQty  = InQty.Length <= 0 ? 0 : Convert.ToInt32(InQty);
                        int IBoxs = InBoxs.Length <= 0 ? 0 : Convert.ToInt32(InBoxs);
                        int CQty  = CHQty.Length <= 0 ? 0 : Convert.ToInt32(CHQty);
                        int CBoxs = CHBoxs.Length <= 0 ? 0 : Convert.ToInt32(CHBoxs);

                        if (shipPo == scanPo &&
                            shipPo_MainLine == scanPo_MainLine &&
                            shipStyleNumber == scanStyleNumber &&
                            shipColor_code == scanColor_code
                            )
                        {
                            DataRow dr = shipPackStatusDT.NewRow();
                            dr["aid"]           = Convert.ToInt32(dt.Rows[i]["aid"].ToString());
                            dr["isCancel"]      = dt.Rows[i]["isCancel"].ToString();
                            dr["type"]          = dt.Rows[i]["type"].ToString().ToUpper();
                            dr["ftyNo"]         = dt.Rows[i]["ftyNo"].ToString().ToUpper();
                            dr["season"]        = dt.Rows[i]["season"].ToString().ToUpper();
                            dr["masterPO"]      = dt.Rows[i]["masterPO"].ToString().ToUpper();
                            dr["GtnPO"]         = dt.Rows[i]["GtnPO"].ToString().ToUpper();
                            dr["Modify"]        = dt.Rows[i]["modifyPO"].ToString().ToUpper();
                            dr["po_mainLine"]   = dt.Rows[i]["po_mainLine"].ToString().ToUpper();
                            dr["HOD"]           = dt.Rows[i]["HOD"].ToString().ToUpper();
                            dr["befoeHOD"]      = dt.Rows[i]["befoeHOD"].ToString().ToUpper();
                            dr["newHOD"]        = dt.Rows[i]["newHOD"].ToString().ToUpper();
                            dr["bookingStatus"] = dt.Rows[i]["bookingStatus"].ToString().ToUpper();
                            dr["BookingData"]   = dt.Rows[i]["BookingData"].ToString().ToUpper();
                            dr["styleNumber"]   = dt.Rows[i]["styleNumber"].ToString().ToUpper();
                            dr["color"]         = dt.Rows[i]["color"].ToString().ToUpper();
                            dr["totalQty"]      = tlQty;
                            dr["overflow"]      = tOQty;
                            dr["pprfno"]        = ScanDt.Rows[j]["pprfno"].ToString();
                            dr["POqty"]         = Pqty;
                            dr["POboxs"]        = Pboxs;
                            dr["InQty"]         = IQty;
                            dr["InBoxs"]        = IBoxs;
                            dr["CHQty"]         = CQty;
                            dr["CHBoxs"]        = CBoxs;
                            dr["con_no"]        = ScanDt.Rows[j]["con_no"].ToString().ToUpper();

                            if (IQty <= 0)
                            {
                                dr["CompletionRate"] = "0.00";
                            }
                            else
                            {
                                dr["CompletionRate"] = (Convert.ToDouble(IQty) / Convert.ToDouble(Pqty) * 100).ToString("#0.00");
                            }

                            if (CQty <= 0)
                            {
                                dr["ShipmentRatio"] = "0.00";
                            }
                            else
                            {
                                dr["ShipmentRatio"] = (Convert.ToDouble(CQty) / Convert.ToDouble(Pqty) * 100).ToString("#0.00");
                            }

                            dr["BVPO"]           = dt.Rows[i]["BVPO"].ToString().ToUpper();
                            dr["styleName"]      = dt.Rows[i]["styleName"].ToString().ToUpper();
                            dr["colDescription"] = dt.Rows[i]["colDescription"].ToString().ToUpper();
                            dr["channel"]        = dt.Rows[i]["channel"].ToString().ToUpper();
                            dr["shipMode"]       = dt.Rows[i]["shipMode"].ToString().ToUpper();
                            dr["sourceTag"]      = dt.Rows[i]["sourceTag"].ToString().ToUpper();
                            dr["wwwt"]           = dt.Rows[i]["wwwt"].ToString().ToUpper();
                            dr["citHangTag"]     = dt.Rows[i]["citHangTag"].ToString().ToUpper();
                            dr["Fastener"]       = dt.Rows[i]["Fastener"].ToString().ToUpper();
                            dr["steelNumber"]    = dt.Rows[i]["steelNumber"].ToString().ToUpper();
                            dr["cup"]            = dt.Rows[i]["cup"].ToString().ToUpper();
                            dr["cclable"]        = dt.Rows[i]["cclable"].ToString().ToUpper();
                            dr["sensitive"]      = dt.Rows[i]["sensitive"].ToString().ToUpper();
                            dr["remark"]         = dt.Rows[i]["remark"].ToString().ToUpper();
                            dr["org"]            = dt.Rows[i]["org"].ToString().ToUpper();
                            shipPackStatusDT.Rows.Add(dr);
                        }
                    }
                }
                // 转table
                return(shipPackStatusDT);
            }
            return(null);
        }
        public DataTable getShippingPackagesBySparameters(ShippingParameter sparameters)
        {
            DataTable dt = sps.getShippingPackagesBySparameters(sparameters);

            return(dt);
        }