jt
2021-06-10 5d0d028456874576560552f5a5c4e8b801786f11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
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<string>("opNo");
            var locationCode = obj.Value<string>("locationCode");
            var stockArea = obj.Value<string>("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
    }
}