BaoKai_202508_Wms_Jingwang_.../WMS.SqlServerData/Strategy/StrAreaRepData.cs
2025-08-24 21:52:42 +08:00

174 lines
7.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.DBUtility;
using WMS.IData.ICK;
using WMS.IData;using Oracle.ManagedDataAccess.Client;
using WMS.Model.CK;
using WMS.Model.Strategy;
using WMS.IData.IStrategy;
namespace WMS.SqlServerData.StrategyData
{
public class StrAreaRepData :IStrAreaRep
{
/// <summary>
/// 获取库区间定时补货策略
/// </summary>
/// <returns>库区间定时补货策略</returns>
public DataTable GetStrAreaRepDT(StrAreaRepModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("select ");
strSql.AppendLine(" a.REP_TIME, ");
strSql.AppendLine(" a.STRATEGY_ID, ");
strSql.AppendLine(" a.STRATEGY_NAME, ");
strSql.AppendLine(" a.STRATEGY_STATE, ");
strSql.AppendLine(" a.REMARK, ");
strSql.AppendLine(" a.VERSION, ");
strSql.AppendLine(" a.CREATE_MAN, ");
strSql.AppendLine(" b.name CREATE_MAN_NAME, ");
strSql.AppendLine(" a.CREATE_DATE, ");
strSql.AppendLine(" a.UPDATE_MAN, ");
strSql.AppendLine(" c.name UPDATE_MAN_NAME, ");
strSql.AppendLine(" a.UPDATE_DATE ");
strSql.AppendLine("FROM T_STR_AREAREP a ");
strSql.AppendLine(" left join t_base_userinfo b ");
strSql.AppendLine(" on a.CREATE_MAN = b.user_id ");
strSql.AppendLine(" left join t_base_userinfo c ");
strSql.AppendLine(" on a.UPDATE_MAN = c.user_id ");
strSql.AppendLine("where 1 = 1");
//if (!string.IsNullOrEmpty(model.StrAreaRep_ID))
//{
// strSql.AppendLine(" and a.StrAreaRep_ID = '" + model.StrAreaRep_ID + "' ");
//}
strSql.AppendLine(" order by a.STRATEGY_ID desc");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
///// <summary>
///// 获取某仓库的库区间定时补货策略
///// </summary>
///// <returns>仓库编号</returns>
//public DataTable GetStrAreaRepDTByStorage(string storageID)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.AppendLine("select * from t_downstycts a inner join t_base_StrAreaRep b on a.StrAreaRep_id = b.StrAreaRep_id where storage_id = '" + storageID + "' and StrAreaRep_STATE = '0'");
// return SystemDataObject.Instance.GetDataTable(strSql.ToString());
//}
/// <summary>
/// 插入库区间定时补货策略信息
/// </summary>
/// <param name="StrAreaRepModel">库区间定时补货策略Model</param>
/// <returns>库区间定时补货策略编号</returns>
public string InsertStrAreaRep(StrAreaRepModel model)
{
string str = "select NEXT VALUE FOR SEQ_STR_AREAREP";
DataSet ds = SystemDataObject.Instance.GetDataSet( str);
model.STRATEGY_ID = "KQCL" + ds.Tables[0].Rows[0][0].ToString();
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("insert into T_STR_AREAREP(");
strSql.AppendLine("REP_TIME,STRATEGY_ID,STRATEGY_NAME,STRATEGY_STATE,REMARK,VERSION,CREATE_MAN,CREATE_DATE,UPDATE_MAN,UPDATE_DATE)");
strSql.AppendLine(" values (");
strSql.AppendLine(":REP_TIME,:STRATEGY_ID,:STRATEGY_NAME,:STRATEGY_STATE,:REMARK,:VERSION,:CREATE_MAN,getdate(),:UPDATE_MAN,:UPDATE_DATE)");
OracleParameter[] parameters = {
new OracleParameter(":REP_TIME", OracleDbType.Decimal,4),
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
new OracleParameter(":STRATEGY_NAME",OracleDbType.Varchar2,50),
new OracleParameter(":STRATEGY_STATE", OracleDbType.Char,1),
new OracleParameter(":REMARK",OracleDbType.Varchar2,300),
new OracleParameter(":VERSION",OracleDbType.Varchar2,50),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,50),
//new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":UPDATE_MAN",OracleDbType.Varchar2,50),
new OracleParameter(":UPDATE_DATE", OracleDbType.Date)};
parameters[0].Value = model.REP_TIME;
parameters[1].Value = model.STRATEGY_ID;
parameters[2].Value = model.STRATEGY_NAME;
parameters[3].Value = model.STRATEGY_STATE;
parameters[4].Value = model.REMARK;
parameters[5].Value = model.VERSION;
parameters[6].Value = model.CREATE_MAN;
//parameters[7].Value = model.CREATE_DATE;
parameters[7].Value = model.UPDATE_MAN;
parameters[8].Value = model.UPDATE_DATE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
return model.STRATEGY_ID;
}
/// <summary>
/// 修改库区间定时补货策略信息
/// </summary>
/// <param name="StrAreaRepModel">库区间定时补货策略Model</param>
public void UpdateStrAreaRep(StrAreaRepModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("update T_STR_AREAREP set ");
strSql.AppendLine("REP_TIME=:REP_TIME,");
strSql.AppendLine("STRATEGY_ID=:STRATEGY_ID,");
strSql.AppendLine("STRATEGY_NAME=:STRATEGY_NAME,");
strSql.AppendLine("STRATEGY_STATE=:STRATEGY_STATE,");
strSql.AppendLine("REMARK=:REMARK,");
strSql.AppendLine("VERSION=:VERSION,");
strSql.AppendLine("CREATE_MAN=:CREATE_MAN,");
strSql.AppendLine("CREATE_DATE=:CREATE_DATE,");
strSql.AppendLine("UPDATE_MAN=:UPDATE_MAN");
//strSql.AppendLine("UPDATE_DATE=:UPDATE_DATE");
strSql.AppendLine(" where STRATEGY_ID=:STRATEGY_ID ");
OracleParameter[] parameters = {
new OracleParameter(":REP_TIME", OracleDbType.Decimal,4),
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50),
new OracleParameter(":STRATEGY_NAME",OracleDbType.Varchar2,50),
new OracleParameter(":STRATEGY_STATE", OracleDbType.Char,1),
new OracleParameter(":REMARK",OracleDbType.Varchar2,300),
new OracleParameter(":VERSION",OracleDbType.Varchar2,50),
new OracleParameter(":CREATE_MAN",OracleDbType.Varchar2,50),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":UPDATE_MAN",OracleDbType.Varchar2,50)};
//new OracleParameter(":UPDATE_DATE", OracleDbType.Date)};
parameters[0].Value = model.REP_TIME;
parameters[1].Value = model.STRATEGY_ID;
parameters[2].Value = model.STRATEGY_NAME;
parameters[3].Value = model.STRATEGY_STATE;
parameters[4].Value = model.REMARK;
parameters[5].Value = model.VERSION;
parameters[6].Value = model.CREATE_MAN;
parameters[7].Value = model.CREATE_DATE;
parameters[8].Value = model.UPDATE_MAN;
//parameters[9].Value = model.UPDATE_DATE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 删除一个库区间定时补货策略
/// </summary>
/// <param name="StrAreaRep_ID">库区间定时补货策略ID</param>
public void DeleteStrAreaRep(string STRATEGY_ID)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("delete from T_STR_AREAREP ");
strSql.AppendLine(" where STRATEGY_ID=:STRATEGY_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2,50) };
parameters[0].Value = STRATEGY_ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
}
}