BaoKai_202508-Wms-Jingwang..../WMS.Business/SystemManage/BussCompany.cs
2025-08-24 09:35:55 +08:00

480 lines
19 KiB
C#
Raw 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 WMS.Model.Base;
using WMS.IData;
using System.Data;
using WMS.Model.SystemManage;
using WMS.Common;
namespace WMS.Business.Base
{
public class BussCompany : IBussFactory
{
#region
/// <summary>
/// <summary>
/// 根据查询条件获取公司信息结果集
/// </summary>
/// <param name="strComName">公司名称</param>
/// <param name="strComShortName">公司简称</param>
/// <returns>公司信息结果集</returns>
public List<CompanyModel> getCompanytDataSet(string strComName, string strComShortName)
{
List<CompanyModel> ds = DataProvider.Instance.Company.GetCompanytDataSet(strComName, strComShortName);
return ds;
}
#endregion
/// <summary>
/// <summary>
/// 根据查询条件获取公司信息结果集
/// </summary>
/// <param name="strComName">公司名称</param>
/// <param name="strComShortName">公司简称</param>
/// <returns>公司信息结果集</returns>
public List<CompanyModel> GetCompanyData(string strComName, string strComShortName)
{
DataTable dt = DataProvider.Instance.Company.GetCompanyData(strComName, strComShortName);
List<CompanyModel> list = null;
if (DataLogErrWrite(dt, "根据查询条件获取公司信息结果集"))
{
list = ConvertHelper<CompanyModel>.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
/// <summary>
/// 以实体为参数 获得 数据集
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public List<CompanyModel> GetCompanyData(CompanyModel model)
{
DataTable dt = DataProvider.Instance.Company.GetCompanyData(model);
List<CompanyModel> list = null;
if (DataLogErrWrite(dt, "根据查询条件获取公司信息结果集"))
{
list = ConvertHelper<CompanyModel>.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
#region
/// <summary>
/// 根据公司编号获取单个公司信息
/// </summary>
/// <param name="strComID">公司编号</param>
/// <returns>公司信息</returns>
public DataSet getCompanytByComID(string strComID)
{
DataSet ds = DataProvider.Instance.Company.getCompanytByComID(strComID);
return ds;
}
#endregion
#region
/// <summary>
/// 公司信息增删改
/// </summary>
/// <param name="strCompanyModel">公司信息Model</param>
/// <param name="opeFlag">增删改的标识</param>
/// <param name="error_row">错误行</param>
/// <param name="error_msg">错误信息</param>
/// <returns>执行结果标识</returns>
public string OperateCompany(CompanyModel companyModel, int opeFlag)
{
string errText = string.Empty;
///1为新增新增时首先判断是否唯一性
if (opeFlag == 0)
{
string valExist = DataProvider.Instance.Company.GetComPanyId(companyModel.COM_ID);
if (valExist != "0")
{
errText = "机构代码已经存在,请重新输入!";
return errText;
}
DataProvider.Instance.Company.OperateAddCompany(companyModel);
}
else
{
DataProvider.Instance.Company.OperateUpdateCompany(companyModel);
}
return errText;
}
#endregion
#region
/// <summary>
/// 获取生成的公司所属集团编号
/// </summary>
/// <returns>公司所属集团编号</returns>
public string GetGroupId()
{
string strGroupId = "";
strGroupId = DataProvider.Instance.Company.GetGroupId();
return strGroupId;
}
#endregion
public int CompanyDel(string com_id)
{
return DataProvider.Instance.Company.CompanyDel(com_id);
}
/// <summary>
/// 验证机构编号是否已经存在
/// </summary>
/// <param name="com_id"></param>
/// <returns></returns>
public string Exists(string com_id)
{
string strResult = DataProvider.Instance.Company.Exists(com_id);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return strResult;
}
/// <summary>
/// 新增一条组织机构信息
/// </summary>
/// <param name="model">公司Model</param>
/// <returns></returns>
public string AddCompanyData(CompanyModel model)
{
if (model.COM_TYPE == "3" || model.COM_TYPE == "4")
{ //如果是仓库 同时添加仓库
////仓库的编号是否知道生成
StorageInfoModel storageInfoModel = new StorageInfoModel();
try
{
string tabNum = DataProvider.Instance.SystemParam.GetParamValue("warehousenum");
if (tabNum == "1")
{
storageInfoModel.STORAGE_ID = model.COM_ID;
}
else
{
storageInfoModel.STORAGE_ID = IBussFactory<BussDocumentTable>.Instance().GetDocumentStream("仓库编号");
if (storageInfoModel.STORAGE_ID=="")
{
return "仓库编号不能为空";
}
}
}
catch (Exception ex)
{
string errMsg = ex.Message;
}
storageInfoModel.ADDRESS = model.COM_ADD;
storageInfoModel.CITY_ID = model.COM_CITY;
storageInfoModel.FAX = model.COM_FAX;
storageInfoModel.LINKMAN = model.USER_ID;
storageInfoModel.PHONE = model.COM_PHONE;
storageInfoModel.POSTCODE = model.COM_ZIP;
storageInfoModel.PROVINCE_ID = model.COM_PROVINCE;
storageInfoModel.PY_NAME = model.SHORT;
storageInfoModel.SORT = model.COM_ORDER;
storageInfoModel.STATUS = model.COM_STATUS;
storageInfoModel.STORAGE_ID = model.COM_ID;//暂时维护仓库编号
storageInfoModel.STORAGE_NAME = model.COM_NAME;
storageInfoModel.STORAGE_SHORT_NAME = model.COM_SNAME;
storageInfoModel.TOWN_ID = model.COM_TOWN;
storageInfoModel.ID = model.ID;
DataProvider.Instance.StorageInfo.InsOrUpdStorageInfo(storageInfoModel, 0);//添加仓库信息
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
model.COM_ID = storageInfoModel.STORAGE_ID;
DataProvider.Instance.Company.AddCompanyData(model);//添加部门信息
logList.Add(DataProvider.Instance.logData);
// StorageAreaModel areaModel = new StorageAreaModel();
// areaModel.STORAGE_ID = "0";
// //库区用于List显示
// areaModel.STORAGE_AREA_ID = storageInfoModel.STORAGE_ID;
//areaModel.STORAGE_AREA_NAME = storageInfoModel.STORAGE_NAME;// 2018年12月23日 18:03:40 暂时只要一个默认库区
// DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);//添加库区信息
// logList.Add(DataProvider.Instance.logData);
#region 2018-12-23 10:56:08
//areaModel.EDIT = "0";
//areaModel.OPERATORID = storageInfoModel.OPERATORID;
//areaModel.STATUS = "0";
//areaModel.STORAGE_ID = storageInfoModel.STORAGE_ID;
//areaModel.PARENT_ID = storageInfoModel.STORAGE_ID;
//areaModel.STORAGE_NAME = storageInfoModel.STORAGE_NAME;
//areaModel.VERSION = "Verson 1.0";
//areaModel.STORAGE_AREA_ID = null;
////4生产仓 同时生成库区
//if (model.COM_TYPE == "4") {
// //整箱区
// areaModel.SORT = 0;
// areaModel.STORAGE_AREA_NAME = "整箱区";
// areaModel.STORAGE_AREA_SHORT_NAME = "整箱";
// //areaModel.PY_NAME = "ZXQ";
// areaModel.STORAGE_AREA_ID = null;
// string zhengxiang = DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// logList.Add(DataProvider.Instance.logData);
// //拣配区
// areaModel.SORT = 0;
// areaModel.STORAGE_AREA_NAME = "拣配区";
// areaModel.STORAGE_AREA_SHORT_NAME = "拣配";
// //areaModel.PY_NAME = "JPQ";
// areaModel.STORAGE_AREA_ID = null;
// DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// logList.Add(DataProvider.Instance.logData);
// //包材区
// areaModel.SORT = 0;
// areaModel.STORAGE_AREA_NAME = "包材区";
// areaModel.STORAGE_AREA_SHORT_NAME = "包材";
// //areaModel.PY_NAME = "BCQ";
// areaModel.STORAGE_AREA_ID = null;
// string baocai = DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// logList.Add(DataProvider.Instance.logData);
// //残品区
// areaModel.SORT = 0;
// areaModel.STORAGE_AREA_NAME = "残品区";
// areaModel.STORAGE_AREA_SHORT_NAME = "残品";
// //areaModel.PY_NAME = "CPQ";
// areaModel.STORAGE_AREA_ID = null;
// DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// logList.Add(DataProvider.Instance.logData);
// //退货区
// areaModel.SORT = 0;
// areaModel.STORAGE_AREA_NAME = "退货区";
// areaModel.STORAGE_AREA_SHORT_NAME = "退货";
// //areaModel.PY_NAME = "THQ";
// areaModel.STORAGE_AREA_ID = null;
// DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// logList.Add(DataProvider.Instance.logData);
// ////冷藏区
// //areaModel.SORT = 0;
// //areaModel.STORAGE_AREA_NAME = "冷藏区";
// //areaModel.STORAGE_AREA_SHORT_NAME = "冷藏";
// //areaModel.PY_NAME = "LCQ";
// //areaModel.STORAGE_AREA_ID = null;
// //areaModel.PARENT_ID = zhengxiang;
// //DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// //logList.Add(DataProvider.Instance.logData);
// ////冷冻区
// //areaModel.SORT = 0;
// //areaModel.STORAGE_AREA_NAME = "冷冻区";
// //areaModel.STORAGE_AREA_SHORT_NAME = "冷冻";
// //areaModel.PY_NAME = "LDQ";
// //areaModel.STORAGE_AREA_ID = null;
// //areaModel.PARENT_ID = zhengxiang;
// //DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// //logList.Add(DataProvider.Instance.logData);
// ////桶贴区
// //areaModel.SORT = 0;
// //areaModel.STORAGE_AREA_NAME = "桶贴区";
// //areaModel.STORAGE_AREA_SHORT_NAME = "桶贴";
// //areaModel.PY_NAME = "TTQ";
// //areaModel.STORAGE_AREA_ID = null;
// //areaModel.PARENT_ID = baocai;
// //DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// //logList.Add(DataProvider.Instance.logData);
// ////真空袋区
// //areaModel.SORT = 0;
// //areaModel.STORAGE_AREA_NAME = "真空袋区";
// //areaModel.STORAGE_AREA_SHORT_NAME = "真空袋";
// //areaModel.PY_NAME = "ZKDQ";
// //areaModel.STORAGE_AREA_ID = null;
// //areaModel.PARENT_ID = baocai;
// //DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0);
// //logList.Add(DataProvider.Instance.logData);
//}
#endregion
}
else {
DataProvider.Instance.Company.AddCompanyData(model);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
}
TaCmtOrRak();
return this.ErrText;
}
/// <summary>
/// 更新组织机构信息
/// </summary>
/// <param name="model">公司Model</param>
/// <param name="hadChanged">false:Status未改变</param>
/// <returns></returns>
public string UpdateCompanyData(CompanyModel model,bool hadChanged)
{
DataProvider.Instance.Company.UpdateCompanyData(model);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
if (model.COM_TYPE == "3")
{
StorageInfoModel storageInfoModel = new StorageInfoModel();
storageInfoModel.ADDRESS = model.COM_ADD;
storageInfoModel.CITY_ID = model.COM_CITY;
storageInfoModel.FAX = model.COM_FAX;
storageInfoModel.LINKMAN = model.USER_ID;
storageInfoModel.PHONE = model.COM_PHONE;
storageInfoModel.POSTCODE = model.COM_ZIP;
storageInfoModel.PROVINCE_ID = model.COM_PROVINCE;
storageInfoModel.PY_NAME = model.SHORT;
storageInfoModel.SORT = model.COM_ORDER;
storageInfoModel.STATUS = model.COM_STATUS;
storageInfoModel.STORAGE_ID = model.COM_ID;//暂时维护仓库编号
storageInfoModel.STORAGE_NAME = model.COM_NAME;
storageInfoModel.STORAGE_SHORT_NAME = model.COM_SNAME;
storageInfoModel.TOWN_ID = model.COM_TOWN;
storageInfoModel.ID = model.ID;
DataProvider.Instance.StorageArea.UpdateAreaDataName(model.COM_ID, model.COM_NAME);
logList.Add(DataProvider.Instance.logData);
DataProvider.Instance.StorageInfo.UpCompanyStorageInfo(storageInfoModel);
logList.Add(DataProvider.Instance.logData);
}
if (hadChanged) {
DataTable dt = DataProvider.Instance.Company.getCompanytByGroupID(model.COM_ID);
List<CompanyModel> list = null;
if (DataLogErrWrite(dt, "根据父编号获取其下公司信息"))
{
list = ConvertHelper<CompanyModel>.ConvertToList(dt);
if (list.Count > 0) {
foreach (CompanyModel com in list)
{
if (com.COM_STATUS != model.COM_STATUS) {
com.COM_STATUS = model.COM_STATUS;
DataProvider.Instance.Company.UpdateCompanyState(com);
logList.Add(DataProvider.Instance.logData);
}
}
}
}
else
{
return ErrText;
}
}
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 根据部门编号 查询出改部门下的所有角色
/// </summary>
/// <param name="com_id">部门编号</param>
/// <returns></returns>
public List<RoleModel> GetRoleDataByComID(string com_id)
{
DataTable dt = DataProvider.Instance.Company.GetRoleDataByComID(com_id);
List<RoleModel> list = null;
if (DataLogErrWrite(dt, "根据部门编号获取该部门下的所有角色结果集"))
{
list = ConvertHelper<RoleModel>.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
/// <summary>
/// 根据用户编号获得 最底层部门
/// </summary>
/// <param name="userid"></param>
/// <returns></returns>
public List<CompanyModel> GetChildrenNodeCompanyData(string userid)
{
DataTable dt = DataProvider.Instance.Company.GetChildrenNodeCompanyData(userid);
List<CompanyModel> list = null;
if (DataLogErrWrite(dt, "获取组织机构下所有最底层部门"))
{
list = ConvertHelper<CompanyModel>.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
/// <summary>
/// 删除一条组织机构数据
/// </summary>
/// <param name="com_id">机构编号</param>
/// <returns></returns>
public string DeleteCompanyData(string com_id)
{
DeleteCompany(com_id);
logList.Add(DataProvider.Instance.logData);
Transaction = DataProvider.Instance.TranOracle;
TaCmtOrRak();
return ErrText;
}
/// <summary>
/// 递归删除选中节点下所有子节点方法
/// </summary>
/// <param name="com_id">机构编号</param>
public void DeleteCompany(string com_id)
{
//DataProvider.Instance.Company.DeleteCompanyData(com_id);
CompanyModel co = new CompanyModel();
co.GROUP_ID = com_id;
List<CompanyModel> list = GetCompanyData(co);
if (list.Count > 0)
{
foreach (CompanyModel mode in list)
{
DeleteCompany(mode.COM_ID);
}
}
DataProvider.Instance.Company.DeleteCompanyData(com_id);
}
}
}