using HanHe.Utility.Data; using HH.WMS.Entitys; 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.Check { public class TN_WM_CHECK_WXYSDAL : DapperBaseDAL { #region GET public DataTable GetCheckList(dynamic obj) { var sqlWhere = " WHERE 1=1 ";//" WHERE CN_S_OP_NO ='' "; var orderBy = " ORDER BY CN_S_STOCK_AREA DESC "; var opNo = obj.Value("opNo"); var locationCode = obj.Value("locationCode"); var stockArea = obj.Value("stockArea"); if (string.IsNullOrEmpty(opNo)) { sqlWhere += " AND CN_S_OP_NO='' "; } else { sqlWhere += " AND (CN_S_OP_NO='' OR CN_S_OP_NO='" + opNo + "') "; } if (!string.IsNullOrEmpty(locationCode)) { sqlWhere += " AND CN_S_LOCATION_CODE LIKE '%" + locationCode + "%' "; } if (!string.IsNullOrEmpty(stockArea)) { sqlWhere += " AND CN_S_STOCK_AREA='" + stockArea + "' "; } var tableName = " (SELECT DISTINCT CN_S_STOCK_AREA,CN_S_STOCK_CODE,CN_S_LOCATION_CODE,CN_S_TRAY_CODE FROM [dbo].[tn_wm_check_list] " + sqlWhere + ") a "; DbCommand cmd = DataAccess.GetStoredProcCommand("prc_query"); this.DataAccess.AddInParameter(cmd, "TableName", ComDbType.CHAR, tableName);//"TN_WM_CHECK_LIST"); this.DataAccess.AddInParameter(cmd, "WhereStr", ComDbType.CHAR, ""); this.DataAccess.AddInParameter(cmd, "OrderByStr", ComDbType.CHAR, orderBy); 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 UPDATE public OperateResult UpdateCheckListOpNo(string beforeOpNo, string afterOpNo, IDbTransaction trans) { var sql = string.Format(@" UPDATE tn_wm_check_list SET CN_S_OP_NO='{0}' WHERE CN_S_OP_NO='{1}' ", afterOpNo, beforeOpNo); return ExecuteTranSql(sql, null, trans); } #endregion } }