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
using HH.WMS.Common;
using HH.WMS.DAL;
using HH.WMS.Entitys;
using HH.WMS.Entitys.Entitys;
using HH.WMS.Entitys.Tzlj;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace HH.WMS.BLL.Project.Tzlj
{
    /// <summary>
    /// MES物料信息 (泰州隆基)
    /// </summary>
    public class MesStackTrayBLL : DapperBaseBLL
    {
        #region GET
 
        /// <summary>
        /// 获取叠拖数据
        /// </summary>
        public void GetStackTrayByMes(string trayCode)
        {
            var result = WebApiManager.HttpMes_Get("/api/values/?lotsn=" + trayCode, "");
            var mesStackTray = JsonConvert.DeserializeObject<MesStackTrayEntity>(result);
            mesStackTray.TrayCode = trayCode;
            //往数据库添加一条
            BLLCreator.Create<DapperBLL<MesStackTrayEntity>>().Add(mesStackTray, null);
 
            //客户、功率、电流档位、等级、分布式订单需要加同色号
        }
 
 
        /// <summary>
        /// 判断物料规格是否已经存在
        /// </summary>
        public TN_WM_B_TRAY_LOCATIONEntity JudgeItemSpecs(MesStackTrayEntity mesStackTray)
        {
            var zanCunAreaCode = "";
 
            //查找暂存区托盘的规格物料
            var trayLocations = CreateDAL<DapperDAL<TN_WM_B_TRAY_LOCATIONEntity>>().GetList(new { CN_S_STOCK_AREA = zanCunAreaCode });
            foreach (var trayLocation in trayLocations)
            {
                var trayMst = CreateDAL<DapperDAL<TN_WM_B_TRAY_ITEM_MSTEntity>>().GetSingleEntity(new { CN_S_TRAY_CODE = trayLocation.CN_S_TRAY_CODE });
                if (trayMst != null)
                {
                    var mesStackTrayTemp = CreateDAL<DapperDAL<MesStackTrayEntity>>().GetSingleEntity(new { CN_GUID = trayMst.CN_S_OWNER });
                    if (mesStackTrayTemp != null)
                    {
                        if (mesStackTrayTemp.CustomerName.Equals(mesStackTray.CustomerName)
                            && mesStackTrayTemp.Power.Equals(mesStackTray.Power)
                            && mesStackTrayTemp.CurrentLevel.Equals(mesStackTray.CurrentLevel)
                            && mesStackTrayTemp.Level.Equals(mesStackTray.Level))
                        {
                            if (mesStackTray.POType.Equals("D") || mesStackTray.POType.Equals("A"))
                            {
                                if (mesStackTrayTemp.Color.Equals(mesStackTray.Color))
                                {
                                    return trayLocation;
                                }
                            }
                            else
                            {
                                return trayLocation;
                            }
                        }
                    }
                }
            }
 
            return null;
        }
 
        #endregion
    }
}