Example #1
0
        private void initConfig()
        {
            dsc  = new StockReturn();
            lDgs = new List <StockReturn>();

            dsc.return_id      = "return_id";
            dsc.return_doc     = "return_doc";
            dsc.draw_id        = "draw_id";
            dsc.return_date    = "return_date";
            dsc.description    = "description";
            dsc.comp_id        = "comp_id";
            dsc.branch_id      = "branch_id";
            dsc.status_stock   = "status_stock";
            dsc.active         = "active";
            dsc.remark         = "remark";
            dsc.date_create    = "date_create";
            dsc.date_modi      = "date_modi";
            dsc.date_cancel    = "date_cancel";
            dsc.user_create    = "user_create";
            dsc.user_modi      = "user_modi";
            dsc.user_cancel    = "user_cancel";
            dsc.cust_id_return = "cust_id_return";

            dsc.table   = "t_doc_scan";
            dsc.pkField = "return_id";
        }
Example #2
0
        public void getlBsp()
        {
            //lDept = new List<Position>();

            lDgs.Clear();
            DataTable dt = new DataTable();

            dt = selectAll();
            foreach (DataRow row in dt.Rows)
            {
                StockReturn itm1 = new StockReturn();
                itm1.return_id      = row[dsc.return_id].ToString();
                itm1.return_doc     = row[dsc.return_doc].ToString();
                itm1.draw_id        = row[dsc.draw_id].ToString();
                itm1.return_date    = row[dsc.return_date].ToString();
                itm1.description    = row[dsc.description].ToString();
                itm1.comp_id        = row[dsc.comp_id].ToString();
                itm1.branch_id      = row[dsc.branch_id].ToString();
                itm1.status_stock   = row[dsc.status_stock].ToString();
                itm1.active         = row[dsc.active].ToString();
                itm1.remark         = row[dsc.remark].ToString();
                itm1.date_create    = row[dsc.date_create].ToString();
                itm1.date_modi      = row[dsc.date_modi].ToString();
                itm1.date_cancel    = row[dsc.date_cancel].ToString();
                itm1.user_create    = row[dsc.user_create].ToString();
                itm1.user_modi      = row[dsc.user_modi].ToString();
                itm1.user_cancel    = row[dsc.user_cancel].ToString();
                itm1.cust_id_return = row[dsc.cust_id_return].ToString();

                lDgs.Add(itm1);
            }
        }
Example #3
0
        public String update(StockReturn p, String userId)
        {
            String re  = "";
            String sql = "";
            int    chk = 0;

            chkNull(p);
            sql = "Update " + dsc.table + " Set " +
                  " " + dsc.return_doc + " = '" + p.return_doc + "'" +
                  "," + dsc.draw_id + " = '" + p.draw_id + "'" +
                  "," + dsc.return_date + " = '" + p.return_date + "'" +
                  "," + dsc.description + " = '" + p.description + "'" +
                  "," + dsc.comp_id + " = '" + p.comp_id + "'" +
                  "," + dsc.branch_id + " = '" + p.branch_id + "'" +
                  "," + dsc.status_stock + " = '" + p.status_stock + "'" +
                  "," + dsc.remark + " = '" + p.remark + "'" +
                  "," + dsc.date_modi + " = now()" +
                  "," + dsc.user_modi + " = '" + userId + "'" +
                  "," + dsc.cust_id_return + " = '" + p.cust_id_return + "'" +

                  "Where " + dsc.pkField + "='" + p.return_id + "'"
            ;

            try
            {
                re = conn.ExecuteNonQuery(conn.conn, sql);
            }
            catch (Exception ex)
            {
                sql = ex.Message + " " + ex.InnerException;
            }

            return(re);
        }
