huanghongfeng
2025-01-24 829eabf256e29392ca63f6da48829dba3b075dfe
´úÂë¹ÜÀí/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
@@ -440,9 +440,9 @@
                                {
                                    string[] targetCodesst = dt_StockInfo.PalletCode.Split("*");
                                    Dt_InboundOrder dt_Inbound = _inboundService.InbounOrderService.Repository.QueryFirst(x => x.OrderName == targetCodesst[0]);
                                    if (dt_Inbound.Startingcolumn != 0 || dt_Inbound.Startingcolumn != 0)
                                    if (dt_Inbound.Startingcolumn != 0 || dt_Inbound.Terminationcolumn != 0)
                                    {
                                        newLocation = _basicService.LocationInfoService.GetLocation2(locationInfos.RoadwayNo, Locationtype, dt_Inbound.Startingcolumn, dt_Inbound.Startingcolumn);
                                        newLocation = _basicService.LocationInfoService.GetLocation2(locationInfos.RoadwayNo, Locationtype, dt_Inbound.Startingcolumn, dt_Inbound.Terminationcolumn);
                                    }
                                    else
                                    {
@@ -489,6 +489,7 @@
                                    loca.Add(newLocation);
                                    loca.Add(locationInfos);
                                    _basicService.LocationInfoService.UpdateData(loca);
                                    BaseDal.AddData(dt_Task);
                                    _unitOfWorkManage.CommitTran();
                                    return content = WebResponseContent.Instance.OK(data: dt_Task);
                                }
@@ -927,7 +928,7 @@
                    }
                    else
                    {
                        return content = WebResponseContent.Instance.Error($"出库失败,未找到对应的库存信息,库存编号:{pallid}");
                        return content = WebResponseContent.Instance.Error($"修改失败,未找到对应的库存信息,库存编号:{pallid}");
                    }
                }
@@ -943,7 +944,51 @@
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return content = WebResponseContent.Instance.Error($"出库失败,报错信息:{ex.Message}");
                return content = WebResponseContent.Instance.Error($"修改失败,报错信息:{ex.Message}");
                throw;
            }
        }
        public WebResponseContent ManualOutbound4(SaveModel saveModel)
        {
            WebResponseContent content = new WebResponseContent();
            try
            {
                List<Dt_StockInfo> dtstockt = new List<Dt_StockInfo>();
                List<Dt_StockInfo> stocktData = _stockService.StockInfoService.Repository.QueryData(x => x.StockStatus == (int)StockStatusEmun.已入库);
                string json = saveModel.DelKeys[0].ToString();
                List<int> palletCodes = JsonConvert.DeserializeObject<List<int>>(json);
                foreach (int pallid in palletCodes)
                {
                    Dt_StockInfo stockt = stocktData.FirstOrDefault(x => x.Id == pallid);
                    if (stockt != null)
                    {
                        stockt.Mgeneratetime = DateTime.Parse(saveModel.DelKeys[1].ToString());
                        dtstockt.Add(stockt);
                    }
                    else
                    {
                        return content = WebResponseContent.Instance.Error($"修改失败,未找到对应的库存信息,库存编号:{pallid}");
                    }
                }
                _unitOfWorkManage.BeginTran();
                if (dtstockt.Count > 0)
                {
                    _stockService.StockInfoService.Repository.UpdateData(dtstockt);
                }
                _unitOfWorkManage.CommitTran();
                content = WebResponseContent.Instance.OK($"修改成功");
                return content;
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return content = WebResponseContent.Instance.Error($"修改失败,报错信息:{ex.Message}");
                throw;
            }
        }
@@ -1241,6 +1286,7 @@
                    BaseDal.DeleteData(task);
                    BaseDal.DeleteAndMoveIntoHty(task, OperateType.人工删除);
                    WriteLog.GetLog("任务日志").Write($"出库任务取消成功,托盘条码:{task.PalletCode}", $"任务取消");
                    WebResponseContent webResponseContent = HttpHelper.Post<WebResponseContent>(ReceiveWCSTask, task.TaskNum, "任务删除");
                    return content = WebResponseContent.Instance.Error($"出库任务取消成功");
                }
@@ -1263,6 +1309,42 @@
                    BaseDal.DeleteData(task);
                    BaseDal.DeleteAndMoveIntoHty(task, OperateType.人工删除);
                    WriteLog.GetLog("任务日志").Write($"入库任务取消成功,托盘条码:{task.PalletCode}", $"任务取消");
                    WebResponseContent webResponseContent = HttpHelper.Post<WebResponseContent>(ReceiveWCSTask, task.TaskNum, "任务删除");
                    return content = WebResponseContent.Instance.Error($"入库任务取消成功");
                }
                else if (task.TaskType == (int)TaskTypeEnum.RelocationIn)    //库内移库
                {
                    //处理出库的逻辑
                    Dt_LocationInfo locationinfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress);
                    if (locationinfo.LocationStatus == LocationStatusEnum.Lock.ObjToInt() || locationinfo.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt())
                    {
                        locationinfo.LocationStatus = LocationStatusEnum.Free.ObjToInt();
                    }
                    _basicService.LocationInfoService.Repository.UpdateData(locationinfo);
                    Dt_LocationInfo locationinfo2 = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress);
                    if (locationinfo2.LocationStatus == LocationStatusEnum.Lock.ObjToInt())
                    {
                        locationinfo2.LocationStatus = LocationStatusEnum.InStock.ObjToInt();
                    }
                    if (locationinfo2.LocationStatus == LocationStatusEnum.PalletLock.ObjToInt())
                    {
                        locationinfo2.LocationStatus = LocationStatusEnum.Pallet.ObjToInt();
                    }
                    _basicService.LocationInfoService.Repository.UpdateData(locationinfo2);
                    Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.QueryFirst(x => x.PalletCode == task.PalletCode);
                    stockInfo.StockStatus = (int)StockStatusEmun.已入库;
                    _stockService.StockInfoService.Repository.UpdateData(stockInfo);
                    Dt_StockInfoDetail stocktdetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id);
                    if (stocktdetail != null)
                    {
                        stocktdetail.Status = (int)StockStatusEmun.已入库;
                        _stockService.StockInfoDetailService.Repository.UpdateData(stocktdetail);
                    }
                    BaseDal.DeleteData(task);
                    BaseDal.DeleteAndMoveIntoHty(task, OperateType.人工删除);
                    WriteLog.GetLog("任务日志").Write($"入库任务取消成功,托盘条码:{task.PalletCode}", $"任务取消");
                    WebResponseContent webResponseContent = HttpHelper.Post<WebResponseContent>(ReceiveWCSTask, task.TaskNum, "任务删除");
                    return content = WebResponseContent.Instance.Error($"入库任务取消成功");
                }
                else