/// <summary>
    /// 绑定Grid
    /// </summary>
    protected void BindGrid()
    {
        BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB();
        DataSet ds = new DataSet();

        try
        {
            string strWhere = this.StrWhere;

            if (!string.IsNullOrEmpty(Request.QueryString["arriveBillNo"]))
            {
                strWhere += "  and arriveBillNo='" + Request.QueryString["arriveBillNo"].Replace("'", "''") + "'";
            }

            if (!string.IsNullOrEmpty(Request.QueryString["financeBillNo"]))
            {
                strWhere += "  and financeBillNo='" + Request.QueryString["financeBillNo"].Replace("'", "''") + "'";
            }

            if (!string.IsNullOrEmpty(Request.QueryString["materialNo"]))
            {
                strWhere += "  and materialNo='" + Request.QueryString["materialNo"].Replace("'", "''") + "'";
            }

            ds = arrangeBillBoxBB.GetVList(strWhere);
            this.grid.DataSource = ds.Tables[0];
            this.grid.DataBind();

            //赋值记录条数、页面总数
            this.Label3.Text = ds.Tables[0].Rows.Count.ToString();
            this.Label2.Text = this.grid.PageCount.ToString();
            this.currPage.Text = (this.grid.PageIndex + 1).ToString();
        }
        finally
        {
            arrangeBillBoxBB.Dispose();
        }
    }
Esempio n. 2
0
    public string GetPalletWareInfo(string strPalletNo)
    {
        string strWareLocatorNo = "";
        BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB();
        LWareBB wareBB = new LWareBB();
        LWareLocatorBB wareLocatorBB = new LWareLocatorBB();
        LMaterialBB materialBB = new LMaterialBB();
        SCommBB commBB = new SCommBB();

        try
        {
            DataTable dtArrangeBillBox = new DataTable();
            DataTable dtWare = new DataTable();
            DataTable dtWareLocator = new DataTable();

            //获取托盘下的所有箱子
            dtArrangeBillBox = arrangeBillBoxBB.GetVList("palletNo='" + strPalletNo + "' and isnull(wareNo,'')<>''").Tables[0];
            if (dtArrangeBillBox.Rows.Count > 0)
            {
                string strFinanceBillSort = "", strFinanceBillNo = "";

                strFinanceBillSort = dtArrangeBillBox.Rows[0]["financeBillSort"].ToString();//采购合同类型
                strFinanceBillNo = dtArrangeBillBox.Rows[0]["financeBillNo"].ToString();//采购合同号
                if (strFinanceBillSort == "按单" || strFinanceBillNo.IndexOf("EB16") == -1)
                {
                    #region 按单

                    //按单的物料,放置在正式库的平面库区
                    dtWareLocator = wareLocatorBB.GetVList("wareSortNo='A' and wareType='03' and isUsing=0 and isDel=0").Tables[0];
                    if (dtWareLocator.Rows.Count > 0)
                    {
                        strWareLocatorNo = dtWareLocator.Rows[0]["wareNo"].ToString() + ","
                            + dtWareLocator.Rows[0]["wareLocatorNo"].ToString();//库位
                    }

                    #endregion 按单
                }
                else if (strFinanceBillSort == "备货" || strFinanceBillNo.IndexOf("EB16") != -1)
                {
                    #region 备货

                    string strMaterialNos = "", strUCodeNos = "", strWareSortNos = "B";
                    int materialNum = 1;
                    DataTable dtMaterial = new DataTable();

                    //判断当前托盘是否存在多个物料
                    strMaterialNos = dtArrangeBillBox.Rows[0]["materialNo"].ToString();//物料编号
                    strUCodeNos = dtArrangeBillBox.Rows[0]["U_CodeNo"].ToString();//物料U_CodeNo
                    foreach (DataRow row in dtArrangeBillBox.Rows)
                    {
                        if (strMaterialNos.IndexOf(row["materialNo"].ToString()) == -1)
                        {
                            materialNum++;
                            strMaterialNos += "," + row["materialNo"].ToString();//物料编号
                        }

                        if (strUCodeNos.IndexOf(row["U_CodeNo"].ToString()) == -1)
                        {
                            strUCodeNos += "," + row["U_CodeNo"].ToString();//物料U_CodeNo
                        }
                    }

                    if (materialNum == 1)//托盘上只有一种物料
                    {
                        dtMaterial = materialBB.GetList("materialNo='" + strMaterialNos + "'").Tables[0];//获取物料信息
                        strWareSortNos = dtMaterial.Rows[0]["wareSortNo"].ToString();//获取物料的货位分类
                    }
                    else
                    {
                        foreach (DataRow row in dtArrangeBillBox.Rows)
                        {
                            dtMaterial = materialBB.GetList("materialNo='" + row["materialNo"].ToString() + "'").Tables[0];//获取物料信息
                            if (dtMaterial.Rows[0]["wareSortNo"].ToString() != "B")//查找货位分类为非高位货架所有类别
                            {
                                if (strWareSortNos == "B")//如果当前类型为高位货架
                                {
                                    strWareSortNos = dtMaterial.Rows[0]["wareSortNo"].ToString();//货架分类赋新值
                                }
                                else
                                {
                                    if (strWareSortNos.IndexOf(dtMaterial.Rows[0]["wareSortNo"].ToString()) == -1)
                                    {
                                        strWareSortNos += "," + dtMaterial.Rows[0]["wareSortNo"].ToString();
                                    }
                                }
                            }
                        }
                    }

                    if (strWareSortNos == "D" || strWareSortNos == "E")//流利货架摆放不分库位,推荐到库区即可
                    {
                        //获取推荐库区信息
                        dtWare = wareBB.GetVList("wareSortNo='" + strWareSortNos + "' and wareType='03' and isDel=0").Tables[0];
                        if (dtWare.Rows.Count > 0)
                        {
                            strWareLocatorNo = dtWare.Rows[0]["wareNo"].ToString() + ",";//库区
                        }
                    }
                    else//其他货架,推荐到库位
                    {
                        //获取推荐库位信息
                        dtWareLocator = commBB.Query("exec Proc_GetSuggestWareLocator '" + strWareSortNos.Trim(',')
                            + "','" + strUCodeNos.Trim(',') + "','" + strMaterialNos.Trim(',') + "'").Tables[0];
                        if (dtWareLocator.Rows.Count > 0)
                        {
                            strWareLocatorNo = dtWareLocator.Rows[0]["wareNo"].ToString() + ","
                                + dtWareLocator.Rows[0]["wareLocatorNo"].ToString();//库位
                        }
                    }

                    #endregion 备货
                }
            }
        }
        finally
        {
            arrangeBillBoxBB.Dispose();
            wareBB.Dispose();
            wareLocatorBB.Dispose();
            materialBB.Dispose();
            commBB.Dispose();
        }

        return strWareLocatorNo;
    }
