wanshenmean
15 小时以前 314076388f664f8ce1a1d19c4c9717fe54634e05
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
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
using WIDESEA_IBasicService;
using WIDESEA_Model.Models;
 
namespace WIDESEA_StockService
{
    /// <summary>
    /// MES设备配置服务实现类
    /// </summary>
    public class MESDeviceConfigService : ServiceBase<Dt_MESDeviceConfig, IRepository<Dt_MESDeviceConfig>>, IMESDeviceConfigService
    {
        /// <summary>
        /// 获取MES设备配置仓储接口
        /// </summary>
        public IRepository<Dt_MESDeviceConfig> Repository => BaseDal;
 
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="baseDal">基础数据访问对象</param>
        public MESDeviceConfigService(IRepository<Dt_MESDeviceConfig> baseDal) : base(baseDal)
        {
        }
 
        /// <summary>
        /// 根据设备名称获取MES设备配置(精确匹配)
        /// </summary>
        /// <param name="deviceName">设备名称</param>
        /// <returns>MES设备配置,如果未找到则返回null</returns>
        public Dt_MESDeviceConfig? GetByDeviceName(string deviceName)
        {
            if (string.IsNullOrWhiteSpace(deviceName))
            {
                return null;
            }
 
            return BaseDal.QueryFirst(x => x.DeviceName == deviceName);
        }
 
        /// <summary>
        /// 根据设备名称和仓库编码获取MES设备配置
        /// 匹配条件:DeviceName精确匹配且(WarehouseCode为空或等于指定的仓库编码)
        /// </summary>
        /// <param name="deviceName">设备名称</param>
        /// <param name="warehouseCode">仓库编码</param>
        /// <returns>MES设备配置,如果未找到则返回null</returns>
        public Dt_MESDeviceConfig? GetByDeviceNameAndWarehouse(string deviceName, string warehouseCode)
        {
            if (string.IsNullOrWhiteSpace(deviceName))
            {
                return null;
            }
 
            return BaseDal.QueryFirst(x =>
                x.DeviceName == deviceName &&
                (string.IsNullOrEmpty(x.WarehouseCode) || x.WarehouseCode == warehouseCode));
        }
    }
}