using System; using System.Data; using System.Collections.Generic; using System.Text; using DSWeb.Areas.Account.Models.Chfee_Invoiceapplication; using DSWeb.Areas.Account.Models.Chfee_do_detail; using DSWeb.Areas.Account.Models.MsOpBill; using DSWeb.Areas.Account.Models.BillChfeeDetail; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.Areas.Account.Models.Chfee_Exrate; using DSWeb.Areas.Account.Models.Chfee_do_Sum; using DSWeb.Areas.CommMng.Models; using DSWeb.EntityDA; using HcUtility.Comm; using DSWeb.Areas.CommMng.DAL; using DSWeb.Areas.Account.Models.Chfee_cheque; using DSWeb.Areas.Account.Models.ChfeeDetail; namespace DSWeb.Areas.Account.DAL.Chfee_Cheque { public class ChChequeDAL { #region 支票列表 static public List GetDataList(string strCondition, string userid = "", string usercode = "", string orgcode = "", string sort = null) { var rangstr = GetRangDAListStr("", userid, usercode, orgcode); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } var strSql = new StringBuilder(); strSql.Append(" SELECT [GID],[CHEQUENO],[BILLNO],[PAYSETTLEBILLNO],[CUSTOMERNAME],[CHEQUECUSTNAME],[CHEQUEMAKETIME]"); strSql.Append(" ,[MAKETIMEUPPER],[YEAR],[MONTH],[DAY],[YEARUPPER],[MONTHUPPER],[DAYUPPER],[PURPOSE],[PASSWORD]"); strSql.Append(" ,[CHEQUECURRENCY],[CHEQUETYPE],[CHEQUEAMOUNT],[CHEQUEAMOUNTUPPER],[BAIYI],[SHIYI],[QIANWAN] "); strSql.Append(" ,[BAIWAN],[SHIWAN],[WAN],[QIAN],[BAI],[SHI],[YUAN],[JIAO],[FEN],[UNIT],[DELETEOPERATOR]"); strSql.Append(",[DELETECAUSE],[DELETETIME],[PRINTTIME],[PRINTUSER],[PAYBANK],[PAYBANKACCOUNT]"); strSql.Append(",[PAYEEBANK],[PAYEEBANKACCOUNT],[PAYEEADR],[ISAUDIT],[AUDITOPERATOR],[AUDITDATE] ,[CREATEUSER]"); strSql.Append(",[CREATETIME],[MODIFIEDUSER] ,[MODIFIEDTIME],BILLSTATUS,REMARK,COMPANYID,BANKID"); strSql.Append(",(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=97006 and EnumValueID=ch_fee_cheque.BILLSTATUS) as BILLSTATUSREF"); strSql.Append(",(select ShowName from [user] where GID=ch_fee_cheque.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=ch_fee_cheque.DELETEOPERATOR) as DELOPERATORNAME"); strSql.Append(",CASE ISPRINT WHEN 1 THEN '是' ELSE '' END as ISPRINT"); strSql.Append(",CASE ISDELETE WHEN 1 THEN '是' ELSE '' END as ISDELETE"); strSql.Append(" FROM ch_fee_cheque where 1=1 "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else { strSql.Append(" order by CHEQUEMAKETIME DESC"); } return SetData(strSql); } static public ChCheque GetData(string condition, string userid = "", string usercode = "", string orgcode = "") { var list = GetDataList(condition,userid,usercode,orgcode,""); if (list.Count > 0) return list[0]; return new ChCheque(); } private static List SetData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { ChCheque data = new ChCheque(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.BILLNO = Convert.ToString(reader["BILLNO"]); data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]); data.CHEQUECUSTNAME = Convert.ToString(reader["CHEQUECUSTNAME"]); data.CHEQUECURRENCY = Convert.ToString(reader["CHEQUECURRENCY"]); data.PAYSETTLEBILLNO = Convert.ToString(reader["PAYSETTLEBILLNO"]); if (reader["CHEQUEMAKETIME"] != DBNull.Value) data.CHEQUEMAKETIME = Convert.ToDateTime(reader["CHEQUEMAKETIME"]).ToString("yyyy-MM-dd"); data.CHEQUENO = Convert.ToString(reader["CHEQUENO"]); data.MAKETIMEUPPER = Convert.ToString(reader["MAKETIMEUPPER"]); data.YEAR = Convert.ToString(reader["YEAR"]); data.MONTH = Convert.ToString(reader["MONTH"]); data.DAY = Convert.ToString(reader["DAY"]); data.YEARUPPER = Convert.ToString(reader["YEARUPPER"]); data.MONTHUPPER = Convert.ToString(reader["MONTHUPPER"]); data.DAYUPPER = Convert.ToString(reader["DAYUPPER"]); data.PURPOSE = Convert.ToString(reader["PURPOSE"]); data.PASSWORD = Convert.ToString(reader["PASSWORD"]); data.CHEQUETYPE = Convert.ToString(reader["CHEQUETYPE"]); if (reader["CHEQUEAMOUNT"] != DBNull.Value) data.CHEQUEAMOUNT = Convert.ToDecimal(reader["CHEQUEAMOUNT"]); data.CHEQUEAMOUNTUPPER = Convert.ToString(reader["CHEQUEAMOUNTUPPER"]); data.BAIYI = Convert.ToString(reader["BAIYI"]); data.SHIYI = Convert.ToString(reader["SHIYI"]); data.QIANWAN = Convert.ToString(reader["QIANWAN"]); data.BAIWAN = Convert.ToString(reader["BAIWAN"]); data.SHIWAN = Convert.ToString(reader["SHIWAN"]); data.WAN = Convert.ToString(reader["WAN"]); data.QIAN = Convert.ToString(reader["QIAN"]); data.BAI = Convert.ToString(reader["BAI"]); data.SHI = Convert.ToString(reader["SHI"]); data.YUAN = Convert.ToString(reader["YUAN"]); data.JIAO = Convert.ToString(reader["JIAO"]); data.FEN = Convert.ToString(reader["FEN"]); if (reader["ISDELETE"] != DBNull.Value) data.ISDELETE = Convert.ToString(reader["ISDELETE"]); data.DELETEOPERATOR = Convert.ToString(reader["DELETEOPERATOR"]); data.DELOPERATORNAME = Convert.ToString(reader["DELOPERATORNAME"]); if (reader["ISPRINT"] != DBNull.Value) data.ISPRINT = Convert.ToString(reader["ISPRINT"]); data.PAYBANK = Convert.ToString(reader["PAYBANK"]); data.PAYBANKACCOUNT = Convert.ToString(reader["PAYBANKACCOUNT"]); data.PAYEEBANK = Convert.ToString(reader["PAYEEBANK"]); data.PAYEEBANKACCOUNT = Convert.ToString(reader["PAYEEBANKACCOUNT"]); data.PAYEEADR = Convert.ToString(reader["PAYEEADR"]); if (reader["ISAUDIT"] != DBNull.Value) data.ISAUDIT = Convert.ToBoolean(reader["ISAUDIT"]); data.AUDITOPERATOR = Convert.ToString(reader["AUDITOPERATOR"]); // data.APPLICANTNAME = Convert.ToString(reader["APPLICANTNAME"]); if (reader["AUDITDATE"] != DBNull.Value) data.AUDITDATE = Convert.ToString(reader["AUDITDATE"]); data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]); data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]); if (reader["BILLSTATUS"] != DBNull.Value) data.BILLSTATUS = Convert.ToInt16(reader["BILLSTATUS"]); data.BILLSTATUSREF = Convert.ToString(reader["BILLSTATUSREF"]); data.REMARK = Convert.ToString(reader["REMARK"]); data.COMPANYID = Convert.ToString(reader["COMPANYID"]); if (reader["CREATETIME"] != DBNull.Value) data.CREATETIME = Convert.ToString(reader["CREATETIME"]); data.BANKID = Convert.ToString(reader["BANKID"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 支票册列表 static public List GetBookDataList(string strCondition,string COMPANYID, string sort = null) { var strSql = new StringBuilder(); strSql.Append(" SELECT [GID],[NAME],[DESCRIPTION],[CREATEUSER],[CREATETIME],[MODIFIEDUSER],[MODIFIEDTIME]"); strSql.Append(" ,[CHEQUECODE],[CHEQUENUMSTART],[CHEQUENUMEND],[CHEQUETOTAL],[DELETEUSER]"); strSql.Append(" ,[DELETETIME],[COMPANYID],[TYPE],[CURRENCY],BANKID"); strSql.Append(",(select ShowName from [user] where GID=ch_fee_chequebooks.CREATEUSER) as CREATEUSERREF"); strSql.Append(",(select ShowName from [user] where GID=ch_fee_chequebooks.DELETEUSER) as DELETEUSERREF"); strSql.Append(",CASE ISLOCK WHEN 1 THEN '是' ELSE '' END as ISLOCK"); strSql.Append(",CASE ISDELETE WHEN 1 THEN '是' ELSE '' END as ISDELETE"); strSql.Append(",(select ACCOUNTNAME from [sys_bank] where GID=ch_fee_chequebooks.BANKID) as ACCOUNTNAME"); strSql.Append(" FROM ch_fee_chequebooks where COMPANYID='" + COMPANYID + "' "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else { strSql.Append(" order by CREATETIME DESC"); } return SetBookData(strSql); } static public ChChequeBook GetBookData(string condition,string companyid) { var list = GetBookDataList(condition, companyid); if (list.Count > 0) return list[0]; return new ChChequeBook(); } private static List SetBookData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { ChChequeBook data = new ChChequeBook(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.NAME = Convert.ToString(reader["NAME"]); data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]); data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]); data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]); if (reader["CREATETIME"] != DBNull.Value) data.CREATETIME = Convert.ToString(reader["CREATETIME"]); data.CHEQUECODE = Convert.ToString(reader["CHEQUECODE"]); data.CHEQUENUMSTART = Convert.ToString(reader["CHEQUENUMSTART"]); data.CHEQUENUMEND = Convert.ToString(reader["CHEQUENUMEND"]); if (reader["CHEQUETOTAL"] != DBNull.Value) data.CHEQUETOTAL = Convert.ToInt32(reader["CHEQUETOTAL"]); data.ISLOCK = Convert.ToString(reader["ISLOCK"]); data.COMPANYID = Convert.ToString(reader["COMPANYID"]); data.TYPE = Convert.ToString(reader["TYPE"]); data.CURRENCY = Convert.ToString(reader["CURRENCY"]); data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]); data.DELETEUSERREF = Convert.ToString(reader["DELETEUSERREF"]); if (reader["ISDELETE"] != DBNull.Value) data.ISDELETE = Convert.ToString(reader["ISDELETE"]); if (reader["DELETETIME"] != DBNull.Value) data.DELETETIME = Convert.ToString(reader["DELETETIME"]); data.COMPANYID = Convert.ToString(reader["COMPANYID"]); data.BANKID = Convert.ToString(reader["BANKID"]); data.ACCOUNTNAME = Convert.ToString(reader["ACCOUNTNAME"]); #endregion headList.Add(data); } reader.Close(); } return headList; } static public List GetBookitemsDataList(string strCondition, string sort = null) { var strSql = new StringBuilder(); strSql.Append(" SELECT [GID],[BOOKID],[CHEQUENUM],[CREATEUSER],[CREATETIME]"); strSql.Append(" ,[DELETEUSER],[DELETETIME],[MAKEOUTTIME],[MAKEOUTUSER]"); strSql.Append(",(select ShowName from [user] where GID=ch_fee_chequeitems.CREATEUSER) as CREATEUSERREF"); strSql.Append(",CASE ISLOCK WHEN 1 THEN '是' ELSE '' END as ISLOCK"); strSql.Append(",CASE ISDELETE WHEN 1 THEN '是' ELSE '' END as ISDELETE"); strSql.Append(",CASE ISMAKEOUT WHEN 1 THEN '是' ELSE '' END as ISMAKEOUT"); strSql.Append(" FROM ch_fee_chequeitems where 1=1 "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else { strSql.Append(" order by CHEQUENUM "); } return SetBookitemsData(strSql); } private static List SetBookitemsData(StringBuilder strSql) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { ChChequeBookdetail data = new ChChequeBookdetail(); #region Set DB data to Object data.GID = Convert.ToString(reader["GID"]); data.BOOKID = Convert.ToString(reader["BOOKID"]); data.CHEQUENUM = Convert.ToString(reader["CHEQUENUM"]); data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]); data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]); if (reader["CREATETIME"] != DBNull.Value) data.CREATETIME = Convert.ToString(reader["CREATETIME"]); data.ISLOCK = Convert.ToString(reader["ISLOCK"]); data.ISDELETE = Convert.ToString(reader["ISDELETE"]); data.DELETEUSER = Convert.ToString(reader["DELETEUSER"]); if (reader["DELETETIME"] != DBNull.Value) data.DELETETIME = Convert.ToString(reader["DELETETIME"]); data.ISMAKEOUT = Convert.ToString(reader["ISMAKEOUT"]); if (reader["MAKEOUTTIME"] != DBNull.Value) data.MAKEOUTTIME = Convert.ToString(reader["MAKEOUTTIME"]); data.MAKEOUTUSER = Convert.ToString(reader["MAKEOUTUSER"]); #endregion headList.Add(data); } reader.Close(); } return headList; } public static DBResult CreateBookitems(ChChequeBook CheBook,string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { if (Convert.ToInt32(CheBook.CHEQUENUMSTART) != 0 && Convert.ToInt32(CheBook.CHEQUENUMEND) != 0) { var cheno = Convert.ToInt32(CheBook.CHEQUENUMSTART); var maxcheno = Convert.ToInt32(CheBook.CHEQUENUMEND); var cmdInsert = db.GetSqlStringCommand( @"insert into ch_fee_chequeitems (GID,BOOKID,CHEQUENUM,CREATEUSER,CREATETIME,ISLOCK ,ISDELETE,ISMAKEOUT) values (@GID,@BOOKID,@CHEQUENUM,@CREATEUSER,@CREATETIME,@ISLOCK ,@ISDELETE,@ISMAKEOUT) "); for (int i=cheno; i<=maxcheno; i++) { cmdInsert.Parameters.Clear(); db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString()); db.AddInParameter(cmdInsert, "@BOOKID", DbType.String, CheBook.GID); db.AddInParameter(cmdInsert, "@CHEQUENUM", DbType.String, Convert.ToString(i)); db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid); db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String,DateTime.Now); db.AddInParameter(cmdInsert, "@ISLOCK", DbType.Boolean, false); db.AddInParameter(cmdInsert, "@ISDELETE", DbType.Boolean, false); db.AddInParameter(cmdInsert, "@ISMAKEOUT", DbType.Boolean, false); db.ExecuteNonQuery(cmdInsert, tran); } } result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "生成过程出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "生成成功"; return result; } public static DBResult LockBookitems(List boday) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { if (boday != null) { var cmdupdate = db.GetSqlStringCommand("update ch_fee_chequeitems set ISLOCK=1 where GID=@GID"); foreach (var enumValue in boday) { cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, enumValue.GID); db.ExecuteNonQuery(cmdupdate, tran); } } result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "锁定出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "锁定成功"; return result; } public static DBResult CancelLockBookitems(List boday) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { if (boday != null) { var cmdupdate = db.GetSqlStringCommand("update ch_fee_chequeitems set ISLOCK=0 where GID=@GID"); foreach (var enumValue in boday) { cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@GID", DbType.String, enumValue.GID); db.ExecuteNonQuery(cmdupdate, tran); } } result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "锁定出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "锁定成功"; return result; } #region 判断是否已使用 public static bool GetMakeOutCount(string BSNO) { var isfee = false; var strSql = new StringBuilder(); strSql.Append("Select count(*) as count "); strSql.Append(" from ch_fee_chequeitems "); strSql.Append(" where ISMAKEOUT=1 and BOOKID='" + BSNO + "'"); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { var evData = Convert.ToInt32(reader["count"]); if (evData > 0) { isfee = true; }; } reader.Close(); } return isfee; } #endregion public static List GetChequeNo(string strCondition) { var strSql = new StringBuilder(); strSql.Append("select i.CHEQUENUM from ch_fee_chequeitems i left join ch_fee_chequebooks b on (i.BOOKID=b.GID)"); strSql.Append(" where (i.ISLOCK=0 or i.ISLOCK is null) and (i.isdelete=0 or i.isdelete is null) and i.ismakeout=0 and (b.isdelete=0 or b.isdelete is null)"); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } strSql.Append(" order by i.CHEQUENUM "); Database db = DatabaseFactory.CreateDatabase(); var evList = new List(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { var evData = new ChInvoiceNo(); evData.INVNO = Convert.ToString(reader["CHEQUENUM"]); evList.Add(evData); } reader.Close(); } return evList; } #endregion public static DBResult DeleteUpBook(string billno, string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdUpdate = db.GetSqlStringCommand( @"UPDATE ch_fee_chequebooks set ISDELETE=1,DELETEUSER=@DELETEUSER,DELETETIME=@DELETETIME where GID=@BILLNO"); cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@BILLNO", DbType.String, billno); db.AddInParameter(cmdUpdate, "@DELETEUSER", DbType.String, billno); db.AddInParameter(cmdUpdate, "@DELETETIME", DbType.String, DateTime.Now); db.ExecuteNonQuery(cmdUpdate, tran); result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "保存成功"; return result; } public static DBResult UpdateCheNoDelete(string billno, string bankid, string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdUpdate = db.GetSqlStringCommand( @"UPDATE ch_fee_chequeitems set ISDELETE=1,DELETEUSER=@DELETEUSER,DELETETIME=@DELETETIME where CHEQUENUM=@BILLNO AND BOOKID IN (SELECT BOOKID FROM ch_fee_chequebooks WHERE BANKID=@BANKID)"); cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@BILLNO", DbType.String, billno); db.AddInParameter(cmdUpdate, "@DELETEUSER", DbType.String, billno); db.AddInParameter(cmdUpdate, "@DELETETIME", DbType.String, DateTime.Now); db.AddInParameter(cmdUpdate, "@BANKID", DbType.String, bankid); db.ExecuteNonQuery(cmdUpdate, tran); result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "保存成功"; return result; } public static DBResult UpdateCheNoUse(string billno,string bankid, string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdUpdate = db.GetSqlStringCommand( @"UPDATE ch_fee_chequeitems set ISMAKEOUT=1,MAKEOUTUSER=@DELETEUSER,MAKEOUTTIME=@DELETETIME where CHEQUENUM=@BILLNO AND BOOKID IN (SELECT BOOKID FROM ch_fee_chequebooks WHERE BANKID=@BANKID)"); cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@BILLNO", DbType.String, billno); db.AddInParameter(cmdUpdate, "@DELETEUSER", DbType.String, billno); db.AddInParameter(cmdUpdate, "@DELETETIME", DbType.String, DateTime.Now); db.AddInParameter(cmdUpdate, "@BANKID", DbType.String, bankid); db.ExecuteNonQuery(cmdUpdate, tran); result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "保存成功"; return result; } public static DBResult UpdateCheNoCancelUse(string billno,string bankid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdUpdate = db.GetSqlStringCommand( @"UPDATE ch_fee_chequeitems set ISMAKEOUT=0,MAKEOUTUSER='',MAKEOUTTIME=null where CHEQUENUM=@BILLNO AND BOOKID IN (SELECT BOOKID FROM ch_fee_chequebooks WHERE BANKID=@BANKID)"); cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@BILLNO", DbType.String, billno); db.AddInParameter(cmdUpdate, "@BANKID", DbType.String, bankid); db.ExecuteNonQuery(cmdUpdate, tran); result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "保存成功"; return result; } public static DBResult UpdatePrint(string billno) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdUpdate = db.GetSqlStringCommand( @"UPDATE ch_fee_cheque set ISPRINT=1 where BILLNO=@BILLNO"); cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@BILLNO", DbType.String, billno); db.ExecuteNonQuery(cmdUpdate, tran); result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "保存成功"; return result; } public static DBResult UpdateDelete(string billno,string userid) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdUpdate = db.GetSqlStringCommand( @"UPDATE ch_fee_cheque set ISDELETE=1,DELETEOPERATOR=@DELETEOPERATOR,DELETETIME=@DELETETIME where BILLNO=@BILLNO"); cmdUpdate.Parameters.Clear(); db.AddInParameter(cmdUpdate, "@DELETEOPERATOR", DbType.String, userid); db.AddInParameter(cmdUpdate, "@DELETETIME", DbType.DateTime, DateTime.Now); db.AddInParameter(cmdUpdate, "@BILLNO", DbType.String, billno); db.ExecuteNonQuery(cmdUpdate, tran); result = new DBResult(); result.Success = true; result.Message = "成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; return result; } } result.Success = true; result.Message = "保存成功"; return result; } #region 提交审核和撤销审核 public static DBResult Lock(String bill) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdupdate = db.GetSqlStringCommand("update ch_fee_cheque set BILLSTATUS=1 where BILLNO=@BILLNO"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@BILLNO", DbType.String, bill); db.ExecuteNonQuery(cmdupdate, tran); result = new DBResult(); result.Success = true; result.Message = "锁定成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "锁定错误,请重试或联系系统管理员"; return result; } } return result; } public static DBResult LockList(String bills) { var result = new DBResult(); var billList = bills.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var bill in billList) { var cmdupdate = db.GetSqlStringCommand("update ch_fee_cheque set BILLSTATUS=1 where BILLNO=@BILLNO"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@BILLNO", DbType.String, bill); db.ExecuteNonQuery(cmdupdate, tran); result = new DBResult(); result.Success = true; result.Message = "锁定成功"; } tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "锁定错误,请重试或联系系统管理员"; return result; } } return result; } public static DBResult UnLock(String bill) { var result = new DBResult(); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdupdate = db.GetSqlStringCommand("update ch_fee_cheque set BILLSTATUS=0 where BILLNO=@BILLNO"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@BILLNO", DbType.String, bill); db.ExecuteNonQuery(cmdupdate, tran); result = new DBResult(); result.Success = true; result.Message = "撤销锁定成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "撤销锁定错误,请重试或联系系统管理员"; return result; } } return result; } public static DBResult UnLockList(String bills) { var result = new DBResult(); var billList = bills.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var bill in billList) { var cmdupdate = db.GetSqlStringCommand("update ch_fee_cheque set BILLSTATUS=0 where BILLNO=@BILLNO"); cmdupdate.Parameters.Clear(); db.AddInParameter(cmdupdate, "@BILLNO", DbType.String, bill); db.ExecuteNonQuery(cmdupdate, tran); result = new DBResult(); result.Success = true; result.Message = "撤销锁定成功"; } tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "撤销锁定错误,请重试或联系系统管理员"; return result; } } return result; } #endregion public static string Amount2STR(string amount,int strindex,string curr) { var result = ""; if (strindex <= amount.Length + 3) { if (strindex >= amount.Length + 1) { if (strindex == amount.Length + 1) { result = "¥"; if (curr == "USD") result = "D"; } else if (strindex == amount.Length + 2) { result = ""; if (curr == "USD") result = "S"; } else if (strindex == amount.Length + 3) { result = ""; if (curr == "USD") result = "U"; } } else { result = amount.Substring(amount.Length - strindex, 1); } } else result = ""; return result; } #region 支票列表权限范围 public static string GetRangDAListStr(string tb, string userid, string username, string companyid) { string str = ""; var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID "); strSql.Append(" from VW_User_Authority "); strSql.Append(" where [NAME]='modCheque' and USERID='" + userid + "' and ISDELETE=0"); string visiblerange = "4"; string operaterange = "4"; string AUTHORITYID = ""; Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { visiblerange = Convert.ToString(reader["VISIBLERANGE"]); operaterange = Convert.ToString(reader["OPERATERANGE"]); AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]); break; } reader.Close(); } if (visiblerange == "4") { str = " (CREATEUSER='" + userid + "')"; } else if (visiblerange == "3") { str = " (CREATEUSER='" + userid + "')"; } else if (visiblerange == "2") { var rangeDa = new RangeDA(); var deptname = rangeDa.GetDEPTNAME(userid); str = " OPERATOR in (select USERID from user_company where COMPANYID='" + companyid + "') and APPLICANT in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')"; } else if (visiblerange == "1") { str = " COMPANYID='" + companyid + "' "; } else if (visiblerange == "5") { var userstr = new StringBuilder(); userstr.Append(" select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1"); Database userdb = DatabaseFactory.CreateDatabase(); using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString())) { str = ""; while (reader.Read()) { if (str == "") { str = " (COMPANYID='" + Convert.ToString(reader["COMPANYID"]) + "'"; } else { str = str + " or COMPANYID='" + Convert.ToString(reader["COMPANYID"]) + "'"; }; } str = str + ")"; reader.Close(); } } else if (visiblerange == "6") { var userstr = new StringBuilder(); userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1"); Database userdb = DatabaseFactory.CreateDatabase(); using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString())) { str = ""; while (reader.Read()) { if (str == "") { str = " (CREATEUSER='" + Convert.ToString(reader["OPID"]) + "'"; } else { str = str + " or CREATEUSER='" + Convert.ToString(reader["OPID"]) + "' "; }; } str = str + ")"; reader.Close(); } } else if (visiblerange == "0") { str = " 1=1 "; } return str; } #endregion } }