czw
2025-06-23 e552f3366723d8a2392ca59e95e5d9589ad7a858
Merge branch 'master' of http://121.37.118.194:8000/r/WMSPrjInstance/HH-0014_NongFu_QingXi
3个文件已修改
84 ■■■■ 已修改文件
HH.WCS.QingXiNongfu/core/Monitor.cs 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/process/DeviceProcess.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.QingXiNongfu/core/Monitor.cs
@@ -8,7 +8,6 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Web.UI.WebControls.WebParts;
namespace HH.WCS.QingXigongchang.core
{
@@ -1029,7 +1028,7 @@
        static bool InworkLock = false;
        /// <summary>
        /// 原材料 检测各流转位置。  写入托盘货位s_type 中 下一个目的地。就开始中转。
        /// 原物料纸箱,入库堆叠区转运
        /// 原物料纸箱,入库堆叠区转运 YWLRGDD--人工堆叠区
        /// </summary>
        internal static void BottTask()
        {
@@ -1037,9 +1036,9 @@
            var usingSpace = new List<string> { "入库接驳区", "库内接驳区", "出库接驳区", "提升机退料口" };
            //usingSpace = new List<string> { "YWLRGDD", "YWLWJJB", "YWLYLTKQ", "YWLTKKTQ", "YWLKTDDQ", "YWLT1TSJ", "YWLT1TSJCD", "YWLT2TSJ", "YWLT2TSJCD" };
            usingSpace = new List<string> { "YWLYLTKQ", "YWLTKKTQ", "YWLWJJB", "YWLRGDD", "YWLT1TSJ", "YWLT2TSJ" };
            var dbll = new SqlHelper<object>().GetInstance();
            ///----------------------------退余料中间库区,退空中间库区,
            ///   /*托盘货位表的 S_TYPE。  库区1,库区,*/
            foreach (var area in usingSpace)
            {
                try
@@ -1124,7 +1123,7 @@
                                        var arloclist = LocationHelper.GetAreaNormalLocList(EdnRarea);// LocationHelper.GetList<Location>(x => x.S_AREA_CODE == _clrel0.S_TYPE && x.S_LOCK_STATE != "报废");
                                        if (arloclist.Any())
                                        {
                                            if (EdnRarea == "YWLWJJB")
                                            if (EdnRarea == "YWLWJJB")//纸箱无菌接驳区
                                            //    InworkLock = true;
                                            //else InworkLock = false;
                                            //if (od.S_ZZ_AREA == "YWLWJJB")
@@ -1138,14 +1137,43 @@
                                            Location endbit = null;
                                            //foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(xx => xx.Key))
                                            RowLock inlock = null;
                                            List<RowLock> inlockLis = new List<RowLock>();
                                            bool isCd = false;
                                            if (CDlist.Contains(EdnRarea))
                                            {
                                                isCd = true;
                                                inlock = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "入库锁").FirstOrDefault();
                                                inlockLis = LocationHelper.GetList<RowLock>(x => x.S_AREA_CODE == EdnRarea && x.S_LOCK_SRC == cir1.S_ITEM_CODE + cir1.S_ITEM_NAME + cir1.S_CJ_NAME && x.S_LOCK_STATE == "入库锁").ToList();
                                                inlock = inlockLis.FirstOrDefault();
                                                if (inlock != null)
                                                {
                                                    //当入库的任务能放满一排并且还有余的时候 开第二排
                                                    //先判断起点有多少相同的 能入的物料
                                                    if (_cl.S_AREA_CODE == "YWLRGDD")//判断起点是否是人工堆叠区
                                                    {
                                                        //然后判断人工堆叠区需要入库多少托同品种物料 startMum
                                                        //货位 托盘 物料表联查
                                                        LogHelper.Info($"查起点有多少同品种的物料 开始");
                                                        var ca = Expressionable.Create<Location, LocCntrRel, CntrItemRel>();
                                                        ca.And((o, p, t) => o.N_CURRENT_NUM > 0 && o.S_LOCK_STATE == "无" && t.S_ITEM_CODE == cir1.S_ITEM_CODE && t.S_ITEM_NAME == cir1.S_ITEM_NAME && t.S_CJ_NAME == cir1.S_CJ_NAME && o.S_AREA_CODE == "YWLRGDD" && p.S_TYPE == _clrel0.S_TYPE);
                                                        var lstCanOutL = dbll.Queryable<Location>().InnerJoin<LocCntrRel>((o, p) => o.S_LOC_CODE == p.S_LOC_CODE).InnerJoin<CntrItemRel>((o, p, t) => p.S_CNTR_CODE == t.S_CNTR_CODE).Where(ca.ToExpression()).Includes(e => e.LocCntrRel, p => p.CntrItemRel).ToList();
                                                        LogHelper.Info($"起点要入CD的有多少托盘数量为{lstCanOutL.Count()}");
                                                        //判断终点排能入多少  少于入库托盘数则多开一排 EndMum
                                                        var EndMum = dbll.Queryable<Location>().Where(l => l.S_AREA_CODE == EdnRarea && l.N_CURRENT_NUM == 0 && l.S_LOCK_STATE == "无" && inlockLis.Select(e => e.N_ROW).ToList().Contains(l.N_ROW)).ToList();
                                                        if (lstCanOutL.Count <= EndMum.Count())
                                                        {
                                                            arloclist = arloclist.FindAll(x => inlockLis.Select(e => e.N_ROW).ToList().Contains(x.N_ROW)).ToList();
                                                        }
                                                        else
                                                        {
                                                            arloclist = arloclist.FindAll(x => !inlockLis.Select(e => e.N_ROW).ToList().Contains(x.N_ROW)).ToList();
                                                            inlock = null;
                                                        }
                                                        LogHelper.Info($"查起点有多少同品种的物料 结束");
                                                    }
                                                    else
                                                    {
                                                    arloclist = arloclist.FindAll(x => x.N_ROW == inlock.N_ROW).ToList();
                                                    }
                                                }
                                            }
                                            foreach (var rss in arloclist.GroupBy(x => x.N_ROW).OrderByDescending(x => x.Count(y => y.N_CURRENT_NUM > 0)).ThenBy(x => x.Key))
@@ -3589,7 +3617,6 @@
        /// </summary>
        public static void AutoRun13TSJ()
        {
            Action<YWLWorkOrder> _sAB没物料或者余量不足开始触发跟根据自动转运_名字越长越好 = (od) =>
            {
                LogHelper.Info($"AutoRun13TSJ{od.SQL_WorkNo}对应工单的{od.S_ROW} 物料数量不足。触发转运。");
HH.WCS.QingXiNongfu/obj/Debug/HH.WCS.QingXigongchang.csproj.FileListAbsolute.txt
@@ -305,3 +305,27 @@
G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.Q.FBA0BAD2.Up2Date
G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.exe
G:\1AGIT\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\obj\Debug\HH.WCS.QingXigongchang.pdb
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Host.HttpListener.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Hosting.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\NLog.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Owin.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\SqlSugar.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Net.Http.Formatting.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Runtime.InteropServices.RuntimeInformation.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.Owin.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.NLog.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Host.HttpListener.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Microsoft.Owin.Hosting.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Newtonsoft.Json.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\NLog.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Net.Http.Formatting.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\System.Web.Http.Owin.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\Topshelf.NLog.xml
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\zh-Hans\System.Net.Http.Formatting.resources.dll
E:\GitProject\HH-0014_NongFu_QingXi\HH.WCS.QingXiNongfu\bin\Debug\zh-Hans\System.Web.Http.resources.dll
HH.WCS.QingXiNongfu/process/DeviceProcess.cs
@@ -1,28 +1,14 @@
using HH.WCS.QingXigongchang.core;
using HH.WCS.QingXigongchang.device;
using HH.WCS.QingXigongchang.device;
using HH.WCS.QingXigongchang.dispatch;
using HH.WCS.QingXigongchang.util;
using HH.WCS.QingXigongchang.wms;
using Microsoft.SqlServer.Server;
using Newtonsoft.Json;
using NLog.Time;
using SqlSugar;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics.Eventing.Reader;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Threading;
using System.Threading.Tasks;
using System.Timers;
using System.Web.Http.Results;
using System.Web.Security;
using System.Web.UI.WebControls;
using static HH.WCS.QingXigongchang.dispatch.NDC;
using static HH.WCS.QingXigongchang.util.Settings;
namespace HH.WCS.QingXigongchang.process
@@ -336,7 +322,10 @@
                    {
                        LogHelper.Info($" time:{_clrel0?.T_CREATE} = s_type:{_clrel0.S_TYPE}");
                        if (_clrel.Any())
                            if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 10 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
                            //if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 10 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
                            //    goto ballll;
                            //plg 2025年6月23日  去除10秒时间限制
                            if (DateTime.Now.Subtract(_clrel0.T_CREATE).TotalSeconds < 3 || !string.IsNullOrEmpty(_clrel0.S_TYPE))
                                goto ballll;
                        LocationHelper.DoAction(db =>