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 根据查询条件获取公司信息结果集 /// /// /// 根据查询条件获取公司信息结果集 /// /// 公司名称 /// 公司简称 /// 公司信息结果集 public List getCompanytDataSet(string strComName, string strComShortName) { List ds = DataProvider.Instance.Company.GetCompanytDataSet(strComName, strComShortName); return ds; } #endregion /// /// /// 根据查询条件获取公司信息结果集 /// /// 公司名称 /// 公司简称 /// 公司信息结果集 public List GetCompanyData(string strComName, string strComShortName) { DataTable dt = DataProvider.Instance.Company.GetCompanyData(strComName, strComShortName); List list = null; if (DataLogErrWrite(dt, "根据查询条件获取公司信息结果集")) { list = ConvertHelper.ConvertToList(dt); } else { return list; } return list; } /// /// 以实体为参数 获得 数据集 /// /// /// public List GetCompanyData(CompanyModel model) { DataTable dt = DataProvider.Instance.Company.GetCompanyData(model); List list = null; if (DataLogErrWrite(dt, "根据查询条件获取公司信息结果集")) { list = ConvertHelper.ConvertToList(dt); } else { return list; } return list; } #region 根据公司编号获取单个公司信息 /// /// 根据公司编号获取单个公司信息 /// /// 公司编号 /// 公司信息 public DataSet getCompanytByComID(string strComID) { DataSet ds = DataProvider.Instance.Company.getCompanytByComID(strComID); return ds; } #endregion #region 公司信息增删改 /// /// 公司信息增删改 /// /// 公司信息Model /// 增删改的标识 /// 错误行 /// 错误信息 /// 执行结果标识 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 获取生成的公司所属集团编号 /// /// 获取生成的公司所属集团编号 /// /// 公司所属集团编号 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); } /// /// 验证机构编号是否已经存在 /// /// /// 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; } /// /// 新增一条组织机构信息 /// /// 公司Model /// 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.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; } /// /// 更新组织机构信息 /// /// 公司Model /// false:Status未改变 /// 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 list = null; if (DataLogErrWrite(dt, "根据父编号获取其下公司信息")) { list = ConvertHelper.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; } /// /// 根据部门编号 查询出改部门下的所有角色 /// /// 部门编号 /// public List GetRoleDataByComID(string com_id) { DataTable dt = DataProvider.Instance.Company.GetRoleDataByComID(com_id); List list = null; if (DataLogErrWrite(dt, "根据部门编号获取该部门下的所有角色结果集")) { list = ConvertHelper.ConvertToList(dt); } else { return list; } return list; } /// /// 根据用户编号获得 最底层部门 /// /// /// public List GetChildrenNodeCompanyData(string userid) { DataTable dt = DataProvider.Instance.Company.GetChildrenNodeCompanyData(userid); List list = null; if (DataLogErrWrite(dt, "获取组织机构下所有最底层部门")) { list = ConvertHelper.ConvertToList(dt); } else { return list; } return list; } /// /// 删除一条组织机构数据 /// /// 机构编号 /// public string DeleteCompanyData(string com_id) { DeleteCompany(com_id); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; TaCmtOrRak(); return ErrText; } /// /// 递归删除选中节点下所有子节点方法 /// /// 机构编号 public void DeleteCompany(string com_id) { //DataProvider.Instance.Company.DeleteCompanyData(com_id); CompanyModel co = new CompanyModel(); co.GROUP_ID = com_id; List list = GetCompanyData(co); if (list.Count > 0) { foreach (CompanyModel mode in list) { DeleteCompany(mode.COM_ID); } } DataProvider.Instance.Company.DeleteCompanyData(com_id); } } }