BaoKai_202508-Wms-Jingwang..../WMS.SqlServerData/BaseData/DocumentTableData.cs

239 lines
9.1 KiB
C#
Raw Normal View History

2025-08-24 09:35:55 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.Model.Base;
using WMS.IData;using Oracle.ManagedDataAccess.Client;
using System.Data;
using WMS.IData.IBase;
namespace WMS.SqlServerData.BaseData
{
public class DocumentTableData : IDocumentTable
{
//public DataTable GetIndexData(string tb,string val)
//{
// string sqlStr = "select ";
//}
/// <summary>
/// 获得数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DataTable GetDocumentData(string pickName)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select * from T_DOCUMENT_TABLE where 1 =1 ");
strSql.Append(" and document_type = '" + pickName + "'");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 增加一条数据
/// </summary>
public void AddDocumentData(DocumentTableModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_DOCUMENT_TABLE(");
strSql.Append("DOCUMENT_START,DOCUMENT_TYPE,DOCUMENT_TYPE_VALUE,DOCUMENT_DATE,DOCUMENT_COUNT,DOCUMENT_END)");
strSql.Append(" values (");
strSql.Append(":DOCUMENT_START,:DOCUMENT_TYPE,:DOCUMENT_TYPE_VALUE,:DOCUMENT_DATE,:DOCUMENT_COUNT,:DOCUMENT_MIN)");
OracleParameter[] parameters = {
new OracleParameter(":DOCUMENT_START",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_TYPE",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_TYPE_VALUE",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_DATE",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":DOCUMENT_MIN",OracleDbType.Varchar2,20)};
parameters[0].Value = model.DOCUMENT_START;
parameters[1].Value = model.DOCUMENT_TYPE;
parameters[2].Value = model.DOCUMENT_TYPE_VALUE;
parameters[3].Value = model.DOCUMENT_DATE;
parameters[4].Value = model.DOCUMENT_COUNT;
parameters[5].Value = model.DOCUMENT_END;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 更新一条数据
/// </summary>
public void UpdateDocumentData(DocumentTableModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_DOCUMENT_TABLE set ");
strSql.Append("DOCUMENT_START=:DOCUMENT_START,");
strSql.Append("DOCUMENT_TYPE=:DOCUMENT_TYPE,");
strSql.Append("DOCUMENT_TYPE_VALUE=:DOCUMENT_TYPE_VALUE,");
strSql.Append("DOCUMENT_DATE=:DOCUMENT_DATE,");
strSql.Append("DOCUMENT_COUNT=:DOCUMENT_COUNT,");
strSql.Append("DOCUMENT_END=:DOCUMENT_MIN");
strSql.Append(" where DOCUMENT_START=:DOCUMENT_START and DOCUMENT_TYPE=:DOCUMENT_TYPE and DOCUMENT_TYPE_VALUE=:DOCUMENT_TYPE_VALUE and DOCUMENT_DATE=:DOCUMENT_DATE and DOCUMENT_COUNT=:DOCUMENT_COUNT and DOCUMENT_MIN=:DOCUMENT_MIN ");
OracleParameter[] parameters = {
new OracleParameter(":DOCUMENT_START",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_TYPE",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_TYPE_VALUE",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_DATE",OracleDbType.Varchar2,20),
new OracleParameter(":DOCUMENT_COUNT", OracleDbType.Decimal,4),
new OracleParameter(":DOCUMENT_MIN",OracleDbType.Varchar2,20)};
parameters[0].Value = model.DOCUMENT_START;
parameters[1].Value = model.DOCUMENT_TYPE;
parameters[2].Value = model.DOCUMENT_TYPE_VALUE;
parameters[3].Value = model.DOCUMENT_DATE;
parameters[4].Value = model.DOCUMENT_COUNT;
parameters[5].Value = model.DOCUMENT_END;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 删除一条数据
/// </summary>
public void DeleteDocumentData(DocumentTableModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from T_DOCUMENT_TABLE ");
strSql.Append(" where DOCUMENT_TYPE=:DOCUMENT_TYPE_VALUE");
OracleParameter[] parameters = {
new OracleParameter(":DOCUMENT_TYPE_VALUE",OracleDbType.Varchar2,10)};
parameters[0].Value = model.DOCUMENT_TYPE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 刷新sql
/// </summary>
/// <param name="nameSql"></param>
/// <returns></returns>
public void UpdateSeq(string nameSql)
{
string sqlStr = " ALTER SEQUENCE "+nameSql+" RESTART WITH 1";
SystemDataObject.Instance.ExecuteSqlCommit(sqlStr);
}
/// <summary>
/// 获取seq值
/// </summary>
/// <param name="nameSeq"></param>
/// <returns></returns>
public string GetSeq(string nameSeq)
{
string val = "1000";
string str = "select cast(next value for " + nameSeq.ToUpper() + " as varchar(100)) as val ";
DataTable ds = SystemDataObject.Instance.GetDataTable( str);
if (ds != null)
{
if (ds.Rows.Count > 0)
{
val= ds.Rows[0][0].ToString();
}
}
return val;
}
/// <summary>
/// 创建SEQ
/// </summary>
/// <param name="model"></param>
public void CreateSEQ(DocumentTableModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(@"Create sequence " + (model.DOCUMENT_TYPE_VALUE).ToUpper() + "");
strSql.Append(" minvalue 1");
strSql.Append(" maxvalue 9999999999 ");
strSql.Append(" start with 1");
strSql.Append(" increment by 1");
strSql.Append(" cache 20");
strSql.Append(" cycle");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 判断SEQ是否已经存在
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public int SelectSEQExists(string str)
{
string sqlStr = "select count(1) a from user_sequences where '" + str.ToUpper() + "'" + " in( select sequence_name from user_sequences)";
DataTable table = SystemDataObject.Instance.GetDataTable(sqlStr);
if (table != null)
{
if (table.Rows.Count > 0)
{
return Convert.ToInt32(table.Rows[0]["a"].ToString());
}
}
return 0;
}
/// <summary>
/// 根据单据类型获得单据
/// </summary>
/// <param name="strType"></param>
/// <returns></returns>
//public string GetDocumentStream(string strType)
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("select * from T_DOCUMENT_TABLE where DOCUMENT_TYPE ='" + strType + "'");
// DataTable dt = SystemDataObject.Instance.GetDataTable(strSql.ToString());
// if (dt != null)
// {
// if (dt.Rows.Count > 0)
// {
// string strDate = string.Empty;
// string strS = string.Empty;
// string strSqlSeq = "";
// if (dt.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 8)
// {
// strDate = DateTime.Now.ToString("yyyyMMdd");
// }
// else if (dt.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 6)
// {
// strDate = DateTime.Now.ToString("yyyyMM");
// }
// else
// {
// strDate = string.Empty;
// }
// strSqlSeq = "select cast(next value for " + dt.Rows[0]["DOCUMENT_TYPE_VALUE"].ToString() + " as varchar(30) ) DOCUMENT_START";
// DataTable dts = SystemDataObject.Instance.GetDataTable(strSqlSeq);
// string strSEQ = dts.Rows[0][0].ToString();
// strS = dt.Rows[0]["DOCUMENT_START"].ToString() + strDate + strSEQ;
// return strS;
// }
// }
// return "";
//}
/// <summary>
/// 删除SEQ
/// </summary>
/// <param name="model"></param>
public void DropSEQ(DocumentTableModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("drop sequence " + (model.DOCUMENT_TYPE_VALUE).ToUpper() + "");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
}
}