Example #4
0
        public StockReturn setDocScan(DataTable dt)
        {
            StockReturn dgs1 = new StockReturn();

            if (dt.Rows.Count > 0)
            {
                dgs1.return_id      = dt.Rows[0][dsc.return_id].ToString();
                dgs1.return_doc     = dt.Rows[0][dsc.return_doc].ToString();
                dgs1.draw_id        = dt.Rows[0][dsc.draw_id].ToString();
                dgs1.return_date    = dt.Rows[0][dsc.return_date].ToString();
                dgs1.description    = dt.Rows[0][dsc.description].ToString();
                dgs1.comp_id        = dt.Rows[0][dsc.comp_id].ToString();
                dgs1.branch_id      = dt.Rows[0][dsc.branch_id].ToString();
                dgs1.status_stock   = dt.Rows[0][dsc.status_stock].ToString();
                dgs1.active         = dt.Rows[0][dsc.active].ToString();
                dgs1.remark         = dt.Rows[0][dsc.remark].ToString();
                dgs1.date_create    = dt.Rows[0][dsc.date_create].ToString();
                dgs1.date_modi      = dt.Rows[0][dsc.date_modi].ToString();
                dgs1.date_cancel    = dt.Rows[0][dsc.date_cancel].ToString();
                dgs1.user_create    = dt.Rows[0][dsc.user_create].ToString();
                dgs1.user_modi      = dt.Rows[0][dsc.user_modi].ToString();
                dgs1.user_cancel    = dt.Rows[0][dsc.user_cancel].ToString();
                dgs1.cust_id_return = dt.Rows[0][dsc.cust_id_return].ToString();
            }
            else
            {
                setDocGroupScan(dgs1);
            }
            return(dgs1);
        }
        public ActionResult Create(StockReturn model)
        {
            try
            {
                model.OrganizationId = OrganizationId;
                model.CreatedDate    = System.DateTime.Now;
                model.CreatedBy      = UserID.ToString();
                if (new StockReturnRepository().InsertStockReturn(model) > 0)
                {
                    TempData["error"]   = "";
                    TempData["success"] = "Saved successfully";
                    return(RedirectToAction("Create"));
                }
            }
            catch (NullReferenceException nx)
            {
                TempData["success"] = "";
                TempData["error"]   = "Some required data was missing. Please try again.|" + nx.Message;
            }
            catch (Exception ex)
            {
                TempData["success"] = "";
                TempData["error"]   = "Some error occured. Please try again.|" + ex.Message;
            }

            FillJobCard();
            StockPointDropdown();
            return(View("Create", model));
        }
