634 lines
28 KiB
C#
634 lines
28 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Data;
|
|||
|
|
using WMS.Model.Strategy;
|
|||
|
|
using WMS.IData;using Oracle.ManagedDataAccess.Client;
|
|||
|
|
|
|||
|
|
using WMS.IData.IStrategy;
|
|||
|
|
|
|||
|
|
namespace WMS.SqlServerData.Strategy
|
|||
|
|
{
|
|||
|
|
public class ProRepStrategyData : IProRepStrategy
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获得流水号
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public string GetNextValNum()
|
|||
|
|
{
|
|||
|
|
string strSqlSeq = "select NEXT VALUE FOR [SEQ_STR_PRO_GOODS] ";
|
|||
|
|
// strSqlSeq = "select SEQ_STR_PRO_GOODS.Nextval from dual ";
|
|||
|
|
|
|||
|
|
DataTable dt = SystemDataObject.Instance.GetDataTable(strSqlSeq);
|
|||
|
|
string strSEQ = "GBCL" + DateTime.Now.ToString("yyyyMMdd") + dt.Rows[0][0].ToString();
|
|||
|
|
|
|||
|
|
return strSEQ;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#region 供应商补货策略主表
|
|||
|
|
#region 查主表
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获得供应商补货策略信息集
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="model"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public DataTable GetProRepStrategyData(ProRepStrategyModel model)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append(@"select t.rep_time,
|
|||
|
|
t.strategy_id,
|
|||
|
|
t.strategy_name,
|
|||
|
|
t.strategy_status,
|
|||
|
|
t.create_man,
|
|||
|
|
c.Name CREATE_MAN_NAME,
|
|||
|
|
t.create_date,
|
|||
|
|
t.update_man,
|
|||
|
|
u.Name UPDATE_MAN_NAME,
|
|||
|
|
t.update_date,
|
|||
|
|
t.operatorid,
|
|||
|
|
t.operatedate,
|
|||
|
|
d.Name OPERATOR_NAME,
|
|||
|
|
t.remark
|
|||
|
|
from t_str_prorep t
|
|||
|
|
left join T_BASE_USERINFO c
|
|||
|
|
on t.create_man = c.user_id
|
|||
|
|
left join T_BASE_USERINFO u
|
|||
|
|
on t.update_man = u.user_id
|
|||
|
|
left join t_Base_Userinfo d
|
|||
|
|
on t.operatorid = d.user_id ");
|
|||
|
|
strSql.Append(" where 1 = 1");
|
|||
|
|
if (!string.IsNullOrEmpty(model.STRATEGY_ID))
|
|||
|
|
{
|
|||
|
|
strSql.Append(" and t.STRATEGY_ID ='" + model.STRATEGY_ID + "'");
|
|||
|
|
}
|
|||
|
|
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 增主表
|
|||
|
|
/// <summary>
|
|||
|
|
/// 新增供应商补货策略
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="model"></param>
|
|||
|
|
public void AddProRepStrategyData(ProRepStrategyModel model)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append(@"insert into t_str_prorep
|
|||
|
|
(rep_time,
|
|||
|
|
strategy_id,
|
|||
|
|
strategy_name,
|
|||
|
|
strategy_status,
|
|||
|
|
create_man,
|
|||
|
|
create_date,
|
|||
|
|
update_man,
|
|||
|
|
update_date,
|
|||
|
|
remark,
|
|||
|
|
version,operatorid, operatedate)
|
|||
|
|
values
|
|||
|
|
(:rep_time,
|
|||
|
|
:strategy_id,
|
|||
|
|
:strategy_name,
|
|||
|
|
:strategy_status,
|
|||
|
|
:create_man,
|
|||
|
|
:create_date,
|
|||
|
|
:update_man,
|
|||
|
|
:update_date,
|
|||
|
|
:remark,
|
|||
|
|
:version, :operatorid, :operatedate)");
|
|||
|
|
|
|||
|
|
OracleParameter[] param = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":rep_time",OracleDbType.Decimal),
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_name",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_status",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":update_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":update_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":remark",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":version",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":operatorid",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":operatedate",OracleDbType.Date)
|
|||
|
|
};
|
|||
|
|
param[0].Value = model.REP_TIME;
|
|||
|
|
param[1].Value = model.STRATEGY_ID;
|
|||
|
|
param[2].Value = model.STRATEGY_NAME;
|
|||
|
|
param[3].Value = model.STRATEGY_STATUS;
|
|||
|
|
param[4].Value = model.CREATE_MAN;
|
|||
|
|
param[5].Value = model.CREATE_DATE;
|
|||
|
|
param[6].Value = model.UPDATE_MAN;
|
|||
|
|
param[7].Value = model.UPDATE_DATE;
|
|||
|
|
param[8].Value = model.REMARK;
|
|||
|
|
param[9].Value = model.VERSION;
|
|||
|
|
param[10].Value = model.OPERATORID;
|
|||
|
|
param[11].Value = model.OPERATEDATE;
|
|||
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), param);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 改主表
|
|||
|
|
/// <summary>
|
|||
|
|
/// 修改供应商补货策略
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="model"></param>
|
|||
|
|
public void UpdateProRepStrategyData(ProRepStrategyModel model)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append(@"update t_str_prorep
|
|||
|
|
set rep_time =:rep_time,
|
|||
|
|
strategy_id =:strategy_id,
|
|||
|
|
strategy_name =:strategy_name,
|
|||
|
|
strategy_status =:strategy_status,
|
|||
|
|
create_man =:create_man,
|
|||
|
|
create_date =:create_date,
|
|||
|
|
update_man =:update_man,
|
|||
|
|
update_date =:update_date,
|
|||
|
|
remark =:remark,
|
|||
|
|
operatorid =:operatorid,
|
|||
|
|
operatedate =:operatedate,
|
|||
|
|
version =:version
|
|||
|
|
where 1 = 1
|
|||
|
|
");
|
|||
|
|
if (!string.IsNullOrEmpty(model.STRATEGY_ID))
|
|||
|
|
{
|
|||
|
|
strSql.Append(" and strategy_id =:strategy_id;");
|
|||
|
|
}
|
|||
|
|
OracleParameter[] param = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":rep_time",OracleDbType.Decimal),
|
|||
|
|
new OracleParameter(":strategy_name",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_status",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":update_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":update_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":remark",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":operatorid",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":operatedate",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":version",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2)
|
|||
|
|
};
|
|||
|
|
param[0].Value = model.REP_TIME;
|
|||
|
|
param[1].Value = model.STRATEGY_NAME;
|
|||
|
|
param[2].Value = model.STRATEGY_STATUS;
|
|||
|
|
param[3].Value = model.CREATE_MAN;
|
|||
|
|
param[4].Value = model.CREATE_DATE;
|
|||
|
|
param[5].Value = model.UPDATE_MAN;
|
|||
|
|
param[6].Value = model.UPDATE_DATE;
|
|||
|
|
param[7].Value = model.REMARK;
|
|||
|
|
param[8].Value = model.OPERATORID;
|
|||
|
|
param[9].Value = model.OPERATEDATE;
|
|||
|
|
param[10].Value = model.VERSION;
|
|||
|
|
param[11].Value = model.STRATEGY_ID;
|
|||
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), param);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 删主表
|
|||
|
|
/// <summary>
|
|||
|
|
/// 删除供应商策略补货明细
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="strategyID"></param>
|
|||
|
|
public void DelProRepStrategyData(string strategyID)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append(@"delete t_str_prorep where strategy_id =:strategy_id;");
|
|||
|
|
OracleParameter[] parm = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2)
|
|||
|
|
};
|
|||
|
|
parm[0].Value = strategyID;
|
|||
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parm);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
#region 同时操作主表明细表数据
|
|||
|
|
|
|||
|
|
#region 同时新增主表明细表数据
|
|||
|
|
/// <summary>
|
|||
|
|
/// 同时新增主表明细数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="model"></param>
|
|||
|
|
/// <param name="list"></param>
|
|||
|
|
public void InsertStrategyDataAndInfo(ProRepStrategyModel model, List<ProRepStrategyInfoModel> list)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
List<string> liststrSql = new List<string>();
|
|||
|
|
List<OracleParameter[]> liststrparam = new List<OracleParameter[]>();
|
|||
|
|
strSql.Append(@"insert into t_str_prorep
|
|||
|
|
(rep_time,
|
|||
|
|
strategy_id,
|
|||
|
|
strategy_name,
|
|||
|
|
strategy_status,
|
|||
|
|
create_man,
|
|||
|
|
create_date,
|
|||
|
|
update_man,
|
|||
|
|
update_date,
|
|||
|
|
remark,
|
|||
|
|
version,operatorid, operatedate)
|
|||
|
|
values
|
|||
|
|
(:rep_time,
|
|||
|
|
:strategy_id,
|
|||
|
|
:strategy_name,
|
|||
|
|
:strategy_status,
|
|||
|
|
:create_man,
|
|||
|
|
:create_date,
|
|||
|
|
:update_man,
|
|||
|
|
:update_date,
|
|||
|
|
:remark,
|
|||
|
|
:version, :operatorid, :operatedate)");
|
|||
|
|
|
|||
|
|
OracleParameter[] param = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":rep_time",OracleDbType.Decimal),
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_name",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_status",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":update_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":update_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":remark",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":version",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":operatorid",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":operatedate",OracleDbType.Date)
|
|||
|
|
};
|
|||
|
|
param[0].Value = model.REP_TIME;
|
|||
|
|
param[1].Value = model.STRATEGY_ID;
|
|||
|
|
param[2].Value = model.STRATEGY_NAME;
|
|||
|
|
param[3].Value = model.STRATEGY_STATUS;
|
|||
|
|
param[4].Value = model.CREATE_MAN;
|
|||
|
|
param[5].Value = model.CREATE_DATE;
|
|||
|
|
param[6].Value = model.UPDATE_MAN;
|
|||
|
|
param[7].Value = model.UPDATE_DATE;
|
|||
|
|
param[8].Value = model.REMARK;
|
|||
|
|
param[9].Value = model.VERSION;
|
|||
|
|
param[10].Value = model.OPERATORID;
|
|||
|
|
param[11].Value = model.OPERATEDATE;
|
|||
|
|
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(param);
|
|||
|
|
|
|||
|
|
foreach (ProRepStrategyInfoModel item in list)
|
|||
|
|
{
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
strSql.Append("insert into T_STR_PROREP_GOODS(");
|
|||
|
|
strSql.Append("STRATEGY_ID,STORAGE_ID,PRO_ID,GOODS_ID,STOCK_NUM,COUNT_NUM,UNIT,GOODS_TYPE_ID)");
|
|||
|
|
strSql.Append(" values (");
|
|||
|
|
strSql.Append(":STRATEGY_ID,:STORAGE_ID,:PRO_ID,:GOODS_ID,:STOCK_NUM,:COUNT_NUM,:UNIT,:GOODS_TYPE_ID)");
|
|||
|
|
OracleParameter[] parameters = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":PRO_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STOCK_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":COUNT_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":UNIT", OracleDbType.Char),
|
|||
|
|
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2,50)};
|
|||
|
|
parameters[0].Value = model.STRATEGY_ID;
|
|||
|
|
parameters[1].Value = item.STORAGE_ID;
|
|||
|
|
parameters[2].Value = item.PRO_ID;
|
|||
|
|
parameters[3].Value = item.GOODS_ID;
|
|||
|
|
parameters[4].Value = item.STOCK_NUM;
|
|||
|
|
parameters[5].Value = item.COUNT_NUM;
|
|||
|
|
parameters[6].Value = item.UNIT;
|
|||
|
|
parameters[7].Value = item.GOODS_TYPE_ID;
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(parameters);
|
|||
|
|
}
|
|||
|
|
SystemDataObject.Instance.ExecuteList(liststrSql, liststrparam);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 同时改主表明细表数据
|
|||
|
|
/// <summary>
|
|||
|
|
/// 同时修改主表明细表数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="model"></param>
|
|||
|
|
/// <param name="list"></param>
|
|||
|
|
public void UpdateStrategyDataAndInfo(ProRepStrategyModel model, List<ProRepStrategyInfoModel> list)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
List<string> liststrSql = new List<string>();
|
|||
|
|
List<OracleParameter[]> liststrparam = new List<OracleParameter[]>();
|
|||
|
|
|
|||
|
|
strSql.Append(@"delete t_str_prorep where strategy_id =:strategy_id");
|
|||
|
|
OracleParameter[] parm = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2) };
|
|||
|
|
parm[0].Value = model.STRATEGY_ID;
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(parm);
|
|||
|
|
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
strSql.Append("delete from T_STR_PROREP_GOODS ");
|
|||
|
|
strSql.Append(" where STRATEGY_ID=:STRATEGY_ID ");
|
|||
|
|
OracleParameter[] parameterss = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50)};
|
|||
|
|
parameterss[0].Value = model.STRATEGY_ID;
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(parameterss);
|
|||
|
|
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
strSql.Append(@"insert into t_str_prorep
|
|||
|
|
(rep_time,
|
|||
|
|
strategy_id,
|
|||
|
|
strategy_name,
|
|||
|
|
strategy_status,
|
|||
|
|
create_man,
|
|||
|
|
create_date,
|
|||
|
|
update_man,
|
|||
|
|
update_date,
|
|||
|
|
remark,
|
|||
|
|
version,operatorid, operatedate)
|
|||
|
|
values
|
|||
|
|
(:rep_time,
|
|||
|
|
:strategy_id,
|
|||
|
|
:strategy_name,
|
|||
|
|
:strategy_status,
|
|||
|
|
:create_man,
|
|||
|
|
:create_date,
|
|||
|
|
:update_man,
|
|||
|
|
:update_date,
|
|||
|
|
:remark,
|
|||
|
|
:version, :operatorid, :operatedate)");
|
|||
|
|
|
|||
|
|
OracleParameter[] param = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":rep_time",OracleDbType.Decimal),
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_name",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":strategy_status",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":create_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":update_man",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":update_date",OracleDbType.Date),
|
|||
|
|
new OracleParameter(":remark",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":version",OracleDbType.Varchar2),
|
|||
|
|
new OracleParameter(":operatorid",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":operatedate",OracleDbType.Date)
|
|||
|
|
};
|
|||
|
|
param[0].Value = model.REP_TIME;
|
|||
|
|
param[1].Value = model.STRATEGY_ID;
|
|||
|
|
param[2].Value = model.STRATEGY_NAME;
|
|||
|
|
param[3].Value = model.STRATEGY_STATUS;
|
|||
|
|
param[4].Value = model.CREATE_MAN;
|
|||
|
|
param[5].Value = model.CREATE_DATE;
|
|||
|
|
param[6].Value = model.UPDATE_MAN;
|
|||
|
|
param[7].Value = model.UPDATE_DATE;
|
|||
|
|
param[8].Value = model.REMARK;
|
|||
|
|
param[9].Value = model.VERSION;
|
|||
|
|
param[10].Value = model.OPERATORID;
|
|||
|
|
param[11].Value = model.OPERATEDATE;
|
|||
|
|
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(param);
|
|||
|
|
|
|||
|
|
foreach (ProRepStrategyInfoModel item in list)
|
|||
|
|
{
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
strSql.Append("insert into T_STR_PROREP_GOODS(");
|
|||
|
|
strSql.Append("STRATEGY_ID,STORAGE_ID,PRO_ID,GOODS_ID,STOCK_NUM,COUNT_NUM,UNIT,GOODS_TYPE_ID)");
|
|||
|
|
strSql.Append(" values (");
|
|||
|
|
strSql.Append(":STRATEGY_ID,:STORAGE_ID,:PRO_ID,:GOODS_ID,:STOCK_NUM,:COUNT_NUM,:UNIT,:GOODS_TYPE_ID)");
|
|||
|
|
OracleParameter[] parameters = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":PRO_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STOCK_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":COUNT_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":UNIT", OracleDbType.Char),
|
|||
|
|
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2,50)};
|
|||
|
|
parameters[0].Value = model.STRATEGY_ID;
|
|||
|
|
parameters[1].Value = item.STORAGE_ID;
|
|||
|
|
parameters[2].Value = item.PRO_ID;
|
|||
|
|
parameters[3].Value = item.GOODS_ID;
|
|||
|
|
parameters[4].Value = item.STOCK_NUM;
|
|||
|
|
parameters[5].Value = item.COUNT_NUM;
|
|||
|
|
parameters[6].Value = item.UNIT;
|
|||
|
|
parameters[7].Value = item.GOODS_TYPE_ID;
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(parameters);
|
|||
|
|
}
|
|||
|
|
SystemDataObject.Instance.ExecuteList(liststrSql, liststrparam);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 同时删除主表明细表数据
|
|||
|
|
/// <summary>
|
|||
|
|
/// 根据策略编号 同时删除主表明细表数据
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="strategy_id"></param>
|
|||
|
|
public void DeleteStrategyDataAndInfo(string strategy_id)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
List<string> liststrSql = new List<string>();
|
|||
|
|
List<OracleParameter[]> liststrparam = new List<OracleParameter[]>();
|
|||
|
|
strSql.Append(@"delete t_str_prorep where strategy_id =:strategy_id;");
|
|||
|
|
OracleParameter[] parm = new OracleParameter[] {
|
|||
|
|
new OracleParameter(":strategy_id",OracleDbType.Varchar2)};
|
|||
|
|
parm[0].Value = strategy_id;
|
|||
|
|
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(parm);
|
|||
|
|
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
strSql.Append("delete from T_STR_PROREP_GOODS ");
|
|||
|
|
strSql.Append(" where STRATEGY_ID=:STRATEGY_ID");
|
|||
|
|
OracleParameter[] parameters = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50)};
|
|||
|
|
parameters[0].Value = strategy_id;
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
liststrparam.Add(parameters);
|
|||
|
|
|
|||
|
|
SystemDataObject.Instance.ExecuteList(liststrSql, liststrparam);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
#region 供应商补货策略明细表
|
|||
|
|
|
|||
|
|
#region 查明细
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查明细
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public DataTable GetProRepInfoData(ProRepStrategyInfoModel model)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append(@"select strategy_id,
|
|||
|
|
t.storage_id,
|
|||
|
|
s.storage_name STORAGE_NAME,
|
|||
|
|
t.pro_id,
|
|||
|
|
p.provider_name PRO_NAME,
|
|||
|
|
t.goods_type_id,
|
|||
|
|
t.goods_id,
|
|||
|
|
g.GOODS_NAME GOODS_NAME,
|
|||
|
|
t.stock_num,
|
|||
|
|
t.count_num,
|
|||
|
|
t.unit
|
|||
|
|
from t_str_prorep_goods t
|
|||
|
|
left join t_Base_Provider_Dictionary p
|
|||
|
|
on t.pro_id = p.provider_id
|
|||
|
|
left join T_BASE_STORAGEINFO s
|
|||
|
|
on t.storage_id = s.storage_id
|
|||
|
|
left join T_BASE_GOODS g
|
|||
|
|
on t.goods_id = g.goods_id
|
|||
|
|
where t.strategy_id='" + model.STRATEGY_ID + "'");
|
|||
|
|
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 增明细
|
|||
|
|
/// <summary>
|
|||
|
|
/// 增加策略明细数据
|
|||
|
|
/// </summary>
|
|||
|
|
public void AddStrategyInfo(List<ProRepStrategyInfoModel> list)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
List<string> liststrSql = new List<string>();
|
|||
|
|
List<OracleParameter[]> listparam = new List<OracleParameter[]>();
|
|||
|
|
|
|||
|
|
foreach (ProRepStrategyInfoModel item in list)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
strSql.Append("insert into T_STR_PROREP_GOODS(");
|
|||
|
|
strSql.Append("STRATEGY_ID,STORAGE_ID,PRO_ID,GOODS_ID,STOCK_NUM,COUNT_NUM,UNIT,GOODS_TYPE_ID)");
|
|||
|
|
strSql.Append(" values (");
|
|||
|
|
strSql.Append(":STRATEGY_ID,:STORAGE_ID,:PRO_ID,:GOODS_ID,:STOCK_NUM,:COUNT_NUM,:UNIT,:GOODS_TYPE_ID)");
|
|||
|
|
OracleParameter[] parameters = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":PRO_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STOCK_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":COUNT_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":UNIT", OracleDbType.Char),
|
|||
|
|
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2,50)};
|
|||
|
|
parameters[0].Value = item.STRATEGY_ID;
|
|||
|
|
parameters[1].Value = item.STORAGE_ID;
|
|||
|
|
parameters[2].Value = item.PRO_ID;
|
|||
|
|
parameters[3].Value = item.GOODS_ID;
|
|||
|
|
parameters[4].Value = item.STOCK_NUM;
|
|||
|
|
parameters[5].Value = item.COUNT_NUM;
|
|||
|
|
parameters[6].Value = item.UNIT;
|
|||
|
|
parameters[7].Value = item.GOODS_TYPE_ID;
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
listparam.Add(parameters);
|
|||
|
|
strSql.Clear();
|
|||
|
|
}
|
|||
|
|
SystemDataObject.Instance.ExecuteList(liststrSql, listparam);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 更明细
|
|||
|
|
/// <summary>
|
|||
|
|
/// 更新策略明细数据
|
|||
|
|
/// </summary>
|
|||
|
|
public void UpdateStrategyInfo(List<ProRepStrategyInfoModel> list)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
List<string> liststrSql = new List<string>();
|
|||
|
|
List<OracleParameter[]> listparma = new List<OracleParameter[]>();
|
|||
|
|
foreach (ProRepStrategyInfoModel item in list)
|
|||
|
|
{
|
|||
|
|
strSql = new StringBuilder();
|
|||
|
|
|
|||
|
|
|
|||
|
|
strSql.Append("update T_STR_PROREP_GOODS set ");
|
|||
|
|
strSql.Append("STRATEGY_ID=:STRATEGY_ID,");
|
|||
|
|
strSql.Append("STORAGE_ID=:STORAGE_ID,");
|
|||
|
|
strSql.Append("PRO_ID=:PRO_ID,");
|
|||
|
|
strSql.Append("GOODS_ID=:GOODS_ID,");
|
|||
|
|
strSql.Append("STOCK_NUM=:STOCK_NUM,");
|
|||
|
|
strSql.Append("COUNT_NUM=:COUNT_NUM,");
|
|||
|
|
strSql.Append("UNIT=:UNIT,");
|
|||
|
|
strSql.Append("GOODS_TYPE_ID=:GOODS_TYPE_ID");
|
|||
|
|
strSql.Append(" where STRATEGY_ID=:STRATEGY_ID and STORAGE_ID=:STORAGE_ID ");
|
|||
|
|
OracleParameter[] parameters = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":PRO_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STOCK_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":COUNT_NUM", OracleDbType.Decimal,4),
|
|||
|
|
new OracleParameter(":UNIT", OracleDbType.Char),
|
|||
|
|
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2,50)};
|
|||
|
|
parameters[0].Value = item.STRATEGY_ID;
|
|||
|
|
parameters[1].Value = item.STORAGE_ID;
|
|||
|
|
parameters[2].Value = item.PRO_ID;
|
|||
|
|
parameters[3].Value = item.GOODS_ID;
|
|||
|
|
parameters[4].Value = item.STOCK_NUM;
|
|||
|
|
parameters[5].Value = item.COUNT_NUM;
|
|||
|
|
parameters[6].Value = item.UNIT;
|
|||
|
|
parameters[7].Value = item.GOODS_TYPE_ID;
|
|||
|
|
|
|||
|
|
liststrSql.Add(strSql.ToString());
|
|||
|
|
listparma.Add(parameters);
|
|||
|
|
strSql.Clear();
|
|||
|
|
}
|
|||
|
|
SystemDataObject.Instance.ExecuteList(liststrSql, listparma);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region 删明细
|
|||
|
|
/// <summary>
|
|||
|
|
/// 删除策略明细数据
|
|||
|
|
/// </summary>
|
|||
|
|
public void DeleteStrategyInfo(string STRATEGY_ID, string STORAGE_ID)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append("delete from T_STR_PROREP_GOODS ");
|
|||
|
|
strSql.Append(" where STRATEGY_ID=:STRATEGY_ID and STORAGE_ID=:STORAGE_ID ");
|
|||
|
|
OracleParameter[] parameters = {
|
|||
|
|
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
|
|||
|
|
new OracleParameter(":STORAGE_ID",OracleDbType.Varchar2,50) };
|
|||
|
|
parameters[0].Value = STRATEGY_ID;
|
|||
|
|
parameters[1].Value = STORAGE_ID;
|
|||
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|||
|
|
}
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 检验是否具有唯一性
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="StrategyID"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
public string Exists(string StrategyID)
|
|||
|
|
{
|
|||
|
|
StringBuilder strSql = new StringBuilder();
|
|||
|
|
strSql.Append("select count(1) from T_STR_PROREP");
|
|||
|
|
strSql.Append(" where STRATEGY_ID='" + StrategyID + "'");
|
|||
|
|
DataTable table = SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|||
|
|
|
|||
|
|
if (table != null)
|
|||
|
|
{
|
|||
|
|
if (table.Rows.Count > 0)
|
|||
|
|
{
|
|||
|
|
return table.Rows[0][0].ToString();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return "0";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|