You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
395 lines
21 KiB
C#
395 lines
21 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using DSWeb.MvcShipping.Models.MsCompanys;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using DSWeb.EntityDA;
|
|
using DSWeb.Areas.CommMng.Models;
|
|
using HcUtility.Comm;
|
|
using System.Data.SqlClient;
|
|
using System.IO;
|
|
|
|
namespace DSWeb.MvcShipping.DAL.MsCompanysDAL
|
|
{
|
|
public class MsCompanysDAL
|
|
{
|
|
#region 查询
|
|
static public List<MsCompanysEntity> GetDataList(string strPath, string strPhotoPath, string strCondition, string userid, string usercode, string companyid, string sort = null)
|
|
{
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
//
|
|
String strSql = "SELECT *,MODIFIEDUSERNAME=(select top 1 SHOWNAME from [user] where gid=[company].MODIFIEDUSER) FROM [company] ";
|
|
strSql = strSql + " where (ISDELETED=0 or ISDELETED is null) "; //and (ISDISABLE=0 or ISDISABLE is null)
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql += " and " + strCondition;
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql += " order by " + sortstring;
|
|
}
|
|
else
|
|
{
|
|
strSql += " order by [CODENAME],[NAME]";
|
|
}
|
|
return SetData(strPath, strPhotoPath, strSql);
|
|
}
|
|
|
|
static public string GetDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null)
|
|
{
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
//
|
|
String strSql = "SELECT *,MODIFIEDUSERNAME=(select top 1 SHOWNAME from [user] where gid=[company].MODIFIEDUSER) FROM [company] where (ISDELETED=0 or ISDELETED is null) and (ISDISABLE=0 or ISDISABLE is null)";
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql += " and " + strCondition;
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql += " order by " + sortstring;
|
|
}
|
|
else
|
|
{
|
|
strSql += " order by [CODENAME],[NAME]";
|
|
}
|
|
return strSql.ToString();
|
|
}
|
|
|
|
static public MsCompanysEntity GetData(string strPath, string strPhotoPath, string strCondition)
|
|
{
|
|
String strSql = "SELECT *,MODIFIEDUSERNAME=(select top 1 SHOWNAME from [user] where gid=[company].MODIFIEDUSER) FROM [company] where (ISDELETED=0 or ISDELETED is null) ";//and (ISDISABLE=0 or ISDISABLE is null)
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql += " and " + strCondition;
|
|
}
|
|
var list = SetData(strPath, strPhotoPath, strSql);
|
|
if (list.Count > 0)
|
|
{
|
|
return list[0];
|
|
}
|
|
return new MsCompanysEntity();
|
|
}
|
|
|
|
static public List<MsCompanysEntity> GetNoPicDataList(string strCondition)
|
|
{
|
|
//
|
|
String strSql = "SELECT *,CODENAME + '-' + NAME AS CodeAndName,MODIFIEDUSERNAME=(select top 1 SHOWNAME from [user] where gid=[company].MODIFIEDUSER) FROM [company] ";
|
|
strSql = strSql + " where (ISDELETED=0 or ISDELETED is null) "; //and (ISDISABLE=0 or ISDISABLE is null)
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql += " and " + strCondition;
|
|
}
|
|
|
|
strSql += " order by [CODENAME],[NAME]";
|
|
|
|
return SetNoPicData(strSql);
|
|
}
|
|
|
|
static public MsCompanysEntity GetNoPicData(string strCondition)
|
|
{
|
|
String strSql = "SELECT *,CODENAME + '-' + NAME AS CodeAndName,MODIFIEDUSERNAME=(select top 1 SHOWNAME from [user] where gid=[company].MODIFIEDUSER) FROM [company] where (ISDELETED=0 or ISDELETED is null) and (ISDISABLE=0 or ISDISABLE is null)";
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql += " and " + strCondition;
|
|
}
|
|
var list = SetNoPicData(strSql);
|
|
if (list.Count > 0)
|
|
{
|
|
return list[0];
|
|
}
|
|
return new MsCompanysEntity();
|
|
}
|
|
|
|
private static List<MsCompanysEntity> SetData(string strPath,string strPhotoPath, String strSql)
|
|
{
|
|
var headList = new List<MsCompanysEntity>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsCompanysEntity data = new MsCompanysEntity();
|
|
#region Set DB data to Object
|
|
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//GID
|
|
|
|
data.CODENAME = (reader["CODENAME"] == null ? "" : Convert.ToString(reader["CODENAME"]));//CODENAME
|
|
data.NAME = (reader["NAME"] == null ? "" : Convert.ToString(reader["NAME"]));//NAME
|
|
data.FULLNAME = (reader["FULLNAME"] == null ? "" : Convert.ToString(reader["FULLNAME"]));//FULLNAME
|
|
data.ENNAME = (reader["ENNAME"] == null ? "" : Convert.ToString(reader["ENNAME"]));//公司英文名称
|
|
data.ADDRESS = (reader["ADDRESS"] == null ? "" : Convert.ToString(reader["ADDRESS"]));//ADDRESS
|
|
data.ENADDRESS = (reader["ENADDRESS"] == null ? "" : Convert.ToString(reader["ENADDRESS"]));//公司英文地址
|
|
data.POSTCODE = (reader["POSTCODE"] == null ? "" : Convert.ToString(reader["POSTCODE"]));//POSTCODE
|
|
data.OFFICEPHONE = (reader["OFFICEPHONE"] == null ? "" : Convert.ToString(reader["OFFICEPHONE"]));//OFFICEPHONE
|
|
data.FAX = (reader["FAX"] == null ? "" : Convert.ToString(reader["FAX"]));//FAX
|
|
data.EMAIL = (reader["EMAIL"] == null ? "" : Convert.ToString(reader["EMAIL"]));//EMAIL
|
|
data.WEBSITEURL = (reader["WEBSITEURL"] == null ? "" : Convert.ToString(reader["WEBSITEURL"]));//WEBSITEURL
|
|
data.LICENSECODE = (reader["LICENSECODE"] == null ? "" : Convert.ToString(reader["LICENSECODE"]));//LICENSECODE
|
|
data.TAXCODE = (reader["TAXCODE"] == null ? "" : Convert.ToString(reader["TAXCODE"]));//TAXCODE
|
|
data.CREATEUSER = (reader["CREATEUSER"] == null ? "" : Convert.ToString(reader["CREATEUSER"]));//CREATEUSER
|
|
if (reader["CREATETIME"] != DBNull.Value)
|
|
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]);
|
|
data.MODIFIEDUSER = (reader["MODIFIEDUSER"] == null ? "" : Convert.ToString(reader["MODIFIEDUSER"]));//更新人gid
|
|
if (reader["MODIFIEDTIME"] != DBNull.Value)
|
|
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]);
|
|
data.ISDELETED = (reader["ISDELETED"] == null ? false : Convert.ToBoolean(reader["ISDELETED"]));//ISDELETED
|
|
data.ISDISABLE = (reader["ISDISABLE"] == null ? false : Convert.ToBoolean(reader["ISDISABLE"]));//ISDISABLE
|
|
data.PARENTID = (reader["PARENTID"] == null ? "" : Convert.ToString(reader["PARENTID"]));//PARENTID
|
|
data.BILLRISES = (reader["BILLRISES"] == null ? "" : Convert.ToString(reader["BILLRISES"]));//发票抬头
|
|
data.CHEQUEPAYABLE = (reader["CHEQUEPAYABLE"] == null ? "" : Convert.ToString(reader["CHEQUEPAYABLE"]));//支票抬头
|
|
data.PRTHEADXML1 = (reader["PRTHEADXML1"] == null ? "" : Convert.ToString(reader["PRTHEADXML1"]));//打印抬头1
|
|
data.PRTHEADXML2 = (reader["PRTHEADXML2"] == null ? "" : Convert.ToString(reader["PRTHEADXML2"]));//打印抬头2
|
|
data.PRTHEADXML3 = (reader["PRTHEADXML3"] == null ? "" : Convert.ToString(reader["PRTHEADXML3"]));//打印抬头3
|
|
data.PRTHEADXML4 = (reader["PRTHEADXML4"] == null ? "" : Convert.ToString(reader["PRTHEADXML4"]));//打印抬头4
|
|
data.PRTHEADXML5 = (reader["PRTHEADXML5"] == null ? "" : Convert.ToString(reader["PRTHEADXML5"]));//打印抬头5
|
|
data.BANKSHEAD = (reader["BANKSHEAD"] == null ? "" : Convert.ToString(reader["BANKSHEAD"]));//BANKSHEAD
|
|
data.GPSUser = (reader["GPSUser"] == null ? "" : Convert.ToString(reader["GPSUser"]));//GPSUser
|
|
data.GPSPassWord = (reader["GPSPassWord"] == null ? "" : Convert.ToString(reader["GPSPassWord"]));//GPSPassWord
|
|
data.ORGANIZATIONCODE = (reader["ORGANIZATIONCODE"] == null ? "" : Convert.ToString(reader["ORGANIZATIONCODE"]));
|
|
data.MODIFIEDUSERNAME = (reader["MODIFIEDUSERNAME"] == null ? "" : Convert.ToString(reader["MODIFIEDUSERNAME"]));//更改人
|
|
data.LOGO = null;//徽标
|
|
if (reader["LOGO"] != DBNull.Value)
|
|
{
|
|
data.LOGO = (byte[])reader["LOGO"];//徽标
|
|
}
|
|
data.LOGOURL = getLOGO(data.LOGO, data.GID, strPath, strPhotoPath); ;//徽标
|
|
data.LOCALCURR = (reader["LOCALCURR"] == null ? "" : Convert.ToString(reader["LOCALCURR"]));//本地货币
|
|
data.WORKFLOWMSG = (reader["WORKFLOWMSG"] == null ? "" : Convert.ToString(reader["WORKFLOWMSG"]));//是否消息提示
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
private static List<MsCompanysEntity> SetNoPicData(String strSql)
|
|
{
|
|
var headList = new List<MsCompanysEntity>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsCompanysEntity data = new MsCompanysEntity();
|
|
#region Set DB data to Object
|
|
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//GID
|
|
data.CodeAndName = Convert.ToString(reader["CodeAndName"]);
|
|
data.CODENAME = (reader["CODENAME"] == null ? "" : Convert.ToString(reader["CODENAME"]));//CODENAME
|
|
data.NAME = (reader["NAME"] == null ? "" : Convert.ToString(reader["NAME"]));//NAME
|
|
data.FULLNAME = (reader["FULLNAME"] == null ? "" : Convert.ToString(reader["FULLNAME"]));//FULLNAME
|
|
data.ENNAME = (reader["ENNAME"] == null ? "" : Convert.ToString(reader["ENNAME"]));//公司英文名称
|
|
data.ADDRESS = (reader["ADDRESS"] == null ? "" : Convert.ToString(reader["ADDRESS"]));//ADDRESS
|
|
data.ENADDRESS = (reader["ENADDRESS"] == null ? "" : Convert.ToString(reader["ENADDRESS"]));//公司英文地址
|
|
data.POSTCODE = (reader["POSTCODE"] == null ? "" : Convert.ToString(reader["POSTCODE"]));//POSTCODE
|
|
data.OFFICEPHONE = (reader["OFFICEPHONE"] == null ? "" : Convert.ToString(reader["OFFICEPHONE"]));//OFFICEPHONE
|
|
data.FAX = (reader["FAX"] == null ? "" : Convert.ToString(reader["FAX"]));//FAX
|
|
data.EMAIL = (reader["EMAIL"] == null ? "" : Convert.ToString(reader["EMAIL"]));//EMAIL
|
|
data.WEBSITEURL = (reader["WEBSITEURL"] == null ? "" : Convert.ToString(reader["WEBSITEURL"]));//WEBSITEURL
|
|
data.LICENSECODE = (reader["LICENSECODE"] == null ? "" : Convert.ToString(reader["LICENSECODE"]));//LICENSECODE
|
|
data.TAXCODE = (reader["TAXCODE"] == null ? "" : Convert.ToString(reader["TAXCODE"]));//TAXCODE
|
|
data.CREATEUSER = (reader["CREATEUSER"] == null ? "" : Convert.ToString(reader["CREATEUSER"]));//CREATEUSER
|
|
if (reader["CREATETIME"] != DBNull.Value)
|
|
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]);
|
|
data.MODIFIEDUSER = (reader["MODIFIEDUSER"] == null ? "" : Convert.ToString(reader["MODIFIEDUSER"]));//更新人gid
|
|
if (reader["MODIFIEDTIME"] != DBNull.Value)
|
|
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]);
|
|
data.ISDELETED = (reader["ISDELETED"] == null ? false : Convert.ToBoolean(reader["ISDELETED"]));//ISDELETED
|
|
data.ISDISABLE = (reader["ISDISABLE"] == null ? false : Convert.ToBoolean(reader["ISDISABLE"]));//ISDISABLE
|
|
data.PARENTID = (reader["PARENTID"] == null ? "" : Convert.ToString(reader["PARENTID"]));//PARENTID
|
|
data.BILLRISES = (reader["BILLRISES"] == null ? "" : Convert.ToString(reader["BILLRISES"]));//发票抬头
|
|
data.CHEQUEPAYABLE = (reader["CHEQUEPAYABLE"] == null ? "" : Convert.ToString(reader["CHEQUEPAYABLE"]));//支票抬头
|
|
data.PRTHEADXML1 = (reader["PRTHEADXML1"] == null ? "" : Convert.ToString(reader["PRTHEADXML1"]));//打印抬头1
|
|
data.PRTHEADXML2 = (reader["PRTHEADXML2"] == null ? "" : Convert.ToString(reader["PRTHEADXML2"]));//打印抬头2
|
|
data.PRTHEADXML3 = (reader["PRTHEADXML3"] == null ? "" : Convert.ToString(reader["PRTHEADXML3"]));//打印抬头3
|
|
data.PRTHEADXML4 = (reader["PRTHEADXML4"] == null ? "" : Convert.ToString(reader["PRTHEADXML4"]));//打印抬头4
|
|
data.PRTHEADXML5 = (reader["PRTHEADXML5"] == null ? "" : Convert.ToString(reader["PRTHEADXML5"]));//打印抬头5
|
|
data.BANKSHEAD = (reader["BANKSHEAD"] == null ? "" : Convert.ToString(reader["BANKSHEAD"]));//BANKSHEAD
|
|
data.GPSUser = (reader["GPSUser"] == null ? "" : Convert.ToString(reader["GPSUser"]));//GPSUser
|
|
data.GPSPassWord = (reader["GPSPassWord"] == null ? "" : Convert.ToString(reader["GPSPassWord"]));//GPSPassWord
|
|
data.ORGANIZATIONCODE = (reader["ORGANIZATIONCODE"] == null ? "" : Convert.ToString(reader["ORGANIZATIONCODE"]));
|
|
data.MODIFIEDUSERNAME = (reader["MODIFIEDUSERNAME"] == null ? "" : Convert.ToString(reader["MODIFIEDUSERNAME"]));//更改人
|
|
data.DBNAME = Convert.ToString(reader["DBNAME"]);
|
|
data.LOCALCURR = (reader["LOCALCURR"] == null ? "" : Convert.ToString(reader["LOCALCURR"]));//本地货币
|
|
data.WORKFLOWMSG = (reader["WORKFLOWMSG"] == null ? "" : Convert.ToString(reader["WORKFLOWMSG"]));//是否消息提示
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
protected static string getLOGO(byte[] photo,string sGID,string strPath,string strPhotoPath)
|
|
{
|
|
//图片路径
|
|
//string strPath = "../../images/logo/" + sGID.Trim() + ".gif";
|
|
//string strPhotoPath = Server.MapPath(strPath);
|
|
if (sGID.Trim() != "" && photo!=null)
|
|
{
|
|
strPath = strPath.Replace("noImage", sGID.Trim());
|
|
strPhotoPath = strPhotoPath.Replace("noImage", sGID.Trim());
|
|
//保存图片文件
|
|
BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath, FileMode.OpenOrCreate));
|
|
bw.Write(photo);
|
|
bw.Close();
|
|
}
|
|
//显示图片
|
|
return strPath;
|
|
}
|
|
#endregion
|
|
|
|
#region Rang权限范围
|
|
public static string GetRangDAStr(string tb, string userid, string username, string companyid)
|
|
{
|
|
string str = "";
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT");
|
|
strSql.Append(" VISIBLERANGE,OPERATERANGE");
|
|
strSql.Append(" from VW_User_Authority");
|
|
strSql.Append(" where [NAME]='modCompanys' and USERID='" + userid + "' and ISDELETE=0");
|
|
|
|
string visiblerange = "4";
|
|
string operaterange = "4";
|
|
|
|
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"]);
|
|
break;
|
|
}
|
|
reader.Close();
|
|
}
|
|
if (visiblerange == "4")//无
|
|
{
|
|
str = " 1<0";
|
|
}
|
|
else if (visiblerange == "3")//个人
|
|
{
|
|
str = " 1<0";
|
|
}
|
|
else if (visiblerange == "2")//部门
|
|
{
|
|
str = " 1<0";
|
|
}
|
|
else if (visiblerange == "1")//公司
|
|
{
|
|
str = " GID='" + companyid + "'";
|
|
}
|
|
else if (visiblerange == "0")//全部
|
|
{
|
|
str = " 1=1 ";
|
|
}
|
|
return str;
|
|
}
|
|
#endregion
|
|
|
|
#region 添加日志
|
|
public static DBResult setLog(MsCompanysEntity modeldata, string strUserID)
|
|
{
|
|
DBResult result = new DBResult();
|
|
|
|
return result;
|
|
}
|
|
#endregion
|
|
|
|
#region 保存
|
|
public static DBResult Save(MsCompanysEntity headData)
|
|
{
|
|
DBResult result = new DBResult();
|
|
result.Success = true;
|
|
result.Message = "操作成功";
|
|
return result;
|
|
}
|
|
#endregion
|
|
|
|
#region 删除
|
|
public static DBResult Delete(MsCompanysEntity headData)
|
|
{
|
|
DBResult result = new DBResult();
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
|
string strSql = "SELECT top 1 LINKID as CORPID from sys_bank where LINKID in ('" + headData.GID + "') group by LINKID";
|
|
string strCORPID = T_ALL_DA.GetStrSQL("CORPID", strSql);
|
|
if (strCORPID.Trim() != "")
|
|
{
|
|
result.Success = false;
|
|
result.Message = "企业拥有银行信息,请先删除!";
|
|
return result;
|
|
}
|
|
//
|
|
strSql = "SELECT top 1 LINKID as CORPID from sys_dept where LINKID in ('" + headData.GID + "') group by LINKID";
|
|
strCORPID = T_ALL_DA.GetStrSQL("CORPID", strSql);
|
|
if (strCORPID.Trim() != "")
|
|
{
|
|
result.Success = false;
|
|
result.Message = "企业拥有部门信息,请先删除!";
|
|
return result;
|
|
}
|
|
//
|
|
strSql = "SELECT top 1 CORPID from VW_Settlement where CORPID in ('" + headData.GID + "') group by CORPID";
|
|
strCORPID = T_ALL_DA.GetStrSQL("CORPID", strSql);
|
|
if (strCORPID.Trim() != "")
|
|
{
|
|
result.Success = false;
|
|
result.Message = "企业拥有业务信息,请先删除!";
|
|
return result;
|
|
}
|
|
//
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
//var cmdDelete = db.GetSqlStringCommand("delete from [company] where GID='" + headData.GID + "'");
|
|
var cmdDelete = db.GetSqlStringCommand("update [company] set ISDELETED=1 where GID='" + headData.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试";
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "操作成功";
|
|
return result;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|