public void 支付(IRepository rep, 凭证收支明细 entity) { if (string.IsNullOrEmpty(entity.票据号码)) { throw new InvalidUserOperationException("请输入支票号码!"); } 转账支票 item = GetFrom票据号码(rep, entity.票据号码); if (item.银行账户.币制编号 == entity.凭证.金额.币制编号 && !item.Submitted && !item.是否作废) { if ((item.金额 == entity.金额 && item.领用方式.HasValue && item.领用方式.Value == 领用方式.直接支付) || (item.领用方式.HasValue && item.领用方式.Value == 领用方式.空白支票)) { item.Submitted = true; item.金额 = entity.金额; item.支付凭证号 = entity.凭证.凭证号; item.日期 = entity.凭证.日期; this.Update(rep, item); return; } } throw new InvalidUserOperationException("支票金额、币制或者状态不对,请查证!"); }
public void 收入(IRepository rep, 凭证收支明细 entity) { if ("CNY" != entity.凭证.金额.币制编号) { throw new InvalidUserOperationException("币制不对,请查证!"); } if (!entity.承兑期限.HasValue || string.IsNullOrEmpty(entity.出票银行) || string.IsNullOrEmpty(entity.票据号码) || string.IsNullOrEmpty(entity.付款人编号)) { throw new InvalidUserOperationException("请填写承兑期限、出票银行、票据号码和付款人!"); } 承兑汇票 item = new 承兑汇票(); item.承兑期限 = entity.承兑期限.Value; item.出票银行 = entity.出票银行; item.票据号码 = entity.票据号码; item.付款人编号 = entity.付款人编号; item.Submitted = false; item.金额 = entity.金额.Value; this.Save(rep, item); }
public void 收入(IRepository rep, 凭证收支明细 entity) { // do nothing,不纳入支票管理 if (string.IsNullOrEmpty(entity.票据号码)) { throw new InvalidUserOperationException("请输入支票号码!"); } }
public void 取消支付(IRepository rep, 凭证收支明细 entity) { 转账支票 item = GetFrom票据号码(rep, entity.票据号码); item.Submitted = false; item.支付凭证号 = null; item.日期 = null; this.Update(rep, item); }
public void 支付(IRepository rep, 凭证收支明细 entity) { if (!entity.银行账户编号.HasValue) { throw new InvalidUserOperationException("请填写银行账户!"); } 银行账户 item = rep.Get <银行账户>(entity.银行账户编号.Value); if (item.币制编号 != entity.凭证.金额.币制编号) { throw new InvalidUserOperationException("银行帐户币制不符,请重新填写!"); } }
public void 支付(IRepository rep, 凭证收支明细 entity) { if (!entity.银行账户编号.HasValue) { throw new InvalidUserOperationException("请填写银行账户!"); } 银行账户 item = rep.Get<银行账户>(entity.银行账户编号.Value); if (item.币制编号 != entity.凭证.金额.币制编号) { throw new InvalidUserOperationException("银行帐户币制不符,请重新填写!"); } }
public void 取消收入(IRepository rep, 凭证收支明细 entity) { 承兑汇票 item = GetFrom票据号码(rep, entity.票据号码); if (item == null) { throw new InvalidOperationException("未找到票据号码为" + entity.票据号码 + "的承兑汇票!"); } if (item.Submitted || item.托收贴现 != null) { throw new InvalidUserOperationException("承兑汇票状态不对,请查证!"); } this.Delete(rep, item); }
public void 支付(IRepository rep, 凭证收支明细 entity) { if (string.IsNullOrEmpty(entity.票据号码)) { throw new InvalidUserOperationException("请填写票据号码!"); } 承兑汇票 item = GetFrom票据号码(rep, entity.票据号码); if (item.金额 != entity.金额 || "CNY" != entity.凭证.金额.币制编号 || item.Submitted || item.托收贴现 != null) { throw new InvalidUserOperationException("承兑汇票金额、币制或者状态不对,请查证!"); } item.Submitted = true; this.Update(rep, item); }
public void 收入(IRepository rep, 凭证收支明细 entity) { // do nothing,不纳入支票管理 if (string.IsNullOrEmpty(entity.票据号码)) { throw new InvalidUserOperationException("请输入支票号码!"); } if (!entity.银行账户编号.HasValue) { throw new InvalidUserOperationException("请输入银行账户!"); } 银行账户 yhzh = rep.Get <银行账户>(entity.银行账户编号); if (yhzh == null || yhzh.币制编号 != entity.凭证.金额.币制编号) { throw new InvalidUserOperationException("银行账户输入错误!"); } }
public void 取消收入(IRepository rep, 凭证收支明细 entity) { }
void 承兑汇票Bll_EntityOperating(object sender, OperateArgs <承兑汇票> e) { switch (e.OperateType) { case OperateType.Update: if (e.Entity.托收贴现.HasValue) { if (e.Entity.返回方式.HasValue) { e.Repository.Initialize(e.Entity.费用, e.Entity); if (e.Entity.费用.Count == 0) { decimal?txf = e.Entity.金额 - e.Entity.返回金额; if (!ServiceProvider.GetService <IMessageBox>().ShowYesNo("贴息费为" + txf.Value.ToString("N2") + "元,是否正确?", "确认")) { throw new InvalidUserOperationException("金额填写错误,请重新填写!"); } 非业务费用 fee = new 非业务费用(); fee.费用实体 = e.Entity; fee.费用项编号 = "333"; // 贴息费 fee.金额 = e.Entity.金额 - e.Entity.返回金额; fee.收付标志 = 收付标志.付; fee.相关人编号 = e.Entity.经办人编号; 凭证 pz = new 凭证(); pz.Submitted = true; pz.备注 = e.Entity.备注; pz.出纳编号 = SystemConfiguration.UserName; // e.Entity.返回经手人编号; pz.收支状态 = true; pz.会计编号 = SystemConfiguration.UserName; // e.Entity.返回经手人编号; pz.会计金额 = fee.金额; pz.金额.币制编号 = "CNY"; pz.金额.数额 = pz.会计金额.Value; pz.凭证类别 = 凭证类别.付款凭证; pz.日期 = e.Entity.返回时间.Value; pz.审核人编号 = null; pz.相关人编号 = fee.相关人编号; pz.自动手工标志 = 自动手工标志.承兑汇票; pz.凭证费用明细 = new List <凭证费用明细>(); pz.凭证收支明细 = new List <凭证收支明细>(); pz.审核状态 = true; 凭证费用明细 pzs1 = new 凭证费用明细(); pzs1.费用项编号 = "333"; pzs1.金额 = pz.会计金额; pzs1.凭证 = pz; pzs1.收付标志 = 收付标志.付; pzs1.相关人编号 = pz.相关人编号; pzs1.费用 = new List <费用>(); pzs1.费用.Add(fee); fee.凭证费用明细 = pzs1; pz.凭证费用明细.Add(pzs1); 凭证收支明细 pzs2 = new 凭证收支明细(); pzs2.凭证 = pz; pzs2.金额 = e.Entity.金额; pzs2.收付标志 = 收付标志.付; pzs2.收付款方式 = 收付款方式.银行承兑汇票; pzs2.票据号码 = e.Entity.票据号码; pz.凭证收支明细.Add(pzs2); 凭证收支明细 pzs3 = new 凭证收支明细(); pzs3.凭证 = pz; pzs3.金额 = e.Entity.返回金额; pzs3.收付标志 = 收付标志.收; if (e.Entity.返回方式.Value == 承兑汇票返回方式.银行) { pzs3.收付款方式 = 收付款方式.银行收付; pzs3.银行账户编号 = e.Entity.入款账户编号; } else { pzs3.收付款方式 = 收付款方式.现金; } pz.凭证收支明细.Add(pzs3); (new HdBaseDao <凭证>()).Save(e.Repository, pz); (new HdBaseDao <凭证费用明细>()).Save(e.Repository, pzs1); (new HdBaseDao <凭证收支明细>()).Save(e.Repository, pzs2); (new HdBaseDao <凭证收支明细>()).Save(e.Repository, pzs3); (new 非业务费用Dao()).Save(e.Repository, fee); e.Entity.费用.Add(fee); } } else { e.Repository.Initialize(e.Entity.费用, e.Entity); System.Diagnostics.Debug.Assert(e.Entity.费用.Count <= 1, "承兑汇票费用只有贴息费一项!"); if (e.Entity.费用.Count == 1) { 非业务费用 fee = e.Entity.费用[0] as 非业务费用; 凭证费用明细 pzs1 = fee.凭证费用明细; if (pzs1 != null) { 凭证 pz = pzs1.凭证; e.Repository.Initialize(pz.凭证收支明细, pz); foreach (凭证收支明细 pzs2 in pz.凭证收支明细) { (new HdBaseDao <凭证收支明细>()).Delete(e.Repository, pzs2); } pz.Submitted = false; pz.是否作废 = true; pz.审核状态 = false; pz.收支状态 = false; (new HdBaseDao <凭证>()).Update(e.Repository, pz); (new HdBaseDao <凭证费用明细>()).Update(e.Repository, pzs1); } fee.凭证费用明细 = null; (new 非业务费用Dao()).Delete(e.Repository, fee); e.Entity.费用.Remove(e.Entity.费用[0]); } } } break; } }