using HH.WMS.Common; using HH.WMS.DAL.Basic; using HH.WMS.Entitys; using HH.WMS.Entitys.Common; using HH.WMS.Entitys.wxys; using Newtonsoft.Json; /******************************************************************************** ** auth: DBS ** date: 2018/11/27 14:39:53 ** desc: 尚未编写描述 ** Ver.: V1.0.0 *********************************************************************************/ using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HH.WMS.DAL.AllQuery { public class InventoryDal : DapperBaseDAL { #region 查询出入库业务 /// /// 查询出入库业务 /// /// 分页索引 /// 分页大小 /// out 总行数 /// 条件 /// 排序 /// /// [Hanhe(dbs)] created 2018/12/2 public DataTable GetOrderBussList(int pageIndex, int pageSize, out long total, object where = null, string orderBy = "") { string sql = @"(SELECT INOUT='IN',CN_S_STOCK_CODE,CN_S_OP_TYPE,a.CN_S_OP_NO,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_S_ITEM_STATE, b.CN_S_LOT_NO,CN_F_QUANTITY,a.CN_S_OWNER,CN_F_PLAN_MONEY,CN_F_PLAN_PRICE,CN_F_ACTUAL_MONEY,CN_F_ACTUAL_PRICE,CN_S_MODEL, CN_S_FIGURE_NO,CN_S_MEASURE_UNIT,b.CN_T_CREATE,b.CN_S_CREATOR_BY FROM TN_WM_INCREASE_INVENTORY_DTL a join TN_WM_INCREASE_INVENTORY_MST b on a.CN_S_OP_NO=b.CN_S_OP_NO union all SELECT INOUT='OUT',CN_S_STOCK_CODE,CN_S_OP_TYPE,a.CN_S_OP_NO,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_S_ITEM_STATE,a.CN_S_LOT_CODE,CN_F_QUANTITY,CN_S_OWNER,CN_F_PLAN_MONEY ,CN_F_PLAN_PRICE,CN_F_SALE_MONEY,CN_F_SALE_PRICE,CN_S_MODEL,CN_S_FIGURE_NO,CN_S_MEASURE_UNIT,b.CN_T_CREATE,b.CN_S_CREATOR_BY FROM TN_WM_REDUCE_INVENTORY_DTL a join TN_WM_REDUCE_INVENTORY_MST b on a.CN_S_OP_NO=b.CN_S_OP_NO) as a " + where; return ExecutePagingData(sql, pageIndex, pageSize, out total, orderBy, where); } #endregion #region 汇总指定日期内的出入库业务量 /// /// 汇总指定日期内的出入库业务量 /// /// 天数 /// /// [Hanhe(dbs)] created 2018-12-21 public DataTable GetBussLine(int day) { string startDate = DateTime.Now.AddDays(-(day + 1)).ToShortDateString(); string endDate = DateTime.Now.AddDays(1).ToShortDateString(); string sql = @"select 'type'='IN',CN_S_OP_TYPE,CONVERT(varchar(100),CN_T_CREATE, 23) CN_T_CREATE,COUNT(CN_GUID) qty from TN_WM_INCREASE_INVENTORY_MST where CN_T_CREATE > CONVERT(datetime,'" + startDate + "') and CN_T_CREATE < CONVERT(datetime,'" + endDate + @"') group by CN_S_OP_TYPE,CONVERT(varchar(100),CN_T_CREATE, 23) union all select 'type'='OUT',CN_S_OP_TYPE,CONVERT(varchar(100),CN_T_CREATE, 23) CN_T_CREATE,COUNT(CN_GUID) qty from TN_WM_REDUCE_INVENTORY_MST where CN_T_CREATE > CONVERT(datetime,'" + startDate + "') and CN_T_CREATE < CONVERT(datetime,'" + endDate + @"') group by CN_S_OP_TYPE,CONVERT(varchar(100),CN_T_CREATE, 23)"; return ExecuteDataTable(sql); } #endregion #region 获取货位的历史上下架记录 /// /// 获取货位的历史上下架记录 /// /// /// out 总行数 /// /// [Hanhe(DBS)] CREATED BY 2018-12-03 public DataTable GetLocationHistory(Entitys.Common.SearchModel searchModel, out long total) { var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_ITEM_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_CODE), CN_S_ITEM_NAME = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_NAME), CN_S_MODEL = Util.ToStringInput(searchModel.SearchCondition.CN_S_MODEL), CN_S_FROM_NO = Util.ToStringInput(searchModel.SearchCondition.CN_S_OP_NO), CN_S_PRODUCTION_BATCH = Util.ToStringInput(searchModel.SearchCondition.CN_S_PRODUCTION_BATCH), CN_T_START = Util.ToString(searchModel.SearchCondition.CN_T_START), CN_T_END = Util.ToString(searchModel.SearchCondition.CN_T_END), CN_S_TRAY_CODE = Util.ToString(searchModel.SearchCondition.CN_S_TRAY_CODE), CN_S_LOT_NO = Util.ToString(searchModel.SearchCondition.CN_S_LOT_NO), PageIndex = Util.ToInt(searchModel.PageIndex), PageSize = Util.ToInt(searchModel.PageSize) }; string sqlWhere = " WHERE 1=1 "; if (!string.IsNullOrEmpty(v.CN_S_STOCK_CODE)) //仓库编码 { sqlWhere += " AND CN_S_STOCK_CODE = '" + v.CN_S_STOCK_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_LOCATION_CODE)) //仓库编码 { sqlWhere += " AND CN_S_LOCATION_CODE = '" + v.CN_S_LOCATION_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_FROM_NO)) //物料编码 { sqlWhere += " AND CN_S_FROM_NO = '" + v.CN_S_FROM_NO + "'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_CODE)) //物料编码 { sqlWhere += " AND CN_S_ITEM_CODE like '%" + v.CN_S_ITEM_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_NAME)) //物料名称 { sqlWhere += " AND CN_S_ITEM_NAME like '%" + v.CN_S_ITEM_NAME + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_LOT_NO)) //指令批号 { sqlWhere += " AND CN_S_LOT_NO like '%" + v.CN_S_LOT_NO + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_MODEL)) //规格 { sqlWhere += " AND CN_S_MODEL like '%" + v.CN_S_MODEL + "%'"; } if (!string.IsNullOrEmpty(v.CN_T_START)) { sqlWhere += " AND convert(date,b.CN_T_CREATE) >= '" + Convert.ToDateTime(v.CN_T_START.ToString()).ToString("yyyy-MM-dd") + "'"; } if (!string.IsNullOrEmpty(v.CN_T_END)) { sqlWhere += " AND convert(date,b.CN_T_CREATE) <= '" + Convert.ToDateTime(v.CN_T_END).ToString("yyyy-MM-dd") + "'"; } if (!string.IsNullOrEmpty(v.CN_S_TRAY_CODE)) //托盘码 { sqlWhere += " AND CN_S_TRAY_CODE like '%" + v.CN_S_TRAY_CODE + "%'"; } string orderBy = " order by CN_T_CREATE desc"; string sql = @"(SELECT 'type'='+', CN_S_STOCK_CODE,CN_S_STOCK_AREA, CN_S_OP_FROM ,CN_S_FROM_NO ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_ITEM_STATE ,CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,CN_S_CREATOR_BY ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO FROM TN_WM_UP_HISTORY b " + sqlWhere + @" union all SELECT 'type'='-', CN_S_STOCK_CODE,CN_S_STOCK_AREA, CN_S_OP_FROM ,CN_S_FROM_NO ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_ITEM_STATE ,CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,CN_S_CREATOR_BY ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO FROM TN_WM_DOWN_HISTORY b " + sqlWhere + ") as t "; return ExecutePagingData(sql, v.PageIndex, v.PageSize, out total, orderBy, ""); } #endregion #region 获取货位的历史上下架记录 /// /// 获取货位的历史上下架记录 /// /// /// out 总行数 /// /// [Hanhe(DBS)] CREATED BY 2018-12-03 public DataTable GetLocationHistoryJx(Entitys.Common.SearchModel searchModel, out long total) { var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_ITEM_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_CODE), CN_S_ITEM_NAME = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_NAME), CN_S_MODEL = Util.ToStringInput(searchModel.SearchCondition.CN_S_MODEL), CN_S_FROM_NO = Util.ToStringInput(searchModel.SearchCondition.CN_S_OP_NO), CN_S_OP_TYPE = Util.ToStringInput(searchModel.SearchCondition.CN_S_OP_TYPE), CN_S_PRODUCTION_BATCH = Util.ToStringInput(searchModel.SearchCondition.CN_S_PRODUCTION_BATCH), CN_T_START = Util.ToString(searchModel.SearchCondition.CN_T_START), CN_T_END = Util.ToString(searchModel.SearchCondition.CN_T_END), CN_S_TRAY_CODE = Util.ToString(searchModel.SearchCondition.CN_S_TRAY_CODE), CN_S_LOT_NO = Util.ToString(searchModel.SearchCondition.CN_S_LOT_NO), PageIndex = Util.ToInt(searchModel.PageIndex), PageSize = Util.ToInt(searchModel.PageSize) }; string sqlWhere = " WHERE 1=1 "; if (!string.IsNullOrEmpty(v.CN_S_STOCK_CODE)) //仓库编码 { sqlWhere += " AND CN_S_STOCK_CODE = '" + v.CN_S_STOCK_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_LOCATION_CODE)) //仓库编码 { sqlWhere += " AND CN_S_LOCATION_CODE = '" + v.CN_S_LOCATION_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_FROM_NO)) //物料编码 { sqlWhere += " AND CN_S_FROM_NO = '" + v.CN_S_FROM_NO + "'"; } //if (!string.IsNullOrEmpty(v.CN_S_OP_TYPE)) //操作类型 //{ // sqlWhere += " AND CN_S_OP_TYPE = '" + v.CN_S_OP_TYPE + "'"; //} if (!string.IsNullOrEmpty(v.CN_S_ITEM_CODE)) //物料编码 { sqlWhere += " AND CN_S_ITEM_CODE like '%" + v.CN_S_ITEM_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_NAME)) //物料名称 { sqlWhere += " AND CN_S_ITEM_NAME like '%" + v.CN_S_ITEM_NAME + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_LOT_NO)) //指令批号 { sqlWhere += " AND CN_S_LOT_NO like '%" + v.CN_S_LOT_NO + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_MODEL)) //规格 { sqlWhere += " AND CN_S_MODEL like '%" + v.CN_S_MODEL + "%'"; } if (!string.IsNullOrEmpty(v.CN_T_START)) { sqlWhere += " AND convert(date,b.CN_T_CREATE) >= '" + Convert.ToDateTime(v.CN_T_START.ToString()).ToString("yyyy-MM-dd") + "'"; } if (!string.IsNullOrEmpty(v.CN_T_END)) { sqlWhere += " AND convert(date,b.CN_T_CREATE) <= '" + Convert.ToDateTime(v.CN_T_END).ToString("yyyy-MM-dd") + "'"; } if (!string.IsNullOrEmpty(v.CN_S_TRAY_CODE)) //托盘码 { sqlWhere += " AND CN_S_TRAY_CODE like '%" + v.CN_S_TRAY_CODE + "%'"; } string orderBy = " order by CN_T_CREATE desc"; string sql = string.Empty; if(v.CN_S_OP_TYPE == "") { sql = @"(SELECT 'type'='+', CN_S_STOCK_CODE,CN_S_STOCK_AREA, CN_S_OP_FROM ,CN_S_FROM_NO ,'入库' AS CN_S_OP_TYPE ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_ITEM_STATE ,CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,CN_S_CREATOR_BY ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO FROM TN_WM_UP_HISTORY b " + sqlWhere + @" union all SELECT 'type'='-', CN_S_STOCK_CODE,CN_S_STOCK_AREA, CN_S_OP_FROM ,CN_S_FROM_NO ,'出库' AS CN_S_OP_TYPE ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_ITEM_STATE ,CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,CN_S_CREATOR_BY ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO FROM TN_WM_DOWN_HISTORY b " + sqlWhere + ") as t "; } else if (v.CN_S_OP_TYPE == "入库") { sql = @"(SELECT 'type'='+', CN_S_STOCK_CODE,CN_S_STOCK_AREA, CN_S_OP_FROM ,CN_S_FROM_NO ,'入库' AS CN_S_OP_TYPE ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_ITEM_STATE ,CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,CN_S_CREATOR_BY ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO FROM TN_WM_UP_HISTORY b " + sqlWhere + ") as t "; } else { sql = @"( SELECT 'type'='-', CN_S_STOCK_CODE,CN_S_STOCK_AREA, CN_S_OP_FROM ,CN_S_FROM_NO ,'出库' AS CN_S_OP_TYPE ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_ITEM_STATE ,CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,CN_S_CREATOR_BY ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO FROM TN_WM_DOWN_HISTORY b " + sqlWhere + ") as t "; } return ExecutePagingData(sql, v.PageIndex, v.PageSize, out total, orderBy, ""); } #endregion public DataTable GetInventorySummary(Entitys.Common.SearchModel searchModel, out long total) { var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_ITEM_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_CODE), CN_S_ITEM_NAME = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_NAME), CN_S_MODEL = Util.ToStringInput(searchModel.SearchCondition.CN_S_MODEL), CN_S_FROM_NO = Util.ToStringInput(searchModel.SearchCondition.CN_S_OP_NO), CN_S_PRODUCTION_BATCH = Util.ToStringInput(searchModel.SearchCondition.CN_S_PRODUCTION_BATCH), CN_T_START = Util.ToString(searchModel.SearchCondition.CN_T_START), CN_T_END = Util.ToString(searchModel.SearchCondition.CN_T_END), CN_S_TRAY_CODE = Util.ToString(searchModel.SearchCondition.CN_S_TRAY_CODE), CN_S_EXT2 = Util.ToString(searchModel.SearchCondition.CN_S_EXT2), PageIndex = Util.ToInt(searchModel.PageIndex), PageSize = Util.ToInt(searchModel.PageSize) }; string sqlWhere = " WHERE 1=1 "; if (!string.IsNullOrEmpty(v.CN_S_STOCK_CODE)) //仓库编码 { sqlWhere += " AND CN_S_STOCK_CODE = '" + v.CN_S_STOCK_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_EXT2)) //凭证性质 { sqlWhere += " AND CN_S_EXT2 = '" + v.CN_S_EXT2 + "'"; } //if (!string.IsNullOrEmpty(v.CN_S_LOCATION_CODE)) //仓库编码 //{ // sqlWhere += " AND CN_S_LOCATION_CODE = '" + v.CN_S_LOCATION_CODE + "'"; //} if (!string.IsNullOrEmpty(v.CN_S_ITEM_CODE)) //物料编码 { sqlWhere += " AND CN_S_ITEM_CODE like '%" + v.CN_S_ITEM_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_NAME)) //物料名称 { sqlWhere += " AND CN_S_ITEM_NAME like '%" + v.CN_S_ITEM_NAME + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_MODEL)) //规格 { sqlWhere += " AND CN_S_MODEL like '%" + v.CN_S_MODEL + "%'"; } if (!string.IsNullOrEmpty(v.CN_T_START)) { sqlWhere += " AND convert(date,A.CN_T_CREATE) >= '" + Convert.ToDateTime(v.CN_T_START.ToString()).ToString("yyyy-MM-dd") + "'"; } if (!string.IsNullOrEmpty(v.CN_T_END)) { sqlWhere += " AND convert(date,A.CN_T_CREATE) <= '" + Convert.ToDateTime(v.CN_T_END).ToString("yyyy-MM-dd") + "'"; } string orderBy = " order by CN_S_ITEM_CODE desc"; string sql = @"(SELECT A.CN_S_STOCK_CODE,A.CN_S_EXT2,A.CN_S_ITEM_CODE,A.CN_S_ITEM_NAME,SUM(A.CN_F_PACKING_QTY) AS CN_F_PACKING_QTY,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO FROM (SELECT CN_S_STOCK_CODE,CN_S_EXT2,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_F_QUANTITY,CN_F_PACKING_QTY,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO,CN_T_CREATE FROM TN_WM_UP_HISTORY WHERE CN_S_EXT2 IS NOT NULL AND CN_S_EXT2!='' UNION ALL SELECT CN_S_STOCK_CODE,CN_S_EXT2,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_F_QUANTITY,CN_F_PACKING_QTY,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO,CN_T_CREATE FROM TN_WM_DOWN_HISTORY WHERE CN_S_EXT2 IS NOT NULL AND CN_S_EXT2!='' ) A " + sqlWhere + @"GROUP BY CN_S_EXT2,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_S_STOCK_CODE,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO) as t "; return ExecutePagingData(sql, v.PageIndex, v.PageSize, out total, orderBy, ""); } public DataTable ExportInventorySummary(Entitys.Common.SearchModel searchModel) { var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_ITEM_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_CODE), CN_S_ITEM_NAME = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_NAME), CN_S_MODEL = Util.ToStringInput(searchModel.SearchCondition.CN_S_MODEL), CN_S_FROM_NO = Util.ToStringInput(searchModel.SearchCondition.CN_S_OP_NO), CN_S_PRODUCTION_BATCH = Util.ToStringInput(searchModel.SearchCondition.CN_S_PRODUCTION_BATCH), CN_T_START = Util.ToString(searchModel.SearchCondition.CN_T_START), CN_T_END = Util.ToString(searchModel.SearchCondition.CN_T_END), CN_S_TRAY_CODE = Util.ToString(searchModel.SearchCondition.CN_S_TRAY_CODE), CN_S_EXT2 = Util.ToString(searchModel.SearchCondition.CN_S_EXT2) }; string sqlWhere = " WHERE 1=1 "; if (!string.IsNullOrEmpty(v.CN_S_STOCK_CODE)) //仓库编码 { sqlWhere += " AND CN_S_STOCK_CODE = '" + v.CN_S_STOCK_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_EXT2)) //凭证性质 { sqlWhere += " AND CN_S_EXT2 = '" + v.CN_S_EXT2 + "'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_CODE)) //物料编码 { sqlWhere += " AND CN_S_ITEM_CODE like '%" + v.CN_S_ITEM_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_NAME)) //物料名称 { sqlWhere += " AND CN_S_ITEM_NAME like '%" + v.CN_S_ITEM_NAME + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_MODEL)) //规格 { sqlWhere += " AND CN_S_MODEL like '%" + v.CN_S_MODEL + "%'"; } if (!string.IsNullOrEmpty(v.CN_T_START)) { sqlWhere += " AND convert(date,A.CN_T_CREATE) >= '" + Convert.ToDateTime(v.CN_T_START.ToString()).ToString("yyyy-MM-dd") + "'"; } if (!string.IsNullOrEmpty(v.CN_T_END)) { sqlWhere += " AND convert(date,A.CN_T_CREATE) <= '" + Convert.ToDateTime(v.CN_T_END).ToString("yyyy-MM-dd") + "'"; } string orderBy = " order by CN_S_ITEM_CODE desc"; string sql = @" SELECT A.CN_S_STOCK_CODE,A.CN_S_EXT2,A.CN_S_ITEM_CODE,A.CN_S_ITEM_NAME,SUM(A.CN_F_PACKING_QTY) AS CN_F_PACKING_QTY,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO FROM (SELECT CN_S_STOCK_CODE,CN_S_EXT2,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_F_QUANTITY,CN_F_PACKING_QTY,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO,CN_T_CREATE FROM TN_WM_UP_HISTORY WHERE CN_S_EXT2 IS NOT NULL AND CN_S_EXT2!='' UNION ALL SELECT CN_S_STOCK_CODE,CN_S_EXT2,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_F_QUANTITY,CN_F_PACKING_QTY,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO,CN_T_CREATE FROM TN_WM_DOWN_HISTORY WHERE CN_S_EXT2 IS NOT NULL AND CN_S_EXT2!='' ) A " + sqlWhere + @"GROUP BY CN_S_EXT2,CN_S_ITEM_CODE,CN_S_ITEM_NAME,CN_S_STOCK_CODE,CN_S_FIGURE_NO,CN_S_MODEL,CN_S_MEASURE_UNIT,CN_S_LOT_NO "; return ExecuteDataTable(sql); } public DataTable GetHistory(SearchModel searchModel) { var orderType = Util.ToString(searchModel.SearchCondition.CN_S_ORDER_TYPE); var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_ITEM_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_CODE), CN_S_ITEM_NAME = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_NAME), CN_S_MODEL = Util.ToStringInput(searchModel.SearchCondition.CN_S_MODEL), CN_S_FROM_NO = Util.ToStringInput(searchModel.SearchCondition.CN_S_OP_NO), CN_S_PRODUCTION_BATCH = Util.ToStringInput(searchModel.SearchCondition.CN_S_PRODUCTION_BATCH), CN_T_START = Util.ToString(searchModel.SearchCondition.CN_T_START), CN_T_END = Util.ToString(searchModel.SearchCondition.CN_T_END), CN_S_TRAY_CODE = Util.ToString(searchModel.SearchCondition.CN_S_TRAY_CODE), CN_S_ORDER_NO = Util.ToString(searchModel.SearchCondition.CN_S_ORDER_NO), PageIndex = 1,//Util.ToInt(searchModel.PageIndex), PageSize = 100//Util.ToInt(searchModel.PageSize) }; string sqlWhere = " WHERE 1=1 "; //汇总 //select CN_S_ITEM_CODE,SUM(CN_F_QUANTITY) AS CN_F_QUANTITY,CN_S_STOCK_CODE //,CONVERT(varchar(100), CN_T_CREATE, 23) AS CN_T_CREATE //,CN_S_TRAY_CODE,CN_S_LOCATION_CODE,CN_S_ITEM_NAME,CN_S_MODEL //,CN_S_FROM_NO,CN_S_PRODUCTION_BATCH,CN_S_OP_FROM,CN_S_LOT_NO,CN_S_CREATOR_BY //from TN_WM_UP_HISTORY //GROUP BY CN_S_ITEM_CODE,CN_S_STOCK_CODE,CONVERT(varchar(100), CN_T_CREATE, 23),CN_S_TRAY_CODE,CN_S_LOCATION_CODE //,CN_S_ITEM_NAME,CN_S_MODEL,CN_S_FROM_NO,CN_S_PRODUCTION_BATCH,CN_S_OP_FROM,CN_S_LOT_NO,CN_S_CREATOR_BY if (!string.IsNullOrEmpty(v.CN_S_ORDER_NO)) //单据号 { sqlWhere += " AND CN_S_FROM_NO like '%" + v.CN_S_ORDER_NO + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_TRAY_CODE)) //托盘 { sqlWhere += " AND CN_S_TRAY_CODE like '%" + v.CN_S_TRAY_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_T_START)) //开始时间 { sqlWhere += " AND CN_T_CREATE>='" + v.CN_T_START + "'"; } if (!string.IsNullOrEmpty(v.CN_T_END)) //结束时间 { var end = ((DateTime)Convert.ToDateTime(v.CN_T_END)).AddDays(1); sqlWhere += " AND CN_T_CREATE<='" + end + "'"; } string groupBy = @" GROUP BY CN_S_ITEM_CODE ,CN_S_STOCK_CODE ,CONVERT(varchar(100), CN_T_CREATE, 23) ,CN_S_TRAY_CODE ,CN_S_LOCATION_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_FROM_NO ,CN_S_PRODUCTION_BATCH ,CN_S_OP_FROM ,CN_S_LOT_NO ,CN_S_CREATOR_BY ,CN_S_EXT2,CN_S_FIGURE_NO,CN_S_MEASURE_UNIT "; string orderBy = "order by CN_T_CREATE desc"; string upSql = @" SELECT SUM(CN_F_QUANTITY) AS CN_F_QUANTITY,SUM(CN_F_PACKING_QTY) AS CN_F_PACKING_QTY ,CN_S_ITEM_CODE ,CN_S_STOCK_CODE ,CONVERT(varchar(100), CN_T_CREATE, 23) AS CN_T_CREATE ,CN_S_TRAY_CODE ,CN_S_LOCATION_CODE ,CN_S_ITEM_NAME,CN_S_MODEL ,CN_S_FROM_NO ,CN_S_PRODUCTION_BATCH ,CN_S_OP_FROM ,CN_S_LOT_NO ,CN_S_CREATOR_BY ,CN_S_EXT2,CN_S_FIGURE_NO,CN_S_MEASURE_UNIT FROM TN_WM_UP_HISTORY "; // @"SELECT // CN_GUID, // ROW_NUMBER() OVER (ORDER BY CN_GUID ASC) AS CN_N_ROW_NO // ,'type'='+' // ,CN_S_STOCK_CODE // ,CN_S_STOCK_AREA // ,CN_S_OP_FROM // ,CN_S_FROM_NO // ,CN_S_LOCATION_CODE // ,CN_S_TRAY_CODE // ,CN_S_OWNER // ,CN_S_ITEM_CODE // ,CN_S_ITEM_NAME // ,CN_S_MODEL // ,CN_S_FIGURE_NO // ,CN_S_ITEM_STATE // ,CN_F_QUANTITY // ,CN_S_MEASURE_UNIT // ,CN_S_PRODUCTION_BATCH // ,CN_S_CREATOR_BY // ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY // ,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO // FROM TN_WM_UP_HISTORY"; string downSql = @" SELECT SUM(CN_F_PACKING_QTY) AS CN_F_QUANTITY,SUM(CN_F_PACKING_QTY) AS CN_F_PACKING_QTY ,CN_S_ITEM_CODE ,CN_S_STOCK_CODE ,CONVERT(varchar(100), CN_T_CREATE, 23) AS CN_T_CREATE ,CN_S_TRAY_CODE ,CN_S_LOCATION_CODE ,CN_S_ITEM_NAME,CN_S_MODEL ,CN_S_FROM_NO ,CN_S_PRODUCTION_BATCH ,CN_S_OP_FROM ,CN_S_LOT_NO ,CN_S_CREATOR_BY ,CN_S_EXT2,CN_S_FIGURE_NO,CN_S_MEASURE_UNIT FROM TN_WM_DOWN_HISTORY "; // @"SELECT // CN_GUID, // ROW_NUMBER() OVER (ORDER BY CN_GUID ASC) AS CN_N_ROW_NO, // 'type'='-', // CN_S_STOCK_CODE,CN_S_STOCK_AREA, // CN_S_OP_FROM // ,CN_S_FROM_NO // ,CN_S_LOCATION_CODE // ,CN_S_TRAY_CODE // ,CN_S_OWNER // ,CN_S_ITEM_CODE // ,CN_S_ITEM_NAME // ,CN_S_MODEL // ,CN_S_FIGURE_NO // ,CN_S_ITEM_STATE // ,CN_F_QUANTITY // ,CN_S_MEASURE_UNIT // ,CN_S_PRODUCTION_BATCH // ,CN_S_CREATOR_BY // ,CN_T_CREATE,ISNULL(CN_F_PACKING_QTY,0) CN_F_PACKING_QTY,CN_S_EXT1,CN_S_EXT2,CN_S_LOT_NO // FROM TN_WM_DOWN_HISTORY"; var sql = ""; if (orderType == "产品入库单") { sql = upSql + sqlWhere + " AND CN_S_EXT2='正常入库' "; } else if (orderType == "生产领料单") { sql = downSql + sqlWhere + " AND CN_S_EXT2='正常出库' "; } else if (orderType == "退库单") { sql = upSql + sqlWhere + " AND CN_S_EXT2='退料入库' "; } else if (orderType == "其他出库单") { sql = downSql + sqlWhere + " AND CN_S_EXT2='其他出库' "; } else if (orderType == "其他入库单") { sql = upSql + sqlWhere + " AND CN_S_EXT2='其他入库' "; } else { sql = upSql; } return ExecuteDataTable(sql + groupBy + orderBy); } public OperateResult SetPrintNo(dynamic data) { //string guids = Util.ToString(data.guids); string orderNo = Util.ToString(data.orderNo); string orderType = Util.ToString(data.orderType); string userName = Util.ToString(data.userName); string workCenter = Util.ToString(data.workCenter); List orderPrints = JsonConvert.DeserializeObject>(Util.ToString(data.setOrderPrints)); var sql = ""; foreach (var orderPrint in orderPrints) { if (orderType == "产品入库单") { sql += string.Format(@" UPDATE TN_WM_UP_HISTORY SET CN_S_FROM_NO='{0}', CN_T_MODIFY='{1}', CN_S_MODIFY='{2}', CN_S_MODIFY_BY='{2}', CN_S_PRODUCTION_BATCH='{3}' WHERE CN_S_ITEM_CODE='{4}' AND CN_S_LOCATION_CODE='{5}' AND CN_S_LOT_NO='{6}' AND CN_S_FIGURE_NO='{7}' " , orderNo, DateTime.Now, userName, workCenter, orderPrint.CN_S_ITEM_CODE , orderPrint.CN_S_LOCATION_CODE, orderPrint.CN_S_LOT_NO, orderPrint.CN_S_FIGURE_NO); } else if (orderType == "生产领料单") { sql += string.Format(@" UPDATE TN_WM_DOWN_HISTORY SET CN_S_FROM_NO='{0}', CN_T_MODIFY='{1}', CN_S_MODIFY='{2}', CN_S_MODIFY_BY='{2}', CN_S_PRODUCTION_BATCH='{3}' WHERE CN_S_ITEM_CODE='{4}' AND CN_S_LOCATION_CODE='{5}' AND CN_S_LOT_NO='{6}' AND CN_S_FIGURE_NO='{7}' " , orderNo, DateTime.Now, userName, workCenter, orderPrint.CN_S_ITEM_CODE , orderPrint.CN_S_LOCATION_CODE, orderPrint.CN_S_LOT_NO, orderPrint.CN_S_FIGURE_NO); } else if (orderType == "退库单") { sql += string.Format(@" UPDATE TN_WM_UP_HISTORY SET CN_S_FROM_NO='{0}', CN_T_MODIFY='{1}', CN_S_MODIFY='{2}', CN_S_MODIFY_BY='{2}', CN_S_PRODUCTION_BATCH='{3}' WHERE CN_S_ITEM_CODE='{4}' AND CN_S_LOCATION_CODE='{5}' AND CN_S_LOT_NO='{6}' AND CN_S_FIGURE_NO='{7}' " , orderNo, DateTime.Now, userName, workCenter, orderPrint.CN_S_ITEM_CODE , orderPrint.CN_S_LOCATION_CODE, orderPrint.CN_S_LOT_NO, orderPrint.CN_S_FIGURE_NO); } else if (orderType == "其他出库单") { sql += string.Format(@" UPDATE TN_WM_DOWN_HISTORY SET CN_S_FROM_NO='{0}', CN_T_MODIFY='{1}', CN_S_MODIFY='{2}', CN_S_MODIFY_BY='{2}', CN_S_PRODUCTION_BATCH='{3}' WHERE CN_S_ITEM_CODE='{4}' AND CN_S_LOCATION_CODE='{5}' AND CN_S_LOT_NO='{6}' AND CN_S_FIGURE_NO='{7}' " , orderNo, DateTime.Now, userName, workCenter, orderPrint.CN_S_ITEM_CODE , orderPrint.CN_S_LOCATION_CODE, orderPrint.CN_S_LOT_NO, orderPrint.CN_S_FIGURE_NO); } else if (orderType == "其他入库单") { sql += string.Format(@" UPDATE TN_WM_UP_HISTORY SET CN_S_FROM_NO='{0}', CN_T_MODIFY='{1}', CN_S_MODIFY='{2}', CN_S_MODIFY_BY='{2}', CN_S_PRODUCTION_BATCH='{3}' WHERE CN_S_ITEM_CODE='{4}' AND CN_S_LOCATION_CODE='{5}' AND CN_S_LOT_NO='{6}' AND CN_S_FIGURE_NO='{7}' " , orderNo, DateTime.Now, userName, workCenter, orderPrint.CN_S_ITEM_CODE , orderPrint.CN_S_LOCATION_CODE, orderPrint.CN_S_LOT_NO, orderPrint.CN_S_FIGURE_NO); } else { } } return ExecuteTranSql(sql, null, null); } public OperateResult CancelPrintNo(string orderNo, string orderType) { var sql = ""; if (orderType == "产品入库单") { sql = string.Format(@" UPDATE TN_WM_UP_HISTORY SET CN_S_FROM_NO='',CN_S_PRODUCTION_BATCH='' WHERE CN_S_FROM_NO = '{0}' ", orderNo); } else if (orderType == "生产领料单") { sql = string.Format(@" UPDATE TN_WM_DOWN_HISTORY SET CN_S_FROM_NO='',CN_S_PRODUCTION_BATCH='' WHERE CN_S_FROM_NO = '{0}' ", orderNo); } else if (orderType == "退库单") { sql = string.Format(@" UPDATE TN_WM_UP_HISTORY SET CN_S_FROM_NO='',CN_S_PRODUCTION_BATCH='' WHERE CN_S_FROM_NO = '{0}' ", orderNo); } else if (orderType == "其他出库单") { sql = string.Format(@" UPDATE TN_WM_DOWN_HISTORY SET CN_S_FROM_NO='',CN_S_PRODUCTION_BATCH='' WHERE CN_S_FROM_NO = '{0}' ", orderNo); } else if (orderType == "其他入库单") { sql = string.Format(@" UPDATE TN_WM_UP_HISTORY SET CN_S_FROM_NO='',CN_S_PRODUCTION_BATCH='' WHERE CN_S_FROM_NO = '{0}' ", orderNo); } else { } return ExecuteTranSql(sql, null, null); } // public DataTable HistoryLine(Entitys.Common.SearchModel searchModel) // { // string sql = @"select ISNULL(a.CN_T_CREATE,b.CN_T_CREATE) INTIME,ISNULL(b.CN_T_CREATE,b.CN_T_CREATE) OUTTIME,ISNULL(a.INQTY,0) INQTY,ISNULL(b.OUTQTY,0) OUTQTY from (SELECT CONVERT(date,CN_T_CREATE) CN_T_CREATE,SUM(CN_F_QUANTITY)INQTY // FROM TN_WM_UP_HISTORY group by CONVERT(date,CN_T_CREATE)) a // full join ( // SELECT // CONVERT(date,b.CN_T_CREATE) CN_T_CREATE,SUM(CN_F_QUANTITY) OUTQTY // FROM tn_wm_sorting_result b join tn_wm_sorting_list c on b.CN_S_SORTING_NO=c.CN_S_SORTING_NO // group by CONVERT(date,b.CN_T_CREATE)) b // on (a.CN_T_CREATE=b.CN_T_CREATE )"; // return ExecuteDataTable(sql); // } #region 查询盘点报表 /// /// 查询盘点报表 /// /// 分页索引 /// 分页大小 /// 条件 /// out 总行数 /// /// [Hanhe(DBS)] CREATED BY 2019-1-10 public DataTable GetCheckResultDtl(int pageIndex, int pageSize, string where, out long total) { string sql = @"(SELECT a.CN_S_OP_NO ,a.CN_S_STOCK_CODE ,CN_S_LOCATION_CODE ,CN_S_TRAY_CODE ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_ITEM_STATE ,CN_S_OWNER ,CN_S_LOT_NO ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_F_QUANTITY ,CN_F_CHECK_QTY ,CN_S_MEASURE_UNIT ,CN_S_ISWIN ,CN_S_OPERATOR ,CN_T_OPERATE ,CN_S_PRODUCTION_BATCH ,a.CN_S_CREATOR_BY ,a.CN_T_CREATE FROM tn_wm_check_list a join tn_wm_check_mst b on a.CN_S_OP_NO= b.CN_S_OP_NO where b.CN_S_STATE='已完成' " + where + ") a"; string order = " order by CN_S_OP_NO desc "; return ExecutePagingData(sql, pageIndex, pageSize, out total, order, ""); } #endregion #region 物料盘点汇总 /// /// 物料盘点汇总 /// /// 分页索引 /// 分页大小 /// 条件 /// out 总行数 /// /// [Hanhe(DBS)] CREATED BY 2019-1-10 public DataTable GetItemCheckResultDtl(int pageIndex, int pageSize, string where, out long total) { string sql = @"(SELECT b.CN_S_STOCK_CODE ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_ITEM_STATE ,CN_S_OWNER ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH ,SUM(CN_F_QUANTITY) CN_F_QUANTITY ,SUM(CN_F_CHECK_QTY) CN_F_CHECK_QTY FROM tn_wm_check_list a join tn_wm_check_mst b on a.CN_S_OP_NO= b.CN_S_OP_NO where b.CN_S_STATE='已完成' " + where + @" group by b.CN_S_STOCK_CODE ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_ITEM_STATE ,CN_S_OWNER ,CN_S_MODEL ,CN_S_FIGURE_NO ,CN_S_MEASURE_UNIT ,CN_S_PRODUCTION_BATCH) a"; string order = " order by CN_S_ITEM_CODE desc "; return ExecutePagingData(sql, pageIndex, pageSize, out total, order, ""); } #endregion #region 查询货位库存 /// /// 查询货位库存 /// /// /// out 总行数 /// 是否导出 /// /// [Hanhe(DBS)] CREATED BY 2019-1-10 public DataTable GetLocationInventoryList(SearchModel searchModel, out long total, bool export) { var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_ITEM_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_CODE), CN_S_ITEM_NAME = Util.ToStringInput(searchModel.SearchCondition.CN_S_ITEM_NAME), CN_S_MODEL = Util.ToStringInput(searchModel.SearchCondition.CN_S_MODEL), CN_S_PRODUCTION_BATCH = Util.ToStringInput(searchModel.SearchCondition.CN_S_PRODUCTION_BATCH), CN_S_STATE = Util.ToString(searchModel.SearchCondition.CN_S_STATE), CN_S_OWNER = Util.ToStringInput(searchModel.SearchCondition.CN_S_OWNER), CN_S_UNIQUE_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_UNIQUE_CODE), CN_S_LOT_NO = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOT_NO), CN_S_TRAY_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_TRAY_CODE), }; string sql = @" SELECT CN_S_STOCK_CODE,CN_S_STOCK_AREA, a.CN_S_TRAY_CODE ,CN_S_OWNER ,CN_S_ITEM_CODE ,CN_S_ITEM_NAME ,CN_S_MODEL ,CN_S_ITEM_STATE ,b.CN_F_QUANTITY ,CN_S_MEASURE_UNIT ,b.CN_S_PRODUCTION_BATCH ,b.CN_S_LOT_NO, c.CN_S_LOCATION_CODE,CN_F_ALLOC_QTY,b.CN_S_UNIQUE_CODE,b.CN_S_SERIAL_NO,b.CN_F_PACKING_QTY,CN_F_PLANNED_QTY='0.0' FROM tn_wm_b_tray_location c left join TN_WM_B_TRAY_ITEM_MST a on c.CN_S_TRAY_CODE=a.CN_S_TRAY_CODE join TN_WM_B_TRAY_ITEM_DTL b on a.CN_GUID=b.CN_PARENT_GUID "; string strWhere = ""; if (!string.IsNullOrEmpty(v.CN_S_STOCK_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_STOCK_CODE='" + v.CN_S_STOCK_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_STOCK_AREA)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_STOCK_AREA='" + v.CN_S_STOCK_AREA + "'"; } if (!string.IsNullOrEmpty(v.CN_S_PRODUCTION_BATCH)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_PRODUCTION_BATCH='" + v.CN_S_PRODUCTION_BATCH + "'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_ITEM_CODE like '%" + v.CN_S_ITEM_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_ITEM_NAME)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_ITEM_NAME like '%" + v.CN_S_ITEM_NAME + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_LOT_NO)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_LOT_NO like '%" + v.CN_S_LOT_NO + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_MODEL)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_MODEL like '%" + v.CN_S_MODEL + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_STATE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_STATE='" + v.CN_S_STATE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_OWNER)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_OWNER='" + v.CN_S_OWNER + "'"; } if (!string.IsNullOrEmpty(v.CN_S_LOCATION_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_LOCATION_CODE like '%" + v.CN_S_LOCATION_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_UNIQUE_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_UNIQUE_CODE like '%" + v.CN_S_UNIQUE_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_TRAY_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " a.CN_S_TRAY_CODE like '%" + v.CN_S_TRAY_CODE + "%'"; } if (strWhere.Length > 0) sql = sql + " where " + strWhere; //sql = "(" + sql + ") t"; string order = " order by CN_S_LOCATION_CODE desc "; if (!export) return ExecutePagingData("(" + sql + ") t", searchModel.PageIndex, searchModel.PageSize, out total, order, ""); else { total = 0;//无效 return ExecuteDataTable(sql, ""); } } public DataTable GetLocationInventoryListJx(SearchModel searchModel, out long total, bool export) { var v = new { CN_S_STOCK_CODE = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_CODE), CN_S_STOCK_AREA = Util.ToString(searchModel.SearchCondition.CN_S_STOCK_AREA), CN_S_LOCATION_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_LOCATION_CODE), CN_S_TRAY_CODE = Util.ToStringInput(searchModel.SearchCondition.CN_S_TRAY_CODE), }; string sql = @" SELECT * FROM tn_wm_b_tray_location "; string strWhere = ""; if (!string.IsNullOrEmpty(v.CN_S_STOCK_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_STOCK_CODE='" + v.CN_S_STOCK_CODE + "'"; } if (!string.IsNullOrEmpty(v.CN_S_STOCK_AREA)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_STOCK_AREA='" + v.CN_S_STOCK_AREA + "'"; } if (!string.IsNullOrEmpty(v.CN_S_LOCATION_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_LOCATION_CODE like '%" + v.CN_S_LOCATION_CODE + "%'"; } if (!string.IsNullOrEmpty(v.CN_S_TRAY_CODE)) { if (strWhere.Length > 0) strWhere += " and "; strWhere += " CN_S_TRAY_CODE like '%" + v.CN_S_TRAY_CODE + "%'"; } if (strWhere.Length > 0) sql = sql + " where " + strWhere; //sql = "(" + sql + ") t"; string order = " order by CN_S_LOCATION_CODE desc "; if (!export) return ExecutePagingData("(" + sql + ") t", searchModel.PageIndex, searchModel.PageSize, out total, order, ""); else { total = 0;//无效 return ExecuteDataTable(sql, ""); } } #endregion #region 更新记录 /// /// 更新记录 /// /// public List GetVersionLog() { string sql = @"SELECT * FROM TN_WM_VERSION_LOG ORDER BY CN_S_VERSION DESC, CN_T_UPDATE DESC,CN_N_ORDER"; return ExecuteQuery(sql); } #endregion } }