256 lines
10 KiB
C#
256 lines
10 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using WMS.IData.IBase;
|
||
using System.Data;
|
||
using WMS.IData;using Oracle.ManagedDataAccess.Client;
|
||
using WMS.Model.Base;
|
||
|
||
|
||
namespace WMS.SqlServerData.BaseData
|
||
{
|
||
public class BaseCtlGoodsData : IBaseCtlGoods
|
||
{
|
||
/// <summary>
|
||
/// 查询数据
|
||
/// </summary>
|
||
/// <param name="model">容器管理Model</param>
|
||
/// <returns></returns>
|
||
public DataTable GetDataByID(BaseCtlGoodsModel model)
|
||
{
|
||
StringBuilder str = new StringBuilder();
|
||
#region SQL语句
|
||
str.Append(@"select
|
||
p.GOODS_ID, --商品编号
|
||
g.goods_name, --商品名称
|
||
g.gvolume, --商品体积
|
||
g.price, --商品价格
|
||
g.gross_weight, --商品毛重
|
||
g.net_weight, --商品净重
|
||
p.CTL_PALLET_ID, --Pallet Num
|
||
p.OPERATORID, --录入人
|
||
p.OPERATEDATE,--录入日期
|
||
(case pa.status when '0' then '空闲' when '1' then '占用' end) status, --容器Status
|
||
pa.volume, --容器体积
|
||
pa.bearweight, --容器承受重量
|
||
p.VC_DICTIONARY_ID, --事务类型(上架,下架,盘点,收货码盘)
|
||
t.vc_dictionary_name, --事务类型名称
|
||
u.NAME OPERATORNAME --录入人姓名
|
||
from T_BASE_CTL_GOODS p --容器详细表
|
||
left outer join T_BASE_PALLET pa --容器表
|
||
on p.ctl_pallet_id = pa.pallet_id
|
||
left outer join T_BASE_GOODS g --商品明细表
|
||
on p.goods_id = g.goods_id
|
||
left outer join t_Sys_Dictionary_Tab t --字典明细表
|
||
on p.vc_dictionary_id = t.vc_dictionary_id
|
||
left outer join T_base_UserInfo u --用户表
|
||
on p.Operatorid = u.User_ID
|
||
where 1 = 1 ");
|
||
#endregion
|
||
|
||
#region 查询条件
|
||
if (model != null)
|
||
{
|
||
//托盘编号
|
||
if (!string.IsNullOrEmpty(model.CTL_PALLET_ID))
|
||
{
|
||
str.Append(" and CTL_PALLET_ID like '%" + model.CTL_PALLET_ID + "%'");
|
||
}
|
||
//事务类型编号
|
||
if (!string.IsNullOrEmpty(model.VC_DICTIONARY_ID))
|
||
{
|
||
str.Append(" and p.VC_DICTIONARY_ID like '%" + model.VC_DICTIONARY_ID + "%'");
|
||
}
|
||
//搬运人
|
||
if (!string.IsNullOrEmpty(model.User_ID))
|
||
{
|
||
str.Append("and p.User_ID like '%" + model.User_ID + "%'");
|
||
}
|
||
str.Append(" order by p.OPERATEDATE desc ");
|
||
}
|
||
#endregion
|
||
|
||
DataTable dt = SystemDataObject.Instance.GetDataTable(str.ToString());
|
||
return dt;
|
||
}
|
||
|
||
#region 操作
|
||
/// <summary>
|
||
/// 操作容器
|
||
/// </summary>
|
||
/// <param name="list">容器管理Model</param>
|
||
/// <param name="flag">0: 新增 1:修改</param>
|
||
public void Operator(List<BaseCtlGoodsModel> list, int flag)
|
||
{
|
||
List<string> sqlstrlist = new List<string>();
|
||
List<OracleParameter[]> sqlpara = new List<OracleParameter[]>();
|
||
|
||
string strPallet = string.Empty;
|
||
#region 批量
|
||
if (flag == 0)
|
||
{
|
||
foreach (BaseCtlGoodsModel bcgoods in list)
|
||
{
|
||
strPallet =@"insert into T_BASE_CTL_GOODS
|
||
(CTL_PALLET_ID,
|
||
GOODS_ID,
|
||
VC_DICTIONARY_ID,
|
||
VC_TYPE,
|
||
USER_ID,
|
||
OPERATORID,
|
||
OPERATEDATE)
|
||
values
|
||
(:CTL_PALLET_ID,
|
||
:GOODS_ID,
|
||
:VC_DICTIONARY_ID,
|
||
:VC_TYPE,
|
||
:USER_ID,
|
||
:OPERATORID,
|
||
:OPERATEDATE)";
|
||
|
||
OracleParameter[] param = new OracleParameter[] {
|
||
new OracleParameter(":CTL_PALLET_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":VC_DICTIONARY_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":VC_TYPE",OracleDbType.Varchar2),
|
||
new OracleParameter(":USER_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":OPERATORID",OracleDbType.Varchar2),
|
||
new OracleParameter(":OPERATEDATE",OracleDbType.Date)
|
||
};
|
||
param[0].Value = bcgoods.CTL_PALLET_ID;
|
||
param[1].Value = bcgoods.GOODS_ID;
|
||
param[2].Value = bcgoods.VC_DICTIONARY_ID;
|
||
param[3].Value = bcgoods.VC_TYPE;
|
||
param[4].Value = bcgoods.User_ID;
|
||
param[5].Value = bcgoods.OPERATORID;
|
||
param[6].Value = bcgoods.OPERATEDATE;
|
||
|
||
sqlstrlist.Add(strPallet);
|
||
sqlpara.Add(param);
|
||
}
|
||
SystemDataObject.Instance.ExecuteList(sqlstrlist, sqlpara);
|
||
}
|
||
#endregion
|
||
|
||
#region 更换容器 替换编号
|
||
else if (flag == 1)
|
||
{
|
||
foreach (BaseCtlGoodsModel model in list)
|
||
{
|
||
strPallet =@" update T_BASE_CTL_GOODS
|
||
set
|
||
OPERATORID =:OPERATORID,
|
||
OPERATEDATE =:OPERATEDATE,
|
||
VC_DICTIONARY_ID =:VC_DICTIONARY_ID,
|
||
CTL_PALLET_ID =:CTL_PALLET_ID
|
||
where
|
||
CTL_PALLET_ID =:CTL_PALLET_ID
|
||
and GOODS_ID =:GOODS_ID";
|
||
|
||
OracleParameter[] param = new OracleParameter[] {
|
||
new OracleParameter(":OPERATORID",OracleDbType.Varchar2),
|
||
new OracleParameter(":OPERATEDATE",OracleDbType.Date),
|
||
new OracleParameter(":VC_DICTIONARY_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":CTL_PALLET_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":CTL_PALLET_ID",OracleDbType.Varchar2),
|
||
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2)
|
||
};
|
||
param[0].Value = model.OPERATORID;
|
||
param[1].Value = model.OPERATEDATE;
|
||
param[2].Value = model.VC_DICTIONARY_ID;
|
||
param[3].Value = model.PALLET_NEWID;
|
||
param[4].Value = model.CTL_PALLET_ID;
|
||
param[5].Value = model.GOODS_ID;
|
||
|
||
sqlstrlist.Add(strPallet);
|
||
sqlpara.Add(param);
|
||
}
|
||
SystemDataObject.Instance.ExecuteList(sqlstrlist, sqlpara);
|
||
}
|
||
#endregion
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 删除(解除绑定)
|
||
/// <summary>
|
||
/// 删除数据(解除绑定)
|
||
/// </summary>
|
||
/// <param name="model">容器Model</param>
|
||
public void DeleteData(BaseCtlGoodsModel model)
|
||
{
|
||
string strPalletdel;
|
||
strPalletdel =@"delete from
|
||
T_BASE_CTL_GOODS --容器表
|
||
where
|
||
CTL_PALLET_ID =:CTL_PALLET_ID --托盘编号";
|
||
OracleParameter[] param = new OracleParameter[] {
|
||
new OracleParameter(":CTL_PALLET_ID",OracleDbType.Varchar2)
|
||
};
|
||
param[0].Value = model.CTL_PALLET_ID;
|
||
SystemDataObject.Instance.ExecuteSqlCommit(strPalletdel, param);
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
#region 删除多条(解除绑定)
|
||
/// <summary>
|
||
/// 删除多条数据(解除绑定)
|
||
/// </summary>
|
||
/// <param name="list">容器Model</param>
|
||
public void DeleteMoreData(List<BaseCtlGoodsModel> list)
|
||
{
|
||
string strPalletdel;
|
||
List<string> strlistadd = new List<string>();
|
||
List<OracleParameter[]> strparamadd = new List<OracleParameter[]>();
|
||
foreach (BaseCtlGoodsModel ctlmodel in list)
|
||
{
|
||
strPalletdel =@"delete from
|
||
T_BASE_CTL_GOODS --容器表
|
||
where
|
||
CTL_PALLET_ID =:CTL_PALLET_ID --托盘编号";
|
||
OracleParameter[] param = new OracleParameter[] {
|
||
new OracleParameter(":CTL_PALLET_ID",OracleDbType.Varchar2)
|
||
};
|
||
param[0].Value = ctlmodel.CTL_PALLET_ID;
|
||
|
||
strlistadd.Add(strPalletdel);
|
||
strparamadd.Add(param);
|
||
}
|
||
SystemDataObject.Instance.ExecuteList(strlistadd, strparamadd);
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
|
||
#region 废弃 ->删除数据写入到备份表中(T_BASE_CTL_GOODS_BACK未建立)
|
||
/// <summary>
|
||
/// 删除数据写入到备份表中
|
||
/// </summary>
|
||
/// <param name="list">容器管理Model集合</param>
|
||
//public void InsertBaseCtlGoodsBack(List<BaseCtlGoodsModel> list)
|
||
//{
|
||
// string strSql = string.Empty;
|
||
// List<string> delsqlstrlist = new List<string>();
|
||
// List<OracleParameter[]> delsqlpara = new List<OracleParameter[]>();
|
||
|
||
// foreach (BaseCtlGoodsModel model in list)
|
||
// {
|
||
// strSql = "insert into T_BASE_CTL_GOODS_BACK select * from T_BASE_CTL_GOODS where CTL_PALLET_ID =:CTL_PALLET_ID";
|
||
// OracleParameter[] param = new OracleParameter{
|
||
// new OracleParameter(":CTL_PALLET_ID",OracleDbType.Varchar2)};
|
||
// param[0].Value = model.CTL_PALLET_ID;
|
||
|
||
// delsqlstrlist.Add(strSql);
|
||
// delsqlpara.Add(param);
|
||
// }
|
||
// SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara);
|
||
//}
|
||
#endregion
|
||
}
|
||
|
||
}
|