Esempio n. 3
0
    public DataTable GetUsingArrivePallet(string strArriveBillNo, string strFinanceBillNos, string strPalletIndexs)
    {
        BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB();
        SCommBB commBB = new SCommBB();

        try
        {
            DataTable dtArrangeBillDetail = new DataTable();
            DataTable dtArrangeBillBoxBB = new DataTable();
            DataTable dtPallet = new DataTable();
            StringBuilder strSql = new StringBuilder();
            DataRow myDataRow = null;
            DataColumn myDataColumn;

            dtPallet.TableName = "dtPallet";

            //生成托盘条码号表托盘条码号列
            myDataColumn = new DataColumn();
            myDataColumn.DataType = System.Type.GetType("System.String");
            myDataColumn.ColumnName = "palletNo";
            dtPallet.Columns.Add(myDataColumn);

            //合计排托物料汇总
            strSql.Append("select materialNo,sum(boxNum) as boxNum ");
            strSql.Append("from dbo.BArrangeBillDetail ");
            strSql.Append("where arriveBillNo='" + strArriveBillNo + "' and palletIndex in (" + strPalletIndexs + ") ");
            strSql.Append("group by materialNo");

            dtArrangeBillDetail = commBB.Query(strSql.ToString()).Tables[0];

            //获取到货单下所有未排托并且托盘未占用的的所有托盘
            dtArrangeBillBoxBB = arrangeBillBoxBB.GetVList("arriveBillNo='" + strArriveBillNo
                + "' and '," + strFinanceBillNos + ",' like '%,'+financeBillNo+',%' and isBoxArrange=0 and isPalletUsing=0 and wareType='05'").Tables[0];

            foreach (DataRow row in dtArrangeBillDetail.Rows)
            {
                string strMaterialNo = "";
                int boxNum = 0;
                DataRow[] myDataRowArray = null;
                DataRow[] myDataRowArrayPallet = null;

                strMaterialNo = row["materialNo"].ToString();
                boxNum = Convert.ToInt32(row["boxNum"]);

                for (int i = 0; i < boxNum; i++)
                {
                    myDataRowArray = dtArrangeBillBoxBB.Select("materialNo='" + strMaterialNo
                        + "' and isBoxArrange=0 and isPalletUsing=0");

                    if (myDataRowArray.Length == 0)
                    {
                        break;
                    }
                    else
                    {
                        myDataRowArray[0]["isBoxArrange"] = true;

                        myDataRowArrayPallet = dtPallet.Select("palletNo='" + myDataRowArray[0]["palletNo"].ToString() + "'");
                        if (myDataRowArrayPallet.Length == 0)
                        {
                            //新增一个托盘
                            myDataRow = dtPallet.NewRow();

                            myDataRow["palletNo"] = myDataRowArray[0]["palletNo"].ToString();

                            dtPallet.Rows.Add(myDataRow);
                        }
                    }
                }
            }

            return dtPallet;
        }
        finally
        {
            arrangeBillBoxBB.Dispose();
            commBB.Dispose();
        }
    }
