3 Commits 432b4c6f44 ... 2b8df84c48

Author SHA1 Message Date
  莫海杰 2b8df84c48 tijiao 1 month ago
  莫海杰 3fd6b3a60f 提交 1 month ago
  莫海杰 677fd0ccc9 提交 2 months ago

BIN
Lib/SCADA.dll


+ 7 - 3
SCADA_DAQ/Customer/Machines/SampleMachine_DateTimeChanged.cs

@@ -48,8 +48,12 @@ namespace SCADA_DAQ.Customer.Machines
             if (e.ChangeType == DateTimeChangeType.SecondChanged && e.TimeFlag.Hour == 4)
             {
                 // 关闭上传报null的任务
-                var closeTaskSql = "UPDATE App_BC_ItemTask SET State_Int = 6 WHERE ErrorMsg_Str LIKE '%System.Reflection.TargetInvocation%' AND State_Int = 0";
-                Env.DAL.ReadDataTable(closeTaskSql);
+                //var closeTaskSql = "UPDATE App_BC_ItemTask SET State_Int = 6 WHERE ErrorMsg_Str LIKE '%System.Reflection.TargetInvocation%' AND State_Int = 0";
+                //Env.DAL.ReadDataTable(closeTaskSql);
+
+                // 把数量设置为1
+                var updateQtySql = "UPDATE App_BC_Inventory SET Qty_Dec = 1 WHERE  Qty_Dec != 1";
+                Env.DAL.ReadDataTable(updateQtySql);
 
                 // 超10000删除操作日志
                 var Logsql = $@"select count() as Total from App_BC_OperateLog";
@@ -63,7 +67,7 @@ namespace SCADA_DAQ.Customer.Machines
                 var ItemTaskTotalList = Env.DAL.ReadDataTable(sql).DtToList<AppBCItemTaskVo>();
                 foreach (var itemTaskTotal in ItemTaskTotalList)
                 {
-                    if (itemTaskTotal.TaskType == false && itemTaskTotal.State == 5 && itemTaskTotal.Total >= 70000)
+                    if (itemTaskTotal.TaskType == false && itemTaskTotal.State == 5 && itemTaskTotal.Total >= 5000)
                     {
                         Env.DAL.App_BC_ItemTask.Delete("ID IN (SELECT ID FROM App_BC_ItemTask Where State_Int = 5 AND TaskType_Bit = 0 ORDER BY ID ASC LIMIT 10)");
                     }

+ 22 - 3
SCADA_DAQ/Customer/Machines/SampleMachine_ScanCompleted.cs

@@ -6,6 +6,8 @@ using SCADA.CommonLib.Data.DIL;
 using SCADA.CommonLib.Helper;
 using SCADA.Drive;
 using SCADA_DAQ.Customer.Models;
+using SCADA_DAQ.Customer.Utils;
+using SCADA_DAQ.Plugin.Machine;
 using SCADA_DAQ.Plugin.Machine.Device;
 using SCADA_DAQ.Plugin.Machine.HDAConfig;
 using System;
@@ -30,9 +32,24 @@ namespace SCADA_DAQ.Customer.Machines
         {
             if (RedundancyService?.RedundancyState == RedundancyStates.Standby) { return; }  //如果是待机模式就不执行下面的逻辑
             base.ScanCompleted(sender, e);
-            #region 按输送线按钮回原位
-            bool lowThenUpShelf(OperationBo ltuOperation)
+            if (BaseDevice.DeviceID.StartsWith("输送线"))
             {
+                var op = new OperationBo { StartRow = 2, StartCol = 42, StartLayer = 5, ItemName = "标准_塑料管夹_THPG-342" };
+                var opHex = op.OperToHex();
+                var screen3 = MachineServer.GetInstance().GetMachine<SampleMachine>("显示屏3");
+  //             if (screen3.GetListenReg("400001") != null)
+  //             {
+  //                 screen3.GetListenReg("400001").WriteReg("标准_塑料管夹_THPG-342");
+  //             }
+
+
+                //var screen4 = MachineServer.GetInstance().GetMachine<SampleMachine>("显示屏4");
+
+
+
+                #region 按输送线按钮回原位
+                bool lowThenUpShelf(OperationBo ltuOperation)
+                {
                 var flag = false;
                 var craneIsRun = false;
                 if (ltuOperation.Crane == 1)
@@ -234,7 +251,9 @@ namespace SCADA_DAQ.Customer.Machines
                     }
                 }
             }
-            #endregion
+                #endregion
+
+            }
         }
     }
 }

+ 0 - 18
SCADA_DAQ/Customer/Models/InventoryViewVo.cs

@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SCADA_DAQ.Customer.Models
-{
-    public class InventoryViewVo
-    {
-        public int ID { get; set; }
-        public string SourceLocation { get;set;} 
-        public int Row {get;set;}
-        public int Col {get;set;}
-        public int Layer {get;set;}
-        public int State {get;set;}
-    }
-}

+ 0 - 17
SCADA_DAQ/Customer/Models/MoveInventoryVo.cs

@@ -1,17 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SCADA_DAQ.Customer.Models
-{
-    public class MoveInventoryVo
-    { 
-        public string FromWarehouseCode { get; set; }
-        public decimal FormQty { get; set; }
-        public decimal MoveQty { get; set; }
-        public string ToWarehouseCode { get; set; }
-        public string ItemCode { get; set; }
-    }
-}

+ 0 - 21
SCADA_DAQ/Customer/Models/ShowSyncedState.cs

@@ -1,21 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SCADA_DAQ.Customer.Models
-{
-    public enum ShowSyncedState
-    {
-        [Description("已上传")]
-        Synced = 1,
-        [Description("未上传")]
-        NotSynced = 0,
-        [Description("上传失败")]
-        SyncedError = 2,
-        [Description("不筛选")]
-        AllShow = 3,
-    }
-}

+ 0 - 25
SCADA_DAQ/Customer/Models/SourceLocationStateEnum.cs

@@ -1,25 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SCADA_DAQ.Customer.Models
-{
-    public enum SourceLocationStateEnum
-    {
-        [Description("空闲")]
-        Free = 0,
-        [Description("工作")]
-        Job = 1,
-        [Description("空盘")]
-        None = 2,
-        [Description("有货")]
-        Has = 3,
-        [Description("占用")]
-        Occupied = 4,
-        [Description("封闭")]
-        Closed = 5
-    }
-}

+ 0 - 89
SCADA_DAQ/Customer/Models/WMSMachineTask.cs

@@ -1,89 +0,0 @@
-using DBNames;
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.DataAnnotations.Schema;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace SCADA_DAQ.Customer.Models
-{
-    //public class WMSMachineTask : OperationBo
-
-    //{      
-    //    /// <summary>
-    //    /// 库位库存数量
-    //    /// </summary>
-    //    public decimal Qty { get; set; }
-    //    public int ID { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.OrgID_Int)]
-    //    public int OrgID { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.TaskNo_Str)]
-    //    public string TaskNo { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.State_Int)]
-    //    public TaskStateEnum State { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.TechStation_Str)]
-    //    public string TechStation { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.TaskGroupNo_Str)]
-    //    public string TaskGroupNo { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.BillNo_Str)]
-    //    public string BillNo { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.TaskType_Bit)]
-    //    public bool TaskType { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.IsSynced_Bit)]
-    //    public bool IsSynced { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.IsOffline_Bit)]
-    //    public bool IsOffline { get; set; }
-    //    /// <summary>
-    //    /// 物料号
-    //    /// </summary>
-    //    [Column(T_Col_Name.App_BC_Task.ItemCode_Str)]
-    //    public string ItemCode { get; set; }
-    //    /// <summary>
-    //    /// 物料名
-    //    /// </summary>
-    //    [Column(T_Col_Name.App_BC_Task.ItemName_Str)]
-    //    public string ItemName { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.ItemExtPropName_Str)]
-    //    public string ItemExtPropName { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.WarehouseCode_Str)]
-    //    public string WarehouseCode { get; set; }
-    //    /// <summary>
-    //    /// 计划数量
-    //    /// </summary>
-    //    [Column(T_Col_Name.App_BC_Task.PlannedQty_Dec)]
-    //    public double PlannedQty { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.UnitCode_Str)]
-    //    public string UnitCode { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.Lot_Str)]
-    //    public string Lot { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.Lpn_Str)]
-    //    public string LPN { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.OnhandState_Int)]
-    //    public OnhandStateEnum OnhandState { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt01_Str)]
-    //    public string LotAtt01 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt02_Str)]
-    //    public string LotAtt02 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt03_Str)]
-    //    public string LotAtt03 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt04_Str)]
-    //    public string LotAtt04 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt05_Str)]
-    //    public string LotAtt05 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt06_Str)]
-    //    public string LotAtt06 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt07_Str)]
-    //    public string LotAtt07 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt08_Str)]
-    //    public string LotAtt08 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt09_Str)]
-    //    public string LotAtt09 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt10_Str)]
-    //    public string LotAtt10 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt11_Str)]
-    //    public string LotAtt11 { get; set; }
-    //    [Column(T_Col_Name.App_BC_Task.LotAtt12_Str)]
-    //    public string LotAtt12 { get; set; }
-    //}
-}

