/// <summary> /// 订单发货 /// </summary> /// <param name="storeOrderIDs"></param> /// <returns></returns> public static string Consign(List <StoreOrderModel> lsom) { bool isSucceed = true; string storeOrderID = ""; for (int i = 0; i < lsom.Count; i++) { StoreOrderModel som = StoreOrderDAL.GetStoreOrderModel_II(lsom[i].StoreorderId); if (som.IsGeneOutBill == "Y") { StoreOrderDAL.UpdStoreOrderIsSent(lsom[i]); } else { isSucceed = false; storeOrderID = lsom[i].StoreorderId; break; } } if (isSucceed) { return("Y"); } else { return(storeOrderID); } }
/// <summary> /// 删除发货单方法 /// </summary> /// <param name="storeId"></param> /// <returns></returns> public static Boolean DelGoodsOrder(string storeOrderID) { Boolean temp = true; string connString = DBHelper.connString; SqlTransaction tr = null; SqlConnection conn = new SqlConnection(connString); conn.Open(); tr = conn.BeginTransaction(); try { BLL.CommonClass.ChangeLogs cl_h_info = new BLL.CommonClass.ChangeLogs("StoreOrder", "storeOrderID"); cl_h_info.AddRecordtran(tr, storeOrderID); cl_h_info.DeletedIntoLogstran(tr, BLL.CommonClass.ChangeCategory.Order, storeOrderID, BLL.CommonClass.ENUM_USERTYPE.Company); StockDAL.DelGoodsOrder(tr, OrderDetailDAL.GetOrderDetail(storeOrderID), StoreOrderDAL.GetStoreIdByOrderId(storeOrderID)); //还原店库存 OrderDetailDAL.DelOrderDetailItem(tr, storeOrderID); //明细表删除失败回滚 StoreOrderDAL.DelStoreOrder(storeOrderID, tr); //订单表删除失败回滚 tr.Commit(); } catch { temp = false; tr.Rollback(); } finally { // tr.Connection.Close(); tr.Dispose(); conn.Close(); } return(temp); }
/// <summary> /// 根据查询条件得出数据结果集 /// </summary> /// <param name="pagin">分页类(界面层需实例化)</param> /// <param name="ID">店铺ID标示</param> /// <param name="condition">条件</param> /// <returns>对应条件的订单数据</returns> public IList <StoreOrderModel> GetStoreOrderList(PaginationModel pagin, string key, string condition) { StoreOrderDAL server = new StoreOrderDAL(); string tableName = "StoreOrder"; string comlums = "ID,StoreID,TotalMoney,TotalPV,ExpectNum,InceptAddress,InceptPerson,PostalCode,Telephone,OrderDateTime,Country,Province,City"; return(server.GetStoreOrderListEffectBrowse(pagin, tableName, key, comlums, condition)); }
/// <summary> /// 显示订单信息用于修改功能 /// </summary> /// <param name="storeOrderId">ID</param> /// <returns></returns> public StoreOrderModel GetStoreOrderModelEffectUpdUpdStoreOrderItem(string id) { //StoreOrderModel storeOrder = new StoreOrderModel(id); //return storeOrder; return(StoreOrderDAL.GetStoreOrderModel(id)); }
/// <summary> /// 收货确认提交 /// </summary> /// <param name="orderids">订单号</param> /// <param name="storeid">店铺编号</param> /// <returns>提交是否成功</returns> public bool Submit(string orderids, string storeid) { using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { conn.Open(); SqlTransaction tr = conn.BeginTransaction();//开启事务 try { string[] orders = orderids.Split(new char[1] { ',' }); for (int i = 0; i < orders.Length - 1; i++) { string ordertype = new StoreOrderDAL().GetOrderType(orders[i]); DBHelper.ExecuteNonQuery(tr, "update orderdetail set receivedquantity=receivedquantity+i.productquantity from InventoryDocDetails i join InventoryDoc ii on i.docid=ii.docid where i.docid='" + orders[i] + "' and i.productid=orderdetail.productid and orderdetail.storeorderid=ii.storeorderid "); DBHelper.ExecuteNonQuery(tr, "update storeorder set IsReceived='Y' from InventoryDoc i where i.docid='" + orders[i] + "' and i.storeorderid=storeorder.storeorderid "); if (new StoreOrderDAL().UpdateIsReceived(tr, orders[i])) { if (ordertype == "0" || ordertype == "2") { if (!new StockDAL().UpdateTotalIn(tr, orders[i], storeid)) { tr.Rollback(); return(false); } } else { if (!new StockDAL().UpdateTurnStorage(tr, orders[i], storeid)) { tr.Rollback(); return(false); } } } else { tr.Rollback(); return(false); } } tr.Commit(); return(true); } catch { tr.Rollback(); return(false); } finally { conn.Close(); } } }
/// <summary> /// 合并单据 /// </summary> /// <param name="lsom"></param> /// <returns></returns> public static string SetUniteForm(List <StoreOrderModel> lsom) { bool isSucceed = true; string err = ""; string storeorderId = ""; string storeID = ""; for (int i = 0; i < lsom.Count; i++) { StoreOrderModel som = StoreOrderDAL.GetStoreOrderModel(lsom[i].StoreorderId); if (som.IsGeneOutBill == "Y") { if (storeID == "") { storeID = som.StoreId; } else { if (storeID != som.StoreId) { isSucceed = false; err = "1"; break; } } } else { isSucceed = false; err = "2"; storeorderId = lsom[i].StoreorderId; break; } } if (isSucceed) { return("Y"); } else { if (err == "1") { return("不在同一个店铺下不能合单"); } //else if (err == "2") return("订单号 : " + storeorderId + ", 没有出库"); } }
/// <summary> /// 收货确认提交 /// </summary> /// <param name="orderids">订单号</param> /// <param name="storeid">会员编号</param> /// <returns>提交是否成功</returns> public bool NSubmit(string orderids, string number) { using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { conn.Open(); SqlTransaction tr = conn.BeginTransaction();//开启事务 try { string[] orders = orderids.Split(new char[1] { ',' }); for (int i = 0; i < orders.Length - 1; i++) { string storeid = new StoreOrderDAL().getStoreIdByOrderId(orders[i]); string ordertype = new StoreOrderDAL().GetOrderType(orders[i]); if (new StoreOrderDAL().UpdateIsReceived(tr, orders[i])) { if (ordertype == "0") { if (!new StockDAL().UpdateTotalIn(tr, orders[i], storeid)) { tr.Rollback(); return(false); } } //else //{ // if (!new StockDAL().UpdateTurnStorage(tr, orders[i], storeid)) // { // tr.Rollback(); // return false; // } //} } else { tr.Rollback(); return(false); } } tr.Commit(); return(true); } catch { tr.Rollback(); return(false); } finally { conn.Close(); } } }
/// <summary> /// 删除订单方法 /// </summary> /// <param name="storeId"></param> /// <returns></returns> public static Boolean DelStoreOrderItem(string storeOrderID) { Boolean temp = true; string connString = DBHelper.connString; SqlTransaction tr = null; SqlConnection conn = new SqlConnection(connString); conn.Open(); tr = conn.BeginTransaction(); try { BLL.CommonClass.ChangeLogs cl_h_info = new BLL.CommonClass.ChangeLogs("OrderGoods", "ordergoodsID"); cl_h_info.AddRecordtran(tr, storeOrderID); BLL.CommonClass.ChangeLogs cl_h_info2 = new BLL.CommonClass.ChangeLogs("OrderGoodsDetail", "ordergoodsID"); cl_h_info2.AddRecordtran(tr, storeOrderID); StoreOrderDAL.DelStoreOrderItemProc(tr, storeOrderID); //StockDAL.DelStoreOrder(tr, OrderDetailDAL.GetOrderGoodsDetail(storeOrderID), StoreOrderDAL.GetStoreIdByGoodsId(storeOrderID));//还原店库存 //OrderDetailDAL.DelOrderGoodsDetail(tr, storeOrderID);//明细表删除失败回滚 //StoreOrderDAL.DelOrderGoods(storeOrderID, tr); //订单表删除失败回滚 cl_h_info.AddRecordtran(tr, storeOrderID); cl_h_info.DeletedIntoLogstran(tr, BLL.CommonClass.ChangeCategory.store10, storeOrderID, BLL.CommonClass.ENUM_USERTYPE.objecttype2); cl_h_info2.AddRecordtran(tr, storeOrderID); cl_h_info2.DeletedIntoLogstran(tr, BLL.CommonClass.ChangeCategory.store10, storeOrderID, BLL.CommonClass.ENUM_USERTYPE.objecttype2); tr.Commit(); } catch { temp = false; tr.Rollback(); } finally { // tr.Connection.Close(); tr.Dispose(); conn.Close(); } return(temp); }
/// <summary> /// 获取订单信息 /// </summary> /// <param name="orderId"></param> /// <returns></returns> public static StoreOrderModel GetOrder(string orderId) { return(StoreOrderDAL.GetStoreOrderModel(orderId)); }
/// <summary> /// 获取订单信息 /// </summary> /// <param name="orderId"></param> /// <returns></returns> public static OrderGoodsMedel GetOrderGoods(string orderId) { return(StoreOrderDAL.GetOrderGoodsMedel(orderId)); }
/// <summary> /// 订单编辑-备注查看 /// </summary> /// <param name="StoreOrderID"></param> /// <returns></returns> public static string GetDescription(string storeOrderID) { return(StoreOrderDAL.GetDescription(storeOrderID)); }
/// <summary> /// StoreOrder DataTable 用于订单编辑 /// </summary> /// <returns></returns> public static DataTable StoreOrderDataTable_IV(string condition) { return(StoreOrderDAL.StoreOrderDataTable_IV(condition)); }
/// <summary> /// 验证订单是否存在 /// </summary> /// <param name="storeOrderID">订单号</param> /// <returns></returns> public static bool GetOrderIsExist(string storeOrderID) { return(StoreOrderDAL.GetOrderIsExist(storeOrderID)); }
public static DataTable GetStoreOrderInfo(string storeOrderID) { return(StoreOrderDAL.GetStoreOrderInfo(storeOrderID)); }
public static DataTable GetOrderGoodsListZ(string storeorderId) { return(StoreOrderDAL.GetOrderGoodsListZ(storeorderId)); }
/// <summary> /// 我要发货,订单生成 /// </summary> /// <param name="storeId">店铺编号</param> /// <param name="orderDetails">发货单明细</param> /// <param name="storeItem">发货单信息</param> /// <returns></returns> public Boolean ApplyGoodsSubmit(StoreOrderModel storeorder, string orders) { string orderId = OrderGoodsBLL.GetNewOrderID(); int maxqishu = CommonDataBLL.GetMaxqishu(); //总金额,积分,数量,重量 decimal totalmoney = 0; decimal totalpv = 0; int totalQuantity = 0; decimal totalWeight = 0; string remark = ""; //保存合并后订单明细 IList <OrderDetailModel> orderDetails = new List <OrderDetailModel>(); //获取要合并的订单列表 IList <OrderGoodsMedel> storeorders = StoreOrderDAL.GetOrderGoodsByOrders(orders); //遍历要合并的订单列表 foreach (OrderGoodsMedel order in storeorders) { //获取要合并的订单列表明细并且进行遍历 foreach (OrderDetailModel detail in OrderDetailDAL.GetGoodsDetailModelList(order.OrderGoodsID)) { //判断是否已经有了该产品 int ct = 0; //遍历合并后的订单列表,是否有和要合并的订单重复的产品 foreach (OrderDetailModel orderdetail in orderDetails) { if (orderdetail.ProductId == detail.ProductId) { orderdetail.Quantity += detail.Quantity; ct++;//有重复的累加 } } //没有重复添加新的明细 if (ct == 0) { //生成一条订单明细 OrderDetailModel detailNew = new OrderDetailModel(); detailNew.StoreorderId = orderId; detailNew.ProductId = detail.ProductId; detailNew.Quantity = detail.Quantity; detailNew.Price = detail.Price; detailNew.Pv = detail.Pv; detailNew.StoreId = detail.StoreId; detailNew.ProductName = detail.ProductName; detailNew.ExpectNum = maxqishu; //添加订单明细,到订单明细列表 orderDetails.Add(detailNew); } } //累加总金额,总积分,数量 totalmoney += order.TotalMoney; totalpv += order.TotalPv; totalQuantity += order.GoodsQuantity; totalWeight += order.Weight; remark += order.OrderGoodsID + ";"; } //保存合并后订单 StoreOrderModel storeItem = new StoreOrderModel(); storeItem.StoreId = storeorder.StoreId; //店铺ID storeItem.StoreorderId = orderId; //订单号 storeItem.TotalMoney = totalmoney; //订单总金额 storeItem.TotalPv = totalpv; //订单总积分 storeItem.InceptAddress = storeorder.InceptAddress; //收货人地址 storeItem.InceptPerson = storeorder.InceptPerson; //收货人姓名 storeItem.PostalCode = storeorder.PostalCode; //收货人邮编 storeItem.Telephone = storeorder.Telephone; //收货人电话 storeItem.OrderDatetime = DateTime.Now.ToUniversalTime(); //订单时间 storeItem.ExpectNum = CommonDataBLL.GetMaxqishu(); //获取期数 storeItem.TotalCommision = 0; //手续费 storeItem.GoodsQuantity = totalQuantity; //货物件数 storeItem.Carriage = 0; //运费 storeItem.Weight = totalWeight; //重量 storeItem.City.Country = storeorder.City.Country; //国家 storeItem.City.Province = storeorder.City.Province; //省份 storeItem.City.City = storeorder.City.City; //城市 storeItem.City.Xian = storeorder.City.Xian; storeItem.IscheckOut = "Y"; //是否支付 storeItem.IsAuditing = "Y"; storeItem.SendWay = storeorder.SendWay; storeItem.OperateIP = System.Web.HttpContext.Current.Request.UserHostAddress; //用户IP storeItem.Description = remark; //描述 storeItem.ConsignmentDatetime = DateTime.Now.ToUniversalTime(); //申请发货日期 storeItem.OrderType = storeorder.OrderType; using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { conn.Open(); SqlTransaction tr = conn.BeginTransaction();//开启事务 try { //插入订单 if (new StoreOrderDAL().AddStoreOrder(storeItem, tr)) { //DBHelper.ExecuteNonQuery(tr, "insert into ApplygoodsTb select '" + storeItem.Description + "',1"); //订单表插入成功插入明细表 foreach (OrderDetailModel orderDetailItem in orderDetails) { if (!OrderDetailDAL.AddOrderDetail(tr, orderDetailItem, storeItem.StoreorderId)) { tr.Rollback(); return(false); } } //修改库存信息 foreach (OrderDetailModel orderDetailItem in orderDetails) { if (!StockDAL.UpdStockSendTotalNumber(tr, storeItem.StoreId, orderDetailItem.ProductId, orderDetailItem.Quantity)) { tr.Rollback(); return(false); } } //更新订单发货状态 StoreOrderDAL.UpdateDeliveryFlag(orders, orderId); //if (storeItem.SendType == 2) //{ // string strSql = @"Update memberorder Set sendType = 2 Where OrderId in (Select OutStorageOrderID from OrderGoods where storeorderid in (" + orders + "))"; // DBHelper.ExecuteNonQuery(tr, strSql, null, CommandType.Text); //} tr.Commit();//插入订单信息完成 } else {//订单插入失败回滚数据 tr.Rollback(); return(false); } } catch { //订单插入失败回滚数据 tr.Rollback(); return(false); } finally { conn.Close(); } } return(true); }
/// <summary> /// 订单出库 DataTable /// </summary> /// <returns></returns> public static DataTable GetStoreOrderDataTable(string condition) { return(StoreOrderDAL.StoreOrderDataTable_VI(condition)); }
public static DataTable StoreOrderGoodsDT(string storeOrderID) { return(StoreOrderDAL.StoreOrderGoodsDT(storeOrderID)); }
/// <summary> /// 根据 出库单号 获取一条信息 /// 用于合单出库 /// </summary> /// <param name="outStorageOrderID"></param> /// <returns></returns> public static StoreOrderModel GetStoreOrder(string outStorageOrderID) { return(StoreOrderDAL.GetStoreOrder(outStorageOrderID)); }
/// <summary> /// 库存单据-备注查看 /// </summary> /// <param name="StoreOrderID"></param> /// <returns></returns> public static string GetNote(string docID) { return(StoreOrderDAL.GetNote(docID)); }
/// <summary> /// 验证订单是否已经支付 /// </summary> /// <param name="storeOrderID"></param> /// <returns></returns> public static bool GetOrderCheckState(string storeOrderID) { return(StoreOrderDAL.GetOrderCheckState(storeOrderID)); }
/// <summary> /// 更具发货单号-- 获取订单的支付方式 /// </summary> /// <param name="fahuoorder"></param> /// <returns></returns> public static int GetOrderGoodsPayType(string fahuoorder) { return(StoreOrderDAL.GetOrderGoodsPayType(fahuoorder)); }
/// <summary> /// 确认订单按钮 /// </summary> /// <returns></returns> public Boolean CheckOutStoreOrder(IList <StoreOrderModel> orders, string storeid) { using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { conn.Open(); //打开连接 SqlTransaction tr = conn.BeginTransaction(); //开启事务 try { decimal ordermoney = 0; decimal turnmoney = 0; string orderids = ""; foreach (StoreOrderModel order in orders) { if (!StoreOrderDAL.GetIsCheckOut(tr, order.StoreorderId)) //判断该订单是否已经支付 { if (StoreOrderDAL.UpdateOrderGoodsState(tr, order.StoreorderId)) //更改订单成已支付状态 { orderids += order.StoreorderId + ";"; if (order.OrderType == 0) { ordermoney += order.TotalMoney; } else if (order.OrderType == 1) { turnmoney += order.TotalMoney; } if (!StockDAL.UpdateInWayCount(tr, OrderDetailDAL.GetOrderGoodsDetail(order.StoreorderId), storeid))//跟新店库存,添加在途数量,去除预定数量 { tr.Rollback(); return(false); } if (!LogicProductInventoryDAL.UpdateToatlOut(tr, CommonDataBLL.GetNewOrderDetail(OrderDetailDAL.GetOrderGoodsDetail(order.StoreorderId))))//更新公司 逻辑库存 { tr.Rollback(); return(false); } } else { tr.Rollback(); return(false); } } } //添加对账单 D_AccountBLL.AddAccount(storeid, Convert.ToDouble(ordermoney), D_AccountSftype.StoreType, D_AccountKmtype.StoreOrderout, DirectionEnum.AccountReduced, "店铺【" + storeid + "】在线订货,订货款扣除额,订单号为【" + orderids + "】", tr); //跟新店货款 if (!StoreInfoDAL.UpdateSomeMoney(tr, ordermoney, turnmoney, storeid)) { tr.Rollback(); return(false); } tr.Commit(); } catch { tr.Rollback(); return(false); } finally { conn.Close(); } } return(true); }
/// <summary> /// 确认订单按钮 /// </summary> /// <param name="storeId"></param> /// <returns></returns> public Boolean OrderSubmit(string storeId, List <OrderDetailModel> orderDetails, OrderGoodsMedel storeItem, bool IsEdit) { using (SqlConnection conn = new SqlConnection(DBHelper.connString)) { conn.Open(); SqlTransaction tr = conn.BeginTransaction();//开启事务 try { if (IsEdit) //如果是修改订单,先删除原来的订单并还原原来的信息 { BLL.CommonClass.ChangeLogs cl_h_info = new BLL.CommonClass.ChangeLogs("OrderGoods", "OrderGoodsID"); //实例日志类 cl_h_info.AddRecordtran(tr, storeItem.OrderGoodsID); //添加日志,修改前记录原来数据 StoreOrderDAL.DelStoreOrderItemProc(tr, storeItem.OrderGoodsID); //StockDAL.DelStoreOrder(tr, OrderDetailDAL.GetOrderGoodsDetail(storeItem.StoreorderId), storeItem.StoreId);//还原店库存 //OrderDetailDAL.DelOrderGoodsDetail(tr, storeItem.StoreorderId);//明细表删除失败回滚 //StoreOrderDAL.DelOrderGoods(storeItem.StoreorderId, tr); //订单表删除失败回滚 cl_h_info.AddRecordtran(tr, storeItem.OrderGoodsID); //添加日志,修改后记录原来数据 cl_h_info.ModifiedIntoLogstran(tr, BLL.CommonClass.ChangeCategory.store10, storeItem.OrderGoodsID, BLL.CommonClass.ENUM_USERTYPE.objecttype2); //插入日志 } //插入订单 if (new StoreOrderDAL().AddOrderGoods(storeItem, tr)) { //订单表插入成功插入明细表 foreach (OrderDetailModel orderDetailItem in orderDetails) { if (!OrderDetailDAL.AddOrderGoodsDetail(tr, orderDetailItem, storeItem.OrderGoodsID)) { tr.Rollback(); return(false); } } //修改库存信息(预订数量) foreach (OrderDetailModel orderDetailItem in orderDetails) { if (!StockDAL.UpdStockHasOrderCount(tr, storeItem.StoreId, orderDetailItem.ProductId, orderDetailItem.Quantity)) { tr.Rollback(); return(false); } } tr.Commit();//插入订单信息完成 } else {//订单插入失败回滚数据 tr.Rollback(); return(false); } } catch { //订单插入失败回滚数据 tr.Rollback(); return(false); } finally { conn.Close(); } } return(true); }
/// <summary> /// 搜索对应店铺的订单查看其状态 /// </summary> /// <param name="pagin">分页类</param> /// <param name="condition">查询条件</param> /// <param name="tableName">表名</param> /// <param name="key">键值</param> /// <param name="comlums">查询列名</param> /// <returns></returns> public static IList <StoreOrderModel> GetStoreOrderList(PaginationModel pagin, string condition, string tableName, string key, string comlums) { // StoreOrderDAL server = new StoreOrderDAL(); return(StoreOrderDAL.GetStoreOrderListEffectQueryOrder(pagin, tableName, key, comlums, condition)); }
/// <summary> /// 获取店铺退货单数量 /// </summary> /// <param name="storeid">店铺编号</param> /// <returns></returns> public static int GetStoreTHOrderCount(string storeid) { return(StoreOrderDAL.GetStoreTHOrderCount(storeid)); }
/// <summary> /// 根据单号获取点编号 /// </summary> /// <param name="orderid">订单号</param> /// <returns>点编号</returns> public static string GetStoreIdByOrderId(string orderid) { return(StoreOrderDAL.GetStoreByOrderId(orderid)); }
public static StoreOrderModel GetStoreOrderModel_II(string storeOrderID) { return(StoreOrderDAL.GetStoreOrderModel_II(storeOrderID)); }
/// <summary> /// 获取未支付订单(新) /// </summary> /// <param name="storeId">店铺编号</param> /// <param name="StoreOrderID">订单编号</param> /// <param name="payType">支付状态</param> /// <returns></returns> public static DataTable GetOrderGoodsList(string storeId, string StoreOrderID, string payType) { return(StoreOrderDAL.GetOrderGoodsList(storeId, StoreOrderID, payType)); }