229 lines
9.2 KiB
C#
229 lines
9.2 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.Common;
|
||
using WMS.Model.SystemManage;
|
||
|
||
namespace WMS.Business.Base
|
||
{
|
||
public class BussStorageInfo : IBussFactory
|
||
{
|
||
/// <summary>
|
||
/// 获取仓库信息结果集
|
||
/// </summary>
|
||
/// <param name="storageInfoModel">仓库信息</param>
|
||
/// <returns>仓库信息结果集</returns>
|
||
public List<StorageInfoModel> GetStorageInfoDS(StorageInfoModel storageInfoModel)
|
||
{
|
||
DataTable table = DataProvider.Instance.StorageInfo.GetStorageInfoDS(storageInfoModel);
|
||
List<StorageInfoModel> model = ConvertHelper<StorageInfoModel>.ConvertToList(table);
|
||
|
||
|
||
if (DataLogErrWrite(table, "获取仓库信息结果集"))
|
||
{
|
||
return model;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取仓库信息结果集
|
||
/// </summary>
|
||
/// <param name="storageInfoModel">仓库信息</param>
|
||
/// <returns>仓库信息结果集</returns>
|
||
public List<StorageInfoModel> GetStorageInfoDS(StorageInfoModel storageInfoModel,ref List<StorageOrderModel> storOrderList)
|
||
{
|
||
DataTable table = DataProvider.Instance.StorageInfo.GetStorageInfoDS(storageInfoModel);
|
||
List<StorageInfoModel> model = ConvertHelper<StorageInfoModel>.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<StorageOrderModel>.ConvertToList(table);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
if (DataLogErrWrite(table, "获取仓库信息结果集"))
|
||
{
|
||
return model;
|
||
}
|
||
return null;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取仓库订单关系结果集
|
||
/// </summary>
|
||
/// <param name="storOrderModel">仓库订单关系</param>
|
||
/// <returns>仓库订单关系结果集</returns>
|
||
public List<StorageOrderModel> GetStorageOrderDS(StorageOrderModel storOrderModel)
|
||
{
|
||
DataTable table = DataProvider.Instance.StorageOrder.GetStorOrderDT(storOrderModel);
|
||
List<StorageOrderModel> storOrderList = ConvertHelper<StorageOrderModel>.ConvertToList(table);
|
||
if(table!=null)
|
||
{
|
||
return storOrderList;
|
||
|
||
}
|
||
|
||
return null;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 插入或更改仓库信息
|
||
/// </summary>
|
||
/// <param name="storageTypeModel"></param>
|
||
/// <param name="flag">flag 操作标示符 0:新增 1:修改</param>
|
||
/// <returns>是否成功</returns>
|
||
public string InsOrUpdStorageInfo(StorageInfoModel storageInfoModel, int flag, List<StorageOrderModel> 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<WMS.Business.Base.BussDocumentTable>.Instance().GetDocumentStream("仓库编号");
|
||
}
|
||
m.STORAGE_ID = storageInfoModel.STORAGE_ID;
|
||
|
||
DataTable table = DataProvider.Instance.StorageOrder.GetStorOrderDT(m);
|
||
List<StorageOrderModel> hadList = ConvertHelper<StorageOrderModel>.ConvertToList(table);//已存在的、之后变成将要被删除的
|
||
List<int> delList = new List<int>();//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<StorageOrderModel>.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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除仓库信息
|
||
/// </summary>
|
||
/// <param name="strStorageTypeID">仓库信息编号</param>
|
||
/// <returns>是否成功</returns>
|
||
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;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除某仓库及属于它的库区信息与库位信息
|
||
/// </summary>
|
||
/// <param name="strStorageInfoID">某仓库编号</param>
|
||
/// <returns>是否成功</returns>
|
||
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;
|
||
}
|
||
}
|
||
}
|