Пример #1
0
        /// <summary>
        /// 保存商品详细信息
        /// </summary>
        /// <param name="Name"></param>
        /// <param name="Suppliers"></param>
        /// <returns></returns>
        public string SaveHoustory(string Name, string Suppliers)
        {
            int     count     = 0;
            decimal money     = 0;
            var     serialize = new JavaScriptSerializer();

            SqlParameter[]         par;
            List <JsonMerchandise> model = serialize.Deserialize <List <JsonMerchandise> >(Name);
            string RandSum = RandNumber();

            par = new SqlParameter[] {
                new SqlParameter("SuppliersId", Suppliers), new SqlParameter("Deleted", "0"),
                new SqlParameter("OrderCreatetime", DateTime.Now), new SqlParameter("Money", money),
                new SqlParameter("number", RandSum),
            };
            string InsertOrderhistory = @"INSERT INTO [Orderhistory]([Count],[TotalMoney],[OrderCreatetime],[Number],[Suppliersid],[Deleted])
                                 VALUES(null,@Money,@OrderCreatetime,@number,@SuppliersId,@Deleted);SELECT @@IDENTITY";//取得最后一次自增ID
            int    Orderhistoryid     = int.Parse(com.ExecuteScalar(InsertOrderhistory, par).ToString());

            for (int i = 0; i < model.Count; i++)
            {
                par = new SqlParameter[] {
                    new SqlParameter("Mid", model[i].history_id), new SqlParameter("note", model[i].history_note),
                    new SqlParameter("taotalproce", model[i].history_money), new SqlParameter("Suppliers", Suppliers),
                    new SqlParameter("sum", model[i].history_sum), new SqlParameter("Number", RandSum),
                    new SqlParameter("PropertyDelete", "0"), new SqlParameter("CreateTime", DateTime.Now),
                    new SqlParameter("Orderhistoryid", Orderhistoryid)
                };
                //历史详情表
                string InsertPurchaseProperty = @"INSERT INTO [PurchaseProperty]([MId],[PropertySum],[PropertyToal],[PropertyDelete],[CreateTime],[PropertyNote]  ,[Pid] ) 
                             VALUES(@Mid,@sum,@taotalproce,@PropertyDelete,@CreateTime,@note,@Orderhistoryid)";
                count = com.ExecutionSqlPar(InsertPurchaseProperty, par);
                //将进货的商品添加至库存
                string insertDetail = @"INSERT INTO [DB_MgooERP].[dbo].[InventoryDetail]
                                               ([Supplierid]
                                               ,[Mid]
                                               ,[InventoryId],Number,Sum,CreateTime)VALUES(@Suppliers,@Mid,null,@Number,@sum,@CreateTime)";
                count = com.ExecutionSqlPar(insertDetail, par);
                //   string UpdateSum = @"Update InventoryDetail set Sum=Sum+@sum where Mid=@Mid";
                string UpdateStore = @"UPDATE [dbo].[Inventory] set [InvertorySum] = InvertorySum+@sum WHERE Mid=@Mid";
                count = com.ExecutionSqlPar(UpdateStore, par);
            }
            if (count > 0)
            {
                return(Utils.GetResult(200, "保存成功", "true"));
            }
            else
            {
                return(Utils.GetResult(400, "保存失败"));
            }
        }
Пример #2
0
        public string SaveOutPut(string list, string accountid)
        {
            //往出库单表中增加一条数据
            int    count     = 0;
            var    serialize = new JavaScriptSerializer();
            string rand      = RandNumber();

            SqlParameter[]    par;
            List <JsonOutPut> model = serialize.Deserialize <List <JsonOutPut> >(list);//反序列化类中字段必须与传入的字段名称对应

            par = new SqlParameter[] {
                new SqlParameter("RandNumber", rand), new SqlParameter("CreateTime", DateTime.Now),
                new SqlParameter("AccountId", accountid), new SqlParameter("Delete", '0'),
            };
            string OutPut = @"INSERT INTO [OutPut] ([Out_Number],[Out_Create],[Out_Accountid],[Out_Delete])
                                        VALUES(@RandNumber,@CreateTime,@AccountId,@Delete);SELECT @@IDENTITY";//取得最后一次增长的ID
            int    Out_id = int.Parse(com.ExecuteScalar(OutPut, par).ToString());

            for (int i = 0; i < model.Count; i++)
            {
                //将商品的进行退货,出库详情表单增加两条数据,库存表相应减少
                par = new SqlParameter[] {
                    new SqlParameter("Mid", model[i].out_mid), new SqlParameter("sum", model[i].out_sum), new SqlParameter("TotalMoney", model[i].out_totalmoney),
                    new SqlParameter("Rand", rand), new SqlParameter("Create", DateTime.Now), new SqlParameter("RealPrice", '0'),
                    new SqlParameter("Oid", Out_id), new SqlParameter("DetailDelete", '0'), new SqlParameter("OutNote", model[i].out_sum)
                };
                //取得出库表的ID,将数据添加至出库详情表中
                string OutPutDetail = @"INSERT INTO [dbo].[OutPutDetail]([OutDate],[OutNumber],[Mid],[OutSum],[OutTotalMoney],[RealPrice],Out_id,DetailDelete,OutNote)
                                     VALUES(@Create,@Rand,@Mid,@sum,@TotalMoney,@RealPrice,@Oid,@DetailDelete,@OutNote)";
                count = com.ExecutionSqlPar(OutPutDetail, par);
                //库存数量相应减少
                string UpdateStore = @"UPDATE [dbo].[Inventory] set [InvertorySum] = InvertorySum-@sum WHERE Mid=@Mid";
                count = com.ExecutionSqlPar(UpdateStore, par);
            }
            if (count > 0)
            {
                return(Utils.GetResult(200, "保存成功", "true"));
            }
            else
            {
                return(Utils.GetResult(400, "保存失败"));
            }
        }