BaoKai_202508-Wms-Jingwang..../WMS.SqlServerData/Strategy/AutoTaskData.cs
2025-08-24 09:35:55 +08:00

155 lines
7.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.IData.IStrategy;
using WMS.Model.Strategy;
using System.Data;
using WMS.IData;using Oracle.ManagedDataAccess.Client;
namespace WMS.SqlServerData.Strategy
{
public class AutoTaskData : IAutoTask
{
/// <summary>
/// 获取自动指派任务策略信息
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DataTable GetAutoTask(AutoTaskModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select STRATEGY_ID,TRAN_TYPE,WORK_TYPE,STRATEGY_NAME,IS_AUTO,IS_AUTOCREATE,TASK_COUNT,AUTO_ACCORDING,REMARK,STATUS,VERSION,USER_ID,CREATE_DATE ");
strSql.Append(" FROM T_STR_AUTOTASK where 1=1 ");
if (!string.IsNullOrEmpty(model.STRATEGY_ID))
{
strSql.Append(" and STRATEGY_ID = '" + model.STRATEGY_ID + "'");
}
if (!string.IsNullOrEmpty(model.STRATEGY_NAME))
{
strSql.Append(" and STRATEGY_NAME = '" + model.STRATEGY_NAME + "'");
}
if (!string.IsNullOrEmpty(model.TRAN_TYPE))
{
strSql.Append(" and TASK_TYPE = '" + model.TRAN_TYPE + "'");
}
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 新增自动指派任务策略信息
/// </summary>
/// <param name="model"></param>
public void AddAutoTask(AutoTaskModel model)
{
model.STRATEGY_ID = SystemDataObject.Instance.GetDataTable("select NEXT VALUE FOR seq_str_AutoTask").Rows[0][0].ToString();
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_STR_AUTOTASK(");
strSql.Append("STRATEGY_ID,TRAN_TYPE,WORK_TYPE,STRATEGY_NAME,IS_AUTO,IS_AUTOCREATE,TASK_COUNT,AUTO_ACCORDING,REMARK,STATUS,VERSION,USER_ID,CREATE_DATE)");
strSql.Append(" values (");
strSql.Append(":STRATEGY_ID,:TRAN_TYPE,:WORK_TYPE,:STRATEGY_NAME,:IS_AUTO,:IS_AUTOCREATE,:TASK_COUNT,:AUTO_ACCORDING,:REMARK,:STATUS,:VERSION,:USER_ID,:CREATE_DATE)");
OracleParameter[] parameters = {
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2),
new OracleParameter(":TRAN_TYPE",OracleDbType.Varchar2),
new OracleParameter(":TASK_TYPE",OracleDbType.Varchar2),
new OracleParameter(":STRATEGY_NAME",OracleDbType.Varchar2),
new OracleParameter(":IS_AUTO", OracleDbType.Char),
new OracleParameter(":IS_AUTOCREATE", OracleDbType.Char),
new OracleParameter(":TASK_COUNT", OracleDbType.Decimal),
new OracleParameter(":AUTO_ACCORDING",OracleDbType.Varchar2),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":STATUS", OracleDbType.Char),
new OracleParameter(":VERSION",OracleDbType.Varchar2),
new OracleParameter(":USER_ID",OracleDbType.Varchar2),
new OracleParameter(":CREATE_DATE", OracleDbType.Date)};
parameters[0].Value = model.STRATEGY_ID;
parameters[1].Value = model.TRAN_TYPE;
parameters[2].Value = model.WORK_TYPE;
parameters[3].Value = model.STRATEGY_NAME;
parameters[4].Value = model.IS_AUTO;
parameters[5].Value = model.IS_AUTOCREATE;
parameters[6].Value = model.TASK_COUNT;
parameters[7].Value = model.AUTO_ACCORDING;
parameters[8].Value = model.REMARK;
parameters[9].Value = model.STATUS;
parameters[10].Value = model.VERSION;
parameters[11].Value = model.USER_ID;
parameters[12].Value = model.CREATE_DATE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 修改自动指派任务策略信息
/// </summary>
/// <param name="model"></param>
public void UpdateAutoTask(AutoTaskModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_STR_AUTOTASK set ");
strSql.Append("TRAN_TYPE=:TRAN_TYPE,");
strSql.Append("WORK_TYPE=:WORK_TYPE,");
strSql.Append("STRATEGY_NAME=:STRATEGY_NAME,");
strSql.Append("IS_AUTO=:IS_AUTO,");
strSql.Append("IS_AUTOCREATE=:IS_AUTOCREATE,");
strSql.Append("TASK_COUNT=:TASK_COUNT,");
strSql.Append("AUTO_ACCORDING=:AUTO_ACCORDING,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("STATUS=:STATUS,");
strSql.Append("VERSION=:VERSION,");
strSql.Append("USER_ID=:USER_ID,");
strSql.Append("CREATE_DATE=:CREATE_DATE");
strSql.Append(" where STRATEGY_ID=:STRATEGY_ID ");
OracleParameter[] parameters = {
new OracleParameter(":TRAN_TYPE",OracleDbType.Varchar2),
new OracleParameter(":WORK_TYPE",OracleDbType.Varchar2),
new OracleParameter(":STRATEGY_NAME",OracleDbType.Varchar2),
new OracleParameter(":IS_AUTO", OracleDbType.Char),
new OracleParameter(":IS_AUTOCREATE", OracleDbType.Char),
new OracleParameter(":TASK_COUNT", OracleDbType.Decimal),
new OracleParameter(":AUTO_ACCORDING",OracleDbType.Varchar2),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":STATUS", OracleDbType.Char),
new OracleParameter(":VERSION",OracleDbType.Varchar2),
new OracleParameter(":USER_ID",OracleDbType.Varchar2),
new OracleParameter(":CREATE_DATE", OracleDbType.Date),
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2)};
parameters[0].Value = model.TRAN_TYPE;
parameters[1].Value = model.WORK_TYPE;
parameters[2].Value = model.STRATEGY_NAME;
parameters[3].Value = model.IS_AUTO;
parameters[4].Value = model.IS_AUTOCREATE;
parameters[5].Value = model.TASK_COUNT;
parameters[6].Value = model.AUTO_ACCORDING;
parameters[7].Value = model.REMARK;
parameters[8].Value = model.STATUS;
parameters[9].Value = model.VERSION;
parameters[10].Value = model.USER_ID;
parameters[11].Value = model.CREATE_DATE;
parameters[12].Value = model.STRATEGY_ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 删除自动指派任务策略信息
/// </summary>
/// <param name="model"></param>
public void DeleteAutoTask(AutoTaskModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from T_STR_AUTOTASK ");
strSql.Append(" where STRATEGY_ID=:STRATEGY_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STRATEGY_ID",OracleDbType.Varchar2) };
parameters[0].Value = model.STRATEGY_ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
}
}