BaoKai_202508-Wms-Jingwang..../WMS.SqlServerData/BaseData/StorageInfoData.cs

415 lines
25 KiB
C#
Raw Permalink Normal View History

2025-08-24 09:35:55 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.IData;using Oracle.ManagedDataAccess.Client;
using System.Data;
using WMS.DBUtility;
using WMS.Model.Base;
using WMS.IData.IBase;
namespace WMS.SqlServerData.BaseData
{
public class StorageInfoData : IStorageInfo
{
public void UpCompanyStorageInfo(StorageInfoModel storageInfoModel)
{
string sqlstr =@"update T_BASE_STORAGEINFO set
STORAGE_NAME =:STORAGE_NAME,
STORAGE_SHORT_NAME =:STORAGE_SHORT_NAME,
PY_NAME=:PY_NAME,
STORAGE_TYPE_ID=:STORAGE_TYPE_ID,
LINKMAN=:LINKMAN,
PHONE=:PHONE,
FAX=:FAX,
ADDRESS=:ADDRESS,
POSTCODE=:POSTCODE,
RFMODEL=:RFMODEL,
GOODSFLAG=:GOODSFLAG,
BATCHFLAG=:BATCHFLAG,
STATUS=:STATUS,
REMARK=:REMARK,
VERSION=:VERSION,
SORT=:SORT,
PROVINCE_ID=:PROVINCE_ID,
CITY_ID=:CITY_ID,
TOWN_ID=:TOWN_ID,
operatorid=:operatorid,
operatedate=getdate(),
AUTOSTS =:AUTOSTS , STORAGE_ID=:STORAGE_ID
where ID=:ID";
OracleParameter[] parameter = new OracleParameter[]
{
new OracleParameter(":STORAGE_NAME",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_SHORT_NAME",OracleDbType.Varchar2),
new OracleParameter(":PY_NAME",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_TYPE_ID",OracleDbType.Varchar2),
new OracleParameter(":LINKMAN",OracleDbType.Varchar2),
new OracleParameter(":PHONE",OracleDbType.Varchar2),
new OracleParameter(":FAX",OracleDbType.Varchar2),
new OracleParameter(":ADDRESS",OracleDbType.Varchar2),
new OracleParameter(":POSTCODE",OracleDbType.Varchar2),
new OracleParameter(":RFMODEL",OracleDbType.Char),
new OracleParameter(":GOODSFLAG",OracleDbType.Char),
new OracleParameter(":BATCHFLAG",OracleDbType.Char),
new OracleParameter(":STATUS",OracleDbType.Char),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":VERSION",OracleDbType.Varchar2),
new OracleParameter(":SORT",OracleDbType.Decimal),
new OracleParameter(":PROVINCE_ID",OracleDbType.Varchar2),
new OracleParameter(":CITY_ID",OracleDbType.Varchar2),
new OracleParameter(":TOWN_ID",OracleDbType.Varchar2),
new OracleParameter(":operatorid",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2),
new OracleParameter(":AUTOSTS",OracleDbType.Int16),
new OracleParameter(":ID",OracleDbType.Int16)
};
parameter[0].Value = storageInfoModel.STORAGE_NAME;
parameter[1].Value = storageInfoModel.STORAGE_SHORT_NAME;
parameter[2].Value = storageInfoModel.PY_NAME;
parameter[3].Value = storageInfoModel.STORAGE_TYPE_ID;
parameter[4].Value = storageInfoModel.LINKMAN;
parameter[5].Value = storageInfoModel.PHONE;
parameter[6].Value = storageInfoModel.FAX;
parameter[7].Value = storageInfoModel.ADDRESS;
parameter[8].Value = storageInfoModel.POSTCODE;
parameter[9].Value = storageInfoModel.RFMODEL;
parameter[10].Value = storageInfoModel.GOODSFLAG;
parameter[11].Value = storageInfoModel.BATCHFLAG;
parameter[12].Value = storageInfoModel.STATUS;
parameter[13].Value = storageInfoModel.REMARK;
parameter[14].Value = storageInfoModel.VERSION;
parameter[15].Value = storageInfoModel.SORT;
parameter[16].Value = storageInfoModel.PROVINCE_ID;
parameter[17].Value = storageInfoModel.CITY_ID;
parameter[18].Value = storageInfoModel.TOWN_ID;
parameter[19].Value = storageInfoModel.OPERATORID;
parameter[20].Value = storageInfoModel.STORAGE_ID;
parameter[21].Value = storageInfoModel.AUTOSTS.ToString();
parameter[22].Value = storageInfoModel.ID;
SystemDataObject.Instance.ExecuteSql(sqlstr, parameter);
}
/// <summary>
/// 获取仓库信息结果集
/// </summary>
/// <returns></returns>
public DataTable GetStorageInfoDS(StorageInfoModel storageInfoModel)
{
//select STORAGE_ID, STORAGE_NAME, t1.STORAGE_SHORT_NAME,t1.PY_NAME,t1.STORAGE_TYPE_ID,t2.STORAGE_TYPE_NAME,
//LINKMAN,PHONE,FAX,ADDRESS,POSTCODE,decode(RFMODEL,'1','是','0','否','其他') RFMODEL,decode(GOODSFLAG,'1','是','0','否','其他') GOODSFLAG,
//decode(BATCHFLAG,'1','是','0','否','其他') BATCHFLAG,decode(t1.STATUS,'1','停用','0','正常','其他') STATUS,t1.REMARK,t1.VERSION
//from T_BASE_STORAGEINFO t1,T_BASE_STORAGE_TYPE t2 where t1.STORAGE_TYPE_ID=t2.STORAGE_TYPE_ID
StringBuilder sqlBuilder = new StringBuilder();
sqlBuilder.AppendLine("select ");
sqlBuilder.AppendLine(" a.STORAGE_ID, --仓库编号 ");
sqlBuilder.AppendLine(" a.STORAGE_NAME, --仓库名称 ");
sqlBuilder.AppendLine(" a.STORAGE_SHORT_NAME, --仓库简称 ");
sqlBuilder.AppendLine(" a.PY_NAME, --拼音简称 ");
//sqlBuilder.AppendLine(" a.STORAGE_TYPE_ID, --所属仓库分类 ");
sqlBuilder.AppendLine(" a.LINKMAN, --联系人 ");
sqlBuilder.AppendLine(" a.PHONE, --联系电话 ");
sqlBuilder.AppendLine(" a.FAX, --联系传真 ");
sqlBuilder.AppendLine(" a.ADDRESS, --地址 ");
sqlBuilder.AppendLine(" a.POSTCODE, --邮编 ");
sqlBuilder.AppendLine(" (case a.RFMODEL when '1' then '是' when '0' then '否' else '其他' end ) RFMODEL, --RF使用模式是否支持RF手持设备0否 1是");
sqlBuilder.AppendLine(" (case a.GOODSFLAG when '1' then '是' when '0' then '否' else '其他' end) GOODSFLAG, --物料混放 0否 1是 ");
sqlBuilder.AppendLine(" (case a.BATCHFLAG when '1' then '是' when '0' then '否' else '其他' end) BATCHFLAG, --批次混放 0否 1是 ");
sqlBuilder.AppendLine(" (case a.STATUS when '1' then '有货' when '0' then '正常' else '其他' end) STATUS, --Status 0正常 1停用 ");
sqlBuilder.AppendLine(" a.REMARK, --备注 ");
sqlBuilder.AppendLine(" a.VERSION, --版本号 ");
sqlBuilder.AppendLine(" a.SORT, --排序 ");
//sqlBuilder.AppendLine(" b.STORAGE_TYPE_NAME, --所属仓库分类 ");
sqlBuilder.AppendLine(" a.province_id, --省 ");
sqlBuilder.AppendLine(" a.city_id, --市 ");
sqlBuilder.AppendLine(" a.town_id, --县/市/区 ");
sqlBuilder.AppendLine(" f.province_name, --省 ");
sqlBuilder.AppendLine(" f.city_name, --市 ");
sqlBuilder.AppendLine(" f.town_name, --县/市/区 ");
sqlBuilder.AppendLine(" a.operatorid, --操作人 ");
sqlBuilder.AppendLine(" a.operatedate ,a.AUTOSTS --操作日期 ");
sqlBuilder.AppendLine("from ");
sqlBuilder.AppendLine(" T_BASE_STORAGEINFO a");
//sqlBuilder.AppendLine(" left join t_base_storage_type b ");
//sqlBuilder.AppendLine(" on a.storage_type_id = b.storage_type_id ");
sqlBuilder.AppendLine(" left join ");
sqlBuilder.AppendLine("(select--根据区ID得到该区属于哪个省市 ");
sqlBuilder.AppendLine(" c.add_name province_name, ");
sqlBuilder.AppendLine(" d.add_name city_name, ");
sqlBuilder.AppendLine(" e.add_name town_name, ");
sqlBuilder.AppendLine(" e.add_id town_id ");
sqlBuilder.AppendLine(" FROM ");
sqlBuilder.AppendLine(" t_base_addressarea c left join t_base_addressarea d ");
sqlBuilder.AppendLine(" on ");
sqlBuilder.AppendLine(" c.add_id = d.add_pid ");
sqlBuilder.AppendLine(" left join t_base_addressarea e ");
sqlBuilder.AppendLine(" on ");
sqlBuilder.AppendLine(" d.add_id = e.add_pid) f ");
sqlBuilder.AppendLine(" on a.town_id = f.town_id ");
sqlBuilder.AppendLine("where 1 = 1 ");
if (storageInfoModel != null)
{
if (!string.IsNullOrEmpty(storageInfoModel.STORAGE_TYPE_ID))
{
sqlBuilder.AppendLine(" and a.STORAGE_TYPE_ID = '" + storageInfoModel.STORAGE_TYPE_ID + "'");
}
if (!string.IsNullOrEmpty(storageInfoModel.STORAGE_ID))
{
sqlBuilder.AppendLine(" and a.STORAGE_ID = '" + storageInfoModel.STORAGE_ID + "'");
}
if (!string.IsNullOrEmpty(storageInfoModel.STORAGE_NAME))
{
sqlBuilder.AppendLine(" and a.STORAGE_NAME = '" + storageInfoModel.STORAGE_NAME + "'");
}
if (!string.IsNullOrEmpty(storageInfoModel.TOWN_ID))
{
sqlBuilder.AppendLine(" and a.TOWN_ID = '" + storageInfoModel.TOWN_ID + "'");
}
}
sqlBuilder.AppendLine(" order by a.SORT");
string sql2 = " select a.STORAGE_ID,a.STORAGE_NAME from T_BASE_STORAGEINFO a";
return SystemDataObject.Instance.GetDataTable(sql2.ToString());
}
/// <summary>
/// 插入或更改仓库信息
/// </summary>
/// <param name="storageTypeModel"></param>
/// <param name="flag">flag 操作标示符 0新增 1:修改</param>
public string InsOrUpdStorageInfo(StorageInfoModel storageInfoModel, int flag)
{
//string str = "select NEXT VALUE FOR seq_BASE_STORAGEINFO ";
//DataSet ds = SystemDataObject.Instance.GetDataSet(str);
//storageInfoModel.STORAGE_ID = "CK" + ds.Tables[0].Rows[0][0].ToString();
//新增
if (0 == flag)
{
string sqlstr =@"insert into
T_BASE_STORAGEINFO
(
STORAGE_ID, --
STORAGE_NAME, --
STORAGE_SHORT_NAME, --
PY_NAME, --
STORAGE_TYPE_ID, --
LINKMAN, --
PHONE, --
FAX, --
ADDRESS, --
POSTCODE, --
RFMODEL, --RF使用模式RF手持设备0 1
GOODSFLAG, -- 0 1
BATCHFLAG, -- 0 1
STATUS, --Status 0 1
REMARK, --
VERSION, --
SORT, --
PROVINCE_ID, --
CITY_ID, --
TOWN_ID, --
operatorid, --
operatedate , --
AUTOSTS,
ID
)
values
(
:STORAGE_ID,
:STORAGE_NAME,
:STORAGE_SHORT_NAME,
:PY_NAME,
:STORAGE_TYPE_ID,
:LINKMAN,
:PHONE,
:FAX,
:ADDRESS,
:POSTCODE,
:RFMODEL,
:GOODSFLAG,
:BATCHFLAG,
:STATUS,
:REMARK,
:VERSION,
:SORT,
:PROVINCE_ID,
:CITY_ID,
:TOWN_ID,
:operatorid,
getdate() ,:AUTOSTS ,:ID
)";
OracleParameter[] parameter = new OracleParameter[]
{
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_NAME",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_SHORT_NAME",OracleDbType.Varchar2),
new OracleParameter(":PY_NAME",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_TYPE_ID",OracleDbType.Varchar2),
new OracleParameter(":LINKMAN",OracleDbType.Varchar2),
new OracleParameter(":PHONE",OracleDbType.Varchar2),
new OracleParameter(":FAX",OracleDbType.Varchar2),
new OracleParameter(":ADDRESS",OracleDbType.Varchar2),
new OracleParameter(":POSTCODE",OracleDbType.Varchar2),
new OracleParameter(":RFMODEL",OracleDbType.Char),
new OracleParameter(":GOODSFLAG",OracleDbType.Char),
new OracleParameter(":BATCHFLAG",OracleDbType.Char),
new OracleParameter(":STATUS",OracleDbType.Char),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":VERSION",OracleDbType.Varchar2),
new OracleParameter(":SORT",OracleDbType.Decimal),
new OracleParameter(":PROVINCE_ID",OracleDbType.Varchar2),
new OracleParameter(":CITY_ID",OracleDbType.Varchar2),
new OracleParameter(":TOWN_ID",OracleDbType.Varchar2),
new OracleParameter(":operatorid",OracleDbType.Varchar2),
new OracleParameter(":AUTOSTS",OracleDbType.Int16),
new OracleParameter(":ID",OracleDbType.Int64)
};
parameter[0].Value = storageInfoModel.STORAGE_ID;
parameter[1].Value = storageInfoModel.STORAGE_NAME;
parameter[2].Value = storageInfoModel.STORAGE_SHORT_NAME;
parameter[3].Value = storageInfoModel.PY_NAME;
parameter[4].Value = storageInfoModel.STORAGE_TYPE_ID;
parameter[5].Value = storageInfoModel.LINKMAN;
parameter[6].Value = storageInfoModel.PHONE;
parameter[7].Value = storageInfoModel.FAX;
parameter[8].Value = storageInfoModel.ADDRESS;
parameter[9].Value = storageInfoModel.POSTCODE;
parameter[10].Value = storageInfoModel.RFMODEL;
parameter[11].Value = storageInfoModel.GOODSFLAG;
parameter[12].Value = storageInfoModel.BATCHFLAG;
parameter[13].Value = storageInfoModel.STATUS;
parameter[14].Value = storageInfoModel.REMARK;
parameter[15].Value = storageInfoModel.VERSION;
parameter[16].Value = storageInfoModel.SORT;
parameter[17].Value = storageInfoModel.PROVINCE_ID;
parameter[18].Value = storageInfoModel.CITY_ID;
parameter[19].Value = storageInfoModel.TOWN_ID;
parameter[20].Value = storageInfoModel.OPERATORID;
parameter[21].Value =storageInfoModel.AUTOSTS.ToString();
parameter[22].Value = storageInfoModel.ID;
SystemDataObject.Instance.ExecuteSql(sqlstr, parameter);
}
//修改
else if (1 == flag)
{
string sqlstr =@"update T_BASE_STORAGEINFO set
STORAGE_NAME =:STORAGE_NAME,
STORAGE_SHORT_NAME =:STORAGE_SHORT_NAME,
PY_NAME=:PY_NAME,
STORAGE_TYPE_ID=:STORAGE_TYPE_ID,
LINKMAN=:LINKMAN,
PHONE=:PHONE,
FAX=:FAX,
ADDRESS=:ADDRESS,
POSTCODE=:POSTCODE,
RFMODEL=:RFMODEL,
GOODSFLAG=:GOODSFLAG,
BATCHFLAG=:BATCHFLAG,
STATUS=:STATUS,
REMARK=:REMARK,
VERSION=:VERSION,
SORT=:SORT,
PROVINCE_ID=:PROVINCE_ID,
CITY_ID=:CITY_ID,
TOWN_ID=:TOWN_ID,
operatorid=:operatorid,
operatedate=getdate(),
AUTOSTS =:AUTOSTS
where STORAGE_ID=:STORAGE_ID";
OracleParameter[] parameter = new OracleParameter[]
{
new OracleParameter(":STORAGE_NAME",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_SHORT_NAME",OracleDbType.Varchar2),
new OracleParameter(":PY_NAME",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_TYPE_ID",OracleDbType.Varchar2),
new OracleParameter(":LINKMAN",OracleDbType.Varchar2),
new OracleParameter(":PHONE",OracleDbType.Varchar2),
new OracleParameter(":FAX",OracleDbType.Varchar2),
new OracleParameter(":ADDRESS",OracleDbType.Varchar2),
new OracleParameter(":POSTCODE",OracleDbType.Varchar2),
new OracleParameter(":RFMODEL",OracleDbType.Char),
new OracleParameter(":GOODSFLAG",OracleDbType.Char),
new OracleParameter(":BATCHFLAG",OracleDbType.Char),
new OracleParameter(":STATUS",OracleDbType.Char),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":VERSION",OracleDbType.Varchar2),
new OracleParameter(":SORT",OracleDbType.Decimal),
new OracleParameter(":PROVINCE_ID",OracleDbType.Varchar2),
new OracleParameter(":CITY_ID",OracleDbType.Varchar2),
new OracleParameter(":TOWN_ID",OracleDbType.Varchar2),
new OracleParameter(":operatorid",OracleDbType.Varchar2),
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2),
new OracleParameter(":AUTOSTS",OracleDbType.Int16)
};
parameter[0].Value = storageInfoModel.STORAGE_NAME;
parameter[1].Value = storageInfoModel.STORAGE_SHORT_NAME;
parameter[2].Value = storageInfoModel.PY_NAME;
parameter[3].Value = storageInfoModel.STORAGE_TYPE_ID;
parameter[4].Value = storageInfoModel.LINKMAN;
parameter[5].Value = storageInfoModel.PHONE;
parameter[6].Value = storageInfoModel.FAX;
parameter[7].Value = storageInfoModel.ADDRESS;
parameter[8].Value = storageInfoModel.POSTCODE;
parameter[9].Value = storageInfoModel.RFMODEL;
parameter[10].Value = storageInfoModel.GOODSFLAG;
parameter[11].Value = storageInfoModel.BATCHFLAG;
parameter[12].Value = storageInfoModel.STATUS;
parameter[13].Value = storageInfoModel.REMARK;
parameter[14].Value = storageInfoModel.VERSION;
parameter[15].Value = storageInfoModel.SORT;
parameter[16].Value = storageInfoModel.PROVINCE_ID;
parameter[17].Value = storageInfoModel.CITY_ID;
parameter[18].Value = storageInfoModel.TOWN_ID;
parameter[19].Value = storageInfoModel.OPERATORID;
parameter[20].Value = storageInfoModel.STORAGE_ID;
parameter[21].Value = storageInfoModel.AUTOSTS.ToString();
SystemDataObject.Instance.ExecuteSql(sqlstr, parameter);
}
return storageInfoModel.STORAGE_ID;
}
/// <summary>
/// 删除仓库信息
/// </summary>
/// <param name="strStorageTypeID"></param>
public void DeleteStorageInfo(string strStorageInfoID)
{
string sqlstr =@"delete from T_BASE_STORAGEINFO where STORAGE_ID =:STORAGE_ID ";
OracleParameter[] parameter = new OracleParameter[]{
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2),
};
parameter[0].Value = strStorageInfoID;
SystemDataObject.Instance.ExecuteSql(sqlstr, parameter);
}
/// <summary>
/// 删除属于某仓库分类的仓库信息
/// </summary>
/// <param name="strStorageTypeID">仓库分类编号</param>
public void DeleteStorageInfoByStorageTypeID(string strStorageTypeID)
{
string sqlstr =@"delete from T_BASE_STORAGEINFO where STORAGE_TYPE_ID =:STORAGE_TYPE_ID ";
OracleParameter[] parameter = new OracleParameter[]{
new OracleParameter(":STORAGE_TYPE_ID",OracleDbType.Varchar2),
};
parameter[0].Value = strStorageTypeID;
SystemDataObject.Instance.ExecuteSql(sqlstr, parameter);
}
}
}