Example #6
0
        public async Task <(StockReturn stockReturn, string message)> GetStockReturnsBySymbolOverDateRangeAsync(string symbol, DateTime?startDate,
                                                                                                                DateTime?endDate)
        {
            var stockReturnRetVal = new StockReturn();
            var returns           = new List <ReturnInfo>();

            var(historicalPriceReturns, message)
                = await _iStockReturnsData.GetStockReturnsBySymbolOverDateRangeAsync(symbol, startDate, endDate);

            if (!string.IsNullOrEmpty(message))
            {
                return(new StockReturn(), message);
            }

            stockReturnRetVal.Stock = new Stock()
            {
                StockSymbol = symbol
            };

            //TODO: Confirm that having a null return for the first day is acceptable.
            //TODO: If not, then the day previous to the beginning of the date range will need to be returned as well
            decimal?previousDayClose = null;

            foreach (var historicalPriceReturn in historicalPriceReturns)
            {
                returns.Add(new ReturnInfo(historicalPriceReturn.Date, historicalPriceReturn.Open,
                                           historicalPriceReturn.Close, historicalPriceReturn.High, historicalPriceReturn.Low,
                                           previousDayClose));
                previousDayClose = historicalPriceReturn.Close;
            }

            stockReturnRetVal.Returns = returns;
            return(stockReturnRetVal, string.Empty);
        }
        public void ForGetStocks_ReturnHttpNotFound_ForInvalidStock()
        {
            // Arrange
            const string stockSymbol     = "Z1X";
            const string notFoundMessage = "Not Found";
            var          mock            = new Mock <IStockReturns>();
            var          settings        = new ConfigurationVariables()
            {
                MaxDaysInDateRange = 365
            };
            var configurationVariables = Options.Create(settings);

            var stockReturn            = new StockReturn();
            var stockReturnWithMessage = (stockReturn, notFoundMessage);

            mock.Setup(d => d.GetStockReturnsBySymbolOverDateRangeAsync(stockSymbol, It.IsAny <DateTime?>(), It.IsAny <DateTime?>()))
            .ReturnsAsync(stockReturnWithMessage);

            var controller = new ReturnsController(mock.Object, configurationVariables);

            // Act
            var result = controller.Get(stockSymbol).Result.Result;

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
Example #8
0
        /// <summary>
        /// 添加采购退货单
        /// </summary>
        /// <param name="qp"></param>
        /// <param name="list"></param>
        /// <returns></returns>
        internal static int AddStocks(StockReturn qp, List <StockReturnDetail> list)
        {
            PSSEntities db = new PSSEntities();
            int         fg = 1;

            using (var tx = db.Database.BeginTransaction())
            {
                try
                {
                    db.StockReturn.Add(qp);
                    if (list != null)
                    {
                        db.StockReturnDetail.AddRange(list);
                    }

                    db.SaveChanges();
                    tx.Commit();
                }
                catch (Exception ex)
                {
                    fg = 0;
                    tx.Rollback();
                    throw new Exception(ex.Message);
                }
            }
            return(fg);
        }
Example #9
0
        private void chkNull(StockReturn p)
        {
            long chk = 0;

            p.date_modi   = p.date_modi == null ? "" : p.date_modi;
            p.date_cancel = p.date_cancel == null ? "" : p.date_cancel;
            p.user_create = p.user_create == null ? "" : p.user_create;
            p.user_modi   = p.user_modi == null ? "" : p.user_modi;
            p.user_cancel = p.user_cancel == null ? "" : p.user_cancel;

            p.return_date    = p.return_date == null ? "" : p.return_date;
            p.description    = p.description == null ? "" : p.description;
            p.comp_id        = p.comp_id == null ? "" : p.comp_id;
            p.branch_id      = p.branch_id == null ? "" : p.branch_id;
            p.status_stock   = p.status_stock == null ? "" : p.status_stock;
            p.remark         = p.remark == null ? "" : p.remark;
            p.cust_id_return = p.cust_id_return == null ? "" : p.cust_id_return;
            p.return_doc     = p.return_doc == null ? "" : p.return_doc;

            p.branch_id      = long.TryParse(p.branch_id, out chk) ? chk.ToString() : "0";
            p.draw_id        = long.TryParse(p.draw_id, out chk) ? chk.ToString() : "0";
            p.comp_id        = long.TryParse(p.comp_id, out chk) ? chk.ToString() : "0";
            p.cust_id_return = long.TryParse(p.cust_id_return, out chk) ? chk.ToString() : "0";
            //p.doctor_id = int.TryParse(p.doctor_id, out chk) ? chk.ToString() : "0";
        }
Example #10
0
        /// <summary>
        /// 修改采购退货单
        /// </summary>
        /// <param name="qp"></param>
        /// <param name="list"></param>
        /// <returns></returns>
        internal static int EditStocks(StockReturn qp, List <StockReturnDetail> list)
        {
            PSSEntities db = new PSSEntities();
            int         fg = 1;

            using (var tx = db.Database.BeginTransaction())
            {
                try
                {
                    StockReturn c = db.StockReturn.FirstOrDefault(p => p.KRID.Equals(qp.KRID));
                    c.PPID    = qp.PPID;
                    c.DepotID = qp.DepotID;
                    c.SIDID   = qp.SIDID;
                    c.KRDate  = qp.KRDate;
                    c.SIDID   = qp.SIDID;
                    c.KRDesc  = qp.KRDesc;
                    db.StockReturnDetail.RemoveRange(db.StockReturnDetail.Where(s => s.KRID.Equals(qp.KRID)));
                    if (list != null)
                    {
                        db.StockReturnDetail.AddRange(list);
                    }

                    db.SaveChanges();
                    tx.Commit();
                }
                catch (Exception ex)
                {
                    fg = 0;
                    tx.Rollback();
                    throw new Exception(ex.Message);
                }
            }
            return(fg);
        }
Example #11
0
 public override string ToString()
 {
     return
         (string.Format(
              "TotalDays = {0}, DaysIn = {1}, StockReturn = {2}, Return {3}, StockXirr = {4}, Xirr = {5}, NumberOfTrades = {6}",
              TotalDays, DaysIn, StockReturn.ToString("P"), Return.ToString("P"), StockXirr.ToString("P"),
              Xirr.ToString("P"), NumberOfTrades));
 }
        public int UpdateStockReturn(StockReturn objStockReturn)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                string sql = @"UPDATE StockReturn SET StockReturnDate = @StockReturnDate ,JobCardId = @JobCardId ,SpecialRemarks = @SpecialRemarks ,CreatedBy = @CreatedBy,CreatedDate = @CreatedDate  OUTPUT INSERTED.StockReturnId  WHERE StockReturnId = @StockReturnId";

                var id = connection.Execute(sql, objStockReturn);
                InsertLoginHistory(dataConnection, objStockReturn.CreatedBy, "Update", "Stock Return", id.ToString(), "0");
                return(id);
            }
        }
