BaoKai_202508_Wms_Jingwang_.../WMS.SqlServerData/RKData/StorageLotData.cs
2025-08-24 21:52:42 +08:00

614 lines
28 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WMS.IData;
using WMS.Model.RK;
using WMS.DBUtility;
using System.Data;
using WMS.IData.IRK;
using Oracle.ManagedDataAccess.Client;
namespace WMS.SqlServerData.RKData
{
public class StorageLotData : IStorageLot
{
/// <summary>
/// 增加收货单据
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public void AddLotData(StorageLotModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_RK_STORAGE_LOT(");
strSql.Append("LOT_ID,RECE_ID,RECE_MAN,PRINT_MAN,PRINT_NUM,PRINT_DATE,TYPE,NOTICE_ID,STO_ID,REMARK,STO_NUM_SUM,BUY_NUM_SUM,SHELVE_NUM_SUM,ACC_NUM_SUM,ARR_NUM_SUM,PROVIDER_ID,OPERATORID,ACC_MAN,AREA_ID,ACC_ID,ORI_BILL)");
strSql.Append(" values (");
strSql.Append("'"+model.LOT_ID+"','"+model.RECE_ID+"','"+model.RECE_MAN+"',"
+"'"+model.PRINT_MAN+"','"+model.PRINT_NUM+"',"
+"'"+model.PRINT_DATE+"','"+model.TYPE+"','"+model.NOTICE_ID+"','"+model.STO_ID+"',"
+"'"+model.REMARK+"','"+model.STO_NUM_SUM+"','"+model.BUY_NUM_SUM+"','"+model.SHELVE_NUM_SUM+"',"
+"'"+model.ACC_NUM_SUM+"','"+model.ARR_NUM_SUM+"','"+model.PROVIDER_ID+"','"+model.OPERATORID+"','"+model.ACC_MAN+"','"+model.AREA_ID+"','"+model.ACC_ID+"','"+model.ORI_BILL+"')");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 增加明细
/// </summary>
/// <param name="infoModel"></param>
public void AddLotInfo(StorageLotInfoModel infoModel)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_RK_STORAGE_LOT_INFO(");
strSql.Append("LOT_ID,GOODS_ID,TRAY_ID,LOT_VOLUME,GRO_WEIGHT,NET_WEIGHT,LOT_MONEY,BUY_NUM,STO_NUM,MADE_DATE,UNIT,VOLUME_UNIT,ACC_NUM,ARR_NUM,OPERATORID,OPERATEDATE,PRICE,SCALE_UNIT,AREA_ID,STORAGE_ID)");
strSql.Append(" values (");
strSql.Append("'"+infoModel.LOT_ID+"','"+infoModel.GOODS_ID+"','"+infoModel.TRAY_ID+"','"+infoModel.LOT_VOLUME+"','"+infoModel.GRO_WEIGHT+"','"+infoModel.NET_WEIGHT+"','"+infoModel.LOT_MONEY+"','"+infoModel.BUY_NUM+"','"+infoModel.STO_NUM+"','"+infoModel.MADE_DATE+"','"+infoModel.UNIT+"','"+infoModel.VOLUME_UNIT+"','"+infoModel.ACC_NUM+"','"+infoModel.ARR_NUM+"','"+infoModel.OPERATORID+"','"+infoModel.OPERATEDATE+"','"+infoModel.PRICE+"','"+infoModel.SCALE_UNIT+"','"+infoModel.AREA_ID+"','"+infoModel.STORAGE_ID+"')");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
// sqlList.Add(strSql.ToString());
}
/// <summary>
/// 更新通知单的数据
/// </summary>
/// <param name="model"></param>
public void UpDateNotice(StorageLotModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_RK_WARE_NOTICE set ");
strSql.Append("WARE_COUNT=ISNULL(WARE_COUNT,0)+" + model.STO_NUM_SUM+",");
strSql.Append("WARE_DATE=getdate(),");
strSql.Append("STATE='3'");
strSql.Append(" where WAREHOUSING_ID='"+ model.NOTICE_ID + "'");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 更新一条数据
/// </summary>
public void Update(StorageLotModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_RK_STORAGE_LOT set ");
strSql.Append("RECE_ID='"+ model.RECE_ID + "',");
strSql.Append("RECE_MAN='"+ model.RECE_MAN +"',");
strSql.Append("RECE_DATE='"+ model.RECE_DATE +"',");
strSql.Append("PRINT_MAN='"+ model.PRINT_MAN +"',");
strSql.Append("PRINT_NUM='"+ model.PRINT_NUM +"',");
strSql.Append("PRINT_DATE='"+ model.PRINT_DATE +",'");
strSql.Append("TYPE='"+ model.TYPE +"'");
strSql.Append("NOTICE_ID='"+ model.NOTICE_ID +"'");
strSql.Append("STO_ID='"+ model.STO_ID +"'");
strSql.Append("REMARK='"+ model.REMARK +"'");
strSql.Append("STO_NUM_SUM=STO_NUM_SUM+"+ model.STO_NUM_SUM +"");
strSql.Append("BUY_NUM_SUM='"+ model.BUY_NUM_SUM +"'");
strSql.Append("SHELVE_NUM_SUM='"+ model.SHELVE_NUM_SUM +"'");
strSql.Append("ACC_NUM_SUM='"+ model.ACC_NUM_SUM +"'");
strSql.Append("ARR_NUM_SUM='"+ model.ARR_NUM_SUM +"'");
strSql.Append("PROVIDER_ID='"+ model.PROVIDER_ID +"'");
strSql.Append("OPERATORID='"+ model.OPERATORID +"'");
strSql.Append("OPERATEDATE='"+ model.OPERATEDATE +"'");
strSql.Append("ACC_MAN='"+ model.ACC_MAN +"'");
strSql.Append("STATUS='"+ model.STATUS +"'");
strSql.Append("AREA_ID='"+ model.AREA_ID +"'");
strSql.Append("ACC_ID='"+ model.ACC_ID +"'");
strSql.Append("ORI_BILL='"+ model.ORI_BILL+"'");
strSql.Append(" where LOT_ID='"+ model.LOT_ID + "'");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 更新一条数据
/// </summary>
public void Update(StorageLotModel model, List<StorageLotInfoModel> infoModelList)
{
StringBuilder strSql = new StringBuilder();
List<string> sqlList = new List<string>();
List<OracleParameter[]> paraList = new List<OracleParameter[]>();
if (!string.IsNullOrEmpty(model.LOT_ID))
{
strSql.Append("update T_RK_STORAGE_LOT set ");
strSql.Append("RECE_ID=:RECE_ID,");
strSql.Append("RECE_MAN=:RECE_MAN,");
strSql.Append("RECE_DATE=:RECE_DATE,");
strSql.Append("PRINT_MAN=:PRINT_MAN,");
strSql.Append("PRINT_NUM=:PRINT_NUM,");
strSql.Append("PRINT_DATE=:PRINT_DATE,");
strSql.Append("TYPE=:TYPE,");
strSql.Append("NOTICE_ID=:NOTICE_ID,");
strSql.Append("STO_ID=:STO_ID,");
strSql.Append("REMARK=:REMARK,");
strSql.Append("STO_NUM_SUM=nvl(STO_NUM_SUM,0)+:STO_NUM_SUM,");
strSql.Append("BUY_NUM_SUM=:BUY_NUM_SUM,");
strSql.Append("SHELVE_NUM_SUM=:SHELVE_NUM_SUM,");
strSql.Append("ACC_NUM_SUM=:ACC_NUM_SUM,");
strSql.Append("ARR_NUM_SUM=:ARR_NUM_SUM,");
strSql.Append("PROVIDER_ID=:PROVIDER_ID,");
strSql.Append("OPERATORID=:OPERATORID,");
strSql.Append("OPERATEDATE=:OPERATEDATE,");
strSql.Append("ACC_MAN=:ACC_MAN,");
strSql.Append("STATUS=:STATUS,");
strSql.Append("AREA_ID=:AREA_ID,");
strSql.Append("ACC_ID=:ACC_ID,");
strSql.Append("ORI_BILL=:ORI_BILL");
strSql.Append(" where LOT_ID=:LOT_ID ");
strSql.Clear();
}
foreach (StorageLotInfoModel infoModel in infoModelList)
{
strSql.Append("update T_RK_STORAGE_LOT_INFO set ");
strSql.Append("TRAY_ID=:TRAY_ID,");
strSql.Append("LOT_VOLUME=:LOT_VOLUME,");
strSql.Append("GRO_WEIGHT=:GRO_WEIGHT,");
strSql.Append("NET_WEIGHT=:NET_WEIGHT,");
strSql.Append("LOT_MONEY=:LOT_MONEY,");
strSql.Append("BUY_NUM=:BUY_NUM,");
strSql.Append("STO_NUM=:STO_NUM,");
strSql.Append("MADE_DATE=:MADE_DATE,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("VOLUME_UNIT=:VOLUME_UNIT,");
strSql.Append("ACC_NUM=:ACC_NUM,");
strSql.Append("ARR_NUM=:ARR_NUM,");
strSql.Append("OPERATORID=:OPERATORID,");
strSql.Append("OPERATEDATE=:OPERATEDATE,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("SCALE_UNIT=:SCALE_UNIT");
strSql.Append(" where LOT_ID=:LOT_ID and GOODS_ID=:GOODS_ID and AREA_ID=:AREA_ID and STORAGE_ID=:STORAGE_ID");
}
if (!string.IsNullOrEmpty(model.NOTICE_ID))
{
strSql.Append("update T_RK_WARE_NOTICE set ");
strSql.Append("WARE_COUNT=nvl(WARE_COUNT,0)+:WARE_COUNT,");
strSql.Append("WARE_DATE=:WARE_DATE");
strSql.Append(" where WAREHOUSING_ID=:WAREHOUSING_ID ");
}
if (!string.IsNullOrEmpty(model.RECE_ID))
{
strSql.Append("update T_RK_RECEIVING set ");
strSql.Append("STO_NUM_SUM=nvl(STO_NUM_SUM,0)+:STO_NUM_SUM");
strSql.Append(" where RECE_ID=:RECE_ID ");
}
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 作废收货录入数据
/// </summary>
/// <param name="RECE_ID">入库单model</param>
/// <returns></returns>
public void Cancel(StorageLotModel model)
{
StringBuilder strSql = new StringBuilder();
List<string> sqlList = new List<string>();
List<OracleParameter[]> paraList = new List<OracleParameter[]>();
if (!string.IsNullOrEmpty(model.LOT_ID))
{
strSql.Append("update T_RK_STORAGE_LOT set ");
strSql.Append("STATUS=:STATUS");
strSql.Append(" where LOT_ID=:LOT_ID ");
OracleParameter[] parameters = {
new OracleParameter(":STATUS",OracleDbType.Varchar2),
new OracleParameter(":LOT_ID",OracleDbType.Varchar2),
};
parameters[0].Value = "-1";
parameters[1].Value = model.LOT_ID;
sqlList.Add(strSql.ToString());
paraList.Add(parameters);
strSql.Clear();
}
if (!string.IsNullOrEmpty(model.NOTICE_ID))
{
strSql.Append("update T_RK_WARE_NOTICE set ");
strSql.Append("WARE_COUNT=ISNULL(WARE_COUNT,0)-:WARE_COUNT,");
strSql.Append("WARE_DATE=:WARE_DATE");
strSql.Append(" where WAREHOUSING_ID=:WAREHOUSING_ID ");
OracleParameter[] noParameters = {
new OracleParameter(":WARE_COUNT", OracleDbType.Decimal),
new OracleParameter(":WARE_DATE", OracleDbType.Date),
new OracleParameter(":WAREHOUSING_ID",OracleDbType.Varchar2)
};
noParameters[0].Value = model.STO_NUM_SUM;
noParameters[1].Value = DateTime.Now.ToString();//Convert.ToDateTime("0001-01-01");
noParameters[2].Value = model.NOTICE_ID;
sqlList.Add(strSql.ToString());
paraList.Add(noParameters);
strSql.Clear();
}
if (!string.IsNullOrEmpty(model.RECE_ID))
{
strSql.Append("update T_RK_RECEIVING set ");
strSql.Append("STO_NUM_SUM=ISNULL(STO_NUM_SUM,0)-:STO_NUM_SUM");
strSql.Append(" where RECE_ID=:RECE_ID ");
OracleParameter[] reParameters = {
new OracleParameter(":STO_NUM_SUM", OracleDbType.Decimal),
new OracleParameter(":RECE_ID",OracleDbType.Varchar2)
};
reParameters[0].Value = model.STO_NUM_SUM;
reParameters[1].Value = model.RECE_ID;
sqlList.Add(strSql.ToString());
paraList.Add(reParameters);
strSql.Clear();
}
SystemDataObject.Instance.ExecuteList(sqlList, paraList);
}
/// <summary>
/// 删除收货录入数据
/// </summary>
/// <param name="model">model</param>
/// <param name="listModel">明细</param>
/// <param name="flag">联动删除</param>
/// <returns></returns>
public void Delete(StorageLotModel model, List<StorageLotInfoModel> listModel, bool flag)
{
StringBuilder strSql = new StringBuilder();
List<string> sqlList = new List<string>();
List<OracleParameter[]> paraList = new List<OracleParameter[]>();
foreach (StorageLotInfoModel infomodel in listModel)
{
strSql.Append("delete from T_RK_STORAGE_LOT_INFO ");
strSql.Append(" where LOT_ID=:LOT_ID and GOODS_ID=:GOODS_ID and AREA_ID=:AREA_ID and STORAGE_ID=:STORAGE_ID");
}
if (flag)
{
strSql.Append("delete from T_RK_STORAGE_LOT ");
strSql.Append(" where LOT_ID=:LOT_ID ");
OracleParameter[] parameters = {
new OracleParameter(":LOT_ID",OracleDbType.Varchar2) };
parameters[0].Value = model.LOT_ID;
sqlList.Add(strSql.ToString());
paraList.Add(parameters);
strSql.Clear();
}
if (!string.IsNullOrEmpty(model.NOTICE_ID))
{
strSql.Append("update T_RK_WARE_NOTICE set ");
strSql.Append("WARE_COUNT=nvl(WARE_COUNT,0)-:WARE_COUNT,");
strSql.Append("WARE_DATE=:WARE_DATE");
strSql.Append(" where WAREHOUSING_ID=:WAREHOUSING_ID ");
}
if (!string.IsNullOrEmpty(model.RECE_ID))
{
strSql.Append("update T_RK_RECEIVING set ");
strSql.Append("STO_NUM_SUM=nvl(STO_NUM_SUM,0)-:STO_NUM_SUM");
strSql.Append(" where RECE_ID=:RECE_ID ");
}
SystemDataObject.Instance.ExecuteList(sqlList, paraList);
}
public void SetDocStatus(string status,string lotId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append(" delete from T_RK_STORAGE_LOT where LOT_ID='" + lotId + "' ");
SystemDataObject.Instance.ExecuteSql(strSql.ToString());
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataTable GetStorageList(StorageLotModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select t.LOT_ID,");
strSql.Append("t.RECE_ID,");
strSql.Append("t.RECE_MAN,");
strSql.Append("a.NAME RECE_MAN_NAME,");
strSql.Append("t.RECE_DATE,");
strSql.Append("t.PRINT_MAN,");
strSql.Append("b.NAME PRINT_MAN_NAME,");
strSql.Append("t.PRINT_NUM,");
strSql.Append("t.PRINT_DATE,");
strSql.Append("t.TYPE,");
strSql.Append("t.NOTICE_ID,");
strSql.Append("t.STO_ID,");
strSql.Append("f.storage_name STO_NAME,");
strSql.Append("t.REMARK,");
strSql.Append("t.STO_NUM_SUM,");
strSql.Append("t.BUY_NUM_SUM,");
strSql.Append("t.SHELVE_NUM_SUM,");
strSql.Append("t.ACC_NUM_SUM,");
strSql.Append("t.ARR_NUM_SUM,");
strSql.Append("t.PROVIDER_ID,");
strSql.Append("case t.TYPE when '1' then m.customer_name when '5' then m.customer_name else c.provider_name end PROVIDER_NAME,");
strSql.Append("t.OPERATORID,");
strSql.Append("d.NAME OPERATORNAME,");
strSql.Append("t.OPERATEDATE,");
strSql.Append("t.ACC_MAN,");
strSql.Append("e.NAME ACC_MAN_NAME,");
strSql.Append("t.STATUS,");
strSql.Append("t.ACC_ID,");
strSql.Append("t.AREA_ID,");
strSql.Append("g.STORAGE_AREA_NAME AREA_NAME,");
strSql.Append("t.ORI_BILL");
strSql.Append(" from T_RK_STORAGE_LOT t");
strSql.Append(" LEFT JOIN T_BASE_USERINFO a ON a.USER_ID = t.RECE_MAN");
strSql.Append(" LEFT JOIN T_BASE_USERINFO b ON b.USER_ID = t.PRINT_MAN");
strSql.Append(" LEFT JOIN T_BASE_PROVIDER_DICTIONARY c ON t.PROVIDER_ID = c.PROVIDER_ID");
strSql.Append(" LEFT JOIN T_BASE_USERINFO d ON d.USER_ID = t.OPERATORID");
strSql.Append(" LEFT JOIN T_BASE_USERINFO e ON e.USER_ID = t.ACC_MAN");
strSql.Append(" left join t_base_storage_area g on t.AREA_ID = g.STORAGE_AREA_ID");
strSql.Append(" left join t_base_storageinfo f on t.STO_ID = f.storage_id");
strSql.Append(" left join t_cus_customer m on t.provider_id = m.customer_id");
strSql.Append(" where 1=1 ");
//if (!string.IsNullOrEmpty(model.STATUS))
//{
strSql.Append(" and t.STATUS='0' ");
//}
if (!string.IsNullOrEmpty(model.LOT_ID))
{
strSql.Append(" and t.LOT_ID like '%" + model.LOT_ID + "%'");
}
if (!string.IsNullOrEmpty(model.RECE_MAN))
{
strSql.Append(" and t.RECE_MAN='" + model.RECE_MAN + "' ");
}
if (!string.IsNullOrEmpty(model.PRINT_MAN))
{
strSql.Append(" and t.PRINT_MAN='" + model.PRINT_MAN + "' ");
}
if (!string.IsNullOrEmpty(model.STO_ID))
{
strSql.Append(" and t.STO_ID='" + model.STO_ID + "' ");
}
if (!string.IsNullOrEmpty(model.RECE_ID))
{
strSql.Append(" and t.RECE_ID='" + model.RECE_ID + "' ");
}
if (!string.IsNullOrEmpty(model.PROVIDER_ID))
{
strSql.Append(" and t.PROVIDER_ID='" + model.PROVIDER_ID + "' ");
}
if (model.TIMESTART > DateTime.Parse("1900-01-01") && model.TIMEEND> DateTime.Parse("1900-01-01"))
{
strSql.Append(" and t.RECE_DATE between CONVERT(varchar(100), '"+ model.TIMESTART.ToString("yyyy/MM/dd") + "', 111) and CONVERT(varchar(100), '" + model.TIMEEND.AddDays(1).ToString("yyyy/MM/dd") + "', 111)");
}
strSql.Append(" order by RECE_DATE desc");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataTable GetInfoList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select t.LOT_ID,");
strSql.Append("t.GOODS_ID,");
strSql.Append("a.GOODS_NAME GOODS_NAME,");
strSql.Append("t.TRAY_ID,");
strSql.Append("t.LOT_VOLUME,");
strSql.Append("t.GRO_WEIGHT,");
strSql.Append("t.NET_WEIGHT,");
strSql.Append("t.LOT_MONEY,");
strSql.Append("t.BUY_NUM,");
strSql.Append("t.STO_NUM,");
strSql.Append("t.MADE_DATE,");
strSql.Append("t.UNIT,");
strSql.Append("t.VOLUME_UNIT,");
strSql.Append("t.ACC_NUM,");
strSql.Append("t.ARR_NUM,");
strSql.Append("t.OPERATORID,");
strSql.Append("b.NAME OPERATORNAME,");
strSql.Append("t.OPERATEDATE,");
strSql.Append("t.PRICE,");
strSql.Append("t.SCALE_UNIT,");
strSql.Append("t.AREA_ID,");
strSql.Append("d.storage_area_name AREA_NAME,");
strSql.Append("t.STORAGE_ID,");
strSql.Append("f.STORAGE_NAME STORAGE_NAME");
strSql.Append(" FROM T_RK_STORAGE_LOT_INFO t");
strSql.Append(" LEFT JOIN T_BASE_GOODS a ON a.GOODS_ID = t.GOODS_ID");
strSql.Append(" LEFT JOIN T_BASE_USERINFO b ON b.USER_ID = t.OPERATORID");
strSql.Append(" left join t_base_storage_area d on t.AREA_ID = d.storage_area_id ");
strSql.Append(" left join t_base_storageinfo f on t.STORAGE_ID = f.storage_id");
if (strWhere.Trim() != "" && strWhere != "all")
{
strSql.Append(" where LOT_ID='" + strWhere + "'");
}
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 获得数据列表
/// </summary>
public DataTable GetStorageInfoList(StorageLotInfoModel model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select t.LOT_ID,");
strSql.Append("t.GOODS_ID,");
strSql.Append("a.GOODS_NAME GOODS_NAME,");
strSql.Append("t.TRAY_ID,");
strSql.Append("t.LOT_VOLUME,");
strSql.Append("t.GRO_WEIGHT,");
strSql.Append("t.NET_WEIGHT,");
strSql.Append("t.LOT_MONEY,");
strSql.Append("t.BUY_NUM,");
strSql.Append("t.STO_NUM,");
strSql.Append("t.MADE_DATE,");
strSql.Append("t.UNIT,");
strSql.Append("t.VOLUME_UNIT,");
strSql.Append("t.ACC_NUM,");
strSql.Append("t.ARR_NUM,");
strSql.Append("t.OPERATORID,");
strSql.Append("b.NAME OPERATORNAME,");
strSql.Append("t.OPERATEDATE,");
strSql.Append("t.PRICE,");
strSql.Append("t.SCALE_UNIT,");
strSql.Append("t.AREA_ID");
strSql.Append(" FROM T_RK_STORAGE_LOT_INFO t");
strSql.Append(" LEFT JOIN T_BASE_GOODS a ON a.GOODS_ID = t.GOODS_ID");
strSql.Append(" LEFT JOIN T_BASE_USERINFO b ON b.USER_ID = t.OPERATORID");
strSql.Append(" where 1=1 ");
if (!string.IsNullOrEmpty(model.LOT_ID))
{
strSql.Append(" and t.LOT_ID='" + model.LOT_ID + "'");
}
if (!string.IsNullOrEmpty(model.GOODS_ID))
{
strSql.Append(" and t.GOODS_ID='" + model.GOODS_ID + "'");
}
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
/// <summary>
/// 获取入库的状态
/// </summary>
/// <returns></returns>
public DataTable GetLotStatusFinish(string flag, string area_id )
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select t.LOT_ID,");
strSql.Append("t.RECE_ID,");
strSql.Append("t.RECE_MAN,");
strSql.Append("a.NAME RECE_MAN_NAME,");
strSql.Append("t.RECE_DATE,");
strSql.Append("t.PRINT_MAN,");
strSql.Append("b.NAME PRINT_MAN_NAME,");
strSql.Append("t.PRINT_NUM,");
strSql.Append("t.PRINT_DATE,");
strSql.Append("t.TYPE,");
strSql.Append("t.NOTICE_ID,");
strSql.Append("t.STO_ID,");
strSql.Append("f.storage_name STO_NAME,");
strSql.Append("t.REMARK,");
strSql.Append("t.STO_NUM_SUM,");
strSql.Append("t.BUY_NUM_SUM,");
strSql.Append("t.SHELVE_NUM_SUM,");
strSql.Append("t.ACC_NUM_SUM,");
strSql.Append("t.ARR_NUM_SUM,");
strSql.Append("t.PROVIDER_ID,");
strSql.Append("c.PROVIDER_NAME PROVIDER_NAME,");
strSql.Append("t.OPERATORID,");
strSql.Append("d.NAME OPERATORNAME,");
strSql.Append("t.OPERATEDATE,");
strSql.Append("t.ACC_MAN,");
strSql.Append("e.NAME ACC_MAN_NAME,");
strSql.Append("t.STATUS,");
strSql.Append("t.AREA_ID,");
strSql.Append("g.STORAGE_AREA_NAME AREA_NAME,");
strSql.Append("t.ACC_ID,");
strSql.Append("z.upgoods_id,");
strSql.Append("t.ORI_BILL");
strSql.Append(" from T_RK_STORAGE_LOT t");
strSql.Append(" LEFT JOIN T_BASE_USERINFO a ON a.USER_ID = t.RECE_MAN");
strSql.Append(" LEFT JOIN T_BASE_USERINFO b ON b.USER_ID = t.PRINT_MAN");
strSql.Append(" LEFT JOIN T_BASE_PROVIDER_DICTIONARY c ON t.PROVIDER_ID = c.PROVIDER_ID");
strSql.Append(" LEFT JOIN T_BASE_USERINFO d ON d.USER_ID = t.OPERATORID");
strSql.Append(" LEFT JOIN T_BASE_USERINFO e ON e.USER_ID = t.ACC_MAN");
strSql.Append(" left join t_base_storageinfo f on t.STO_ID = f.storage_id");
strSql.Append(" left join t_base_storage_area g on t.AREA_ID = g.STORAGE_AREA_ID");
strSql.Append(" left join T_UPSHELF z on t.Lot_id = z.Lot_id and z.status=0");
if (flag == "1")
{
strSql.Append(" where t.status='0' and ( acc_man is not null or acc_man != '') and t.AREA_ID='" + area_id + "'");
}
else
{
strSql.Append(" where (t.status='0' or t.status='1') ");
}
strSql.Append(" order by RECE_DATE desc ");
return SystemDataObject.Instance.GetDataTable(strSql.ToString());
}
///// <summary>
///// 获取流水号
///// </summary>
///// <returns></returns>
//public string GetSerialNum()
//{
// StringBuilder strSql = new StringBuilder();
// strSql.Append("select seq_rk_storagelot.nextval from dual");
// DataSet ds = OracleHelper.ExecuteDataset(CommandType.Text, strSql.ToString());
// return ds.Tables[0].Rows[0][0].ToString();
//}
/// <summary>
/// 更新入库批次明细
/// </summary>
/// <param name="upmenu"></param>
/// <param name="upFuc"></param>
/// <param name="insertFuc"></param>
/// <param name="delFuc"></param>
/// <returns></returns>
public void newStorageLotInfoFuc(List<StorageLotInfoModel> upFuc, List<StorageLotInfoModel> insertFuc, List<StorageLotInfoModel> delFuc)
{
List<string> sqlList = new List<string>();
List<OracleParameter[]> paraList = new List<OracleParameter[]>();
StringBuilder strSql = new StringBuilder();
//菜单功能删除
if (delFuc.Count > 0)
{
foreach (StorageLotInfoModel infomodel in delFuc)
{
strSql.Append("delete from T_RK_STORAGE_LOT_INFO ");
strSql.Append(" where LOT_ID=:LOT_ID and GOODS_ID=:GOODS_ID");
}
}
//菜单功能更改
if (upFuc.Count > 0)
{
foreach (StorageLotInfoModel infoModel in upFuc)
{
strSql.Append("update T_RK_STORAGE_LOT_INFO set ");
strSql.Append("TRAY_ID=:TRAY_ID,");
strSql.Append("LOT_VOLUME=:LOT_VOLUME,");
strSql.Append("GRO_WEIGHT=:GRO_WEIGHT,");
strSql.Append("NET_WEIGHT=:NET_WEIGHT,");
strSql.Append("LOT_MONEY=:LOT_MONEY,");
strSql.Append("BUY_NUM=:BUY_NUM,");
strSql.Append("STO_NUM=:STO_NUM,");
strSql.Append("MADE_DATE=:MADE_DATE,");
strSql.Append("UNIT=:UNIT,");
strSql.Append("VOLUME_UNIT=:VOLUME_UNIT,");
strSql.Append("ACC_NUM=:ACC_NUM,");
strSql.Append("ARR_NUM=:ARR_NUM,");
strSql.Append("OPERATORID=:OPERATORID,");
strSql.Append("OPERATEDATE=:OPERATEDATE,");
strSql.Append("PRICE=:PRICE,");
strSql.Append("SCALE_UNIT=:SCALE_UNIT");
strSql.Append(" where LOT_ID=:LOT_ID and GOODS_ID=:GOODS_ID and AREA_ID=:AREA_ID");
}
}
//菜单功能添加
if (insertFuc.Count > 0)
{
foreach (StorageLotInfoModel infoModel in insertFuc)
{
strSql.Append("insert into T_RK_STORAGE_LOT_INFO(");
strSql.Append("LOT_ID,GOODS_ID,TRAY_ID,LOT_VOLUME,GRO_WEIGHT,NET_WEIGHT,LOT_MONEY,BUY_NUM,STO_NUM,MADE_DATE,UNIT,VOLUME_UNIT,ACC_NUM,ARR_NUM,OPERATORID,OPERATEDATE,PRICE,SCALE_UNIT,AREA_ID,STORAGE_ID)");
strSql.Append(" values (");
strSql.Append(":LOT_ID,:GOODS_ID,:TRAY_ID,:LOT_VOLUME,:GRO_WEIGHT,:NET_WEIGHT,:LOT_MONEY,:BUY_NUM,:STO_NUM,:MADE_DATE,:UNIT,:VOLUME_UNIT,:ACC_NUM,:ARR_NUM,:OPERATORID,:OPERATEDATE,:PRICE,:SCALE_UNIT,:AREA_ID,:STORAGE_ID)");
}
}
SystemDataObject.Instance.ExecuteList(sqlList, paraList);
}
}
}