Esempio n. 4
0
    public string GetPalletNoByBoxNo(string strBoxNo)
    {
        BArrangeBillBoxBB arrangeBillBox = new BArrangeBillBoxBB();

        try
        {
            DataTable dt = new DataTable();

            dt = arrangeBillBox.GetVList("boxNo='" + strBoxNo + "'").Tables[0];
            if (dt.Rows.Count > 0)
            {
                return dt.Rows[0]["palletNo"].ToString();
            }

            return "";
        }
        finally
        {
            arrangeBillBox.Dispose();
        }
    }
Esempio n. 5
0
    public DataTable GetBoxByWhere(string strWhere)
    {
        BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB();

        try
        {
            DataTable dt = new DataTable();

            dt = arrangeBillBoxBB.GetVList(strWhere).Tables[0];
            return dt;
        }
        finally
        {
            arrangeBillBoxBB.Dispose();
        }
    }
Esempio n. 6
0
    public DataTable GetBoxByWareLocatorLeavingNum(string strWareLocatorNo)
    {
        BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB();

        try
        {
            DataTable dt = new DataTable();

            dt = arrangeBillBoxBB.GetVList("wareLocatorNo='" + strWareLocatorNo + "'").Tables[0];
            return dt;
        }
        finally
        {
            arrangeBillBoxBB.Dispose();
        }
    }
Esempio n. 7
0
    public DataTable GetBoxByPalletNo(string PalletNo)
    {
        BArrangeBillBoxBB arrangeBillBoxBB = new BArrangeBillBoxBB();

        try
        {
            DataTable dt = new DataTable();

            dt = arrangeBillBoxBB.GetVList("PalletNo='" + PalletNo + "'").Tables[0];
            return dt;
        }
        finally
        {
            arrangeBillBoxBB.Dispose();
        }
    }
    /// <summary>
    /// 清空天托盘操作 首先判断托盘啥上是否有货 有货的话 是否有 wareNO,wareLocatorNO,
    /// 只是适应于一种情况 就是托盘上有货 但是没有库位的情况
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnClear_Click(object sender, EventArgs e)
    {
        if (txtClearPalletNO.Text.ToString() == "")
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"托盘号不能为空!\");", true);
            return;
        }
        bool canClear = true;
        BArrangeBillBoxBB bb = new BArrangeBillBoxBB();
        DataTable dt = bb.GetVList("PalletNo='" + txtClearPalletNO.Text.ToString().Trim().ToUpper() + "'").Tables[0];
        if (dt.Rows.Count == 0)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"托盘上已经没有任何产品 不需要清空!\");", true);
            return;
        }
        else
        {
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (dt.Rows[i]["wareNo"].ToString() != "" || dt.Rows[i]["wareLocatorNo"].ToString() != "")
                {
                    canClear = false;
                    break;
                }
            }

            if (!canClear)
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"此托盘上的产品仍在仓库当中 请到库存报表当中查看详细!\");", true);
                return;
            }
            else
            {
                string command = "update BArrangeBillBox set palletNo = '' where palletNo = '" + txtClearPalletNO.Text.ToString().Trim().ToUpper() + "'";
                SCommBB comm = new SCommBB();
                try
                {
                    comm.ExecuteSql(command);
                    txtClearPalletNO.Text = "";
                }
                catch (Exception ee)
                {
                    this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"清理托盘失败 " + ee.Message + "!\");", true);
                }
                finally
                {
                    comm.Dispose();
                }
            }
        }
    }