BaoKai_202508_Wms_Jingwang_.../WMS.SqlServerData/CKData/OrderDetailData.cs

352 lines
17 KiB
C#
Raw Permalink Normal View History

2025-08-24 21:52:42 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.IData.ICK;
using System.Data;
using WMS.Model.CK;
using WMS.IData;
using Oracle.ManagedDataAccess.Client;
namespace WMS.SqlServerData.CKData
{
public class OrderDetailData : IOrderDetail
{
/// <summary>
///
/// </summary>
public void UpdateOrderData(string PROVIDER_ID)
{
}
public void DelOrderInfo(string orderID)
{
string sqlStr = "delete T_CG_ORDER_INFO where ORDERID='" + orderID+"'";
SystemDataObject.Instance.GetDataTable(sqlStr);
}
/// <summary>
/// 查询采购单明细
/// </summary>
/// <param name="orderID"></param>
/// <returns></returns>
public DataTable GetCgOrderInfo(string orderID)
{
string sqlStr =@" select t.*,a.GOODS_NAME from T_CG_ORDER_INFO t
left join[dbo].[T_BASE_GOODS] a on t.GOODS_ID=a.GOODS_ID where CGORDERID='" + orderID+"'";
return SystemDataObject.Instance.GetDataTable(sqlStr);
}
/// <summary>
/// 查询是否已经增加到入库通知单
/// </summary>
/// <param name="orderID"></param>
/// <returns></returns>
public DataTable GetCtOrder(string orderID)
{
string sqlStr = " select count(*)a from [dbo].[T_RK_WARE_NOTICE] where PURCHASE_ID='"+ orderID + "'";
return SystemDataObject.Instance.GetDataTable(sqlStr);
}
/// <summary>
/// 选择采购单明细
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public DataTable GetOrderDetail(OrderDetailModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select f.STORAGE_AREA_NAME Storage_area_name,c.GOODS_TYPE_NAME,b.GOODS_NAME Good_name,a.ORDER_ID,a.BUSINESSID,a.GOOD_ID,a.SPECIFICATION,a.GOODS_NUM,a.REMARK,a.PAGE_NUM,a.WEITH,a.PRICE,a.SCALE_UNIT,a.GOODS_TYPE_ID,a.TOTAL_VOLUME,a.GVOLUME,a.UNIT,a.STORAGE_AREA_ID,a.LOCATION_ID,a.PICK_NUM,a.TR_NUM ");
strSql.Append(" FROM T_CK_ORDERDETAIL a ");
strSql.Append(" left join t_base_goods_type c on a.GOODS_TYPE_ID = c.GOODS_TYPE_ID ");
strSql.Append(" left join t_base_goods b on a.GOOD_ID = b.GOODS_ID ");
strSql.Append(" LEFT JOIN T_BASE_STORAGE_AREA f ON f.STORAGE_AREA_ID = a.STORAGE_AREA_ID where 1 = 1");
if (!string.IsNullOrEmpty(model.ORDER_ID))
{
strSql.Append(" and a.ORDER_ID='" + model.ORDER_ID + "'");
}
if (!string.IsNullOrEmpty(model.BUSINESSID))
{
strSql.Append(" and a.BUSINESSID='" + model.BUSINESSID + "'");
}
if (!string.IsNullOrEmpty(model.GOOD_ID))
{
strSql.Append(" and a.GOOD_ID='" + model.GOOD_ID + "'");
}
//if (!string.IsNullOrEmpty(model.STS))
//{
// strSql.Append(" and a.STS='" + model.STS + "'");
//}
strSql.Append(" order by ORDER_ID,GOOD_ID ");
return SystemDataObject.Instance.GetDataSet(strSql.ToString()).Tables[0];
}
public void AddOrderDetail(OrderDetailModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_CK_ORDERDETAIL(");
strSql.Append("ORDER_ID,BUSINESSID,GOOD_ID,SPECIFICATION,GOODS_NUM,REMARK,PAGE_NUM,WEITH,PRICE,SCALE_UNIT,GOODS_TYPE_ID," +
"TOTAL_VOLUME,GVOLUME,UNIT,STORAGE_AREA_ID,LOCATION_ID,XQ_TYPE,TR_NUM,STORAGE_ID)");
strSql.Append(" values (");
strSql.Append("'"+model.ORDER_ID + "','"+ model .BUSINESSID+ "','"+model.GOOD_ID+"'," +
"'"+model.SPECIFICATION+"','"+model.GOODS_NUM+"','"+model.REMARK+"','"+model.PAGE_NUM+"'," +
"'"+model.Weith+"','"+model.PRICE+ "','"+model.SCALE_UNIT+ "','"+model.GOODS_TYPE_ID+"','"+model.TOTAL_VOLUME + "'," +
"'"+model.GVOLUME+"','"+model.UNIT+"','"+model.Storage_area_id+"','"+model.Location_id+"','"+model.XQ_TYPE+"','"+model.TR_NUM+"','"+model.STORAGE_ID+"')");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
public void AddOrderDetails(OrderDetailModel model)
{
StringBuilder strSql = new StringBuilder();
List<string> list_str = new List<string>();
strSql = new StringBuilder();
strSql.Append("insert into T_CK_ORDERDETAIL(");
strSql.Append("ORDER_ID,BUSINESSID,GOOD_ID,SPECIFICATION,GOODS_NUM,REMARK,PAGE_NUM,WEITH,PRICE,SCALE_UNIT,GOODS_TYPE_ID,TOTAL_VOLUME,GVOLUME,UNIT,STORAGE_AREA_ID,LOCATION_ID)");
strSql.Append(" values (");
strSql.Append(":ORDER_ID,:BUSINESSID,:GOOD_ID,:SPECIFICATION,:GOODS_NUM,:REMARK,:PAGE_NUM,:WEITH,:PRICE,:SCALE_UNIT,:GOODS_TYPE_ID,:TOTAL_VOLUME,:GVOLUME,:UNIT,:STORAGE_AREA_ID,:LOCATION_ID)");
OracleParameter[] parameters = {
new OracleParameter(":ORDER_ID",OracleDbType.Varchar2),
new OracleParameter(":BUSINESSID",OracleDbType.Varchar2),
new OracleParameter(":GOOD_ID",OracleDbType.Varchar2),
new OracleParameter(":SPECIFICATION",OracleDbType.Varchar2),
new OracleParameter(":GOODS_NUM", OracleDbType.Decimal),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":PAGE_NUM", OracleDbType.Decimal),
new OracleParameter(":WEITH", OracleDbType.Decimal),
new OracleParameter(":PRICE",OracleDbType.Decimal),
new OracleParameter(":SCALE_UNIT",OracleDbType.Char),
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2),
new OracleParameter(":TOTAL_VOLUME",OracleDbType.Decimal),
new OracleParameter(":GVOLUME",OracleDbType.Decimal),
new OracleParameter(":UNIT",OracleDbType.Char),
new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2),
new OracleParameter(":LOCATION_ID",OracleDbType.Varchar2)};
parameters[0].Value = model.ORDER_ID;
parameters[1].Value = model.BUSINESSID;
parameters[2].Value = model.GOOD_ID;
parameters[3].Value = model.SPECIFICATION;
parameters[4].Value = model.GOODS_NUM;
parameters[5].Value = model.REMARK;
parameters[6].Value = model.PAGE_NUM;
parameters[7].Value = model.Weith;
parameters[8].Value = model.PRICE;
parameters[9].Value = model.SCALE_UNIT;
parameters[10].Value = model.GOODS_TYPE_ID;
parameters[11].Value = model.TOTAL_VOLUME;
parameters[12].Value = model.GVOLUME;
parameters[13].Value = model.UNIT;
parameters[14].Value = model.Storage_area_id;
parameters[15].Value = model.Location_id;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
public void UpdateOrderDetail(OrderDetailModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_CK_ORDERDETAIL set ");
strSql.Append("BUSINESSID=:BUSINESSID,");
strSql.Append("SPECIFICATION=:SPECIFICATION,");
strSql.Append("GOODS_NUM=:GOODS_NUM,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("PAGE_NUM=:PAGE_NUM,");
strSql.Append("WEITH=:WEITH,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("SCALE_UNIT=:SCALE_UNIT,");
strSql.Append("GOODS_TYPE_ID=:GOODS_TYPE_ID,");
strSql.Append("TOTAL_VOLUME=:TOTAL_VOLUME,");
strSql.Append("GVOLUME=:GVOLUME,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("STORAGE_AREA_ID=:STORAGE_AREA_ID,");
strSql.Append("LOCATION_ID=:LOCATION_ID");
strSql.Append(" where ORDER_ID=:ORDER_ID and GOOD_ID=:GOOD_ID");
OracleParameter[] parameters = {
new OracleParameter(":BUSINESSID",OracleDbType.Varchar2),
new OracleParameter(":SPECIFICATION",OracleDbType.Varchar2),
new OracleParameter(":GOODS_NUM", OracleDbType.Decimal),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":PAGE_NUM", OracleDbType.Decimal),
new OracleParameter(":WEITH", OracleDbType.Decimal),
new OracleParameter(":PRICE", OracleDbType.Decimal),
new OracleParameter(":SCALE_UNIT", OracleDbType.Char),
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2),
new OracleParameter(":TOTAL_VOLUME", OracleDbType.Decimal),
new OracleParameter(":GVOLUME", OracleDbType.Decimal),
new OracleParameter(":UNIT", OracleDbType.Char),
new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2),
new OracleParameter(":LOCATION_ID",OracleDbType.Varchar2),
new OracleParameter(":ORDER_ID",OracleDbType.Varchar2),
new OracleParameter(":GOOD_ID",OracleDbType.Varchar2),};
parameters[0].Value = model.BUSINESSID;
parameters[1].Value = model.SPECIFICATION;
parameters[2].Value = model.GOODS_NUM;
parameters[3].Value = model.REMARK;
parameters[4].Value = model.PAGE_NUM;
parameters[5].Value = model.Weith;
parameters[6].Value = model.PRICE;
parameters[7].Value = model.SCALE_UNIT;
parameters[8].Value = model.GOODS_TYPE_ID;
parameters[9].Value = model.TOTAL_VOLUME;
parameters[10].Value = model.GVOLUME;
parameters[11].Value = model.UNIT;
parameters[12].Value = model.Storage_area_id;
parameters[13].Value = model.Location_id;
parameters[14].Value = model.ORDER_ID;
parameters[15].Value = model.GOOD_ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
public void UpdateOrderDetail(List<OrderDetailModel> list)
{
StringBuilder strSql = new StringBuilder();
List<string> list_str = new List<string>();
List<OracleParameter[]> list_parameter = new List<OracleParameter[]>();
foreach (OrderDetailModel model in list)
{
strSql.Append("update T_CK_ORDERDETAIL set ");
strSql.Append("BUSINESSID=:BUSINESSID,");
strSql.Append("GOOD_ID=:GOOD_ID,");
strSql.Append("SPECIFICATION=:SPECIFICATION,");
strSql.Append("GOODS_NUM=:GOODS_NUM,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("PAGE_NUM=:PAGE_NUM,");
strSql.Append("WEITH=:WEITH,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("SCALE_UNIT=:SCALE_UNIT,");
strSql.Append("GOODS_TYPE_ID=:GOODS_TYPE_ID,");
strSql.Append("TOTAL_VOLUME=:TOTAL_VOLUME,");
strSql.Append("GVOLUME=:GVOLUME,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("STORAGE_AREA_ID=:STORAGE_AREA_ID,");
strSql.Append("LOCATION_ID=:LOCATION_ID");
strSql.Append(" where ORDER_ID=:ORDER_ID and GOOD_ID=:GOOD_ID");
OracleParameter[] parameters = {
new OracleParameter(":BUSINESSID",OracleDbType.Varchar2),
new OracleParameter(":GOOD_ID",OracleDbType.Varchar2),
new OracleParameter(":SPECIFICATION",OracleDbType.Varchar2),
new OracleParameter(":GOODS_NUM", OracleDbType.Decimal),
new OracleParameter(":REMARK",OracleDbType.Varchar2),
new OracleParameter(":PAGE_NUM", OracleDbType.Decimal),
new OracleParameter(":WEITH", OracleDbType.Decimal),
new OracleParameter(":PRICE", OracleDbType.Decimal),
new OracleParameter(":SCALE_UNIT", OracleDbType.Char),
new OracleParameter(":GOODS_TYPE_ID",OracleDbType.Varchar2),
new OracleParameter(":TOTAL_VOLUME", OracleDbType.Decimal),
new OracleParameter(":GVOLUME", OracleDbType.Decimal),
new OracleParameter(":UNIT", OracleDbType.Char),
new OracleParameter(":STORAGE_AREA_ID",OracleDbType.Varchar2),
new OracleParameter(":LOCATION_ID",OracleDbType.Varchar2),
new OracleParameter(":ORDER_ID",OracleDbType.Varchar2)};
parameters[0].Value = model.BUSINESSID;
parameters[1].Value = model.GOOD_ID;
parameters[2].Value = model.SPECIFICATION;
parameters[3].Value = model.GOODS_NUM;
parameters[4].Value = model.REMARK;
parameters[5].Value = model.PAGE_NUM;
parameters[6].Value = model.Weith;
parameters[7].Value = model.PRICE;
parameters[8].Value = model.SCALE_UNIT;
parameters[9].Value = model.GOODS_TYPE_ID;
parameters[10].Value = model.TOTAL_VOLUME;
parameters[11].Value = model.GVOLUME;
parameters[12].Value = model.UNIT;
parameters[13].Value = model.Storage_area_id;
parameters[14].Value = model.Location_id;
parameters[15].Value = model.ORDER_ID;
list_str.Add(strSql.ToString());
list_parameter.Add(parameters);
}
SystemDataObject.Instance.ExecuteList(list_str, list_parameter);
}
public DataTable GetErpOrderData()
{
string sqlStr = "select * from T_CK_ORDERDETAIL where sts='0' order by addtime ";
return SystemDataObject.Instance.GetDataTable(sqlStr);
}
public void UpdateOrderDetailPickNum(OrderDetailModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" update T_CK_ORDERDETAIL set GOODS_NUM="+model.GOODS_NUM+ ",PICK_NUM=PICK_NUM+" + model.PICK_NUM + "");
strSql.Append(" where ORDER_ID='" + model.ORDER_ID + "' and GOOD_ID ='"+model.GOOD_ID+"'");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
public void UpdateOrderDetailPickNum(string pickNumber,string ckId,string GoodId )
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_CK_ORDERDETAIL set ");
strSql.Append("PICK_NUM=PICK_NUM+:PICK_NUM");
strSql.Append(" where ORDER_ID=:ORDER_ID and GOOD_ID =:GOOD_ID");
OracleParameter[] parameters = {
new OracleParameter(":PICK_NUM", OracleDbType.Decimal),
new OracleParameter(":ORDER_ID",OracleDbType.Varchar2),
new OracleParameter(":GOOD_ID",OracleDbType.Varchar2)};
parameters[0].Value = pickNumber;
parameters[1].Value = ckId;
parameters[2].Value = GoodId;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
/// <summary>
/// 状态改完已经读取
/// </summary>UpdateOrderDetailData
/// <param name="pickNum"></param>
/// <param name="goodsId"></param>
public void UpdateOrderDetailData(string ORDER_ID, string goodsId,string REMARK)
{
string sqlStr = " update T_CK_ORDERDETAIL set sts ='3',PICK_NUM=PICK_NUM+GOODS_NUM ,REMARK='"+ REMARK + "' where ORDER_ID='" + ORDER_ID + "' and GOOD_ID='"+goodsId+"' ";
SystemDataObject.Instance.ExecuteSql(sqlStr);
}
public void UpdateOrderDetailTRNum(OrderDetailModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_CK_ORDERDETAIL set ");
strSql.Append("TR_NUM=TR_NUM+:TR_NUM");
strSql.Append(" where ORDER_ID=:ORDER_ID and GOOD_ID =:GOOD_ID");
OracleParameter[] parameters = {
new OracleParameter(":TR_NUM", OracleDbType.Decimal),
new OracleParameter(":ORDER_ID",OracleDbType.Varchar2),
new OracleParameter(":GOOD_ID",OracleDbType.Varchar2)};
parameters[0].Value = model.TR_NUM;
parameters[1].Value = model.ORDER_ID;
parameters[2].Value = model.GOOD_ID;
SystemDataObject.Instance.ExecuteSql(strSql.ToString(), parameters);
}
public void DelOrder(string out_id)
{
string strSql = "delete from T_CK_ORDERDETAIL where ORDER_ID='" + out_id + "'";
SystemDataObject.Instance.ExecuteSql(strSql);
}
public void DelOrderDetail(OrderDetailModel list)
{
string strSql = "delete from T_CK_ORDERDETAIL where ORDER_ID='" + list.ORDER_ID + "' and GOOD_ID ='"+ list .GOOD_ID+ "' ";
SystemDataObject.Instance.ExecuteSql(strSql);
}
}
}