/// <summary>
        /// 数据源
        /// </summary>
        /// <returns></returns>
        public string ShowProductSource()
        {
            ProductStockBLL            psb  = new ProductStockBLL();
            List <model.productsource> list = psb.GetProductSourceAll();
            StringBuilder alltable          = new StringBuilder();

            alltable.Append("<table id='StcokTable' class='mytable' style='font-size:12px;'><tr style='text-align:center;'>");
            alltable.Append("<th>编号</th>");
            alltable.Append("<th>数据源名</th>");
            alltable.Append("<th>已开放</th>");
            alltable.Append("<th>未开放</th>");
            alltable.Append("<th>操作</th>");
            alltable.Append("<th>细节</th>");
            alltable.Append("</tr>");
            for (int i = 0; i < list.Count; i++)
            {
                alltable.Append("<tr style='text-align:center;'>");
                alltable.Append("<td>" + list[i].Id + "</td>");
                alltable.Append("<td>" + list[i].sourceName + "</td>");
                alltable.Append("<td>" + psb.GetProductStockOpenCount(list[i].SourceCode, "2") + "</td>");
                alltable.Append("<td>" + psb.GetProductStockOpenCount(list[i].SourceCode, "1") + "</td>");
                alltable.Append("<td><a href='#' onclick='OpenAll(\"" + list[i].SourceCode + "\",2)' >开放数据源</a>丨丨<a href='#' onclick='OpenAll(\"" + list[i].SourceCode + "\",1)'>暂停数据源</a></td>");
                alltable.Append("<td><a href='#' onclick='QueryBrand(\"" + list[i].SourceCode + "\")'>查看品牌</a>丨丨<a href='#' onclick='QueryType(\"" + list[i].SourceCode + "\")'>查看类别</a></td>");
                alltable.Append("</tr>");
            }
            return(alltable.ToString());
        }
        /// <summary>
        /// 显示品牌配置
        /// </summary>
        /// <returns></returns>
        public string GetBrandVen()
        {
            ProductStockBLL psb     = new ProductStockBLL();
            string          vencode = Request.Form["vencode"] == null ? "" : Request.Form["vencode"].ToString();
            StringBuilder   allpage = new StringBuilder();

            string[] str = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
            char []  cr  = new char [] { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
            for (int i = 0; i < str.Length; i++)
            {
                allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' id='" + str[i] + "' onchange='CheckAll(\"" + str[i] + "\")' />" + str[i] + "</div>");
                List <model.BrandVen> list = psb.GetBrandByVencode(vencode);
                list = list.Where(a => a.BrandNameVen.StartsWith(str[i])).ToList();
                for (int j = 0; j < list.Count; j++)
                {
                    allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='" + str[i] + "' id='" + list[j].BrandAbridge + "'>" + list[j].BrandNameVen + "</label></div>");
                }
                allpage.Append("</div><div style='clear:both'></div>");
            }
            List <model.BrandVen> listall = psb.GetBrandByVencode(vencode);

            for (int i = 0; i < str.Length; i++)
            {
                listall = listall.Where(a => a.BrandNameVen.StartsWith(str[i]) == false).ToList();
            }
            allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' id='else' onchange='CheckAll(else)' />其他</div>");
            for (int i = 0; i < listall.Count; i++)
            {
                allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='else' id='" + listall[i].BrandAbridge + "'>" + listall[i].BrandNameVen + "</label></div>");
            }
            return(allpage.ToString());
        }
        public ActionResult BrandOpenProduct()
        {
            ProductStockBLL psb    = new ProductStockBLL();
            int             roleId = helpcommon.ParmPerportys.GetNumParms(userInfo.User.personaId);
            int             menuId = helpcommon.ParmPerportys.GetNumParms(Request.QueryString["menuId"]);

            ViewData["myMenuId"] = menuId;
            PublicHelpController ph = new PublicHelpController();

            if (userInfo.User.userName == "sa")
            {
                funName f = new funName();
                System.Reflection.MemberInfo[] properties = f.GetType().GetMembers();
                foreach (System.Reflection.MemberInfo item in properties)
                {
                    string value = item.Name;
                    ViewData[value] = 1;
                }
            }
            BrandOpenProductSaveMenuId = menuId;
            if (!ph.isFunPermisson(roleId, menuId, funName.selectName))
            {
                return(View("../NoPermisson/Index"));
            }
            ProductHelper php = new ProductHelper();

            ViewData["Vencode"] = php.GetVencodeDDlist();
            return(View());
        }
Beispiel #4
0
        /// <summary>
        /// 供应商列表
        /// </summary>
        /// <returns></returns>
        public string ShowVencode()
        {
            StringBuilder              DroVencode = new StringBuilder(200);;
            ProductStockBLL            psb        = new ProductStockBLL();
            List <model.productsource> listSource = psb.GetVencodeProduct();
            List <SelectListItem>      list       = new List <SelectListItem>();

            DroVencode.Append("<option value='0'>请选择</option>");
            for (int i = 0; i < listSource.Count; i++)
            {
                DroVencode.Append("<option value='" + listSource[i].SourceCode + "'>" + listSource[i].sourceName + "</option>");
            }
            return(DroVencode.ToString());
        }
        /// <summary>
        /// 开放或者暂停整个数据源
        /// </summary>
        /// <returns></returns>
        public string OpenAll()
        {
            ProductStockBLL psb       = new ProductStockBLL();
            string          vencode   = Request.Form["Vencode"] == null ? "" : Request.Form["Vencode"].ToString();
            string          openstate = Request.Form["OpenState"] == null ? "" : Request.Form["OpenState"].ToString();

            if (psb.OpenAll(vencode, openstate))
            {
                return("操作成功");
            }
            else
            {
                return("操作失败");
            }
        }
        /// <summary>
        /// 选择暂停
        /// </summary>
        /// <returns></returns>
        public string CloseOperation()
        {
            ProductStockBLL psb  = new ProductStockBLL();
            string          list = Request.Form["list"].ToString();

            string[]  str = list.Split(',');
            DataTable dt  = new DataTable();

            dt.Columns.Add("Scode");
            dt.Columns.Add("Vencode");
            for (int i = 0; i < str.Length; i++)
            {
                DataRow dr = dt.NewRow();
                dr["Scode"]   = str[i].Split('❤')[0];
                dr["Vencode"] = str[i].Split('❤')[1];
                dt.Rows.Add(dr);
            }
            return(psb.ProductOpenScode(dt, "1"));
        }
        /// <summary>
        /// 显示类别
        /// </summary>
        /// <returns></returns>
        public string GetProductVen()
        {
            ProductStockBLL             psb         = new ProductStockBLL();
            string                      vencode     = Request.Form["vencode"] == null ? "" : Request.Form["vencode"].ToString();
            StringBuilder               allpage     = new StringBuilder();
            List <model.productbigtype> listBigType = psb.GetProductBigTypeVencode();

            for (int i = 0; i < listBigType.Count; i++)
            {
                allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' id='" + listBigType[i].Id + "' onchange='CheckAll(\"" + listBigType[i].Id + "\")' />" + listBigType[i].bigtypeName + "</div>");
                List <model.producttypeVen> list = psb.GetProductTypeVencode(vencode);
                list = list.Where(a => a.BigId == listBigType[i].Id).ToList();
                for (int j = 0; j < list.Count; j++)
                {
                    allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='" + listBigType[i].Id + "' id='" + list[j].TypeNo + "'>" + list[j].TypeName + "</label></div>");
                }
                allpage.Append("</div><div style='clear:both'></div>");
            }
            return(allpage.ToString());
        }
        /// <summary>
        /// 数据源库存开放或者关闭
        /// </summary>
        /// <returns></returns>
        public string OpenProduct()
        {
            ProductStockBLL psb   = new ProductStockBLL();
            string          Dates = Request.Form["OpenArry"] == null ? "" : Request.Form["OpenArry"].ToString();//品牌缩写或者类别编号

            string [] Arry      = Dates.Split(',');
            string    vencode   = Request.Form["Vencode"] == null ? "" : Request.Form["Vencode"].ToString();     //数据源编号
            string    openstate = Request.Form["OpenState"] == null ? "" : Request.Form["OpenState"].ToString(); //1-暂停  2-开放
            string    opentype  = Request.Form["OpenType"] == null ? "" : Request.Form["OpenType"].ToString();   //开放类型  Brand-开放品牌   ProductType-开放类别

            if (opentype == "Brand")
            {
                bool result = psb.OpenPorudctBrand(Arry, openstate, vencode);
                if (result)
                {
                    return("操作成功!");
                }
                else
                {
                    return("操作失败!");
                }
            }
            else if (opentype == "ProductType")
            {
                bool result = psb.OpenPorudctType(Arry, openstate, vencode);
                if (result)
                {
                    return("操作成功!");
                }
                else
                {
                    return("操作失败!");
                }
            }
            else
            {
                return("操作失败");
            }
        }
        /// <summary>
        /// 批量关闭
        /// </summary>
        /// <returns></returns>
        public string CloseOperationAll()
        {
            ProductStockBLL psb = new ProductStockBLL();

            string[] str     = new string[17];
            string   scode   = Request.Form["scode"] == null ? "" : Request.Form["scode"].ToString().Trim();
            string   style   = Request.Form["style"] == null ? "" : Request.Form["style"].ToString().Trim();
            string   price   = Request.Form["price"] == null ? "" : Request.Form["price"].ToString().Trim();
            string   price1  = Request.Form["price1"] == null ? "" : Request.Form["price1"].ToString().Trim();
            string   cat     = Request.Form["Cat1"] == null ? "" : Request.Form["Cat1"].ToString().Trim();
            string   brand   = Request.Form["brand"] == null ? "" : Request.Form["brand"].ToString().Trim();//品牌
            string   stcok   = Request.Form["stcok"] == null ? "" : Request.Form["stcok"].ToString().Trim();
            string   stcok1  = Request.Form["stcok1"] == null ? "" : Request.Form["stcok1"].ToString().Trim();
            string   time    = Request.Form["time"] == null ? "" : Request.Form["time"].ToString().Trim();
            string   time1   = Request.Form["time1"] == null ? "" : Request.Form["time1"].ToString().Trim();
            string   CatLb   = Request.Form["Cat2"] == null ? "" : Request.Form["Cat2"].ToString().Trim();       //类别
            string   Vencode = Request.Form["Vencode"] == null ? "" : Request.Form["Vencode"].ToString().Trim(); //供应商

            str[0]  = scode;
            str[1]  = style;
            str[2]  = price;
            str[3]  = price1;
            str[4]  = cat;//季节
            str[5]  = stcok;
            str[6]  = stcok1;
            str[7]  = brand; //品牌
            str[8]  = time;
            str[9]  = time1;
            str[10] = CatLb;   //类别
            str[11] = Vencode; //供应商
            str[12] = userInfo.User.Id.ToString();
            str[13] = "";
            str[14] = "";
            str[15] = Request.Form["Imagefile"] == null ? "" : Request.Form["Imagefile"].ToString();
            str[16] = Request.Form["Descript"] == null ? "" : Request.Form["Descript"].ToString();
            DataTable dt = psb.GetProductOpenScode(str);

            return(psb.ProductOpenScode(dt, "1"));
        }
Beispiel #10
0
        /// <summary>
        /// 页面显示
        /// </summary>
        /// <returns></returns>
        public string TypeShow()
        {
            if (userInfo.User.personaId == 1)  //如果是管理员
            {
                #region 管理员
                ProductStockBLL             psb         = new ProductStockBLL();
                string                      vencode     = Request.Form["vencode"] == null ? "1" : Request.Form["vencode"].ToString();
                string                      roleId      = Request.Form["roleId"] == null ? "0" : Request.Form["roleId"].ToString();
                StringBuilder               allpage     = new StringBuilder();
                List <model.productbigtype> listBigType = psb.GetProductBigTypeVencode();
                string[]                    BigType;
                string[]                    Type = ptb.GetTypePerssoin(roleId, vencode, out BigType);
                for (int i = 0; i < listBigType.Count; i++)
                {
                    if (BigType.Contains(listBigType[i].Id.ToString()))
                    {
                        allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' checked='checked' category='BigType' type='checkbox' id='" + listBigType[i].Id + "' onchange='CheckAll(\"" + listBigType[i].Id + "\")' />" + listBigType[i].bigtypeName + "</div>");
                    }
                    else
                    {
                        allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' category='BigType' type='checkbox' id='" + listBigType[i].Id + "' onchange='CheckAll(\"" + listBigType[i].Id + "\")' />" + listBigType[i].bigtypeName + "</div>");
                    }
                    List <model.producttypeVen> list = psb.GetProductTypeVencode(vencode);
                    list = list.Where(a => a.BigId == listBigType[i].Id).ToList();
                    for (int j = 0; j < list.Count; j++)
                    {
                        if (Type.Contains(list[j].TypeNo.ToString()))
                        {
                            allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' checked='checked' category='Type' name='" + listBigType[i].Id + "' id='" + list[j].TypeNo + "'>" + list[j].TypeName + "</label></div>");
                        }
                        else
                        {
                            allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' category='Type' name='" + listBigType[i].Id + "' id='" + list[j].TypeNo + "'>" + list[j].TypeName + "</label></div>");
                        }
                    }
                    allpage.Append("</div><div style='clear:both'></div>");
                }
                return(allpage.ToString());

                #endregion
            }
            else
            {
                #region 其他角色
                ProductStockBLL             psb         = new ProductStockBLL();
                string                      vencode     = Request.Form["vencode"] == null ? "1" : Request.Form["vencode"].ToString();
                string                      roleId      = Request.Form["roleId"] == null ? "0" : Request.Form["roleId"].ToString();
                StringBuilder               allpage     = new StringBuilder();
                List <model.productbigtype> listBigType = psb.GetProductBigTypeVencode();
                string[]                    BigType;                                                          //当前角色的大类别权限
                string[]                    Type     = ptb.GetTypePerssoin(roleId, vencode, out BigType);     //当前角色的权限
                string[]                    UserType = ptb.GetTypeUser(userInfo.User.Id.ToString(), vencode); //用户自己的权限
                for (int i = 0; i < listBigType.Count; i++)
                {
                    if (BigType.Contains(listBigType[i].Id.ToString()))
                    {
                        List <model.producttypeVen> list = psb.GetProductTypeVencode(vencode, listBigType[i].Id);//通过大类别获取小类别
                        allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' checked='checked' category='BigType' type='checkbox' id='" + listBigType[i].Id + "' onchange='CheckAll(\"" + listBigType[i].Id + "\")' />" + listBigType[i].bigtypeName + "</div>");
                        for (int j = 0; j < list.Count; j++)
                        {
                            if (Type.Contains(list[j].TypeNo))
                            {
                                if (UserType.Contains(list[j].TypeNo))
                                {
                                    allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' checked='checked' category='Type' name='" + listBigType[i].Id + "' id='" + list[j].TypeNo + "'>" + list[j].TypeName + "</label></div>");
                                }
                                else
                                {
                                    allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' category='Type' name='" + listBigType[i].Id + "' id='" + list[j].TypeNo + "'>" + list[j].TypeName + "</label></div>");
                                }
                            }
                        }
                    }
                    allpage.Append("</div><div style='clear:both'></div>");
                }
                return(allpage.ToString());

                #endregion
            }
        }
Beispiel #11
0
        /// <summary>
        /// 显示需要选择的页面
        /// </summary>
        /// <returns></returns>
        public string BrandShowPage()
        {
            StringBuilder allpage = new StringBuilder();

            if (userInfo.User.personaId == 1)  //如果是超级管理员
            {
                #region       超级管理员
                ProductStockBLL psb       = new ProductStockBLL();
                string          vencode   = Request.Form["vencode"] == null ? "" : Request.Form["vencode"].ToString();
                string          roleId    = Request.Form["roleId"] == null ? "0" : Request.Form["roleId"].ToString();
                string[]        BrandUser = ptb.GetBrandRole(vencode, roleId);
                string[]        str       = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
                for (int i = 0; i < str.Length; i++)
                {
                    string[] RoleBrand = bb.GetUserBrandName(roleId, vencode, str[i]);
                    if (RoleBrand.Length > 0)
                    {
                        allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' checked='checked' type='checkbox' id='" + str[i] + "' onchange='CheckAll(\"" + str[i] + "\")' />" + str[i] + "</div>");
                    }
                    else
                    {
                        allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' id='" + str[i] + "' onchange='CheckAll(\"" + str[i] + "\")' />" + str[i] + "</div>");
                    }
                    List <model.BrandVen> list = psb.GetBrandByVencode(vencode);
                    list = list.Where(a => a.BrandNameVen.StartsWith(str[i])).ToList();//匹配首字母
                    for (int j = 0; j < list.Count; j++)
                    {
                        if (RoleBrand.Contains(list[j].BrandAbridge))
                        {
                            allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' checked='checked' Genre='Brand' name='" + str[i] + "' id='" + list[j].BrandAbridge + "'>" + list[j].BrandNameVen + "</label></div>");
                        }
                        else
                        {
                            allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='" + str[i] + "' id='" + list[j].BrandAbridge + "'>" + list[j].BrandNameVen + "</label></div>");
                        }
                    }
                    allpage.Append("</div><div style='clear:both'></div>");
                }
                List <model.BrandVen> listall = psb.GetBrandByVencode(vencode);
                for (int i = 0; i < str.Length; i++)
                {
                    listall = listall.Where(a => a.BrandNameVen.StartsWith(str[i]) == false).ToList();//排除首字母A-Z
                }
                string[] elsrRoleBrand = bb.GetUserBrandName(roleId, vencode);
                if (elsrRoleBrand.Length > 0)
                {
                    allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' checked='checked' id='rest' onchange='CheckAll(\"rest\")' />其他</div>");
                }
                else
                {
                    allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' id='rest' onchange='CheckAll(\"rest\")' />其他</div>");
                }
                for (int i = 0; i < listall.Count; i++)
                {
                    if (elsrRoleBrand.Contains(listall[i].BrandAbridge))
                    {
                        allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' checked='checked' name='rest' id='" + listall[i].BrandAbridge + "'>" + listall[i].BrandNameVen + "</label></div>");
                    }
                    else
                    {
                        allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='rest' id='" + listall[i].BrandAbridge + "'>" + listall[i].BrandNameVen + "</label></div>");
                    }
                }
                allpage.Append("</div><div style='clear:both'></div>");
                return(allpage.ToString());

                #endregion
            }
            else
            {
                #region   用户
                string   vencode      = Request.Form["vencode"] == null ? "" : Request.Form["vencode"].ToString();
                string   roleId       = Request.Form["roleId"] == null ? "0" : Request.Form["roleId"].ToString();
                string[] str          = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
                string[] strUserBrand = bb.GetUserBrandSx(userInfo.User.Id.ToString(), vencode);
                //首字母A-Z
                for (int i = 0; i < str.Length; i++)
                {
                    #region
                    List <model.BrandConfig> list = bb.GetAllUserBrand(roleId, vencode, str[i]);
                    if (list.Count > 0)
                    {
                        allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' checked='checked' type='checkbox' id='" + str[i] + "' onchange='CheckAll(\"" + str[i] + "\")' />" + str[i] + "</div>");
                        for (int j = 0; j < list.Count; j++)
                        {
                            if (strUserBrand.Contains(list[j].BrandId))
                            {
                                allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' checked='checked' Genre='Brand' name='" + str[i] + "' id='" + list[j].BrandId + "'>" + list[j].BrandName + "</label></div>");
                            }
                            else
                            {
                                allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='" + str[i] + "' id='" + list[j].BrandId + "'>" + list[j].BrandName + "</label></div>");
                            }
                        }
                    }
                    allpage.Append("</div><div style='clear:both'></div>");
                    #endregion
                }
                //其他字符开头
                List <model.BrandConfig> listAll = bb.GetAllUserBrand(roleId, vencode);
                for (int i = 0; i < str.Length; i++)
                {
                    listAll = listAll.Where(a => a.BrandName.ToUpper().StartsWith(str[i]) == false).ToList();//排除首字母A-Z
                }
                allpage.Append("<div><div style='color:blue;font-size:15px;'><input class='ckeckboxAll' type='checkbox' checked='checked' id='else' onchange='CheckAll(else)' />其他</div>");
                for (int i = 0; i < listAll.Count; i++)
                {
                    if (strUserBrand.Contains(listAll[i].BrandId))
                    {
                        allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' checked='checked' Genre='Brand' name='else' id='" + listAll[i].BrandId + "'>" + listAll[i].BrandName + "</label></div>");
                    }
                    else
                    {
                        allpage.Append("<div style='float:left;min-width:120px'><label><input type='checkbox' Genre='Brand' name='else' id='" + listAll[i].BrandId + "'>" + listAll[i].BrandName + "</label></div>");
                    }
                }
                return(allpage.ToString());

                #endregion
            }
        }
        public static int Savemenuid     = 0; //记录菜单编号
        public string GetAllProduct()
        {
            usersbll             usb = new usersbll();
            PublicHelpController ph  = new PublicHelpController();
            ProductStockBLL      psb = new ProductStockBLL();

            #region 查询条件

            string   orderParams            = Request.Form["params"] ?? string.Empty;                                                        //参数
            string[] orderParamss           = helpcommon.StrSplit.StrSplitData(orderParams, ',');                                            //参数集合
            Dictionary <string, string> dic = new Dictionary <string, string>();                                                             //搜索条件

            string Style     = helpcommon.StrSplit.StrSplitData(orderParamss[0], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //货号
            string Scode     = helpcommon.StrSplit.StrSplitData(orderParamss[1], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //款号
            string PriceMin  = helpcommon.StrSplit.StrSplitData(orderParamss[2], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //最小价格
            string PriceMax  = helpcommon.StrSplit.StrSplitData(orderParamss[3], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //最大价格
            string Season    = helpcommon.StrSplit.StrSplitData(orderParamss[4], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //季节
            string Type      = helpcommon.StrSplit.StrSplitData(orderParamss[5], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //品牌
            string Brand     = helpcommon.StrSplit.StrSplitData(orderParamss[6], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //最小库存
            string StockMin  = helpcommon.StrSplit.StrSplitData(orderParamss[7], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //最大库存
            string StockMax  = helpcommon.StrSplit.StrSplitData(orderParamss[8], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //最小时间
            string Descript  = helpcommon.StrSplit.StrSplitData(orderParamss[9], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty;  //最大时间
            string MinTime   = helpcommon.StrSplit.StrSplitData(orderParamss[10], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty; //类别
            string MaxTime   = helpcommon.StrSplit.StrSplitData(orderParamss[11], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty; //供应商
            string Vencode   = helpcommon.StrSplit.StrSplitData(orderParamss[12], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty; //有图/无图
            string ImageFile = helpcommon.StrSplit.StrSplitData(orderParamss[13], ':')[1].Replace("'", "").Replace("}", "") ?? string.Empty; //有图/无图


            Scode     = Scode == "\'\'" ? string.Empty : Scode;
            Style     = Style == "\'\'" ? string.Empty : Style;
            PriceMax  = PriceMax == "\'\'" ? string.Empty : PriceMax;
            PriceMin  = PriceMin == "\'\'" ? string.Empty : PriceMin;
            Season    = Season == "\'\'" ? string.Empty : Season;
            Brand     = Brand == "\'\'" ? string.Empty : Brand;
            StockMax  = StockMax == "\'\'" ? string.Empty : StockMax;
            StockMin  = StockMin == "\'\'" ? string.Empty : StockMin;
            MinTime   = MinTime == "\'\'" ? string.Empty : MinTime;
            MaxTime   = MaxTime == "\'\'" ? string.Empty : MaxTime;
            Type      = Type == "\'\'" ? string.Empty : Type;
            Vencode   = Vencode == "\'\'" ? string.Empty : Vencode;
            ImageFile = ImageFile == "\'\'" ? string.Empty : ImageFile;
            Descript  = Descript == "\'\'" ? string.Empty : Descript;

            dic.Add("Scode", Scode);
            dic.Add("Style", Style);
            dic.Add("PriceMax", PriceMax);
            dic.Add("PriceMin", PriceMin);
            dic.Add("Season", Season);
            dic.Add("Brand", Brand);
            dic.Add("StockMax", StockMax);
            dic.Add("StockMin", StockMin);
            dic.Add("TimeMin", MinTime);
            dic.Add("TimeMax", MaxTime);
            dic.Add("Type", Type);
            dic.Add("Vencode", Vencode);
            dic.Add("Imagefile", ImageFile);
            dic.Add("Descript", Descript);
            dic.Add("ShopId", "");                              //店铺Id 选货处使用
            dic.Add("isCheckProduct", "");                      //是否为选货查询 选货处使用
            dic.Add("CustomerId", userInfo.User.Id.ToString()); //用户Id

            #endregion
            int roleId = helpcommon.ParmPerportys.GetNumParms(userInfo.User.personaId); //角色ID
            int menuId = helpcommon.ParmPerportys.GetNumParms(Request.Form["menuId"]);  //菜单ID

            int pageIndex = Request.Form["pageIndex"] == null ? 0 : helpcommon.ParmPerportys.GetNumParms(Request.Form["pageIndex"]);
            int pageSize  = Request.Form["pageSize"] == null ? 10 : helpcommon.ParmPerportys.GetNumParms(Request.Form["pageSize"]);

            string[] allTableName = usb.getDataName("productstock");                          //当前列表所有字段
            string[] s            = ph.getFiledPermisson(roleId, menuId, funName.selectName); //获得当前权限字段
            bool     Storage      = ph.isFunPermisson(roleId, menuId, funName.Storage);       //入库权限
            bool     Marker       = ph.isFunPermisson(roleId, menuId, funName.Marker);        //商品标记权限(备注)

            int Count = 0;                                                                    //数据总个数
            psb.SearchShowProductStock(dic, out Count);
            int PageCount = Count % pageSize > 0 ? Count / pageSize + 1 : Count / pageSize;   //数据总页数

            int MinId = pageSize;
            int MaxId = pageSize * (pageIndex - 1);

            DataTable dt = psb.SearchShowProductStock(dic, MinId, MaxId);

            #region  Table表头排序
            string idNuber = "";

            idNuber = allTableName[0];
            for (int i = 0; i < allTableName.Length; i++)   //排序将款号挪到第一列
            {
                if (allTableName[i] == "Style")
                {
                    string styleNuber = allTableName[i];
                    allTableName[0] = styleNuber;
                    allTableName[i] = idNuber;
                }
            }
            string Value = "";
            Value = allTableName[1];
            for (int i = 0; i < allTableName.Length; i++)   //排序将货号挪到第二列
            {
                if (allTableName[i] == "Scode")
                {
                    string temp = allTableName[i];
                    allTableName[1] = Scode;
                    allTableName[i] = Value;
                }
            }
            string Model = "";
            Model = allTableName[2];
            for (int i = 0; i < allTableName.Length; i++)   //排序将型号挪到第三列
            {
                if (allTableName[i] == "Model")
                {
                    string temp = allTableName[i];
                    allTableName[2] = Scode;
                    allTableName[i] = Model;
                }
            }
            string IdNumber = "";
            IdNumber = s[0];
            for (int n = 0; n < s.Length; n++)   //排序将款号挪到第一列
            {
                if (s[n] == "Style")
                {
                    string styleNuber = s[n];
                    s[0] = styleNuber;
                    s[n] = IdNumber;
                }
            }
            string test = "";
            test = s[1];
            for (int n = 0; n < s.Length; n++)   //排序将货号挪到第二列
            {
                if (s[n] == "Scode")
                {
                    string styleNuber = s[n];
                    s[1] = styleNuber;
                    s[n] = test;
                }
            }
            string ModelS = "";
            ModelS = s[2];
            for (int n = 0; n < s.Length; n++)   //排序将货号挪到第二列
            {
                if (s[n] == "Model")
                {
                    string styleNuber = s[n];
                    s[2] = styleNuber;
                    s[n] = ModelS;
                }
            }
            if (s.Contains("Imagefile"))
            {
                string temp = s[3];
                for (int i = 0; i < s.Length; i++)
                {
                    if (s[i] == "Imagefile")
                    {
                        s[i] = temp;
                        s[3] = "Imagefile";
                    }
                }
            }
            #endregion
            StringBuilder Alltable = new StringBuilder();

            #region Table表头
            Alltable.Append("<table id='StcokTable' class='mytable' style='font-size:12px;'><tr style='text-align:center;'>");
            Alltable.Append("<td>序号</td>");
            for (int i = 0; i < s.Length; i++)
            {
                if (allTableName.Contains(s[i]))
                {
                    Alltable.Append("<th>");
                    if (s[i] == "Id")
                    {
                        Alltable.Append("编号");
                    }
                    if (s[i] == "Scode")
                    {
                        Alltable.Append("货号");
                    }
                    if (s[i] == "Bcode")
                    {
                        Alltable.Append("条码1");
                    }
                    if (s[i] == "Bcode2")
                    {
                        Alltable.Append("条码2");
                    }
                    if (s[i] == "Descript")
                    {
                        Alltable.Append("英文描述");
                    }
                    if (s[i] == "Cdescript")
                    {
                        Alltable.Append("中文描述");
                    }
                    if (s[i] == "Unit")
                    {
                        Alltable.Append("单位");
                    }
                    if (s[i] == "Currency")
                    {
                        Alltable.Append("货币");
                    }
                    if (s[i] == "Cat")
                    {
                        Alltable.Append("品牌");
                    }
                    if (s[i] == "Cat1")
                    {
                        Alltable.Append("季节");
                    }
                    if (s[i] == "Cat2")
                    {
                        Alltable.Append("类别");
                    }
                    if (s[i] == "Clolor")
                    {
                        Alltable.Append("颜色");
                    }
                    if (s[i] == "Size")
                    {
                        Alltable.Append("尺寸");
                    }
                    if (s[i] == "Style")
                    {
                        Alltable.Append("款号");
                    }
                    if (s[i] == "Pricea")
                    {
                        Alltable.Append("吊牌价");
                    }
                    if (s[i] == "Priceb")
                    {
                        Alltable.Append("零售价");
                    }
                    if (s[i] == "Pricec")
                    {
                        Alltable.Append("VIP价");
                    }
                    if (s[i] == "Priced")
                    {
                        Alltable.Append("批发价");
                    }
                    if (s[i] == "Pricee")
                    {
                        Alltable.Append("成本价");
                    }
                    if (s[i] == "Disca")
                    {
                        Alltable.Append("折扣1");
                    }
                    if (s[i] == "Discb")
                    {
                        Alltable.Append("折扣2");
                    }
                    if (s[i] == "Discc")
                    {
                        Alltable.Append("折扣3");
                    }
                    if (s[i] == "Discd")
                    {
                        Alltable.Append("折扣4");
                    }
                    if (s[i] == "Disce")
                    {
                        Alltable.Append("折扣5");
                    }
                    if (s[i] == "Vencode")
                    {
                        Alltable.Append("供应商");
                    }
                    if (s[i] == "Model")
                    {
                        Alltable.Append("型号");
                    }
                    if (s[i] == "Rolevel")
                    {
                        Alltable.Append("预警库存");
                    }
                    if (s[i] == "Roamt")
                    {
                        Alltable.Append("最少订货量");
                    }
                    if (s[i] == "Stopsales")
                    {
                        Alltable.Append("停售库存");
                    }
                    if (s[i] == "Loc")
                    {
                        Alltable.Append("店铺");
                    }
                    if (s[i] == "Balance")
                    {
                        Alltable.Append("供应商库存");
                    }
                    if (s[i] == "Lastgrnd")
                    {
                        Alltable.Append("交货日期");
                    }
                    if (s[i] == "Imagefile")
                    {
                        Alltable.Append("缩略图");
                    }
                    if (s[i] == "UserId")
                    {
                        Alltable.Append("操作人");
                    }
                    if (s[i] == "PrevStock")
                    {
                        Alltable.Append("上一次库存");
                    }
                    if (s[i] == "Def2")
                    {
                        Alltable.Append("是否次品");
                    }
                    if (s[i] == "Def3")
                    {
                        Alltable.Append("默认3");
                    }
                    if (s[i] == "Def4")
                    {
                        Alltable.Append("是否开放");
                    }
                    if (s[i] == "Def5")
                    {
                        Alltable.Append("默认5");
                    }
                    if (s[i] == "Def6")
                    {
                        Alltable.Append("默认6");
                    }
                    if (s[i] == "Def7")
                    {
                        Alltable.Append("默认7");
                    }
                    if (s[i] == "Def8")
                    {
                        Alltable.Append("默认8");
                    }
                    if (s[i] == "Def9")
                    {
                        Alltable.Append("默认9");
                    }
                    if (s[i] == "Def10")
                    {
                        Alltable.Append("默认10");
                    }
                    if (s[i] == "Def11")
                    {
                        Alltable.Append("默认11");
                    }
                    Alltable.Append("</th>");
                }
            }
            Alltable.Append("<td><input type='checkbox' id='CheckAll' onchange='checkall()'/>操作</td>");
            Alltable.Append("</tr>");
            #endregion

            #region Table内容
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Alltable.Append("<tr>");
                Alltable.Append("<td>" + (i + pageSize * (pageIndex - 1) + 1) + "</td>");
                int DefCountBalance = psb.GetDefctiveRemarkBalanceCount(psb.SelectVenNameByVencode(dt.Rows[i]["Vencode"].ToString()), dt.Rows[i]["Scode"].ToString());
                for (int j = 0; j < s.Length; j++)
                {
                    if (allTableName.Contains(s[j]))
                    {
                        if (s[j] == "Imagefile")
                        {
                            if (dt.Rows[i]["ImagePath"] != null && dt.Rows[i]["ImagePath"].ToString() != "")
                            {
                                Alltable.Append("<td>");
                                Alltable.Append("<img style='height:50px;width:50px;' onerror='errorImg(this)' src='" + dt.Rows[i]["ImagePath"] + "' />");
                                Alltable.Append("</td>");
                            }
                            else
                            {
                                Alltable.Append("<td>");
                                Alltable.Append("");
                                Alltable.Append("</td>");
                            }
                        }
                        else if (s[j] == "Def2")
                        {
                            string IsState = dt.Rows[i]["Def2"] == null ? "0" : dt.Rows[i]["Def2"].ToString();
                            if (IsState == "1")
                            {
                                Alltable.Append("<td>");
                                Alltable.Append("是");
                                Alltable.Append("</td>");
                            }
                            else
                            {
                                Alltable.Append("<td>");
                                Alltable.Append("否");
                                Alltable.Append("</td>");
                            }
                        }
                        else if (s[j] == "Balance")
                        {
                            int scount = int.Parse(dt.Rows[i]["Balance"].ToString()) - DefCountBalance;
                            Alltable.Append("<td>");
                            Alltable.Append(scount);
                            Alltable.Append("</td>");
                        }
                        else if (s[j] == "Def4")
                        {
                            string def4 = dt.Rows[i]["Def4"] == null ? "2" : dt.Rows[i]["Def4"].ToString();
                            if (def4 != "1")
                            {
                                Alltable.Append("<td>");
                                Alltable.Append("已开放");
                                Alltable.Append("</td>");
                            }
                            else
                            {
                                Alltable.Append("<td>");
                                Alltable.Append("未开放");
                                Alltable.Append("</td>");
                            }
                        }
                        else
                        {
                            Alltable.Append("<td>");
                            Alltable.Append(dt.Rows[i][s[j]]);
                            Alltable.Append("</td>");
                        }
                    }
                }
                Alltable.Append("<td>");
                Alltable.Append("<input type='checkbox' class='check' vencode=\"" + dt.Rows[i]["Vencode"].ToString() + "\" title=\"" + dt.Rows[i]["Scode"] + "\"/>");
                Alltable.Append("</td>");
                Alltable.Append("</tr>");
            }
            Alltable.Append("</table>");
            #endregion

            #region 分页
            Alltable.Append("-----");
            Alltable.Append(PageCount + "-----" + Count);
            #endregion

            return(Alltable.ToString());
        }
        /// <summary>
        /// 拆单,分配订单
        /// </summary>
        /// <param name="orderId">订单编号</param>
        /// <param name="scode">商品货号</param>
        /// <returns></returns>
        public string getBalance(string orderId, string[] scode)
        {
            string s           = string.Empty;
            string splitResult = string.Empty;                                     //分配订单返回的结果
            string sqlText     = string.Empty;
            string cancelOrder = string.Empty;                                     //取消订单返回结果

            bll.apiorderbll apiorderBll = new bll.apiorderbll();
            DataTable       dtTime      = apiorderBll.getOrderDetailsMsg(orderId); //获取原始订单时间

            for (int f = 0; f < scode.Length; f++)                                 //如果一个订单存在多个商品,根据订单ID和货号进行遍历分配供应商
            {
                DataTable dt  = new DataTable();                                   //返回当前货号所在订单中的商品购买数量
                DataTable dt1 = new DataTable();                                   //返回当前商品(scode)的供应商,价格,库存3个属性值集合

                string detailsOrderId     = string.Empty;                          //子订单ID
                string detailsColor       = string.Empty;                          //商品颜色
                string detailsImg         = string.Empty;                          //商品图片
                string detailsTime        = string.Empty;                          //订单插入时间
                string minusBanlaceResult = string.Empty;                          //销售库存减去本次销售数量结果(成功、失败)
                string orderScode         = scode[f].ToString();                   //当前商品的货号(scode)
                int    orderScodeNum      = 0;                                     //子订单商品购买数量
                int    totalBalance       = 0;                                     //当前商品(scode)的总库存(所有供应商的库存和)
                int    saleBalanceDef3    = 0;                                     //当前商品(scode)已售数量(销售字段Def3的值)

                #region 根据orderId,scode获取订单商品购买数量
                //商品购买数量
                if (!string.IsNullOrWhiteSpace(orderId) && !string.IsNullOrWhiteSpace(orderScode))
                {
                    dt             = apiorderBll.getOrderMsg(orderId, orderScode);                                                             //根据订单号和货号返回此scode货号所在订单中的商品数量。
                    orderScodeNum  = helpcommon.ParmPerportys.GetNumParms(dt.Rows[0]["detailsSaleCount"].ToString());                          //返回此scode货号所在订单中的商品数量。
                    detailsOrderId = dt.Rows[0]["detailsOrderId"].ToString();                                                                  //子订单ID
                    detailsColor   = dt.Rows[0]["detailsColor"].ToString();                                                                    //商品颜色
                    detailsImg     = dt.Rows[0]["detailsImg"].ToString();                                                                      //商品图片
                    detailsTime    = dtTime.Rows[0]["detailsTime"].ToString();                                                                 //订单插入时间
                }
                #endregion

                #region 当前货号的3个信息值:1.供应商,2.价格,3.库存(因product表中只存在总库存数量,所以应该去productstock表中查询这3个属性值)
                Dictionary <string, decimal> dicPrice = new Dictionary <string, decimal>();                                                    //存放库存数量,价格
                Dictionary <string, int>     dicLevel = new Dictionary <string, int>();                                                        //存放数据源NO,库存数量

                Dictionary <string, decimal> dicPrice1 = new Dictionary <string, decimal>();                                                   //存放库存数量,价格
                Dictionary <string, int>     dicLevel1 = new Dictionary <string, int>();                                                       //存放数据源NO,库存数量

                ProductStockBLL ProductStockBll = new ProductStockBLL();
                dt1 = ProductStockBll.getScodeBalance(orderScode, false);                                      //返回供应商,价格,库存(当前货号的3个信息值:1.供应商,2.价格,3.库存)


                for (int i = 0; i < dt1.Rows.Count; i++)
                {
                    totalBalance += helpcommon.ParmPerportys.GetNumParms(dt1.Rows[i]["balance"].ToString());   //当前商品(scode)的总库存(所有供应商的库存和)
                }

                var m = dt1.AsEnumerable().ToArray();                                                                                               //dt1转换为数组
                var p = (from c in m orderby c["vencode"].ToString(), c["balance"].ToString(), c["price"].ToString() descending select c).ToList(); //已按供应商,库存,价格排序
                saleBalanceDef3 = ProductStockBll.getScodeBalanceSales(orderScode);                                                                 //此scode已售数量
                #endregion

                #region 总库存<=已售数量-1
                if (totalBalance <= saleBalanceDef3 - 1)//总库存<=已售数量-1(因为在bms接收app订单的时候,product表中的def3销售字段就会加上相应的订单商品购买数量)
                {
                    string cancelMsg = "库存不足,系统自动取消,";
                    //update
                    string orderResult         = MD5DAL.AppAPIHelper.ChangeOrderStatus(orderId, 3);            //给app发送取消消息
                    helpcommon.appOrderMsg msg = helpcommon.ReSerialize.ReserializeMethod(orderResult);
                    if (msg != null)
                    {
                        if (msg.Code == "0")   //code:0表示取消订单成功
                        {
                            model.pbxdatasourceDataContext context = new model.pbxdatasourceDataContext();
                            context.Connection.Open();
                            context.Transaction = context.Connection.BeginTransaction();

                            bll.sourceorderbll sourceorderBll = new bll.sourceorderbll();
                            ProductBll         Productbll     = new ProductBll();
                            cancelOrder       += sourceorderBll.cancelOrder(orderId, context);                  //bms取消订单(修改相关数据表状态为12)
                            minusBanlaceResult = Productbll.minusBanlace(orderScode, orderScodeNum, context);   //减掉此次购买商品数量  helpcommon.ParmPerportys.GetNumParms(dt1.Rows[i]["balance"].ToString());

                            if (cancelOrder.Contains("成功") && minusBanlaceResult.Contains("成功"))
                            {
                                context.Transaction.Commit();
                            }
                            else
                            {
                                context.Transaction.Rollback();
                            }
                            sourceorderBll = null;
                            Productbll     = null;
                        }
                        else
                        {
                            cancelMsg += "(" + msg.Message + ")给app推送取消订单信息失败";
                        }
                    }
                    return(cancelMsg + orderResult);                                                            // "库存不足,请取消此订单";
                }
                #endregion

                #region 分配供应商(一个订单多件商品,可能会被拆分到几个供应商。这里指同款商品多个或多款商品多个)
                int restNum = orderScodeNum; //分配到几个供应商,依次分配后,还剩下多少需要分配
                int state   = 0;             //
                for (int i = 0; i < p.Count; i++)
                {
                    if (state > 0)
                    {
                        continue;
                    }

                    #region 检测是否存在分配成功却又取消分配的订单(需重新分配)
                    DataTable dtSendSource = new bll.sourceorderbll().getOrderSendData(orderId, orderScode);                                                                                        //根据订单ID在apisendorder源头表中检测是否存在分配成功却又取消分配的订单(需重新分配)
                    sqlText += @"update apiorderdetails set detailsEditTime='" + DateTime.Now.ToString("yyyy-MM-dd") + "'  where orderId='" + orderId + "' and detailsscode='" + orderScode + "';"; //子订单编辑修改的时间
                    #endregion

                    if (helpcommon.ParmPerportys.GetNumParms(p[i]["balance"].ToString()) >= orderScodeNum)          //判断哪些数据源中的商品库存量>客户所购商品数量(供应商的库存已倒序)
                    {
                        #region 某个供应商存在足够多的库存,直接分配完成
                        //如果是取消过的订单
                        //update  p[i]["vencode"].ToString()
                        //比较vencode,取    取消订单的供应商的下一个
                        //select * from apiSendOrder where orderId = dt.Rows[0]["orderId"].ToString()

                        if (dtSendSource.Rows.Count == 1)    //存在分配成功却又取消分配的订单(需重新分配)【分配成功却又取消分配的订单只处理分配到一个供应商的订单,多个供应商由人工分配】
                        {
                            #region 存在分配成功却又取消分配的订单(需重新分配),因为前面已分配过,所以无需新增,修改即可
                            if (p[i]["vencode"].ToString() == dtSendSource.Rows[0]["sendSource"].ToString())
                            {
                                if (i + 1 < p.Count)
                                {
                                    //根据订单号、货号更改订单数量,编辑时间,供应商
                                    sqlText += @"update apiSendOrder set  newSaleCount='" + orderScodeNum + "',editTime='" + DateTime.Now.ToString("yyyy-MM-dd") + "',sendSource = '" + p[i + 1]["vencode"].ToString() + "' where orderId='" + orderId + "' and newscode='" + orderScode + "';";
                                    state++;
                                }
                                else
                                {
                                    return("订单(" + orderId + ")无供应商可分配,请取消订单");
                                }
                            }
                            #endregion
                        }
                        else
                        {
                            #region  存在分配成功却又取消分配的订单(新增记录)
                            //否则insert
                            var sendOrderId = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(1000, 9999).ToString();
                            sqlText += @"insert into apiSendOrder(orderId,detailsOrderId,newOrderId,newScode,newColor,newSize,newImg,newSaleCount,
newStatus,createTime,editTime,showStatus,sendSource) values('"
                                       + orderId + "','"
                                       + detailsOrderId + "','"
                                       + sendOrderId + "','"
                                       + orderScode + "','"
                                       + detailsColor + "','"
                                       + "','"
                                       + detailsImg + "',"
                                       + orderScodeNum + ","
                                       + 1 + ",'"  //新订单状态(订单当前状态:1为待确认,2为确认,3为待发货,4为发货,5交易成功,6通关异常,7,通关成功,11退货,12取消)
                                       + detailsTime + "','"
                                       + DateTime.Now.ToString("yyyy-MM-dd") + "',"
                                       + 0 + ",'" //审核开放(是否开放给供应商查看,0为未开放,1为开放)
                                       + p[i]["vencode"].ToString() + "');";
                            state++;
                            #endregion
                        }
                        #endregion
                    }
                    else
                    {
                        #region 一个供应商库存不足,需几个供应商加在一起

                        if (dtSendSource.Rows.Count > 1)    //存在分配成功却又取消分配的订单(需重新分配)
                        {
                            return("人工处理一个订单分配到几个供应商的订单");
                        }
                        else
                        {
                            sqlText += @"insert into apiSendOrder(orderId,detailsOrderId,newOrderId,newScode,newColor,newSize,newImg,newSaleCount,
newStatus,createTime,editTime,showStatus,sendSource) values('"
                                       + orderId + "','"
                                       + detailsOrderId + "','"
                                       + DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(1000, 9999) + "','"
                                       + orderScode + "','"
                                       + detailsColor + "','"
                                       + "','"
                                       + detailsImg + "',"
                                       + helpcommon.ParmPerportys.GetNumParms(p[i]["balance"].ToString()) + ","
                                       + 1 + ",'" //新订单状态(订单当前状态:1为待确认,2为确认,3为待发货,4为发货,5交易成功,6通关异常,7,通关成功,11退货,12取消)
                                       + detailsTime + "','"
                                       + DateTime.Now.ToString("yyyy-MM-dd") + "',"
                                       + 0 + ",'"//审核开放(是否开放给供应商查看,0为未开放,1为开放)
                                       + p[i]["vencode"].ToString() + "');";

                            if (helpcommon.ParmPerportys.GetNumParms(p[i]["balance"].ToString()) >= restNum)                            //当分配完成后
                            {
                                restNum = restNum - helpcommon.ParmPerportys.GetNumParms(p[i]["balance"].ToString());                   //剩余购买数量
                                state++;
                            }
                        }

                        #endregion
                    }
                }
                #endregion
            }

            SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString());
            con.Open();
            SqlTransaction st      = con.BeginTransaction();
            SqlCommand     command = new SqlCommand();
            try
            {
                //def2   是否已分配(0未分配,1分配)
                sqlText += @"update apiorder set def2 = 1 where orderId='" + orderId + "';";

                IDataParameter[] ipara = new IDataParameter[] { new SqlParameter("@sqlText", SqlDbType.NVarChar, 4000) };
                ipara[0].Value     = sqlText;
                command.Connection = con;
                command.Parameters.AddRange(ipara);
                command.CommandType = CommandType.StoredProcedure;
                command.CommandText = "sendSource";
                command.Transaction = st;
                command.ExecuteNonQuery();

                st.Commit();
                splitResult = "订单(" + orderId + ")分配成功";
            }
            catch (Exception ex) { st.Rollback(); splitResult = "分配失败,程序错误" + ex.Message + sqlText; }

            return(splitResult);
        }