+ 0 - 630
SCADA_DAQ/Customer/Service/Wcs_WebMergeTaskService.cs

@@ -1,630 +0,0 @@
-using SCADA.CommonLib;
-using SCADA.CommonLib.Data.DIL;
-using SCADA.CommonLib.Helper;
-using SCADA_DAQ.Customer.Models;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using DBModel;
-using DBNames;
-using Xceed.Wpf.Toolkit.PropertyGrid.Attributes;
-using static SCADA_DAQ.Customer.CustomerEnv;
-using Mysqlx;
-using SCADA_DAQ.Customer.Utils;
-using IdGen;
-using NPOI.SS.Formula.Functions;
-
-namespace SCADA_DAQ.Customer.Service
-{
-    public partial class WcsService
-    {
-        /// <summary>
-        /// 前端手动合并上架任务,更新已合并字段
-        /// </summary>
-        /// <param name="wmsItemUpList"></param>
-        /// <returns></returns>
-        //public RpcResponse<object> MergeItemUpList(List<AppBCItemTaskModel> wmsItemUpList)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var billNOList = wmsItemUpList.ToLookup(t => t.BillNo);
-        //    var itemUpList = new List<AppBCItemUpModel>();
-        //    var updateItemUpList = new List<AppBCItemTaskModel>();
-        //    foreach (var item in billNOList)
-        //    {
-        //        foreach (var itemm in item)
-        //        {
-        //            if (!itemUpList.Any(t => t.BillNo == itemm.BillNo && t.ItemCode == itemm.ItemCode && t.WarehouseCode == itemm.WarehouseCode))
-        //            {
-        //                itemUpList.Add(new AppBCItemUpModel()
-        //                {
-        //                    ItemNo = itemm.TaskNo,
-        //                    BillNo = itemm.BillNo,
-        //                    ItemCode = itemm.ItemCode,
-        //                    ItemName = itemm.ItemName,
-        //                    OnhandState = itemm.OnhandState,
-        //                    PlannedTotalQty = itemm.PlannedQty,
-        //                    ActualTotalQty = itemm.PlannedQty,
-        //                    UnitCode = itemm.UnitCode,
-        //                    IsSynced = false,
-        //                    SourceLocations = "",
-        //                    LocationItemsNum = "",
-        //                    LocationNum = 0,
-        //                    WarehouseCode = itemm.WarehouseCode,
-        //                    CreateTime = DateTime.Now.ToString()
-        //                });
-        //            }
-        //            else
-        //            {
-        //                var itemCode = itemUpList.Where(j => j.BillNo == itemm.BillNo && j.ItemCode == itemm.ItemCode).ToList();
-        //                itemCode[0].ItemNo += $"/{itemm.TaskNo}";
-        //                itemCode[0].PlannedTotalQty += itemm.PlannedQty;
-        //                itemCode[0].ActualTotalQty += itemm.PlannedQty;
-        //            }
-        //            updateItemUpList.Add(new AppBCItemTaskModel()
-        //            {
-        //                TaskNo = itemm.TaskNo,
-        //                IsMerged = true
-        //            });
-        //        }
-        //    }
-        //    //CustomerEnv.WMSItemUpList.AddRange(itemUpList);
-        //    var dbRes = Env.DAL.BatchUpdateOrInsert(
-        //        updateItemUpList,
-        //        t => new { t.TaskNo },   //更新条件
-        //        null,
-        //        t => new { t.IsMerged }   //更新字段
-        //    );   //批量更新
-        //    var dbResult = Env.DAL.Insert(itemUpList);
-        //    // 更新父任务表库位
-        //    for (int i = 0; i < itemUpList.Count; i++)
-        //    {
-        //        var isOK = QueryWMSItemUpListSourceLocations(itemUpList[i]);
-        //    }
-        //    if (dbResult.IsSucceed == true && dbRes)
-        //    {
-        //        res.Message = $"上架任务合并成功";
-        //        return res;
-        //    }
-        //    res.IsSucceed = false;
-        //    res.Message = $"上架任务合并失败";
-        //    return res;
-        //}
-
-        /// <summary>
-        /// 前端手动合并下架任务,更新已合并字段
-        /// </summary>
-        /// <param name="wmsItemLowList"></param>
-        /// <returns></returns>
-        //public RpcResponse<object> MergeItemLowList(List<AppBCItemTaskModel> wmsItemLowList)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var billNOList = wmsItemLowList.ToLookup(t => t.BillNo);
-        //    var itemLowList = new List<AppBCItemLowModel>();
-        //    var updateItemLowList = new List<AppBCItemTaskModel>();
-        //    foreach (var item in billNOList)
-        //    {
-        //        foreach (var itemm in item)
-        //        {
-        //            if (!itemLowList.Any(t => t.BillNo == itemm.BillNo && t.ItemCode == itemm.ItemCode && t.WarehouseCode == itemm.WarehouseCode))
-        //            {
-        //                itemLowList.Add(new AppBCItemLowModel()
-        //                {
-        //                    ItemNo = itemm.TaskNo,
-        //                    BillNo = itemm.BillNo,
-        //                    ItemCode = itemm.ItemCode,
-        //                    ItemName = itemm.ItemName,
-        //                    OnhandState = itemm.OnhandState,
-        //                    PlannedTotalQty = itemm.PlannedQty,
-        //                    ActualTotalQty = itemm.PlannedQty,
-        //                    UnitCode = itemm.UnitCode,
-        //                    IsSynced = false,
-        //                    SourceLocations = "",
-        //                    LocationItemsNum = "",
-        //                    LocationNum = 0,
-        //                    WarehouseCode = itemm.WarehouseCode,
-        //                    SourceLocationTag = itemm.SourceLocationTag,
-        //                    CreateTime = DateTime.Now.ToString()
-        //                });
-        //            }
-        //            else
-        //            {
-        //                var itemCode = itemLowList.Where(j => j.BillNo == itemm.BillNo && j.ItemCode == itemm.ItemCode).ToList();
-        //                itemCode[0].ItemNo += $"/{itemm.TaskNo}";
-        //                itemCode[0].PlannedTotalQty += itemm.PlannedQty;
-        //                itemCode[0].ActualTotalQty += itemm.PlannedQty;
-        //            }
-        //            updateItemLowList.Add(new AppBCItemTaskModel()
-        //            {
-        //                TaskNo = itemm.TaskNo,
-        //                IsMerged = true
-        //            });
-        //        }
-        //    }
-        //    //CustomerEnv.WMSItemLowList.AddRange(itemLowList);
-        //    var dbRes = Env.DAL.BatchUpdateOrInsert(
-        //        updateItemLowList,
-        //        t => new { t.TaskNo },   //更新条件
-        //        null,
-        //        t => new { t.IsMerged }   //更新字段
-        //    );   //批量更新
-        //    var dbResult = Env.DAL.Insert(itemLowList);
-        //    // 更新父任务表库位
-        //    for (int i = 0; i < itemLowList.Count; i++)
-        //    {
-        //        var isOK = QueryWMSItemLowListSourceLocations(itemLowList[i]);
-        //    }
-        //    if (dbResult.IsSucceed == true && dbRes)
-        //    {
-        //        res.Message = $"下架任务合并成功";
-        //        return res;
-        //    }
-        //    res.IsSucceed = false;
-        //    res.Message = $"下架任务合并失败";
-        //    return res;
-        //}
-
-
-        // 获取任务表 上架
-        //public RpcResponse<object> GetItemUpTaskTable(PageBo page, AppBCItemTaskVo item, int show, int taskState)
-        //{
-        //    var taskNoSql = item.TaskNo.Split(',');
-        //    var taskNoinFiler = "";
-        //    for (var i = 0; i < taskNoSql.Length; i++)
-        //    {
-        //        if (taskNoinFiler == "")
-        //        {
-        //            taskNoinFiler = $"'{taskNoSql[i]}'";
-        //        }
-        //        else taskNoinFiler += $",'{taskNoSql[i]}'";
-        //    }
-        //    var taskNoFilterStr = $" TaskNo_Str in ({taskNoinFiler})";
-        //    var woNoSql = item.WoNo.Split(',');
-        //    var woNoinFiler = "";
-        //    for (var i = 0; i < woNoSql.Length; i++)
-        //    {
-        //        if (woNoinFiler == "")
-        //        {
-        //            woNoinFiler = $"'{woNoSql[i]}'";
-        //        }
-        //        else woNoinFiler += $",'{woNoSql[i]}'";
-        //    }
-        //    var woNoFilterStr = $" WoNo_Str in ({woNoinFiler})";
-        //    var woNoFilter = item.WoNo == null ? "1=1" : item.WoNo == "" ? "1=1" : $"{woNoFilterStr}";
-        //    var taskNoFilter = item.TaskNo == null ? "1=1" : item.TaskNo == "" ? "1=1" : $"{taskNoFilterStr}";
-        //    var typefilter = $"TaskType_Bit = 1";
-        //    var billNoFilter = item.BillNo == null ? "1=1" : item.BillNo == "" ? "1=1" : $"BillNo_Str='{item.BillNo}'";
-        //    var itemCodeFilter = item.ItemCode == null ? "1=1" : item.ItemCode == "" ? "1=1" : $"ItemCode_Str='{item.ItemCode}'";
-        //    var sourceLocationGroupFilter = item.SourceLocationGroup == null ? "1=1" : item.SourceLocationGroup == "" ? "1=1" : $"SourceLocationGroup_Str='{item.SourceLocationGroup}'";
-        //    var mergedFilter = show == 1 ? "IsMerged_Bit='1'" : show == 0 ? "IsMerged_Bit='0'" : $"1=1";
-        //    var taskStateFilter = taskState == 10 ? "1=1" : $"State_Int='{taskState}'";
-        //    var filterStr = $"{typefilter} and {billNoFilter} and {taskNoFilter} and {itemCodeFilter} and {woNoFilter} and {mergedFilter} and {sourceLocationGroupFilter}  and {taskStateFilter}";
-        //    var sqlStr = GetTableSql("App_BC_ItemTask", filterStr, page);
-        //    var taskTable = Env.DAL.ReadDataTable(sqlStr).DtToList<AppBCItemTaskVo>();
-        //    return new RpcResponse<object>()
-        //    {
-        //        Data = taskTable
-        //    };
-        //}
-
-
-        //下架合并 工单号合并
-        //public RpcResponse<object> MergeItemLowList(string workNos, string sourceLocationGroup)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var itemWorkNo = workNos;
-        //    var WorkSql = workNos.Split(',');
-        //    var inFiler = "";
-        //    for (var i = 0; i < WorkSql.Length; i++)
-        //    {
-        //        if (inFiler == "")
-        //        {
-        //            inFiler = $"'{WorkSql[i]}'";
-        //        }
-        //        else inFiler += $",'{WorkSql[i]}'";
-        //    }
-        //    var mergedList = Env.DAL.App_BC_ItemTask.GetData<App_BC_ItemTask>($"WoNo_Str in ({inFiler}) and  IsMerged_Bit = 1 and State_Int = 0  and SourceLocationGroup_Str = '{sourceLocationGroup}'");
-        //    if (mergedList.Count > 0)
-        //    {
-        //        var mergedWoNos = mergedList.GroupBy(t => t.WoNo_Str).Select(t => t.First().WoNo_Str).ToList<string>();
-        //        res.Message = $"存在合并过的工单号{string.Join(",",mergedWoNos)}货架{sourceLocationGroup}创建任务, 请先删除";
-        //        res.IsSucceed = false;
-        //        return res;
-        //    }
-        //    var taskFilter = $"WoNo_Str in ({inFiler}) and  TaskType_Bit = 0 and State_Int = 0  and SourceLocationGroup_Str = '{sourceLocationGroup}'";
-        //    var taskItemList = Env.DAL.App_BC_ItemTask.GetData<App_BC_ItemTask>(taskFilter);
-        //    if (taskItemList.Count == 0)
-        //    {
-        //        res.Message = $"找不到需要合并的工单号{workNos}创建任务";
-        //        res.IsSucceed = false;
-        //        return res;
-        //    }
-        //    taskItemList = taskItemList.OrderBy(x => x.TaskNo_Str).ToList();
-        //    var billNoIL = taskItemList.ToLookup(t => new { t.BillNo_Str, t.WorkCenter_Str });
-        //    var itemLowList = new List<App_BC_ItemLow>();
-        //    var updateItemTaskList = new List<App_BC_ItemTask>();
-        //    foreach (var billNoItem in billNoIL)
-        //    {
-        //        foreach (var billNoChildItem in billNoItem)
-        //        {
-        //            if (!itemLowList.Any(t => t.BillNo_Str == billNoChildItem.BillNo_Str && t.ItemCode_Str == billNoChildItem.ItemCode_Str && t.WarehouseCode_Str == billNoChildItem.WarehouseCode_Str && t.WorkCenter_Str == billNoChildItem.WorkCenter_Str))
-        //            {
-        //                itemLowList.Add(new App_BC_ItemLow()
-        //                {
-        //                    ItemNo_Str = billNoChildItem.TaskNo_Str,
-        //                    BillNo_Str = billNoChildItem.BillNo_Str,
-        //                    ItemCode_Str = billNoChildItem.ItemCode_Str,
-        //                    ItemName_Str = billNoChildItem.ItemName_Str,
-        //                    OnhandState_Int = billNoChildItem.OnhandState_Int,
-        //                    PlannedTotalQty_Dec = billNoChildItem.PlannedQty_Dec,
-        //                    ActualTotalQty_Dec = billNoChildItem.PlannedQty_Dec,
-        //                    UnitCode_Str = billNoChildItem.UnitCode_Str,
-        //                    SourceLocations_Str = "",
-        //                    LocationItemsNum_Str = "",
-        //                    LocationNum_Int = 0,
-        //                    WarehouseCode_Str = billNoChildItem.WarehouseCode_Str,
-        //                    SourceLocationTag_Str = billNoChildItem.SourceLocationTag_Str,
-        //                    ItemWorkNo_Str = itemWorkNo,
-        //                    WoNos_Str = billNoChildItem.WoNo_Str,
-        //                    WorkCenter_Str = billNoChildItem.WorkCenter_Str,
-        //                    CreateTime_Str = DateTime.Now.ToString()
-        //                });
-        //            }
-        //            else
-        //            {
-        //                var list = itemLowList.Where(j => j.BillNo_Str == billNoChildItem.BillNo_Str && j.ItemCode_Str == billNoChildItem.ItemCode_Str).ToList();
-        //                list[0].ItemNo_Str += $"/{billNoChildItem.TaskNo_Str}";
-        //                list[0].WoNos_Str += $"/{billNoChildItem.WoNo_Str}";
-        //                list[0].PlannedTotalQty_Dec += billNoChildItem.PlannedQty_Dec;
-        //                list[0].ActualTotalQty_Dec += billNoChildItem.PlannedQty_Dec;
-        //            }
-        //            updateItemTaskList.Add(new App_BC_ItemTask()
-        //            {
-        //                TaskNo_Str = billNoChildItem.TaskNo_Str,
-        //                ItemWorkNo_Str = itemWorkNo,
-        //                IsMerged_Bit = true
-        //            });
-        //        }
-        //    }
-        //    itemLowList.OrderBy(t => t.SourceLocationTag_Str).ToList();
-
-        //    Env.DAL.App_BC_ItemLow.Insert(itemLowList,
-        //        t => new
-        //        {
-        //            t.ItemNo_Str,
-        //            t.BillNo_Str,
-        //            t.ItemCode_Str,
-        //            t.ItemName_Str,
-        //            t.OnhandState_Int,
-        //            t.PlannedTotalQty_Dec,
-        //            t.ActualTotalQty_Dec,
-        //            t.UnitCode_Str,
-        //            t.SourceLocations_Str,
-        //            t.LocationItemsNum_Str,
-        //            t.LocationNum_Int,
-        //            t.WarehouseCode_Str,
-        //            t.SourceLocationTag_Str,
-        //            t.ItemWorkNo_Str,
-        //            t.WoNos_Str,
-        //            t.WorkCenter_Str,
-        //            t.CreateTime_Str
-        //        });
-
-
-        //    Env.DAL.ExecuteNonQuery($" Update App_BC_ItemTask Set IsMerged_Bit= 1, ItemWorkNo_Str = '{workNos}' where {taskFilter}");
-
-        //    #region
-        //    //// 父表批量插入值拼接
-        //    //var itemLowColValues = "";
-        //    //for (int i = 0; i < itemLowList.Count; i++)
-        //    //{
-        //    //    if (i == 0)
-        //    //    {
-        //    //        itemLowColValues = $@"
-        //    //               (
-        //    //                   '{itemLowList[0].ItemNo_Str}', '{itemLowList[0].BillNo_Str}','{itemLowList[0].ItemCode_Str}', '{itemLowList[0].ItemName_Str}',
-        //    //                   '{itemLowList[0].OnhandState_Int}','{itemLowList[0].PlannedTotalQty_Dec}','{itemLowList[0].ActualTotalQty_Dec}','{itemLowList[0].UnitCode_Str}',
-        //    //                   '{itemLowList[0].SourceLocations_Str}', '{itemLowList[0].LocationItemsNum_Str}','{itemLowList[0].LocationNum_Int}', '{itemLowList[0].WarehouseCode_Str}',
-        //    //                   '{itemLowList[0].SourceLocationTag_Str}', '{itemLowList[0].ItemWorkNo_Str}','{itemLowList[0].WoNos_Str}', '{itemLowList[0].WorkCenter_Str}', '{DateTime.Now.ToString()}'
-        //    //               )";
-        //    //    }
-        //    //    else
-        //    //    {
-        //    //        itemLowColValues = $@"{itemLowColValues},
-        //    //              (
-        //    //                   '{itemLowList[i].ItemNo_Str}', '{itemLowList[i].BillNo_Str}','{itemLowList[i].ItemCode_Str}', '{itemLowList[i].ItemName_Str}',
-        //    //                   '{itemLowList[i].OnhandState_Int}','{itemLowList[i].PlannedTotalQty_Dec}','{itemLowList[i].ActualTotalQty_Dec}','{itemLowList[i].UnitCode_Str}',
-        //    //                   '{itemLowList[i].SourceLocations_Str}', '{itemLowList[i].LocationItemsNum_Str}','{itemLowList[i].LocationNum_Int}', '{itemLowList[i].WarehouseCode_Str}',
-        //    //                   '{itemLowList[i].SourceLocationTag_Str}', '{itemLowList[i].ItemWorkNo_Str}','{itemLowList[i].WoNos_Str}', '{itemLowList[i].WorkCenter_Str}', '{DateTime.Now.ToString()}'
-        //    //               )
-        //    //        ";
-        //    //    }
-        //    //}
-        //    //var insertSql = "";
-        //    //if (itemLowColValues != "")
-        //    //{
-        //    //    insertSql = $@"
-        //    //         Insert Into 
-        //    //         {nameof(App_BC_ItemLow)}(
-        //    //               ItemNo_Str, BillNo_Str, ItemCode_Str, ItemName_Str, 
-        //    //               OnhandState_Int, PlannedTotalQty_Dec, ActualTotalQty_Dec, UnitCode_Str, 
-        //    //               SourceLocations_Str, LocationItemsNum_Str, LocationNum_Int, WarehouseCode_Str,
-        //    //               SourceLocationTag_Str, ItemWorkNo_Str, WoNos_Str, WorkCenter_Str, CreateTime_Str
-        //    //          )
-        //    //          Values {itemLowColValues};";
-        //    //}
-        //    //// 子表拼接sql更新语句
-        //    //var updateItemTaskSql = "";
-        //    //for (int i = 0; i < updateItemTaskList.Count; i++)
-        //    //{
-        //    //    updateItemTaskSql = $"{updateItemTaskSql} Update {nameof(App_BC_ItemTask)} Set IsMerged_Bit= 1, ItemWorkNo_Str = '{updateItemTaskList[i].ItemWorkNo_Str}' Where TaskNo_Str = '{updateItemTaskList[i].TaskNo_Str}';";
-        //    //}
-        //    #endregion
-
-        //    // 更新 父表任务库位
-        //    var updateItemLowInventory = $@"
-        //        UPDATE App_BC_ItemLow
-        //        SET SourceLocations_Str = COALESCE((
-        //            SELECT GROUP_CONCAT(b.SourceLocation_Str, '/') 
-        //            FROM (
-		      //             SELECT App_BC_Inventory.Qty_Dec, App_BC_Inventory.SourceLocation_Str FROM App_BC_Inventory
-        //               WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemLow.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemLow.WarehouseCode_Str
-        //               ORDER BY App_BC_Inventory.Qty_Dec DESC
-		      //          ) b
-        //        ), null),
-        //        LocationItemsNum_Str = COALESCE((
-        //            SELECT GROUP_CONCAT(b.Qty_Dec, '/') 
-        //            FROM (
-		      //             SELECT App_BC_Inventory.Qty_Dec, App_BC_Inventory.SourceLocation_Str FROM App_BC_Inventory
-        //               WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemLow.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemLow.WarehouseCode_Str
-        //               ORDER BY App_BC_Inventory.Qty_Dec DESC
-		      //          ) b
-        //        ), null)
-        //        WHERE EXISTS (
-        //            SELECT 1 
-        //            FROM App_BC_Inventory 
-        //            WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemLow.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemLow.WarehouseCode_Str
-        //        ) AND (App_BC_ItemLow.SourceLocations_Str is null or App_BC_ItemLow.SourceLocations_Str = '');";
-
-        //    //{ insertSql}
-        //    //{ updateItemTaskSql}
-        //    var sqlStr = $@"
-        //       {updateItemLowInventory}
-        //    ";
-        //    Env.DAL.ReadDataTable(sqlStr);
-        //    res.Message = "合并成功";
-        //    return res;
-        //}
-
-        //// 上架合并 工单号合并
-        //public RpcResponse<object> MergeItemUpList(string workNos, string sourceLocationGroup)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var itemWorkNo = workNos;
-        //    var WorkSql = workNos.Split(',');
-        //    var inFiler = "";
-        //    for (var i = 0; i < WorkSql.Length; i++)
-        //    {
-        //        if (inFiler == "")
-        //        {
-        //            inFiler = $"'{WorkSql[i]}'";
-        //        }
-        //        else inFiler += $",'{WorkSql[i]}'";
-        //    }
-        //    var mergedList = Env.DAL.App_BC_ItemTask.GetData<App_BC_ItemTask>($"WoNo_Str in ({inFiler}) and  IsMerged_Bit = 1 and State_Int = 0");
-        //    if (mergedList.Count > 0)
-        //    {
-        //        var mergedWoNos = mergedList.GroupBy(t => t.WoNo_Str).Select(t => t.First().WoNo_Str).ToList<string>();
-        //        res.Message = $"存在合并过的工单号{string.Join(",", mergedWoNos)}创建任务, 请先删除";
-        //        res.IsSucceed = false;
-        //        return res;
-        //    }
-        //    var taskFilter = $"WoNo_Str in ({inFiler}) and  TaskType_Bit = 1 and State_Int = 0";
-        //    var taskItemList = Env.DAL.App_BC_ItemTask.GetData<App_BC_ItemTask>(taskFilter);
-        //    if (taskItemList.Count == 0)
-        //    {
-        //        res.Message = $"找不到需要合并的工单号{workNos}创建任务";
-        //        res.IsSucceed = false;
-        //        return res;
-        //    }
-        //    taskItemList = taskItemList.OrderBy(x => x.TaskNo_Str).ToList();
-        //    var billNoIL = taskItemList.ToLookup(t => new { t.BillNo_Str, t.WorkCenter_Str });
-        //    var itemUpList = new List<App_BC_ItemUp>();
-        //    var updateItemTaskList = new List<App_BC_ItemTask>();
-        //    foreach (var billNoItem in billNoIL)
-        //    {
-        //        foreach (var billNoChildItem in billNoItem)
-        //        {
-        //            if (!itemUpList.Any(t => t.BillNo_Str == billNoChildItem.BillNo_Str && t.ItemCode_Str == billNoChildItem.ItemCode_Str && t.WarehouseCode_Str == billNoChildItem.WarehouseCode_Str && t.WorkCenter_Str == billNoChildItem.WorkCenter_Str))
-        //            {
-        //                itemUpList.Add(new App_BC_ItemUp()
-        //                {
-        //                    ItemNo_Str = billNoChildItem.TaskNo_Str,
-        //                    BillNo_Str = billNoChildItem.BillNo_Str,
-        //                    ItemCode_Str = billNoChildItem.ItemCode_Str,
-        //                    ItemName_Str = billNoChildItem.ItemName_Str,
-        //                    OnhandState_Int = billNoChildItem.OnhandState_Int,
-        //                    PlannedTotalQty_Dec = billNoChildItem.PlannedQty_Dec,
-        //                    ActualTotalQty_Dec = billNoChildItem.PlannedQty_Dec,
-        //                    UnitCode_Str = billNoChildItem.UnitCode_Str,
-        //                    SourceLocations_Str = "",
-        //                    LocationItemsNum_Str = "",
-        //                    LocationNum_Int = 0,
-        //                    WarehouseCode_Str = billNoChildItem.WarehouseCode_Str,
-        //                    SourceLocationTag_Str = billNoChildItem.SourceLocationTag_Str,
-        //                    ItemWorkNo_Str = itemWorkNo,
-        //                    WoNos_Str = billNoChildItem.WoNo_Str,
-        //                    WorkCenter_Str = billNoChildItem.WorkCenter_Str,
-        //                    CreateTime_Str = DateTime.Now.ToString()
-        //                });
-        //            }
-        //            else
-        //            {
-        //                var list = itemUpList.Where(j => j.BillNo_Str == billNoChildItem.BillNo_Str && j.ItemCode_Str == billNoChildItem.ItemCode_Str).ToList();
-        //                list[0].ItemNo_Str += $"/{billNoChildItem.TaskNo_Str}";
-        //                list[0].WoNos_Str += $"/{billNoChildItem.WoNo_Str}";
-        //                list[0].PlannedTotalQty_Dec += billNoChildItem.PlannedQty_Dec;
-        //                list[0].ActualTotalQty_Dec += billNoChildItem.PlannedQty_Dec;
-        //            }
-        //            updateItemTaskList.Add(new App_BC_ItemTask()
-        //            {
-        //                TaskNo_Str = billNoChildItem.TaskNo_Str,
-        //                ItemWorkNo_Str = itemWorkNo,
-        //                IsMerged_Bit = true
-        //            });
-        //        }
-        //    }
-        //    itemUpList.OrderBy(t => t.SourceLocationTag_Str);
-        //    Env.DAL.App_BC_ItemUp.Insert(itemUpList,
-        //        t => new
-        //        {
-        //            t.ItemNo_Str,
-        //            t.BillNo_Str,
-        //            t.ItemCode_Str,
-        //            t.ItemName_Str,
-        //            t.OnhandState_Int,
-        //            t.PlannedTotalQty_Dec,
-        //            t.ActualTotalQty_Dec,
-        //            t.UnitCode_Str,
-        //            t.SourceLocations_Str,
-        //            t.LocationItemsNum_Str,
-        //            t.LocationNum_Int,
-        //            t.WarehouseCode_Str,
-        //            t.SourceLocationTag_Str,
-        //            t.ItemWorkNo_Str,
-        //            t.WoNos_Str,
-        //            t.WorkCenter_Str,
-        //            t.CreateTime_Str
-        //        });
-        //    #region
-        //    // 父表批量插入值拼接
-        //    //var itemUpColValues = "";
-        //    //for (int i = 0; i < itemUpList.Count; i++)
-        //    //{
-        //    //    if (i == 0)
-        //    //    {
-        //    //        itemUpColValues = $@"
-        //    //               (
-        //    //                   '{itemUpList[0].ItemNo_Str}', '{itemUpList[0].BillNo_Str}','{itemUpList[0].ItemCode_Str}', '{itemUpList[0].ItemName_Str}',
-        //    //                   '{itemUpList[0].OnhandState_Int}','{itemUpList[0].PlannedTotalQty_Dec}','{itemUpList[0].ActualTotalQty_Dec}','{itemUpList[0].UnitCode_Str}',
-        //    //                   '{itemUpList[0].SourceLocations_Str}', '{itemUpList[0].LocationItemsNum_Str}','{itemUpList[0].LocationNum_Int}', '{itemUpList[0].WarehouseCode_Str}',
-        //    //                   '{itemUpList[0].SourceLocationTag_Str}', '{itemUpList[0].ItemWorkNo_Str}','{itemUpList[0].WoNos_Str}', '{itemUpList[0].WorkCenter_Str}', '{DateTime.Now.ToString()}'
-        //    //               )";
-        //    //    }
-        //    //    else
-        //    //    {
-        //    //        itemUpColValues = $@"{itemUpColValues},
-        //    //              (
-        //    //                   '{itemUpList[i].ItemNo_Str}', '{itemUpList[i].BillNo_Str}','{itemUpList[i].ItemCode_Str}', '{itemUpList[i].ItemName_Str}',
-        //    //                   '{itemUpList[i].OnhandState_Int}','{itemUpList[i].PlannedTotalQty_Dec}','{itemUpList[i].ActualTotalQty_Dec}','{itemUpList[i].UnitCode_Str}',
-        //    //                   '{itemUpList[i].SourceLocations_Str}', '{itemUpList[i].LocationItemsNum_Str}','{itemUpList[i].LocationNum_Int}', '{itemUpList[i].WarehouseCode_Str}',
-        //    //                   '{itemUpList[i].SourceLocationTag_Str}', '{itemUpList[i].ItemWorkNo_Str}','{itemUpList[i].WoNos_Str}', '{itemUpList[i].WorkCenter_Str}', '{DateTime.Now.ToString()}'
-        //    //               )
-        //    //        ";
-        //    //    }
-        //    //}
-        //    //var insertSql = "";
-        //    //if (itemUpColValues != "")
-        //    //{
-        //    //    insertSql = $@"
-        //    //         Insert Into 
-        //    //         {nameof(App_BC_ItemUp)}(
-        //    //               ItemNo_Str, BillNo_Str, ItemCode_Str, ItemName_Str, 
-        //    //               OnhandState_Int, PlannedTotalQty_Dec, ActualTotalQty_Dec, UnitCode_Str, 
-        //    //               SourceLocations_Str, LocationItemsNum_Str, LocationNum_Int, WarehouseCode_Str,
-        //    //               SourceLocationTag_Str, ItemWorkNo_Str, WoNos_Str, WorkCenter_Str, CreateTime_Str
-        //    //          )
-        //    //          Values {itemUpColValues};";
-        //    //}
-        //    // 子表拼接sql更新语句
-        //    //var updateItemTaskSql = "";
-        //    //for (int i = 0; i < updateItemTaskList.Count; i++)
-        //    //{
-        //    //    updateItemTaskSql = $"{updateItemTaskSql} Update {nameof(App_BC_ItemTask)} Set IsMerged_Bit= 1, ItemWorkNo_Str = '{updateItemTaskList[i].ItemWorkNo_Str}' Where TaskNo_Str = '{updateItemTaskList[i].TaskNo_Str}';";
-        //    //}
-        //    #endregion
-
-
-        //    Env.DAL.ExecuteNonQuery($" Update App_BC_ItemTask Set IsMerged_Bit= 1, ItemWorkNo_Str = '{workNos}' where {taskFilter}");
-        //    // 更新 父表任务库位
-        //    var updateItemUpInventory = $@"
-        //        UPDATE App_BC_ItemUp
-        //        SET SourceLocations_Str = COALESCE((
-        //            SELECT GROUP_CONCAT(b.SourceLocation_Str, '/') 
-        //            FROM (
-		      //             SELECT App_BC_Inventory.Qty_Dec, App_BC_Inventory.SourceLocation_Str FROM App_BC_Inventory
-        //               WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemUp.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemUp.WarehouseCode_Str
-        //               ORDER BY App_BC_Inventory.Qty_Dec DESC
-		      //          ) b
-        //        ), null),
-        //        LocationItemsNum_Str = COALESCE((
-        //            SELECT GROUP_CONCAT(b.Qty_Dec, '/') 
-        //            FROM (
-		      //             SELECT App_BC_Inventory.Qty_Dec, App_BC_Inventory.SourceLocation_Str FROM App_BC_Inventory
-        //               WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemUp.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemUp.WarehouseCode_Str
-        //               ORDER BY App_BC_Inventory.Qty_Dec DESC
-		      //          ) b
-        //        ), null)
-        //        WHERE EXISTS (
-        //            SELECT 1 
-        //            FROM App_BC_Inventory 
-        //            WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemUp.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemUp.WarehouseCode_Str
-        //        ) AND (App_BC_ItemUp.SourceLocations_Str is null or App_BC_ItemUp.SourceLocations_Str = '');";
-
-        //    //{ insertSql}
-        //    //{ updateItemTaskSql}
-        //    var sqlStr = $@"
-        //       {updateItemUpInventory}
-        //    ";
-        //    Env.DAL.ReadDataTable(sqlStr);
-        //    res.Message = "合并成功";
-        //    return res;
-        //}
-
-
-        //public RpcResponse<object> DelItemLowItemWorkNo(string itemWorkNo, string tag)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var ok = Env.DAL.ReadDataTable($"DELETE FROM App_BC_ItemLow WHERE ItemWorkNo_Str = '{itemWorkNo}' and IsSynced_Bit = 0 and SourceLocationTag_Str like '%{tag}%'");
-        //    var result = Env.DAL.ReadDataTable($"UPDATE App_BC_ItemTask Set IsMerged_Bit= 0, ItemWorkNo_Str = null WHERE ItemWorkNo_Str = '{itemWorkNo}' and State_Int = 0");
-        //    res.Message = "删除成功";
-        //    return res;
-        //    return new RpcResponse<object>();
-        //}
-
-        //public RpcResponse<object> DelItemUpItemWorkNo(string itemWorkNo, string tag)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var ok = Env.DAL.ReadDataTable($"DELETE FROM App_BC_ItemUp WHERE ItemWorkNo_Str = '{itemWorkNo}' and IsSynced_Bit = 0");
-        //    var result = Env.DAL.ReadDataTable($"UPDATE App_BC_ItemTask Set IsMerged_Bit= 0, ItemWorkNo_Str = null WHERE ItemWorkNo_Str = '{itemWorkNo}' and State_Int = 0");
-        //    res.Message = "删除成功";
-        //    return res;
-        //    return new RpcResponse<object>();
-        //}
-
-       
-
-        //public RpcResponse<object> UpdateItemTaskSourceLocation1()
-        //{
-        //    var res = new RpcResponse<object>();
-        //    var ok = Env.DAL.ReadDataTable($@"  UPDATE App_BC_ItemTask
-        //        SET SourceLocation_Str = COALESCE((
-        //            SELECT b.SourceLocation_Str
-        //            FROM (
-		      //             SELECT App_BC_Inventory.Qty_Dec, App_BC_Inventory.SourceLocation_Str FROM App_BC_Inventory
-        //               WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemTask.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemTask.WarehouseCode_Str
-        //               ORDER BY App_BC_Inventory.Qty_Dec DESC
-		      //          ) b
-        //        ), null)
-        //        WHERE EXISTS (
-        //            SELECT 1 
-        //            FROM App_BC_Inventory 
-        //            WHERE App_BC_Inventory.ItemCode_Str = App_BC_ItemTask.ItemCode_Str AND App_BC_Inventory.WarehouseCode_Str = App_BC_ItemTask.WarehouseCode_Str 
-								//		AND App_BC_ItemTask.State_Int = 0
-        //        ) AND (App_BC_ItemTask.SourceLocation_Str is null or App_BC_ItemTask.SourceLocation_Str = '') And TaskType_Bit = 0 ");
-        //    res.Message = "更新库位成功";
-        //    return res;
-        //}
-    }
-}

