BaoKai_202508-Wms-Jingwang..../WMS.Business/Base/BussDocumentTable.cs
2025-08-24 09:35:55 +08:00

190 lines
6.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.Model.Base;
using WMS.IData;
using WMS.Common;
namespace WMS.Business.Base
{
public class BussDocumentTable : IBussFactory
{
/// <summary>
/// 初始化序列
/// </summary>
/// <param name="nameSql"></param>
public void UpdateSeq(string nameSql)
{
DataProvider.Instance.DocumentTable.UpdateSeq(nameSql);
}
/// <summary>
/// 获得单据生成规则数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public List<DocumentTableModel> GetDocumentData(string pickName)
{
DataTable dt = DataProvider.Instance.DocumentTable.GetDocumentData(pickName);
List<DocumentTableModel> list = null;
if (DataLogErrWrite(dt, "获取单据生成规则数据"))
{
list = ConvertHelper<DocumentTableModel>.ConvertToList(dt);
}
else
{
return list;
}
return list;
}
/// <summary>
/// 查询SEQ 的值
/// </summary>
/// <param name="seq_name"></param>
/// <returns></returns>
public string GetSeq(string seq_name)
{
return DataProvider.Instance.DocumentTable.GetSeq(seq_name);
}
/// <summary>
/// 获取单号
/// </summary>
/// <param name="pickName"></param>
/// <returns></returns>
public string DocMentIndex(string pickName)
{
string documentNumber = string.Empty;
List<DocumentTableModel> list = GetDocumentData(pickName);
if (list != null)
{
if (list.Count > 0)
{
string seq = DataProvider.Instance.DocumentTable.GetSeq(list[0].DOCUMENT_TYPE_VALUE);
documentNumber = list[0].DOCUMENT_START
+ System.DateTime.Now.ToString( list[0].DOCUMENT_DATE) + seq;
}
}
return documentNumber;
}
/// <summary>
/// 新增单据规则数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public string AddDocumentData(DocumentTableModel model)
{
// GetDocumentStream("0");
//int s = DataProvider.Instance.DocumentTable.SelectSEQExists(model.DOCUMENT_TYPE_VALUE);
//if (s != 0)
//{
//DataProvider.Instance.DocumentTable.DropSEQ(model);
//DataProvider.Instance.DocumentTable.CreateSEQ(model);
//// Transaction = DataProvider.Instance.TranOracle;
//logList.Add(DataProvider.Instance.logData);
// }
DataProvider.Instance.DocumentTable.DeleteDocumentData(model);
Transaction = DataProvider.Instance.TranOracle;
// Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
DataProvider.Instance.DocumentTable.AddDocumentData(model);
// Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return this.ErrText;
}
/// <summary>
/// 更新单据规则数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public string UpdateDocumentData(DocumentTableModel model)
{
DataProvider.Instance.DocumentTable.UpdateDocumentData(model);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return this.ErrText;
}
/// <summary>
/// 删除单据规则数据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public string DeleteDocumentData(DocumentTableModel model)
{
DataProvider.Instance.DocumentTable.DeleteDocumentData(model);
Transaction = DataProvider.Instance.TranOracle;
logList.Add(DataProvider.Instance.logData);
TaCmtOrRak();
return this.ErrText;
}
/// <summary>
/// 根据类型选择单据编号
/// </summary>
/// <param name="type"></param>
/// <returns></returns>
public string GetDocumentStream(string type)
{
string strDate = string.Empty;
string strS = string.Empty;
string strSqlSeq = "";
DataTable tb = DataProvider.Instance.DocumentTable.GetDocumentData(type);
if (tb != null)
{
if (tb.Rows.Count > 0)
{
strS = tb.Rows[0]["DOCUMENT_START"].ToString();
if (tb.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 8)
{
strDate = DateTime.Now.ToString("yyyyMMdd");
strS = strS + strDate;
}
else if (tb.Rows[0]["DOCUMENT_DATE"].ToString().Trim().Length == 6)
{
strDate = DateTime.Now.ToString("yyyyMM");
strS = strS + strDate;
}
string strEnd=string.Empty;
strSqlSeq = DataProvider.Instance.DocumentTable.GetSeq(tb.Rows[0]["DOCUMENT_TYPE_VALUE"].ToString());
strS = strS + strSqlSeq;
if(tb.Rows[0]["DOCUMENT_END"].ToString().Trim().Length>0)
{
strEnd =strSqlSeq+tb.Rows[0]["DOCUMENT_END"].ToString().Trim();
strS = strS + strEnd;
}
}
}
return strS;
}
}
}