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

251 lines
12 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using WMS.Model.Stock;
using WMS.DBUtility;
using WMS.IData.IStock;
using WMS.IData;using Oracle.ManagedDataAccess.Client;
namespace WMS.SqlServerData.StockData
{
public class AreaRepInData : IAreaRepIn
{
/// <summary>
/// 获取库区间调拨单入库明细
/// </summary>
/// <returns>库区间调拨单入库明细</returns>
public DataTable GetAreaRepInDT(AreaRepInModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("select ");
strSql.AppendLine(" a.AREA_REP_ID, ");
strSql.AppendLine(" a.IN_LOC_ID, ");
strSql.AppendLine(" a.PLAN_COUNT, ");
strSql.AppendLine(" a.REAL_COUNT, ");
strSql.AppendLine(" a.GOODS_ID, ");
strSql.AppendLine(" a.TAB_IN_ID, ");
strSql.AppendLine(" a.MISTOCK_NUM, ");
strSql.AppendLine(" a.UNIT, --单位 ");
strSql.AppendLine(" a.SCALE_UNIT, --重量单位 ");
strSql.AppendLine(" a.PRICE, --标准价格 ");
strSql.AppendLine(" b.goods_name ");
if (model.SORT == 1)//去备份表查
{
strSql.AppendLine(" FROM T_STOCK_AREA_REP_IN_BACK a ");
}
else
{
strSql.AppendLine(" FROM T_STOCK_AREA_REP_IN a ");
}
strSql.AppendLine(" left join t_base_goods b ");
strSql.AppendLine(" on a.goods_id = b.goods_id ");
strSql.AppendLine("where 1 = 1");
if (!string.IsNullOrEmpty(model.TAB_IN_ID))
{
strSql.AppendLine(" and a.TAB_IN_ID like '%" + model.TAB_IN_ID + "%' ");
}
if (!string.IsNullOrEmpty(model.AREA_REP_ID))
{
strSql.AppendLine(" and a.AREA_REP_ID = '" + model.AREA_REP_ID + "' ");
}
strSql.AppendLine(" order by a.TAB_IN_ID");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 插入库区间调拨单入库明细信息
/// </summary>
/// <param name="AreaRepInModel">库区间调拨单入库明细Model</param>
public void InsertAreaRepIn(AreaRepInModel model)
{
StringBuilder strSql = new StringBuilder();
//if (model.AREA_REP_ID == null)
//{
// strSql.AppendLine("insert into T_STOCK_AREA_REP_IN(");
// strSql.AppendLine("AREA_REP_ID,IN_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,TAB_IN_ID,MISTOCK_NUM)");
// strSql.AppendLine(" values (");
// strSql.AppendLine("SEQ_STOCK_AREA_REP.currval,:IN_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,SEQ_STOCK_AREA_REP_IN.nextval,:MISTOCK_NUM)");
// OracleParameter[] parameters = {
// new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2,20),
// new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal,4),
// new OracleParameter(":REAL_COUNT", OracleDbType.Decimal,4),
// new OracleParameter(":GOODS_ID",OracleDbType.Varchar2,20),
// new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal,4)};
// parameters[0].Value = model.IN_LOC_ID;
// parameters[1].Value = model.PLAN_COUNT;
// parameters[2].Value = model.REAL_COUNT;
// parameters[3].Value = model.GOODS_ID;
// parameters[4].Value = model.MISTOCK_NUM;
// SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
//}
//else
//{
if (model.TAB_IN_ID == null)
{
strSql.AppendLine("insert into T_STOCK_AREA_REP_IN(");
strSql.AppendLine("AREA_REP_ID,IN_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,MISTOCK_NUM,UNIT,SCALE_UNIT,PRICE)");
strSql.AppendLine(" values (");
strSql.AppendLine(":AREA_REP_ID,:IN_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,:MISTOCK_NUM,:UNIT,:SCALE_UNIT,:PRICE)");
OracleParameter[] parameters = {
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2),
new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2),
new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal),
new OracleParameter(":REAL_COUNT", OracleDbType.Decimal),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2),
new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal),
new OracleParameter(":UNIT",OracleDbType.Varchar2),
new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2),
new OracleParameter(":PRICE",OracleDbType.Varchar2)};
parameters[0].Value = model.AREA_REP_ID;
parameters[1].Value = model.IN_LOC_ID;
parameters[2].Value = model.PLAN_COUNT;
parameters[3].Value = model.REAL_COUNT;
parameters[4].Value = model.GOODS_ID;
parameters[5].Value = model.MISTOCK_NUM;
parameters[6].Value = model.UNIT;
parameters[7].Value = model.SCALE_UNIT;
parameters[8].Value = model.PRICE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
else
{
strSql.AppendLine("insert into T_STOCK_AREA_REP_IN(");
strSql.AppendLine("AREA_REP_ID,IN_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,TAB_IN_ID,MISTOCK_NUM,UNIT,SCALE_UNIT,PRICE)");
strSql.AppendLine(" values (");
strSql.AppendLine(":AREA_REP_ID,:IN_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,:TAB_IN_ID,:MISTOCK_NUM,:UNIT,:SCALE_UNIT,:PRICE)");
OracleParameter[] parameters = {
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2),
new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2),
new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal),
new OracleParameter(":REAL_COUNT", OracleDbType.Decimal),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2),
new OracleParameter(":TAB_IN_ID",OracleDbType.Varchar2),
new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal),
new OracleParameter(":UNIT",OracleDbType.Varchar2),
new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2),
new OracleParameter(":PRICE",OracleDbType.Varchar2)};
parameters[0].Value = model.AREA_REP_ID;
parameters[1].Value = model.IN_LOC_ID;
parameters[2].Value = model.PLAN_COUNT;
parameters[3].Value = model.REAL_COUNT;
parameters[4].Value = model.GOODS_ID;
parameters[5].Value = model.TAB_IN_ID;
parameters[6].Value = model.MISTOCK_NUM;
parameters[7].Value = model.UNIT;
parameters[8].Value = model.SCALE_UNIT;
parameters[9].Value = model.PRICE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
//}
}
/// <summary>
/// 修改库区间调拨单入库明细信息
/// </summary>
/// <param name="AreaRepInModel">库区间调拨单入库明细Model</param>
public void UpdateAreaRepIn(AreaRepInModel model) {
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("update T_STOCK_AREA_REP_IN set ");
strSql.AppendLine("AREA_REP_ID=:AREA_REP_ID,");
strSql.AppendLine("IN_LOC_ID=:IN_LOC_ID,");
strSql.AppendLine("PLAN_COUNT=:PLAN_COUNT,");
strSql.AppendLine("REAL_COUNT=:REAL_COUNT,");
strSql.AppendLine("GOODS_ID=:GOODS_ID,");
strSql.AppendLine("TAB_IN_ID=:TAB_IN_ID,");
strSql.AppendLine("MISTOCK_NUM=:MISTOCK_NUM");
strSql.AppendLine("unit=:unit,");
strSql.AppendLine("SCALE_UNIT=:SCALE_UNIT,");
strSql.AppendLine("PRICE=:PRICE");
strSql.AppendLine(" where TAB_IN_ID=:TAB_IN_ID ");
OracleParameter[] parameters = {
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2),
new OracleParameter(":IN_LOC_ID",OracleDbType.Varchar2),
new OracleParameter(":PLAN_COUNT", OracleDbType.Decimal),
new OracleParameter(":REAL_COUNT", OracleDbType.Decimal),
new OracleParameter(":GOODS_ID",OracleDbType.Varchar2),
new OracleParameter(":TAB_IN_ID",OracleDbType.Varchar2),
new OracleParameter(":UNIT",OracleDbType.Varchar2),
new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2),
new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal),
new OracleParameter(":PRICE",OracleDbType.Varchar2)};
parameters[0].Value = model.AREA_REP_ID;
parameters[1].Value = model.IN_LOC_ID;
parameters[2].Value = model.PLAN_COUNT;
parameters[3].Value = model.REAL_COUNT;
parameters[4].Value = model.GOODS_ID;
parameters[5].Value = model.TAB_IN_ID;
parameters[6].Value = model.UNIT;
parameters[7].Value = model.SCALE_UNIT;
parameters[8].Value = model.MISTOCK_NUM;
parameters[9].Value = model.PRICE;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 删除库区间调拨单入库明细信息
/// </summary>
/// <param name="ID"></param>
public void DeleteAreaRepIn(string ID)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("delete from T_STOCK_AREA_REP_IN ");
strSql.AppendLine(" where TAB_IN_ID=:TAB_IN_ID ");
OracleParameter[] parameters = {
new OracleParameter(":TAB_IN_ID",OracleDbType.Varchar2) };
parameters[0].Value = ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 通过库区间调拨单编号删除库区间调拨单入库明细
/// </summary>
/// <param name="ID"></param>
public void DeleteAreaRepInByAreaRepID(string ID)
{
StringBuilder strSql = new StringBuilder();
strSql.AppendLine("delete from T_STOCK_AREA_REP_IN ");
strSql.AppendLine(" where AREA_REP_ID=:AREA_REP_ID ");
OracleParameter[] parameters = {
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2) };
parameters[0].Value = ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 向备份表中添加库区间调拨单入库明细
/// </summary>
/// <param name="AreaRepID">库区间调拨单编号</param>
public void InsertAreaRepInBack(string AreaRepID)
{
string strSql = "insert into T_STOCK_AREA_REP_IN_BACK select * from T_STOCK_AREA_REP_IN where AREA_REP_ID =:AREA_REP_ID";
OracleParameter[] parameters = {
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2)};
parameters[0].Value = AreaRepID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
}
}