| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using CoreFS.CA06;
- using DbHelp = Core.StlMes.Client.Sale.DbHelp;
- namespace Core.StlMes.Client.Sale.SaleFundMgt.FundBLL.FundPactAccount
- {
- public class FundPactAccountMgt:FundBaseBLL.FundBaseBLL
- {
- private OpeBase _ob;
- public FundPactAccountMgt(OpeBase ob)
- : base(ob)
- {
- _ob = ob;
- }
-
- private Model.SEL_FUND_PACT_ACCOUNT GetFundPactAccount(string balansub, string buyercode, string secondeaccount)
- {
- Model.SEL_FUND_PACT_ACCOUNT acct = new Model.SEL_FUND_PACT_ACCOUNT();
- acct.BALANCESUBJECT = balansub;
- acct.BUYERCODE = buyercode;
- acct.SECONDACCOUNT = secondeaccount;
- return acct;
- }
-
- /// <summary>
- /// 通过结算单位,客户编码,二级账户返回其合同账户信息
- /// </summary>
- /// <param name="balansub"></param>
- /// <param name="buyercode"></param>
- /// <param name="secondeaccount"></param>
- /// <returns></returns>
- public DataSet GetFundPactAccountByBalanceAndBuyercodeAndSecondAccount(string balansub,string buyercode,string secondeaccount)
- {
- DataSet ds = this.GetFundPactAccountInstance().
- GetSelFundPactAccountByBalAndBuyercodeAndSecAccount(GetFundPactAccount(balansub,buyercode,secondeaccount),true);
- return ds;
- }
- /// <summary>
- /// 通过结算单位,客户编码,二级账户返回其合同账户信息,并带标题
- /// </summary>
- /// <param name="balansub"></param>
- /// <param name="buyercode"></param>
- /// <param name="secondeaccount"></param>
- /// <returns></returns>
- public DataSet GetFundPactAccountByBalanceAndBuyercodeAndSecondAccountWithCaption(string balansub, string buyercode, string secondeaccount)
- {
- DataSet ds = this.GetFundPactAccountInstance().
- GetSelFundPactAccountByBalAndBuyercodeAndSecAccount(GetFundPactAccount(balansub, buyercode, secondeaccount),true);
- return ds;
- }
- /// <summary>
- /// 通过结算单位,客户编码,二级账户,合同号,返回其所有信息
- /// </summary>
- /// <param name="detail"></param>
- /// <returns></returns>
- public DataSet GetFundPactUsedDetail(Model.SEL_FUND_PACT_FUNDUSEDETAIL detail)
- {
- return base.GetFundPactUsedDetailInstance().GetSelFundPactFundUsedDetailByBalAndBuyercodeAndSecAccountAndPactno(detail);
- }
- public DataSet GetFundPactUsedDetail(string balansub, string buyercode, string secondeaccount, string pactno)
- {
- Model.SEL_FUND_PACT_FUNDUSEDETAIL detal = new Model.SEL_FUND_PACT_FUNDUSEDETAIL();
- detal.BALANCESUBJECT = balansub;
- detal.BUYERCODE = buyercode;
- detal.SECONDACCOUNT = secondeaccount;
- detal.PACTNO = pactno;
- return GetFundPactUsedDetail(detal);
- }
- /// <summary>
- /// 返回有效数据,并按TRANS_TIME时间降序
- /// </summary>
- /// <param name="detail"></param>
- /// <returns></returns>
- public DataSet GetFundPactUsedDetailValid(Model.SEL_FUND_PACT_FUNDUSEDETAIL detail)
- {
- DataSet ds = GetFundPactUsedDetail(detail);
- DataSet dsvalid = Util.DataSetUtil.GetDataSetByRowFilter(ds, " ISMONEYVALID = '0' ");
- DataSet dsDesc = Util.DataSetUtil.ReturnDsByDescOrderFromSourceDataSet(dsvalid, "TRANS_TIME");
- return dsDesc;
- }
- /// <summary>
- /// 通过结算单位,客户编码,二级账户,合同号,返回有效数据,并按TRANS_TIME时间降序
- /// </summary>
- /// <param name="detail"></param>
- /// <returns></returns>
- public DataSet GetFundPactUsedDetailValid(string balansub, string buyercode, string secondeaccount,string pactno)
- {
- Model.SEL_FUND_PACT_FUNDUSEDETAIL detal = new Model.SEL_FUND_PACT_FUNDUSEDETAIL();
- detal.BALANCESUBJECT = balansub;
- detal.BUYERCODE = buyercode;
- detal.SECONDACCOUNT = secondeaccount;
- detal.PACTNO = pactno;
- return GetFundPactUsedDetailValid(detal);
- }
- /// <summary>
- /// 通过结算单位,客户单位,二级单位,合同号返回其资金转移记录
- /// </summary>
- /// <param name="balansub"></param>
- /// <param name="buyercode"></param>
- /// <param name="secondeaccount"></param>
- /// <param name="pactno"></param>
- /// <returns></returns>
- public DataSet GetSelFundPactTransDetailByBalAndBuyercodeAndSecondAndPactno(string balansub, string buyercode, string secondeaccount, string pactno)
- {
- return base.GetFundPactTransDetailInstance().GetSelFundPactTransDetailByBalAndBuyercodeAndSecondAndPactno
- (balansub,buyercode,secondeaccount,pactno);
- }
-
- /// <summary>
- /// 通过结算单位,客户编码,二级单位返回其实体列表
- /// </summary>
- /// <param name="balansub"></param>
- /// <param name="buyercode"></param>
- /// <param name="secondeaccount"></param>
- /// <returns></returns>
- public List<Model.SEL_FUND_PACT_ACCOUNT> GetFundPactAccountModelListByBalanceAndBuyercodeAndSecondAccount(string balansub, string buyercode, string secondeaccount)
- {
- return this.GetFundPactAccountInstance().
- GetSelFundPactAccountModelListByBalAndBuyercodeAndSecAccount(GetFundPactAccount(balansub, buyercode, secondeaccount));
-
- }
- public void CreatePactAccountInfo(string balanceSubject,string buyercode,string secondAccount,string pactno,out string errMsg)
- {
- errMsg = "";
- Model.SEL_FUND_PACT_ACCOUNT acct =
- GetFundPactAccount(balanceSubject,buyercode,secondAccount,pactno);
- // 原则上同结算单位,同客户,一个合同号只能在一个二级账户,不能多个二级账户分布
- List< Model.SEL_FUND_PACT_ACCOUNT> acctmodel = this.GetFundPactAccountInstance().GetSelFundPactAccountByBalanceAndPactno(balanceSubject,buyercode,pactno);
- if (acctmodel != null)
- {
- if (acctmodel.Count > 0)
- {
- errMsg = "账号:" + pactno + "已经存在";
- return;
- }
- }
- this.GetFundPactAccountInstance().CreateFundPactAccount(acct,out errMsg);
- }
- /// <summary>
- /// 创建合同账户,不做错误提示
- /// 有则直接退出
- /// </summary>
- /// <param name="balanceSubject"></param>
- /// <param name="buyercode"></param>
- /// <param name="secondAccount"></param>
- /// <param name="pactno"></param>
- public void CreatePactAccountInfoWithNoErrMsg(string balanceSubject, string buyercode, string secondAccount, string pactno)
- {
- string errMsg = "";
- Model.SEL_FUND_PACT_ACCOUNT acct =
- GetFundPactAccount(balanceSubject, buyercode, secondAccount, pactno);
- // 原则上同结算单位,同客户,一个合同号只能在一个二级账户,不能多个二级账户分布
- List<Model.SEL_FUND_PACT_ACCOUNT> acctmodel = this.GetFundPactAccountInstance().GetSelFundPactAccountByBalanceAndPactno(balanceSubject, buyercode, pactno);
- if (acctmodel != null)
- {
- if (acctmodel.Count > 0)
- {
- return;
- }
- }
- this.GetFundPactAccountInstance().CreateFundPactAccount(acct, out errMsg);
- }
- /// <summary>
- /// 删除合同账户
- /// </summary>
- /// <param name="balanceSubject"></param>
- /// <param name="buyercode"></param>
- /// <param name="secondAccount"></param>
- /// <param name="pactno"></param>
- /// <param name="errMsg"></param>
- public void DeletePactAccount(string balanceSubject, string buyercode, string secondAccount, string pactno, out string errMsg)
- {
- errMsg = "";
- if ( !FundVariable.FundConstVariable.isDefaultAccountCanBeDelete && pactno == FundVariable.FundConstVariable.defaultPactLevelAccount)
- {
- errMsg = "默认账号,不允许删除";
- return;
- }
- Model.SEL_FUND_PACT_ACCOUNT acct = this.GetFundPactAccount(balanceSubject,buyercode,secondAccount,pactno);
- // 检查合同账号信息,只要总资金大于0,则不允许删除
- Model.SEL_FUND_PACT_ACCOUNT pactact =
- this.GetFundPactAccountInstance().GetSelFundPactAccountModel(acct);
- if (pactact != null)
- {
- if (pactact.TOTALMONEY > 0)
- {
- errMsg = "账户资金不为0";
- return;
- }
- }
- this.GetFundPactAccountInstance().DeleteFundPactAccount(acct,out errMsg);
-
- }
- }
- }
|