+ 0 - 425
SCADA_DAQ/Customer/Service/Wcs_WebWmsUpLoadService.cs

@@ -1,425 +0,0 @@
-using Opc.Ua.Server;
-using SCADA.CommonLib;
-using SCADA_DAQ.Customer.Models;
-using SCADA_DAQ.Customer.Utils;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.InteropServices.WindowsRuntime;
-using System.Text;
-using System.Threading.Tasks;
-using System.Windows.Documents;
-
-namespace SCADA_DAQ.Customer.Service
-{
-    public partial class WcsService
-    {
-        /// <summary>
-        /// 拼接任务的itemno
-        /// </summary>
-        /// <param name="p"></param>
-        /// <returns></returns>
-        //public static string JoinItemNo(List<AppBCItemTaskVo> p)
-        //{
-        //    if (p.Count == 0) return "";
-        //    var itemNo = "";
-        //    for (int i = 0; i < p.Count; i++)
-        //    {
-        //        if (itemNo == "")
-        //        {
-        //            itemNo = $"{p[i].TaskNo}";
-        //        }
-        //        else
-        //        {
-        //            itemNo += $"/{p[i].TaskNo}";
-        //        }
-        //    }
-        //    return itemNo;
-        //}
-        //public RpcResponse<object> WmsUpLoadUpShelfList(List<string> itemNos)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    string taskNosStr = null;
-        //    var itemTasks = new List<AppBCItemTaskModel>();
-        //    var itemUps = new List<AppBCItemUpModel>();
-        //    var updateInventoryQtyList = new List<AppBCInventoryModel>();
-        //    List<string> taskNoList;  //单独的TaskNo
-        //    for (var i = 0; i < itemNos.Count; i++)
-        //    {
-        //        taskNoList = itemNos[i].Split('/').ToList();
-        //        for (var j = 0; j < taskNoList.Count; j++)
-        //        {
-        //            if (taskNosStr == null)
-        //            {
-        //                taskNosStr = $"'{taskNoList[j]}'";
-        //            }
-        //            else
-        //            {
-        //                taskNosStr += $",'{taskNoList[j]}'";
-        //            }
-        //        }
-        //    }
-        //    var filter = $" TaskNo_Str in ({taskNosStr}) and State_Int = 0";
-        //    var ItemTasks = Env.DAL.App_BC_ItemTask.GetData<AppBCItemTaskVo>(filter);
-        //    if (ItemTasks == null || ItemTasks?.Count == 0)
-        //    {
-        //        res.IsSucceed = false;
-        //        res.Message = $"未找到创建任务";
-        //        return res;
-        //    }
-        //    var wmsUpShelfIL = ItemTasks.ToLookup(item => new { item.WarehouseCode, item.BillNo, item.ItemCode, item.WorkCenter });
-        //    var message = "";
-        //    foreach (var item in wmsUpShelfIL)
-        //    {
-        //        var updateSumItemQtyList = new List<AppBCInventoryModel>();
-        //        var successItemTaskQty = new List<AppBCItemTaskVo>();
-        //        var values = item.OrderBy(x => x.TaskNo).ToList();
-        //        var wmsRes = CustomerEnv.FinishWmsUpTask(values);
-        //        var itemTaskListDis = values.GroupBy(t => t.TaskNo).Select(t => t.First()).ToList();
-        //        if (wmsRes.Success == false)
-        //        {
-        //            res.IsSucceed = false;
-        //            message = $@"{message} {wmsRes.Message}";
-        //            var itemNo = JoinItemNo(itemTaskListDis);
-        //            itemUps.Add(new AppBCItemUpModel
-        //            {
-        //                ItemNo = itemNo,
-        //                IsSynced = false,
-        //                Remark = wmsRes.Message
-        //            });
-        //        }
-        //        if (wmsRes.Success == true && wmsRes.Result.IsSuccess == false)
-        //        {
-        //            res.IsSucceed = false;
-        //            message = $@"{message} {wmsRes.Result.Error}";
-        //            var itemNo = JoinItemNo(itemTaskListDis);
-        //            itemUps.Add(new AppBCItemUpModel
-        //            {
-        //                ItemNo = itemNo,
-        //                IsSynced = false,
-        //                Remark = wmsRes.Result.Error
-        //            });
-        //        }
-        //        if (wmsRes.Success == true && wmsRes.Result.IsSuccess == true)
-        //        {
-        //            // 任务可能一个任务号对应多个库位,故去重 
-        //            string itemNo = "";
-        //            for (int i = 0; i < itemTaskListDis.Count; i++)
-        //            {
-        //                if (itemNo == "")
-        //                {
-        //                    itemNo = $"{itemTaskListDis[i].TaskNo}";
-        //                }
-        //                else
-        //                {
-        //                    itemNo += $"/{itemTaskListDis[i].TaskNo}";
-        //                }
-        //                itemTasks.Add(new AppBCItemTaskModel
-        //                {
-        //                    TaskNo = itemTaskListDis[i].TaskNo,
-        //                    State = TaskStateEnum.Finish,
-        //                    EndDate = DateTime.Now,
-        //                    Remark = "1"
-        //                });
-        //                var itemTask = ItemTasks.Where(x => x.TaskNo == values[i].TaskNo).ToList();
-        //                successItemTaskQty.AddRange(itemTask);
-        //            }
-        //            message = $@"{message} {itemNo}上传成功";
-        //            itemUps.Add(new AppBCItemUpModel
-        //            {
-        //                ItemNo = itemNo,
-        //                IsSynced = true,
-        //                Remark = "成功"
-        //            });
-        //            #region /完成任务更新库存数量逻辑
-        //            var successItemTaskQtyList = successItemTaskQty.ToLookup(t => new { t.ItemCode, t.SourceLocation, t.WarehouseCode }).ToList();
-        //            string inventoryFilter = null;
-        //            foreach (var itemTaskQtyValues in successItemTaskQtyList)
-        //            {
-        //                foreach (var itemTaskQtyValue in itemTaskQtyValues)
-        //                {
-        //                    if (!updateSumItemQtyList.Any(i => i.ItemCode == itemTaskQtyValue.ItemCode && i.SourceLocation == itemTaskQtyValue.SourceLocation && i.WarehouseCode == itemTaskQtyValue.WarehouseCode))
-        //                    {
-        //                        updateSumItemQtyList.Add(new AppBCInventoryModel()
-        //                        {
-        //                            ItemCode = itemTaskQtyValue.ItemCode,
-        //                            SourceLocation = itemTaskQtyValue.SourceLocation,
-        //                            ItemName = itemTaskQtyValue.ItemName,
-        //                            OnhandState = 10,
-        //                            UnitCode = itemTaskQtyValue.UnitCode,
-        //                            Qty = itemTaskQtyValue.ActualQty,
-        //                            WarehouseCode = itemTaskQtyValue.WarehouseCode
-        //                        });
-        //                    }
-        //                    else
-        //                    {
-        //                        var inventory = updateSumItemQtyList.Where(qty => qty.ItemCode == itemTaskQtyValue.ItemCode && qty.SourceLocation == itemTaskQtyValue.SourceLocation && qty.WarehouseCode == itemTaskQtyValue.WarehouseCode).ToList()[0];
-        //                        inventory.Qty += itemTaskQtyValue.ActualQty;
-        //                    }
-        //                }
-        //            }
-        //            for (int j = 0; j < updateSumItemQtyList.Count; j++)
-        //            {
-        //                if (inventoryFilter == null)
-        //                {
-        //                    inventoryFilter = $" (ItemCode_Str = '{updateSumItemQtyList[j].ItemCode}' and SourceLocation_Str = '{updateSumItemQtyList[j].SourceLocation}' and WarehouseCode_Str = '{updateSumItemQtyList[j].WarehouseCode}') ";
-        //                }
-        //                else
-        //                {
-        //                    inventoryFilter += $"or (ItemCode_Str = '{updateSumItemQtyList[j].ItemCode}' and SourceLocation_Str = '{updateSumItemQtyList[j].SourceLocation}' and WarehouseCode_Str = '{updateSumItemQtyList[j].WarehouseCode}') ";
-        //                }
-        //            }
-        //            var inventoryList = Env.DAL.App_BC_Inventory.GetData<AppBCInventoryModel>(inventoryFilter);
-        //            for (int i = 0; i < updateSumItemQtyList.Count; i++)
-        //            {
-        //                if (inventoryList.Any(j => j.ItemCode == updateSumItemQtyList[i].ItemCode && j.SourceLocation == updateSumItemQtyList[i].SourceLocation && j.WarehouseCode == updateSumItemQtyList[i].WarehouseCode))
-        //                {
-        //                    var inventory = inventoryList.Where(qty => qty.ItemCode == updateSumItemQtyList[i].ItemCode && qty.SourceLocation == updateSumItemQtyList[i].SourceLocation && qty.WarehouseCode == updateSumItemQtyList[i].WarehouseCode).ToList()[0];
-        //                    updateInventoryQtyList.Add(new AppBCInventoryModel()
-        //                    {
-        //                        ItemCode = inventory.ItemCode,
-        //                        SourceLocation = inventory.SourceLocation,
-        //                        ItemName = inventory.ItemName,
-        //                        OnhandState = 10,
-        //                        UnitCode = updateSumItemQtyList[i].UnitCode,
-        //                        Qty = inventory.Qty + updateSumItemQtyList[i].Qty,
-        //                        WarehouseCode = updateSumItemQtyList[i].WarehouseCode
-        //                    });
-        //                }
-        //                else if (!inventoryList.Any(j => j.ItemCode == updateSumItemQtyList[i].ItemCode && j.SourceLocation == updateSumItemQtyList[i].SourceLocation && j.WarehouseCode == updateSumItemQtyList[i].WarehouseCode))
-        //                {
-        //                    updateInventoryQtyList.Add(new AppBCInventoryModel()
-        //                    {
-        //                        ItemCode = updateSumItemQtyList[i].ItemCode,
-        //                        SourceLocation = updateSumItemQtyList[i].SourceLocation,
-        //                        ItemName = updateSumItemQtyList[i].ItemName,
-        //                        OnhandState = 10,
-        //                        UnitCode = updateSumItemQtyList[i].UnitCode,
-        //                        Qty = updateSumItemQtyList[i].Qty,
-        //                        WarehouseCode = updateSumItemQtyList[i].WarehouseCode
-        //                    });
-        //                }
-        //            }
-        //            #endregion
-        //        }
-        //    }
-        //    res.Message = message;
-        //    if (itemUps.Count != 0)
-        //    {
-        //        Env.DAL.BatchUpdateOrInsert(
-        //               itemUps,
-        //               t => new { t.ItemNo },
-        //               null,
-        //               t => new { t.IsSynced, t.Remark }
-        //       );
-        //    }
-        //    if (itemTasks.Count != 0)
-        //    {
-        //        Env.DAL.BatchUpdateOrInsert(
-        //           itemTasks,
-        //           t => new { t.TaskNo },
-        //           null,
-        //           t => new { t.State, t.EndDate, t.Remark }
-        //       );
-        //    }
-        //    if (updateInventoryQtyList.Count != 0)
-        //    {
-        //        Env.DAL.BatchUpdateOrInsert(
-        //         updateInventoryQtyList,
-        //         t => new { t.ItemCode, t.SourceLocation, t.WarehouseCode },   //更新条件
-        //         null,
-        //         t => new { t.Qty, t.ItemCode, t.SourceLocation, t.ItemName, t.OnhandState, t.UnitCode, t.WarehouseCode }   //更新字段
-        //       );   //批量更新
-        //    }
-        //    return res;
-        //}
-
-        //public RpcResponse<object> WmsUpLoadLowShelfList(List<string> itemNos)
-        //{
-        //    var res = new RpcResponse<object>();
-        //    string taskNosStr = null;
-        //    var itemTasks = new List<AppBCItemTaskModel>();
-        //    var itemLows = new List<AppBCItemLowModel>();
-        //    var updateInventoryQtyList = new List<AppBCInventoryModel>();
-        //    List<string> taskNoList;  //单独的TaskNo
-        //    for (var i = 0; i < itemNos.Count; i++)
-        //    {
-        //        taskNoList = itemNos[i].Split('/').ToList();
-        //        for (var j = 0; j < taskNoList.Count; j++)
-        //        {
-        //            if (taskNosStr == null)
-        //            {
-        //                taskNosStr = $"'{taskNoList[j]}'";
-        //            }
-        //            else
-        //            {
-        //                taskNosStr += $",'{taskNoList[j]}'";
-        //            }
-        //        }
-        //    }
-
-        //    var filter = $" TaskNo_Str in ({taskNosStr}) and State_Int = 0";
-        //    var ItemTasks = Env.DAL.App_BC_ItemTask.GetData<AppBCItemTaskVo>(filter);
-        //    if (ItemTasks == null || ItemTasks?.Count == 0)
-        //    {
-        //        res.IsSucceed = false;
-        //        res.Message = $"未找到创建任务";
-        //        return res;
-        //    }
-        //    var wmsUpShelfIL = ItemTasks.ToLookup(item => new { item.WarehouseCode, item.BillNo, item.ItemCode, item.WorkCenter });
-        //    var message = "";
-        //    foreach (var item in wmsUpShelfIL)
-        //    {
-        //        var updateSumItemQtyList = new List<AppBCInventoryModel>();
-        //        var successItemTaskQty = new List<AppBCItemTaskVo>();
-        //        var values = item.OrderBy(x => x.TaskNo).ToList();
-        //        var wmsRes = CustomerEnv.FinishWmsLowTask(values);
-        //        // 任务可能一个任务号对应多个库位,故去重 
-        //        var itemTaskListDis = values.GroupBy(t => t.TaskNo).Select(t => t.First()).ToList();
-        //        if (wmsRes.Success == false)
-        //        {
-        //            res.IsSucceed = false;
-        //            message = $@"{message} {wmsRes.Message}";
-        //            var itemNo = JoinItemNo(itemTaskListDis);
-        //            itemLows.Add(new AppBCItemLowModel
-        //            {
-        //                ItemNo = itemNo,
-        //                IsSynced = false,
-        //                Remark = wmsRes.Result.Error
-        //            });
-        //        }
-        //        if (wmsRes.Success == true && wmsRes.Result.IsSuccess == false)
-        //        {
-        //            res.IsSucceed = false;
-        //            message = $@"{message} {wmsRes.Result.Error}";
-        //            var itemNo = JoinItemNo(itemTaskListDis);
-        //            itemLows.Add(new AppBCItemLowModel
-        //            {
-        //                ItemNo = itemNo,
-        //                IsSynced = false,
-        //                Remark = wmsRes.Result.Error
-        //            });
-        //        }
-        //        if (wmsRes.Success == true && wmsRes.Result.IsSuccess == true)//wmsRes.Success == true && wmsRes.Result.IsSuccess == true
-        //        {
-        //            string itemNo = "";
-        //            for (int i = 0; i < itemTaskListDis.Count; i++)
-        //            {
-        //                if (itemNo == "")
-        //                {
-        //                    itemNo = $"{itemTaskListDis[i].TaskNo}";
-        //                }
-        //                else
-        //                {
-        //                    itemNo += $"/{itemTaskListDis[i].TaskNo}";
-        //                }
-        //                itemTasks.Add(new AppBCItemTaskModel
-        //                {
-        //                    TaskNo = itemTaskListDis[i].TaskNo,
-        //                    State = TaskStateEnum.Finish,
-        //                    EndDate = DateTime.Now,
-        //                    Remark = "1"
-        //                });
-        //                var itemTask = ItemTasks.Where(x => x.TaskNo == values[i].TaskNo).ToList();
-        //                successItemTaskQty.AddRange(itemTask);
-        //            }
-        //            message = $@"{message} {itemNo}上传成功";
-        //            itemLows.Add(new AppBCItemLowModel
-        //            {
-        //                ItemNo = itemNo,
-        //                IsSynced = true,
-        //                Remark = "成功"
-        //            });
-        //            #region /完成任务更新库存数量逻辑
-        //            var successItemTaskQtyList = successItemTaskQty.ToLookup(t => new { t.ItemCode, t.SourceLocation, t.WarehouseCode }).ToList();
-        //            string inventoryFilter = null;
-        //            foreach (var itemTaskQtyValues in successItemTaskQtyList)
-        //            {
-        //                foreach (var itemTaskQtyValue in itemTaskQtyValues)
-        //                {
-        //                    if (!updateSumItemQtyList.Any(i => i.ItemCode == itemTaskQtyValue.ItemCode && i.SourceLocation == itemTaskQtyValue.SourceLocation && i.WarehouseCode == itemTaskQtyValue.WarehouseCode))
-        //                    {
-        //                        updateSumItemQtyList.Add(new AppBCInventoryModel()
-        //                        {
-        //                            ItemCode = itemTaskQtyValue.ItemCode,
-        //                            SourceLocation = itemTaskQtyValue.SourceLocation,
-        //                            ItemName = itemTaskQtyValue.ItemName,
-        //                            OnhandState = 10,
-        //                            UnitCode = itemTaskQtyValue.UnitCode,
-        //                            Qty = itemTaskQtyValue.ActualQty,
-        //                            WarehouseCode = itemTaskQtyValue.WarehouseCode
-        //                        });
-        //                    }
-        //                    else
-        //                    {
-        //                        var inventory = updateSumItemQtyList.Where(qty => qty.ItemCode == itemTaskQtyValue.ItemCode && qty.SourceLocation == itemTaskQtyValue.SourceLocation && qty.WarehouseCode == itemTaskQtyValue.WarehouseCode).ToList()[0];
-        //                        inventory.Qty += itemTaskQtyValue.ActualQty;
-        //                    }
-        //                }
-        //            }
-        //            for (int j = 0; j < updateSumItemQtyList.Count; j++)
-        //            {
-        //                if (inventoryFilter == null)
-        //                {
-        //                    inventoryFilter = $" (ItemCode_Str = '{updateSumItemQtyList[j].ItemCode}' and SourceLocation_Str = '{updateSumItemQtyList[j].SourceLocation}' and WarehouseCode_Str = '{updateSumItemQtyList[j].WarehouseCode}') ";
-        //                }
-        //                else
-        //                {
-        //                    inventoryFilter += $"or (ItemCode_Str = '{updateSumItemQtyList[j].ItemCode}' and SourceLocation_Str = '{updateSumItemQtyList[j].SourceLocation}' and WarehouseCode_Str = '{updateSumItemQtyList[j].WarehouseCode}') ";
-        //                }
-        //            }
-        //            var inventoryList = Env.DAL.App_BC_Inventory.GetData<AppBCInventoryModel>(inventoryFilter);
-        //            for (int i = 0; i < updateSumItemQtyList.Count; i++)
-        //            {
-        //                if (inventoryList.Any(j => j.ItemCode == updateSumItemQtyList[i].ItemCode && j.SourceLocation == updateSumItemQtyList[i].SourceLocation && j.WarehouseCode == updateSumItemQtyList[i].WarehouseCode))
-        //                {
-        //                    var inventory = inventoryList.Where(qty => qty.ItemCode == updateSumItemQtyList[i].ItemCode && qty.SourceLocation == updateSumItemQtyList[i].SourceLocation && qty.WarehouseCode == updateSumItemQtyList[i].WarehouseCode).ToList()[0];
-        //                    updateInventoryQtyList.Add(new AppBCInventoryModel()
-        //                    {
-        //                        ItemCode = inventory.ItemCode,
-        //                        SourceLocation = inventory.SourceLocation,
-        //                        ItemName = inventory.ItemName,
-        //                        OnhandState = 10,
-        //                        UnitCode = updateSumItemQtyList[i].UnitCode,
-        //                        Qty = inventory.Qty - updateSumItemQtyList[i].Qty,
-        //                        WarehouseCode = inventory.WarehouseCode
-        //                    });
-        //                }
-        //            }
-        //            #endregion
-
-        //        }
-        //    }
-        //    res.Message = message;
-        //    if (itemLows.Count != 0)
-        //    {
-        //        Env.DAL.BatchUpdateOrInsert(
-        //               itemLows,
-        //               t => new { t.ItemNo },
-        //               null,
-        //               t => new { t.IsSynced, t.Remark }
-        //       );
-        //    }
-
-        //    if (itemTasks.Count != 0)
-        //    {
-        //        Env.DAL.BatchUpdateOrInsert(
-        //           itemTasks,
-        //           t => new { t.TaskNo },
-        //           null,
-        //           t => new { t.State, t.EndDate, t.Remark }
-        //       );
-        //    }
-        //    if (updateInventoryQtyList.Count != 0)
-        //    {
-        //        Env.DAL.BatchUpdateOrInsert(
-        //         updateInventoryQtyList,
-        //         t => new { t.ItemCode, t.SourceLocation, t.WarehouseCode },   //更新条件
-        //         null,
-        //         t => new { t.Qty, t.ItemCode, t.SourceLocation, t.ItemName, t.OnhandState, t.UnitCode, t.WarehouseCode }   //更新字段
-        //       );   //批量更新
-        //    }
-        //    return res;
-        //}
-    }
-}

