Пример #1
0
 /// <summary>
 /// 销售单保存
 /// </summary>
 /// <param name="sell">销售单单实体</param>
 /// <param name="sd">销售明细实体</param>
 /// <param name="sp">销售流程实体</param>
 /// <param name="inStock">是否生成入库单</param>
 /// <returns></returns>
 public int SaveSellOdd(Sell sell, List <SellDetail> sd, SellProcess sp, bool inStock)
 {
     try
     {
         dal.SaveSellOdd(sell, sd, sp, inStock);
         return(1);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        public int Add(SellProcess sps)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into T_Sell(");
            strSql.Append("Sell_Code,Sell_Type,Sell_Date,Sell_TransportType,Sell_Review,Sell_ChangeDate,Sell_Operation,Sell_Auditman,Sell_Remark,Sell_Satetyone,Sell_Satetytwo,");
            strSql.Append("Sell_IsPay,Sell_IsPutSto,Sell_PayMathod,Sell_GetDate,Sell_Logistics,Sell_LogCode,Sell_LogPhone,Sell_Clear,Sell_OddMoney,Sell_AccountCode,Sell_InMoney,Sell_LastMoney)");
            strSql.Append(" values (");
            strSql.Append("@Sell_Code,@Sell_Type,@Sell_Date,@Sell_TransportType,@Sell_Review,@Sell_ChangeDate,@Sell_Operation,@Sell_Auditman,@Sell_Remark,@Sell_Satetyone,@Sell_Satetytwo,");
            strSql.Append("@Sell_IsPay,@Sell_IsPutSto,@Sell_PayMathod,@Sell_GetDate,@Sell_Logistics,@Sell_LogCode,@Sell_LogPhone,@Sell_Clear,@Sell_OddMoney,@Sell_AccountCode,@Sell_InMoney,@Sell_LastMoney)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@SP_Code",       SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_SellLineno", SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_Datetime",   SqlDbType.DateTime),
                new SqlParameter("@SP_Opt",        SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_Ope",        SqlDbType.Int,         4),
                new SqlParameter("@SP_Remark",     SqlDbType.DateTime),
                new SqlParameter("@SP_Clear",      SqlDbType.NVarChar, 512)
            };
            parameters[0].Value = sps.Sp_Code;
            parameters[1].Value = sps.Sp_SellLineno;
            parameters[2].Value = sps.Sp_Datetime;
            parameters[3].Value = sps.Sp_Opt;
            parameters[4].Value = sps.Sp_Ope;
            parameters[5].Value = sps.Sp_Remark;
            parameters[6].Value = sps.Sp_Clear;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
Пример #3
0
        public void SellTestHasExisitingRequest()
        {
            //arrange
            MQReq query = new MQReq();
            CommStubStaticReturn comm = new CommStubStaticReturn(null,
                                                                 null, null, query, null, null, null, null);
            SellProcess testProcess = new SellProcess(false, comm, 1, 1, 1, 1);

            //initial assert
            Assert.AreEqual(testProcess.currIndex, 0);
            Assert.AreEqual(testProcess.repeat, false);
            Assert.AreEqual(testProcess.queue, LogicQueue.first);

            //act
            object output = testProcess.run();

            //assert
            Assert.AreEqual(testProcess.repeat, false);
            Assert.AreEqual(testProcess.queue, LogicQueue.last);
            Assert.IsInstanceOfType(output, typeof(LogicProcess));
            Assert.AreEqual(testProcess.currIndex, 0);
        }
Пример #4
0
        public void SellTestFullProcess()
        {
            //arrange
            MBuySell        sell   = new MBuySell(); sell.id = "666";
            MQReq           query  = new MQReq();
            MQCommodity     market = new MQCommodity(); market.bid = "1";
            MarketException excp   = new MarketException();

            //create valid user query response
            MQUser user = new MQUser();

            user.commodities = new Dictionary <String, int>();
            user.commodities.Add("1", 3);

            int test = user.commodities["1"];

            CommStubStaticReturn comm = new CommStubStaticReturn(null,
                                                                 sell, null, excp, market, user, null, null);
            SellProcess testProcess = new SellProcess(true, comm, 1, 1, 1, 1);

            //initial assert
            Assert.AreEqual(testProcess.currIndex, 0);
            Assert.AreEqual(testProcess.queue, LogicQueue.first);

            //act1
            object output = testProcess.run();

            //assert1
            Assert.AreEqual(testProcess.currIndex, 1);
            Assert.AreEqual(testProcess.queue, LogicQueue.first);


            //act2
            output = testProcess.run();

            //assert2
            Assert.AreEqual(testProcess.currIndex, 2);
            Assert.AreEqual(testProcess.queue, LogicQueue.first);

            //act3
            output = testProcess.run();

            //assert3
            Assert.AreEqual(testProcess.currIndex, 3);
            Assert.AreEqual(testProcess.queue, LogicQueue.first);

            //act4
            output = testProcess.run();

            //assert4
            Assert.AreEqual(testProcess.currIndex, 0);
            Assert.AreEqual(testProcess.queue, LogicQueue.last);

            //update communicator stub
            comm = new CommStubStaticReturn(null,
                                            sell, null, query, market, user, null, null);
            testProcess.comm = comm;


            //act5
            output = testProcess.run();

            //assert5
            Assert.AreEqual(testProcess.currIndex, 0);
            Assert.AreEqual(testProcess.queue, LogicQueue.last);
        }
Пример #5
0
        //public DataSet GetListSellInDetail()
        //{

        //}

        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        //public Sell GetModel(int Sell_ID)
        //{

        //    StringBuilder strSql = new StringBuilder();
        //    strSql.Append("select  top 1 Sell_ID,Sell_Code,Sell_Type,Sell_Date,Sell_TransportType,Sell_Review,Sell_ChangeDate,Sell_Operation,Sell_Auditman,Sell_Remark,Sell_Satetyone,Sell_Satetytwo,Sell_Clear from T_Sell ");
        //    strSql.Append(" where Sell_ID=@Sell_ID");
        //    SqlParameter[] parameters = {
        //            new SqlParameter("@Sell_ID", SqlDbType.Int,4)
        //    };
        //    parameters[0].Value = Sell_ID;

        //    Sell model = new Sell();
        //    DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
        //    if (ds.Tables[0].Rows.Count > 0)
        //    {
        //        return DataRowToModel(ds.Tables[0].Rows[0]);
        //    }
        //    else
        //    {
        //        return null;
        //    }
        //}

        public void SaveSellOdd(Sell sell, List <SellDetail> sdl, SellProcess sp, bool inStock)
        {
            StringBuilder strSql    = new StringBuilder();
            Hashtable     hashtable = new Hashtable();

            //销售主表操作
            strSql.Append("insert into T_Sell(");
            strSql.Append("Sell_Code,Sell_Type,Sell_Date,Sell_TransportType,Sell_Review,Sell_ChangeDate,Sell_Operation,Sell_Auditman,Sell_Remark,Sell_Satetyone,Sell_Satetytwo,");
            strSql.Append("Sell_IsPay,Sell_IsPutSto,Sell_PayMathod,Sell_GetDate,Sell_Logistics,Sell_LogCode,Sell_LogPhone,Sell_Clear,Sell_OddMoney,Sell_AccountCode,Sell_InMoney,Sell_LastMoney,Sell_Address,Sell_ClientName,Sell_CliPhone,Sell_Salesman,Sell_LinkMan,Sell_OddStatus,Sell_jiajiState,Sell_zuiwanshijian,Sell_fukuanfangshi)");
            strSql.Append(" values (");
            strSql.Append("@Sell_Code,@Sell_Type,@Sell_Date,@Sell_TransportType,@Sell_Review,@Sell_ChangeDate,@Sell_Operation,@Sell_Auditman,@Sell_Remark,@Sell_Satetyone,@Sell_Satetytwo,");
            strSql.Append("@Sell_IsPay,@Sell_IsPutSto,@Sell_PayMathod,@Sell_GetDate,@Sell_Logistics,@Sell_LogCode,@Sell_LogPhone,@Sell_Clear,@Sell_OddMoney,@Sell_AccountCode,@Sell_InMoney,@Sell_LastMoney,@Sell_Address,@Sell_ClientName,@Sell_CliPhone,@Sell_Salesman,@Sell_LinkMan,@Sell_OddStatus,@Sell_jiajiState,@Sell_zuiwanshijian,@Sell_fukuanfangshi)");

            SqlParameter[] parameters =
            {
                new SqlParameter("@Sell_Code",          SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Type",          SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Date",          SqlDbType.DateTime),
                new SqlParameter("@Sell_TransportType", SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Review",        SqlDbType.Int,         4),
                new SqlParameter("@Sell_ChangeDate",    SqlDbType.DateTime),
                new SqlParameter("@Sell_Operation",     SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Auditman",      SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Remark",        SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Satetyone",     SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Satetytwo",     SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_IsPay",         SqlDbType.Int,         4),
                new SqlParameter("@Sell_IsPutSto",      SqlDbType.Int,         4),
                new SqlParameter("@Sell_PayMathod",     SqlDbType.Int,         4),
                new SqlParameter("@Sell_GetDate",       SqlDbType.DateTime),
                new SqlParameter("@Sell_Logistics",     SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_LogCode",       SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_LogPhone",      SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Clear",         SqlDbType.Int,         4),
                new SqlParameter("@Sell_OddMoney",      SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_AccountCode",   SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_InMoney",       SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_LastMoney",     SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Address",       SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_ClientName",    SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_CliPhone",      SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_Salesman",      SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_LinkMan",       SqlDbType.NVarChar,  512),
                new SqlParameter("@Sell_OddStatus",     SqlDbType.Int,         4),
                new SqlParameter("@Sell_jiajiState",    SqlDbType.Int,         4),
                new SqlParameter("@Sell_zuiwanshijian", SqlDbType.DateTime),
                new SqlParameter("@Sell_fukuanfangshi", SqlDbType.NVarChar, 512)
            };
            parameters[0].Value  = sell.Sell_Code;
            parameters[1].Value  = sell.Sell_Type;
            parameters[2].Value  = sell.Sell_Date;
            parameters[3].Value  = sell.Sell_TransportType;
            parameters[4].Value  = sell.Sell_Review;
            parameters[5].Value  = sell.Sell_ChangeDate;
            parameters[6].Value  = sell.Sell_Operation;
            parameters[7].Value  = sell.Sell_Auditman;
            parameters[8].Value  = sell.Sell_Remark;
            parameters[9].Value  = sell.Sell_Satetyone;
            parameters[10].Value = sell.Sell_Satetytwo;
            parameters[11].Value = sell.Sell_IsPay;
            parameters[12].Value = sell.Sell_IsPutSto;
            parameters[13].Value = sell.Sell_PayMathod;
            parameters[14].Value = sell.Sell_GetDate;
            parameters[15].Value = sell.Sell_Logistics;
            parameters[16].Value = sell.Sell_LogCode;
            parameters[17].Value = sell.Sell_LogPhone;
            parameters[18].Value = sell.Sell_Clear;
            parameters[19].Value = sell.Sell_OddMoney;
            parameters[20].Value = sell.Sell_AccountCode;
            parameters[21].Value = sell.Sell_InMoney;
            parameters[22].Value = sell.Sell_LastMoney;
            parameters[23].Value = sell.Sell_Address;
            parameters[24].Value = sell.Sell_ClientName;
            parameters[25].Value = sell.Sell_CliPhone;
            parameters[26].Value = sell.Sell_Salesman;
            parameters[27].Value = sell.Sell_LinkMan;
            parameters[28].Value = sell.Sell_OddStatus;
            parameters[29].Value = sell.Sell_jiajiState;
            parameters[30].Value = sell.Sell_zuiwanshijian;
            parameters[31].Value = sell.Sell_fukuanfangshi;

            //添加到列表中
            hashtable.Add(strSql.ToString(), parameters);

            //销售明细表操作
            string moresqlstr = "";                                       //该sql将插入多行
            List <SqlParameter[]> paraList = new List <SqlParameter[]>(); //多行的值参数列表

            strSql = new StringBuilder();
            strSql.Append("insert into T_SellDetail(");
            strSql.Append("Sell_Code,Sell_StockCode,Sell_StockName,Sell_LineCode,Sell_MaID,Sell_MaName,Sell_Model,Sell_Unit,Sell_CurNumber,");
            strSql.Append("Sell_ReNumber,Sell_LostNumber,Sell_DiscountAPrice,Sell_Discount,Sell_DiscountBPrice,Sell_Money,Sell_Clear,Sell_Safetyone,Sell_Safetytwo,Sell_Remark)");
            strSql.Append(" values (");
            strSql.Append("@Sell_Code,@Sell_StockCode,@Sell_StockName,@Sell_LineCode,@Sell_MaID,@Sell_MaName,@Sell_Model,@Sell_Unit,@Sell_CurNumber,");
            strSql.Append("@Sell_ReNumber,@Sell_LostNumber,@Sell_DiscountAPrice,@Sell_Discount,@Sell_DiscountBPrice,@Sell_Money,@Sell_Clear,@Sell_Safetyone,@Sell_Safetytwo,@Sell_Remark)");
            moresqlstr = strSql.ToString();

            foreach (var sd in sdl)
            {
                SqlParameter[] parametersDetail =
                {
                    new SqlParameter("@Sell_Code",           SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_StockCode",      SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_StockName",      SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_LineCode",       SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_MaID",           SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_MaName",         SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_Model",          SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_Unit",           SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_CurNumber",      SqlDbType.Decimal),
                    new SqlParameter("@Sell_ReNumber",       SqlDbType.Decimal),
                    new SqlParameter("@Sell_LostNumber",     SqlDbType.Decimal),
                    new SqlParameter("@Sell_DiscountAPrice", SqlDbType.Decimal),
                    new SqlParameter("@Sell_Discount",       SqlDbType.Decimal),
                    new SqlParameter("@Sell_DiscountBPrice", SqlDbType.Decimal),
                    new SqlParameter("@Sell_Money",          SqlDbType.Decimal),
                    new SqlParameter("@Sell_Clear",          SqlDbType.Int,        4),
                    new SqlParameter("@Sell_Safetyone",      SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_Safetytwo",      SqlDbType.NVarChar, 512),
                    new SqlParameter("@Sell_Remark",         SqlDbType.NVarChar, 1024)
                };
                parametersDetail[0].Value  = sd.Sell_Code;
                parametersDetail[1].Value  = sd.Sell_StockCode;
                parametersDetail[2].Value  = sd.Sell_StockName;
                parametersDetail[3].Value  = sd.Sell_LineCode;
                parametersDetail[4].Value  = sd.Sell_MaID;
                parametersDetail[5].Value  = sd.Sell_MaName;
                parametersDetail[6].Value  = sd.Sell_Model;
                parametersDetail[7].Value  = sd.Sell_Unit;
                parametersDetail[8].Value  = sd.Sell_CurNumber;
                parametersDetail[9].Value  = sd.Sell_ReNumber;
                parametersDetail[10].Value = sd.Sell_LostNumber;
                parametersDetail[11].Value = sd.Sell_DiscountAPrice;
                parametersDetail[12].Value = sd.Sell_Discount;
                parametersDetail[13].Value = sd.Sell_DiscountBPrice;
                parametersDetail[14].Value = sd.Sell_Money;
                parametersDetail[15].Value = sd.Sell_Clear;
                parametersDetail[16].Value = sd.Sell_Safetyone;
                parametersDetail[17].Value = sd.Sell_Safetytwo;
                parametersDetail[18].Value = sd.Sell_Remark;
                //添加到列表中
                paraList.Add(parametersDetail);
            }
            //操作过程表操作
            strSql = new StringBuilder();
            strSql.Append("insert into T_SellProcess(");
            strSql.Append("SP_Code,SP_SellLineno,SP_Datetime,SP_Opt,SP_Ope,SP_Remark,SP_Clear )");

            strSql.Append(" values (");
            strSql.Append("@SP_Code,@SP_SellLineno,@SP_Datetime,@SP_Opt,@SP_Ope,@SP_Remark,@SP_Clear)");

            SqlParameter[] parametersProcess =
            {
                new SqlParameter("@SP_Code",       SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_SellLineno", SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_Datetime",   SqlDbType.DateTime),
                new SqlParameter("@SP_Opt",        SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_Ope",        SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_Remark",     SqlDbType.NVarChar,  512),
                new SqlParameter("@SP_Clear",      SqlDbType.NVarChar, 512)
            };
            parametersProcess[0].Value = sp.Sp_Code;
            parametersProcess[1].Value = sp.Sp_SellLineno;
            parametersProcess[2].Value = sp.Sp_Datetime;
            parametersProcess[3].Value = sp.Sp_Opt;
            parametersProcess[4].Value = sp.Sp_Ope;
            parametersProcess[5].Value = sp.Sp_Remark;
            parametersProcess[6].Value = sp.Sp_Clear;
            //添加到列表中
            hashtable.Add(strSql.ToString(), parametersProcess);

            if (inStock)
            {
                //入库单生成
            }

            DbHelperSQL.ExecuteSqlTran(hashtable, moresqlstr, paraList);
        }