Tjiny
2025-05-29 d471478f1b3373a9001ab9ebc4eb7f52384a4ec3
2025/5/29提交
8个文件已修改
71 ■■■■ 已修改文件
HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/models/Task.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HH.WCS.Mobox3.RiDong/.idea/.idea.HH.WCS.MoBox3.RiDong/.idea/vcs.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
  </component>
</project>
HH.WCS.Mobox3.RiDong/apiMethod/EnterWareHouseService.cs
@@ -194,8 +194,19 @@
            }
            
            db.Updateable(cntrItemDetails).UpdateColumns(p => new { p.N_ALR_ENTR }).ExecuteCommand();
            var container = AdoSqlMethod<Container>.QueryFirst(p => p.S_CODE == task.S_CNTR_CODE);
            container.C_ENABLE = 'Y';
            container.N_DETAIL_COUNT = 0;
            container.S_TYPE = null;
            AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE });
            OutWareHouseService.ResultDeterminationGuideOut(task);
        }
        // 指引出库
        else if (task.N_TYPE == 7)
@@ -209,8 +220,9 @@
            
            container.C_ENABLE = 'Y';
            container.N_DETAIL_COUNT = 0;
            container.S_TYPE = null;
            
            AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT });
            AdoSqlMethod<Container>.UpdateFirst(container, p => new { p.C_ENABLE, p.N_DETAIL_COUNT, p.S_TYPE });
        }
    }
HH.WCS.Mobox3.RiDong/generalMethod/HelperMethod.cs
@@ -24,8 +24,8 @@
    /// <returns></returns>
    internal static string GenerateTaskNo(string snType, string prefix)
    {
        var id = SYSHelper.GetSerialNumber(snType, prefix);
        var date = DateTime.Now.ToString("yyMMdd");
        var id = SYSHelper.GetSerialNumber(snType, prefix + date);
        return $"{prefix}{date}{id.ToString().PadLeft(4, '0')}";
    }
HH.WCS.Mobox3.RiDong/generalMethod/LocationMethod.cs
@@ -173,7 +173,28 @@
            // 查询出所有该优先级的可用货位
            var locations = sqlSugarClient.Queryable<Location>()
                .Where(p => p.N_PRIORITY == priority && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList();
            // 优先查询今日份任务中未完成的(等待,执行中)
            var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today);
            if (notQueryList.Count > 0)
            {
                var groupBy = notQueryList.GroupBy(p=>p.N_ROADWAY);
                foreach (var item in groupBy)
                {
                    if (item.Key == 1 || item.Key == 2 || item.Key == 3 ||
                        item.Key == 4)
                    {
                        locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList();
                    }
                    else if (item.Key == 5 && item.ToList().Count >= 3)
                    {
                        locations = locations.Where(p=>p.N_ROADWAY != item.Key).ToList();
                    }
                }
            }
            // 存在该优先级的可用货位
            if (locations.Count > 0)
            {
@@ -199,7 +220,8 @@
                    .Where(p => p.N_PRIORITY == i && p.N_CURRENT_NUM == 0 && p.N_LOCK_STATE == 0 && p.N_PURPOSE == 1).ToList();
                
                // 优先查询今日份任务中未完成的(等待,执行中)
                var notQueryList = AdoSqlMethod<Operation>.QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today);
                var notQueryList = AdoSqlMethod<Operation>
                    .QueryList(p=>p.N_B_STATE < 2 && p.T_CREATE.Date == DateTime.Today && (p.N_TYPE == 1 || p.N_TYPE == 3));
                if (notQueryList.Count > 0)
                {
HH.WCS.Mobox3.RiDong/generalMethod/TaskHelper.cs
@@ -74,6 +74,8 @@
            S_DC_NO = operation.S_DC_NO,
            // 作业类型
            S_OP_NAME = operation.S_OP_DEF_NAME,
            // 巷道
            N_ROADWAY = operation.N_ROADWAY,
        };
        tasks.Add(task1);
@@ -136,7 +138,8 @@
            S_OP_NAME = operation.S_OP_DEF_NAME,
            // 配盘单号
            S_DC_NO = operation.S_DC_NO,
            // 任务名称
            // 巷道
            N_ROADWAY = operation.N_ROADWAY,
        };
        tasks.Add(task1);
@@ -169,7 +172,9 @@
            // 任务名称
            S_OP_NAME = operation.S_OP_DEF_NAME,
            // 配盘单号
            S_DC_NO = operation.S_DC_NO
            S_DC_NO = operation.S_DC_NO,
            // 巷道
            N_ROADWAY = operation.N_ROADWAY,
        };
        tasks.Add(task2);
@@ -470,7 +475,7 @@
                        {
                            model.N_B_STATE = 2;
                            model.S_B_STATE = "出库作业已创建";
                            AdoSqlMethod<TN_Distribution_CNTR>.UpdateFirstTran(sqlSugarClient, model,
                                p => new { p.N_B_STATE, p.S_B_STATE });
HH.WCS.Mobox3.RiDong/generalMethod/ThreadMenthod.cs
@@ -3,6 +3,7 @@
using EasyModbus;
using HH.WCS.Mobox3.RiDong.apiMethod;
using HH.WCS.Mobox3.RiDong.models;
using HH.WCS.Mobox3.RiDong.util;
using S7.Net.Types;
using Task = HH.WCS.Mobox3.RiDong.models.Task;
@@ -53,12 +54,17 @@
                .QueryList(p =>
                    p.N_B_STATE == 0 && p.N_SCHEDULE_TYPE == 2 &&
                    (p.N_TYPE == 2 || p.N_TYPE == 4 || p.N_TYPE == 5 || p.N_TYPE == 6 || p.N_TYPE == 7));
            // 排序
            tasks = tasks.OrderBy(p=>p.N_ROADWAY).ThenBy(p=>p.T_CREATE).ToList();
            foreach (var task in tasks)
            {
                // 判断有没有已推送的任务,有的话不推送,没有就推送
                // if(AdoSqlMethod<Task>.QueryCount(p=>(p.N_B_STATE == 1 || p.N_B_STATE == 2) && p.N_SCHEDULE_TYPE == 2 ))
                LogHelper.Info($"当前推送任务在第{task.N_ROADWAY}巷道");
                // 出库AGV不做限制直接推送
                if (TaskHelper.SendTaskFromAGV(task))
                {
HH.WCS.Mobox3.RiDong/models/Task.cs
@@ -109,6 +109,11 @@
    /// </summary>
    public string S_DC_NO { get; set; }
    /// <summary>
    /// 巷道
    /// </summary>
    public int N_ROADWAY{ get; set; }
    internal static string GetStateStr(int state)
    {
        //0等待      1已推送        2执行    3完成    4错误
HH.WCS.Mobox3.RiDong/wms/ContainerHelper.cs
@@ -37,9 +37,8 @@
                if (cntrInfo.C_ENABLE == 'N')
                {
                    cntrInfo.C_ENABLE = 'Y';
                    cntrInfo.S_TYPE = null;
                    AdoSqlMethod<Container>.UpdateFirstTran(querySqlSugarClient, cntrInfo,
                        p => new { p.C_ENABLE, p.T_MODIFY, p.S_TYPE });
                        p => new { p.C_ENABLE, p.T_MODIFY });
                    var cirList = db.Queryable<CntrItemDetail>().Where(a => a.S_CNTR_CODE == cntr).ToList();