using System; using System.Collections.Generic; using System.Data; using System.Data.Common; using System.Text; using DSWeb.Areas.Import.Models.Comm; using DSWeb.Areas.CommMng.Models; using HcUtility.Comm; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using Microsoft.Practices.EnterpriseLibrary.Data; namespace DSWeb.Areas.Import.DAL.Comm { public class MsChFeeDAL { #region 查询费用数据 static public List GetDataList(string strCondition,string USERID) { return GetDataList(strCondition, "", USERID); } static public List GetDataList(string strCondition,string sort,string USERID) { //20160617 增加对机密费用的支持 var isopen = MsBaseInfoDAL.GetUserModuleEnable("modFeenotopen", USERID); var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append("GId,PaymentGID,BsNo,FeeStatus,"); strSql.Append("(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99024 and EnumValueID=ch_fee.FeeStatus) as FeeStatus_Ref"); strSql.Append(",FeeType,"); strSql.Append("(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99020 and EnumValueID=ch_fee.FeeType) as FeeType_Ref"); strSql.Append(",FeeName,"); strSql.Append("FeeName as FeeName_Ref"); strSql.Append(",FeeDescription,CustomerType,CustomerName,"); strSql.Append("(select top 1 CustName from vMsTruckClient where CustName=ch_fee.CustomerName) as CustomerName_Ref"); strSql.Append(",Unit,UnitPrice,Quantity,Amount,Currency,ExChangerate,Reason"); strSql.Append(",Remark,Commissionrate,Settlement,Invoice,OrderAmount,OrderInvoice,SubmitDate"); strSql.Append(",(select showname from [user] where gid=ch_fee.Auditoperator) Auditoperator,AuditDate,EnteroPerator,EnterDate,DebitNo,IsDebit"); strSql.Append(",IsOpen,case IsOpen when '0' then '否' when 1 then '是' else '' end IsOpen_Ref"); strSql.Append(",IsAdvancedpay,Sort,IsInvoice,FeeFrt,IsCrmOrderFee,AuditStatus,InvoiceNum"); strSql.Append(",ChequeNum,WmsOutBsNo,accdate,voucherno"); strSql.Append(",(select ShowName from [user] where GID=ch_fee.EnteroPerator) as OpName"); strSql.Append(",dbo.F_SettlementDate(gid,1) SettlementDate "); strSql.Append(",CARGO_GID,(select name from import_cargo where gid=CARGO_GID) CARGO_NAME "); strSql.Append(" from ch_fee "); if (strCondition.Trim() != String.Empty) { if (isopen == false) { strSql.Append(" where " + strCondition + " and (ISOPEN=0 or EnteroPerator='" + USERID + "')"); }else strSql.Append(" where " + strCondition ); } else { strSql.Append(" where (ISOPEN=0 or EnteroPerator='" + USERID + "')"); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); }else { strSql.Append(" order by sort" ); } return SetData(strSql); } private static List SetData(StringBuilder strSql) { var bodyList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { MsChFee data = new MsChFee(); #region Set DB data to Object data.GId = Convert.ToString(reader["GId"]); data.PaymentGID = Convert.ToString(reader["PaymentGID"]); data.BsNo = Convert.ToString(reader["BsNo"]); data.FeeStatus = Convert.ToDecimal(reader["FeeStatus"]); data.FeeStatus_Ref = Convert.ToString(reader["FeeStatus_Ref"]); data.FeeType = Convert.ToDecimal(reader["FeeType"]); data.FeeType_Ref = Convert.ToString(reader["FeeType_Ref"]); data.FeeName = Convert.ToString(reader["FeeName"]); data.FeeName_Ref = Convert.ToString(reader["FeeName_Ref"]); data.FeeDescription = Convert.ToString(reader["FeeDescription"]); data.CustomerType = Convert.ToString(reader["CustomerType"]); data.CustomerName = Convert.ToString(reader["CustomerName"]); data.CustomerName_Ref = Convert.ToString(reader["CustomerName_Ref"]); data.Unit = Convert.ToString(reader["Unit"]); data.UnitPrice = Convert.ToDecimal(reader["UnitPrice"]); data.Quantity = Convert.ToDecimal(reader["Quantity"]); data.Amount = Convert.ToDecimal(reader["Amount"]); data.Currency = Convert.ToString(reader["Currency"]); data.ExChangerate = Convert.ToDecimal(reader["ExChangerate"]); data.Reason = Convert.ToString(reader["Reason"]); data.Remark = Convert.ToString(reader["Remark"]); data.Commissionrate = Convert.ToDecimal(reader["Commissionrate"]); data.Settlement = Convert.ToDecimal(reader["Settlement"]); if (reader["Invoice"] != DBNull.Value) data.Invoice = Convert.ToDecimal(reader["Invoice"]); data.OrderAmount = Convert.ToDecimal(reader["OrderAmount"]); data.OrderInvoice = Convert.ToDecimal(reader["OrderInvoice"]); if (reader["SubmitDate"] != DBNull.Value) data.SubmitDate = Convert.ToDateTime(reader["SubmitDate"]); data.Auditoperator = Convert.ToString(reader["Auditoperator"]); if (reader["AuditDate"] != DBNull.Value) data.AuditDate = Convert.ToDateTime(reader["AuditDate"]); data.EnteroPerator = Convert.ToString(reader["EnteroPerator"]); if (reader["EnterDate"] != DBNull.Value) data.EnterDate = Convert.ToDateTime(reader["EnterDate"]); data.DebitNo = Convert.ToString(reader["DebitNo"]); data.IsDebit = Convert.ToString(reader["IsDebit"]); data.IsOpen = Convert.ToString(reader["IsOpen"]); data.IsOpen_Ref = Convert.ToString(reader["IsOpen_Ref"]); data.IsAdvancedpay = Convert.ToString(reader["IsAdvancedpay"]); data.Sort = Convert.ToString(reader["Sort"]); data.IsInvoice = Convert.ToString(reader["IsInvoice"]); data.FeeFrt = Convert.ToString(reader["FeeFrt"]); data.IsCrmOrderFee = Convert.ToString(reader["IsCrmOrderFee"]); data.AuditStatus = Convert.ToDecimal(reader["AuditStatus"]); data.InvoiceNum = Convert.ToString(reader["InvoiceNum"]); data.ChequeNum = Convert.ToString(reader["ChequeNum"]); data.WmsOutBsNo = Convert.ToString(reader["WmsOutBsNo"]); data.ACCDATE = Convert.ToString(reader["ACCDATE"]); data.VOUCHERNO = Convert.ToString(reader["VOUCHERNO"]); data.OpName = Convert.ToString(reader["OpName"]); data.CARGO_GID = Convert.ToString(reader["CARGO_GID"]); data.CARGO_NAME = Convert.ToString(reader["CARGO_NAME"]); #endregion bodyList.Add(data); } reader.Close(); } return bodyList; } #endregion #region 提交申请 // 根据handle类型执行更新操作:更新费用信息ch_fee.feestatus和工作流运行表WorkFlowDo信息 // 费用状态值 费用状态主要有11个状态,分别为审核通过(STATUS=0)录入状态(STATUS=1)提交审核(STATUS=2)申请修改 (STATUS=3) // 取消申请(STATUS=5)驳回提交(STATUS=6)驳回申请(STATUS=7)部分结算(STATUS=8)结算完毕(STATUS=9) internal static DBResult Audit(int newStatus, List chfeeList,string USERID,string CanDo) { var result = new DBResult(); var NewStatusList = new List(); result.Data = NewStatusList; foreach (var chFee in chfeeList) { var status = chFee.FeeStatus; var canAudit = true; if (newStatus == 2) { canAudit = status == 1 || status == 6; } else if (newStatus == 0) { canAudit = status == 2 || status == 10; } else if (newStatus == 6) { canAudit = status == 0 || status == 2; } else if (newStatus == 8 || newStatus == 9) { canAudit = status == 0 ; } else if (newStatus == 10) { canAudit = status == 0 || status == 1 || status == 2; } if (!canAudit) { result.Success = false; if (newStatus == 2) result.Message = "只有在'录入状态'和'驳回提交'状态下才能进行 提交审核 操作"; else if (newStatus == 0) { result.Message = "只有在‘提交审核’状态下才能进行 审核通过 操作"; } else if (newStatus == 6) { result.Message = "只有在‘审核通过’或‘提交审核’状态下才能进行 驳回提交 操作"; } else if (newStatus == 8 || newStatus == 9) { result.Message = "只有在‘审核通过’状态下才能进行 结算 操作"; } else if (newStatus == 10) { result.Message = "只有在‘审核通过’或‘提交审核’或‘录入状态’状态下才能进行 提交融资 操作"; } return result; } } var feeBsNoList = new List(); foreach (var msChFee in chfeeList) { var bsNo = msChFee.BsNo; if (!feeBsNoList.Contains(bsNo)) { feeBsNoList.Add(bsNo); } } Database db = DatabaseFactory.CreateDatabase(); //费用名称,结算对象,金额,币别,汇率。 if (newStatus != 6) { foreach (var chFee in chfeeList) { if (chFee.FeeName == "" || chFee.CustomerName == "" || chFee.Amount == 0 || chFee.Currency == "" || chFee.ExChangerate == 0) { result.Success = false; result.Message = "费用名称,结算对象,金额,币别,汇率都必须填写。"; return result; } /* if ((chFee.Currency=="RMB" && chFee.ExChangerate!=1) || (chFee.Currency!="RMB" && chFee.ExChangerate==1) ) { result.Success = false; result.Message = "币别或汇率异常"; return result; }*/ } } var feeGIdList = new List(); foreach (var msChFee in chfeeList) { var GId = msChFee.GId; if (!feeGIdList.Contains(GId)) { feeGIdList.Add(GId); } } //费用已生成凭证后不允许驳回。 foreach (var GId in feeGIdList) { if (newStatus == 6) { string sql = string.Empty; sql = "select case when ISVOU=1 or (ACCDATE<>'' and accdate is not null) "; sql = sql + " then 1 else 0 end FeeStatus from ch_fee where bsno like '%XXH%' and Gid=@gid"; var cmdFeeStatus = db.GetSqlStringCommand(sql); db.AddInParameter(cmdFeeStatus, "@gid", DbType.String, GId); var feeStatus = Convert.ToString(db.ExecuteScalar(cmdFeeStatus)); if (feeStatus == "1") { result.Success = false; result.Message = "费用已经锁定或已生成凭证,不允许驳回或撤回"; return result; } } if (newStatus == 6) { string sql = string.Empty; sql = " select isnull(count(*),0) from ch_fee_do where FEEID=@gid and (isdeleted is null or isdeleted=0) "; sql = sql + " and CATEGORY in (4,5,6) "; //sql = sql + " and (BILLNO like '%AC%' or BILLNO like '%AD%' or BILLNO like '%IA%') "; var cmdFeeStatus = db.GetSqlStringCommand(sql); db.AddInParameter(cmdFeeStatus, "@gid", DbType.String, GId); var feeStatus = Convert.ToInt32(db.ExecuteScalar(cmdFeeStatus)); if (feeStatus >0) { result.Success = false; result.Message = "费用已经进入申请流程,不允许驳回或撤回"; return result; } } } //申请流程,不允许驳回或撤回。 foreach (var msChFee in chfeeList) { var GId = msChFee.GId; var feetype = msChFee.FeeType; if (feetype==1) { string sql = string.Empty; sql = "select count(cfd.gid) _count from ch_fee c "; sql = sql + "left join ch_fee_do cfd on cfd.feeid=c.gid "; sql = sql + " left join ch_fee_recvapplication cfp on cfp.applicant=cfd.gid "; sql = sql + " where c.gid='" + GId + "' "; sql = sql + " and (cfd.isdeleted<>1 or cfd.isdeleted is null) "; var cmdFeeStatus = db.GetSqlStringCommand(sql); db.AddInParameter(cmdFeeStatus, "@gid", DbType.String, GId); var _count = Convert.ToInt16(db.ExecuteScalar(cmdFeeStatus)); if (_count > 0) { result.Success = false; result.Message = "费用已经处于收费申请流程,不允许驳回或撤回"; return result; } } if (feetype == 2) { string sql = string.Empty; sql = "select count(cfd.gid) _count from ch_fee c "; sql = sql + "left join ch_fee_do cfd on cfd.feeid=c.gid "; sql = sql + " left join ch_fee_payapplication cfp on cfp.applicant=cfd.gid "; sql = sql + " where c.gid='" + GId + "' "; sql = sql + " and (cfd.isdeleted<>1 or cfd.isdeleted is null) "; var cmdFeeStatus = db.GetSqlStringCommand(sql); db.AddInParameter(cmdFeeStatus, "@gid", DbType.String, GId); var _count = Convert.ToInt16(db.ExecuteScalar(cmdFeeStatus)); if (_count > 0) { result.Success = false; result.Message = "费用已经处于付费申请流程,不允许驳回或撤回"; return result; } //msChFee if (newStatus == 2 && msChFee.Currency!="RMB"&&(msChFee.FeeName=="预付款"||msChFee.FeeName=="尾款"||msChFee.FeeName=="购货款")) { InsertRecord(msChFee,USERID); } if (newStatus == 6 && msChFee.Currency != "RMB" && (msChFee.FeeName == "预付款" || msChFee.FeeName == "尾款" || msChFee.FeeName == "购货款")) { DeleteRecord(msChFee.GId); } } } //20150727 增加逻辑 /*费用名称分成如下6组 货款、融资款、代理费、税金、冷藏费、其他。 1:应收费用 a. 货款手动审核 b. 融资款手动审核 c. 另外四种提交审核时无条件通过。 2:应付费用 a. 货款手动审核 b. 融资款手动审核 c. 另外四种在提交审核时,如对应组的应收费用总额大于等于应付费用,则自动通过,如小于应付费用,则处于提交审核状态等待审核。 */ /*即:newstatus=2 * 应收费用:代理费、税金、冷藏费、其他 newstatus直接改为0 应付费用:代理费、税金、冷藏费、其他 判断同组应收费用当中(审核通过、结算、部分结算)状态的费用之和 * 如为true则newstatu改为0 */ /*20150930 修改自动审核步骤 * 应收款 货款 改为自动审核 * 应付款 货款 税款均改为利润大于-1即自动审核 * */ const string selectSql = "select FeeStatus from ch_fee where gid=@gid"; var _T_update = "update ch_fee set FeeStatus=@FeeStatus, Auditdate=getdate() where gid=@gid"; if (newStatus==0) { _T_update = "update ch_fee set FeeStatus=@FeeStatus,Auditoperator=@Auditoperator, Auditdate=getdate() where gid=@gid"; } //const string updateSql = const string _T_update; const string enumSql = "select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99024 and EnumValueID=@EnumValueID"; using (DbConnection connection = db.CreateConnection()) { connection.Open(); try { result.Success = true; foreach (var msChFee in chfeeList) { try { DbTransaction transaction = connection.BeginTransaction(); var cmdSelect = db.GetSqlStringCommand(selectSql); db.AddInParameter(cmdSelect, "@gid", DbType.String, msChFee.GId); var feeStatus = db.ExecuteScalar(cmdSelect, transaction); var _newStatus = 1; var canpass = false; // if (CanDo != "True" && newStatus == 2) { if (newStatus == 2) { ///////////// //canpass = CanPass(msChFee); /////////////// //if (canpass) //{ _newStatus = 0; //} //else { // _newStatus = newStatus; //} } else _newStatus = newStatus; var canRetract = true; if (CanDo != "True" && msChFee.FeeStatus == 0 && newStatus == 6) { _newStatus = 6; } var cmdEnum = db.GetSqlStringCommand(enumSql); db.AddInParameter(cmdEnum, "@EnumValueID", DbType.Int32, _newStatus); var newStatusRef = Convert.ToString(db.ExecuteScalar(cmdEnum)); var newstatusItem = new NewStatusmb(); newstatusItem.NewStatus =Convert.ToString(_newStatus); newstatusItem.NewStatusRef = newStatusRef; NewStatusList.Add(newstatusItem); if (feeStatus == null) { throw new MsChFeeDealException("'" + msChFee.FeeName + "'数据还没有保存,不想允许提交,请保存后重试!"); } if (Convert.ToInt32(feeStatus) != msChFee.FeeStatus) { throw new MsChFeeDealException("'"+msChFee.FeeName+"'费用状态已经改变,不想允许提交,请刷新后重试!"); } var cmdUpdate = db.GetSqlStringCommand(_T_update); db.AddInParameter(cmdUpdate, "@FeeStatus", DbType.Int32, _newStatus); db.AddInParameter(cmdUpdate, "@gid", DbType.String, msChFee.GId); if (_newStatus==0) { db.AddInParameter(cmdUpdate, "@Auditoperator", DbType.String, USERID); } db.ExecuteNonQuery(cmdUpdate, transaction); transaction.Commit(); } catch (Exception e) { //transaction.Rollback(); result.Success = false; if (e is MsChFeeDealException) result.Message = e.Message; else result.Message = "执行提交发生未知错误,请重试"; } if (result.Success == false) { break; } result.Message = "提交成功"; result.Data = NewStatusList; } } finally { connection.Close(); } } return result; } private static void SetBillFeeStatus( string bsNo, string feeOpStatus, string updateBsBillSql, string updatePcBillSql, Database db, DbTransaction transaction) { string sql = string.Empty; if (bsNo.StartsWith("TMSBS")) { sql = updateBsBillSql; } else { sql = updatePcBillSql; } var cmdUpdate = db.GetSqlStringCommand(sql); db.AddInParameter(cmdUpdate, "@FeeOpStatus", DbType.String, feeOpStatus); //驳回 db.AddInParameter(cmdUpdate, "@gid", DbType.String, bsNo); db.ExecuteNonQuery(cmdUpdate, transaction); } private static int GetFeeStatusRecordCount(Database db, string bsNo, int feeStatus, DbTransaction transaction) { var cmdRejectCount = db.GetSqlStringCommand("select count(*) from ch_fee where BsNo=@BsNo and FeeStatus=@FeeStatus"); db.AddInParameter(cmdRejectCount, "@BsNo", DbType.String, bsNo); db.AddInParameter(cmdRejectCount, "@FeeStatus", DbType.Int32, feeStatus); var rejectCount = Convert.ToInt32(db.ExecuteScalar(cmdRejectCount, transaction)); return rejectCount; } #region 判断费用是否符合自动通过原则 static public Boolean CanPass(MsChFee msChFee) { //合同信息/商品信息 var strSql = new StringBuilder(); strSql.Append("select isnull(( select sum(amount) from ch_fee where feename in(" ); strSql.Append(" select name from code_fee where FEEGROUP=(select FEEGROUP from code_fee where name='" + msChFee .FeeName+ "')"); strSql.Append( " ) and feetype=1 and feestatus in(0,8,9,10,11)"); strSql.Append(" and bsno='" + msChFee.BsNo + "'),0) ys" ); strSql.Append(" ,isnull(( select sum(amount) from ch_fee where feename in("); strSql.Append(" select name from code_fee where FEEGROUP=(select FEEGROUP from code_fee where name='" + msChFee.FeeName + "')"); strSql.Append(" ) and feetype=2 and feestatus in(0,8,9,10,11)"); strSql.Append(" and bsno='" + msChFee.BsNo + "'),0) yf" ); strSql.Append(" ,isnull((select feegroup from code_fee where name='" + msChFee.FeeName+ "' ),'') feegroup"); Database db = DatabaseFactory.CreateDatabase(); var ys = new Decimal(); var yf = new Decimal(); var feegroup = "其他"; using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { #region Set DB data to Object ys = Convert.ToDecimal(reader["ys"]); yf = Convert.ToDecimal(reader["yf"]); if (Convert.ToString(reader["feegroup"]) != "") { feegroup = Convert.ToString(reader["feegroup"]); } #endregion } reader.Close(); } if (feegroup == "融资款" /*|| feegroup == "货款"*/) { return false; } else if (msChFee.FeeType == 1) { if (ys + Convert.ToDecimal(msChFee.Amount) * Convert.ToDecimal(msChFee.ExChangerate) >= yf - 1) { return true; } else return false; } else if (ys >= yf + Convert.ToDecimal(msChFee.Amount) * Convert.ToDecimal(msChFee.ExChangerate) - 1) { return true; } else { return false; } } static public Boolean CanRetract(MsChFee msChFee) { //合同信息/商品信息 //判断是否允许一条费用撤回提交 var strSql = new StringBuilder(); strSql.Append("select isnull(( select sum(amount) from ch_fee where feename in("); strSql.Append(" select name from code_fee where FEEGROUP=(select FEEGROUP from code_fee where name='" + msChFee.FeeName + "')"); strSql.Append(" ) and feetype=1 and feestatus in(0,8,9,10,11)"); strSql.Append(" and bsno='" + msChFee.BsNo + "'),0) ys"); strSql.Append(" ,isnull(( select sum(amount) from ch_fee where feename in("); strSql.Append(" select name from code_fee where FEEGROUP=(select FEEGROUP from code_fee where name='" + msChFee.FeeName + "')"); strSql.Append(" ) and feetype=2 and feestatus in(0,8,9,10,11)"); strSql.Append(" and bsno='" + msChFee.BsNo + "'),0) yf"); strSql.Append(" ,isnull((select feegroup from code_fee where name='" + msChFee.FeeName + "' ),'') feegroup"); Database db = DatabaseFactory.CreateDatabase(); var ys = new Decimal(); var yf = new Decimal(); var feegroup = "其他"; using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { #region Set DB data to Object ys = Convert.ToDecimal(reader["ys"]); yf = Convert.ToDecimal(reader["yf"]); if (Convert.ToString(reader["feegroup"]) != "") { feegroup = Convert.ToString(reader["feegroup"]); } #endregion } reader.Close(); } return true; } #endregion #endregion #region 查询应收/实收(现金帐目) static public List GetChFeeDo(string condition) { var strSql = new StringBuilder(); strSql.Append(" select fd.gid,f.bsno,f.customername,f.feeid,f.feename,fd.Doamount,f.feetype, "); strSql.Append("(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99020 and EnumValueID=f.FeeType) as FeeType_Ref"); strSql.Append(" fd.createtime from ch_fee_do fd "); strSql.Append(" left join ch_fee f on f.gid=fd.feeid "); if (condition.Trim() != String.Empty) { strSql.Append(" where " + condition); } else { strSql.Clear(); }//防止无参数调用 return SetChFeeDo(strSql); } private static List SetChFeeDo(StringBuilder strSql) { var bodyList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { MsChFeeDo data = new MsChFeeDo(); #region Set DB data to Object data.Gid = Convert.ToString(reader["Gid"]); data.bsno = Convert.ToString(reader["bsno"]); data.customername = Convert.ToString(reader["customername"]); data.feeid = Convert.ToString(reader["feeid"]); data.feename = Convert.ToString(reader["feename"]); data.Doamount = Convert.ToString(reader["Doamount"]); data.feetype = Convert.ToString(reader["feetype"]); data.createtime = Convert.ToString(reader["createtime"]); #endregion bodyList.Add(data); } reader.Close(); } return bodyList; } #endregion static private int InsertRecord ( MsChFee msChFee, string USERID ) { var strSql = new StringBuilder(); strSql.Append(" delete from Import_Payment where gid='" + msChFee.GId + "' "); strSql.Append(" Insert into Import_Payment (gid,amount,CURRENCY,op,buyer,seller,remark,CREATETIME,PAYTIME,FEENAME) "); strSql.Append(" (select cf.gid ,cf.AMOUNT,cf.currency,'" + USERID + "',M.buyer,cf.CUSTOMERNAME,'',getdate() createtime,null,cf.FEENAME "); strSql.Append(" from ch_fee cf left join import_main m on m.contractno=cf.BSNO where cf.gid='" + msChFee.GId + "') "); var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } static private int DeleteRecord(string Feeid) { var strSql = new StringBuilder(); strSql.Append(" delete from import_payment where gid='" + Feeid + "' "); var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } } internal class MsChFeeDealException : Exception { internal MsChFeeDealException(string message) : base(message) { } } }