Example #13
0
 /// <summary>
 /// 修改生产领料单
 /// </summary>
 /// <param name="qp"></param>
 /// <param name="list"></param>
 /// <returns></returns>
 public ActionResult EditStockReturn(StockReturn qp, List <StockReturnDetail> list)
 {
     if (StockReturnBLL.EditStocks(qp, list) > 0)
     {
         return(Content("edit_yes"));
     }
     else
     {
         return(Content("edit_no"));
     }
 }
        public PartialViewResult StockReturnList(int jobCardId)
        {
            FillProduct(jobCardId);

            StockReturn stockReturn = new StockReturn {
                Items = new List <StockReturnItem>()
            };

            stockReturn.Items.Add(new StockReturnItem());

            return(PartialView("_StockReturnList", stockReturn));
        }
Example #15
0
 /// <summary>
 /// 添加采购退货单
 /// </summary>
 /// <param name="qp"></param>
 /// <param name="list"></param>
 /// <returns></returns>
 public ActionResult AddStockReturn(StockReturn qp, List <StockReturnDetail> list)
 {
     qp.UserID = Convert.ToInt32(Session["uid"]);
     if (StockReturnBLL.AddStocks(qp, list) > 0)
     {
         return(Content("add_yes"));
     }
     else
     {
         return(Content("add_no"));
     }
 }
Example #16
0
        public DataTable selectByVn(String comp_id, String cust_id_return)
        {
            StockReturn cop1 = new StockReturn();
            DataTable   dt   = new DataTable();
            String      sql  = "select * " +
                               "From " + dsc.table + " dsc " +
                               //"Left Join f_patient_prefix pfx On stf.prefix_id = pfx.f_patient_prefix_id " +
                               "Where dsc." + dsc.comp_id + " ='" + comp_id + "' and dsc." + dsc.branch_id + "='" + cust_id_return + "' and dsc." + dsc.active + "='1'" +
                               "Order By return_doc ";

            dt = conn.selectData(conn.conn, sql);

            return(dt);
        }
Example #17
0
        public DataTable selectByPk1(String id)
        {
            StockReturn cop1 = new StockReturn();
            DataTable   dt   = new DataTable();
            String      sql  = "select * " +
                               "From " + dsc.table + " dsc " +
                               //"Left Join f_patient_prefix pfx On stf.prefix_id = pfx.f_patient_prefix_id " +
                               "Where dsc." + dsc.pkField + " ='" + id + "' " +
                               "Order By return_doc ";

            dt = conn.selectData(conn.conn, sql);

            return(dt);
        }
        /// <summary>
        /// Insert into stock return head table. (StockReturn table)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int InsertStockReturn(StockReturn model)
        {
            using (IDbConnection connection = OpenConnection(dataConnection))
            {
                IDbTransaction txn = connection.BeginTransaction();
                try
                {
                    model.StockReturnRefNo = DatabaseCommonRepository.GetNewDocNo(connection, model.OrganizationId, 21, true, txn);
                    string sql = @"insert into StockReturn(
                            StockReturnRefNo, StockReturnDate,StockPointId,JobCardId,
                            SpecialRemarks,CreatedBy,CreatedDate,OrganizationId) Values

                            (@StockReturnRefNo, @StockReturnDate,@StockPointId,@JobCardId,
                            @SpecialRemarks,@CreatedBy,@CreatedDate,@OrganizationId);

                            SELECT CAST(SCOPE_IDENTITY() as int)";

                    var id = connection.Query <int>(sql, model, txn).Single();
                    foreach (var item in model.Items)
                    {
                        item.StockReturnId = id;
                        new StockReturnItemRepository().InsertStockReturnItem(item, connection, txn);

                        new StockUpdateRepository().InsertStockUpdate(new StockUpdate
                        {
                            OrganizationId = model.OrganizationId,
                            CreatedBy      = model.CreatedBy,
                            CreatedDate    = model.CreatedDate,
                            StockPointId   = model.StockPointId,
                            StockType      = "StockReturn",
                            StockInOut     = "IN",
                            stocktrnDate   = System.DateTime.Today,
                            ItemId         = item.ItemId,
                            Quantity       = item.Quantity * (1),
                            StocktrnId     = id,
                            StockUserId    = model.StockReturnRefNo
                        }, connection, txn);
                    }
                    InsertLoginHistory(dataConnection, model.CreatedBy, "Create", "Stock Return", id.ToString(), "0");
                    txn.Commit();
                    return(id);
                }
                catch (Exception)
                {
                    txn.Rollback();
                    return(0);
                }
            }
        }
