using System; using System.Collections.Generic; using System.Linq; using System.Text; using WMS.Model.Base; using WMS.IData; using System.Data; using WMS.Common; using WMS.Model.SystemManage; namespace WMS.Business.Base { public class BussStorageInfo : IBussFactory { /// /// 获取仓库信息结果集 /// /// 仓库信息 /// 仓库信息结果集 public List GetStorageInfoDS(StorageInfoModel storageInfoModel) { DataTable table = DataProvider.Instance.StorageInfo.GetStorageInfoDS(storageInfoModel); List model = ConvertHelper.ConvertToList(table); if (DataLogErrWrite(table, "获取仓库信息结果集")) { return model; } return null; } /// /// 获取仓库信息结果集 /// /// 仓库信息 /// 仓库信息结果集 public List GetStorageInfoDS(StorageInfoModel storageInfoModel,ref List storOrderList) { DataTable table = DataProvider.Instance.StorageInfo.GetStorageInfoDS(storageInfoModel); List model = ConvertHelper.ConvertToList(table); if (storageInfoModel != null) { if (!string.IsNullOrEmpty(storageInfoModel.STORAGE_ID)) { StorageOrderModel m = new StorageOrderModel(); m.STORAGE_ID = storageInfoModel.STORAGE_ID; table = DataProvider.Instance.StorageOrder.GetStorOrderDT(m); storOrderList = ConvertHelper.ConvertToList(table); } } if (DataLogErrWrite(table, "获取仓库信息结果集")) { return model; } return null; } /// /// 获取仓库订单关系结果集 /// /// 仓库订单关系 /// 仓库订单关系结果集 public List GetStorageOrderDS(StorageOrderModel storOrderModel) { DataTable table = DataProvider.Instance.StorageOrder.GetStorOrderDT(storOrderModel); List storOrderList = ConvertHelper.ConvertToList(table); if(table!=null) { return storOrderList; } return null; } /// /// 插入或更改仓库信息 /// /// /// flag 操作标示符 0:新增 1:修改 /// 是否成功 public string InsOrUpdStorageInfo(StorageInfoModel storageInfoModel, int flag, List list) { storageInfoModel.STORAGE_ID = DataProvider.Instance.StorageInfo.InsOrUpdStorageInfo(storageInfoModel, flag); logList.Add(DataProvider.Instance.logData); if (flag == 1) { CompanyModel model = new CompanyModel(); model.COM_ADD = storageInfoModel.ADDRESS; model.COM_CITY = storageInfoModel.CITY_ID; model.COM_FAX = storageInfoModel.FAX; model.USER_ID = storageInfoModel.LINKMAN; model.COM_PHONE = storageInfoModel.PHONE; model.COM_ZIP = storageInfoModel.POSTCODE; model.COM_PROVINCE = storageInfoModel.PROVINCE_ID; model.SHORT = storageInfoModel.PY_NAME; model.COM_ORDER = storageInfoModel.SORT; model.COM_STATUS = storageInfoModel.STATUS; model.COM_ID = storageInfoModel.STORAGE_ID; model.COM_NAME = storageInfoModel.STORAGE_NAME; model.COM_SNAME = storageInfoModel.STORAGE_SHORT_NAME; model.COM_TOWN = storageInfoModel.TOWN_ID; DataProvider.Instance.Company.UpdateCompanyData(model); logList.Add(DataProvider.Instance.logData); } Transaction = DataProvider.Instance.TranOracle; StorageOrderModel m = new StorageOrderModel(); if (string.IsNullOrEmpty(storageInfoModel.STORAGE_ID)) { storageInfoModel.STORAGE_ID = IBussFactory.Instance().GetDocumentStream("仓库编号"); } m.STORAGE_ID = storageInfoModel.STORAGE_ID; DataTable table = DataProvider.Instance.StorageOrder.GetStorOrderDT(m); List hadList = ConvertHelper.ConvertToList(table);//已存在的、之后变成将要被删除的 List delList = new List();//hadList中将被删除的Model的序号 //增加仓库订单范围 foreach (StorageOrderModel item in list) { DataTable dt = DataProvider.Instance.StorageOrder.GetStorOrderDT(item); if (dt.Rows.Count == 0)//如果存在 不再增加 { DataProvider.Instance.StorageOrder.InsertStorageOrder(item); logList.Add(DataProvider.Instance.logData); } else { StorageOrderModel had = ConvertHelper.ConvertToList(dt)[0]; for (int i = 0; i < hadList.Count; i++)//将已存在且未被删除的序号记录 { if (hadList[i].STORAGE_ID == item.STORAGE_ID && hadList[i].STORAGE_ID == item.STORAGE_ID) { delList.Add(i); } } } } //将需要从已存在中移除的移除 for (int i = delList.Count - 1; i >= 0; i--) { hadList.RemoveAt(delList[i]); } //删除 foreach (StorageOrderModel item in hadList) { DataProvider.Instance.StorageOrder.DeleteStorageOrderByStorageID(item); logList.Add(DataProvider.Instance.logData); } //if (flag == 0) { //新增加库区 // StorageAreaModel areaModel = new StorageAreaModel(); // //仓库(用于List显示) // areaModel.STORAGE_AREA_ID = storageInfoModel.STORAGE_ID; // areaModel.STORAGE_AREA_NAME = storageInfoModel.STORAGE_NAME; // DataProvider.Instance.StorageArea.InsOrUpdAreaInfo(areaModel, 0); // logList.Add(DataProvider.Instance.logData); // 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; //} TaCmtOrRak(); return ErrText; } /// /// 删除仓库信息 /// /// 仓库信息编号 /// 是否成功 public string DeleteStorageInfo(string strStorageInfoID) { DataProvider.Instance.StorageInfo.DeleteStorageInfo(strStorageInfoID); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.Company.DeleteCompanyData(strStorageInfoID); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.StorageArea.DeleteAreaInfo(strStorageInfoID); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; TaCmtOrRak(); return ErrText; } /// /// 删除某仓库及属于它的库区信息与库位信息 /// /// 某仓库编号 /// 是否成功 public string DeleteStorageAndAreaAndLocation(string strStorageInfoID) { DataProvider.Instance.StorageInfo.DeleteStorageInfo(strStorageInfoID); logList.Add(DataProvider.Instance.logData); Transaction = DataProvider.Instance.TranOracle; DataProvider.Instance.StorageArea.DeleteAreaInfoByStorageInfoID(strStorageInfoID); logList.Add(DataProvider.Instance.logData); DataProvider.Instance.StorageAreaLocation.DeleteLocationInfoByStorageInfoID(strStorageInfoID); logList.Add(DataProvider.Instance.logData); TaCmtOrRak(); return ErrText; } } }