using HanHe.Utility.Data;
using HH.WMS.Common;
using HH.WMS.DAL.Check;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Common;
using HH.WMS.Entitys.MoveStock;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.OracleClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HH.WMS.DAL.MoveStock
{
public class TN_WM_MOVE_MSTDAL : DapperBaseDAL
{
#region 获取分页列表
///
/// 获取分页列表
///
///
///
/// [HanHe(lt)] CREATED 2018/9/6
public DataTable GetDataTable(dynamic obj)
{
DbCommand cmd = DataAccess.GetStoredProcCommand("prc_query");
this.DataAccess.AddInParameter(cmd, "TableName", ComDbType.CHAR, "TN_WM_MOVE_MST");
this.DataAccess.AddInParameter(cmd, "WhereStr", ComDbType.CHAR, obj.sqlWhere);
this.DataAccess.AddInParameter(cmd, "OrderByStr", ComDbType.CHAR, obj.OrdeBy);
this.DataAccess.AddInParameter(cmd, "PageSize", ComDbType.INT, obj.pageSize);
this.DataAccess.AddInParameter(cmd, "PageIndex", ComDbType.INT, obj.pageIndex);
this.DataAccess.AddOutParameter(cmd, "TotalPage", ComDbType.INT, 4);
this.DataAccess.AddOutParameter(cmd, "TotalRecord", ComDbType.INT, 4);
//如果是oracle 增加特性
if (!string.IsNullOrEmpty(Now_dbType) && Now_dbType.Equals("ORACLE"))
{
//处理游标类型 因DbType无游标类型,游标类型单独处理
ComDbType.AddOrcOutParameter(cmd, "v_cur", OracleType.Cursor);
}
try
{
//获得列表
DataTable dt = DataAccessExtensive.ExecuteDataTable(this.DataAccess, cmd);
obj.PageCount = Convert.ToInt32(this.DataAccess.GetParameterValue(cmd, "TotalRecord"));
return dt;
}
catch (Exception)
{
throw;
}
}
///
/// 获取分页列表
///
///
///
/// [HanHe(lt)] CREATED 2018/9/6
public DataTable GetDataTable(string sqlWhere, string OrdeBy, int pageSize, int pageIndex)
{
DbCommand cmd = DataAccess.GetStoredProcCommand("prc_query");
this.DataAccess.AddInParameter(cmd, "TableName", ComDbType.CHAR, "TN_WM_MOVE_MST");
this.DataAccess.AddInParameter(cmd, "WhereStr", ComDbType.CHAR, sqlWhere);
this.DataAccess.AddInParameter(cmd, "OrderByStr", ComDbType.CHAR, OrdeBy);
this.DataAccess.AddInParameter(cmd, "PageSize", ComDbType.INT, pageSize);
this.DataAccess.AddInParameter(cmd, "PageIndex", ComDbType.INT, pageIndex);
this.DataAccess.AddOutParameter(cmd, "TotalPage", ComDbType.INT, 4);
this.DataAccess.AddOutParameter(cmd, "TotalRecord", ComDbType.INT, 4);
//如果是oracle 增加特性
if (!string.IsNullOrEmpty(Now_dbType) && Now_dbType.Equals("ORACLE"))
{
//处理游标类型 因DbType无游标类型,游标类型单独处理
ComDbType.AddOrcOutParameter(cmd, "v_cur", OracleType.Cursor);
}
try
{
//获得列表
DataTable dt = DataAccessExtensive.ExecuteDataTable(this.DataAccess, cmd);
//obj.PageCount = Convert.ToInt32(this.DataAccess.GetParameterValue(cmd, "TotalRecord"));
return dt;
}
catch (Exception)
{
throw;
}
}
#endregion
#region 新增
///
/// 增加一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult Add(TN_WM_MOVE_MSTEntity entity, DbTransaction trans)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into TN_WM_MOVE_MST(");
strSql.Append("CN_S_OP_NO,CN_S_OP_MODE,CN_S_STOCK_CODE,CN_S_START_AREA,CN_S_END_AREA,CN_S_OP_TYPE,CN_T_OP_DATE,CN_S_STATE,CN_S_NOTE,CN_S_OPREATOR,CN_S_OP_FROM,CN_S_FROM_NO,CN_S_CREATOR,CN_S_CREATOR_BY,CN_T_CREATE,CN_S_MODIFY,CN_S_MODIFY_BY,CN_T_MODIFY)");
strSql.Append(" values (");
strSql.Append(":CN_S_OP_NO,:CN_S_OP_MODE,:CN_S_STOCK_CODE,:CN_S_START_AREA,:CN_S_END_AREA,:CN_S_OP_TYPE,:CN_T_OP_DATE,:CN_S_STATE,:CN_S_NOTE,:CN_S_OPREATOR,:CN_S_OP_FROM,:CN_S_FROM_NO,:CN_S_CREATOR,:CN_S_CREATOR_BY,:CN_T_CREATE,:CN_S_MODIFY,:CN_S_MODIFY_BY,:CN_T_MODIFY)");
DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString());
DataAccess.AddInParameter(cmd, "CN_S_OP_NO", ComDbType.STRING, entity.CN_S_OP_NO);
DataAccess.AddInParameter(cmd, "CN_S_OP_MODE", ComDbType.STRING, entity.CN_S_OP_MODE);
DataAccess.AddInParameter(cmd, "CN_S_STOCK_CODE", ComDbType.STRING, entity.CN_S_STOCK_CODE);
DataAccess.AddInParameter(cmd, "CN_S_START_AREA", ComDbType.STRING, entity.CN_S_START_AREA);
DataAccess.AddInParameter(cmd, "CN_S_END_AREA", ComDbType.STRING, entity.CN_S_END_AREA);
DataAccess.AddInParameter(cmd, "CN_S_OP_TYPE", ComDbType.STRING, entity.CN_S_OP_TYPE);
DataAccess.AddInParameter(cmd, "CN_T_OP_DATE", ComDbType.DATE, entity.CN_T_OP_DATE);
DataAccess.AddInParameter(cmd, "CN_S_OPREATOR", ComDbType.STRING, entity.CN_S_OPREATOR);
DataAccess.AddInParameter(cmd, "CN_S_OP_FROM", ComDbType.STRING, entity.CN_S_OP_FROM);
DataAccess.AddInParameter(cmd, "CN_S_FROM_NO", ComDbType.STRING, entity.CN_S_FROM_NO);
DataAccess.AddInParameter(cmd, "CN_S_STATE", ComDbType.STRING, entity.CN_S_STATE);
DataAccess.AddInParameter(cmd, "CN_S_NOTE", ComDbType.STRING, entity.CN_S_NOTE);
DataAccess.AddInParameter(cmd, "CN_S_CREATOR", ComDbType.STRING, entity.CN_S_CREATOR);
DataAccess.AddInParameter(cmd, "CN_S_CREATOR_BY", ComDbType.STRING, entity.CN_S_CREATOR_BY);
DataAccess.AddInParameter(cmd, "CN_T_CREATE", ComDbType.DATE, entity.CN_T_CREATE);
DataAccess.AddInParameter(cmd, "CN_S_MODIFY", ComDbType.STRING, entity.CN_S_MODIFY);
DataAccess.AddInParameter(cmd, "CN_S_MODIFY_BY", ComDbType.STRING, entity.CN_S_MODIFY_BY);
DataAccess.AddInParameter(cmd, "CN_T_MODIFY", ComDbType.DATE, entity.CN_T_MODIFY);
return ExecuteCommand(cmd, trans);
}
#endregion
#region 修改
///
/// 更新一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult Update(TN_WM_MOVE_MSTEntity entity, DbTransaction trans)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update TN_WM_MOVE_MST set ");
strSql.Append("CN_S_OP_MODE=:CN_S_OP_MODE,");
strSql.Append("CN_S_STOCK_CODE=:CN_S_STOCK_CODE,");
strSql.Append("CN_S_START_AREA=:CN_S_START_AREA,");
strSql.Append("CN_S_END_AREA=:CN_S_END_AREA,");
strSql.Append("CN_S_OP_TYPE=:CN_S_OP_TYPE,");
strSql.Append("CN_T_OP_DATE=:CN_T_OP_DATE,");
strSql.Append("CN_S_STATE=:CN_S_STATE,");
strSql.Append("CN_S_NOTE=:CN_S_NOTE,");
strSql.Append("CN_S_OPREATOR=:CN_S_OPREATOR,");
strSql.Append("CN_S_OP_FROM=:CN_S_OP_FROM,");
strSql.Append("CN_S_FROM_NO=:CN_S_FROM_NO,");
strSql.Append("CN_S_CREATOR=:CN_S_CREATOR,");
strSql.Append("CN_S_CREATOR_BY=:CN_S_CREATOR_BY,");
strSql.Append("CN_T_CREATE=:CN_T_CREATE,");
strSql.Append("CN_S_MODIFY=:CN_S_MODIFY,");
strSql.Append("CN_S_MODIFY_BY=:CN_S_MODIFY_BY,");
strSql.Append("CN_T_MODIFY=:CN_T_MODIFY");
strSql.Append(" where CN_S_OP_NO=:CN_S_OP_NO");
DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString());
DataAccess.AddInParameter(cmd, "CN_S_OP_NO", ComDbType.STRING, entity.CN_S_OP_NO);
DataAccess.AddInParameter(cmd, "CN_S_OP_MODE", ComDbType.STRING, entity.CN_S_OP_MODE);
DataAccess.AddInParameter(cmd, "CN_S_STOCK_CODE", ComDbType.STRING, entity.CN_S_STOCK_CODE);
DataAccess.AddInParameter(cmd, "CN_S_START_AREA", ComDbType.STRING, entity.CN_S_START_AREA);
DataAccess.AddInParameter(cmd, "CN_S_END_AREA", ComDbType.STRING, entity.CN_S_END_AREA);
DataAccess.AddInParameter(cmd, "CN_S_OP_TYPE", ComDbType.STRING, entity.CN_S_OP_TYPE);
DataAccess.AddInParameter(cmd, "CN_T_OP_DATE", ComDbType.DATE, entity.CN_T_OP_DATE);
DataAccess.AddInParameter(cmd, "CN_S_OPREATOR", ComDbType.STRING, entity.CN_S_OPREATOR);
DataAccess.AddInParameter(cmd, "CN_S_OP_FROM", ComDbType.STRING, entity.CN_S_OP_FROM);
DataAccess.AddInParameter(cmd, "CN_S_FROM_NO", ComDbType.STRING, entity.CN_S_FROM_NO);
DataAccess.AddInParameter(cmd, "CN_S_STATE", ComDbType.STRING, entity.CN_S_STATE);
DataAccess.AddInParameter(cmd, "CN_S_NOTE", ComDbType.STRING, entity.CN_S_NOTE);
DataAccess.AddInParameter(cmd, "CN_S_CREATOR", ComDbType.STRING, entity.CN_S_CREATOR);
DataAccess.AddInParameter(cmd, "CN_S_CREATOR_BY", ComDbType.STRING, entity.CN_S_CREATOR_BY);
DataAccess.AddInParameter(cmd, "CN_T_CREATE", ComDbType.DATE, entity.CN_T_CREATE);
DataAccess.AddInParameter(cmd, "CN_S_MODIFY", ComDbType.STRING, entity.CN_S_MODIFY);
DataAccess.AddInParameter(cmd, "CN_S_MODIFY_BY", ComDbType.STRING, entity.CN_S_MODIFY_BY);
DataAccess.AddInParameter(cmd, "CN_T_MODIFY", ComDbType.DATE, entity.CN_T_MODIFY);
return ExecuteCommand(cmd, trans);
}
///
/// 更新一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult UpdateDtl(TN_WM_MOVE_MSTEntity entity, DbTransaction trans)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update TN_WM_MOVE_MST set ");
strSql.Append("CN_S_OP_MODE=:CN_S_OP_MODE,");
strSql.Append("CN_S_STOCK_CODE=:CN_S_STOCK_CODE,");
strSql.Append("CN_S_START_AREA=:CN_S_START_AREA,");
strSql.Append("CN_S_END_AREA=:CN_S_END_AREA,");
strSql.Append("CN_S_OP_TYPE=:CN_S_OP_TYPE,"); ;
strSql.Append("CN_S_STATE=:CN_S_STATE,");
strSql.Append("CN_S_NOTE=:CN_S_NOTE,");
strSql.Append("CN_S_MODIFY=:CN_S_MODIFY,");
strSql.Append("CN_S_MODIFY_BY=:CN_S_MODIFY_BY,");
strSql.Append("CN_T_MODIFY=:CN_T_MODIFY");
strSql.Append(" where CN_S_OP_NO=:CN_S_OP_NO");
DbCommand cmd = DataAccess.GetSqlStringCommand(strSql.ToString());
DataAccess.AddInParameter(cmd, "CN_S_OP_NO", ComDbType.STRING, entity.CN_S_OP_NO);
DataAccess.AddInParameter(cmd, "CN_S_OP_MODE", ComDbType.STRING, entity.CN_S_OP_MODE);
DataAccess.AddInParameter(cmd, "CN_S_STOCK_CODE", ComDbType.STRING, entity.CN_S_STOCK_CODE);
DataAccess.AddInParameter(cmd, "CN_S_START_AREA", ComDbType.STRING, entity.CN_S_START_AREA);
DataAccess.AddInParameter(cmd, "CN_S_END_AREA", ComDbType.STRING, entity.CN_S_END_AREA);
DataAccess.AddInParameter(cmd, "CN_S_OP_TYPE", ComDbType.STRING, entity.CN_S_OP_TYPE);
DataAccess.AddInParameter(cmd, "CN_S_STATE", ComDbType.STRING, entity.CN_S_STATE);
DataAccess.AddInParameter(cmd, "CN_S_NOTE", ComDbType.STRING, entity.CN_S_NOTE);
DataAccess.AddInParameter(cmd, "CN_S_MODIFY", ComDbType.STRING, entity.CN_S_MODIFY);
DataAccess.AddInParameter(cmd, "CN_S_MODIFY_BY", ComDbType.STRING, entity.CN_S_MODIFY_BY);
DataAccess.AddInParameter(cmd, "CN_T_MODIFY", ComDbType.DATE, entity.CN_T_MODIFY);
return ExecuteCommand(cmd, trans);
}
#endregion
#region 删除
///
/// 删除一条数据
///
/// [HanHe(lt)] CREATED 2018/9/6
public SqlExecuteResult Delete(string sqlwhere, DbTransaction trans)
{
string sql = "DELETE FROM TN_WM_MOVE_MST {0}";
sql = string.Format(sql, sqlwhere);
DbCommand cmd = DataAccess.GetSqlStringCommand(sql);
return ExecuteCommand(cmd, trans);
}
#endregion
#region 查询移库业务主表
///
/// 查询移库业务主表
///
/// 查询条件
///
/// [HanHe(lt)] CREATED 2018/9/6
public DataTable Getentity(string sqlwhere)
{
string sql = "SELECT * FROM TN_WM_MOVE_MST WHERE 1=1 {0}";
sql = string.Format(sql, sqlwhere);
DbCommand cmd = DataAccess.GetSqlStringCommand(sql);
return DataAccessExtensive.ExecuteDataTable(this.DataAccess, cmd);
}
#endregion
#region 获取货位物料信息
///
/// 获取货位物料信息
///
/// 查询条件
///
/// [HanHe(lt)] CREATED 2018/7/12
public DataTable GetTrayLocation(dynamic obj)
{
var type = obj.type;
var sql = "";
////获取策略 判断是否要审核
//string sysConfig = SysConfig.GetValue(Constants.CL_IsAllowMixing);
if (type == "货位盘点")
{
sql = @"(SELECT a.CN_S_STOCK_CODE,a.CN_S_STOCK_AREA,a.CN_S_LOCATION_CODE,b.CN_S_ITEM_CODE,b.CN_S_ITEM_NAME,CN_S_ITEM_STATE,b.CN_S_OWNER,b.CN_S_MODEL,b.CN_S_FIGURE_NO,ISNULL(CAST(SUM(c.CN_F_QUANTITY) AS INT),0) AS CN_F_QUANTITY, CN_S_MEASURE_UNIT,c.CN_S_LOT_NO AS CN_S_LOT_CODE FROM dbo.tn_wm_b_tray_location AS a INNER JOIN TN_WM_B_TRAY_ITEM_MST AS b ON a.CN_S_TRAY_CODE=b.CN_S_TRAY_CODE
INNER JOIN dbo.TN_WM_B_TRAY_ITEM_DTL AS c ON b.CN_GUID=c.CN_PARENT_GUID GROUP BY a.CN_S_STOCK_CODE,a.CN_S_STOCK_AREA,a.CN_S_LOCATION_CODE,b.CN_S_ITEM_CODE,b.CN_S_ITEM_NAME,CN_S_ITEM_STATE,b.CN_S_OWNER,b.CN_S_MODEL,b.CN_S_FIGURE_NO,CN_S_MEASURE_UNIT,c.CN_S_LOT_NO) b";
}
else
{
sql = @"( SELECT a.CN_S_STOCK_CODE,a.CN_S_STOCK_AREA,b.CN_S_ITEM_CODE,b.CN_S_ITEM_NAME,CN_S_ITEM_STATE,b.CN_S_OWNER,b.CN_S_MODEL,b.CN_S_FIGURE_NO,ISNULL(SUM(c.CN_F_QUANTITY),0)-MAX(b.CN_F_ALLOC_QTY) AS CN_F_QUANTITY,CN_S_MEASURE_UNIT,'' AS CN_S_END_BIT,'' AS CN_S_LOT_CODE,c.CN_S_PRODUCTION_BATCH FROM dbo.tn_wm_b_tray_location AS a INNER JOIN TN_WM_B_TRAY_ITEM_MST AS b ON a.CN_S_TRAY_CODE=b.CN_S_TRAY_CODE
INNER JOIN dbo.TN_WM_B_TRAY_ITEM_DTL AS c ON b.CN_GUID=c.CN_PARENT_GUID
GROUP BY a.CN_S_STOCK_CODE,a.CN_S_STOCK_AREA,b.CN_S_ITEM_CODE,b.CN_S_ITEM_NAME,CN_S_ITEM_STATE,b.CN_S_OWNER,b.CN_S_MODEL,b.CN_S_FIGURE_NO,CN_S_MEASURE_UNIT,c.CN_S_PRODUCTION_BATCH) b";
}
DbCommand cmd = DataAccess.GetStoredProcCommand("prc_query");
this.DataAccess.AddInParameter(cmd, "TableName", ComDbType.CHAR, sql);
this.DataAccess.AddInParameter(cmd, "WhereStr", ComDbType.CHAR, obj.sqlWhere);
this.DataAccess.AddInParameter(cmd, "OrderByStr", ComDbType.CHAR, obj.OrdeBy);
this.DataAccess.AddInParameter(cmd, "PageSize", ComDbType.INT, obj.pageSize);
this.DataAccess.AddInParameter(cmd, "PageIndex", ComDbType.INT, obj.pageIndex);
this.DataAccess.AddOutParameter(cmd, "TotalPage", ComDbType.INT, 4);
this.DataAccess.AddOutParameter(cmd, "TotalRecord", ComDbType.INT, 4);
//如果是oracle 增加特性
if (!string.IsNullOrEmpty(Now_dbType) && Now_dbType.Equals("ORACLE"))
{
//处理游标类型 因DbType无游标类型,游标类型单独处理
ComDbType.AddOrcOutParameter(cmd, "v_cur", OracleType.Cursor);
}
try
{
//获得列表
DataTable dt = DataAccessExtensive.ExecuteDataTable(this.DataAccess, cmd);
obj.PageCount = Convert.ToInt32(this.DataAccess.GetParameterValue(cmd, "TotalRecord"));
return dt;
}
catch (Exception)
{
throw;
}
}
#endregion
#region 根据移库单号修改状态
///
/// 根据盘点单号修改状态
///
///
///
///
/// [HanHe(lt)] CREATED 2018/9/13
public SqlExecuteResult UpdateStateByNo(string CN_S_OP_NO, string CN_S_STATE, DbTransaction trans)
{
string sql = "UPDATE dbo.tn_wm_move_mst SET CN_S_STATE='{0}' WHERE CN_S_OP_NO IN ('{1}')";
sql = string.Format(sql, CN_S_STATE, CN_S_OP_NO);
DbCommand cmd = DataAccess.GetSqlStringCommand(sql);
return ExecuteCommand(cmd, trans);
}
public OperateResult UpdateMoveMstStateByNo(string CN_S_OP_NO, string CN_S_STATE, IDbTransaction trans)
{
string sql = "UPDATE dbo.tn_wm_move_mst SET CN_S_STATE='{0}' WHERE CN_S_OP_NO IN ('{1}')";
sql = string.Format(sql, CN_S_STATE, CN_S_OP_NO);
return ExecuteTranSql(sql,null, trans);
}
#endregion
#region 获取移库主表与明细表关联数据
///
/// 获取移库主表与明细表关联数据
///
///
/// [HanHe(lt)] CREATED 2018/12/20
public DataTable GetMstResult(string sqlwhere)
{
string sql = @"SELECT * FROM dbo.TN_WM_MOVE_MST AS a
INNER JOIN dbo.TN_WM_MOVE_DTL AS b ON b.CN_S_OP_NO = a.CN_S_OP_NO
INNER JOIN dbo.tn_wm_b_move_result AS c ON c.CN_S_OP_NO = a.CN_S_OP_NO AND c.CN_S_OWNER = b.CN_S_OWNER AND c.CN_S_ITEM_CODE = b.CN_S_ITEM_CODE AND ISNULL(c.CN_S_SERIAL_NO,'') = ISNULL(b.CN_S_SERIAL_NO,'') AND c.CN_S_MEASURE_UNIT = b.CN_S_MEASURE_UNIT AND c.CN_S_MODEL = b.CN_S_MODEL AND c.CN_S_ITEM_STATE = b.CN_S_ITEM_STATE AND c.CN_S_FIGURE_NO = b.CN_S_FIGURE_NO {0}";
sql = string.Format(sql, sqlwhere);
return ExecuteDataTable(sql);
}
#endregion
#region 综合查询
///
/// 综合查询
///
/// 主表字段
///
///
///
///
///
///
public DataTable GetDataList(string tableName, int pageIndex, int pageSize, out long total, object where = null, string orderBy = "")
{
tableName = "(" + tableName + ") t";
return ExecutePagingData(tableName, pageIndex, pageSize, out total, orderBy);
}
#endregion
#region 获取移库主表与子表关联数据
///
/// 获取移库主表与明细表关联数据
///
///
/// [HanHe(lt)] CREATED 2018/12/20
public DataTable GetMstJoinDtl(string sqlwhere)
{
string sql = @" SELECT c.CN_F_QUANTITY - c.CN_F_ALLOC_QTY AS CN_F_QUANTITY_STOCK ,* FROM dbo.TN_WM_MOVE_MST AS a INNER JOIN dbo.tn_wm_move_dtl AS b ON a.CN_S_OP_NO=b.CN_S_OP_NO
LEFT JOIN (SELECT SUM(CN_F_QUANTITY) AS CN_F_QUANTITY ,SUM(CN_F_ALLOC_QTY) AS CN_F_ALLOC_QTY,CN_S_OWNER,CN_S_STOCK_CODE,CN_S_ITEM_CODE,CN_S_ITEM_STATE,ISNULL(CN_S_PRODUCTION_BATCH,'') AS CN_S_PRODUCTION_BATCH FROM dbo.tn_wm_b_stock_qty GROUP BY CN_S_OWNER,CN_S_STOCK_CODE,CN_S_ITEM_CODE,CN_S_ITEM_STATE,CN_S_PRODUCTION_BATCH)
AS c ON c.CN_S_OWNER = b.CN_S_OWNER AND a.CN_S_STOCK_CODE=a.CN_S_STOCK_CODE AND c.CN_S_ITEM_CODE = b.CN_S_ITEM_CODE AND c.CN_S_ITEM_STATE = b.CN_S_ITEM_STATE {0}";
sql = string.Format(sql, sqlwhere);
return ExecuteDataTable(sql);
}
#endregion
#region 获取分拣单
///
/// 获取分拣单
///
///
/// [HanHe(lt)] CREATED 2018/12/25
public List GetSortingResult(string sqlwhere)
{
// AND a.CN_S_LOT_NO=c.CN_S_LOT_CODE
string sql = @" SELECT c.CN_S_OP_NO,A.*,c.CN_S_END_BIT,c.CN_S_AREA_CODE,d.CN_S_STOCK_CODE,d.CN_S_END_AREA FROM tn_wm_sorting_result AS a
LEFT JOIN tn_wm_sorting_list AS b ON a.CN_S_SORTING_NO=b.CN_S_SORTING_NO
LEFT JOIN dbo.tn_wm_b_move_result AS c ON b.CN_S_FROM_NO=c.CN_S_OP_NO AND c.CN_S_ITEM_CODE = a.CN_S_ITEM_CODE AND ISNULL(c. CN_S_SERIAL_NO,'') =ISNULL(a.CN_S_SERIAL_NO,'') AND c.CN_S_MEASURE_UNIT = a.CN_S_MEASURE_UNIT AND c.CN_S_MODEL = a.CN_S_MODEL AND c.CN_S_ITEM_STATE = a.CN_S_ITEM_STATE AND c.CN_S_TRAY_CODE = a.CN_S_TRAY_CODE
LEFT JOIN dbo.TN_WM_MOVE_MST AS d ON c.CN_S_OP_NO=d.CN_S_OP_NO {0}";
sql = string.Format(sql, sqlwhere);
return ExecuteQuery(sql);
}
#endregion
}
}