Example #19
0
        public String insertDocScan(StockReturn p, String userId)
        {
            String re = "";

            if (p.return_id.Equals(""))
            {
                re = insert(p, "");
            }
            else
            {
                re = update(p, "");
            }

            return(re);
        }
Example #20
0
        public String insert(StockReturn p, String userId)
        {
            String re  = "";
            String sql = "";

            //DataTable dt = new DataTable();
            p.active = "1";
            //p.ssdata_id = "";
            int chk = 0;

            chkNull(p);
            sql = "Insert Into " + dsc.table + " set " +
                  "" + dsc.return_doc + "= '" + p.return_doc + "'" +
                  "," + dsc.active + "= '" + p.active + "'" +
                  "," + dsc.draw_id + "= '" + p.draw_id + "'" +
                  "," + dsc.return_date + "= '" + p.return_date + "'" +
                  "," + dsc.description + "= '" + p.description + "'" +
                  "," + dsc.comp_id + "= '" + p.comp_id + "'" +
                  "," + dsc.branch_id + "= '" + p.branch_id + "'" +
                  "," + dsc.status_stock + "= '" + p.status_stock + "'" +
                  "," + dsc.remark + "= '" + p.remark + "'" +
                  "," + dsc.date_create + "= now()" +
                  "," + dsc.date_modi + "= ''" +
                  "," + dsc.date_cancel + "= ''" +
                  "," + dsc.user_create + "= '" + userId + "'" +
                  "," + dsc.user_modi + "= ''" +
                  "," + dsc.user_cancel + "= ''" +
                  "," + dsc.cust_id_return + "= '" + p.cust_id_return + "'" +

                  "";
            try
            {
                re = conn.ExecuteNonQuery(conn.conn, sql);
            }
            catch (Exception ex)
            {
                sql = ex.Message + " " + ex.InnerException;
            }
            finally
            {
                conn.conn.Close();
                //conn.comStore.Dispose();
            }
            return(re);
        }
Example #21
0
        public ActionResult StockGet()
        {
            var LocationId = Request.Form["LocationId"].ToString();

            var         st = DC.Set <Stock>().Where(x => x.LocationId == new Guid(LocationId)).SingleOrDefault();
            StockReturn sr = new StockReturn();

            if (st == null)
            {
                sr.ResultCode = "1";
            }
            else
            {
                sr.ResultCode = "0";
                sr.stk        = st;
            }
            return(new JsonResult(sr));
        }
        public ActionResult Edit(int id = 0)
        {
            try
            {
                if (id != 0)
                {
                    FillJobCard();

                    StockPointDropdown();
                    StockReturn StockReturn = new StockReturn();
                    StockReturn = new StockReturnRepository().GetStockReturnHD(id);
                    FillProduct(StockReturn.JobCardId);
                    StockReturn.Items = new StockReturnItemRepository().GetStockReturnDT(id);

                    return(View(StockReturn));
                }
                else
                {
                    TempData["error"]   = "That was an invalid/unknown request. Please try again.";
                    TempData["success"] = "";
                }
            }
            catch (InvalidOperationException iox)
            {
                TempData["error"] = "Sorry, we could not find the requested item. Please try again.|" + iox.Message;
            }
            catch (SqlException sx)
            {
                TempData["error"] = "Some error occured while connecting to database. Please try again after sometime.|" + sx.Message;
            }
            catch (NullReferenceException nx)
            {
                TempData["error"] = "Some required data was missing. Please try again.|" + nx.Message;
            }
            catch (Exception ex)
            {
                TempData["error"] = "Some error occured. Please try again.|" + ex.Message;
            }

            TempData["success"] = "";
            return(RedirectToAction("Index"));
        }
Example #23
0
        public StockReturn setDocGroupScan(StockReturn dgs1)
        {
            dgs1.return_id      = "";
            dgs1.return_doc     = "";
            dgs1.draw_id        = "";
            dgs1.return_date    = "";
            dgs1.description    = "";
            dgs1.comp_id        = "";
            dgs1.branch_id      = "";
            dgs1.status_stock   = "";
            dgs1.active         = "";
            dgs1.remark         = "";
            dgs1.date_create    = "";
            dgs1.date_modi      = "";
            dgs1.date_cancel    = "";
            dgs1.user_create    = "";
            dgs1.user_modi      = "";
            dgs1.user_cancel    = "";
            dgs1.cust_id_return = "";

            return(dgs1);
        }
