IPC-610
2025-01-02 d77d9ff80f5fd8cd70c775fbfc30dc27061bfad2
Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs
@@ -85,7 +85,7 @@
                result.Msg = "任务:" + models.TaskNo + ";已存在!";
                return result;
            }
            if (models.TaskType == "0")
            if (models.TaskType == "0" && models.TaskType == "0")
            {
                models.Order = 1;
            }
@@ -93,11 +93,30 @@
            {
                models.Order = 2;
            }
            Enum type;
            var bale = "0";
            if (models.TaskType == "0" )
            {
                type = TaskTypeEnum.In;
            }
            else if (models.TaskType == "1")
            {
                type = TaskTypeEnum.Out;
            }
            else if (models.TaskType == "3")
            {
                type = TaskTypeEnum.In;
                bale = "1";//裹包
            }
            else
            {
                type = TaskTypeEnum.Move;
            }
            //新增任务
            var taskAdd = new WcsTask()
            {
                TaskNo = models.TaskNo,
                TaskType = TaskTypeEnum.Out,
                TaskType = (TaskTypeEnum?)type,
                Status = TaskStatusEnum.Wait,
                //IsSuccess =TaskSuccessEnum.Success,
                Levels = 999,
@@ -107,6 +126,8 @@
                EndLocate = models.EndLocate,
                EndRoadway= models.EndRoadway,
                PalletNo = models.PalletNo,
                IsBale = bale,
                //LotNo =models.LotNo,
                //SkuNo=models.SkuNo,
@@ -210,7 +231,7 @@
                }
                if (item.DelistList2.Count == 0)
                {
                    throw new Exception("值码集合不能为空");
                    throw new Exception("支码集合不能为空");
                }
                //二级码
                foreach (var item2 in item.DelistList2)
@@ -227,6 +248,11 @@
                    {
                        throw new Exception("生产日期或失效日期格式错误");
                    };
                    DateTime? stortime = null;
                    if (!string.IsNullOrWhiteSpace(models.StoreTime))
                    {
                        stortime = DateTime.Parse(models.StoreTime);
                    }
                    var boxAdd = new WcsBoxInfo()
                    {
@@ -244,7 +270,7 @@
                        //InspectStatus = models.InspectStatus,
                        ProductionTime = proTime,
                        ExpirationTime = expTime,
                        StoreTime = DateTime.Parse(models.StoreTime),
                        StoreTime = stortime,
                        EndLotFlag = string.IsNullOrWhiteSpace(models.EndBatchMark) ? "0" : models.EndBatchMark,
                        BoxNo2 = item.BoxNo2,
@@ -276,4 +302,42 @@
        }
    }
    /// <summary>
    /// WCS接受赋码系统推送的箱码移除
    /// </summary>
    /// <param name="models">箱码信息</param>
    /// <returns>反馈信息</returns>
    [HttpPost]
    [AllowAnonymous]
    public ResponseFuMaModel DelgatesHttpBoxInfo(FumaBoxInfoInput models)
    {
        try
        {
            string str = JsonConvert.SerializeObject(models);
            Log.Information("接收赋码推送的箱码移除:" + str);
            var num = _db.Queryable<WcsBoxInfo>().Where(m => m.BoxNo == models.BoxNo && m.IsDelete == false).ToList();
            if (num.Count > 0)
            {
                //WCS存在箱码信息,更新箱码信息(需判断箱码是否已组盘入库)
                var num2 = num.Count(m => m.Status != "0" || !string.IsNullOrWhiteSpace(m.PalletNo));
                if (num2 > 0)
                {
                    throw new Exception("该箱已盘入库,不可更新信息");
                }
            }
            if (num.Count == 0)
            {
                throw new Exception("未找到该箱码,箱码移除失败!");
            }
            _db.Deleteable(num).ExecuteCommand();
            return new ResponseFuMaModel() { Success = "0", Message = "移除箱码成功" };
        }
        catch (Exception ex)
        {
            return new ResponseFuMaModel() { Success = "-1", Message = ex.Message };
        }
    }
}