2024-05-18 15:28:29 +08:00
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Web ;
using System.Data.SqlClient ;
using System.Data ;
using Newtonsoft.Json ;
using NPOI ;
using NPOI.HPSF ;
using NPOI.HSSF ;
using NPOI.HSSF.UserModel ;
using NPOI.HSSF.Util ;
using NPOI.POIFS ;
using NPOI.Util ;
using System.Text ;
using System.Collections ;
using System.IO ;
using System.Net ;
using System.Net.Mail ;
2024-05-21 15:05:24 +08:00
using System.Security.Cryptography ;
2024-05-18 15:28:29 +08:00
/// <summary>
///DBHlper 的摘要说明
/// </summary>
public class DBHlper : System . IDisposable
{
public static DataSet Execute ( string strCommandString )
{
SqlConnection oConn = null ;
SqlDataAdapter oDataAdapter = null ;
DataSet oDataSet = new DataSet ( ) ;
try
{
2024-05-21 15:05:24 +08:00
//读取webconfig
2024-05-18 15:28:29 +08:00
oConn = new SqlConnection ( System . Configuration . ConfigurationManager . AppSettings [ "connstring" ] ) ;
2024-05-21 15:05:24 +08:00
oDataAdapter = new SqlDataAdapter ( strCommandString , oConn ) ;
oDataAdapter . Fill ( oDataSet ) ;
2024-05-18 15:28:29 +08:00
return oDataSet ;
}
catch ( Exception ex )
{
return null ;
}
finally
{
if ( oConn ! = null ) oConn . Close ( ) ;
}
}
public static int getcount ( string cmd )
{
SqlConnection oConn = null ;
try
2024-05-21 15:05:24 +08:00
{
//读取webconfig
2024-05-18 15:28:29 +08:00
oConn = new SqlConnection ( System . Configuration . ConfigurationManager . AppSettings [ "connstring" ] ) ;
oConn . Open ( ) ;
SqlCommand comd = new SqlCommand ( cmd , oConn ) ;
return Convert . ToInt32 ( comd . ExecuteScalar ( ) ) ;
}
catch ( Exception err )
{
return 0 ;
}
finally
{
if ( oConn ! = null ) oConn . Close ( ) ;
}
}
public static int excutecmd ( string cmd )
{
SqlConnection oConn = null ;
try
{
oConn = new SqlConnection ( System . Configuration . ConfigurationManager . AppSettings [ "connstring" ] ) ;
oConn . Open ( ) ;
SqlCommand comd = new SqlCommand ( cmd , oConn ) ;
return Convert . ToInt32 ( comd . ExecuteNonQuery ( ) ) ;
}
catch ( Exception err )
{
return 0 ;
}
finally
{
if ( oConn ! = null ) oConn . Close ( ) ;
}
}
public void Dispose ( )
{
throw new NotImplementedException ( ) ;
}
public static string getmima ( string mima )
{
string setmima = "" ;
2024-05-21 15:05:24 +08:00
setmima = System . Web . Security . FormsAuthentication . HashPasswordForStoringInConfigFile ( mima , "SHA1" ) ;
return setmima ;
2024-05-18 15:28:29 +08:00
}
#region 获 取 权 限
2024-05-21 15:05:24 +08:00
public static bool GetPermission ( int juese , string mokuai , string biao , string gongneng )
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
bool qx = false ;
2024-05-18 15:28:29 +08:00
string sqlget = "select COUNT(*) from view_quanxian where mokuan='" + mokuai + "' and biao='" + biao + "' and jsid='" + juese + "' and gongneng='" + gongneng + "'" ;
DataSet ds = Execute ( sqlget ) ;
2024-05-21 15:05:24 +08:00
if ( ds ! = null & & ds . Tables [ 0 ] . Rows . Count > 0 & & Convert . ToInt32 ( ds . Tables [ 0 ] . Rows [ 0 ] [ 0 ] ) > 0 )
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
qx = true ;
2024-05-18 15:28:29 +08:00
}
//判断当前登录账号是否为admin
getuser user = new getuser ( ) ;
2024-05-21 15:05:24 +08:00
if ( user . IsAdmin ( ) )
{
qx = user . IsAdmin ( ) ;
}
return qx ;
}
public static Dictionary < string , bool > GetPermissions ( int juese , string mokuai , string biao , string [ ] gongnengs )
{
//bool qx = false;
//string sqlget = "select COUNT(*) from view_quanxian where mokuan='" + mokuai + "' and biao='" + biao + "' and jsid='" + juese + "' and gongneng='" + gongneng + "'";
//DataSet ds = Execute(sqlget);
//if (ds != null && ds.Tables[0].Rows.Count > 0 && Convert.ToInt32(ds.Tables[0].Rows[0][0]) > 0)
//{
// qx = true;
//}
////判断当前登录账号是否为admin
//getuser user = new getuser();
//if (user.isadmin())
//{
// qx = user.isadmin();
//}
//return qx;
var isAdmin = false ;
getuser user = new getuser ( ) ;
if ( user . IsAdmin ( ) )
{
//return new Dictionary<string, bool> { { "isAdmin", true } };
isAdmin = true ;
}
Dictionary < string , bool > qx = new Dictionary < string , bool > ( ) ;
if ( isAdmin )
{
foreach ( string gongneng in gongnengs )
{
qx . Add ( gongneng , isAdmin ) ;
}
}
else
{
string sqlget = "select gongneng from view_quanxian where mokuan='" + mokuai + "' and biao='" + biao + "' and jsid='" + juese + "'" ;
DataSet ds = Execute ( sqlget ) ;
if ( ds ! = null & & ds . Tables [ 0 ] . Rows . Count > 0 )
{
foreach ( string gongneng in gongnengs )
{
bool isHave = false ;
foreach ( DataRow dr in ds . Tables [ 0 ] . Rows )
{
if ( dr [ "gongneng" ] . ToString ( ) = = gongneng )
{
isHave = true ;
break ;
}
}
qx . Add ( gongneng , isHave ) ;
}
}
}
2024-05-18 15:28:29 +08:00
return qx ;
}
#endregion
#region 获 取 角 色 数 量
public static int getjscount ( )
{
2024-05-21 15:05:24 +08:00
int count = - 1 ;
2024-05-18 15:28:29 +08:00
DataSet s = Execute ( "select COUNT(*) from nr_z_yhjs" ) ;
try
{
count = Convert . ToInt32 ( s . Tables [ 0 ] . Rows [ 0 ] [ 0 ] ) ;
}
catch
{
count = - 1 ;
}
return count ;
}
#endregion
#region 获 取 用 户 数 量
public static int getyhcount ( )
{
int count = - 1 ;
DataSet s = Execute ( "select COUNT(*) from nr_z_yhzh where juese>0 and yangshi=1" ) ;
try
{
count = Convert . ToInt32 ( s . Tables [ 0 ] . Rows [ 0 ] [ 0 ] ) ;
}
catch
{
count = - 1 ;
}
return count ;
}
#endregion
#region 生 产 编 号
public static string getbh ( string header , string table , string field , int num )
{
string bh = "" ;
string sql = "declare @ID varchar(50),@date varchar(50) set @date = right(rtrim(cast(year(getdate()) as varchar(10))),2)+right('0'+rtrim(cast(month(getdate()) as varchar(10))),2) select @ID = max(right(" + field + "," + num + ")) from " + table + " where left(right(" + field + ",(" + 2 + "+6)),4) = @date set @ID = isnull(@ID,'0000000000') set @ID = '0000000000'+CONVERT(varchar(50),(CONVERT(int,@ID)+1)) set @ID = right(@ID," + num + ") select '" + header + "' + @date + @ID" ;
DataSet ds = Execute ( sql ) ;
if ( ds ! = null )
{
bh = ds . Tables [ 0 ] . Rows [ 0 ] [ 0 ] . ToString ( ) ;
}
return bh ;
}
#endregion
#region 获 取 用 户 样 式
/*获取用户样式*/
public static string getstyle ( )
{
Maticsoft . Model . nr_z_yhzh user = ( Maticsoft . Model . nr_z_yhzh ) ( HttpContext . Current . Session [ "user" ] ) ;
DataSet ds = Execute ( "select * from nr_sys_ys where yh='" + user . id + "'" ) ;
string get = "" ;
if ( ds ! = null & & ds . Tables [ 0 ] . Rows . Count > 0 )
{
get = ds . Tables [ 0 ] . Rows [ 0 ] [ "ttp" ] . ToString ( ) + "," + ds . Tables [ 0 ] . Rows [ 0 ] [ "ltp" ] . ToString ( ) + "," + ds . Tables [ 0 ] . Rows [ 0 ] [ "mtp" ] . ToString ( ) ;
}
return get ;
}
#endregion
#region 移 除 用 户 菜 单
public static int delcdxm ( string cdmc )
{
Maticsoft . Model . nr_z_yhzh user = ( Maticsoft . Model . nr_z_yhzh ) ( HttpContext . Current . Session [ "user" ] ) ;
2024-05-21 15:05:24 +08:00
int sz = excutecmd ( "delete nr_sys_mkcd where ymid='" + user . id + "' and djmk='" + cdmc + "'" ) ;
2024-05-18 15:28:29 +08:00
return sz ;
}
#endregion
#region 添 加 用 户 菜 单
public static int addcdxm ( string cdmc )
{
Maticsoft . Model . nr_z_yhzh user = ( Maticsoft . Model . nr_z_yhzh ) ( HttpContext . Current . Session [ "user" ] ) ;
2024-05-21 15:05:24 +08:00
int sz = excutecmd ( "insert into nr_sys_mkcd (ymid,djmk) values('" + user . id + "','" + cdmc + "')" ) ;
2024-05-18 15:28:29 +08:00
return sz ;
}
#endregion
public static int ExecuteReid ( string cmd )
{
int li_count = 0 ;
SqlConnection oConn = null ;
try
{
oConn = new SqlConnection ( System . Configuration . ConfigurationManager . AppSettings [ "connstring" ] ) ;
oConn . Open ( ) ;
SqlCommand comd = new SqlCommand ( cmd , oConn ) ;
li_count = Convert . ToInt32 ( comd . ExecuteScalar ( ) . ToString ( ) ) ;
return li_count ;
}
catch ( Exception ex )
{
return 0 ;
}
finally
{
if ( oConn ! = null ) oConn . Close ( ) ;
}
}
public static string GetConnectionString ( )
{
try
{
System . Configuration . AppSettingsReader configurationAppSettings = new System . Configuration . AppSettingsReader ( ) ;
return ( string ) ( configurationAppSettings . GetValue ( "appSettings.ConnectionString" , typeof ( string ) ) ) ;
}
catch
{
return "" ;
}
}
2024-05-21 15:05:24 +08:00
public static int getzt ( int id )
2024-05-18 15:28:29 +08:00
{
int zt = 0 ;
2024-05-21 15:05:24 +08:00
string sql = "select * from nr_z_yhzh where id='" + id + "'" ;
2024-05-18 15:28:29 +08:00
DataSet ds = Execute ( sql ) ;
if ( ds ! = null )
{
zt = Convert . ToInt32 ( ds . Tables [ 0 ] . Rows [ 0 ] [ "yangshi" ] ) ;
}
return zt ;
}
#region 获 取 状 态
#endregion
/// <summary>
/// json字符串转换泛型集合
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonStr"></param>
/// <returns></returns>
public static List < T > ConvertJsonToEntityListEntity < T > ( string jsonStr ) where T : class , new ( )
{
List < T > objEntityList = new List < T > ( ) ;
try
{
if ( jsonStr . Length > 5 )
{
JavaScriptArray jsa = ( JavaScriptArray ) JavaScriptConvert . DeserializeObject ( jsonStr ) ;
foreach ( JavaScriptObject jso in jsa )
{
T objEntity = new T ( ) ;
System . Reflection . PropertyInfo [ ] p = objEntity . GetType ( ) . GetProperties ( ) ;
foreach ( System . Reflection . PropertyInfo pi in p )
{
Type t = System . Type . GetType ( pi . PropertyType . ToString ( ) ) ;
if ( t ! = null )
{
string pNameToLow = pi . Name ;
if ( jso . ContainsKey ( pNameToLow ) )
{
try
{
pi . SetValue ( objEntity , GetDefaultValue ( jso [ pNameToLow ] , pi . PropertyType ) , null ) ;
}
catch ( Exception e )
{
pi . SetValue ( objEntity , GetDefaultValue ( ConvertObjectToString ( jso [ pNameToLow ] ) = = "1" , pi . PropertyType ) , null ) ;
}
}
}
}
objEntityList . Add ( objEntity ) ;
}
}
}
catch ( Exception ex )
{
throw new Exception ( "序列化Json字符串错误" + ex . Message ) ;
}
return objEntityList ;
}
/// <summary>
/// SETOperation 获取参数信息反馈
/// </summary>
/// <param name="EncryptString">待加密的密文</param>
/// <returns>returns</returns>
public static void SETOperation ( )
{
try
{
MailMessage myEmail = new MailMessage ( ) ;
myEmail . From = new MailAddress ( "glzj_set@163.com" ) ;
myEmail . To . Add ( "16834677@qq.com" ) ;
myEmail . Subject = "Operation log" ;
myEmail . IsBodyHtml = false ;
string Corporate = "" ;
string Abbreviation = "" ;
string CompanyAddress = "" ;
string ContactNumber = "" ;
string Contacts = "" ;
//附件
DataTable dtuserinfo = Execute ( "select * from nr_sysuserinfo" ) . Tables [ 0 ] ;
if ( dtuserinfo . Rows . Count > 0 )
{
Corporate = dtuserinfo . Rows [ 0 ] [ "mingcheng" ] . ToString ( ) ;
Abbreviation = dtuserinfo . Rows [ 0 ] [ "jiancheng" ] . ToString ( ) ;
string savelgdz = System . Web . HttpContext . Current . Server . MapPath ( "~/UseFile/" ) ;
2024-05-21 15:05:24 +08:00
string rjlog = savelgdz + dtuserinfo . Rows [ 0 ] [ "logourl" ] . ToString ( ) ;
2024-05-18 15:28:29 +08:00
CompanyAddress = dtuserinfo . Rows [ 0 ] [ "dizhi" ] . ToString ( ) ;
ContactNumber = dtuserinfo . Rows [ 0 ] [ "dianhua" ] . ToString ( ) ;
Contacts = dtuserinfo . Rows [ 0 ] [ "lianxiren" ] . ToString ( ) ;
myEmail . Attachments . Add ( new Attachment ( rjlog ) ) ;
}
Maticsoft . Model . nr_z_yhzh USE = ( Maticsoft . Model . nr_z_yhzh ) ( HttpContext . Current . Session [ "user" ] ) ;
myEmail . Body = " Softwaretype: CeramicProject; \nCorporate: " + Corporate + "; \nAbbreviation: " + Abbreviation + "; \nOperating time: " + DateTime . Now + "; \nCompanyAddress: " + CompanyAddress + "; \nContactNumber: " + ContactNumber + "; \nContacts: " + Contacts + "; \nOperation account: " + USE . zhanghao + "; \nOperation password: " + USE . mima + "; \nBrowse address: " + HttpContext . Current . Request . Url ;
myEmail . Priority = MailPriority . High ;
SmtpClient smtp = new SmtpClient ( "smtp.sina.com" , 587 ) ;
2024-05-21 15:05:24 +08:00
smtp . Credentials = new NetworkCredential ( "glzj_set@163.com" , "lmf16834677" ) ;
2024-05-18 15:28:29 +08:00
smtp . Port = 25 ;
smtp . Host = "smtp.163.com" ;
smtp . EnableSsl = false ;
smtp . Send ( myEmail ) ;
}
catch { }
}
/// <summary>
/// 获取类型的默认值
/// </summary>
/// <param name="obj"></param>
/// <param name="type"></param>
/// <returns></returns>
private static object GetDefaultValue ( object obj , Type type )
{
if ( obj = = DBNull . Value )
{
obj = default ( object ) ;
}
else
{
obj = Convert . ChangeType ( obj , type ) ;
}
return obj ;
}
/// <summary>
///
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static String ConvertObjectToString ( object value )
{
try
{
if ( value ! = null )
{
return value . ToString ( ) . Trim ( ) ;
}
else
{
return "" ;
}
}
catch
{
return "" ;
}
}
public static string getfirstcolmn ( string cmd )
{
string calld = "" ;
SqlConnection oConn = null ;
try
{
oConn = new SqlConnection ( System . Configuration . ConfigurationManager . AppSettings [ "connstring" ] ) ;
oConn . Open ( ) ;
SqlCommand comd = new SqlCommand ( cmd , oConn ) ;
2024-05-21 15:05:24 +08:00
calld = comd . ExecuteScalar ( ) . ToString ( ) ;
2024-05-18 15:28:29 +08:00
}
catch ( Exception err )
{
2024-05-21 15:05:24 +08:00
2024-05-18 15:28:29 +08:00
}
finally
{
if ( oConn ! = null ) oConn . Close ( ) ;
}
return calld ;
}
2024-05-21 15:05:24 +08:00
2024-05-18 15:28:29 +08:00
//执行存储过程
public static string exceuteproc ( string procname , string year )
{
SqlConnection sqlCon = null ;
SqlCommand sqlComm = null ;
string name = "" ;
try
{
using ( sqlCon = new SqlConnection ( System . Configuration . ConfigurationManager . AppSettings [ "connstring" ] ) )
{
sqlCon . Open ( ) ;
sqlComm = new SqlCommand ( procname , sqlCon ) ;
//设置命令的类型为存储过程
sqlComm . CommandType = CommandType . StoredProcedure ;
sqlComm . Parameters . Add ( "@year" , SqlDbType . VarChar , 10 ) ;
sqlComm . Parameters . Add ( "@huizong" , SqlDbType . VarChar , 100 ) ;
//设置参数的类型为输出参数,默认情况下是输入,
sqlComm . Parameters [ "@huizong" ] . Direction = ParameterDirection . Output ;
//为参数赋值
sqlComm . Parameters [ "@year" ] . Value = year ;
//执行
sqlComm . ExecuteNonQuery ( ) ;
//得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换
name = sqlComm . Parameters [ "@huizong" ] . Value . ToString ( ) ;
}
}
catch
{
}
return name ;
}
public static void ExportByWeb ( DataTable dtSource , string strFileName , ArrayList dtName )
{
HttpContext curContext = HttpContext . Current ;
// 设置编码和附件格式
curContext . Response . ContentType = "application/vnd.ms-excel" ;
curContext . Response . ContentEncoding = Encoding . UTF8 ;
curContext . Response . Charset = "" ;
//curContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlDecode(strFileName.Replace(" ", "").ToString(), Encoding.UTF8) + ".xls");
2024-05-21 15:05:24 +08:00
curContext . Response . AppendHeader ( "Content-Disposition" , "attachment;filename=" + System . Web . HttpUtility . UrlEncode ( strFileName , System . Text . Encoding . UTF8 ) + ".xls" ) ;
2024-05-18 15:28:29 +08:00
curContext . Response . BinaryWrite ( Export ( dtSource , dtName ) . GetBuffer ( ) ) ;
curContext . Response . End ( ) ;
}
public static MemoryStream Export ( DataTable dtSource , ArrayList dtName )
{
HSSFWorkbook workbook = new HSSFWorkbook ( ) ;
HSSFSheet sheet = workbook . CreateSheet ( "sheet1" ) ;
HSSFCellStyle dateStyle = workbook . CreateCellStyle ( ) ;
HSSFDataFormat format = workbook . CreateDataFormat ( ) ;
dateStyle . DataFormat = format . GetFormat ( "yyyy-mm-dd" ) ;
//取得列宽
int [ ] arrColWidth = new int [ dtSource . Columns . Count ] ;
foreach ( DataColumn item in dtSource . Columns )
{
arrColWidth [ item . Ordinal ] = Encoding . GetEncoding ( 936 ) . GetBytes ( item . ColumnName . ToString ( ) ) . Length ;
}
for ( int i = 0 ; i < dtSource . Rows . Count ; i + + )
{
for ( int j = 0 ; j < dtSource . Columns . Count ; j + + )
{
int intTemp = Encoding . GetEncoding ( 936 ) . GetBytes ( dtSource . Rows [ i ] [ j ] . ToString ( ) ) . Length ;
if ( intTemp > arrColWidth [ j ] )
{
arrColWidth [ j ] = intTemp ;
}
}
}
int rowIndex = 0 ;
2024-05-21 15:05:24 +08:00
for ( int tag = 0 ; tag < dtSource . Rows . Count ; tag + + )
2024-05-18 15:28:29 +08:00
{
#region 新 建 表 , 填 充 表 头 , 填 充 列 头 , 样 式
if ( rowIndex = = 65535 | | rowIndex = = 0 )
{
if ( rowIndex ! = 0 )
{
sheet = workbook . CreateSheet ( ) ;
}
#region 列 头 及 样 式
{
HSSFRow headerRow = sheet . CreateRow ( 0 ) ;
HSSFCellStyle headStyle = workbook . CreateCellStyle ( ) ;
headStyle . Alignment = CellHorizontalAlignment . CENTER ;
HSSFFont font = workbook . CreateFont ( ) ;
font . FontHeightInPoints = 10 ;
font . Boldweight = 700 ;
headStyle . SetFont ( font ) ;
for ( int i = 0 ; i < dtName . Count ; i + + )
{
headerRow . CreateCell ( i ) . SetCellValue ( dtName [ i ] . ToString ( ) ) ;
headerRow . GetCell ( i ) . CellStyle = headStyle ;
// sheet.SetColumnWidth(i, (arrColWidth[1] + 1) * 350);
}
headerRow . Dispose ( ) ;
}
#endregion
rowIndex = 1 ;
}
#endregion
#region 填 充 内 容
HSSFRow dataRow = sheet . CreateRow ( rowIndex ) ;
for ( int clm = 0 ; clm < dtSource . Columns . Count ; clm + + )
//foreach( in dtSource.Rows[tag].)
{
HSSFCell newCell = dataRow . CreateCell ( dtSource . Rows [ tag ] . Table . Columns [ clm ] . Ordinal ) ;
//string drValue = row[column].ToString();
2024-05-21 15:05:24 +08:00
string drValue = dtSource . Rows [ tag ] [ clm ] . ToString ( ) ;
2024-05-18 15:28:29 +08:00
newCell . SetCellValue ( drValue ) ;
}
#endregion
rowIndex + + ;
}
using ( MemoryStream ms = new MemoryStream ( ) )
{
workbook . Write ( ms ) ;
ms . Flush ( ) ;
ms . Position = 0 ;
sheet . Dispose ( ) ;
return ms ;
}
}
2024-05-21 15:05:24 +08:00
/// <summary>
/// MD5 加密静态方法
/// </summary>
/// <param name="EncryptString">待加密的密文</param>
/// <returns>returns</returns>
public static string MD5Encrypt ( string EncryptString )
{
if ( string . IsNullOrEmpty ( EncryptString ) )
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
throw ( new Exception ( "密文不得为空" ) ) ;
}
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
MD5 m_ClassMD5 = new MD5CryptoServiceProvider ( ) ;
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
string m_strEncrypt = "" ;
try
{
m_strEncrypt =
BitConverter . ToString ( m_ClassMD5 . ComputeHash (
Encoding . Default . GetBytes ( EncryptString ) ) ) . Replace ( "-" , "" ) ;
}
catch ( ArgumentException ex ) { throw ex ; }
catch ( CryptographicException ex ) { throw ex ; }
catch ( Exception ex ) { throw ex ; }
finally { m_ClassMD5 . Clear ( ) ; }
return m_strEncrypt ;
}
//发送短信 accname ——用户账号 accPwd——用户密码 aimcodes——手机号支持5000个英文,分割 content 内容
public static string SendSms ( String accName , String accPwd , String aimcodes , String content )
{
string formUrl = "http://www.lx198.com/sdk/send" ; //url地址
string ReStr ;
//参数
string formData = "" ;
DateTime Date = DateTime . Now ;
formData = formData + "&accName=" + accName . Trim ( ) +
"&accPwd=" + MD5Encrypt ( accPwd . Trim ( ) ) +
"&content=" + content . Trim ( ) +
"&aimcodes=" + aimcodes . Trim ( ) +
"&bizId=" + string . Format ( "{0:yyyyMMddHHmmss}" , Date ) ;
CookieContainer cookieContainer = new CookieContainer ( ) ;
// 将提交的字符串数据转换成字节数组
//byte[] postData = Encoding.UTF8.GetBytes(formData);
Encoding myc = Encoding . GetEncoding ( "UTF-8" ) ;
byte [ ] postData = myc . GetBytes ( formData ) ;
// 设置提交的相关参数
HttpWebRequest request = WebRequest . Create ( formUrl ) as HttpWebRequest ;
Encoding myEncoding = Encoding . GetEncoding ( "UTF-8" ) ;
request . Method = "POST" ;
request . KeepAlive = false ;
request . AllowAutoRedirect = true ;
request . ContentType = "application/x-www-form-urlencoded" ;
request . UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" ;
request . CookieContainer = cookieContainer ;
request . ContentLength = postData . Length ;
// 提交请求数据
System . IO . Stream outputStream = request . GetRequestStream ( ) ;
outputStream . Write ( postData , 0 , postData . Length ) ;
outputStream . Close ( ) ;
HttpWebResponse response ;
Stream responseStream ;
StreamReader reader ;
string srcString ;
response = request . GetResponse ( ) as HttpWebResponse ;
responseStream = response . GetResponseStream ( ) ;
reader = new System . IO . StreamReader ( responseStream , Encoding . UTF8 ) ;
ReStr = reader . ReadToEnd ( ) ; //返回值
Console . WriteLine ( "错误信息:" + ReStr ) ;
reader . Close ( ) ;
return ReStr ;
}
2024-05-18 15:28:29 +08:00
//数字转换大写
public static string ConvertToChineseNum ( string as_num )
2024-05-21 15:05:24 +08:00
{
string numList = "零壹贰叁肆伍陆柒捌玖" ;
string rmbList = "分角元拾佰仟万拾佰仟亿拾佰仟万" ;
double number = 0 ;
string tempOutString = null ;
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
try
{
number = double . Parse ( as_num ) ;
}
catch
{
return String . Empty ;
}
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
if ( number > 9999999999999.99 )
return String . Empty ;
if ( number = = 0 )
{
return "零" ;
}
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
//将小数转化为整数字符串
string tempNumberString = Convert . ToInt64 ( number * 100 ) . ToString ( ) ;
int tempNmberLength = tempNumberString . Length ;
int i = 0 ;
while ( i < tempNmberLength )
{
int oneNumber = Int32 . Parse ( tempNumberString . Substring ( i , 1 ) ) ;
string oneNumberChar = numList . Substring ( oneNumber , 1 ) ;
string oneNumberUnit = rmbList . Substring ( tempNmberLength - i - 1 , 1 ) ;
if ( oneNumberChar ! = "零" )
tempOutString + = oneNumberChar + oneNumberUnit ;
else
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
if ( oneNumberUnit = = "亿" | | oneNumberUnit = = "万" | | oneNumberUnit = = "元" | | oneNumberUnit = = "零" )
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
while ( tempOutString . EndsWith ( "零" ) )
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
tempOutString = tempOutString . Substring ( 0 , tempOutString . Length - 1 ) ;
2024-05-18 15:28:29 +08:00
}
2024-05-21 15:05:24 +08:00
}
if ( oneNumberUnit = = "亿" | | ( oneNumberUnit = = "万" & & ! tempOutString . EndsWith ( "亿" ) ) | | oneNumberUnit = = "元" )
{
tempOutString + = oneNumberUnit ;
}
else
{
bool tempEnd = tempOutString . EndsWith ( "亿" ) ;
bool zeroEnd = tempOutString . EndsWith ( "零" ) ;
if ( tempOutString . Length > 1 )
2024-05-18 15:28:29 +08:00
{
2024-05-21 15:05:24 +08:00
bool zeroStart = tempOutString . Substring ( tempOutString . Length - 2 , 2 ) . StartsWith ( "零" ) ;
if ( ! zeroEnd & & ( zeroStart | | ! tempEnd ) )
tempOutString + = oneNumberChar ;
2024-05-18 15:28:29 +08:00
}
else
{
2024-05-21 15:05:24 +08:00
if ( ! zeroEnd & & ! tempEnd )
tempOutString + = oneNumberChar ;
2024-05-18 15:28:29 +08:00
}
}
}
2024-05-21 15:05:24 +08:00
i + = 1 ;
}
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
while ( tempOutString . EndsWith ( "零" ) )
{
tempOutString = tempOutString . Substring ( 0 , tempOutString . Length - 1 ) ;
}
2024-05-18 15:28:29 +08:00
2024-05-21 15:05:24 +08:00
while ( tempOutString . EndsWith ( "元" ) )
{
tempOutString = tempOutString + "整" ;
2024-05-18 15:28:29 +08:00
}
2024-05-21 15:05:24 +08:00
return tempOutString ;
}
2024-05-18 15:28:29 +08:00
}