284 lines
15 KiB
C#
284 lines
15 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 AreaRepOutData : IAreaRepOut
|
|
{
|
|
/// <summary>
|
|
/// 获取库区间调拨单出库明细
|
|
/// </summary>
|
|
/// <returns>库区间调拨单出库明细</returns>
|
|
public DataTable GetAreaRepOutDT(AreaRepOutModel model)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
|
|
strSql.AppendLine("select ");
|
|
strSql.AppendLine(" a.AREA_REP_ID, ");
|
|
strSql.AppendLine(" a.OUT_LOC_ID, ");
|
|
strSql.AppendLine(" a.PLAN_COUNT, ");
|
|
strSql.AppendLine(" a.REAL_COUNT, ");
|
|
strSql.AppendLine(" a.GOODS_ID, ");
|
|
strSql.AppendLine(" a.TAB_OUT_ID, ");
|
|
strSql.AppendLine(" a.MISTOCK_NUM, ");
|
|
strSql.AppendLine(" a.UNIT, --单位 ");
|
|
strSql.AppendLine(" a.SCALE_UNIT, --重量单位 ");
|
|
strSql.AppendLine(" a.PRICE, --标准价格 ");
|
|
strSql.AppendLine(" a.PUTIN_ID, --入库批次号 ");
|
|
strSql.AppendLine(" a.DOCCTNUMBER, --单据编号(调整填写调整号,入库填写入库号) ");
|
|
strSql.AppendLine(" a.SPECIFICATION, --规格 ");
|
|
strSql.AppendLine(" a.PRODUCTION_DATE,--生产日期 ");
|
|
strSql.AppendLine(" a.WARE_DATE, --上架时间 ");
|
|
strSql.AppendLine(" a.PROVIDER_ID, --供应商编号 ");
|
|
strSql.AppendLine(" a.LOC_NUM, --某商品某库位某批次号库存数 ");
|
|
strSql.AppendLine(" b.goods_name ");
|
|
|
|
if (model.SORT == 1)//去备份表查
|
|
{
|
|
strSql.AppendLine(" FROM T_STOCK_AREA_REP_OUT_BACK a ");
|
|
}
|
|
else
|
|
{
|
|
strSql.AppendLine(" FROM T_STOCK_AREA_REP_OUT 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_OUT_ID))
|
|
{
|
|
strSql.AppendLine(" and a.TAB_OUT_ID like '%" + model.TAB_OUT_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_OUT_ID");
|
|
|
|
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入库区间调拨单出库明细信息
|
|
/// </summary>
|
|
/// <param name="AreaRepOutModel">库区间调拨单出库明细Model</param>
|
|
public void InsertAreaRepOut(AreaRepOutModel model)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
|
//if (model.AREA_REP_ID == null)
|
|
//{
|
|
// strSql.AppendLine("insert into T_STOCK_AREA_REP_OUT(");
|
|
// strSql.AppendLine("AREA_REP_ID,OUT_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,TAB_OUT_ID,MISTOCK_NUM)");
|
|
// strSql.AppendLine(" values (");
|
|
// strSql.AppendLine("SEQ_STOCK_AREA_REP.currval,:OUT_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,SEQ_STOCK_AREA_REP_OUT.nextval,:MISTOCK_NUM)");
|
|
// OracleParameter[] parameters = {
|
|
// new OracleParameter(":OUT_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.OUT_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_OUT_ID == null)
|
|
{
|
|
strSql.AppendLine("insert into T_STOCK_AREA_REP_OUT(");
|
|
strSql.AppendLine("AREA_REP_ID,OUT_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,MISTOCK_NUM,UNIT,SCALE_UNIT,PUTIN_ID,DOCCTNUMBER,SPECIFICATION,PRODUCTION_DATE,WARE_DATE,PROVIDER_ID,LOC_NUM,PRICE)");
|
|
strSql.AppendLine(" values (");
|
|
strSql.AppendLine(":AREA_REP_ID,:OUT_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,:MISTOCK_NUM,:UNIT,:SCALE_UNIT,:PUTIN_ID,:DOCCTNUMBER,:SPECIFICATION,:PRODUCTION_DATE,:WARE_DATE,:PROVIDER_ID,:LOC_NUM,:PRICE)");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":OUT_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(":PUTIN_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":DOCCTNUMBER",OracleDbType.Varchar2),
|
|
new OracleParameter(":SPECIFICATION",OracleDbType.Varchar2),
|
|
new OracleParameter(":PRODUCTION_DATE", OracleDbType.Date),
|
|
new OracleParameter(":WARE_DATE", OracleDbType.Date),
|
|
new OracleParameter(":PROVIDER_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":LOC_NUM", OracleDbType.Decimal),
|
|
new OracleParameter(":PRICE",OracleDbType.Varchar2)};
|
|
parameters[0].Value = model.AREA_REP_ID;
|
|
parameters[1].Value = model.OUT_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.PUTIN_ID;
|
|
parameters[9].Value = model.DOCCTNUMBER;
|
|
parameters[10].Value = model.SPECIFICATION;
|
|
parameters[11].Value = model.PRODUCTION_DATE;
|
|
parameters[12].Value = model.WARE_DATE;
|
|
parameters[13].Value = model.PROVIDER_ID;
|
|
parameters[14].Value = model.LOC_NUM;
|
|
parameters[15].Value = model.PRICE;
|
|
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|
}
|
|
else
|
|
{
|
|
strSql.AppendLine("insert into T_STOCK_AREA_REP_OUT(");
|
|
strSql.AppendLine("AREA_REP_ID,OUT_LOC_ID,PLAN_COUNT,REAL_COUNT,GOODS_ID,TAB_OUT_ID,MISTOCK_NUM,UNIT,SCALE_UNIT,PUTIN_ID,DOCCTNUMBER,SPECIFICATION,PRODUCTION_DATE,WARE_DATE,PROVIDER_ID,LOC_NUM,PRICE)");
|
|
strSql.AppendLine(" values (");
|
|
strSql.AppendLine(":AREA_REP_ID,:OUT_LOC_ID,:PLAN_COUNT,:REAL_COUNT,:GOODS_ID,:TAB_OUT_ID,:MISTOCK_NUM,:UNIT,:SCALE_UNIT,:PUTIN_ID,:DOCCTNUMBER,:SPECIFICATION,:PRODUCTION_DATE,:WARE_DATE,:PROVIDER_ID,:LOC_NUM,:PRICE)");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":OUT_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_OUT_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":MISTOCK_NUM", OracleDbType.Decimal),
|
|
new OracleParameter(":UNIT",OracleDbType.Varchar2),
|
|
new OracleParameter(":SCALE_UNIT",OracleDbType.Varchar2),
|
|
new OracleParameter(":PUTIN_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":DOCCTNUMBER",OracleDbType.Varchar2),
|
|
new OracleParameter(":SPECIFICATION",OracleDbType.Varchar2),
|
|
new OracleParameter(":PRODUCTION_DATE", OracleDbType.Date),
|
|
new OracleParameter(":WARE_DATE", OracleDbType.Date),
|
|
new OracleParameter(":PROVIDER_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":LOC_NUM", OracleDbType.Decimal),
|
|
new OracleParameter(":PRICE",OracleDbType.Varchar2)};
|
|
parameters[0].Value = model.AREA_REP_ID;
|
|
parameters[1].Value = model.OUT_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_OUT_ID;
|
|
parameters[6].Value = model.MISTOCK_NUM;
|
|
parameters[7].Value = model.UNIT;
|
|
parameters[8].Value = model.SCALE_UNIT;
|
|
parameters[9].Value = model.PUTIN_ID;
|
|
parameters[10].Value = model.DOCCTNUMBER;
|
|
parameters[11].Value = model.SPECIFICATION;
|
|
parameters[12].Value = model.PRODUCTION_DATE;
|
|
parameters[13].Value = model.WARE_DATE;
|
|
parameters[14].Value = model.PROVIDER_ID;
|
|
parameters[15].Value = model.LOC_NUM;
|
|
parameters[16].Value = model.PRICE;
|
|
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|
}
|
|
|
|
//}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改库区间调拨单出库明细信息
|
|
/// </summary>
|
|
/// <param name="AreaRepOutModel">库区间调拨单出库明细Model</param>
|
|
public void UpdateAreaRepOut(AreaRepOutModel model) {
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.AppendLine("update T_STOCK_AREA_REP_OUT set ");
|
|
strSql.AppendLine("AREA_REP_ID=:AREA_REP_ID,");
|
|
strSql.AppendLine("OUT_LOC_ID=:OUT_LOC_ID,");
|
|
strSql.AppendLine("PLAN_COUNT=:PLAN_COUNT,");
|
|
strSql.AppendLine("REAL_COUNT=:REAL_COUNT,");
|
|
strSql.AppendLine("GOODS_ID=:GOODS_ID,");
|
|
strSql.AppendLine("TAB_OUT_ID=:TAB_OUT_ID,");
|
|
strSql.AppendLine("unit=:unit,");
|
|
strSql.AppendLine("SCALE_UNIT=:SCALE_UNIT,");
|
|
strSql.AppendLine("MISTOCK_NUM=:MISTOCK_NUM,");
|
|
strSql.AppendLine("PRICE=:PRICE");
|
|
strSql.AppendLine(" where TAB_OUT_ID=:TAB_OUT_ID ");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":AREA_REP_ID",OracleDbType.Varchar2),
|
|
new OracleParameter(":OUT_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_OUT_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.OUT_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_OUT_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 DeleteAreaRepOut(string ID)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.AppendLine("delete from T_STOCK_AREA_REP_OUT ");
|
|
strSql.AppendLine(" where TAB_OUT_ID=:TAB_OUT_ID ");
|
|
OracleParameter[] parameters = {
|
|
new OracleParameter(":TAB_OUT_ID",OracleDbType.Varchar2) };
|
|
parameters[0].Value = ID;
|
|
|
|
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 通过库区间调拨单编号删除库区间调拨单出库明细
|
|
/// </summary>
|
|
/// <param name="ID"></param>
|
|
public void DeleteAreaRepOutByAreaRepID(string ID)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.AppendLine("delete from T_STOCK_AREA_REP_OUT ");
|
|
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 InsertAreaRepOutBack(string AreaRepID)
|
|
{
|
|
string strSql = "insert into T_STOCK_AREA_REP_OUT_BACK select * from T_STOCK_AREA_REP_OUT 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);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|