239 lines
9.1 KiB
C#
239 lines
9.1 KiB
C#
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());
|
|
}
|
|
|
|
}
|
|
}
|