xiazhengtongxue
2026-01-24 a647de5665411f706beddc5e0ff7b3a3daaca4fc
ÏîÄ¿´úÂë/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs
@@ -23,6 +23,7 @@
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Task;
using WIDESEA_ITaskInfoService;
using WIDESEA_Model.Models;
using static WIDESEA_ITaskInfoService.ITaskService;
@@ -30,6 +31,7 @@
{
    public partial class TaskService
    {
        public static List<string> InStationareaList = new List<string>() { "1113", "1114", "1115", "1116", "1117", "1118", "1119", "1120", "1121", "1122" };
        //入库,空盘回库
        public ApiResponse AddInStoreDoc(MES_InTask mES_In)
        {
@@ -108,20 +110,42 @@
                task.Creater = "MES";
                task.CreateDate = DateTime.Now;
                /*Dt_StockInfo dt_StockInfo = new Dt_StockInfo();
                dt_StockInfo.PalletCode = task.PalletCode;
                dt_StockInfo.PalletType = task.PalletType;
                dt_StockInfo.WarehouseId = task.WarehouseId;
                dt_StockInfo.StockStatus = (int)StockStatusEmun.入库中;
                dt_StockInfo.Creater = "MWS";
                dt_StockInfo.CreateDate = DateTime.Now;*/
                int taskid=BaseDal.AddData(task);
                _unitOfWorkManage.BeginTran();
                BaseDal.AddData(task);
                //_stockInfoService.Repository.AddData(dt_StockInfo);
                _unitOfWorkManage.CommitTran();
                WriteLog.Write_Log("MES_接收入库任务下发", $"反馈信息", "成功", $"任务添加成功,托盘条码:{task.PalletCode}");
                return apiResponse.OK();
                //创建任务后,判断是否是产线回库的任务
                if (!InStationareaList.Contains(task.SourceAddress))
                {
                    WriteLog.Write_Log("MES_接收入库任务下发", $"反馈信息", "成功", $"任务添加成功,托盘条码:{task.PalletCode}");
                    return apiResponse.OK();
                }
                else
                {
                    WCSginseng result = PLC_IssueTasks(
                        task.TaskId,
                        task.WarehouseId,
                        task.TaskNum,
                        task.PalletCode,
                        int.Parse(task.PalletType),
                        task.CurrentAddress,
                        task.NextAddress,
                        "");
                    if (result.IsSuccess)
                    {
                        Dt_Task deltaskin = BaseDal.QueryData(x => x.TaskId == taskid).FirstOrDefault();
                        deltaskin.TaskStatus = (int)InTaskStatusEnum.PLC_InExecuting;
                        string Result = MesInTaskStatusEnum.Start.GetDescription();
                        BaseDal.UpdateData(deltaskin);
                        //调取上游系统反馈开始任务
                        InStoreDocCallback(task.TaskNum, Result, "操作成功", task.PalletCode, "");
                        return apiResponse.OK();
                    }
                    else
                    {
                        Dt_Task deltask= BaseDal.QueryData(x => x.TaskId == taskid).FirstOrDefault();
                        BaseDal.DeleteData(deltask);
                        return apiResponse.Error($"下发任务失败,下发WCS失败,原因:{result.Message}");
                    }
                }
            }
            catch (Exception ex)
            {