BaoKai_202508_Wms_Jingwang_.../WMS.SqlServerData/StockData/StorageRepData.cs

1091 lines
50 KiB
C#
Raw Normal View History

2025-08-24 21:52:42 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.Model.Stock;
using WMS.IData;using Oracle.ManagedDataAccess.Client;
using WMS.IData.IStock;
using System.Data;
namespace WMS.SqlServerData.StockData
{
public class StorageRepData : IStorageRep
{
#region
/// <summary>
/// 获取流水号
/// </summary>
/// <returns></returns>
public string GetNextValNum()
{
string strSqlSeq = "";
strSqlSeq = "select NEXT VALUE FOR SEQ_STOCK_STORAGEREP_ID";
DataTable dt = SystemDataObject.Instance.GetDataTable(strSqlSeq);
string strSEQ = "CB" + DateTime.Now.ToString("yyyyMMdd") + dt.Rows[0][0].ToString();
return strSEQ;
}
#endregion
#region
/// <summary>
/// 查询仓库间调拨数据信息
/// </summary>
/// <param name="stoModel">仓库间调拨Model</param>
/// <returns></returns>
public DataTable GetStorageRepData(StorageRepModel stoModel)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(@" select t.storep_id, --供应商补货单据编号
t.totalout_num, --
t.create_man, --
a.Name create_man_name, --
t.confirm_man, --
b.Name confirm_man_name, --
t.operatorid, --
c.Name OPERATOR_NAME,--
t.operatedate, --
t.create_date, --
t.confirm_date, --
t.expect_date, --
t.stostart_id, --
s.storage_name stostart_name, --
t.stoend_id, --
y.storage_name stoend_name, --
t.storep_status, --Status
t.remark, --
t.resion, --
sy.vc_dictionary_name RESION_NAME, --
t.shippers, --
t.ori_bill, --
t.version, --
t.print_count --
from T_STOCK_STOREP t --
left join T_BASE_USERINFO a --
on t.create_man = a.user_id
left join T_BASE_USERINFO b --
on t.Confirm_man = b.user_id
left join T_BASE_USERINFO c --
on t.operatorid = c.user_id
left join T_BASE_STORAGEINFO s --
on t.stostart_id = s.storage_id
left join t_Base_Storageinfo y --
on t.stoend_id = y.storage_id
left join T_SYS_DICTIONARY_TAB sy --
on t.resion = sy.vc_dictionary_id
where 1 = 1
");
#region
if (!string.IsNullOrEmpty(stoModel.STOREP_ID))
{
strSql.Append(" and t.storep_id like'%" + stoModel.STOREP_ID + "%'");
}
if (!string.IsNullOrEmpty(stoModel.CREATE_MAN))
{
strSql.Append(" and t.CREATE_MAN like '%" + stoModel.CREATE_MAN + "%'");
}
if (!string.IsNullOrEmpty(stoModel.CONFIRM_MAN))
{
strSql.Append(" and t.CONFIRM_MAN like '%" + stoModel.CONFIRM_MAN + "%'");
}
//if (!string.IsNullOrEmpty(stoModel.REVIEW_MAN))
//{
// strSql.Append(" and t.REVIEW_MAN like '%" + stoModel.REVIEW_MAN + "%'");
//}
if (!string.IsNullOrEmpty(stoModel.RESION))
{
strSql.Append(" and t.resion like '%" + stoModel.RESION + "%'");
}
if (stoModel.TIMESTART != DateTime.MinValue && stoModel.TIMEEND != DateTime.MinValue)
{
strSql.Append(" and t.create_DATE between convert(varchar(100),'" + stoModel.TIMESTART.ToString("yyyy-MM-dd") + "',20) and convert(varchar(100),'" + stoModel.TIMEEND.ToString("yyyy-MM-dd") + "',20)");
}
strSql.Append(" order by t.create_date desc");
#endregion
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
#endregion
#region
/// <summary>
/// 查询仓库间调拨明细数据
/// </summary>
/// <param name="stoid">仓库间调拨ID</param>
/// <returns></returns>
public DataTable GetStorageRepInfoData(string stoid)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(@"select s.storep_id,
s.goods_id,
g.goods_name GOODS_NAME,
s.goodsout_count,
g.cost_price,
s.goodsout_count*g.cost_price sum_cost_price,
t.vc_dictionary_name UNIT_NAME,
s.remark,
s.price,
s.unit,
s.sumprice,
s.shevls_num
from T_STOCK_STOREP_INFO s
left join t_Base_Goods g
on s.goods_id = g.goods_id
left join T_SYS_DICTIONARY_TAB t
on s.unit = t.vc_char_value
where 1 = 1 and t.vc_dictionary_type='vc_uom'
");
if (!string.IsNullOrEmpty(stoid))
{
strSql.Append(" and s.STOREP_ID = '" + stoid + "'");
}
strSql.Append(" order by s.storep_id desc");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
#endregion
#region
/// <summary>
/// 同时新增 主表和明细表数据
/// </summary>
/// <param name="model">主表Model</param>
/// <param name="listmodel">明细表Model集合</param>
public void InsertStorageRepData(StorageRepModel model, List<StorageRepInfoModel> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> addsqlstrlist = new List<string>();
List<OracleParameter[]> addsqlpara = new List<OracleParameter[]>();
strSql.Append("insert into T_STOCK_STOREP(");
strSql.Append("STOREP_ID,TOTALOUT_NUM,CREATE_MAN,CONFIRM_MAN,CREATE_DATE,CONFIRM_DATE,EXPECT_DATE,STOSTART_ID,STOEND_ID,STOREP_STATUS,REMARK,VERSION,RESION,PRINT_COUNT,SHIPPERS,ORI_BILL,OPERATORID,OPERATEDATE)");
strSql.Append(" values (");
strSql.Append(":STOREP_ID,:TOTALOUT_NUM,:CREATE_MAN,:CONFIRM_MAN,:CREATE_DATE,:CONFIRM_DATE,:EXPECT_DATE,:STOSTART_ID,:STOEND_ID,:STOREP_STATUS,:REMARK,:VERSION,:RESION,:PRINT_COUNT,:SHIPPERS,:ORI_BILL,:OPERATORID,:OPERATEDATE)");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":CONFIRM_DATE", OracleDbType.Date),
new OracleParameter(":EXPECT_DATE", OracleDbType.Date),
new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":RESION",OracleDbType.Varchar2,200),
new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal),
new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50),
new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATEDATE",OracleDbType.Date)
};
parameters[0].Value = model.STOREP_ID;
parameters[1].Value = model.TOTALOUT_NUM;
parameters[2].Value = model.CREATE_MAN;
parameters[3].Value = model.CONFIRM_MAN;
// parameters[4].Value = model.REVIEW_MAN;
parameters[4].Value = model.CREATE_DATE;
parameters[5].Value = model.CONFIRM_DATE;
// parameters[7].Value = model.REVIEW_DATE;
parameters[6].Value = model.EXPECT_DATE;
parameters[7].Value = model.STOSTART_ID;
parameters[8].Value = model.STOEND_ID;
parameters[9].Value = model.STOREP_STATUS;
parameters[10].Value = model.REMARK;
parameters[11].Value = model.VERSION;
parameters[12].Value = model.RESION;
parameters[13].Value = model.PRINT_COUNT;
parameters[14].Value = model.SHIPPERS;
parameters[15].Value = model.ORI_BILL;
parameters[16].Value = model.OPERATORID;
parameters[17].Value = model.OPERATEDATE;
addsqlstrlist.Add(strSql.ToString());
addsqlpara.Add(parameters);
foreach (StorageRepInfoModel info in listmodel)
{
strSql = new StringBuilder();
strSql.Append("insert into T_STOCK_STOREP_INFO(");
strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)");
strSql.Append(" values (");
strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)");
OracleParameter[] parameter = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
};
parameter[0].Value = info.STOREP_ID;
parameter[1].Value = info.GOODS_ID;
parameter[2].Value = info.GOODSOUT_COUNT;
parameter[3].Value = info.REMARK;
parameter[4].Value = info.VERSION;
parameter[5].Value = info.SHEVLS_NUM;
parameter[6].Value = info.PRICE;
parameter[7].Value = info.UNIT;
parameter[8].Value = info.SUMPRICE;
addsqlstrlist.Add(strSql.ToString());
addsqlpara.Add(parameter);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara);
}
#endregion
#region
/// <summary>
/// 同时更新 主表明细表数据
/// </summary>
/// <param name="model">仓库间调拨主表Model</param>
/// <param name="listmodel">仓库间调拨明细表Model集合</param>
public void UpdateStorageRepData(StorageRepModel model, List<StorageRepInfoModel> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> updatesqlstrlist = new List<string>();
List<OracleParameter[]> updatesqlpara = new List<OracleParameter[]>();
strSql.Append("update T_STOCK_STOREP set ");
strSql.Append("TOTALOUT_NUM=:TOTALOUT_NUM,");
strSql.Append("CREATE_MAN=:CREATE_MAN,");
strSql.Append("CONFIRM_MAN=:CONFIRM_MAN,");
strSql.Append("CREATE_DATE=:CREATE_DATE,");
strSql.Append("CONFIRM_DATE=:CONFIRM_DATE,");
strSql.Append("EXPECT_DATE=:EXPECT_DATE,");
strSql.Append("STOSTART_ID=:STOSTART_ID,");
strSql.Append("STOEND_ID=:STOEND_ID,");
strSql.Append("STOREP_STATUS=:STOREP_STATUS,");
strSql.Append("RESION=:RESION,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("VERSION=:VERSION,");
strSql.Append("PRINT_COUNT=:PRINT_COUNT,");
strSql.Append("SHIPPERS=:SHIPPERS,");
strSql.Append("OPERATORID=:OPERATORID,");
strSql.Append("OPERATEDATE=:OPERATEDATE,");
strSql.Append("ORI_BILL=:ORI_BILL");
strSql.Append(" where STOREP_ID=:STOREP_ID");
OracleParameter[] parameters = {
new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30),
//new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":CONFIRM_DATE", OracleDbType.Date),
//new OracleParameter(":REVIEW_DATE", OracleDbType.Date),
new OracleParameter(":EXPECT_DATE", OracleDbType.Date),
new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1),
new OracleParameter(":RESION",OracleDbType.Varchar2,200),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal),
new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATEDATE",OracleDbType.Date),
new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50),
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)};
parameters[0].Value = model.TOTALOUT_NUM;
parameters[1].Value = model.CREATE_MAN;
parameters[2].Value = model.CONFIRM_MAN;
// parameters[3].Value = model.REVIEW_MAN;
parameters[3].Value = model.CREATE_DATE;
parameters[4].Value = model.CONFIRM_DATE;
//parameters[6].Value = model.REVIEW_DATE;
parameters[5].Value = model.EXPECT_DATE;
parameters[6].Value = model.STOSTART_ID;
parameters[7].Value = model.STOEND_ID;
parameters[8].Value = model.STOREP_STATUS;
parameters[9].Value = model.RESION;
parameters[10].Value = model.REMARK;
parameters[11].Value = model.VERSION;
parameters[12].Value = model.PRINT_COUNT;
parameters[13].Value = model.SHIPPERS;
parameters[14].Value = model.OPERATORID;
parameters[15].Value = model.OPERATEDATE;
parameters[16].Value = model.ORI_BILL;
parameters[17].Value = model.STOREP_ID;
updatesqlstrlist.Add(strSql.ToString());
updatesqlpara.Add(parameters);
foreach (StorageRepInfoModel info in listmodel)
{
strSql = new StringBuilder();
strSql.Append("update T_STOCK_STOREP_INFO set ");
strSql.Append("GOODSOUT_COUNT=:GOODSOUT_COUNT,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("SUMPRICE=:SUMPRICE,");
strSql.Append("VERSION=:VERSION");
strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID ");
OracleParameter[] parameter = {
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)};
parameter[0].Value = info.GOODSOUT_COUNT;
parameter[1].Value = info.REMARK;
parameter[2].Value = info.PRICE;
parameter[3].Value = info.UNIT;
parameter[4].Value = info.SUMPRICE;
parameter[5].Value = info.VERSION;
parameter[6].Value = info.STOREP_ID;
parameter[7].Value = info.GOODS_ID;
updatesqlstrlist.Add(strSql.ToString());
updatesqlpara.Add(parameter);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(updatesqlstrlist, updatesqlpara);
}
#endregion
#region
/// <summary>
/// 同时删除 主表明细表数据
/// </summary>
/// <param name="listmodel"></param>
public void DeleteStorageRepData(List<string> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> delsqlstrlist = new List<string>();
List<OracleParameter[]> delsqlpara = new List<OracleParameter[]>();
foreach (string stDel in listmodel)
{
strSql.Append("delete from T_STOCK_STOREP ");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)};
parameters[0].Value = stDel;
delsqlstrlist.Add(strSql.ToString());
delsqlpara.Add(parameters);
strSql.Clear();
}
foreach (string str in listmodel)
{
strSql = new StringBuilder();
strSql.Append("delete from T_STOCK_STOREP_INFO ");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)
};
parameters[0].Value = str;
delsqlstrlist.Add(strSql.ToString());
delsqlpara.Add(parameters);
strSql.Clear();
}
//foreach (string strmes in listmodel)
//{
// strSql = new StringBuilder();
// strSql.Append("delete from T_BASE_MESSAGE ");
// strSql.Append(" where RELATIVE_NUMBER=:RELATIVE_NUMBER ");
// OracleParameter[] parametersss = {
// new OracleParameter(":RELATIVE_NUMBER",OracleDbType.Varchar2)
//};
// parametersss[0].Value = strmes;
// delsqlstrlist.Add(strSql.ToString());
// delsqlpara.Add(parametersss);
// strSql.Clear();
//}
SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara);
}
#endregion
/// <summary>
/// 单独增加明细数据
/// </summary>
public void Add(List<StorageRepInfoModel> list)
{
StringBuilder strSql = new StringBuilder();
List<string> sqlstrlist = new List<string>();
List<OracleParameter[]> sqlpara = new List<OracleParameter[]>();
foreach (StorageRepInfoModel model in list)
{
strSql = new StringBuilder();
strSql = new StringBuilder();
strSql.Append("insert into T_STOCK_STOREP_INFO(");
strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)");
strSql.Append(" values (");
strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)");
OracleParameter[] parameter = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
};
parameter[0].Value = model.STOREP_ID;
parameter[1].Value = model.GOODS_ID;
parameter[2].Value = model.GOODSOUT_COUNT;
parameter[3].Value = model.REMARK;
parameter[4].Value = model.VERSION;
parameter[5].Value = model.SHEVLS_NUM;
parameter[6].Value = model.PRICE;
parameter[7].Value = model.UNIT;
parameter[8].Value = model.SUMPRICE;
sqlstrlist.Add(strSql.ToString());
sqlpara.Add(parameter);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(sqlstrlist, sqlpara);
}
#region
/// <summary>
/// 单独更新明细数据
/// </summary>
/// <param name="upFuc"></param>
/// <param name="insertFuc"></param>
/// <param name="delFuc"></param>
public void NewStorageRepInfoFuc(StorageRepModel stM, List<StorageRepInfoModel> upFuc, List<StorageRepInfoModel> insertFuc, List<StorageRepInfoModel> delFuc)
{
List<string> sqlList = new List<string>();
List<OracleParameter[]> paraList = new List<OracleParameter[]>();
StringBuilder strSql = new StringBuilder();
#region
strSql.Append("update T_STOCK_STOREP set ");
strSql.Append("TOTALOUT_NUM=:TOTALOUT_NUM,");
strSql.Append("CREATE_MAN=:CREATE_MAN,");
strSql.Append("CONFIRM_MAN=:CONFIRM_MAN,");
// strSql.Append("REVIEW_MAN=:REVIEW_MAN,");
strSql.Append("CREATE_DATE=:CREATE_DATE,");
strSql.Append("CONFIRM_DATE=:CONFIRM_DATE,");
//strSql.Append("REVIEW_DATE=:REVIEW_DATE,");
strSql.Append("EXPECT_DATE=:EXPECT_DATE,");
strSql.Append("STOSTART_ID=:STOSTART_ID,");
strSql.Append("STOEND_ID=:STOEND_ID,");
strSql.Append("STOREP_STATUS=:STOREP_STATUS,");
strSql.Append("RESION=:RESION,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("VERSION=:VERSION,");
strSql.Append("PRINT_COUNT=:PRINT_COUNT");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] param = new OracleParameter[]{
new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30),
//new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":CONFIRM_DATE", OracleDbType.Date),
//new OracleParameter(":REVIEW_DATE", OracleDbType.Date),
new OracleParameter(":EXPECT_DATE", OracleDbType.Date),
new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1),
new OracleParameter(":RESION",OracleDbType.Varchar2,200),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal),
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)};
param[0].Value = stM.TOTALOUT_NUM;
param[1].Value = stM.CREATE_MAN;
param[2].Value = stM.CONFIRM_MAN;
//param[3].Value = stM.REVIEW_MAN;
param[3].Value = stM.CREATE_DATE;
param[4].Value = stM.CONFIRM_DATE;
//param[6].Value = stM.REVIEW_DATE;
param[5].Value = stM.EXPECT_DATE;
param[6].Value = stM.STOSTART_ID;
param[7].Value = stM.STOEND_ID;
param[8].Value = stM.STOREP_STATUS;
param[9].Value = stM.RESION;
param[10].Value = stM.REMARK;
param[11].Value = stM.VERSION;
param[12].Value = stM.PRINT_COUNT;
param[13].Value = stM.STOREP_ID;
sqlList.Add(strSql.ToString());
paraList.Add(param);
strSql.Clear();
#endregion
#region
#region
//明细删除
if (delFuc.Count > 0)
{
foreach (StorageRepInfoModel infomodel in delFuc)
{
strSql = new StringBuilder();
strSql.Append("delete from T_STOCK_STOREP_INFO ");
strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)
};
parameters[0].Value = infomodel.STOREP_ID;
parameters[1].Value = infomodel.GOODS_ID;
sqlList.Add(strSql.ToString());
paraList.Add(parameters);
strSql.Clear();
}
}
#endregion
#region
//更新明细数据
if (upFuc.Count > 0)
{
foreach (StorageRepInfoModel modelinfo in upFuc)
{
strSql = new StringBuilder();
strSql.Append("update T_STOCK_STOREP_INFO set ");
strSql.Append("GOODSOUT_COUNT=:GOODSOUT_COUNT,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("SUMPRICE=:SUMPRICE,");
strSql.Append("VERSION=:VERSION");
strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID ");
OracleParameter[] parameter = {
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)};
parameter[0].Value = modelinfo.GOODSOUT_COUNT;
parameter[1].Value = modelinfo.REMARK;
parameter[2].Value = modelinfo.PRICE;
parameter[3].Value = modelinfo.UNIT;
parameter[4].Value = modelinfo.SUMPRICE;
parameter[5].Value = modelinfo.VERSION;
parameter[6].Value = modelinfo.STOREP_ID;
parameter[7].Value = modelinfo.GOODS_ID;
sqlList.Add(strSql.ToString());
paraList.Add(parameter);
strSql.Clear();
}
}
#endregion
#region
// 新增明细数据
if (insertFuc.Count > 0)
{
foreach (StorageRepInfoModel modelinfo in insertFuc)
{
strSql = new StringBuilder();
strSql = new StringBuilder();
strSql.Append("insert into T_STOCK_STOREP_INFO(");
strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)");
strSql.Append(" values (");
strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)");
OracleParameter[] parameter = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
};
parameter[0].Value = modelinfo.STOREP_ID;
parameter[1].Value = modelinfo.GOODS_ID;
parameter[2].Value = modelinfo.GOODSOUT_COUNT;
parameter[3].Value = modelinfo.REMARK;
parameter[4].Value = modelinfo.VERSION;
parameter[5].Value = modelinfo.SHEVLS_NUM;
parameter[6].Value = modelinfo.PRICE;
parameter[7].Value = modelinfo.UNIT;
parameter[8].Value = modelinfo.SUMPRICE;
sqlList.Add(strSql.ToString());
paraList.Add(parameter);
strSql.Clear();
}
}
#endregion
#endregion
SystemDataObject.Instance.ExecuteList(sqlList, paraList);
}
#endregion
/// <summary>
/// 单独删除明细数据
/// </summary>
public void Delete(List<StorageRepInfoModel> list)
{
StringBuilder strSql = new StringBuilder();
List<string> sqlstrlist = new List<string>();
List<OracleParameter[]> sqlstrpara = new List<OracleParameter[]>();
foreach (StorageRepInfoModel model in list)
{
strSql = new StringBuilder();
strSql.Append("delete from T_STOCK_STOREP_INFO ");
strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30) };
parameters[0].Value = model.STOREP_ID;
parameters[1].Value = model.GOODS_ID;
sqlstrlist.Add(strSql.ToString());
sqlstrpara.Add(parameters);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(sqlstrlist, sqlstrpara);
}
#region
// public DataTable GetStockData()
// {
// StringBuilder strSql = new StringBuilder();
// strSql.Append(@"select
// t.stock_id,
// t.putin_id,
// t.out_id,
// t.storage_id,
// t.area_id,
// t.location_id,
// t.goods_typeid,
// t.goods_id,
// g.goods_name,
// t.goods_num,
// t.operator_man,
// t.operator_date,
// t.operator_type,
// t.remark,
// t.version
// from T_MI_STOCK_BACK t
// left outer join T_BASE_GOODS g
// on t.goods_id = g.goods_id
// where 1 = 1");
// #region 查询条件
// strSql.Append("");
// #endregion
// return SystemDataObject.Instance.GetDataTable(strSql.ToString());
// }
#endregion
#region
/// <summary>
/// 删除多条数据
/// </summary>
public void DeleteStorageRep(List<StorageRepModel> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> delsqlstrlist = new List<string>();
List<OracleParameter[]> delsqlpara = new List<OracleParameter[]>();
foreach (StorageRepModel model in listmodel)
{
strSql.Append("delete from T_STOCK_STOREP ");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) };
parameters[0].Value = model.STOREP_ID;
delsqlstrlist.Add(strSql.ToString());
delsqlpara.Add(parameters);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara);
}
#endregion
#region
/// <summary>
/// 删除一条数据
/// </summary>
public void DeleteStorageRepInfo(List<StorageRepInfoModel> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> delsqlstrlist = new List<string>();
List<OracleParameter[]> delsqlpara = new List<OracleParameter[]>();
foreach (StorageRepInfoModel model in listmodel)
{
strSql.Append("delete from T_STOCK_STOREP_INFO ");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)
// new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)
};
parameters[0].Value = model.STOREP_ID;
//parameters[1].Value = model.GOODS_ID;
delsqlstrlist.Add(strSql.ToString());
delsqlpara.Add(parameters);
}
SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara);
}
#endregion
#region
/// <summary>
/// 增加仓库间调拨主表数据
/// </summary>
/// <param name="model">仓库间调拨Model</param>
public void InsertStorageRep(StorageRepModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_STOCK_STOREP(");
strSql.Append("STOREP_ID,TOTALOUT_NUM,CREATE_MAN,CONFIRM_MAN,CREATE_DATE,CONFIRM_DATE,EXPECT_DATE,STOSTART_ID,STOEND_ID,STOREP_STATUS,REMARK,VERSION,RESION,PRINT_COUNT,SHIPPERS,ORI_BILL,OPERATORID,OPERATEDATE)");
strSql.Append(" values (");
strSql.Append(":STOREP_ID,:TOTALOUT_NUM,:CREATE_MAN,:CONFIRM_MAN,:CREATE_DATE,:CONFIRM_DATE,:EXPECT_DATE,:STOSTART_ID,:STOEND_ID,:STOREP_STATUS,:REMARK,:VERSION,:RESION,:PRINT_COUNT,:SHIPPERS,:ORI_BILL,:OPERATORID,:OPERATEDATE)");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30),
//new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":CONFIRM_DATE", OracleDbType.Date),
//new OracleParameter(":REVIEW_DATE", OracleDbType.Date),
new OracleParameter(":EXPECT_DATE", OracleDbType.Date),
new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":RESION",OracleDbType.Varchar2,200),
new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal),
new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50),
new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATEDATE",OracleDbType.Date)
};
parameters[0].Value = model.STOREP_ID;
parameters[1].Value = model.TOTALOUT_NUM;
parameters[2].Value = model.CREATE_MAN;
parameters[3].Value = model.CONFIRM_MAN;
// parameters[4].Value = model.CONFIRM_MAN;
parameters[4].Value = model.CREATE_DATE;
parameters[5].Value = model.CONFIRM_DATE;
// parameters[7].Value = model.REVIEW_DATE;
parameters[6].Value = model.EXPECT_DATE;
parameters[7].Value = model.STOSTART_ID;
parameters[8].Value = model.STOEND_ID;
parameters[9].Value = model.STOREP_STATUS;
parameters[10].Value = model.REMARK;
parameters[11].Value = model.VERSION;
parameters[12].Value = model.RESION;
parameters[13].Value = model.PRINT_COUNT;
parameters[14].Value = model.SHIPPERS;
parameters[15].Value = model.ORI_BILL;
parameters[16].Value = model.OPERATORID;
parameters[17].Value = model.OPERATEDATE;
SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters);
}
#endregion
#region
/// <summary>
/// 增仓库间调拨明细数据
/// </summary>
/// <param name="listmodel">仓库间调拨明细Model集合</param>
public void InsertStorageRepInfo(List<StorageRepInfoModel> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> addsqlstrlist = new List<string>();
List<OracleParameter[]> addsqlpara = new List<OracleParameter[]>();
foreach (StorageRepInfoModel model in listmodel)
{
strSql = new StringBuilder();
strSql.Append("insert into T_STOCK_STOREP_INFO(");
strSql.Append("STOREP_ID,GOODS_ID,GOODSOUT_COUNT,REMARK,VERSION,SHEVLS_NUM,PRICE,UNIT,SUMPRICE)");
strSql.Append(" values (");
strSql.Append(":STOREP_ID,:GOODS_ID,:GOODSOUT_COUNT,:REMARK,:VERSION,:SHEVLS_NUM,:PRICE,:UNIT,:SUMPRICE)");
OracleParameter[] parameter = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":SHEVLS_NUM", OracleDbType.Decimal,4),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
};
parameter[0].Value = model.STOREP_ID;
parameter[1].Value = model.GOODS_ID;
parameter[2].Value = model.GOODSOUT_COUNT;
parameter[3].Value = model.REMARK;
parameter[4].Value = model.VERSION;
parameter[5].Value = model.SHEVLS_NUM;
parameter[6].Value = model.PRICE;
parameter[7].Value = model.UNIT;
parameter[8].Value = model.SUMPRICE;
addsqlstrlist.Add(strSql.ToString());
addsqlpara.Add(parameter);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(addsqlstrlist, addsqlpara);
}
#endregion
#region
/// <summary>
/// 更新仓库间调拨主表数据
/// </summary>
/// <param name="model">仓库间调拨Model</param>
public void UpdateStorageRep(StorageRepModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_STOCK_STOREP set ");
strSql.Append("TOTALOUT_NUM=:TOTALOUT_NUM,");
strSql.Append("CREATE_MAN=:CREATE_MAN,");
strSql.Append("CONFIRM_MAN=:CONFIRM_MAN,");
//strSql.Append("REVIEW_MAN=:REVIEW_MAN,");
strSql.Append("CREATE_DATE=:CREATE_DATE,");
strSql.Append("CONFIRM_DATE=:CONFIRM_DATE,");
//strSql.Append("REVIEW_DATE=:REVIEW_DATE,");
strSql.Append("EXPECT_DATE=:EXPECT_DATE,");
strSql.Append("STOSTART_ID=:STOSTART_ID,");
strSql.Append("STOEND_ID=:STOEND_ID,");
strSql.Append("STOREP_STATUS=:STOREP_STATUS,");
strSql.Append("RESION=:RESION,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("VERSION=:VERSION,");
strSql.Append("PRINT_COUNT=:PRINT_COUNT,");
strSql.Append("SHIPPERS=:SHIPPERS,");
strSql.Append("OPERATORID=:OPERATORID,");
strSql.Append("OPERATEDATE=:OPERATEDATE,");
strSql.Append("ORI_BILL=:ORI_BILL");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":TOTALOUT_NUM", OracleDbType.Decimal,4),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CONFIRM_MAN",OracleDbType.Varchar2,30),
//new OracleParameter(":REVIEW_MAN",OracleDbType.Varchar2,30),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":CONFIRM_DATE", OracleDbType.Date),
//new OracleParameter(":REVIEW_DATE", OracleDbType.Date),
new OracleParameter(":EXPECT_DATE", OracleDbType.Date),
new OracleParameter(":STOSTART_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOEND_ID",OracleDbType.Varchar2,30),
new OracleParameter(":STOREP_STATUS", OracleDbType.Char,1),
new OracleParameter(":RESION",OracleDbType.Varchar2,200),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":PRINT_COUNT",OracleDbType.Decimal),
new OracleParameter(":SHIPPERS",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATORID",OracleDbType.Varchar2,50),
new OracleParameter(":OPERATEDATE",OracleDbType.Date),
new OracleParameter(":ORI_BILL",OracleDbType.Varchar2,50),
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)};
parameters[0].Value = model.TOTALOUT_NUM;
parameters[1].Value = model.CREATE_MAN;
parameters[2].Value = model.CONFIRM_MAN;
//parameters[3].Value = model.REVIEW_MAN;
parameters[3].Value = model.CREATE_DATE;
parameters[4].Value = model.CONFIRM_DATE;
//parameters[6].Value = model.REVIEW_DATE;
parameters[5].Value = model.EXPECT_DATE;
parameters[6].Value = model.STOSTART_ID;
parameters[7].Value = model.STOEND_ID;
parameters[8].Value = model.STOREP_STATUS;
parameters[9].Value = model.RESION;
parameters[10].Value = model.REMARK;
parameters[11].Value = model.VERSION;
parameters[12].Value = model.PRINT_COUNT;
parameters[13].Value = model.SHIPPERS;
parameters[14].Value = model.OPERATORID;
parameters[15].Value = model.OPERATEDATE;
parameters[16].Value = model.ORI_BILL;
parameters[17].Value = model.STOREP_ID;
SystemDataObject.Instance.ExecuteSqlCommit(strSql.ToString(), parameters);
}
#endregion
#region
/// <summary>
/// 更新仓库间调拨明细数据
/// </summary>
/// <param name="listmodel">仓库间调拨明细Model集合</param>
public void UpdateStorageRepInfo(List<StorageRepInfoModel> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> updatesqlstrlist = new List<string>();
List<OracleParameter[]> updatesqlpara = new List<OracleParameter[]>();
foreach (StorageRepInfoModel model in listmodel)
{
strSql.Append("update T_STOCK_STOREP_INFO set ");
strSql.Append("GOODSOUT_COUNT=:GOODSOUT_COUNT,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("SUMPRICE=:SUMPRICE,");
strSql.Append("VERSION=:VERSION");
strSql.Append(" where STOREP_ID=:STOREP_ID and GOODS_ID=:GOODS_ID ");
OracleParameter[] parameter = {
new OracleParameter(":GOODSOUT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":REMARK",OracleDbType.Varchar2,200),
new OracleParameter(":PRICE", OracleDbType.Decimal,4),
new OracleParameter(":UNIT",OracleDbType.Varchar2,10),
new OracleParameter(":SUMPRICE", OracleDbType.Decimal,4),
new OracleParameter(":VERSION",OracleDbType.Varchar2,10),
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,30)};
parameter[0].Value = model.GOODSOUT_COUNT;
parameter[1].Value = model.REMARK;
parameter[2].Value = model.PRICE;
parameter[3].Value = model.UNIT;
parameter[4].Value = model.SUMPRICE;
parameter[5].Value = model.VERSION;
parameter[6].Value = model.STOREP_ID;
parameter[7].Value = model.GOODS_ID;
updatesqlstrlist.Add(strSql.ToString());
updatesqlpara.Add(parameter);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(updatesqlstrlist, updatesqlpara);
}
#endregion
#region
/// <summary>
/// 删除仓库间调拨主表数据
/// </summary>
/// <param name="listmodel">仓库间调拨ID集合</param>
public void DeleteStorageRep(List<string> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> delsqlstrlist = new List<string>();
List<OracleParameter[]> delsqlpara = new List<OracleParameter[]>();
foreach (string stDel in listmodel)
{
strSql.Append("delete from T_STOCK_STOREP ");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30) };
parameters[0].Value = stDel;
delsqlstrlist.Add(strSql.ToString());
delsqlpara.Add(parameters);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara);
}
#endregion
#region
/// <summary>
/// 删除仓库间调拨明细表数据
/// </summary>
/// <param name="listmodel">仓库间调拨ID集合</param>
public void DeleteStorageRepInfo(List<string> listmodel)
{
StringBuilder strSql = new StringBuilder();
List<string> delsqlstrlist = new List<string>();
List<OracleParameter[]> delsqlpara = new List<OracleParameter[]>();
foreach (string str in listmodel)
{
strSql.Append("delete from T_STOCK_STOREP_INFO ");
strSql.Append(" where STOREP_ID=:STOREP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STOREP_ID",OracleDbType.Varchar2,30)
};
parameters[0].Value = str;
delsqlstrlist.Add(strSql.ToString());
delsqlpara.Add(parameters);
}
SystemDataObject.Instance.ExecuteList(delsqlstrlist, delsqlpara);
}
#endregion
}
}