using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using System.Data;
|
using System.Windows.Forms;
|
using System.Drawing;
|
using System.Data.SqlClient;
|
using System.Net.Sockets;
|
using System.Net;
|
|
namespace Pub_Class
|
{
|
public class ClsPub
|
{
|
//public static string HTextBox = "HXErp_Test.ini";
|
public static string HTextBox = "HXErp.ini";
|
public static string HUrl_CLD = "http://122.227.128.123:8090/k3cloud/";
|
public static string HdbID_CLD = "5b3711f4fe3fa5";
|
public static string HUserName_CLD = "测试1";
|
public static string HPsd_CLD = "111111";
|
public static string HWEBSUrl_CLD = "http://localhost/SafeWell_Web/WebService1.asmx";
|
|
public static string sCLOUDUrl = "";
|
public static string sCLOUDAcc = "";
|
public static string sCLOUDUseName = "";
|
public static string sCLOUDPsd = "";
|
|
public static Int64 HOrgID = 0;//组织内码
|
public static string HOrgNumber = ""; //组织代码
|
public static string HOrgName = ""; //组织名称
|
public static Int64 HORGANIZATIONSID = 0;
|
public static string HORGANIZATIONSNO = "";
|
public static string HDataCenterID = "";
|
public static string IPAddress;
|
public static string ComputerName;
|
public static string VersionNew;
|
public static string VersionOld;
|
public static string VersionNum;
|
public static string CurUserName="";
|
public static string CurUserID;
|
public static string sExeReturnInfo;
|
public static string AppPath;
|
public static string AccNumber;//帐套代码
|
public static string AccName;//帐套名称
|
public static string CompName;//客户公司名称
|
public static int CurYear;
|
public static int CurPeriod;
|
public static Color EditColor = Color.White;
|
public static Color ViewColor = Color.WhiteSmoke;
|
public static int CBCurYear;
|
public static int CBCurPeriod;
|
public static int XFCurYear;
|
public static int XFCurPeriod;
|
public static int KQCurYear;
|
public static int KQCurPeriod;
|
public static DateTime CBCurBDate;
|
public static DateTime CBCurEDate;
|
public static DateTime XFCurBDate;
|
public static DateTime XFCurEDate;
|
public static DateTime KQCurBDate;
|
public static DateTime KQCurEDate;
|
|
public static bool check;
|
public static int HCheckStatus;
|
public static string sSQLInfo;
|
public static string sErrInfo;
|
|
public enum Enum_BillStatus : int
|
{
|
BillStatus_AddNew = 1,
|
BillStatus_Modify = 2,
|
BillStatus_View = 4,
|
BillStatus_UpdatePrice = 8
|
}
|
|
public enum Enum_OKTag : int
|
{
|
OKTag_Cancel = 0,
|
OKTag_OK = 1
|
}
|
|
public enum Enum_Color : long
|
{
|
hx_Red = 255,
|
hx_Black = 0,
|
hx_Write = 16777215,
|
hx_Blue = 16711680,
|
hx_Green = 65280,
|
hx_Yellow = 65535,
|
hx_Control = 13425104
|
}
|
|
public enum Enum_InputMode : int
|
{
|
InputMode_View = 0,
|
InputMode_AddNew = 1,
|
InputMode_Modify = 2,
|
InputMode_AddNewGroup = 3,
|
InputMode_ModifyGroup = 4
|
}
|
|
public enum Enum_InputModeGroup : int
|
{
|
InputMode_View = 0,
|
InputMode_AddNew = 1,
|
InputMode_Modify = 2,
|
}
|
|
|
//获取CLOUD登录信息
|
public static bool GetCLOUDLoginInfo(ref string sExeReturnInfo)
|
{
|
try
|
{
|
AppPath = System.Environment.CurrentDirectory;
|
sCLOUDUrl = ClsIni.ReadIni("CLOUDINFO", "sCLOUDUrl", AppPath + @"\" + HTextBox);
|
sCLOUDAcc = ClsIni.ReadIni("CLOUDINFO", "sCLOUDAcc", AppPath + @"\" + HTextBox);
|
sCLOUDUseName = ClsIni.ReadIni("CLOUDINFO", "sCLOUDUseName", AppPath + @"\" + HTextBox);
|
sCLOUDPsd = ClsIni.ReadIni("CLOUDINFO", "sCLOUDPsd", AppPath + @"\" + HTextBox);
|
if (isStrNull(sCLOUDUrl + sCLOUDAcc + sCLOUDUseName + sCLOUDPsd) == "" ||
|
isStrNull(sCLOUDUrl + sCLOUDAcc + sCLOUDUseName + sCLOUDPsd).Contains("没有找到") == true)
|
{
|
sExeReturnInfo = "读取CLOUD配置文件为空! 网址:" + isStrNull(sCLOUDUrl) + " ; 账套:" + isStrNull(sCLOUDAcc) + " ; 用户:"
|
+ isStrNull(sCLOUDUseName) + " ; 密码:" + isStrNull(sCLOUDPsd) + " 文件地址:" + isStrNull(AppPath);
|
return false;
|
}
|
else
|
{
|
return true;
|
}
|
}
|
catch (Exception e)
|
{
|
sExeReturnInfo = "读取CLOUD配置文件失败!网址:" + isStrNull(sCLOUDUrl) + " ; 账套:" + isStrNull(sCLOUDAcc) + " ; 用户:"
|
+ isStrNull(sCLOUDUseName) + " ; 密码:" + isStrNull(sCLOUDPsd) + " 文件地址:" + isStrNull(AppPath) + e.Message;
|
return false;
|
}
|
|
}
|
|
|
//检验 最新版本
|
public static bool CheckUpdate()
|
{
|
|
DataSet oDs = new DataSet();
|
ClsSqlHelperMaster oCn = new ClsSqlHelperMaster();
|
string LastNumber1 = "";
|
string LastNumber2 = "";
|
string BbNumber = "";
|
string sTableName = "";
|
//得到更新表
|
sTableName = ClsIni.ReadIni("UpDateCounts", "sTableName", ClsPub.AppPath + @"\" + "UpDatePrj.ini");
|
if (sTableName == "没有找到!" || sTableName == "")
|
{
|
sTableName = "HX_Update";
|
}
|
//得到最新版本
|
try
|
{
|
oDs = oCn.RunProcReturn("select top 1 * from " + sTableName + " order by FItemID", sTableName);
|
if (oDs == null || oDs.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
LastNumber1 = oDs.Tables[0].Rows[0]["FNumber"].ToString().Trim();
|
VersionNew = LastNumber1;
|
}
|
//得到本地版本
|
LastNumber2 = ClsIni.ReadIni("UpDateCounts", "LastUpdateID", ClsPub.AppPath + @"\" + "UpDatePrj.ini");
|
VersionOld = LastNumber2;
|
if (LastNumber2 == "没有找到!")
|
{
|
return false;
|
}
|
if (LastNumber2.Trim().ToUpper() == LastNumber1.Trim().ToUpper())
|
{
|
return false;
|
}
|
return true;
|
}
|
catch (Exception e)
|
{
|
throw (e);
|
}
|
|
}
|
//
|
|
|
//得到列标识
|
public static int Fun_GetCol(DataGridView oGrd, string KeyItem)
|
{
|
for (int c = 0; c < oGrd.ColumnCount; c++)
|
{
|
if (ClsPub.isStrNull(oGrd.Columns[c].HeaderText).ToUpper().Trim() == KeyItem.Trim().ToUpper())
|
{
|
return c;
|
}
|
}
|
return 0;
|
}
|
|
//得到列标识
|
public static int Fun_GetCol_New(DataGridView oGrd, string KeyItem)
|
{
|
for (int c = 0; c < oGrd.ColumnCount; c++)
|
{
|
if (ClsPub.isStrNull(oGrd.Columns[c].HeaderText).ToUpper().Trim() == KeyItem.Trim().ToUpper())
|
{
|
return c;
|
}
|
}
|
return -1;
|
}
|
|
//得到组织内码根据组织名称
|
public static Int64 get_ORGANIZATIONSIDByName(string HDataCenterName)
|
{
|
try
|
{
|
ClsSqlHelper oCN = new ClsSqlHelper();
|
DataSet ds = oCN.RunProcReturn("select HItemID from h_v_CLD_ORGANIZATIONSList where Hname='" + HDataCenterName + "'", "h_v_CLD_ORGANIZATIONSList");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
return -1;
|
}
|
else
|
{
|
return ClsPub.isLong(ds.Tables[0].Rows[0]["HItemID"]);
|
}
|
}
|
catch (Exception e)
|
{
|
return -1;
|
}
|
}
|
|
//得到组织编码根据组织名称
|
public static string get_ORGANIZATIONSNOByName(string HDataCenterName)
|
{
|
try
|
{
|
ClsSqlHelper oCN = new ClsSqlHelper();
|
DataSet ds = oCN.RunProcReturn("select HNumber from h_v_CLD_ORGANIZATIONSList where Hname='" + HDataCenterName + "'", "h_v_CLD_ORGANIZATIONSList");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
return "";
|
}
|
else
|
{
|
return ClsPub.isStrNull(ds.Tables[0].Rows[0]["HNumber"]);
|
}
|
}
|
catch (Exception e)
|
{
|
return "";
|
}
|
}
|
|
//获取组织列表
|
public static DataSet get_ORGANIZATIONSList()
|
{
|
try
|
{
|
ClsSqlHelper oCN = new ClsSqlHelper();
|
return oCN.RunProcReturn("select * from h_v_CLD_ORGANIZATIONSList", "h_v_CLD_ORGANIZATIONSList");
|
}
|
catch (Exception e)
|
{
|
return null;
|
}
|
}
|
|
//得到会计年份根据日期
|
public static bool Sub_GetPeriodByDate(string sDate, ref int sYear, ref int sPeriod)
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where convert(varchar(10),HBeginDate,120)<='" + sDate + "' and convert(varchar(10),HEndDate,120)>='" + sDate + "'", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
sYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
sPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
return true;
|
}
|
}
|
|
//得到工资 会计年份根据日期
|
public static bool Sub_GetPeriodByDate_Pay(string sDate, ref int sYear, ref int sPeriod)
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where convert(varchar(10),HBeginDate,120)<='" + sDate + "' and convert(varchar(10),HEndDate,120)>='" + sDate + "'", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
sYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
sPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
return true;
|
}
|
}
|
|
|
//得到K3会计年份根据日期
|
public static bool Sub_GetPeriodByDateK3(string sDate, ref int sYear, ref int sPeriod)
|
{
|
DataSet Ds;
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select HYear,HPeriod,HBeginDate,HEndDate from h_v_K3_AcCountPeriod where convert(varchar(10),HBeginDate,120)<='" + sDate + "' and convert(varchar(10),HEndDate,120)>='" + sDate + "'", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
sYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
sPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
return true;
|
}
|
}
|
|
//得到当前会计年份
|
public static bool Sub_GetCurPeriod(ref int CurYear,ref int CurPeriod)
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select top 1 HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where HEndFlag=0 order by HYear,HPeriod", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
CurYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
CurPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
return true;
|
}
|
}
|
|
//得到工资 当前会计年份
|
public static bool Sub_GetCurPeriod_Pay(ref int CurYear, ref int CurPeriod)
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select top 1 HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where HEndFlag=0 order by HYear,HPeriod", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
CurYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
CurPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
return true;
|
}
|
}
|
|
//得到最大单据号
|
public static string CreateBillCode(string BillCode, ref string sReturn, bool Add)
|
{
|
Int64 BillCodeMode;
|
string Profix;
|
Int64 Glida;
|
Int32 CodeLen;
|
string sBillNo = "";
|
char c = Convert.ToChar("0");
|
string sKjYear = DateTime.Today.Year.ToString();
|
string sPeriod = DateTime.Today.Month.ToString();
|
string sDay = DateTime.Today.Day.ToString();
|
//得到单据号表 信息
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds = new DataSet();
|
Ds = oCn.RunProcReturn("Select * from Gy_BillNumber where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
BillCodeMode = ClsPub.isLong(Ds.Tables[0].Rows[0]["BillCodeMode"].ToString());
|
Profix = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["Profix"].ToString());
|
Glida = ClsPub.isLong(Ds.Tables[0].Rows[0]["Glida"].ToString());
|
CodeLen = ClsPub.isInt(Ds.Tables[0].Rows[0]["CodeLen"].ToString());
|
}
|
else
|
{
|
return "";
|
}
|
//
|
string sStr;
|
switch (BillCodeMode)
|
{
|
case 0:
|
switch (Glida)
|
{
|
case 0:
|
Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "'", "Gy_MaxNum");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
|
sBillNo = Profix.Trim() + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
|
}
|
else //插入新记录
|
{
|
sStr = new string(c, CodeLen - 1);
|
oCn.RunProc("insert into Gy_MaxNum(BillCode,NowNumber) values('" + BillCode.Trim() + "',1)");
|
sBillNo = Profix.Trim() + sStr + 1;
|
}
|
if (Add == true)
|
{
|
oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "'");
|
}
|
return sBillNo;
|
|
case 1:
|
return sBillNo;
|
|
case 2: //当前年当前期间 生成单据号
|
Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "' and KjYear=" + sKjYear + " and Period=" + sPeriod + " and Day=" + sDay, "Gy_MaxNum");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
|
sBillNo = Profix.Trim() + sKjYear + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(ClsPub.isStrNull(("0" + sDay)).Length - 2, 2) + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
|
}
|
else //插入新记录
|
{
|
sStr = new string(c, CodeLen - 1);
|
oCn.RunProc("insert into Gy_Maxnum(BillCode,Kjyear,Period,Day,NowNumber) values('" + BillCode.Trim() + "'," + sKjYear + "," + sPeriod + "," + sDay + ",1)");
|
sBillNo = Profix.Trim() + sKjYear + ClsPub.isStrNull(("0" + sPeriod)).Substring(ClsPub.isStrNull(("0" + sPeriod)).Length - 2, 2) + ClsPub.isStrNull(("0" + sDay)).Substring(ClsPub.isStrNull(("0" + sDay)).Length - 2, 2) + sStr + 1;
|
}
|
if (Add == true)
|
{
|
oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "' and KjYear=" + sKjYear + " and Period=" + sPeriod + " and Day=" + sDay);
|
}
|
return sBillNo;
|
default:
|
return sBillNo;
|
|
}
|
|
case 1:
|
return sBillNo;
|
|
default:
|
return sBillNo;
|
|
}
|
oCn.CnClose();
|
oCn.CnDispose();
|
oCn = null;
|
}
|
|
|
//得到最大单据号2
|
public static string CreateBillCode(string BillCode, ref string sReturn, bool Add,ClsSqlHelper oCn)
|
{
|
Int64 BillCodeMode;
|
string Profix;
|
Int64 Glida;
|
Int32 CodeLen;
|
string sBillNo = "";
|
char c = Convert.ToChar("0");
|
//得到单据号表 信息
|
DataSet Ds = new DataSet();
|
Ds = oCn.RunProcReturn("Select * from Gy_BillNumber where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
BillCodeMode = ClsPub.isLong(Ds.Tables[0].Rows[0]["BillCodeMode"].ToString());
|
Profix = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["Profix"].ToString());
|
Glida = ClsPub.isLong(Ds.Tables[0].Rows[0]["Glida"].ToString());
|
CodeLen = ClsPub.isInt(Ds.Tables[0].Rows[0]["CodeLen"].ToString());
|
}
|
else
|
{
|
return "";
|
}
|
//
|
string sStr;
|
switch (BillCodeMode)
|
{
|
case 0:
|
switch (Glida)
|
{
|
case 0:
|
Ds = oCn.RunProcReturn("Select * from Gy_MaxNum where BillCode='" + BillCode.Trim() + "'", "Gy_MaxNum");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
sStr = new string(c, CodeLen - (Ds.Tables[0].Rows[0]["NowNumBer"].ToString()).Length);
|
sBillNo = Profix.Trim() + sStr + Ds.Tables[0].Rows[0]["NowNumBer"].ToString().Trim();
|
}
|
else //插入新记录
|
{
|
sStr = new string(c, CodeLen - 1);
|
oCn.RunProc("insert into Gy_MaxNum(BillCode,NowNumber) values('" + BillCode.Trim() + "',1)");
|
sBillNo = Profix.Trim() + sStr + 1;
|
}
|
if (Add == true)
|
{
|
oCn.RunProc("update Gy_Maxnum set NowNumBer=NowNumBer+1 where BillCode='" + BillCode.Trim() + "'");
|
}
|
return sBillNo;
|
|
case 1:
|
return sBillNo;
|
|
case 2:
|
return sBillNo;
|
|
default:
|
return sBillNo;
|
|
}
|
|
case 1:
|
return sBillNo;
|
|
default:
|
return sBillNo;
|
|
}
|
|
}
|
|
|
//得到最大单据号 存储过程
|
public static string CreateBillCode_Prod(string BillCode, ref string sReturn, bool Add)
|
{
|
try
|
{
|
string BillType = "";
|
DataSet Ds;
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
string sBIllNO;
|
Ds = oCn.RunProcReturn("exec h_p_Xt_GetMaxBillNo '" + BillCode + "'", "h_p_Xt_GetMaxBillNo");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
sBIllNO = "ERROR";
|
}
|
else
|
{
|
sBIllNO = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]);
|
}
|
oCn.CnClose();
|
oCn.CnDispose();
|
oCn = null;
|
Ds = null;
|
return sBIllNO;
|
}
|
catch (Exception e)
|
{
|
return "ERROR";
|
}
|
}
|
|
|
|
//得到最大HINTERID 存储过程
|
public static Int64 CreateBillID_Prod(string BillCode, ref string sReturn)
|
{
|
try
|
{
|
string BillType = "";
|
DataSet Ds;
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Int64 lID;
|
Ds = oCn.RunProcReturn("exec h_p_Xt_GetMaxBillID '" + BillCode + "'", "h_p_Xt_GetMaxBillID");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
lID = -1;
|
}
|
else
|
{
|
lID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HBillNo"]);
|
}
|
oCn.CnClose();
|
oCn.CnDispose();
|
oCn = null;
|
Ds = null;
|
return lID;
|
}
|
catch (Exception e)
|
{
|
return -2;
|
}
|
}
|
|
//得到最大单据号 存储过程
|
public static string CreateBillCode_SRMProd(string BillCode, ref string sReturn, bool Add)
|
{
|
try
|
{
|
string BillType = "";
|
DataSet Ds;
|
ClsSqlHelper_SRM oCn = new ClsSqlHelper_SRM();
|
string sBIllNO;
|
Ds = oCn.RunProcReturn("exec h_p_Xt_GetMaxBillNo '" + BillCode + "'", "h_p_Xt_GetMaxBillNo");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
sBIllNO = "ERROR";
|
}
|
else
|
{
|
sBIllNO = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillNo"]);
|
}
|
oCn.CnClose();
|
oCn.CnDispose();
|
oCn = null;
|
Ds = null;
|
return sBIllNO;
|
}
|
catch (Exception e)
|
{
|
return "ERROR";
|
}
|
}
|
|
|
|
//得到最大HINTERID 存储过程
|
public static Int64 CreateBillID_SRMProd(string BillCode, ref string sReturn)
|
{
|
try
|
{
|
string BillType = "";
|
DataSet Ds;
|
ClsSqlHelper_SRM oCn = new ClsSqlHelper_SRM();
|
Int64 lID;
|
Ds = oCn.RunProcReturn("exec h_p_Xt_GetMaxBillID '" + BillCode + "'", "h_p_Xt_GetMaxBillID");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
lID = -1;
|
}
|
else
|
{
|
lID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HBillNo"]);
|
}
|
oCn.CnClose();
|
oCn.CnDispose();
|
oCn = null;
|
Ds = null;
|
return lID;
|
}
|
catch (Exception e)
|
{
|
return -2;
|
}
|
}
|
|
//得到最大HINTERID
|
public static Int64 CreateBillID(string BillCode, ref string sReturn)
|
{
|
string BillType = "";
|
DataSet Ds;
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Int64 lID;
|
Ds = oCn.RunProcReturn("select * from Gy_BillNumber with (nolock) where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
lID = ClsPub.isLong(Ds.Tables[0].Rows[0]["IDNow"].ToString());
|
BillType = Ds.Tables[0].Rows[0]["BillType"].ToString().Trim();
|
}
|
else
|
{
|
lID = 0;
|
}
|
//同类型单据 自增1
|
if (BillType.Trim() != "")
|
{
|
oCn.RunProc("update Gy_BillNumber set IDNow=IDNow+1 where BillType='" + BillType.Trim() + "'");
|
}
|
oCn.CnClose();
|
oCn.CnDispose();
|
oCn = null;
|
Ds = null;
|
return lID;
|
}
|
|
//得到最大HINTERID
|
public static Int64 CreateBillID(string BillCode, ref string sReturn,ClsSqlHelper oCn )
|
{
|
string BillType = "";
|
DataSet Ds;
|
Int64 lID;
|
Ds = oCn.RunProcReturn("select * from Gy_BillNumber where BillCode='" + BillCode.Trim() + "'", "Gy_BillNumber");
|
if (Ds.Tables[0].Rows.Count != 0)
|
{
|
lID = ClsPub.isLong(Ds.Tables[0].Rows[0]["IDNow"].ToString());
|
BillType = Ds.Tables[0].Rows[0]["BillType"].ToString().Trim();
|
}
|
else
|
{
|
lID = 0;
|
}
|
//同类型单据 自增1
|
if (BillType.Trim() != "")
|
{
|
oCn.RunProc("update Gy_BillNumber set IDNow=IDNow+1 where BillType='" + BillType.Trim() + "'");
|
}
|
Ds = null;
|
return lID;
|
}
|
|
|
//判断是否存在权限,并写入日志
|
public static bool Security_Log(string gnsy, int LogTF, bool Msg,string CurUserName)
|
{
|
//gnsy 功能索引,模块
|
//usercode 当前用户代码
|
//LogTF 1判断权限并写日志,2只写日志,3只判断权限
|
//Msg 没有权限时 是否提示框
|
string UserID = CurUserName;
|
try
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds = new DataSet();
|
DataSet DsUser = new DataSet();
|
DataSet DsJS = new DataSet();//角色
|
long ModID = 0;
|
bool HavRight = false;
|
//找到模块权限
|
Ds = oCn.RunProcReturn("select * from xt_xtgnb where gnsy='" + gnsy.Trim() + "'", "xt_xtgnb");
|
if (Ds.Tables[0].Rows.Count == 0)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("没有找到该功能模块!", "提示");
|
}
|
return false;
|
}
|
else
|
{
|
ModID = ClsPub.isLong(Ds.Tables[0].Rows[0]["ID"].ToString()); //返回模块
|
}
|
if (LogTF == 1 || LogTF == 3)//需要判断权限
|
{
|
//根据用户名称判断权限
|
DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl");
|
if (DsUser.Tables[0].Rows.Count == 0)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("没有找到当前操作员!", "提示");
|
}
|
return false;
|
}
|
//根据用户名称判断权限
|
if ((bool)DsUser.Tables[0].Rows[0]["ManagerFlag"]) //是否管理员
|
{
|
HavRight = true;
|
}
|
else
|
{
|
if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
|
{
|
HavRight = true;
|
}
|
else
|
{
|
//获取用户组 并循环判断权限
|
//判断角色是否有权限
|
DsJS = oCn.RunProcReturn("select isnull(AuthorityID,'') AuthorityID from System_UserGroupinfo a inner join System_UserGroup b on a.GroupID=b.GroupID " +
|
" Where a.USERID='" + UserID.Trim() + "'", "gy_czygl");
|
if (DsJS == null)
|
{
|
HavRight = false;
|
}
|
else
|
{
|
HavRight = false;
|
for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++)
|
{
|
if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID)
|
{
|
if (DsJS.Tables[0].Rows[i]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
|
{
|
HavRight = true;
|
break;
|
}
|
}
|
}
|
|
}
|
}
|
}
|
|
if (HavRight == false)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("您没有权限,请与管理员联系!", "提示");
|
}
|
}
|
}
|
//需要写入日志
|
if ((LogTF == 1 && HavRight) || LogTF == 2)
|
{
|
Add_Log(Ds.Tables[0].Rows[0]["id"].ToString().Trim(), gnsy +","+ Ds.Tables[0].Rows[0]["gnmc"].ToString().Trim(), CurUserName);
|
}
|
return HavRight;
|
}
|
catch (Exception e)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("判断权限时发现错误,请与管理员联系!", "提示");
|
}
|
return false;
|
}
|
}
|
|
public static bool Security_Log_second(string gnsy, int LogTF, bool Msg, string CurUserName)
|
{
|
//gnsy 功能索引,模块
|
//usercode 当前用户代码
|
//LogTF 1判断权限并写日志,2只写日志,3只判断权限
|
//Msg 没有权限时 是否提示框
|
string UserID = CurUserName;
|
try
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds = new DataSet();
|
DataSet DsUser = new DataSet();
|
DataSet DsJS = new DataSet();//角色
|
long ModID = 0;
|
bool HavRight = false;
|
//找到模块权限
|
Ds = oCn.RunProcReturn("select * from xt_xtgnb where gnsy='" + gnsy.Trim() + "'", "xt_xtgnb");
|
if (Ds.Tables[0].Rows.Count == 0)
|
{
|
if (Msg == true)
|
{
|
return false;
|
//MessageBox.Show("没有找到该功能模块!", "提示");
|
}
|
return false;
|
}
|
else
|
{
|
ModID = ClsPub.isLong(Ds.Tables[0].Rows[0]["ID"].ToString()); //返回模块
|
}
|
if (LogTF == 1 || LogTF == 3)//需要判断权限
|
{
|
//根据用户名称判断权限
|
DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl");
|
if (DsUser.Tables[0].Rows.Count == 0)
|
{
|
if (Msg == true)
|
{
|
return false;
|
//MessageBox.Show("没有找到当前操作员!", "提示");
|
}
|
return false;
|
}
|
//根据用户名称判断权限
|
if ((bool)DsUser.Tables[0].Rows[0]["ManagerFlag"]) //是否管理员
|
{
|
HavRight = true;
|
}
|
else
|
{
|
if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
|
{
|
HavRight = true;
|
}
|
else
|
{
|
//获取用户组 并循环判断权限
|
//判断角色是否有权限
|
DsJS = oCn.RunProcReturn("select isnull(AuthorityID,'') AuthorityID from System_UserGroupinfo a inner join System_UserGroup b on a.GroupID=b.GroupID " +
|
" Where a.USERID='" + UserID.Trim() + "'", "gy_czygl");
|
if (DsJS == null)
|
{
|
HavRight = false;
|
}
|
else
|
{
|
HavRight = false;
|
for (int i = 0; i < DsJS.Tables[0].Rows.Count; i++)
|
{
|
if (ClsPub.isStrNull(DsJS.Tables[0].Rows[i]["AuthorityID"]).Length > ModID)
|
{
|
if (DsJS.Tables[0].Rows[i]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
|
{
|
HavRight = true;
|
break;
|
}
|
}
|
}
|
|
}
|
}
|
}
|
|
if (HavRight == false)
|
{
|
if (Msg == true)
|
{
|
return false;
|
//MessageBox.Show("您没有权限,请与管理员联系!", "提示");
|
}
|
}
|
}
|
//需要写入日志
|
if ((LogTF == 1 && HavRight) || LogTF == 2)
|
{
|
Add_Log(Ds.Tables[0].Rows[0]["id"].ToString().Trim(), gnsy + "," + Ds.Tables[0].Rows[0]["gnmc"].ToString().Trim(), CurUserName);
|
}
|
return HavRight;
|
}
|
catch (Exception e)
|
{
|
if (Msg == true)
|
{
|
return false;
|
//MessageBox.Show("判断权限时发现错误,请与管理员联系!", "提示");
|
}
|
return false;
|
}
|
}
|
|
//判断是都存在权限,并写入日志
|
public static bool Security_Log(string gnsy, int LogTF, bool Msg, string CurUserName, ClsSqlHelper oCn)
|
{
|
//gnsy 功能索引,模块
|
//usercode 当前用户代码
|
//LogTF 1判断权限并写日志,2只写日志,3只判断权限
|
//Msg 没有权限时 是否提示框
|
string UserID = CurUserName;
|
try
|
{
|
DataSet Ds = new DataSet();
|
DataSet DsUser = new DataSet();
|
long ModID = 0;
|
bool HavRight = false;
|
Ds = oCn.RunProcReturn("select * from xt_xtgnb where gnsy='" + gnsy.Trim() + "'", "xt_xtgnb");
|
if (Ds.Tables[0].Rows.Count == 0)
|
{
|
MessageBox.Show("没有找到该功能模块!", "提示");
|
return false;
|
}
|
else
|
{
|
ModID = ClsPub.isLong(Ds.Tables[0].Rows[0]["ID"].ToString());
|
}
|
if (LogTF == 1 || LogTF == 3)//需要判断权限
|
{
|
DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl");
|
if (DsUser.Tables[0].Rows.Count == 0)
|
{
|
MessageBox.Show("没有找到当前操作员!", "提示");
|
return false;
|
}
|
if ((bool)DsUser.Tables[0].Rows[0]["ManagerFlag"]) //是否管理员
|
{
|
HavRight = true;
|
}
|
else
|
{
|
if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
|
{
|
HavRight = true;
|
}
|
else
|
{
|
HavRight = false;
|
}
|
}
|
if (HavRight == false)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("您没有权限,请与管理员联系!", "提示");
|
}
|
}
|
}
|
//需要写入日志
|
if ((LogTF == 1 && HavRight) || LogTF == 2)
|
{
|
Add_Log(Ds.Tables[0].Rows[0]["id"].ToString().Trim(), gnsy + "," + Ds.Tables[0].Rows[0]["gnmc"].ToString().Trim(), CurUserName);
|
}
|
return HavRight;
|
}
|
catch (Exception e)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("判断权限时发现错误,请与管理员联系!", "提示");
|
}
|
return false;
|
}
|
}
|
|
//判断是都存在权限,并写入日志
|
public static bool Security_Log2(string gnsy, int LogTF, bool Msg, string CurUserName)
|
{
|
//gnsy 功能索引,模块
|
//usercode 当前用户代码
|
//LogTF 1判断权限并写日志,2只写日志,3只判断权限
|
//Msg 没有权限时 是否提示框
|
string UserID = CurUserName;
|
try
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds = new DataSet();
|
DataSet DsUser = new DataSet();
|
long ModID = 0;
|
bool HavRight = false;
|
Ds = oCn.RunProcReturn("select * from xt_xtgnb where gnsy='" + gnsy.Trim() + "'", "xt_xtgnb");
|
if (Ds.Tables[0].Rows.Count == 0)
|
{
|
MessageBox.Show("没有找到该功能模块!", "提示");
|
return false;
|
}
|
else
|
{
|
ModID = ClsPub.isLong(Ds.Tables[0].Rows[0]["ID"].ToString());
|
}
|
if (LogTF == 1 || LogTF == 3)//需要判断权限
|
{
|
DsUser = oCn.RunProcReturn("select * from gy_czygl where czymc='" + UserID.Trim() + "'", "gy_czygl");
|
if (DsUser.Tables[0].Rows.Count == 0)
|
{
|
MessageBox.Show("没有找到当前操作员!", "提示");
|
return false;
|
}
|
if ((bool)DsUser.Tables[0].Rows[0]["ManagerFlag"]) //是否管理员
|
{
|
HavRight = true;
|
}
|
else
|
{
|
if (DsUser.Tables[0].Rows[0]["AuthorityID"].ToString().Trim().Substring((int)ModID - 1, 1) == "1")
|
{
|
HavRight = true;
|
}
|
else
|
{
|
HavRight = false;
|
}
|
}
|
if (HavRight == false)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("您没有权限,请与管理员联系!", "提示");
|
}
|
}
|
}
|
//需要写入日志
|
if ((LogTF == 1 && HavRight) || LogTF == 2)
|
{
|
Add_Log(Ds.Tables[0].Rows[0]["id"].ToString().Trim(), gnsy + "," + Ds.Tables[0].Rows[0]["gnmc"].ToString().Trim(), CurUserName);
|
}
|
return HavRight;
|
}
|
catch (Exception e)
|
{
|
if (Msg == true)
|
{
|
MessageBox.Show("判断权限时发现错误,请与管理员联系!", "提示");
|
}
|
return false;
|
}
|
}
|
//写入日志
|
/// <summary>
|
/// 写入日志
|
/// </summary>
|
/// <param name="UserID">无用</param>
|
/// <param name="WorkList">操作日志</param>
|
/// <param name="CurUserName">操作员</param>
|
/// <returns></returns>
|
public static bool Add_Log(string UserID, string WorkList, string CurUserName)
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
try
|
{
|
oCn.RunProc("Insert into System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
|
"(getdate(),'" + CurUserName + "','" + ComputerName + "','" + WorkList + "','ERP系统','"+IPAddress+"','进入')"
|
);
|
return true;
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("写入日志时发现错误,原因是:" + e.Message);
|
return false;
|
}
|
}
|
//写入日志
|
/// <summary>
|
/// 写入日志
|
/// </summary>
|
/// <param name="UserID">无用</param>
|
/// <param name="WorkList">操作日志</param>
|
/// <param name="CurUserName">操作员</param>
|
/// <param name="oCn">连接</param>
|
/// <returns></returns>
|
public static bool Add_Log(string UserID, string WorkList, string CurUserName, ClsSqlHelper oCn)
|
{
|
try
|
{
|
oCn.RunProc("Insert into System_Log(GeginDate,userid,WorkstationName,WorkList,SystemName,NetUserName,State) values " +
|
"(getdate(),'" + CurUserName + "','" + ComputerName + "','" + WorkList + "','ERP系统','" + IPAddress + "','进入')"
|
);
|
return true;
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("写入日志时发现错误,原因是:" + e.Message);
|
return false;
|
}
|
}
|
//得到会计期间
|
public static string Sub_GetDateByPeriod(int sYear, int sPeriod)
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select HBeginDate,HEndDate from xt_AcCountPeriod where HYear=" + sYear + " and HPeriod=" + sPeriod, "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return "";
|
}
|
else
|
{
|
return ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"].ToString(), 0) + "," + ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"].ToString(), 0);
|
}
|
}
|
//得到服务器日期
|
public static string GetServerDate(Int64 iType)
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds = new DataSet();
|
try
|
{
|
Ds = oCn.RunProcReturn("Select GetDate() as CurDate", "xt_xtgnb");
|
switch (iType)
|
{
|
case 0:
|
return Convert.ToDateTime(Ds.Tables[0].Rows[0]["CurDate"]).ToString("yyyy-MM-dd");
|
case 1:
|
return Convert.ToDateTime(Ds.Tables[0].Rows[0]["CurDate"]).ToString("HH:mm:ss");
|
case -1:
|
return Convert.ToDateTime(Ds.Tables[0].Rows[0]["CurDate"]).ToString("yyyy-MM-dd HH:mm:ss");
|
default:
|
return "1900-01-01";
|
}
|
}
|
catch (Exception e)
|
{
|
return "1900-01-01";
|
}
|
}
|
|
//得到服务器日期
|
public static string GetServerDate(Int64 iType, ClsSqlHelper oCn)
|
{
|
DataSet Ds;
|
try
|
{
|
Ds = oCn.RunProcReturn("Select GetDate() as CurDate", "xt_xtgnb");
|
switch (iType)
|
{
|
case 0:
|
return Convert.ToDateTime(Ds.Tables[0].Rows[0]["CurDate"]).ToString("yyyy-MM-dd");
|
case 1:
|
return Convert.ToDateTime(Ds.Tables[0].Rows[0]["CurDate"]).ToString("hh:mm:ss");
|
case -1:
|
return Convert.ToDateTime(Ds.Tables[0].Rows[0]["CurDate"]).ToString("yyyy-MM-dd HH:mm:ss");
|
default:
|
return "1900-01-01";
|
}
|
}
|
catch (Exception e)
|
{
|
return "1900-01-01";
|
}
|
}
|
|
//根据模块名 返回 网格 信息
|
public static string Fun_GetGridStrByModName(string KeyItem)
|
{
|
try
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet ds;
|
ds = oCn.RunProcReturn("select top 1 HGridString from Xt_grdAlignment where HUserName='" + ClsPub.CurUserName + "' and HModName='" + KeyItem + "'", "Xt_grdAlignment");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
return "没有找到!";
|
}
|
else
|
{
|
return ClsPub.isStrNull(ds.Tables[0].Rows[0]["HGridString"]);
|
}
|
}
|
catch (Exception e)
|
{
|
return "没有找到!";
|
}
|
}
|
|
// 读取隐藏列datagridview 并设置 对齐方式
|
/// <summary>
|
/// 读取隐藏列datagridview 并设置 对齐方式
|
/// </summary>
|
/// <param name="oGrd"></param>
|
/// <param name="KeyItem"></param>
|
/// <param name="AppPath"></param>
|
public static void HideGridView(DataGridView oGrd, string KeyItem, string AppPath)
|
{
|
int Cols;
|
char c = Convert.ToChar(",");
|
char s = Convert.ToChar("|");
|
string sStr =ClsPub.Fun_GetGridStrByModName(KeyItem);
|
if (sStr != "没有找到!")
|
{
|
string[] Col = sStr.Split(c);
|
for (int i = 0; i < Col.Length; i++)
|
{
|
if (i >= oGrd.ColumnCount)
|
{
|
break;
|
}
|
string[] sCol = Col[i].Split(s);
|
if (sCol.Length > 1)
|
{
|
if (ClsPub.isStrNull(sCol[1]) == "1")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].Visible = false; //隐藏列
|
}
|
else
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].Visible = true; //隐藏列
|
}
|
//h开头的隐藏
|
if (oGrd.Columns[ClsPub.isInt(sCol[0])].HeaderText != "")
|
{
|
if (oGrd.Columns[ClsPub.isInt(sCol[0])].HeaderText.Substring(0, 1).ToLower() == "h")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].Visible = false;
|
}
|
}
|
else
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].Visible = false;
|
}
|
}
|
//
|
if (sCol.Length > 2)
|
{
|
if (ClsPub.isStrNull(sCol[2]) == "L")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; //
|
}
|
else if (ClsPub.isStrNull(sCol[2]) == "R")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; //
|
}
|
else if (ClsPub.isStrNull(sCol[2]) == "M")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //
|
}
|
else
|
{
|
//;
|
}
|
}
|
}
|
}
|
}
|
|
|
// 读取隐藏列datagridview 并设置 对齐方式 从数据库读取
|
public static void HideGridView(DataGridView oGrd, string KeyItem)
|
{
|
|
int Cols;
|
char c = Convert.ToChar(",");
|
char s = Convert.ToChar("|");
|
string sStr = ClsIni.ReadIni("GridHide", KeyItem, AppPath + @"\" + "grdWidth.wyini");
|
if (sStr != "没有找到!")
|
{
|
string[] Col = sStr.Split(c);
|
for (int i = 0; i < Col.Length; i++)
|
{
|
string[] sCol = Col[i].Split(s);
|
if (sCol.Length > 1)
|
{
|
if (ClsPub.isStrNull(sCol[1]) == "1")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].Visible = false; //隐藏列
|
}
|
else
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].Visible = true; //隐藏列
|
}
|
}
|
//
|
if (sCol.Length > 2)
|
{
|
if (ClsPub.isStrNull(sCol[2]) == "L")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft; //
|
}
|
else if (ClsPub.isStrNull(sCol[2]) == "R")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; //
|
}
|
else if (ClsPub.isStrNull(sCol[2]) == "M")
|
{
|
oGrd.Columns[ClsPub.isInt(sCol[0])].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //
|
}
|
else
|
{
|
//;
|
}
|
}
|
}
|
}
|
}
|
|
|
// 读取列宽datagridview
|
public static void GetGridView(DataGridView oGrd, string KeyItem, string AppPath)
|
{
|
try
|
{
|
if (oGrd.RowCount <= 1)
|
{
|
return;
|
}
|
int Cols;
|
char c = Convert.ToChar(",");
|
string sStr = ClsIni.ReadIni("GridSave", KeyItem, AppPath + @"\" + "grdWidth.wyini");
|
if (sStr != "没有找到!")
|
{
|
string[] ColWidth = sStr.Split(c);
|
if (oGrd.ColumnCount > ColWidth.Length)
|
{
|
Cols = ColWidth.Length;
|
}
|
else
|
{
|
Cols = oGrd.ColumnCount;
|
}
|
for (int i = 0; i < Cols; i++)
|
{
|
if (ClsPub.isInt(ColWidth[i]) > 500)
|
{
|
oGrd.Columns[i].Width = ClsPub.isInt(ColWidth[i]);
|
}
|
else
|
{
|
oGrd.Columns[i].Width = ClsPub.isInt(ColWidth[i]);
|
}
|
}
|
}
|
}
|
catch(Exception e)
|
{
|
MessageBox.Show("设置列宽失败!" + e.Message);
|
}
|
}
|
//保存列宽
|
public static void SaveGridView(DataGridView oGrd, string KeyItem, string AppPath)
|
{
|
int i;
|
string SaveStr = "";
|
for (i = 0; i <= oGrd.ColumnCount - 1; i++)
|
{
|
if (i == 0)
|
SaveStr = oGrd.Columns[i].Width.ToString();
|
else
|
SaveStr = SaveStr + "," + oGrd.Columns[i].Width.ToString();
|
}
|
ClsIni oIni = new ClsIni();
|
if (ClsIni.WriteIni("GridSave", KeyItem, SaveStr, AppPath + @"\" + "grdWidth.wyini"))
|
SaveStr = "";
|
}
|
//默认列宽
|
public static void DefaultGridView(DataGridView oGrd)
|
{
|
for (int i = 0; i <= oGrd.ColumnCount - 1; i++)
|
{
|
oGrd.Columns[i].Width = 100;
|
}
|
|
}
|
|
//审核代码合理性
|
public static bool AllowNumber(string sCode)
|
{
|
sCode = sCode.Trim();
|
if (sCode == "")
|
{
|
return true;
|
}
|
if (sCode.Substring(sCode.Length-1, 1) == ".")
|
{
|
return false;
|
}
|
if (sCode.Substring(0, 1) == ".")
|
{
|
return false;
|
}
|
if (sCode.Contains(".."))
|
{
|
return false;
|
}
|
return true;
|
}
|
//得到父级
|
public static string GetParentCode(string sCode)
|
{
|
if (sCode.Contains("."))
|
{
|
for (int i =sCode.Length ; i > 0; i--)
|
{
|
if (sCode.Substring(i-1, 1) == ".")
|
{
|
return sCode.Substring(0, i - 1);
|
}
|
}
|
return "";
|
}
|
else
|
return "";
|
}
|
//得到短代码
|
public static string GetShortNumber(string sCode)
|
{
|
if (sCode.Contains("."))
|
{
|
for (int i = sCode.Length; i > 0; i--)
|
{
|
if (sCode.Substring(i - 1, 1) == ".")
|
{
|
return sCode.Substring(i,sCode.Length - i);
|
}
|
}
|
return sCode;
|
}
|
else
|
return sCode;
|
}
|
//得到代码等级
|
public static int GetLevel(string sCode)
|
{
|
return sCode.Length - (sCode.Replace(".", "").Length)+1;
|
}
|
|
//获取下拉框的 内码
|
public static int GetIDByComboBox(string sCode)
|
{
|
if (sCode.Trim() == "")
|
{
|
return 0;
|
}
|
if (sCode.Contains("-"))
|
{
|
string[] s;
|
s = sCode.Split(Convert.ToChar("-"));
|
return ClsPub.isInt(s[0]);
|
}
|
else
|
{
|
return 0;
|
}
|
}
|
|
//转化GRID中的 布尔型
|
public static string GridToStr(object message)
|
{
|
try
|
{
|
if (Convert.ToString(message) == "-1" || Convert.ToString(message) == "1" || Convert.ToString(message) == "True")
|
return "1";
|
else
|
return "0";
|
|
}
|
catch (Exception e)
|
{
|
return "0";
|
}
|
}
|
|
//字符转为布尔
|
/// <summary>
|
/// 将是或者否转化为TRUE和FALSE
|
/// </summary>
|
/// <param name="b"></param>
|
/// <returns></returns>
|
public static bool StringToBool(object b)
|
{
|
try
|
{
|
if (Convert.ToString(b) == "是")
|
return true;
|
else
|
return false;
|
}
|
catch (Exception e)
|
{
|
return false;
|
}
|
}
|
|
//转化GRID中的 布尔型
|
public static bool GridToBool(object message)
|
{
|
try
|
{
|
if (Convert.ToString(message) == "-1" || Convert.ToString(message) == "1" || Convert.ToString(message) == "True")
|
return true;
|
else
|
return false;
|
|
}
|
catch (Exception e)
|
{
|
return false;
|
}
|
}
|
|
//判断是否是INT64
|
public static Int64 isLong(object message)
|
{
|
try
|
{
|
return Convert.ToInt64(message);
|
}
|
catch (Exception e)
|
{
|
return 0;
|
}
|
}
|
//判断是否是INT32
|
public static int isInt(object message)
|
{
|
try
|
{
|
return Convert.ToInt16(message);
|
}
|
catch (Exception e)
|
{
|
return 0;
|
}
|
}
|
//判断是否NULL
|
public static string isStrNull(object message)
|
{
|
try
|
{
|
if (message == null)
|
{
|
return "";
|
}
|
else
|
{
|
return message.ToString().Trim();
|
}
|
}
|
catch (Exception e)
|
{
|
return "";
|
}
|
}
|
//判断是否双精度
|
public static double isDoule(object message)
|
{
|
try
|
{
|
return Convert.ToDouble(message);
|
}
|
catch (Exception e)
|
{
|
return 0;
|
}
|
}
|
////判断是否双精度 并返回保留小数
|
public static string isDoule(object message, int n)
|
{
|
try
|
{
|
return Convert.ToDouble(message).ToString("F"+n.ToString());
|
}
|
catch (Exception e)
|
{
|
return "";
|
}
|
}
|
//布尔转为字符
|
public static string BoolToString(object b)
|
{
|
try
|
{
|
if (Convert.ToBoolean(b))
|
return "1";
|
else
|
return "0";
|
}
|
catch (Exception e)
|
{
|
return "0";
|
}
|
|
}
|
//判断布尔
|
public static bool isBool(object message)
|
{
|
try
|
{
|
return Convert.ToBoolean(message);
|
}
|
catch (Exception e)
|
{
|
return false;
|
}
|
}
|
//判断是否 单精度
|
public static Single isSingle(object message)
|
{
|
try
|
{
|
return Convert.ToSingle(message);
|
}
|
catch (Exception e)
|
{
|
return 0;
|
}
|
}
|
//判断2个日期的大小
|
/// <summary>
|
/// 比较2个日期的大小
|
/// </summary>
|
/// <param name="Date1">日期1</param>
|
/// <param name="Date2">日期2</param>
|
/// <returns>-1 日期1小于日期2 0 相等 1 日期1大于日期2</returns>
|
public static int TwoDateCompare(object Date1,object Date2)
|
{
|
string Date3 = ClsPub.isDate(Date1, -1);
|
string Date4 = ClsPub.isDate(Date2,-1);
|
if (DateTime.Parse(Date3) > DateTime.Parse(Date4))
|
{
|
return 1;
|
}
|
else if (DateTime.Parse(Date3) == DateTime.Parse(Date4))
|
{
|
return 0;
|
}
|
else
|
{
|
return -1;
|
}
|
}
|
|
//判断是否是
|
public static Enum_Color GridToColor(object message)
|
{
|
try
|
{
|
switch (Convert.ToInt64(message))
|
{
|
case 0:
|
return Enum_Color.hx_Black;
|
case 16711680:
|
return Enum_Color.hx_Blue;
|
case 65280:
|
return Enum_Color.hx_Green;
|
case 255:
|
return Enum_Color.hx_Red;
|
case 16777215:
|
return Enum_Color.hx_Write;
|
case 65535:
|
return Enum_Color.hx_Yellow;
|
case 13425104:
|
return Enum_Color.hx_Control;
|
default:
|
return Enum_Color.hx_Black;
|
}
|
}
|
catch (Exception e)
|
{
|
return Enum_Color.hx_Black;
|
}
|
}
|
//双精度 四舍五入
|
public static double ChinaRound(Single value, int decimals)
|
{
|
return Math.Round(value, decimals, MidpointRounding.AwayFromZero);
|
}
|
|
/// <summary>
|
/// 返回 日期的字符串
|
/// </summary>
|
/// <param name="oVal"></param>
|
/// <param name="sType">d日期dt日期时间t时间</param>
|
/// <returns></returns>
|
public static string DataTimeToStr(object oVal,string sType)
|
{
|
try
|
{
|
DateTime dt;
|
if (sType == "d")
|
{
|
if (oVal == null)
|
{
|
return "1900-01-01" ;
|
}
|
else
|
{
|
dt = Convert.ToDateTime(oVal);
|
return dt.ToShortDateString();
|
}
|
}
|
else if (sType == "dt")
|
{
|
if (oVal == null)
|
{
|
return "1900-01-01 00:00:00" ;
|
}
|
else
|
{
|
dt = Convert.ToDateTime(oVal);
|
return dt.ToShortDateString() + " " + dt.ToShortTimeString();
|
}
|
}
|
else if (sType == "t")
|
{
|
if (oVal == null)
|
{
|
return "00:00:00";
|
}
|
else
|
{
|
dt = Convert.ToDateTime(oVal);
|
return dt.ToShortTimeString();
|
}
|
}
|
else
|
{
|
if (oVal == null)
|
{
|
return "1900-01-01" ;
|
}
|
else
|
{
|
dt = Convert.ToDateTime(oVal);
|
return dt.ToShortDateString();
|
}
|
}
|
}
|
catch (Exception e)
|
{
|
return "1900-01-01";
|
}
|
}
|
|
//判断是否 是日期类型
|
public static DateTime isDate(object oVal)
|
{
|
DateTime dt;
|
if (oVal == null)
|
{
|
return Convert.ToDateTime("1900-01-01");
|
}
|
try
|
{
|
dt = Convert.ToDateTime(oVal);
|
if (dt > Convert.ToDateTime("1900-01-01"))
|
{
|
return Convert.ToDateTime(oVal);
|
}
|
else
|
{
|
return Convert.ToDateTime("1900-01-01");
|
}
|
}
|
catch (Exception e)
|
{
|
return Convert.ToDateTime("1900-01-01");
|
}
|
}
|
//判断是否 是日期类型 并按格式返回
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="oVal"></param>
|
/// <param name="n">-1 全部 0 日期 1 时间</param>
|
/// <returns></returns>
|
public static string isDate(object oVal,int n)
|
{
|
if (oVal == null)
|
{
|
if (n == -1)
|
{
|
return Convert.ToDateTime("1900-01-01 00:00:00").ToString("yyyy-MM-dd HH:mm:ss");
|
}
|
else if (n == 0)
|
{
|
return Convert.ToDateTime("1900-01-01").ToString("yyyy-MM-dd");
|
}
|
else
|
{
|
return Convert.ToDateTime("1900-01-01 00:00:00").ToString("HH:mm:ss");
|
}
|
}
|
try
|
{
|
if (n == -1)
|
{
|
return Convert.ToDateTime(oVal).ToString("yyyy-MM-dd HH:mm:ss");
|
}
|
else if (n == 0)
|
{
|
return Convert.ToDateTime(oVal).ToString("yyyy-MM-dd");
|
}
|
else
|
{
|
return Convert.ToDateTime(oVal).ToString("HH:mm:ss");
|
}
|
}
|
catch (Exception e)
|
{
|
if (n == -1)
|
{
|
return Convert.ToDateTime("1900-01-01 00:00:00").ToString("yyyy-MM-dd hh:mm:ss");
|
}
|
else if (n == 0)
|
{
|
return Convert.ToDateTime("1900-01-01").ToString("yyyy-MM-dd");
|
}
|
else
|
{
|
return Convert.ToDateTime("1900-01-01 00:00:00").ToString("hh:mm:ss");
|
}
|
}
|
}
|
|
|
//转化为密码
|
public static string StrToPsd(string Str)
|
{
|
string MmJm = "";
|
int Zf = 0;
|
for (int i = 0; i <= Str.Length - 1; i++)
|
{
|
Zf = ChrToAsc(Str.Substring(i, 1)) + ChrToAsc(Str.Substring(Str.Length - i - 1, 1)) + Str.Length + 1 + i;
|
MmJm = MmJm + Zf.ToString().Trim();
|
}
|
return MmJm;
|
}
|
|
//字符转ASCII码:
|
public static int ChrToAsc(string character)
|
{
|
if (character.Length == 1)
|
{
|
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
|
int intAsciiCode = (int)asciiEncoding.GetBytes(character)[0];
|
return (intAsciiCode);
|
}
|
else
|
{
|
throw new Exception("Character is not valid.");
|
}
|
}
|
|
//ASCII码转字符:
|
public static string AscToChr(int asciiCode)
|
{
|
if (asciiCode >= 0 && asciiCode <= 255)
|
{
|
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
|
byte[] byteArray = new byte[] { (byte)asciiCode };
|
string strCharacter = asciiEncoding.GetString(byteArray);
|
return (strCharacter);
|
}
|
else
|
{
|
throw new Exception("ASCII Code is not valid.");
|
}
|
}
|
//数据导出
|
public static bool ExportGrid(Form oFrm)
|
{
|
foreach (Control ct in oFrm.Controls)
|
{
|
switch (ct.GetType().Name)
|
{
|
case "AxVSFlexGrid":
|
try
|
{
|
//string s = "";
|
//AxVSFlex7.AxVSFlexGrid ogrd;
|
//ogrd = (AxVSFlex7.AxVSFlexGrid)ct;
|
////选择路径
|
//SaveFileDialog oDlg = new SaveFileDialog();
|
//oDlg.Title = "数据导出";
|
//oDlg.Filter = "数据格式(*.XLS)|*.XLS|数据格式(*.CSV)|*.CSV";
|
//oDlg.ShowDialog();
|
//if (oDlg.FileName.Trim() != "")
|
//{
|
// ogrd.SaveGrid(oDlg.FileName, VSFlex7.SaveLoadSettings.flexFileTabText, true);
|
//}
|
return true;
|
}
|
catch (Exception e)
|
{
|
return false;
|
}
|
default:
|
|
break;
|
}
|
}
|
return false;
|
}
|
//拷贝表格
|
public static bool CopyGrid(Form oFrm)
|
{
|
foreach (Control ct in oFrm.Controls)
|
{
|
switch (ct.GetType().Name)
|
{
|
case "AxVSFlexGrid":
|
try
|
{
|
//string s = "";
|
//AxVSFlex7.AxVSFlexGrid ogrd;
|
//ogrd = (AxVSFlex7.AxVSFlexGrid)ct;
|
//s = ogrd.get_Cell(VSFlex7.CellPropertySettings.flexcpText, 0, 0, ogrd.Rows - 1, ogrd.Cols - 1).ToString();
|
//Clipboard.Clear();
|
//Clipboard.SetText(s);
|
return true;
|
}
|
catch (Exception e)
|
{
|
return false;
|
}
|
default:
|
|
break;
|
}
|
}
|
return false;
|
}
|
|
//遍历子控件
|
public static void ForEachControl(Control oControl, bool b)
|
{
|
foreach (Control ct in oControl.Controls)
|
{
|
if (ct.HasChildren == true)
|
{
|
ForEachControl(ct, b);
|
}
|
else
|
{
|
switch (ct.GetType().Name)
|
{
|
case "AxVSFlexGrid":
|
try
|
{
|
if (b)
|
{
|
string s = "";
|
//AxVSFlex7.AxVSFlexGrid ogrd;
|
//ogrd = (AxVSFlex7.AxVSFlexGrid)ct;
|
//s = ogrd.get_Cell(VSFlex7.CellPropertySettings.flexcpText, 0, 0, ogrd.Rows - 1, ogrd.Cols - 1).ToString();
|
//Clipboard.Clear();
|
//Clipboard.SetText(s);
|
//MessageBox.Show("拷贝成功!");
|
return;
|
}
|
else
|
{
|
string s = "";
|
//AxVSFlex7.AxVSFlexGrid ogrd;
|
//ogrd = (AxVSFlex7.AxVSFlexGrid)ct;
|
////选择路径
|
//SaveFileDialog oDlg = new SaveFileDialog();
|
//oDlg.Title = "数据导出";
|
//oDlg.Filter = "数据格式(*.XLS)|*.XLS|数据格式(*.CSV)|*.CSV";
|
//oDlg.ShowDialog();
|
//if (oDlg.FileName.Trim() != "")
|
//{
|
// ogrd.SaveGrid(oDlg.FileName, VSFlex7.SaveLoadSettings.flexFileTabText, true);
|
//}
|
//MessageBox.Show("导出成功!");
|
return;
|
}
|
}
|
catch (Exception e)
|
{
|
return;
|
}
|
default:
|
|
break;
|
}
|
}
|
}
|
}
|
|
|
|
//得到下查SQL
|
public static string GetDownBillSql(ref string HBillType, ref string tRight, ref string FrmName, ref string FrmCaption, ref string sViewName, string SourceType, long SourceMainID, long SourceSubID)
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds;
|
try
|
{
|
//得到下查单据 类型
|
Ds = oCn.RunProcReturn("exec h_p_Xt_GetDownBillSql " + SourceMainID.ToString() + "," + SourceSubID.ToString() + ",'" + SourceType.Trim() + "'", "gy_czygl");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return "";
|
}
|
HBillType = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
|
tRight = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRightName"]);
|
FrmCaption = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HName"]);
|
FrmName = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HTemplate"]);
|
sViewName = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HViewName"]);
|
return "select top 10000 * from " + sViewName + " Where 源单主内码=" + ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceInterID"]) +
|
" and 源单子内码=" + ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceEntryID"]) +
|
" and 源单类型='" + ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceBillType"]) + "'";
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("关联信息失败,原因: " + e.Message);
|
return "";
|
}
|
|
|
}
|
|
//得到上查SQL
|
public static string GetUpBillSql(ref string HBillType, ref string tRight, ref string FrmName, ref string FrmCaption, ref string sViewName, string SourceType, long SourceMainID, long SourceSubID)
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet Ds;
|
try
|
{
|
//得到下查单据 类型
|
Ds = oCn.RunProcReturn("exec h_p_Xt_GetUpBillSql " + SourceMainID.ToString() + "," + SourceSubID.ToString() + ",'" + SourceType.Trim() + "'", "gy_czygl");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return "";
|
}
|
HBillType = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]);
|
tRight = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRightName"]);
|
FrmCaption = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HName"]);
|
FrmName = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HTemplate"]);
|
sViewName = ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HViewName"]);
|
return "select top 10000 * from " + sViewName + " Where hmainid=" + ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HInterID"]) +
|
" and hsubid=" + ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HEntryID"]) +
|
" and 单据类型='" + ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBillType"]) + "'";
|
}
|
catch (Exception e)
|
{
|
MessageBox.Show("关联信息失败,原因: " + e.Message);
|
return "";
|
}
|
}
|
|
//根据名字获取K3用户ID
|
/// <summary>
|
/// 根据名字获取K3用户ID
|
/// </summary>
|
/// <param name="HUserName"></param>
|
/// <returns></returns>
|
public static long GetUser_K3(string HUserName)
|
{
|
try
|
{
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
DataSet ds;
|
long HK3UserID = 0;
|
ds = oCn.RunProcReturn("select * from h_v_K3_User where hname='" + HUserName + "'", "xt_xtgnb");
|
if (ds == null || ds.Tables[0].Rows.Count == 0)
|
{
|
return 0;
|
}
|
HK3UserID = ClsPub.isLong(ds.Tables[0].Rows[0]["hitemid"]);
|
return HK3UserID;
|
}
|
catch (Exception e)
|
{
|
return 0;
|
}
|
}
|
|
|
//得到电脑名和IP
|
public static void SetIPAddress()
|
{
|
IPAddress[] arrIPAddresses = Dns.GetHostAddresses(Dns.GetHostName());
|
foreach (IPAddress ip in arrIPAddresses)
|
{
|
if (ip.AddressFamily.Equals(AddressFamily.InterNetwork))
|
{
|
IPAddress = ip.ToString();
|
ComputerName = System.Net.Dns.GetHostName();
|
}
|
}
|
}
|
|
//成本结账得到当前会计年份
|
public static bool Sub_CBGetCurPeriod()
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select top 1 HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where HCBEndFlag=0 order by HYear,HPeriod", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
ClsPub.CBCurYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
ClsPub.CBCurPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
ClsPub.CBCurBDate = ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"].ToString());
|
ClsPub.CBCurEDate = ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"].ToString());
|
return true;
|
}
|
}
|
//消费结账得到当前会计年份
|
public static bool Sub_XFGetCurPeriod()
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select top 1 HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where HXFEndFlag=0 order by HYear,HPeriod", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
ClsPub.XFCurYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
ClsPub.XFCurPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
ClsPub.XFCurBDate = ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"].ToString());
|
ClsPub.XFCurEDate = ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"].ToString());
|
return true;
|
}
|
}
|
//考勤结账得到当前会计年份
|
public static bool Sub_KQGetCurPeriod()
|
{
|
DataSet Ds = new DataSet();
|
ClsSqlHelper oCn = new ClsSqlHelper();
|
Ds = oCn.RunProcReturn("select top 1 HYear,HPeriod,HBeginDate,HEndDate from xt_AcCountPeriod where HKqEndFlag=0 order by HYear,HPeriod", "xt_AcCountPeriod");
|
if (Ds == null || Ds.Tables[0].Rows.Count == 0)
|
{
|
return false;
|
}
|
else
|
{
|
ClsPub.KQCurYear = ClsPub.isInt(Ds.Tables[0].Rows[0]["HYear"].ToString());
|
ClsPub.KQCurPeriod = ClsPub.isInt(Ds.Tables[0].Rows[0]["HPeriod"].ToString());
|
ClsPub.KQCurBDate = ClsPub.isDate(Ds.Tables[0].Rows[0]["HBeginDate"].ToString());
|
ClsPub.KQCurEDate = ClsPub.isDate(Ds.Tables[0].Rows[0]["HEndDate"].ToString());
|
return true;
|
}
|
}
|
|
//设置 年 月 下拉框
|
public static void Sub_SetYearPeriodCmb(ComboBox oYearCmb,ComboBox oPeriodCmb)
|
{
|
oYearCmb.Items.Clear();
|
oYearCmb.Items.Add(DateTime.Today.Year - 10);
|
oYearCmb.Items.Add(DateTime.Today.Year - 9);
|
oYearCmb.Items.Add(DateTime.Today.Year - 8);
|
oYearCmb.Items.Add(DateTime.Today.Year - 7);
|
oYearCmb.Items.Add(DateTime.Today.Year - 6);
|
oYearCmb.Items.Add(DateTime.Today.Year - 5);
|
oYearCmb.Items.Add(DateTime.Today.Year - 4);
|
oYearCmb.Items.Add(DateTime.Today.Year - 3);
|
oYearCmb.Items.Add(DateTime.Today.Year - 2);
|
oYearCmb.Items.Add(DateTime.Today.Year - 1);
|
oYearCmb.Items.Add(DateTime.Today.Year);
|
oYearCmb.Items.Add(DateTime.Today.Year + 1);
|
oYearCmb.Items.Add(DateTime.Today.Year + 2);
|
oYearCmb.Items.Add(DateTime.Today.Year + 3);
|
oYearCmb.Items.Add(DateTime.Today.Year + 4);
|
oYearCmb.SelectedIndex = 10;
|
oPeriodCmb.Items.Clear();
|
//oPeriodCmb.Items.Add("0");
|
oPeriodCmb.Items.Add("1");
|
oPeriodCmb.Items.Add("2");
|
oPeriodCmb.Items.Add("3");
|
oPeriodCmb.Items.Add("4");
|
oPeriodCmb.Items.Add("5");
|
oPeriodCmb.Items.Add("6");
|
oPeriodCmb.Items.Add("7");
|
oPeriodCmb.Items.Add("8");
|
oPeriodCmb.Items.Add("9");
|
oPeriodCmb.Items.Add("10");
|
oPeriodCmb.Items.Add("11");
|
oPeriodCmb.Items.Add("12");
|
oPeriodCmb.Text = DateTime.Today.Month.ToString();
|
}
|
|
/// <summary>
|
/// DataTable转成Json
|
/// </summary>
|
/// <param name="jsonName"></param>
|
/// <param name="dt"></param>
|
/// <returns></returns>
|
public static string DataTableToJson(DataTable dt, string jsonName)
|
{
|
StringBuilder Json = new StringBuilder();
|
if (string.IsNullOrEmpty(jsonName))
|
jsonName = dt.TableName;
|
Json.Append("{" + jsonName + ":[");
|
//Json.Append("[");
|
if (dt.Rows.Count > 0)
|
{
|
for (int i = 0; i < dt.Rows.Count; i++)
|
{
|
Json.Append("{");
|
for (int j = 0; j < dt.Columns.Count; j++)
|
{
|
Type type = dt.Rows[i][j].GetType();
|
Json.Append("" + dt.Columns[j].ColumnName.ToString().ToLower() + ":" + StringFormat(dt.Rows[i][j].ToString(), type));
|
if (j < dt.Columns.Count - 1)
|
{
|
Json.Append(",");
|
}
|
}
|
Json.Append("}");
|
if (i < dt.Rows.Count - 1)
|
{
|
Json.Append(",");
|
}
|
}
|
}
|
//Json.Append("]}");
|
Json.Append("]}");
|
Json.Replace(Convert.ToChar("\""), Convert.ToChar("\'"));
|
return Json.ToString();
|
}
|
|
|
/// <summary>
|
/// 格式化字符型、日期型、布尔型
|
/// </summary>
|
/// <param name="str"></param>
|
/// <param name="type"></param>
|
/// <returns></returns>
|
private static string StringFormat(string str, Type type)
|
{
|
if (type == typeof(string))
|
{
|
str = String2Json(str);
|
str = "\"" + str + "\"";
|
}
|
else if (type == typeof(DateTime))
|
{
|
str = "\"" + str + "\"";
|
}
|
else if (type == typeof(bool))
|
{
|
str = str.ToLower();
|
}
|
return str;
|
}
|
|
|
|
|
/// <summary>
|
/// 过滤特殊字符
|
/// </summary>
|
/// <param name="s"></param>
|
/// <returns></returns>
|
private static string String2Json(String s)
|
{
|
StringBuilder sb = new StringBuilder();
|
for (int i = 0; i < s.Length; i++)
|
{
|
char c = s.ToCharArray()[i];
|
switch (c)
|
{
|
case '\"':
|
sb.Append("\\\""); break;
|
case '\\':
|
sb.Append("\\\\"); break;
|
case '/':
|
sb.Append("\\/"); break;
|
case '\b':
|
sb.Append("\\b"); break;
|
case '\f':
|
sb.Append("\\f"); break;
|
case '\n':
|
sb.Append("\\n"); break;
|
case '\r':
|
sb.Append("\\r"); break;
|
case '\t':
|
sb.Append("\\t"); break;
|
default:
|
sb.Append(c); break;
|
}
|
}
|
return sb.ToString();
|
}
|
}
|
}
|