1
wankeda
2 天以前 786c5ca17012ff3a01faf466b751bdbe70629b97
´úÂë¹ÜÀí/NEWCode/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskCZService.cs
@@ -38,6 +38,8 @@
using OfficeOpenXml.FormulaParsing.Excel.Functions.Numeric;
using WIDESEAWCS_Core.Tool;
using System.Net;
using System.Web;
using WIDESEAWCS_TaskInfoRepository;
namespace WIDESEAWCS_TaskInfoService
{
    public class TaskCZService : ServiceBase<DtCZTask, ITaskCZRepository>, ITaskCZService
@@ -69,6 +71,11 @@
                {
                    response.Error("任务已存在,请勿重复添加!");
                }
                var station = _stationinfoRepository.QueryFirst(x => x.StationCode == dto.InputValue);
                if (station == null)
                {
                    response.Error("叫料机台不存在");
                }
                var taskModel = new DtCZTask()
                {
                    TaskTaskID = dto.DTaskId,
@@ -99,6 +106,31 @@
            return Task.FromResult(response);
        }
        public Task<WebResponseContent> DeleteTaskCZAsync(CZTaskDto dto)
        {
            var response = new WebResponseContent();
            try
            {
                var task = BaseDal.QueryFirst(x => (x.TaskTaskID == dto.DTaskId) || (x.TaskEndAddress == dto.InputValue) || (x.TaskType == dto.TaskType));
                if (task == null)
                {
                    response.Error("删除任务不存在");
                    return Task.FromResult(response);
                }
                var isTrue = BaseDal.DeleteData(task);
                if (isTrue)
                    response.OK("任务删除成功!请重新下发");
                else
                    response.Error("任务删除失败!请操作系统删除");
            }
            catch (System.Exception ex)
            {
                response.Error(ex.Message);
            }
            return Task.FromResult(response);
        }
        /// <summary>
        /// å®Œæˆä»»åŠ¡
        /// </summary>
@@ -119,24 +151,7 @@
                        response.Error("任务不存在!");
                        return Task.FromResult(response);
                    }
                    //if (dto.Tags.Contains("正极"))
                    //{
                    //    czTask.TaskZJFinishNumber += 1;
                    //}
                    //else
                    //{
                    //    czTask.TaskFJFinishNumber += 1;
                    //}
                    //if (czTask.TaskZJFinishNumber == czTask.TaskNumber || czTask.TaskFJFinishNumber == czTask.TaskNumber)
                    //{
                    //    czTask.TaskStatus = TaskInStatusEnum.InFinish.ToString();
                    //    czTask.TaskEndDate = DateTime.Now;
                    //}
                    //else
                    //{
                    czTask.TaskStatus = TaskInStatusEnum.Line_InExecuting.ToString();
                    //}
                    var details = new DtCZTaskDetails()
                    {
                        MaterialBarCode = dto.MaterialBarcode,
@@ -149,27 +164,6 @@
                        TaskTaskID = czTask.TaskTaskID,
                    };
                    _detailsRepository.AddData(details);
                    //if (dto.FinishNum is < 1 or > 4)
                    //    throw new ArgumentException("参数错误!FinishNum å¿…须为 1-4");
                    //var detail = dto.FinishNum == 1
                    //    ? new CZTaskBarCodeDto()
                    //    : JsonSerializer.Deserialize<CZTaskBarCodeDto>(czTask.DtCZTaskDetails) ?? new CZTaskBarCodeDto();
                    //var property = dto.FinishNum switch
                    //{
                    //    1 => nameof(CZTaskBarCodeDto.BarCode1),
                    //    2 => nameof(CZTaskBarCodeDto.BarCode2),
                    //    3 => nameof(CZTaskBarCodeDto.BarCode3),
                    //    4 => nameof(CZTaskBarCodeDto.BarCode4),
                    //    _ => throw new ArgumentOutOfRangeException("参数错误!请检查【FinishNum】!")
                    //};
                    //typeof(CZTaskBarCodeDto).GetProperty(property)?.SetValue(detail, dto.MaterialBarcode);
                    //czTask.DtCZTaskDetails = JsonSerializer.Serialize(detail);
                    var isTrue = BaseDal.UpdateData(czTask);
                    if (isTrue)
                    {
@@ -193,11 +187,8 @@
                    if (task.SourceAddress.Contains("SL-0"))
                    {
                        var address = task.SourceAddress.Split("||");
                        WriteLog.Info("1").Write($"{address}", "1");
                        Dt_Stationinfo Stationinfo = _stationinfoRepository.QueryFirst(x => x.StationCode == address[0]);
                        WriteLog.Info("1").Write($"{Stationinfo.StationCode}", "1");
                        Dt_Stationinfo Stationinfo1 = _stationinfoRepository.QueryFirst(x => x.StationCode == address[1]);
                        WriteLog.Info("1").Write($"{Stationinfo.StationCode}", "1");
                        Stationinfo.Location_state = LocationStatusEnum.Free.ObjToInt();
                        _stationinfoRepository.UpdateData(Stationinfo);
                        Stationinfo1.Location_state = LocationStatusEnum.Free.ObjToInt();
@@ -207,9 +198,7 @@
                    {
                        var address = task.TargetAddress.Split("||");
                        Dt_Stationinfo Stationinfo = _stationinfoRepository.QueryFirst(x => x.StationCode == address[0]);
                        WriteLog.Info("2").Write($"{Stationinfo.StationCode}", "2");
                        Dt_Stationinfo Stationinfo1 = _stationinfoRepository.QueryFirst(x => x.StationCode == address[1]);
                        WriteLog.Info("2").Write($"{Stationinfo.StationCode}", "2");
                        Stationinfo.Location_state = LocationStatusEnum.InStock.ObjToInt();
                        _stationinfoRepository.UpdateData(Stationinfo);
                        Stationinfo1.Location_state = LocationStatusEnum.InStock.ObjToInt();
@@ -242,7 +231,7 @@
                //通过站点表判断缓存架是那个区域去那条输送线回流口。。。。。。。。。。。
                string Saddress = saveModel.MainData["sourceAddress"].ToString();
                string Saddress1 = saveModel.MainData["sourceAddress1"].ToString();
                string Taddress = saveModel.MainData["targetAddress"].ToString();
                //string Taddress = saveModel.MainData["targetAddress"].ToString();
                if (Saddress == Saddress1)
                {
                    webResponseContent.Error("同一缓存架不能扫描两次!");
@@ -315,13 +304,20 @@
                    dt_Tasks.TaskType = 16;
                    dt_Tasks.Grade = 1;
                    dt_Tasks.PalletCode = "";
                    dt_Tasks.TargetAddress = Taddress;
                    dt_Tasks.NextAddress = Taddress;
                    if (dt_Task.CurrentAddress.Contains("ZJ"))
                    {
                        dt_Tasks.TargetAddress = "ZJSL-WLX002";
                    }
                    else
                    {
                        dt_Tasks.TargetAddress = "FJSL-WLS002";
                    }
                    dt_Tasks.NextAddress = dt_Tasks.TargetAddress;
                    dt_Tasks.Barcode = "";
                    dt_Tasks.Roadway = "AGV";
                    dt_Tasks.WMSId = 0;
                    dt_Tasks.Remark = "空托回流";
                    dt_Task.Floor = 3;
                    dt_Tasks.Floor = 3;
                }
                var isTrue1 = _taskRepository.AddData(dt_Tasks);
@@ -509,5 +505,47 @@
            }
            return Task.FromResult(webResponseContent);
        }
        /// <summary>
        /// æš‚存区送料
        /// </summary>
        /// <param name="saveModel"></param>
        /// <returns></returns>
        public Task<WebResponseContent> TemporarilyTasks(SaveModel saveModel)
        {
            WebResponseContent webResponseContent = new WebResponseContent();
            try
            {
                string sourceAddress = saveModel.MainData["sourceAddress"].ToString();
                string targetAddress = saveModel.MainData["targetAddress"].ToString();
                Dt_Task dt_Tasks = new Dt_Task();
                {
                    dt_Tasks.TaskNum = _taskService.GetTaskNum();
                    dt_Tasks.CreateDate = DateTime.Now;
                    dt_Tasks.Creater = "system";
                    dt_Tasks.CurrentAddress = sourceAddress;
                    dt_Tasks.SourceAddress = sourceAddress;
                    dt_Tasks.TaskState = (int)TaskInStatusEnum.InNew;
                    dt_Tasks.TaskType = 4;
                    dt_Tasks.Grade = 1;
                    dt_Tasks.PalletCode = "";
                    dt_Tasks.TargetAddress = targetAddress;
                    dt_Tasks.NextAddress = targetAddress;
                    dt_Tasks.Barcode = "";
                    dt_Tasks.Roadway = "AGV";
                    dt_Tasks.WMSId = 0;
                    dt_Tasks.Remark = "暂存区送料";
                    dt_Tasks.Floor = 3;
                }
                var isTrue1 = _taskRepository.AddData(dt_Tasks);
                webResponseContent.OK("任务下发成功!");
            }
            catch (Exception ex)
            {
                webResponseContent.Error(ex.Message);
            }
            return Task.FromResult(webResponseContent);
        }
    }
}