首页 > 代码库 > ERP商品管理业务逻辑封装(三十一)

ERP商品管理业务逻辑封装(三十一)

产品购进管理业务逻辑:

 public   class ProductBLL    {      /// <summary>      /// 产品对象添加 并且返回产品编号      /// </summary>      /// <param name="viewpro">产品视图对象</param>      public int BiotbProductAdd(ViewProInfo model)      {          int rowsAffected;          SqlParameter[] parameters = {					new SqlParameter("@ProID", SqlDbType.Int,4),					new SqlParameter("@ProName", SqlDbType.NVarChar,100),					new SqlParameter("@TypeID", SqlDbType.Int,4),					new SqlParameter("@CustomerID", SqlDbType.Int,4),					new SqlParameter("@ProLogo", SqlDbType.NVarChar,200),					new SqlParameter("@Spec", SqlDbType.NVarChar,100),					new SqlParameter("@ProFullName", SqlDbType.NVarChar,100),					new SqlParameter("@ConfirmNo", SqlDbType.NVarChar,100),					new SqlParameter("@Unit", SqlDbType.NVarChar,50),					new SqlParameter("@ProSize", SqlDbType.NVarChar,50),					new SqlParameter("@Grossweight", SqlDbType.NVarChar,50),					new SqlParameter("@MadeEnterprise", SqlDbType.NVarChar,100),					new SqlParameter("@Retailprice", SqlDbType.Money,8),					new SqlParameter("@BidPrice", SqlDbType.Money,8),					new SqlParameter("@TradePrice", SqlDbType.Money,8),					new SqlParameter("@AdvicePrice", SqlDbType.Money,8),					new SqlParameter("@CountyPrice", SqlDbType.Money,8),					new SqlParameter("@CityPrice", SqlDbType.Money,8),					new SqlParameter("@ProvincePrice", SqlDbType.Money,8),					new SqlParameter("@NetPrice", SqlDbType.Money,8),					new SqlParameter("@NetVipPrice", SqlDbType.Money,8),					new SqlParameter("@NetMemberprice", SqlDbType.Money,8),					new SqlParameter("@OurCompany", SqlDbType.NVarChar,100),					new SqlParameter("@ChannelID", SqlDbType.Int,4),					new SqlParameter("@Usefullife", SqlDbType.NVarChar,50),					new SqlParameter("@SubmitTime", SqlDbType.DateTime),					new SqlParameter("@StockMost", SqlDbType.NVarChar,100),					new SqlParameter("@StockLess", SqlDbType.NVarChar,100),					new SqlParameter("@Remark", SqlDbType.NVarChar,1000)};          parameters[0].Direction = ParameterDirection.Output;          parameters[1].Value = http://www.mamicode.com/model.ProName;"BiotbProduct_ADD", CommandType.StoredProcedure, parameters);          if (rowsAffected != 0)          {              return int.Parse(parameters[0].ToString());          }          else          {              return 0;          }            }      /// <summary>      /// 修改产品对象      /// </summary>      /// <param name="model">产品对象</param>      /// <returns>int</returns>      public int BiotbProductUpdate(ViewProInfo model)      {          SqlParameter[] parameters = {					new SqlParameter("@ProID", SqlDbType.Int,4),					new SqlParameter("@ProName", SqlDbType.NVarChar,100),					new SqlParameter("@TypeID", SqlDbType.Int,4),					new SqlParameter("@CustomerID", SqlDbType.Int,4),					new SqlParameter("@ProLogo", SqlDbType.NVarChar,200),					new SqlParameter("@Spec", SqlDbType.NVarChar,100),					new SqlParameter("@ProFullName", SqlDbType.NVarChar,100),					new SqlParameter("@ConfirmNo", SqlDbType.NVarChar,100),					new SqlParameter("@Unit", SqlDbType.NVarChar,50),					new SqlParameter("@ProSize", SqlDbType.NVarChar,50),					new SqlParameter("@Grossweight", SqlDbType.NVarChar,50),					new SqlParameter("@MadeEnterprise", SqlDbType.NVarChar,100),					new SqlParameter("@Retailprice", SqlDbType.Money,8),					new SqlParameter("@BidPrice", SqlDbType.Money,8),					new SqlParameter("@TradePrice", SqlDbType.Money,8),					new SqlParameter("@AdvicePrice", SqlDbType.Money,8),					new SqlParameter("@CountyPrice", SqlDbType.Money,8),					new SqlParameter("@CityPrice", SqlDbType.Money,8),					new SqlParameter("@ProvincePrice", SqlDbType.Money,8),					new SqlParameter("@NetPrice", SqlDbType.Money,8),					new SqlParameter("@NetVipPrice", SqlDbType.Money,8),					new SqlParameter("@NetMemberprice", SqlDbType.Money,8),					new SqlParameter("@OurCompany", SqlDbType.NVarChar,100),					new SqlParameter("@ChannelID", SqlDbType.Int,4),					new SqlParameter("@Usefullife", SqlDbType.NVarChar,50),					new SqlParameter("@SubmitTime", SqlDbType.DateTime),					new SqlParameter("@StockMost", SqlDbType.NVarChar,100),					new SqlParameter("@StockLess", SqlDbType.NVarChar,100),					new SqlParameter("@Remark", SqlDbType.NVarChar,1000)};          parameters[0].Value = http://www.mamicode.com/model.ProID;"BioProType_Update", CommandType.StoredProcedure, parameters);      }      /// <summary>      /// 根据产品编号返回产品视图实体对象      /// </summary>      /// <param name="proid"></param>      /// <returns></returns>      public ViewProInfo getProViewByProId(string ProID)      {          SqlParameter[] parameters = {					new SqlParameter("@ProID", SqlDbType.Int,4)};          parameters[0].Value = http://www.mamicode.com/ProID;"View_ProInfo_GetModel",CommandType.StoredProcedure,parameters);          if (ds.Tables[0].Rows.Count > 0)          {              if (ds.Tables[0].Rows[0]["ProID"].ToString() != "")              {                  model.ProID = int.Parse(ds.Tables[0].Rows[0]["ProID"].ToString());              }              model.ProName = ds.Tables[0].Rows[0]["ProName"].ToString();              if (ds.Tables[0].Rows[0]["TypeID"].ToString() != "")              {                  model.TypeID = int.Parse(ds.Tables[0].Rows[0]["TypeID"].ToString());              }              model.TypeName = ds.Tables[0].Rows[0]["TypeName"].ToString();              if (ds.Tables[0].Rows[0]["CustomerID"].ToString() != "")              {                  model.CustomerID = int.Parse(ds.Tables[0].Rows[0]["CustomerID"].ToString());              }              model.CustomerName = ds.Tables[0].Rows[0]["CustomerName"].ToString();              model.ProLogo = ds.Tables[0].Rows[0]["ProLogo"].ToString();              model.Spec = ds.Tables[0].Rows[0]["Spec"].ToString();              model.ProFullName = ds.Tables[0].Rows[0]["ProFullName"].ToString();              model.ConfirmNo = ds.Tables[0].Rows[0]["ConfirmNo"].ToString();              model.Unit = ds.Tables[0].Rows[0]["Unit"].ToString();              model.ProSize = ds.Tables[0].Rows[0]["ProSize"].ToString();              model.Grossweight = ds.Tables[0].Rows[0]["Grossweight"].ToString();              model.MadeEnterprise = ds.Tables[0].Rows[0]["MadeEnterprise"].ToString();              if (ds.Tables[0].Rows[0]["Retailprice"].ToString() != "")              {                  model.Retailprice = decimal.Parse(ds.Tables[0].Rows[0]["Retailprice"].ToString());              }              if (ds.Tables[0].Rows[0]["BidPrice"].ToString() != "")              {                  model.BidPrice = decimal.Parse(ds.Tables[0].Rows[0]["BidPrice"].ToString());              }              if (ds.Tables[0].Rows[0]["TradePrice"].ToString() != "")              {                  model.TradePrice = decimal.Parse(ds.Tables[0].Rows[0]["TradePrice"].ToString());              }              if (ds.Tables[0].Rows[0]["AdvicePrice"].ToString() != "")              {                  model.AdvicePrice = decimal.Parse(ds.Tables[0].Rows[0]["AdvicePrice"].ToString());              }              if (ds.Tables[0].Rows[0]["CountyPrice"].ToString() != "")              {                  model.CountyPrice = decimal.Parse(ds.Tables[0].Rows[0]["CountyPrice"].ToString());              }              if (ds.Tables[0].Rows[0]["CityPrice"].ToString() != "")              {                  model.CityPrice = decimal.Parse(ds.Tables[0].Rows[0]["CityPrice"].ToString());              }              if (ds.Tables[0].Rows[0]["ProvincePrice"].ToString() != "")              {                  model.ProvincePrice = decimal.Parse(ds.Tables[0].Rows[0]["ProvincePrice"].ToString());              }              if (ds.Tables[0].Rows[0]["NetPrice"].ToString() != "")              {                  model.NetPrice = decimal.Parse(ds.Tables[0].Rows[0]["NetPrice"].ToString());              }              if (ds.Tables[0].Rows[0]["NetVipPrice"].ToString() != "")              {                  model.NetVipPrice = decimal.Parse(ds.Tables[0].Rows[0]["NetVipPrice"].ToString());              }              if (ds.Tables[0].Rows[0]["NetMemberprice"].ToString() != "")              {                  model.NetMemberprice = decimal.Parse(ds.Tables[0].Rows[0]["NetMemberprice"].ToString());              }              model.OurCompany = ds.Tables[0].Rows[0]["OurCompany"].ToString();              if (ds.Tables[0].Rows[0]["ChannelID"].ToString() != "")              {                  model.ChannelID = int.Parse(ds.Tables[0].Rows[0]["ChannelID"].ToString());              }              model.ChannelName = ds.Tables[0].Rows[0]["ChannelName"].ToString();              model.Usefullife = ds.Tables[0].Rows[0]["Usefullife"].ToString();              if (ds.Tables[0].Rows[0]["SubmitTime"].ToString() != "")              {                  model.SubmitTime = DateTime.Parse(ds.Tables[0].Rows[0]["SubmitTime"].ToString());              }              model.StockMost = ds.Tables[0].Rows[0]["StockMost"].ToString();              model.StockLess = ds.Tables[0].Rows[0]["StockLess"].ToString();              model.Remark = ds.Tables[0].Rows[0]["Remark"].ToString();              return model;          }          else          {              return null;          }      }    }

 商品类型的业务:

public  class BioProTypeBLL    {      /// <summary>      /// 添加一个产品类型对象      /// </summary>      /// <param name="model"></param>      /// <returns></returns>      public int ProTypeAdd(BioProType model)      {          SqlParameter[] parameters = {									new SqlParameter("@ParentTypeID", SqlDbType.Int,4),					new SqlParameter("@TypeName", SqlDbType.NVarChar,100)};                 parameters[0].Value = http://www.mamicode.com/model.ParentTypeID;"BioProType_Add", CommandType.StoredProcedure, parameters);                }      /// <summary>      /// 产品类型修改      /// </summary>      /// <param name="model"></param>      /// <returns></returns>      public int ProTypeUpdate(BioProType model)      {          SqlParameter[] parameters = {					new SqlParameter("@TypeID", SqlDbType.Int,4),					new SqlParameter("@ParentTypeID", SqlDbType.Int,4),					new SqlParameter("@TypeName", SqlDbType.NVarChar,100)};          parameters[0].Value = http://www.mamicode.com/model.TypeID;"BioProType_Update", CommandType.StoredProcedure, parameters);      }      /// <summary>      /// 根据产品类型编号返回产品类型对象      /// </summary>      /// <param name="id"></param>      /// <returns></returns>      public BioProType getProTypeByTypeID(string id)      {         SqlDataReader reader= SqlComm.GetDataReaderByCondition("dbo.BioProType", "*", " TypeID=" + id);         BioProType type = new BioProType();         if (reader.Read())         {             if (reader["TypeID"] != null)             {                 type.TypeID = int.Parse(reader["TypeID"].ToString());             }             if (reader["ParentTypeID"] != null)             {                 type.ParentTypeID = int.Parse(reader["ParentTypeID"].ToString());             }             if (reader["TypeName"] != null)             {                 type.TypeName = reader["TypeName"].ToString();             }         }         return type;      }    }

 商品图片的BLL:

/// <summary>       /// 添加一条图片对象       /// </summary>       /// <param name="images"></param>       /// <returns></returns>       public int BiotbProImgsAdd(BiotbProImgs images)       {           SqlParameter[] parameters = {					new SqlParameter("@ProID", SqlDbType.Int,4),					new SqlParameter("@ProImg", SqlDbType.NVarChar,200)};           parameters[0].Value = http://www.mamicode.com/images.ProID;"BiotbProImgs_ADD", CommandType.StoredProcedure, parameters);              }

添加产品类型的页面:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProTypeList.aspx.cs" Inherits="BioErpWeb.PersonList.ProTypeList" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <script type="text/javascript">        function ReturnValue(noteid) {            if (noteid != NaN || noteid != 0) {                window.returnValue = http://www.mamicode.com/noteid;"form1" runat="server">    <div>        <asp:TreeView ID="TreeView1" runat="server">        </asp:TreeView>    </div>    </form></body></html>

 选择的js:

function showProType() {    var re = showModalDialog("../../PersonList/ProTypeList.aspx", "", "dialogWidth=350px;dialogHeight=400px");    var obj = window.event.srcElement;    var td = obj.parentNode;    var txts = td.getElementsByTagName(‘input‘);    if (re == null || re == "") {        if (txts[0].value =http://www.mamicode.com/="" || txts[0].value =http://www.mamicode.com/= null) {"请选择";        }    }    else {        txts[0].value = http://www.mamicode.com/re;>

 后台代码:

  protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {              CreateTreeVeiw();            }        }        DataSet ds;        DataTable dt;        private void CreateTreeVeiw()        {            ds = SqlComm.GetDataByCondition("dbo.BioProType", "TypeID,ParentTypeID,TypeName", "1=1");            dt = new DataTable();            dt = ds.Tables[0];            if (dt.Rows.Count == 0)            {                Response.Write("<span style=‘color:red;‘>数据库中没有产品类型数据,请直接输入0即可…</span>");                return;            }            DataView dv = new DataView(dt, "ParentTypeID=0 or ParentTypeID=null", "TypeID", DataViewRowState.CurrentRows);            //遍历父节点            foreach (DataRowView d in dv)            {                TreeNode n = new TreeNode(d["TypeName"].ToString(), d["TypeID"].ToString());                n.ImageToolTip = dt.TableName;                n.NavigateUrl = "javascript:ReturnValue(" + d["TypeID"].ToString() + ");";                TreeView1.Nodes.Add(n);                n.Expanded = false;                //根据父节点筛选出对应的子节点                dv = new DataView(dt, " ParentTypeID=‘" + d["TypeID"] + "‘", "TypeID", DataViewRowState.CurrentRows);                if (dv.Count > 0)                {                    CreateSubTreeView(n, dv);                }            }        }        /// <summary>        /// 添加子项        /// </summary>        /// <param name="n"></param>        /// <param name="dv"></param>        private void CreateSubTreeView(TreeNode n, DataView dv)        {            foreach (DataRowView d in dv)            {                TreeNode cn = new TreeNode(d["TypeName"].ToString(), d["TypeID"].ToString());                cn.NavigateUrl = "javascript:ReturnValue(" + d["TypeID"].ToString() + ");";                n.ChildNodes.Add(cn);                DataView sdv = new DataView(dt, "ParentTypeID=‘" + d["TypeID"] + "‘", "TypeID", DataViewRowState.CurrentRows);                if (sdv.Count > 0)                {                    CreateSubTreeView(cn, sdv);                }            }        }

 类型的添加:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProTypeInsert.aspx.cs"    Inherits="BioErpWeb.WholeSaleSystem.Product.ProTypeInsert" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <link href="http://www.mamicode.com/Styles/ERPBaseStyle.css" rel="stylesheet" type="text/css" />    <script src="http://www.mamicode.com/Scripts/jquery-1.4.1.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery.validate.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/ValidateMessage_ZW.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/validateExtender.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/Scripts/jquery.metadata.js" type="text/javascript"></script>    <script src="http://www.mamicode.com/JS/ProTypeChoose.js" type="text/javascript"></script>    <style type="text/css">        .style1        {            height: 22px;        }    </style>    <script type="text/javascript">        $().ready(function () {            $("#form1").validate();          });    </script></head><body>    <form id="form1" runat="server">    <div>        <table class="maintable">            <tr>                <td colspan="2" class="titlebar">                    产品类型添加                </td>            </tr>            <tr>                <td class="style1">                    类型名称                </td>                <td class="style1">                    <asp:TextBox ID="txtTypeName" CssClass="{required:true}" runat="server" ></asp:TextBox>                </td>            </tr>            <tr>                <td class="style1">                    所属大类</td>                <td class="style1">                    <asp:TextBox ID="txtSupertTypeID"                         CssClass="{required:true, number:true, min:0}" runat="server"                         ></asp:TextBox><input type="button" value="http://www.mamicode.com/选择" onclick="showProType()"/>                                      <asp:Label ID="Label1" runat="server" ForeColor="Red" Text="(注:如果为0代表顶级父类)"></asp:Label>                </td>            </tr>            <tr>                <td colspan="2" class="bottomtd">                    <asp:Button ID="btnSubmit" runat="server" Text="产品类型保存" OnClick="btnSubmit_Click" />                    <asp:Button ID="btnReturn" runat="server" CausesValidation="false" UseSubmitBehavior="false" Text="返回列表" OnClick="btnReturn_Click" />                </td>            </tr>        </table>        <br />    </div>    </form></body></html>

 添加的代码:

BioProTypeBLL typebll=new BioProTypeBLL();            BioProType type = new BioProType();            type.ParentTypeID = int.Parse(this.txtSupertTypeID.Text.Trim()) ;            type.TypeName = this.txtTypeName.Text;            if (typebll.ProTypeAdd(type) != 0)            {                ClientScript.RegisterStartupScript(this.GetType(), "test", "alert(‘添加类型成功‘)", true);                return;            }

 

ERP商品管理业务逻辑封装(三十一)