+ 60 - 0
SCADA_DAQ/Customer/Utils/Screen.cs

@@ -0,0 +1,60 @@
+using SCADA_DAQ.Customer.Models;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using static Xceed.Wpf.Toolkit.Calculator;
+
+namespace SCADA_DAQ.Customer.Utils
+{
+    public static class Screen
+    {
+        public static string RowColLayerFormat(OperationBo operation)
+        {
+
+            var rowStr = $"0{operation.StartRow}";
+            var layerStr = operation.StartLayer < 10 ? "0" + operation.StartLayer.ToString() : operation.StartLayer.ToString();
+            var colStr = operation.StartCol < 10 ? "00" + operation.StartCol.ToString() : operation.StartCol < 100 ? "0" + operation.StartCol.ToString() : operation.StartCol.ToString();
+            return $"{rowStr}-{colStr}-{layerStr}";
+        }
+        public static string[] ToHex(string str)
+        {
+
+            var gbk = Encoding.GetEncoding("GBK");
+            var bytes = gbk.GetBytes(str);
+            string[] hexArray = new string[bytes.Length];
+            for (int i = 0; i < bytes.Length; i++)
+            {
+                hexArray[i] = bytes[i].ToString("X2");
+            }
+            return hexArray;
+        }
+        // ["11","22","33"]["1122","33"]
+        public static string[] List2ToList4(string[] list2)
+        {
+            var list4 = new List<string>();
+            for (int i = 0; i < list2.Length; i += 2)
+            {
+                if (i+1<list2.Length)
+                {
+                    list4.Add(list2[i] + list2[i + 1]);
+                }
+                else
+                {
+                    list4.Add(list2[i]+"00");
+                }
+            }
+            return list4.ToArray();
+        }
+        public static string OperToHex(this OperationBo operation)
+        {
+            var rcl = RowColLayerFormat(operation);
+            var rclHex = List2ToList4(ToHex(rcl));
+            var itemNameHex = List2ToList4(ToHex(operation.ItemName));
+            // 只针对显示屏34
+            var strat = new string[] { "0000", "0000" };
+            return string.Join("",strat.Concat(rclHex).Concat(new string[] { "0000" }).Concat(itemNameHex).Select(t => t).ToList<string>());
+        }
+    }
+}

+ 0 - 7
SCADA_DAQ/UpdateConfiguration.xml

@@ -1,7 +0,0 @@
-<UpdateConfiguration>
-    <ClientVersion>0</ClientVersion>
-    <LastUpdateTime>2024-09-13T16:49:21.7061226+08:00</LastUpdateTime>
-    <Server>http://www.imaodou.com.cn/</Server>
-    <FileList />
-    <NeedResetDataBase>false</NeedResetDataBase>
-</UpdateConfiguration>