Example #24
0
        public String selectRowNoByHnVn(String comp_id, String branch_id, String docgid)
        {
            String      re = "0", re1 = "";
            int         chk  = 0;
            StockReturn cop1 = new StockReturn();
            DataTable   dt   = new DataTable();
            String      sql  = "select max(" + dsc.draw_id + ") as " + dsc.draw_id + " " +
                               "From " + dsc.table + " dsc " +
                               //"Left Join f_patient_prefix pfx On stf.prefix_id = pfx.f_patient_prefix_id " +
                               "Where dsc." + dsc.comp_id + " ='" + comp_id + "' and dsc." + dsc.return_doc + "='" + docgid + "' and dsc." + dsc.branch_id + "='" + branch_id + "' " +
                               "  ";

            dt = conn.selectData(conn.conn, sql);
            if (dt.Rows.Count > 0)
            {
                re1 = dt.Rows[0][dsc.draw_id].ToString();
                int.TryParse(re1, out chk);
                chk++;
                re = chk.ToString();
            }
            return(re);
        }
Example #25
0
        public ActionResult StockReturn()
        {
            var model = new StockReturn(base.BasketCount);

            return(View(model));
        }
Example #26
0
 /// <summary>
 /// 修改采购退货单
 /// </summary>
 /// <param name="qp"></param>
 /// <param name="list"></param>
 /// <returns></returns>
 internal static int EditStocks(StockReturn qp, List <StockReturnDetail> list)
 {
     return(StockReturnDAL.EditStocks(qp, list));
 }
Example #27
0
        /// <summary>
        /// 审核采购退货单
        /// </summary>
        /// <param name="id"></param>
        /// <param name="userid"></param>
        /// <returns></returns>
        internal static int CKInDepot(string id, int userid)
        {
            PSSEntities db = new PSSEntities();
            int         fg = 1;

            using (var tx = db.Database.BeginTransaction())
            {
                try
                {
                    StockReturn co = db.StockReturn.FirstOrDefault(p => p.KRID.Equals(id));
                    co.KRState = 1;
                    ObjectParameter para = new ObjectParameter("DD", "");
                    db.pro_order("InOutDepot", "IODNum", "RK", para);
                    string IODNum = para.Value.ToString();
                    //添加入库记录
                    db.InOutDepot.Add(new InOutDepot()
                    {
                        DepotID = co.DepotID, IODType = 2, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = co.KRDesc
                    });
                    db.SaveChanges();
                    int inod = db.InOutDepot.Max(i => i.IODID);
                    List <StockReturnDetail>  list    = db.StockReturnDetail.Where(p => p.KRID.Equals(id)).ToList();         //销售出库详单
                    List <StockInDepotDetail> cuslist = db.StockInDepotDetail.Where(p => p.SIDID.Equals(co.SIDID)).ToList(); //客户订单详单
                    foreach (StockReturnDetail item in list)
                    {
                        //修改客户订单已销数量
                        foreach (StockInDepotDetail cus in cuslist)
                        {
                            if (cus.ProID == item.ProID)
                            {
                                if (Convert.ToInt32(cus.SIDAmount) < Convert.ToInt32(item.KRDAmount))
                                {
                                    throw new Exception("退货商品数量超出入库数量,操作失败!!!");
                                }
                            }
                        }
                        if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(co.DepotID) && p.ProID == item.ProID) == null)
                        {//如果指定的仓库中不存在该商品
                            throw new Exception("未知错误,不存在该商品,操作失败!");
                        }
                        else
                        {//如果指定仓库存在这个商品,修改这个商品的库存
                            DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID && d.DepotID == co.DepotID);
                            ds.DSAmount = ds.DSAmount - item.KRDAmount;
                        }
                        //添加入库记录详情
                        db.InOutDepotDetail.Add(new InOutDepotDetail()
                        {
                            IODID = inod, ProID = item.ProID, IODDAmount = item.KRDAmount, IODDPrice = item.KRDPrice
                        });
                    }
                    db.SaveChanges();
                    tx.Commit();
                }
                catch (Exception ex)
                {
                    fg = 0;
                    tx.Rollback();
                    throw new Exception(ex.Message);
                }
            }
            return(fg);
        }