public ActionResult Matchorderlist(MatchOrderModel matchmodel, int page = 1) { MatchorderlistViewModel model = new MatchorderlistViewModel(); int totalrowcount = 0; MatchOrderModel seachmodel = new MatchOrderModel(); seachmodel.PageSize = PageSize; seachmodel.PageIndex = page; seachmodel.MatchStatus = matchmodel.MatchStatus; seachmodel.HelperOrderCode = matchmodel.HelperOrderCode; seachmodel.AcceptOrderCode = matchmodel.AcceptOrderCode; List <MatchOrderModel> list = mbll.GetMatchedOrderListByPage(seachmodel, out totalrowcount); PagedList <MatchOrderModel> pageList = null; if (list != null) { pageList = new PagedList <MatchOrderModel>(list, page, PageSize, totalrowcount); } model.list = pageList; model.pagesize = PageSize; model.currentpage = page; model.totalcount = totalrowcount; ViewBag.PageTitle = "匹配列表"; this.ViewData["matchmodel.MatchStatus"] = GetMatchStatusListItem(0); return(View(model)); }
/// <summary> /// 添加匹配信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static int AddMatchOrder(MatchOrderModel model) { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into MatchOrder("); strSql.Append("HelperOrderID,HelperOrderCode,HelperMemberID,AcceptOrderID,AcceptOrderCode,AcceptMemberID,MatchedMoney,MatchTime,MatchStatus,LastUpdateTime,HelperMemberName,HelperMemberPhone,AcceptMemberName,AcceptMemberPhone"); strSql.Append(") values ("); strSql.Append("@HelperOrderID,@HelperOrderCode,@HelperMemberID,@AcceptOrderID,@AcceptOrderCode,@AcceptMemberID,@MatchedMoney,GETDATE(),1,GETDATE(),@HelperMemberName,@HelperMemberPhone,@AcceptMemberName,@AcceptMemberPhone"); strSql.Append(") "); strSql.Append(";select @@IDENTITY"); SqlParameter[] parameters = { new SqlParameter("@HelperOrderID", SqlDbType.Int), new SqlParameter("@HelperOrderCode", SqlDbType.NVarChar), new SqlParameter("@HelperMemberID", SqlDbType.Int), new SqlParameter("@AcceptOrderID", SqlDbType.Int), new SqlParameter("@AcceptOrderCode", SqlDbType.NVarChar), new SqlParameter("@AcceptMemberID", SqlDbType.Int), new SqlParameter("@MatchedMoney", SqlDbType.Decimal), new SqlParameter("@HelperMemberName", SqlDbType.NVarChar), new SqlParameter("@HelperMemberPhone", SqlDbType.NVarChar), new SqlParameter("@AcceptMemberName", SqlDbType.NVarChar), new SqlParameter("@AcceptMemberPhone", SqlDbType.NVarChar) }; parameters[0].Value = model.HelperOrderID; parameters[1].Value = model.HelperOrderCode; parameters[2].Value = model.HelperMemberID; parameters[3].Value = model.AcceptOrderID; parameters[4].Value = model.AcceptOrderCode; parameters[5].Value = model.AcceptMemberID; parameters[6].Value = model.MatchedMoney; parameters[7].Value = model.HelperMemberName; parameters[8].Value = model.HelperMemberPhone; parameters[9].Value = model.AcceptMemberName; parameters[10].Value = model.AcceptMemberPhone; object obj = helper.GetSingle(strSql.ToString(), parameters); if (obj == null) { return(0); } else { return(Convert.ToInt32(obj)); } }
/// <summary> /// 单据匹配方法4 /// </summary> /// <returns></returns> public int OperateMatchOrder(int hid, int aid) { int result = 0; decimal money = 0; HelpeOrderModel help = HelpeOrderDAL.GetHelpOrderInfo(hid); AcceptHelpOrderModel accept = AcceptHelpOrderDAL.GetAcceptOrderInfo(aid); string helpsmscontent = SysAdminConfigDAL.GetConfigsByID(19); string acceptsmscontent = SysAdminConfigDAL.GetConfigsByID(20); string issendsms = SysAdminConfigDAL.GetConfigsByID(21); if (help == null || accept == null) { return 0; } if (help.HStatus == 3 || help.HStatus == 5) { return 0; } if (accept.AStatus == 3 || accept.AStatus == 5) { return 0; } if (help.DiffAmount == 0 || accept.DiffAmount == 0) { return 0; } //系统计算匹配金额 if (help.DiffAmount < accept.DiffAmount) { money = help.DiffAmount; } else if (help.DiffAmount > accept.DiffAmount) { money = accept.DiffAmount; } else { money = help.DiffAmount; } using (TransactionScope scope = new TransactionScope()) { //插入匹配表 MatchOrderModel matchmodel = new MatchOrderModel(); matchmodel.AcceptMemberID = accept.MemberID; matchmodel.AcceptMemberName = accept.MemberName; matchmodel.AcceptMemberPhone = accept.MemberPhone; matchmodel.AcceptOrderCode = accept.OrderCode; matchmodel.AcceptOrderID = aid; matchmodel.HelperMemberID = help.MemberID; matchmodel.HelperMemberName = help.MemberName; matchmodel.HelperMemberPhone = help.MemberPhone; matchmodel.HelperOrderCode = help.OrderCode; matchmodel.HelperOrderID = hid; matchmodel.MatchedMoney = money; matchmodel.MatchTime = DateTime.Now; int rowcount = MatchOrderDAL.AddMatchOrder(matchmodel); if (rowcount < 1) { return 0; } //更新提供订单表状态 rowcount = HelpeOrderDAL.UpdateHelpOrderMatch(hid, money); if (rowcount < 1) { return 0; } //更新接受订单表状态 rowcount = AcceptHelpOrderDAL.UpdateAcceptOrderMatch(aid, money); if (rowcount < 1) { return 0; } #region 发送短信 if (issendsms == "1") { string helpsms = string.Format(helpsmscontent, help.OrderCode); string acceptsms = string.Format(acceptsmscontent, accept.OrderCode); string resule = SendSMSClass.SendSMS(help.MemberPhone, helpsms); resule = SendSMSClass.SendSMS(accept.MemberPhone, acceptsms); } #endregion scope.Complete(); result = 1; } return result; }
/// <summary> /// 按页查询匹配单据信息 /// </summary> /// <param name="model"></param> /// <param name="totalrowcount"></param> /// <returns></returns> public List<MatchOrderModel> GetMatchedOrderListByPage(MatchOrderModel model,out int totalrowcount) { return MatchOrderDAL.GetMatchedOrderListByPage(model, out totalrowcount); }
/// <summary> /// 得到匹配的单据信息 /// </summary> /// <param name="hid"></param> /// <param name="aid"></param> /// <returns></returns> public static List <MatchOrderModel> GetMatchOrderInfo(int hid, int aid) { List <MatchOrderModel> list = new List <MatchOrderModel>(); StringBuilder strSql = new StringBuilder(); strSql.Append("select ID, HelperOrderID, HelperOrderCode, HelperMemberID, AcceptOrderID, AcceptOrderCode, AcceptMemberID, MatchedMoney, MatchTime "); strSql.Append(" from MatchOrder "); strSql.Append(" where MatchStatus<>2 "); if (hid > 0) { strSql.Append(" AND HelperOrderID=@hid "); } if (aid > 0) { strSql.Append(" AND AcceptOrderID=@aid "); } SqlParameter[] parameters = { new SqlParameter("@hid", SqlDbType.Int), new SqlParameter("@aid", SqlDbType.Int) }; parameters[0].Value = hid; parameters[1].Value = aid; DataSet ds = helper.Query(strSql.ToString(), parameters); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow item in ds.Tables[0].Rows) { MatchOrderModel model = new MatchOrderModel(); if (item["ID"].ToString() != "") { model.ID = int.Parse(item["ID"].ToString()); } if (item["HelperOrderID"].ToString() != "") { model.HelperOrderID = int.Parse(item["HelperOrderID"].ToString()); } model.HelperOrderCode = item["HelperOrderCode"].ToString(); if (item["HelperMemberID"].ToString() != "") { model.HelperMemberID = int.Parse(item["HelperMemberID"].ToString()); } if (item["AcceptOrderID"].ToString() != "") { model.AcceptOrderID = int.Parse(item["AcceptOrderID"].ToString()); } model.AcceptOrderCode = item["AcceptOrderCode"].ToString(); if (item["AcceptMemberID"].ToString() != "") { model.AcceptMemberID = int.Parse(item["AcceptMemberID"].ToString()); } if (item["MatchedMoney"].ToString() != "") { model.MatchedMoney = decimal.Parse(item["MatchedMoney"].ToString()); } if (item["MatchTime"].ToString() != "") { model.MatchTime = DateTime.Parse(item["MatchTime"].ToString()); } list.Add(model); } return(list); } else { return(null); } }
/// <summary> /// 按页查询匹配的单据信息 /// </summary> /// <param name="model"></param> /// <param name="totalrowcount"></param> /// <returns></returns> public static List <MatchOrderModel> GetMatchedOrderListByPage(MatchOrderModel model, out int totalrowcount) { List <MatchOrderModel> list = new List <MatchOrderModel>(); string columms = @" ID,HelperOrderID,HelperOrderCode,HelperMemberID,AcceptOrderID,AcceptOrderCode,AcceptMemberID,MatchedMoney,MatchTime,MatchStatus,LastUpdateTime,CASE MatchStatus WHEN 1 THEN '已匹配' WHEN 2 THEN '已取消' WHEN 3 THEN '已打款' WHEN 4 THEN '已完成' END AS MatchStatusName,HelperMemberName,HelperMemberPhone,AcceptMemberName,AcceptMemberPhone "; string where = ""; if (model != null) { if (model.MatchStatus > 0) { where += "MatchStatus='" + model.MatchStatus + "'"; } if (!string.IsNullOrWhiteSpace(model.HelperOrderCode) && string.IsNullOrWhiteSpace(where)) { where += " HelperOrderCode='" + model.HelperOrderCode.ToString() + "'"; } else if (!string.IsNullOrWhiteSpace(where) && !string.IsNullOrWhiteSpace(model.HelperOrderCode)) { where += @" AND HelperOrderCode='" + model.HelperOrderCode.ToString() + "'"; } if (!string.IsNullOrWhiteSpace(model.AcceptOrderCode) && string.IsNullOrWhiteSpace(where)) { where += @" AcceptOrderCode = '" + model.AcceptOrderCode + "'"; } else if (!string.IsNullOrWhiteSpace(model.AcceptOrderCode) && !string.IsNullOrWhiteSpace(where)) { where += @" AND AcceptOrderCode = '" + model.AcceptOrderCode + "'"; } } PageProModel page = new PageProModel(); page.colums = columms; page.orderby = "ID"; page.pageindex = model.PageIndex; page.pagesize = model.PageSize; page.tablename = @"dbo.MatchOrder"; page.where = where; DataTable dt = PublicHelperDAL.GetTable(page, out totalrowcount); foreach (DataRow item in dt.Rows) { MatchOrderModel matchordermodel = new MatchOrderModel(); if (item["ID"].ToString() != "") { matchordermodel.ID = int.Parse(item["ID"].ToString()); } if (item["MatchStatus"].ToString() != "") { matchordermodel.MatchStatus = int.Parse(item["MatchStatus"].ToString()); } if (item["LastUpdateTime"].ToString() != "") { matchordermodel.LastUpdateTime = DateTime.Parse(item["LastUpdateTime"].ToString()); } if (item["HelperOrderID"].ToString() != "") { matchordermodel.HelperOrderID = int.Parse(item["HelperOrderID"].ToString()); } matchordermodel.HelperOrderCode = item["HelperOrderCode"].ToString(); matchordermodel.HelperMemberName = item["HelperMemberName"].ToString(); matchordermodel.HelperMemberPhone = item["HelperMemberPhone"].ToString(); matchordermodel.AcceptMemberName = item["AcceptMemberName"].ToString(); matchordermodel.AcceptMemberPhone = item["AcceptMemberPhone"].ToString(); if (item["HelperMemberID"].ToString() != "") { matchordermodel.HelperMemberID = int.Parse(item["HelperMemberID"].ToString()); } if (item["AcceptOrderID"].ToString() != "") { matchordermodel.AcceptOrderID = int.Parse(item["AcceptOrderID"].ToString()); } matchordermodel.AcceptOrderCode = item["AcceptOrderCode"].ToString(); if (item["AcceptMemberID"].ToString() != "") { matchordermodel.AcceptMemberID = int.Parse(item["AcceptMemberID"].ToString()); } if (item["MatchedMoney"].ToString() != "") { matchordermodel.MatchedMoney = decimal.Parse(item["MatchedMoney"].ToString()); } if (item["MatchTime"].ToString() != "") { matchordermodel.MatchTime = DateTime.Parse(item["MatchTime"].ToString()); } matchordermodel.MatchStatusName = item["MatchStatusName"].ToString(); list.Add(matchordermodel); } return(list); }