/// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TMB_TAXITEMS DataRowToModel(DataRow row)
        {
            Mod_TMB_TAXITEMS model = new Mod_TMB_TAXITEMS();

            if (row != null)
            {
                if (row["C_ID"] != null)
                {
                    model.C_ID = row["C_ID"].ToString();
                }
                if (row["C_TAXCODE"] != null)
                {
                    model.C_TAXCODE = row["C_TAXCODE"].ToString();
                }
                if (row["C_TAXNAME"] != null)
                {
                    model.C_TAXNAME = row["C_TAXNAME"].ToString();
                }
                if (row["N_TAXRATIO"] != null && row["N_TAXRATIO"].ToString() != "")
                {
                    model.N_TAXRATIO = decimal.Parse(row["N_TAXRATIO"].ToString());
                }
                if (row["D_TS"] != null && row["D_TS"].ToString() != "")
                {
                    model.D_TS = DateTime.Parse(row["D_TS"].ToString());
                }
                if (row["C_SOURCE"] != null)
                {
                    model.C_SOURCE = row["C_SOURCE"].ToString();
                }
            }
            return(model);
        }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(Mod_TMB_TAXITEMS model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into TMB_TAXITEMS(");
            strSql.Append("C_ID,C_TAXCODE,C_TAXNAME,N_TAXRATIO,D_TS,C_SOURCE)");
            strSql.Append(" values (");
            strSql.Append(":C_ID,:C_TAXCODE,:C_TAXNAME,:N_TAXRATIO,:D_TS,:C_SOURCE)");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID",       OracleDbType.Varchar2, 100),
                new OracleParameter(":C_TAXCODE",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_TAXNAME",  OracleDbType.Varchar2, 100),
                new OracleParameter(":N_TAXRATIO", OracleDbType.Decimal,   15),
                new OracleParameter(":D_TS",       OracleDbType.Date),
                new OracleParameter(":C_SOURCE",   OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = model.C_ID;
            parameters[1].Value = model.C_TAXCODE;
            parameters[2].Value = model.C_TAXNAME;
            parameters[3].Value = model.N_TAXRATIO;
            parameters[4].Value = model.D_TS;
            parameters[5].Value = model.C_SOURCE;

            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Mod_TMB_TAXITEMS model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update TMB_TAXITEMS set ");
            strSql.Append("C_TAXCODE=:C_TAXCODE,");
            strSql.Append("C_TAXNAME=:C_TAXNAME,");
            strSql.Append("N_TAXRATIO=:N_TAXRATIO,");
            strSql.Append("D_TS=:D_TS,");
            strSql.Append("C_SOURCE=:C_SOURCE");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_TAXCODE",  OracleDbType.Varchar2, 100),
                new OracleParameter(":C_TAXNAME",  OracleDbType.Varchar2, 100),
                new OracleParameter(":N_TAXRATIO", OracleDbType.Decimal,   15),
                new OracleParameter(":D_TS",       OracleDbType.Date),
                new OracleParameter(":C_SOURCE",   OracleDbType.Varchar2, 100),
                new OracleParameter(":C_ID",       OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = model.C_TAXCODE;
            parameters[1].Value = model.C_TAXNAME;
            parameters[2].Value = model.N_TAXRATIO;
            parameters[3].Value = model.D_TS;
            parameters[4].Value = model.C_SOURCE;
            parameters[5].Value = model.C_ID;

            int rows = DbHelperOra.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Mod_TMB_TAXITEMS GetModel(string C_ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select C_ID,C_TAXCODE,C_TAXNAME,N_TAXRATIO,D_TS,C_SOURCE from TMB_TAXITEMS ");
            strSql.Append(" where C_ID=:C_ID ");
            OracleParameter[] parameters =
            {
                new OracleParameter(":C_ID", OracleDbType.Varchar2, 100)
            };
            parameters[0].Value = C_ID;

            Mod_TMB_TAXITEMS model = new Mod_TMB_TAXITEMS();
            DataSet          ds    = DbHelperOra.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Beispiel #5
0
        //添加
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            try
            {
                Mod_TMO_CON     modCon  = tmo_con.GetModel(ltlCon_No.Text);
                Mod_TS_CUSTFILE modCust = ts_custfile.GetCustModel(modCon.C_CUSTOMERID);

                List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>();

                for (int i = 0; i < rptList.Items.Count; i++)
                {
                    HtmlInputCheckBox cbxSelect           = (HtmlInputCheckBox)rptList.Items[i].FindControl("chkMat_Code"); //物料ID
                    Literal           ltlmatcode          = (Literal)rptList.Items[i].FindControl("ltlmatcode");            //物料编码
                    Literal           ltlmatname          = (Literal)rptList.Items[i].FindControl("ltlmatname");            //物料名称
                    Literal           ltlstlgrd           = (Literal)rptList.Items[i].FindControl("ltlstlgrd");             //钢种
                    Literal           ltlspec             = (Literal)rptList.Items[i].FindControl("ltlspec");               //规格
                    Literal           ltlC_CUST_TECH_PROT = (Literal)rptList.Items[i].FindControl("ltlC_CUST_TECH_PROT");   //客户协议
                    Literal           ltlC_STD_CODE       = (Literal)rptList.Items[i].FindControl("ltlC_STD_CODE");         //执行标准
                    Literal           ltlzyx1             = (Literal)rptList.Items[i].FindControl("ltlzyx1");               //自由项1
                    Literal           ltlzyx2             = (Literal)rptList.Items[i].FindControl("ltlzyx2");               //自由项2
                    Literal           ltlC_IS_BXG         = (Literal)rptList.Items[i].FindControl("ltlC_IS_BXG");           //是否不锈钢

                    if (cbxSelect.Checked)
                    {
                        #region Insert
                        Mod_TB_MATRL_MAIN modMat   = tb_matrl_main.GetModel(cbxSelect.Value);
                        Mod_TMO_ORDER     modOrder = new Mod_TMO_ORDER();

                        string order_no = randomnumber.CreateOrderNo(ltlCon_No.Text); //订单号
                        modOrder.C_ORDER_NO    = order_no;
                        modOrder.C_CON_NO      = modCon.C_CON_NO;                     //合同号
                        modOrder.C_CON_NAME    = modCon.C_CON_NAME;                   //合同名称
                        modOrder.C_AREA        = modCon.C_AREA;                       //区域
                        modOrder.C_INVBASDOCID = modMat.C_PK_INVBASDOC;               //存货档案主键
                        modOrder.C_INVENTORYID = modMat.C_PK_INVMANDOC;               //存货管理档案主键
                        modOrder.C_PROD_NAME   = modMat.C_PROD_NAME;                  //品名
                        modOrder.C_PROD_KIND   = modMat.C_PROD_KIND;                  //品种
                        modOrder.C_MAT_CODE    = modMat.C_MAT_CODE;                   //物料编码
                        modOrder.C_MAT_NAME    = modMat.C_MAT_NAME;                   //物料名称
                        modOrder.C_SPEC        = modMat.C_SPEC;                       //规格
                        modOrder.C_STL_GRD     = modMat.C_STL_GRD;                    //钢种
                        modOrder.C_FUNITID     = modMat.C_FJLDW;                      // "jlda0000000000000041";//辅单位
                        modOrder.C_UNITID      = modMat.C_PK_MEASDOC;                 //主计量单位
                                                                                      //modOrder.D_NEED_DT = modCon.D_CONINVALID_DT;//需求日期
                        modOrder.D_DELIVERY_DT = modCon.D_CONINVALID_DT;              //计划收货日期
                        modOrder.D_DT          = DateTime.Now;                        //订单日期


                        modOrder.C_TECH_PROT = ltlC_CUST_TECH_PROT.Text; //客户协议号
                        modOrder.C_FREE1     = ltlzyx1.Text;             //自由项1
                        modOrder.C_FREE2     = ltlzyx2.Text;             //自由项2
                        modOrder.C_STD_CODE  = ltlC_STD_CODE.Text;       //执行标准
                        modOrder.C_BY4       = ltlC_IS_BXG.Text;         //是否不锈钢
                        //modOrder.C_PACK = pack;//包装要求

                        decimal N_WGT = 0;
                        modOrder.N_WGT  = N_WGT;                                           //数量
                        modOrder.N_HSL  = modMat.N_HSL == null ? 0 : modMat.N_HSL;         //换算率
                        modOrder.N_FNUM = modMat.N_HSL == null ? 1 : N_WGT / modMat.N_HSL; //辅数量

                        modOrder.C_RECEIPTCORPID  = modCon.C_CRECEIPTAREAID;               //收货地区
                        modOrder.C_RECEIVEADDRESS = modCon.C_ADDRESS;                      //收货地址
                        modOrder.C_RECEIPTCORPID  = modCon.C_CRECEIPTCUSTOMERID;           //收货单位
                        modOrder.C_CURRENCYTYPEID = modCon.C_CURRENCYTYPEID;               //货币
                        modOrder.N_TYPE           = Convert.ToDecimal(modMat.C_MAT_TYPE);
                        modOrder.N_USER_LEV       = modCon.N_CUST_LEV;                     //客户等级

                        modOrder.C_CUST_SQ      = modCon.C_REAMRK;                         //客户要求
                        modOrder.C_EMP_ID       = ltlC_EMP_ID.Text;                        //操作人ID
                        modOrder.C_EMP_NAME     = ltlC_EMP_NAME.Text;                      //操作人姓名
                        modOrder.C_CUST_NO      = modCon.C_CUST_NO;                        //客户编码
                        modOrder.C_CUST_NAME    = modCon.C_CUSTNAME;                       //客户名称
                        modOrder.C_SALE_CHANNEL = modCust.N_TYPE == 1 ? "经销" : "直销";

                        modOrder.C_LEV       = GetLev("STL_GRD_Lev"); //钢种等级
                        modOrder.C_ORDER_LEV = GetLev("Order_Lev");   //订单等级
                        modOrder.N_COST      = 0;                     //成本
                        modOrder.N_STATUS    = 0;                     //待审

                        Mod_TMB_TAXITEMS modTaxi = tmb_taxitems.GetModel(modMat.C_PK_TAXITEMS);
                        modOrder.N_TAXRATE = modTaxi.N_TAXRATIO;                                                       //税率

                        modOrder.C_VDEF1 = modMat.C_MAT_TYPE == "6" ? "1001NC100000000052Z3" : "1016NC10000000000V1A"; //质量等级

                        #region                                                                                        //获取钢种单价-折扣-税率
                        decimal Price                 = 0;
                        decimal N_TAXRATE             = Convert.ToDecimal(modOrder.N_TAXRATE) + 1;                     //税率
                        decimal N_ORIGINALCURPRICE    = Convert.ToDecimal(Price) / N_TAXRATE;                          //原币无税单价
                        decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(Price);                                      //原币含税单价
                        decimal N_ORIGINALCURMNY      = decimal.Round(N_WGT * N_ORIGINALCURPRICE, 2);                  //原币无税金额
                        decimal N_ORIGINALCURSUMMNY   = N_WGT * N_ORIGINALCURTAXPRICE;                                 //原币价税合计
                        decimal N_ORIGINALCURTAXMNY   = decimal.Round(N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY, 2);      //原币税额

                        modOrder.N_ORIGINALCURPRICE    = N_ORIGINALCURPRICE;                                           //原币无税单价
                        modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE;                                        //原币含税单价

                        modOrder.N_ORIGINALCURTAXMNY = N_ORIGINALCURTAXMNY;                                            //原币税额
                        modOrder.N_ORIGINALCURMNY    = N_ORIGINALCURMNY;                                               //原币无税金额
                        modOrder.N_ORIGINALCURSUMMNY = N_ORIGINALCURSUMMNY;                                            //原币价税合计
                        #endregion

                        orderList.Add(modOrder);

                        #endregion
                    }
                }

                if (tmo_con.InsertFirstOrder(orderList))
                {
                    ScriptManager.RegisterStartupScript(UpdatePanel1, this.Page.GetType(), "", "window.parent.document.getElementById('imgbtnJz').click();window.parent.close();", true);
                }
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(UpdatePanel1, this.Page.GetType(), "", "alert('" + ex.Message + "')", true);
            }
        }
Beispiel #6
0
        private bool InsertOrder()
        {
            List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>();

            if (Session["kh"] != null)
            {
                DataTable dt = (DataTable)Session["kh"];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    #region 数据操作

                    Mod_TS_USER       modUser  = ts_user.GetModel(ltlC_EMP_ID.Text);
                    Mod_TMO_CON       modCon   = tmo_con.GetModel(txtConNO.Text);
                    Mod_TB_MATRL_MAIN modMat   = tb_matrl_main.GetModel(dt.Rows[i]["C_ID"].ToString());
                    Mod_TS_CUSTFILE   modCust  = ts_custfile.GetModel(modUser.C_CUST_ID);
                    Mod_TMO_ORDER     modOrder = new Mod_TMO_ORDER();

                    string order_no = randomnumber.CreateOrderNo(txtConNO.Text);                                                                                 //订单号
                    modOrder.C_ORDER_NO    = order_no;
                    modOrder.C_CON_NO      = txtConNO.Text;                                                                                                      //合同号
                    modOrder.C_CON_NAME    = modCon.C_CON_NAME;                                                                                                  //合同名称
                    modOrder.C_AREA        = modCon.C_AREA;                                                                                                      //区域
                    modOrder.C_INVBASDOCID = modMat.C_PK_INVBASDOC;                                                                                              //存货档案主键
                    modOrder.C_INVENTORYID = modMat.C_PK_INVMANDOC;                                                                                              //存货管理档案主键
                    modOrder.C_PROD_NAME   = modMat.C_PROD_NAME;                                                                                                 //品名
                    modOrder.C_PROD_KIND   = modMat.C_PROD_KIND;                                                                                                 //品种
                    modOrder.C_MAT_CODE    = modMat.C_MAT_CODE;                                                                                                  //物料编码
                    modOrder.C_MAT_NAME    = modMat.C_MAT_NAME;                                                                                                  //物料名称
                    modOrder.C_SPEC        = modMat.C_SPEC;                                                                                                      //规格
                    modOrder.C_STL_GRD     = modMat.C_MAT_TYPE == "841" ? modMat.C_MAT_NAME : modMat.C_MAT_TYPE == "851" ? modMat.C_MAT_NAME : modMat.C_STL_GRD; //钢种
                    modOrder.C_FUNITID     = modMat.C_FJLDW;                                                                                                     //辅单位
                    modOrder.C_UNITID      = modMat.C_PK_MEASDOC;                                                                                                //主计量单位
                    modOrder.D_DELIVERY_DT = modCon.D_CONINVALID_DT;                                                                                             //计划收货日期
                    modOrder.D_DT          = modCon.D_CONSING_DT;                                                                                                //订单日期//签单日期
                    modOrder.C_VDEF1       = "";                                                                                                                 //质量ID
                    modOrder.C_SFPJ        = "N";

                    modOrder.C_TECH_PROT      = dt.Rows[i]["C_CUST_TECH_PROT"].ToString(); //客户协议号
                    modOrder.C_STD_CODE       = dt.Rows[i]["C_STD_CODE"].ToString();       //执行标准
                    modOrder.C_FREE1          = dt.Rows[i]["ZYX1"].ToString();             //自由项1
                    modOrder.C_FREE2          = dt.Rows[i]["ZYX2"].ToString();             //自由项2
                    modOrder.C_BY4            = dt.Rows[i]["C_BY4"].ToString();            //是否不锈钢
                    modOrder.N_TYPE           = Convert.ToDecimal(modMat.C_MAT_TYPE);
                    modOrder.C_PACK           = dt.Rows[i]["C_PACK"].ToString();           //包装要求
                    modOrder.C_RECEIPTAREAID  = modCon.C_CRECEIPTAREAID;                   //收货地区
                    modOrder.C_RECEIVEADDRESS = modCon.C_ADDRESS;                          //收货地址
                    modOrder.C_RECEIPTCORPID  = modCon.C_CRECEIPTCUSTOMERID;               //收货单位
                    modOrder.C_CURRENCYTYPEID = modCon.C_CURRENCYTYPEID;                   //货币
                    modOrder.N_TYPE           = Convert.ToDecimal(modMat.C_MAT_TYPE);
                    modOrder.N_USER_LEV       = modCon.N_CUST_LEV;                         //客户等级
                    modOrder.C_REMARK         = modCon.C_REAMRK;
                    modOrder.C_EMP_ID         = modUser.C_ID;
                    modOrder.C_EMP_NAME       = modUser.C_EMP_NAME;
                    modOrder.C_CUST_NO        = modCust.C_NO;
                    modOrder.C_CUST_NAME      = modCust.C_NAME;
                    modOrder.C_SALE_CHANNEL   = modCust.N_TYPE == 1 ? "经销" : "直销";
                    modOrder.C_LEV            = GetLev("STL_GRD_Lev"); //钢种等级
                    modOrder.C_ORDER_LEV      = GetLev("Order_Lev");   //订单等级
                    modOrder.N_COST           = 0;                     //成本
                    modOrder.N_STATUS         = -1;                    //订单状态

                    decimal N_WGT = 0;
                    if (!string.IsNullOrEmpty(dt.Rows[i]["N_WGT"].ToString()))
                    {
                        N_WGT = Convert.ToDecimal(dt.Rows[i]["N_WGT"].ToString());
                    }
                    modOrder.N_WGT  = N_WGT;                                           //数量
                    modOrder.N_HSL  = modMat.N_HSL == null ? 0 : modMat.N_HSL;         //换算率
                    modOrder.N_FNUM = modMat.N_HSL == null ? 1 : N_WGT / modMat.N_HSL; //辅数量
                    if (!string.IsNullOrEmpty(modMat.C_PK_TAXITEMS))
                    {
                        Mod_TMB_TAXITEMS modTaxi = tmb_taxitems.GetModel(modMat.C_PK_TAXITEMS);
                        modOrder.N_TAXRATE = modTaxi.N_TAXRATIO;                                                                          //税率

                        #region                                                                                                           //获取钢种单价-税率
                        string Price = dt.Rows[i]["PRICE"].ToString().ToString() == "" ? "0" : dt.Rows[i]["PRICE"].ToString().ToString(); //单价
                        if (!string.IsNullOrEmpty(Price))
                        {
                            decimal N_TAXRATE             = Convert.ToDecimal(modOrder.N_TAXRATE) + 1;              //税率
                            decimal N_ORIGINALCURPRICE    = decimal.Round(Convert.ToDecimal(Price) / N_TAXRATE, 2); //原币无税单价
                            decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(Price);                               //原币含税单价

                            decimal N_ORIGINALCURMNY    = N_WGT * N_ORIGINALCURPRICE;                               //原币无税金额
                            decimal N_ORIGINALCURSUMMNY = N_WGT * N_ORIGINALCURTAXPRICE;                            //原币价税合计
                            decimal N_ORIGINALCURTAXMNY = N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY;                   //原币税额

                            modOrder.N_ORIGINALCURPRICE    = N_ORIGINALCURPRICE;                                    //原币无税单价
                            modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE;                                 //原币含税单价
                            modOrder.N_ORIGINALCURTAXMNY   = N_ORIGINALCURTAXMNY;                                   //原币税额
                            modOrder.N_ORIGINALCURMNY      = N_ORIGINALCURMNY;                                      //原币无税金额
                            modOrder.N_ORIGINALCURSUMMNY   = N_ORIGINALCURSUMMNY;                                   //原币价税合计
                        }
                        #endregion
                    }


                    orderList.Add(modOrder);

                    #endregion
                }
            }

            return(tmo_con.InsertFirstOrder(orderList));
        }
Beispiel #7
0
        public AjaxResult OrderAdd([FromBody] dynamic Json)
        {
            #region                          //参数
            string ConNo    = Json.ConNo;    //合同号
            string MatID    = Json.MatID;    //物料ID
            string TechProt = Json.TechProt; //客户协议号
            string StdCode  = Json.StdCode;  //执行标准
            string Pack     = Json.Pack;     //包装要求
            string Wgt      = Json.Wgt;      //重量
            string Price    = Json.Price;    //含税单价
            string VdefID   = Json.VdefID;   //质量ID
            #endregion

            #region 数据操作
            AjaxResult result = new AjaxResult();
            result.Code = DoResult.Success;

            Mod_TS_USER       modUser  = GetUserID();
            Mod_TMO_CON       modCon   = tmo_con.GetModel(ConNo);
            Mod_TB_MATRL_MAIN modMat   = tb_matrl_main.GetModel(MatID);
            Mod_TS_CUSTFILE   modCust  = ts_custfile.GetModel(modUser.C_CUST_ID);
            Mod_TMO_ORDER     modOrder = new Mod_TMO_ORDER();

            DataTable dt = tb_matrl_main.GetCustStlGrd(modCust.C_NO, modMat.C_MAT_CODE, modMat.C_STL_GRD, modMat.C_SPEC, TechProt, StdCode).Tables[0];

            string order_no = randomnumber.CreateOrderNo(ConNo);               //订单号
            modOrder.C_ORDER_NO    = order_no;
            modOrder.C_CON_NO      = modCon.C_CON_NO;                          //合同号
            modOrder.C_CON_NAME    = modCon.C_CON_NAME;                        //合同名称
            modOrder.C_AREA        = modCon.C_AREA;                            //区域
            modOrder.C_INVBASDOCID = modMat.C_PK_INVBASDOC;                    //存货档案主键
            modOrder.C_INVENTORYID = modMat.C_PK_INVMANDOC;                    //存货管理档案主键
            modOrder.C_PROD_NAME   = modMat.C_PROD_NAME;                       //品名
            modOrder.C_PROD_KIND   = modMat.C_PROD_KIND;                       //品种
            modOrder.C_MAT_CODE    = modMat.C_MAT_CODE;                        //物料编码
            modOrder.C_MAT_NAME    = modMat.C_MAT_NAME;                        //物料名称
            modOrder.C_SPEC        = modMat.C_SPEC;                            //规格
            modOrder.C_STL_GRD     = modMat.C_STL_GRD;                         //钢种
            modOrder.C_FUNITID     = modMat.C_FJLDW;                           //辅单位
            modOrder.C_UNITID      = modMat.C_PK_MEASDOC;                      //主计量单位
            modOrder.D_DELIVERY_DT = modCon.D_CONINVALID_DT;                   //计划交货日期
            modOrder.D_DT          = modCon.D_CONSING_DT;                      //订单日期//签单日期
            modOrder.C_VDEF1       = VdefID;                                   //质量主键ID
            modOrder.C_SFPJ        = "N";
            modOrder.C_TECH_PROT   = TechProt;                                 //客户协议号
            modOrder.C_FREE1       = dt?.Rows[0]["C_ZYX1"].ToString() ?? "";   //自由项1
            modOrder.C_FREE2       = dt?.Rows[0]["C_ZYX2"].ToString() ?? "";   //自由项2
            modOrder.C_STD_CODE    = StdCode;                                  //执行标准
            modOrder.C_BY4         = dt?.Rows[0]["C_IS_BXG"].ToString() ?? ""; //是否不锈钢
            modOrder.N_TYPE        = Convert.ToDecimal(modMat.C_MAT_TYPE);     //订单类型


            modOrder.C_PACK = Pack;//包装要求

            Mod_TMB_TAXITEMS modTaxi = tmb_taxitems.GetModel(modMat.C_PK_TAXITEMS);
            modOrder.N_TAXRATE = modTaxi.N_TAXRATIO;//税率

            decimal N_WGT = 0;
            if (!string.IsNullOrEmpty(Wgt))
            {
                N_WGT = Convert.ToDecimal(Wgt);
            }
            modOrder.N_WGT  = N_WGT;                                           //数量
            modOrder.N_HSL  = modMat.N_HSL == null ? 0 : modMat.N_HSL;         //换算率
            modOrder.N_FNUM = modMat.N_HSL == null ? 1 : N_WGT / modMat.N_HSL; //辅数量

            #region                                                            //获取钢种单价-税率
            if (!string.IsNullOrEmpty(Price))
            {
                decimal N_TAXRATE             = Convert.ToDecimal(modOrder.N_TAXRATE) + 1;              //税率
                decimal N_ORIGINALCURPRICE    = Convert.ToDecimal(Price) / N_TAXRATE;                   //原币无税单价
                decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(Price);                               //原币含税单价

                decimal N_ORIGINALCURMNY    = decimal.Round(N_WGT * N_ORIGINALCURPRICE, 2);             //原币无税金额
                decimal N_ORIGINALCURSUMMNY = N_WGT * N_ORIGINALCURTAXPRICE;                            //原币价税合计
                decimal N_ORIGINALCURTAXMNY = decimal.Round(N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY, 2); //原币税额

                modOrder.N_ORIGINALCURPRICE    = N_ORIGINALCURPRICE;                                    //原币无税单价
                modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE;                                 //原币含税单价
                modOrder.N_ORIGINALCURTAXMNY   = N_ORIGINALCURTAXMNY;                                   //原币税额
                modOrder.N_ORIGINALCURMNY      = N_ORIGINALCURMNY;                                      //原币无税金额
                modOrder.N_ORIGINALCURSUMMNY   = N_ORIGINALCURSUMMNY;                                   //原币价税合计
            }
            #endregion

            modOrder.C_RECEIPTAREAID  = modCon.C_CRECEIPTAREAID;     //收货地区
            modOrder.C_RECEIVEADDRESS = modCon.C_ADDRESS;            //收货地址
            modOrder.C_RECEIPTCORPID  = modCon.C_CRECEIPTCUSTOMERID; //收货单位
            modOrder.C_CURRENCYTYPEID = modCon.C_CURRENCYTYPEID;     //货币

            modOrder.N_USER_LEV     = modCon.N_CUST_LEV;             //客户等级
            modOrder.C_CUST_SQ      = modCon.C_REAMRK;               //客户要求
            modOrder.C_EMP_ID       = modCon.C_EMP_ID;
            modOrder.C_EMP_NAME     = modCon.C_EMP_NAME;
            modOrder.C_CUST_NO      = modCust.C_NO;
            modOrder.C_CUST_NAME    = modCust.C_NAME;
            modOrder.C_SALE_CHANNEL = "";
            modOrder.C_LEV          = GetLev("STL_GRD_Lev");                    //钢种等级
            modOrder.C_ORDER_LEV    = GetLev("Order_Lev");                      //订单等级
            modOrder.N_COST         = 0;                                        //成本
            modOrder.C_TRANSMODE    = modCon.C_TRANSMODEID;                     //发运方式
            modOrder.C_TRANSMODEID  = modCon.C_TRANSMODEID;                     //发运方式主键
            modOrder.C_YWY          = ts_user.GetSaleName(modCon.C_EMPLOYEEID); //业务员姓名
            modOrder.N_STATUS       = Convert.ToDecimal(modCon.N_STATUS);


            List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>();
            orderList.Add(modOrder);
            result.Result = tmo_con.InsertFirstOrder(orderList) == true ? "提交成功" : "提交失败";
            #endregion

            return(result);
        }
Beispiel #8
0
        /// <summary>
        /// 新增合同
        /// </summary>
        /// <param name="N_STATUS">合同状态</param>
        /// <returns></returns>
        private bool Add(int N_STATUS)
        {
            bool result = true;

            List <Mod_TMO_ORDER> orderList = new List <Mod_TMO_ORDER>();

            #region //添加合同基本信息

            Mod_TMO_CON modCon = new Mod_TMO_CON();

            Mod_TS_DEPT modDept = ts_dept.GetModel(hiddeptid.Value);


            string areaCode = dropConPolicyArea.SelectedItem.Value == "" ? "01" : dropConPolicyArea.SelectedItem.Value;

            conNo               = randomnumber.CreateConNo(areaCode); //合同号
            modCon.C_CON_XH     = conNo;
            modCon.C_CON_NO     = conNo;                              //合同号
            modCon.C_CON_NAME   = txtConName.Text;                    //合同名称
            modCon.C_CONTYPEID  = dropConType.SelectedItem.Value;     //合同类型
            modCon.C_CUSTOMERID = hidCustID.Value;                    //客户ID
            modCon.C_CUSTNAME   = txtCustName.Text;                   //客户名称
            modCon.C_CUST_NO    = hidCustNO.Value;                    //客户客户编码
            modCon.C_EMPLOYEEID = hidsaleempid.Value;                 //业务员ID
            modCon.C_DEPTID     = hiddeptid.Value;                    //业务部门
            if (!string.IsNullOrEmpty(hiddeptid.Value))
            {
                Mod_TS_DEPT moddept = ts_dept.GetModel(hiddeptid.Value);
                modCon.C_AREA = moddept.C_NAME;                           //部门
            }
            modCon.C_CURRENCYTYPEID = dropCurrType.SelectedValue;         //货币
            modCon.D_CONSING_DT     = Convert.ToDateTime(txtDate.Value);  //签署日期
            modCon.D_CONEFFE_DT     = Convert.ToDateTime(txtStart.Value); //计划生效日期
            modCon.D_CONINVALID_DT  = Convert.ToDateTime(txtEnd.Value);   //计划失效日期
            modCon.C_TRANSMODEID    = dropShipVia.SelectedValue;          //发运方式
            modCon.N_STATUS         = N_STATUS;
            modCon.C_EMP_ID         = ltlC_EMP_ID.Text;
            modCon.C_EMP_NAME       = ltlC_EMP_NAME.Text;
            modCon.N_CUST_LEV       = Convert.ToDecimal(ltlCustLEV.Text);//客户等级

            if (!string.IsNullOrEmpty(hidC_CGID.Value))
            {
                Mod_TS_CUSTFILE modCust = ts_custfile.GetCustModel(hidC_CGID.Value);
                modCon.C_CRECEIPTCUSTOMERID = hidC_CGID.Value;    //收货单位
                modCon.C_ADDRESS            = txtAddr.Value;      //收货地址
                modCon.C_CRECEIPTAREAID     = modCust.C_AREATYPE; //收货地区
            }
            modCon.C_CRECEIPTCORPID = hidC_OTCID.Value;           //开票单位

            modCon.C_STATION   = txtC_STATION.Value;              //站点
            modCon.C_REAMRK    = txtReamrk.Value;
            modCon.N_CHANGENUM = 0;                               //合同变更次数


            #endregion

            #region//添加合同明细
            for (int i = 0; i < rptList.Items.Count; i++)
            {
                Literal       ltlC_ID        = (Literal)rptList.Items[i].FindControl("ltlC_ID");        //物料ID
                Literal       ltlC_TECH_PROT = (Literal)rptList.Items[i].FindControl("ltlC_TECH_PROT"); //客户协议号
                Literal       ltlC_STD_CODE  = (Literal)rptList.Items[i].FindControl("ltlC_STD_CODE");  //执行标准
                Literal       ltlzyx1        = (Literal)rptList.Items[i].FindControl("ltlzyx1");        //自由项1
                Literal       ltlzyx2        = (Literal)rptList.Items[i].FindControl("ltlzyx2");        //自由项2
                Literal       ltlC_IS_BXG    = (Literal)rptList.Items[i].FindControl("ltlC_IS_BXG");    //执行标准
                TextBox       txtPack_Code   = (TextBox)rptList.Items[i].FindControl("txtPack_Code");   //包装要求
                TextBox       txtC_PRO_USE   = (TextBox)rptList.Items[i].FindControl("txtC_PRO_USE");   //产品用途
                TextBox       txtC_CUST_SQ   = (TextBox)rptList.Items[i].FindControl("txtC_CUST_SQ");   //特殊要求
                DropDownList  dropZL         = (DropDownList)rptList.Items[i].FindControl("dropZL");    //质量
                HtmlInputText txtWgt         = (HtmlInputText)rptList.Items[i].FindControl("txtWgt");   //数量
                HtmlInputText txtPrice       = (HtmlInputText)rptList.Items[i].FindControl("txtPrice"); //含税单价

                if (dropConPolicyArea.SelectedItem.Text != "钢坯")
                {
                    if (string.IsNullOrEmpty(txtPack_Code.Text) && tqb_pack.Exists(txtPack_Code.Text))
                    {
                        result = false;
                        break;
                    }
                }

                #region //合同明细

                Mod_TB_MATRL_MAIN modMat = tb_matrl_main.GetModel(ltlC_ID.Text);

                Mod_TMO_ORDER modOrder = new Mod_TMO_ORDER();                                                                                                //订单表

                string order_no = randomnumber.CreateOrderNo(conNo);                                                                                         //订单号
                modOrder.C_ORDER_NO    = order_no;
                modOrder.C_CON_NO      = modCon.C_CON_NO;                                                                                                    //合同号
                modOrder.C_CON_NAME    = modCon.C_CON_NAME;                                                                                                  //合同名称
                modOrder.C_AREA        = modCon.C_AREA;                                                                                                      //区域
                modOrder.C_INVBASDOCID = modMat.C_PK_INVBASDOC;                                                                                              //存货档案主键
                modOrder.C_INVENTORYID = modMat.C_PK_INVMANDOC;                                                                                              //存货管理档案主键
                modOrder.C_PROD_NAME   = modMat.C_PROD_NAME;                                                                                                 //品名
                modOrder.C_PROD_KIND   = modMat.C_PROD_KIND;                                                                                                 //品种
                modOrder.C_MAT_CODE    = modMat.C_MAT_CODE;                                                                                                  //物料编码
                modOrder.C_MAT_NAME    = modMat.C_MAT_NAME;                                                                                                  //物料名称
                modOrder.C_SPEC        = modMat.C_SPEC;                                                                                                      //规格

                modOrder.C_STL_GRD     = modMat.C_MAT_TYPE == "841" ? modMat.C_MAT_NAME : modMat.C_MAT_TYPE == "851" ? modMat.C_MAT_NAME : modMat.C_STL_GRD; //钢种
                modOrder.C_FUNITID     = modMat.C_FJLDW;                                                                                                     //辅单位
                modOrder.C_UNITID      = modMat.C_PK_MEASDOC;                                                                                                //主计量单位
                modOrder.D_DELIVERY_DT = modCon.D_CONINVALID_DT;                                                                                             //计划交货日期
                modOrder.D_DT          = modCon.D_CONSING_DT;                                                                                                //订单日期//签单日期
                modOrder.C_VDEF1       = dropZL.SelectedItem.Value;                                                                                          //质量主键ID
                modOrder.C_SFPJ        = "N";
                modOrder.C_TECH_PROT   = ltlC_TECH_PROT.Text;                                                                                                //客户协议号
                modOrder.C_FREE1       = ltlzyx1.Text;                                                                                                       //自由项1
                modOrder.C_FREE2       = ltlzyx2.Text;                                                                                                       //自由项2
                modOrder.C_STD_CODE    = ltlC_STD_CODE.Text;                                                                                                 //执行标准
                modOrder.C_BY4         = ltlC_IS_BXG.Text;                                                                                                   //是否不锈钢
                modOrder.N_TYPE        = Convert.ToDecimal(modMat.C_MAT_TYPE);                                                                               //订单类型
                modOrder.C_PACK        = txtPack_Code.Text.Trim();                                                                                           //包装要求

                Mod_TMB_TAXITEMS modTaxi = tmb_taxitems.GetModel(modMat.C_PK_TAXITEMS);

                decimal shuolv = Convert.ToDecimal(modTaxi.N_TAXRATIO) >= 1 ? Convert.ToDecimal(modTaxi.N_TAXRATIO) / 100 : Convert.ToDecimal(modTaxi.N_TAXRATIO); //税率

                modOrder.N_TAXRATE = shuolv;                                                                                                                       //税率

                decimal N_WGT = 0;
                if (!string.IsNullOrEmpty(txtWgt.Value))
                {
                    N_WGT = Convert.ToDecimal(txtWgt.Value);
                }
                modOrder.N_WGT  = N_WGT;                                           //数量
                modOrder.N_HSL  = modMat.N_HSL == null ? 0 : modMat.N_HSL;         //换算率
                modOrder.N_FNUM = modMat.N_HSL == null ? 1 : N_WGT / modMat.N_HSL; //辅数量

                #region                                                            //获取钢种单价-税率
                if (!string.IsNullOrEmpty(txtPrice.Value))
                {
                    decimal N_TAXRATE             = Convert.ToDecimal(modOrder.N_TAXRATE) + 1;              //税率
                    decimal N_ORIGINALCURPRICE    = Convert.ToDecimal(txtPrice.Value) / N_TAXRATE;          //原币无税单价
                    decimal N_ORIGINALCURTAXPRICE = Convert.ToDecimal(txtPrice.Value);                      //原币含税单价

                    decimal N_ORIGINALCURMNY    = decimal.Round(N_WGT * N_ORIGINALCURPRICE, 2);             //原币无税金额
                    decimal N_ORIGINALCURSUMMNY = N_WGT * N_ORIGINALCURTAXPRICE;                            //原币价税合计
                    decimal N_ORIGINALCURTAXMNY = decimal.Round(N_ORIGINALCURSUMMNY - N_ORIGINALCURMNY, 2); //原币税额

                    modOrder.N_ORIGINALCURPRICE    = N_ORIGINALCURPRICE;                                    //原币无税单价
                    modOrder.N_ORIGINALCURTAXPRICE = N_ORIGINALCURTAXPRICE;                                 //原币含税单价
                    modOrder.N_ORIGINALCURTAXMNY   = N_ORIGINALCURTAXMNY;                                   //原币税额
                    modOrder.N_ORIGINALCURMNY      = N_ORIGINALCURMNY;                                      //原币无税金额
                    modOrder.N_ORIGINALCURSUMMNY   = N_ORIGINALCURSUMMNY;                                   //原币价税合计
                }
                #endregion

                modOrder.C_RECEIPTAREAID  = modCon.C_CRECEIPTAREAID;     //收货地区
                modOrder.C_RECEIVEADDRESS = modCon.C_ADDRESS;            //收货地址
                modOrder.C_RECEIPTCORPID  = modCon.C_CRECEIPTCUSTOMERID; //收货单位
                modOrder.C_CURRENCYTYPEID = modCon.C_CURRENCYTYPEID;     //货币

                modOrder.N_USER_LEV     = modCon.N_CUST_LEV;             //客户等级
                modOrder.C_CUST_SQ      = txtC_CUST_SQ.Text;             //客户要求
                modOrder.C_PRO_USE      = txtC_PRO_USE.Text;             //产品用途
                modOrder.C_EMP_ID       = modCon.C_EMP_ID;
                modOrder.C_EMP_NAME     = modCon.C_EMP_NAME;
                modOrder.C_CUST_NO      = hidCustNO.Value;
                modOrder.C_CUST_NAME    = txtCustName.Text;
                modOrder.C_SALE_CHANNEL = ltlCustType.Text;
                modOrder.C_LEV          = GetLev("STL_GRD_Lev");          //钢种等级
                modOrder.C_ORDER_LEV    = GetLev("Order_Lev");            //订单等级
                modOrder.N_COST         = 0;                              //成本
                modOrder.C_TRANSMODE    = dropShipVia.SelectedItem.Text;  //发运方式
                modOrder.C_TRANSMODEID  = dropShipVia.SelectedItem.Value; //发运方式主键
                modOrder.C_YWY          = txtSaleUser.Value;              //业务员姓名
                modOrder.N_STATUS       = N_STATUS;

                orderList.Add(modOrder);
                #endregion
            }
            #endregion

            return(result == true?tmo_con.InsertConOrder(modCon, orderList) : result);
        }
Beispiel #9
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Mod_TMB_TAXITEMS model)
 {
     return(dal.Update(model));
 }
Beispiel #10
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Mod_TMB_TAXITEMS model)
 {
     return(dal.Add(model));
 }