肖洋
2024-12-11 f4163300190b9eca182419543540e3c1f2a8ebb6
Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/BaiBuLiKu
已删除2个文件
已修改2个文件
98 ■■■■ 文件已修改
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.buildMultiTargeting.WIDESEAWCS_Server.props 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.buildTransitive.WIDESEAWCS_Server.props 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs 67 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.buildMultiTargeting.WIDESEAWCS_Server.props
ÎļþÒÑɾ³ý
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/Debug/net6.0/staticwebassets/msbuild.buildTransitive.WIDESEAWCS_Server.props
ÎļþÒÑɾ³ý
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -262,12 +262,12 @@
        try
        {
            // æ›´æ–°è´§ä½å’Œåº“存信息
            (DtStockInfo updateStock, DtLocationInfo locationInf) = UpdateStockLocation(stock, task.NextAddress);
            (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task);
            var taskHty = CreateHistoricalTask(task);
            LogFactory.GetLog("任务完成").InfoFormat(true, "移库任务完成", $"货位地址:{task.TargetAddress},修改后库存数据:{JsonConvert.SerializeObject(updateStock)},原先货位数据:{locationInf}");
            LogFactory.GetLog("任务完成").InfoFormat(true, "移库任务完成", $"货位地址:{task.TargetAddress},修改后库存数据:{JsonConvert.SerializeObject(updateStock)},原先货位数据:{locationInForm}");
            // æ‰§è¡Œæ•°æ®åº“事务
            bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInf, task.TaskId);
            bool isResult = await ExecuteTransaction(updateStock, taskHty, locationInForm, locationInfoTo, task.TaskId);
            if (isResult)
                content.OK("移库任务完成成功");
            else
@@ -522,6 +522,8 @@
                LogFactory.GetLog("任务完成").InfoFormat(true, "出库任务", "");
                return await CompleteStackTaskAsync(task, stock);
            case (int)TaskRelocationTypeEnum.Relocation:
                return await CompleteTransferTaskAsync(task, stock);
            default:
                return content.Error("任务类型不存在");
        }
@@ -1450,20 +1452,19 @@
    /// <param name="stock">库存对象</param>
    /// <param name="toLocation">目标位置</param>
    // æ›´æ–°åº“存和位置信息
    private (DtStockInfo, DtLocationInfo) UpdateStockLocation(DtStockInfo stock, string toLocation)
    private (DtStockInfo, DtLocationInfo, DtLocationInfo) UpdateStockLocation(DtStockInfo stock, Dt_Task task)
    {
        // èŽ·å–åº“å­˜ä¿¡æ¯
        var locationInfo = _locationRepository.QueryFirst(x => x.LocationCode == stock.LocationCode);
        // å°†åº“存状态设置为在库
        locationInfo.LocationStatus = LocationEnum.InStock.ObjToInt();
        //修改来源库位和 ç›®æ ‡åº“位状态
        var fromLocation = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
        fromLocation.LocationStatus = LocationEnum.Free.ObjToInt();
        var toLocation = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
        toLocation.LocationStatus = LocationEnum.InStock.ObjToInt();
        // å°†åº“存位置设置为目标位置
        stock.LocationCode = toLocation;
        // å°†åº“存状态设置为在库
        stock.LocationInfo.LocationStatus = LocationEnum.InStock.ObjToInt();
        stock.LocationCode = task.TargetAddress;
        // è¿”回更新后的库存和位置信息
        return (stock, locationInfo);
        return (stock, fromLocation, toLocation);
    }
    /// <summary>
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -826,43 +826,44 @@
    #region MyRegion
    //private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo locationInfo, int taskId)
    //{
    //    _unitOfWorkManage.BeginTran();
    //    try
    //    {
    //        var isUpdateStock = true;
    private async Task<bool> ExecuteTransaction(DtStockInfo stock, Dt_Task_Hty taskHty, DtLocationInfo fromLocation,DtLocationInfo toLocation, int taskId)
    {
        _unitOfWorkManage.BeginTran();
        try
        {
            var isUpdateStock = true;
    //        // æ·»åŠ åŽ†å²ä»»åŠ¡
    //        var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
            // æ·»åŠ åŽ†å²ä»»åŠ¡
            var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHty) > 0;
    //        // ä¿®æ”¹ç§»åº“前货位状态
    //        var isUpdateLoc = _locationRepository.UpdateData(locationInfo);
            // ä¿®æ”¹ç§»åº“前货位状态
            var isUpdateLocF = _locationRepository.UpdateData(fromLocation);
            var isUpdateLocT = _locationRepository.UpdateData(toLocation);
    //        // åˆ é™¤ä»»åŠ¡æ•°æ®
    //        var isTaskDelete = await Delete(taskId);
            // åˆ é™¤ä»»åŠ¡æ•°æ®
            var isTaskDelete = await Delete(taskId);
    //        // æäº¤æˆ–回滚事务
    //        if (isUpdateStock && isTaskHtyAdd && isTaskDelete && isUpdateLoc)
    //        {
    //            LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新或添加库存:{isUpdateStock},修改移库前货位状态:{isUpdateLoc}");
    //            _unitOfWorkManage.CommitTran();
    //            return true;
    //        }
    //        else
    //        {
    //            LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"数据处理失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新库存:{isUpdateStock},修改移库前货位状态:{isUpdateLoc}");
    //            _unitOfWorkManage.RollbackTran();
    //            return false;
    //        }
    //    }
    //    catch (Exception err)
    //    {
    //        LogFactory.GetLog("任务完成").InfoFormat(true, $"任务完成,系统异常,异常信息:{err.Message}", "无参数");
    //        _unitOfWorkManage.RollbackTran();
    //        throw; // æŠ›å‡ºå¼‚常以便外部捕获
    //    }
    //}
            // æäº¤æˆ–回滚事务
            if (isUpdateStock && isTaskHtyAdd && isTaskDelete && isUpdateLocF && isUpdateLocT)
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"事务处理完成,提交事务。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新或添加库存:{isUpdateStock},修改移库前货位状态:{isUpdateLocF}");
                _unitOfWorkManage.CommitTran();
                return true;
            }
            else
            {
                LogFactory.GetLog("任务完成").InfoFormat(true, "任务完成", $"数据处理失败,请检查数据是否正确,数据回滚。添加历史任务:{isTaskHtyAdd},删除任务数据:{isTaskDelete},更新库存:{isUpdateStock},修改移库前货位状态:{isUpdateLocF}");
                _unitOfWorkManage.RollbackTran();
                return false;
            }
        }
        catch (Exception err)
        {
            LogFactory.GetLog("任务完成").InfoFormat(true, $"任务完成,系统异常,异常信息:{err.Message}", "无参数");
            _unitOfWorkManage.RollbackTran();
            throw new Exception(err.Message); // æŠ›å‡ºå¼‚常以便外部捕获
        }
    }
    #endregion
    #region æ£€æµ‹é«˜æ¸©åº“是否有可出库库存