分支自 SuZhouGuanHong/TaiYuanTaiZhong

dengjunjie
2024-06-25 6e39b92ddec5b5b9f8e2b0d49e70313f8cadc1aa
´úÂë¹ÜÀí/WMS/WMS_Server/WIDESEA_WMS/Services/system/Partial/dt_stationinfoService.cs
@@ -28,6 +28,7 @@
using WIDESEA_Comm;
using WIDESEA_Comm.TaskNo;
using WIDESEA_Common;
using static FreeSql.Internal.GlobalFilter;
namespace WIDESEA_WMS.Services
{
@@ -199,6 +200,7 @@
                    webResponse.Error(webResponse.Message += ex.Message);
                }
            }
            WriteDBLog.Write($"手动切换托盘 ", new { ä¿¡æ¯ = webResponse.Message }, LogState.Sucess, "WMS", UserContext.Current.UserName);
            return webResponse;
        }
        /// <summary>
@@ -213,6 +215,7 @@
            Idt_agvtaskRepository agvtaskRepository = new dt_agvtaskRepository(context);
            IVV_Mes_WorkinfoRepository workinfoRepository = new VV_Mes_WorkinfoRepository(context);
            string completor = UserContext.Current.UserName;
            //List<object> jsons = null;
            foreach (var Key in saveModel.DelKeys)
            {
                try
@@ -229,6 +232,9 @@
                    if (agvtaskRepository.Find(x => x.agv_fromaddress == station.stationCode || x.agv_fromaddress == station.stationCode).Any()) throw new Exception($"{station.stationCode}存在任务!");
                    var Work = workinfoRepository.Find(x => x.workOrder == station.Number && x.processCode == "17").FirstOrDefault();
                    if (Work == null) throw new Exception($"未找到货位{station.stationCode}的机加工工单信息!");
                    string tasktype = AGVTaskTypeEnum.TaskType_Inbound.ToString();
                    if (!string.IsNullOrEmpty(Work.area) || station.stationCode.Contains("3"))
                        tasktype = AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString();
                    dt_agvtask agvtask = new dt_agvtask()
                    {
                        agv_fromaddress = station.stationCode,
@@ -239,9 +245,9 @@
                        agv_taskstate = AGVTaskStateEnum.Queue.ToString(),
                        agv_materielid = station.stationType,
                        agv_qty = station.quantity,
                        agv_tasktype = station.stationCode.Contains("3") ? AGVTaskTypeEnum.TaskType_OutsourceInbound.ToString() : AGVTaskTypeEnum.TaskType_Inbound.ToString(),
                        agv_tasktype = tasktype,
                        agv_toaddress = "",
                        agv_userid = UserContext.Current.UserName,
                        agv_userid = completor,
                        bindSN = station.bindSN,
                        agv_worktype = Convert.ToInt32(Work.processCode),
                        agv_materbarcode = Work.materialCode,
@@ -249,6 +255,7 @@
                        jobID = station.Number,
                        agv_TrayStatus = station.tray_status
                    };
                    //jsons.Add(agvtask);
                    agvtaskRepository.Add(agvtask, true);
                    station.location_state = LocationStateEnum.InBusy.ToString();
                    repository.Update(station, x => new { x.location_state }, true);
@@ -259,6 +266,7 @@
                    webResponse.Error(webResponse.Message += ex.Message);
                }
            }
            WriteDBLog.Write($"手动下料任务 ", new { ä¿¡æ¯ = webResponse.Message }, LogState.Sucess, "WMS", completor);
            return webResponse;
        }
@@ -330,7 +338,7 @@
            WebResponseContent content = new WebResponseContent();
            VOLContext volContext = new VOLContext();
            Idt_stationinfoRepository dsta = new dt_stationinfoRepository(volContext);
            string[] stationCodes = { "A", "S", "X", "W", "DD", "B", "C", "D01" };
            string[] stationCodes = { "W", "A", "B", "C", "D01" };
            List<Tuple<List<dt_stationinfo>, int>> responseData = new List<Tuple<List<dt_stationinfo>, int>>();
            foreach (string code in stationCodes)
            {
@@ -342,5 +350,21 @@
            return content;
        }
        public WebResponseContent pcs_dt_stationinfolist()
        {
            WebResponseContent content = new WebResponseContent();
            VOLContext volContext = new VOLContext();
            Idt_stationinfoRepository dsta = new dt_stationinfoRepository(volContext);
            string[] stationCodes = { "X01", "X02", "X03", "S", "DD001" };
            List<Tuple<List<dt_stationinfo>>> responseData = new List<Tuple<List<dt_stationinfo>>>();
            foreach (string code in stationCodes)
            {
                var data = dsta.Find(_ => true).Where(a => a.stationCode.Contains(code)).OrderBy(a => a.stationCode).ToList();
                responseData.Add(Tuple.Create(data));
            }
            content.Data = responseData;
            return content;
        }
    }
}