BaoKai_202508_Wms_Jingwang_.../WMS.SqlServerData/SystemManageData/CompanyData.cs
2025-08-24 21:52:42 +08:00

455 lines
19 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.Model.Base;
using WMS.IData.IBase;
using WMS.IData;
using Oracle.ManagedDataAccess.Client;
using WMS.Common;
using WMS.DBUtility;
using WMS.Model.SystemManage;
namespace WMS.SqlServerData.BaseData
{
public class CompanyData : ICompany
{
#region
/// <summary>
/// 根据查询条件获取公司信息结果集
/// </summary>
/// <param name="strComName">公司名称</param>
/// <param name="strComShortName">公司简称</param>
/// <returns>公司信息结果集</returns>
public List<CompanyModel> GetCompanytDataSet(string strComName, string strComShortName)
{
List<CompanyModel> listMenuFrm = new List<CompanyModel>();
string sqlStr =@"select t.*,a.com_name as group_name,CASE WHEN COM_STATUS ='1' THEN '启用' WHEN COM_STATUS = '0' THEN '停用' END as statusName
from T_BASE_COMPANY t right join (select com_id, com_name from T_BASE_COMPANY ) a
on a.com_id = t.group_id ";
if (strComName != "")
{
sqlStr += " and com_name like '%" + strComName + "%' ";
}
if (strComShortName != "")
{
sqlStr += " and short like '%" + strComShortName + "%' ";
}
sqlStr = sqlStr + " where t.group_id!='-1' order by t.group_id,t.COM_ORDER";
DataTable table = SystemDataObject.Instance.GetDataTable(sqlStr);
if (table != null)
{
listMenuFrm = ConvertHelper<CompanyModel>.ConvertToList(table);
}
return listMenuFrm;
}
#endregion
/// <summary>
/// 根据查询条件获取公司信息结果集
/// </summary>
/// <param name="strComName">公司名称</param>
/// <param name="strComShortName">公司简称</param>
/// <returns>公司信息结果集</returns>
public DataTable GetCompanyData(string strComName, string strComShortName)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select t.*, ");
strSql.Append(" a.com_name as GROUP_NAME, ");
strSql.Append(" u.Name NAME, ");
strSql.Append(" CASE ");
strSql.Append(" WHEN COM_STATUS = '1' THEN ");
strSql.Append(" '启用' ");
strSql.Append(" WHEN COM_STATUS = '0' THEN ");
strSql.Append(" '停用' ");
strSql.Append(" END as statusName ");
strSql.Append(" from T_BASE_COMPANY t ");
strSql.Append(" left join (select com_id, com_name from T_BASE_COMPANY) a ");
strSql.Append(" on a.com_id = t.group_id ");
strSql.Append(" left join T_BASE_USERINFO u ");
strSql.Append(" on t.user_id = u.user_id ");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 以实体为参数 获得 数据集
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DataTable GetCompanyData(CompanyModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select t.*, ");
strSql.Append(" a.com_name as GROUP_NAME, ");
strSql.Append(" u.Name NAME, ");
strSql.Append(" CASE ");
strSql.Append(" WHEN COM_STATUS = '1' THEN ");
strSql.Append(" '启用' ");
strSql.Append(" WHEN COM_STATUS = '0' THEN ");
strSql.Append(" '停用' ");
strSql.Append(" END as statusName ");
strSql.Append(" from T_BASE_COMPANY t ");
strSql.Append(" left join (select com_id, com_name from T_BASE_COMPANY) a ");
strSql.Append(" on a.com_id = t.group_id ");
strSql.Append(" left join T_BASE_USERINFO u ");
strSql.Append(" on t.user_id = u.user_id where 1 = 1 ");
if (!string.IsNullOrEmpty(model.GROUP_ID))
{
strSql.Append(" and t.GROUP_ID='" + model.GROUP_ID + "'");
}
if (!string.IsNullOrEmpty(model.COM_ID))
{
strSql.Append(" and t.COM_ID='" + model.COM_ID + "'");
}
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 根据部门编号获得该部门下的所有角色
/// </summary>
/// <param name="com_id"></param>
/// <returns></returns>
public DataTable GetRoleDataByComID(string com_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(@"select *
from T_BASE_ROLEDICTIONARY
where role_id in (select role_id
from T_BASE_ROLEDEPART r
left join T_BASE_COMPANY t
on r.dep_id = t.com_id
where t.com_id = ");
strSql.Append("'" + com_id + "')");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 根据用户编号获得 最底层所有部门信息 为获得当前部门下所有角色服务
/// </summary>
/// <param name="user_id"></param>
/// <returns></returns>
public DataTable GetChildrenNodeCompanyData(string user_id)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" select b.com_id, b.com_name, group_id, 1 SELECTED ");
strSql.Append(" from t_base_company b ");
strSql.Append(" where b.com_id in ");
strSql.Append(" (select t.dep_id from t_Base_Userdepart t where t.user_id = '" + user_id + "') ");
strSql.Append(" and b.com_id not in (select group_id from T_BASE_COMPANY)");
strSql.Append(" union");
strSql.Append(" select b.com_id, b.com_name, group_id, 0 SELECTED");
strSql.Append(" from t_base_company b");
strSql.Append(" where b.com_id not in ");
strSql.Append(" (select t.dep_id from t_Base_Userdepart t where t.user_id = '" + user_id + "')");
strSql.Append(" and b.com_id not in (select group_id from T_BASE_COMPANY) ");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
#region
public int OperateAddCompany(CompanyModel companyModel)
{
string strInsert = string.Format(@"insert into t_Base_Company(GROUP_ID,SHORT,
COM_DISC,COM_DATE,com_name, com_pname, com_sname, com_city, com_dpc,
com_order,com_status,com_add, com_type ,COM_ID)
values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',
'{11}','{12}','{13}')",
companyModel.GROUP_ID, companyModel.SHORT, companyModel.COM_DISC, companyModel.COM_DATE, companyModel.COM_NAME,
companyModel.COM_PNAME, companyModel.COM_SNAME, companyModel.COM_CITY, companyModel.COM_DPC,
companyModel.COM_ORDER, companyModel.COM_STATUS, companyModel.COM_ADD,
companyModel.COM_TYPE, companyModel.COM_ID);
return SystemDataObject.Instance.ExecuteSqlCommit(strInsert, null);
}
/// <summary>
/// 操作机构信息(增删改)
/// </summary>
/// <param name="companyModel">机构信息model</param>
/// <param name="flg">0新增 1修改</param>
/// <returns></returns>
public int OperateUpdateCompany(CompanyModel companyModel)
{
string sqlcompanySet =@"update t_base_company set GROUP_ID=:GROUP_ID,SHORT=:SHORT,
COM_DISC=:COM_DISC,COM_DATE=:COM_DATE,
com_name=:com_name, com_pname=:com_pname, com_sname=:com_sname,
com_city=:com_city, com_dpc=:com_dpc,
com_order=:com_order,com_status=:com_status,
com_add=:com_add,com_type=:com_type where COM_ID=:COM_ID";
OracleParameter[] parameter = new OracleParameter[]
{
new OracleParameter(":GROUP_ID",OracleDbType.Varchar2),
new OracleParameter(":SHORT",OracleDbType.Varchar2),
new OracleParameter(":COM_DISC",OracleDbType.Varchar2),
new OracleParameter(":COM_DATE",OracleDbType.Date),
new OracleParameter(":com_name",OracleDbType.Varchar2),
new OracleParameter(":com_pname",OracleDbType.Varchar2),
new OracleParameter(":com_sname",OracleDbType.Varchar2),
new OracleParameter(":com_city",OracleDbType.Varchar2),
new OracleParameter(":com_dpc",OracleDbType.Varchar2),
new OracleParameter(":com_order",OracleDbType.Varchar2),
new OracleParameter(":com_status",OracleDbType.Varchar2),
new OracleParameter(":com_add",OracleDbType.Varchar2),
new OracleParameter(":com_type",OracleDbType.Varchar2),
new OracleParameter(":COM_ID",OracleDbType.Varchar2)
};
parameter[0].Value = companyModel.GROUP_ID;
parameter[1].Value = companyModel.SHORT;
parameter[2].Value = companyModel.COM_DISC;
parameter[3].Value = companyModel.COM_DATE;
parameter[4].Value = companyModel.COM_NAME;
parameter[5].Value = companyModel.COM_PNAME;
parameter[6].Value = companyModel.COM_SNAME;
parameter[7].Value = companyModel.COM_CITY;
parameter[8].Value = companyModel.COM_DPC;
parameter[9].Value = companyModel.COM_ORDER;
parameter[10].Value = companyModel.COM_STATUS;
parameter[11].Value = companyModel.COM_ADD;
parameter[12].Value = companyModel.COM_TYPE;
parameter[13].Value = companyModel.COM_ID;
return SystemDataObject.Instance.ExecuteSqlCommit(sqlcompanySet, parameter);
}
/// <summary>
/// 机构信息的删除
/// </summary>
/// <param name="customer_id"></param>
public int CompanyDel(string com_id)
{
string sql =@"delete from t_base_company where COM_ID=:COM_ID";
OracleParameter[] parameters = new OracleParameter[] { new OracleParameter(":COM_ID",OracleDbType.Varchar2) };
parameters[0].Value = com_id;
return SystemDataObject.Instance.ExecuteSqlCommit(sql, parameters);
}
#endregion
#region
/// <summary>
/// 获取生成的公司所属集团编号
/// </summary>
/// <returns>公司所属集团编号</returns>
public string GetGroupId()
{
string strGroupId = "";
string sql = "select NEXT VALUE FOR SEQ_COMPANY_GROUP_ID;";
//string sql = "select max(com_id) from t_base_company t where t.group_id = '00' ";
DataTable dt = SystemDataObject.Instance.GetDataTable(sql);
strGroupId = dt.Rows[0][0].ToString();
return strGroupId;
}
#endregion
///// <summary>
/////查询机构编号是否唯一
///// </summary>
///// <param name="comId"></param>
///// <returns></returns>
public string GetComPanyId(string comId)
{
string sqlStr = "select Count(1)a from T_BASE_COMPANY where COM_ID='" + comId + "'";
DataTable table = SystemDataObject.Instance.GetDataTable(sqlStr);
if (table != null)
{
if (table.Rows.Count > 0)
{
return table.Rows[0]["a"].ToString();
}
}
return "0";
}
#region
/// <summary>
/// 根据公司编号获取单个公司信息
/// </summary>
/// <param name="strComID">公司编号</param>
/// <returns>公司信息</returns>
public DataSet getCompanytByComID(string strComID)
{
string sql =@" select
COM_ID,
ISNULL(GROUP_ID,'-1') GROUP_ID,
COM_NAME,
SHORT,
COM_DATE,
COM_DISC,
COM_TYPE
from T_BASE_COMPANY
where 1 = 1 ";
#region
if (strComID != "")
{
sql += " and COM_ID = '" + strComID + "' ";
}
#endregion
return SystemDataObject.Instance.GetDataSet(sql);
}
#endregion
#region
/// <summary>
/// 根据父编号获取其下公司信息
/// </summary>
/// <param name="strID">父编号</param>
/// <returns>公司信息</returns>
public DataTable getCompanytByGroupID(string strID)
{
string sql = "select d.* from T_BASE_COMPANY d start with d.group_id = '" + strID + "' connect by prior d.com_id = d.group_id";
return SystemDataObject.Instance.GetDataTable(sql);
}
#endregion
#region
/// <summary>
/// 根据公司编号删除单个公司信息
/// </summary>
/// <param name="strComID">公司编号</param>
/// <returns>公司信息</returns>
public DataSet deleteCompanytByComID(string strComID)
{
string sql =@" select
COM_ID,
ISNULL(GROUP_ID,'-1') GROUP_ID,
COM_NAME,
SHORT,
COM_DATE,
COM_DISC
from T_BASE_COMPANY
where 1 = 1 ";
#region
if (strComID != "")
{
sql += " and COM_ID = " + strComID + " ";
}
#endregion
return SystemDataObject.Instance.GetDataSet(sql);
}
#endregion
/// <summary>
/// 判断编号是否存在
/// </summary>
/// <param name="COM_ID">机构编号</param>
public string Exists(string COM_ID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from T_BASE_COMPANY");
strSql.Append(" where COM_ID='" + COM_ID + "'");
DataTable table = SystemDataObject.Instance.GetDataTable(strSql.ToString());
if (table != null)
{
if (table.Rows.Count > 0)
{
return table.Rows[0][0].ToString();
}
}
return "0";
}
/// <summary>
/// 新增一条组织机构信息
/// </summary>
/// <param name="model">公司Model</param>
public void AddCompanyData(CompanyModel model)
{
model.COM_DATE = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
string sqlInsert = string.Format(@"insert into T_BASE_COMPANY(
GROUP_ID,COM_DISC,COM_ID,COM_NAME,SHORT,
COM_DATE,COM_PNAME,COM_SNAME,COM_CITY,COM_DPC,
COM_TYPE,USER_ID,COM_ADD,COM_ZIP,COM_FAX,COM_ORDER,
COM_USER_ID,COM_PHONE,COM_STATUS,COM_EMAIL,
COM_PROVINCE,COM_TOWN) values ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}'
,'{13}','{14}',{15},'{16}','{17}','{18}','{19}','{20}','{21}')",
model.GROUP_ID, model.COM_DISC, model.COM_ID, model.COM_NAME, model.SHORT,
model.COM_DATE, model.COM_PNAME, model.COM_SNAME, model.COM_CITY, model.COM_DPC,
model.COM_TYPE, model.USER_ID, model.COM_ADD, model.COM_ZIP, model.COM_FAX, model.COM_ORDER,
model.COM_USER_ID, model.COM_PHONE, model.COM_STATUS, model.COM_EMAIL,
model.COM_PROVINCE, model.COM_TOWN
);
SystemDataObject.Instance.ExecuteSql(sqlInsert);
}
/// <summary>
/// 更新一条组织机构信息
/// </summary>
/// <param name="model">公司Model</param>
public void UpdateCompanyData(CompanyModel model)
{
model.COM_DATE = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
string sqlUpdate = string.Format(@"update T_BASE_COMPANY set GROUP_ID='{0}',COM_DISC = '{1}',COM_ID='{2}',COM_NAME='{3}',
SHORT='{4}',COM_DATE= '{5}',COM_PNAME= '{6}',COM_SNAME= '{7}',COM_CITY= '{8}',
COM_DPC= '{9}',COM_TYPE= '{10}',USER_ID= '{11}',COM_ADD= '{12}',COM_ZIP= '{13}',
COM_FAX= '{14}',COM_ORDER= {15},COM_USER_ID= '{16}',COM_PHONE= '{17}',
COM_STATUS= '{18}',COM_EMAIL= '{19}',COM_PROVINCE= '{20}',COM_TOWN= '{21}'
where id= '{22}'", model.GROUP_ID, model.COM_DISC, model.COM_ID, model.COM_NAME, model.SHORT,
model.COM_DATE, model.COM_PNAME, model.COM_SNAME, model.COM_CITY, model.COM_DPC,
model.COM_TYPE, model.USER_ID, model.COM_ADD, model.COM_ZIP, model.COM_FAX, model.COM_ORDER,
model.COM_USER_ID, model.COM_PHONE, model.COM_STATUS, model.COM_EMAIL,
model.COM_PROVINCE, model.COM_TOWN, model.ID);
SystemDataObject.Instance.ExecuteSql(sqlUpdate);
}
/// <summary>
/// 更新一条组织机构信息的Status
/// </summary>
/// <param name="model">公司Model</param>
public void UpdateCompanyState(CompanyModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_BASE_COMPANY set ");
strSql.Append("COM_STATUS=:COM_STATUS");
strSql.Append(" where COM_ID=:COM_ID ");
OracleParameter[] parameters = {
new OracleParameter(":COM_STATUS", OracleDbType.Char),
new OracleParameter(":COM_ID",OracleDbType.Varchar2)};
parameters[0].Value = model.COM_STATUS;
parameters[1].Value = model.COM_ID;
SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters);
}
/// <summary>
/// 删除一条组织机构信息 同时删除该编号下的所有子数据
/// </summary>
/// <param name="COM_ID">机构编号(同时作为组ID删除改组下所有子数据)</param>
public void DeleteCompanyData(string COM_ID)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from T_BASE_COMPANY ");
strSql.Append(" where 1 = 1 and COM_ID=:COM_ID ");
OracleParameter[] parameters = {
new OracleParameter(":COM_ID",OracleDbType.Varchar2,20) };
parameters[0].Value = COM_ID;
SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters);
}
}
}