480 lines
19 KiB
C#
480 lines
19 KiB
C#
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);
|
||
}
|
||
|
||
|
||
|
||
}
|
||
}
|