/// <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 { SaleDepot co = db.SaleDepot.FirstOrDefault(p => p.SDID.Equals(id)); co.SDState = 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.SDDesc }); db.SaveChanges(); int inod = db.InOutDepot.Max(i => i.IODID); List <SaleDepotDetail> list = db.SaleDepotDetail.Where(p => p.SDID.Equals(id)).ToList(); //销售出库详单 List <CustomerOrderDetail> cuslist = db.CustomerOrderDetail.Where(p => p.COID.Equals(co.COID)).ToList(); //客户订单详单 foreach (SaleDepotDetail item in list) { //修改客户订单已销数量 foreach (CustomerOrderDetail cus in cuslist) { if (cus.ProID == item.ProID) { cus.CODSale = item.SDDAmount; } } 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.SDDAmount; } //添加入库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = inod, ProID = item.ProID, IODDAmount = item.SDDAmount, IODDPrice = item.SDDPrice }); } db.SaveChanges(); tx.Commit(); } catch (Exception ex) { fg = 0; tx.Rollback(); throw new Exception(ex.Message); } } return(fg); }
/// <summary> /// 获取采购退货单编号 /// </summary> /// <returns></returns> public ActionResult GetStockReturnID() { PSSEntities db = new PSSEntities(); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("StockReturn", "KRID", "CT", para); return(Content(para.Value.ToString())); }
/// <summary> /// 获取编号 /// </summary> /// <returns></returns> public ActionResult GetID() { PSSEntities db = new PSSEntities(); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("Splits", "SplitID", "CF", para); return(Content(para.Value.ToString())); }
/// <summary> /// 获取采购订单编号 /// </summary> /// <returns></returns> public ActionResult GetStockInID() { ObjectParameter para = new ObjectParameter("DD", ""); PSSEntities db = new PSSEntities(); db.pro_order("StockInDepot", "SIDID", "CR", para); return(Content(para.Value.ToString())); }
/// <summary> /// 获取客户订单编号 /// </summary> /// <returns></returns> public ActionResult GetCustomerOrderID() { PSSEntities db = new PSSEntities(); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("CustomerOrder", "COID", "CD", para); return(Content(para.Value.ToString())); }
/// <summary> /// 获取报价单编号 /// </summary> /// <returns></returns> public ActionResult GetQuotePriceID() { PSSEntities db = new PSSEntities(); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("QuotePrice", "QPID", "BJ", para); return(Content(para.Value.ToString())); }
/// <summary> /// 获取生产入库编号 /// </summary> /// <returns></returns> public ActionResult GetOtherID() { PSSEntities db = new PSSEntities(); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("OtherInDepot", "OIDID", "RK", para); return(Content(para.Value.ToString())); }
/// <summary> /// 获取报价单编号 /// </summary> /// <returns></returns> public ActionResult GetProduceOutDepotID() { PSSEntities db = new PSSEntities(); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("ProduceOutDepot", "PODID", "SL", para); return(Content(para.Value.ToString())); }
public ActionResult GetProLendID() { ObjectParameter para = new ObjectParameter("DD", ""); PSSEntities db = new PSSEntities(); db.pro_order("ProductLend", "PPID", "GY", para); return(Content(para.Value.ToString())); }
public ActionResult GetDPID() { ObjectParameter para = new ObjectParameter("DD", ""); PSSEntities db = new PSSEntities(); db.pro_order("Depots", "DepotID", "CK", para); return(Content(para.Value.ToString())); }
/// <summary> /// 审核入库单【---事务处理---】 /// </summary> /// <param name="id">入库单ID</param> /// <returns>是否成功【0失败、1成功】</returns> public static int CKStockIn(string id, int userid) { PSSEntities db = new PSSEntities(); int fg = 1; using (var tx = db.Database.BeginTransaction()) { try { //------------------------------------------------【入库审核】------------------------------------------------- List <StockInDepotDetail> prolist = db.StockInDepotDetail.Where(s => s.SIDID.Equals(id)).ToList(); //根据入库单ID找到采购入库订单详单集合 StockInDepot st = db.StockInDepot.FirstOrDefault(s => s.SIDID.Equals(id)); //根据入库单ID找到采购入库订单 ObjectParameter para = new ObjectParameter("DD", ""); //生产入库记录单号 db.pro_order("InOutDepot", "IODNum", "RK", para); string IODNum = para.Value.ToString(); //添加入库记录 db.InOutDepot.Add(new InOutDepot() { DepotID = st.DepotID, IODType = 1, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.SIDDesc }); db.SaveChanges(); //保存 int inod = db.InOutDepot.Max(i => i.IODID); //再获取出刚刚出入库记录编号【循环添加出入库详单的时候需要出入库记录编号,所有要先保存】 // db.InOutDepot. foreach (StockInDepotDetail item in prolist) //遍历出库单详单 { if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DepotID) && p.ProID == item.ProID) == null) {//如果指定的仓库中不存在该商品 //【为这个仓库添加一个新商品】 db.DepotStock.Add(new DepotStock() { DepotID = st.DepotID, ProID = item.ProID, DSAmount = item.SIDAmount, DSPrice = item.SIDPrice }); } else {//如果指定仓库存在这个商品,修改这个商品的库存 DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID && d.DepotID == st.DepotID); ds.DSAmount = item.SIDAmount + ds.DSAmount; } //添加入库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = inod, ProID = item.ProID, IODDAmount = item.SIDAmount, IODDPrice = item.SIDPrice }); } st.SIDData = 1;//修改入库表状态 db.SaveChanges(); tx.Commit(); } catch (Exception ex) { fg = 0; tx.Rollback(); throw new Exception(ex.Message); } } return(fg); }
/// <summary> /// 审核采购订单 /// </summary> /// <param name="id"></param> /// <returns></returns> public static int CKInDepot(string id, int userid) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { List <OtherInDepotDetail> prolist = db.OtherInDepotDetail.Where(s => s.OIDID.Equals(id)).ToList(); OtherInDepot st = db.OtherInDepot.FirstOrDefault(s => s.OIDID.Equals(id)); ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("InOutDepot", "IODNum", "RK", para); string IODNum = para.Value.ToString(); //添加入库记录 db.InOutDepot.Add(new InOutDepot() { DepotID = st.DepotID, IODType = 1, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.OIDDesc }); db.SaveChanges(); int inod = db.InOutDepot.Max(i => i.IODID); // db.InOutDepot. foreach (OtherInDepotDetail item in prolist) { if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DepotID) && p.ProID == item.ProID) == null) {//如果指定的仓库中不存在该商品 //【为这个仓库添加一个新商品】 db.DepotStock.Add(new DepotStock() { DepotID = st.DepotID, ProID = item.ProID, DSAmount = item.OIDDAmount, DSPrice = item.OIDDPrice }); } else {//如果指定仓库存在这个商品,修改这个商品的库存 DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID); ds.DSAmount = item.OIDDAmount + ds.DSAmount; } //添加入库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = inod, ProID = item.ProID, IODDAmount = item.OIDDAmount, IODDPrice = item.OIDDPrice }); } st.OIDState = 1; db.SaveChanges(); tx.Commit(); } catch (Exception e) { tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 审核报损单 /// </summary> /// <param name="id"></param> /// <returns></returns> public static int CKInDepot(string id, int userid) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { Losts st = db.Losts.FirstOrDefault(s => s.LostID.Equals(id)); st.LostState = 1; ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("InOutDepot", "IODNum", "RK", para); string IODNum = para.Value.ToString(); //添加出库记录 db.InOutDepot.Add(new InOutDepot() { DepotID = st.DepotID, IODType = 2, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.LostDesc }); db.SaveChanges(); int inod = db.InOutDepot.Max(i => i.IODID); List <LostDetail> list = db.LostDetail.Where(p => p.LostID.Equals(id)).ToList();//销售出库详单 foreach (LostDetail item in list) { if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DepotID) && p.ProID == item.ProID) == null) {//如果指定的仓库中不存在该商品 throw new Exception("报损仓库不存在该商品,操作失败!"); } else {//如果指定仓库存在这个商品,修改这个商品的库存 DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID); if (ds.DSAmount < item.LDAmount) { throw new Exception("商品库存小于报损数量,操作失败!"); } ds.DSAmount = ds.DSAmount - item.LDAmount; } //添加入库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = inod, ProID = item.ProID, IODDAmount = item.LDAmount, IODDPrice = item.LDPrice }); } db.SaveChanges(); tx.Commit(); } catch (Exception e) { tx.Rollback(); throw new Exception(e.Message); } } return(fg); }
/// <summary> /// 审核报损单 /// </summary> /// <param name="id"></param> /// <returns></returns> public static int CKInDepot(string id, int userid) { PSSEntities db = new PSSEntities(); int fg = 1; ///以下开始事务操作 using (var tx = db.Database.BeginTransaction()) { try { /* * --------------------------------------- 【库存调拨】------------------------------------------------- * * 1、将仓库A中的商品调入到仓库里B中去 * 2、修改A、B仓库中调拨商品的商品数量, * 3、分别为A、B仓库添加对应的出入库记录与详情 * */ Devolves st = db.Devolves.FirstOrDefault(s => s.DevID.Equals(id)); st.DevState = 1; ObjectParameter para = new ObjectParameter("DD", ""); db.pro_order("InOutDepot", "IODNum", "RK", para); string IODNum = para.Value.ToString(); //为A仓库添加出库记录 db.InOutDepot.Add(new InOutDepot() { DepotID = st.DevOutID, IODType = 2, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.DevDesc }); db.SaveChanges(); int outinod = db.InOutDepot.Max(i => i.IODID); //为B仓库添加入库记录 db.InOutDepot.Add(new InOutDepot() { DepotID = st.DevInID, IODType = 1, IODNum = IODNum, IODDate = DateTime.Now, IODUser = userid, IODDesc = st.DevDesc }); db.SaveChanges(); int ininod = db.InOutDepot.Max(i => i.IODID); List <DevolveDetail> list = db.DevolveDetail.Where(p => p.DevID.Equals(id)).ToList();//销售出库详单 foreach (DevolveDetail item in list) { //如果调出的仓库中不存在该商品 if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DevOutID) && p.ProID == item.ProID) == null) { throw new Exception("调出商品不存在仓库中!"); } else {//如果指定仓库存在这个商品,修改这个商品的库存 DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID && d.DepotID == st.DevOutID); ds.DSAmount = ds.DSAmount - item.DevDAmount; } //如果调入仓库中不存在该商品 if (db.DepotStock.FirstOrDefault(p => p.DepotID.Equals(st.DevOutID) && p.ProID == item.ProID) == null) { //为调入仓库添加新的商品库存 db.DepotStock.Add(new DepotStock() { DepotID = st.DevInID, ProID = item.ProID, DSAmount = item.DevDAmount }); } else {//如果指定仓库存在这个商品,修改这个商品的库存 DepotStock ds = db.DepotStock.FirstOrDefault(d => d.ProID == item.ProID && d.DepotID == st.DevOutID); ds.DSAmount = ds.DSAmount + item.DevDAmount; } //添加出库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = outinod, ProID = item.ProID, IODDAmount = item.DevDAmount }); //添加入库记录详情 db.InOutDepotDetail.Add(new InOutDepotDetail() { IODID = ininod, ProID = item.ProID, IODDAmount = item.DevDAmount }); } db.SaveChanges(); tx.Commit(); } catch (Exception e) { tx.Rollback(); throw new Exception(e.Message); } } return(fg); }