public ActionResult SetOrderInvoice(Td_Sale_Order_Head model) { BaseResult br = new BaseResult(); if (model.dh.IsEmpty()) { br.Success = false; br.Message.Add("提交的数据不完整,请刷新后再试"); br.Level = ErrorLevel.Warning; return(Json(br)); } try { Hashtable param = new Hashtable(); model.id_edit = GetLoginInfo <long>("id_user"); model.rq_edit = DateTime.Now; param.Add("model", model); br = BusinessFactory.SaleOrder.SetOrderInvoice(param); if (br.Success) { WriteDBLog(LogFlag.Bill, br.Message); } } catch (CySoftException ex) { throw ex; } catch (Exception ex) { throw ex; } return(Json(br)); }
public ActionResult Pay() { BaseResult br = new BaseResult(); Td_sale_pay_Query model = new Td_sale_pay_Query(); try { Hashtable param = GetParameters(); ParamVessel p = new ParamVessel(); p.Add("dh", String.Empty, HandleType.ReturnMsg); param = param.Trim(p); string dh = param["dh"].ToString(); ViewData["je_pay"] = (long)0; // 订单金额 ViewData["je_payed"] = (long)0; // 已付金额 ViewData["id_gys"] = (long)0; // 供应商id 选择银行账号标识 param.Clear(); param.Add("dh", dh); br = BusinessFactory.Order.Get(param); if (br.Data != null) { Td_Sale_Order_Head head = (Td_Sale_Order_Head)br.Data; model.dh_order = head.dh; ViewData["je_pay"] = head.je_pay; ViewData["je_payed"] = head.je_payed; ViewData["id_gys"] = head.id_gys; model.je = (head.je_pay - head.je_payed) < 0 ? (long)0 : (head.je_pay - head.je_payed); // 尚未付款 // 收款账号 param.Clear(); param.Add("id_gys", head.id_gys); Tb_Gys_Account Bank = BusinessFactory.BankAccount.GetDefault(param).Data as Tb_Gys_Account; if (Bank != null) { model.khr = Bank.khr; model.name_bank = Bank.name_bank; model.account_bank = Bank.account_bank; } } } catch (CySoftException ex) { throw ex; } catch (Exception ex) { throw ex; } return(View(model)); }
/// <summary> /// 新增 /// znt 2015-04-27 /// </summary> public override BaseResult Add(dynamic entity) { BaseResult br = new BaseResult(); Hashtable param = new Hashtable(); Td_Sale_Pay model = (Td_Sale_Pay)entity; param.Clear(); param.Add("dh", model.dh_order); Td_Sale_Order_Head head = DAL.GetItem <Td_Sale_Order_Head>(typeof(Td_Sale_Order_Head), param); if (head == null) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("添加付款记录失败,该订货单号【{0}】不存在或资料已缺失!", model.dh_order)); br.Data = "none"; return(br); } // 计算尚未付款金额 decimal notYetPay = head.je_pay.Value - head.je_payed.Value; // 判断订单是否完全付款 if (notYetPay <= 0) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款提示,该单号【{0}】已完成付款,不需要重复付款", model.dh_order)); return(br); } if (model.je > notYetPay) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("添加付款记录失败,总金额不允许大于订单待付款金额!", model.dh_order)); return(br); } model.id_cgs = head.id_cgs; model.id_gys = head.id_gys; model.flag_delete = 0; DAL.Add(model); br.Success = true; return(br); }
public BaseResult PayForGys(dynamic entity) { BaseResult br = new BaseResult(); Hashtable param = new Hashtable(); Td_Sale_Pay model = (Td_Sale_Pay)entity; param.Clear(); param.Add("dh", model.dh_order); Td_Sale_Order_Head head = DAL.GetItem <Td_Sale_Order_Head>(typeof(Td_Sale_Order_Head), param); if (head == null) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("添加付款记录失败,该销售单号【{0}】不存在或资料已缺失!", model.dh_order)); br.Data = "none"; return(br); } // 尚未付款金额 decimal notYetPay = head.je_pay.Value - head.je_payed.Value; // 判断订单是否完全付款 if (notYetPay <= 0) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款提示,该单号【{0}】已完成付款,不需要重复付款", model.dh_order)); return(br); } // 检查差额 if (model.je.Value >= notYetPay) { model.je = notYetPay; //未审核的付款单直接作废 param.Clear(); param.Add("dh_order", head.dh); param.Add("flag_state", 1); param.Add("new_flag_state", 0); param.Add("new_id_edit", model.id_edit); param.Add("new_rq_edit", DateTime.Now); DAL.UpdatePart(typeof(Td_Sale_Pay), param); } // 更新订单状态 param.Clear(); param.Add("dh", head.dh); param.Add("new_je_payed", head.je_payed.Digit(DigitConfig.je) + model.je.Digit(DigitConfig.je)); param.Add("new_id_edit", model.id_edit); param.Add("new_rq_edit", DateTime.Now); DAL.UpdatePart(typeof(Td_Sale_Order_Head), param); model.id_cgs = head.id_cgs; model.id_gys = head.id_gys; model.flag_delete = 0; model.flag_state = 2; // 直接已审核 DAL.Add(model); br.Success = true; return(br); }
public BaseResult CancelRecord(Hashtable param) { BaseResult br = new BaseResult(); string dh = param["dh"].ToString(); // 收款单号 long id_edit = Convert.ToInt64(param["id_edit"]); param.Clear(); param.Add("dh", dh); Td_Sale_Pay model = DAL.GetItem <Td_Sale_Pay>(typeof(Td_Sale_Pay), param); if (model == null) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("取消收款失败,收款流水号【{0}】不存在或资料已缺失!", dh)); br.Data = "none"; return(br); } if (model.flag_state != 2) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("取消收款失败,该付款单号【{0}】当前状态不符合取消收款确认要求!", dh)); br.Data = "none"; return(br); } param.Clear(); param.Add("dh", model.dh_order); Td_Sale_Order_Head head = DAL.GetItem <Td_Sale_Order_Head>(typeof(Td_Sale_Order_Head), param); if (head == null) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("取消收款失败,该收款流水号【{0}】的销售单【{1}】不存在或资料已缺失!", model.dh, model.dh_order)); br.Data = "none"; return(br); } #region 更新订单已付金额 param.Clear(); param.Add("dh", head.dh); param.Add("new_je_payed", head.je_payed - model.je); param.Add("new_id_edit", model.id_edit); param.Add("new_rq_edit", DateTime.Now); DAL.UpdatePart(typeof(Td_Sale_Order_Head), param); #endregion param.Clear(); param.Add("dh", model.dh); param.Add("new_flag_state", 0); param.Add("new_id_edit", id_edit); param.Add("new_rq_edit", DateTime.Now); int result = DAL.UpdatePart(typeof(Td_Sale_Pay), param); if (result > 0) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("取消收款确认失败,流水号:{0}", dh)); br.Data = "none"; return(br); } br.Success = true; br.Message.Add(string.Format("取消付款确认成功,流水号:{0}", dh)); return(br); }
public BaseResult PayConfirm(Hashtable param) { BaseResult br = new BaseResult(); string dh = param["dh"].ToString(); long id_edit = Convert.ToInt64(param["id_edit"]); param.Clear(); param.Add("dh", dh); Td_Sale_Pay model = DAL.GetItem <Td_Sale_Pay>(typeof(Td_Sale_Pay), param); if (model == null) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款失败,该付款单号【{0}】不存在或资料已缺失!", dh)); br.Data = "none"; return(br); } if (model.flag_state != 1) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款失败,该付款单号【{0}】当前状态不符合付款要求!", dh)); br.Data = "none"; return(br); } param.Clear(); param.Add("dh", model.dh_order); Td_Sale_Order_Head head = DAL.GetItem <Td_Sale_Order_Head>(typeof(Td_Sale_Order_Head), param); if (head == null) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款失败,该单号【{0}】不存在或资料已缺失!", model.dh_order)); return(br); } // 尚未付款金额 decimal notYetPay = head.je_pay.Value - head.je_payed.Value; // 判断订单是否完全付款 if (notYetPay <= 0) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款提示,该单号【{0}】已完成付款,不需要重复付款", model.dh_order)); return(br); } // 检查差额 if (model.je.Value >= notYetPay) { model.remark = string.Format("【原收款单金额为:{0}】", model.je.Value.ToString("0.00")) + model.remark; model.je = notYetPay; // 剩下未审核的付款单直接作废 param.Clear(); param.Add("dh_order", head.dh); param.Add("not_dh", model.dh); // 排除当前操作的付款单 param.Add("flag_state", 1); param.Add("new_flag_state", 0); param.Add("new_id_edit", id_edit); param.Add("new_rq_edit", DateTime.Now); DAL.UpdatePart(typeof(Td_Sale_Pay), param); } // 更新订单的付款金额 param.Clear(); param.Add("dh", head.dh); param.Add("new_je_payed", head.je_payed.Digit(DigitConfig.je) + model.je.Digit(DigitConfig.je)); param.Add("new_id_edit", id_edit); param.Add("new_rq_edit", DateTime.Now); DAL.UpdatePart(typeof(Td_Sale_Order_Head), param); // 跟新当前付款单的状态和金额 param.Clear(); param.Add("dh", model.dh); param.Add("new_je", model.je); param.Add("new_flag_state", 2); param.Add("new_id_edit", id_edit); param.Add("new_rq_edit", DateTime.Now); param.Add("new_remark", model.remark); int result = DAL.UpdatePart(typeof(Td_Sale_Pay), param); if (result > 0) { br.Success = false; br.Level = ErrorLevel.Warning; br.Message.Add(string.Format("付款失败,流水号:{0}", dh)); br.Data = "none"; return(br); } br.Success = true; br.Message.Add(string.Format("付款成功,流水号:{0}", dh)); return(br); }