From 827880621d3d78b0c075c37751eeaab2fe1925b3 Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期四, 26 十二月 2024 17:09:41 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/BaiBuLiKu
---
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs | 63 ++++++++++++
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs | 8 +
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Location/ILocationInfoService.cs | 2
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 14 ++
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Location/ILocationStatusChangeRecordRepository.cs | 4
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs | 94 ++++++++++++++++++
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 7 +
Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js | 12 ++
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 22 ++++
Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx | 18 +++
10 files changed, 234 insertions(+), 10 deletions(-)
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index cf9d722..0bcc2a8 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -562,6 +562,13 @@
}
else if (task.TaskState == (int)TaskInStatusEnum.SC_InFinish)
{
+ if (App.User.UserId > 0)
+ {
+ content = StackCraneTaskCompleted(task.TaskNum);
+ return content;
+ }
+
+
task.ModifyDate = DateTime.Now;
task.Modifier = "System";
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js b/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js
index a9ded9d..7e2d3a4 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/api/buttons.js
@@ -108,7 +108,7 @@
// icon: 'el-icon-printer',
type: 'primary',
// plain: true,
- color: '#529b2e',
+ // color: '#529b2e',
value: 'TaskHandComplete',
onClick: function () {
@@ -118,11 +118,19 @@
// icon: 'el-icon-printer',
type: 'primary',
// plain: true,
- color: '#529b2e',
+ // color: '#529b2e',
value: 'OutBound',
onClick: function () {
}
+ },{
+ name: '鍒濆鍖栧簱浣�',
+ type: 'primary',
+ // color: '#529b2e',
+ value: 'initializeLocation',
+ onClick: function () {
+
+ }
}
]
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx
index 981f67d..a9dcf94 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/basicinfo/Dt_LocationInfo.jsx
@@ -33,6 +33,24 @@
// this.$Message.success('鐐瑰嚮浜嗘寜閽�');
// }
// });
+ var btninitializeLocation = this.buttons.find(x => x.value == "initializeLocation");
+ if (btninitializeLocation != null) {
+ btninitializeLocation.onClick = () => {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ this.http
+ .post("api/LocationInfo/initializeLocation?locationID="+rows[0].id, "","鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('鎴愬姛.');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
+ }
+ }
+
var btnEnableLocation = this.buttons.find(x => x.value == "EnableLocation");
if (btnEnableLocation != null) {
btnEnableLocation.onClick = () => {
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Location/ILocationStatusChangeRecordRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Location/ILocationStatusChangeRecordRepository.cs
index 70da6b7..9755f1d 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Location/ILocationStatusChangeRecordRepository.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicRepository/Location/ILocationStatusChangeRecordRepository.cs
@@ -10,4 +10,8 @@
/// <param name="changeRecordDto">鏁版嵁妯″瀷</param>
/// <returns></returns>
bool AddStatusChangeRecord(LocationChangeRecordDto changeRecordDto);
+
+ void AddLocationStatusChangeRecord(DtLocationInfo locationInfo, int lastStatus, int changeType, int? taskNum);
+
+ void AddLocationStatusChangeRecord(List<DtLocationInfo> locationInfos, int newStatus, int changeType, List<int>? taskNums);
}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Location/ILocationInfoService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Location/ILocationInfoService.cs
index 30134d3..316fa99 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Location/ILocationInfoService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_IStorageBasicService/Location/ILocationInfoService.cs
@@ -11,5 +11,7 @@
/// <returns>浠诲姟瀵硅薄</returns>
Task<Dt_Task> TransferCheckAsync(int taskNum);
+ Task<WebResponseContent> initializeLocation(int locationID);
+
WebResponseContent CreateLocation(int x, int y, int z, int locType, int areaId);
}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs
index 3221528..f91b37d 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicRepository/Location/LocationStatusChangeRecordRepository.cs
@@ -1,4 +1,6 @@
-锘縰sing WIDESEA_DTO;
+锘縰sing WIDESEA_Core;
+using WIDESEA_DTO;
+using WIDESEA_Model.Models;
namespace WIDESEA_StorageBasicRepository
{
@@ -27,5 +29,64 @@
};
return AddData(dtLocationStatusChangeRecord) > 0;
}
+ /// <summary>
+ /// 娣诲姞璐т綅鍙樺姩璁板綍
+ /// </summary>
+ /// <param name="locationInfo">鏇存柊瀹炰綋</param>
+ /// <param name="lastStatus">鍙樺姩鍓嶇姸鎬�</param>
+ /// <param name="changeType">鍙樺姩绫诲瀷</param>
+ /// <param name="taskNum">浠诲姟鍙�</param>
+ /// <exception cref="Exception"></exception>
+ public void AddLocationStatusChangeRecord(DtLocationInfo locationInfo, int lastStatus, int changeType, int? taskNum)
+ {
+ try
+ {
+ DtLocationStatusChangeRecord locationStatusChangeRecord = new DtLocationStatusChangeRecord()
+ {
+ AfterStatus = locationInfo.LocationStatus,
+ BeforeStatus = lastStatus,
+ ChangeType = changeType,
+ LocationCode = locationInfo.LocationCode,
+ LocationId = locationInfo.Id,
+ TaskNum = taskNum,
+ Creater = "System",
+ CreateDate = DateTime.Now,
+ };
+
+ base.AddData(locationStatusChangeRecord);
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"{ex.Message}");
+ }
+ }
+
+ public void AddLocationStatusChangeRecord(List<DtLocationInfo> locationInfos, int newStatus, int changeType, List<int>? taskNums)
+ {
+ try
+ {
+ List<DtLocationStatusChangeRecord> records = new List<DtLocationStatusChangeRecord>();
+ for (int i = 0; i < locationInfos.Count; i++)
+ {
+ DtLocationInfo locationInfo = locationInfos[i];
+ int? taskNum = (taskNums != null && taskNums.Count > 0 && taskNums.Count == locationInfos.Count) ? taskNums[i] : null;
+ DtLocationStatusChangeRecord locationStatusChangeRecord = new DtLocationStatusChangeRecord()
+ {
+ AfterStatus = newStatus,
+ BeforeStatus = locationInfo.LocationStatus,
+ ChangeType = changeType,
+ LocationCode = locationInfo.LocationCode,
+ LocationId = locationInfo.Id,
+ TaskNum = taskNum,
+ };
+ records.Add(locationStatusChangeRecord);
+ }
+ AddData(records);
+ }
+ catch (Exception ex)
+ {
+ throw new Exception($"{ex.Message}");
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
index 587b9ad..3d56886 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
@@ -1,5 +1,10 @@
-锘縰sing WIDESEA_Common;
+锘縰sing AngleSharp.Dom;
+using Mapster;
+using System.Threading.Tasks;
+using WIDESEA_Common;
+using WIDESEA_Core;
using WIDESEA_DTO;
+using WIDESEA_Model.Models;
namespace WIDESEA_StorageBasicService;
@@ -8,11 +13,14 @@
private readonly LogFactory LogFactory = new LogFactory();
private readonly IUnitOfWorkManage _unitOfWorkManage;
private readonly IDt_TaskRepository _taskRepository;
+ private readonly IDt_TaskService _taskService;
private readonly IStockInfoRepository _stockInfoRepository;
+ private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
private readonly IDt_WareAreaInfoRepository _wareAreaInfoRepository;
private readonly IPointStackerRelationRepository _pointStackerRelationRepository;
private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository;
private readonly ILocationStatusChangeRecordRepository _locationStatusChangeRecordRepository;
+ private readonly IMapper _mapper;
public LocationInfoService(ILocationInfoRepository BaseDal,
IUnitOfWorkManage unitOfWorkManage,
@@ -21,7 +29,10 @@
IDt_WareAreaInfoRepository wareAreaInfoRepository,
IPointStackerRelationRepository pointStackerRelationRepository,
ITaskExecuteDetailRepository taskExecuteDetailRepository,
- ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository) : base(BaseDal)
+ ILocationStatusChangeRecordRepository locationStatusChangeRecordRepository,
+ IStockInfoDetailRepository stockInfoDetailRepository,
+ IMapper mapper,
+ IDt_TaskService taskService) : base(BaseDal)
{
_unitOfWorkManage = unitOfWorkManage;
_taskRepository = taskRepository;
@@ -30,6 +41,9 @@
_pointStackerRelationRepository = pointStackerRelationRepository;
_taskExecuteDetailRepository = taskExecuteDetailRepository;
_locationStatusChangeRecordRepository = locationStatusChangeRecordRepository;
+ _stockInfoDetailRepository = stockInfoDetailRepository;
+ _mapper = mapper;
+ _taskService = taskService;
}
/// <summary>
@@ -103,6 +117,52 @@
return base.UpdateData(saveModel);
}
+ #region 鍒濆鍖栧簱浣�
+ public async Task<WebResponseContent> initializeLocation(int locationID)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ DtLocationInfo? location = BaseDal.QueryData(x => x.Id == locationID).FirstOrDefault();
+ int LastStatus = location.LocationStatus;
+ if (location == null)
+ {
+ return content.Error("鏈壘鍒拌揣浣嶄俊鎭�!");
+ }
+ DtStockInfo stock = _stockInfoRepository.QueryFirst(x => x.LocationId == location.Id);
+ if(stock == null)
+ {
+ location.LocationStatus= (int)LocationEnum.Lock;
+ BaseDal.UpdateData(location);
+ }
+ else
+ {
+ _unitOfWorkManage.BeginTran();
+ DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>();
+ stockInfo_Hty.ModifyDate = DateTime.Now;
+ await DeleteStockInfoAsync(stock.Id);
+ List<DtStockInfoDetail> detail = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id).ToList();
+ if (detail != null && detail.Count() > 0)
+ {
+ await DeleteStockInfoDetailsAsync(detail);
+ }
+ await AddStockInfoHtyAsync(stockInfo_Hty);
+
+ location.LocationStatus = (int)LocationEnum.Lock;
+ BaseDal.UpdateData(location);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, LastStatus, (int)StatusChangeTypeEnum.ManualOperation, 0);
+ _unitOfWorkManage.CommitTran();
+ }
+ return content.OK();
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return content.Error(ex.Message);
+ }
+ }
+ #endregion
#region 鍒涘缓鍘熷璐т綅鏁版嵁
@@ -325,5 +385,35 @@
#endregion 鍒涘缓鍒濆璐т綅鏂规硶
+ #region 搴撳瓨绉诲叆鍘嗗彶
+ private async Task DeleteStockInfoAsync(int stockId)
+ {
+ var isStockUpdated = await _stockInfoRepository.DeleteDataByIdAsync(stockId);
+ if (!isStockUpdated)
+ {
+ throw new Exception("搴撳瓨淇℃伅鏇存柊澶辫触");
+ }
+ }
+
+ private async Task AddStockInfoHtyAsync(DtStockInfo_Hty dtStock)
+ {
+ var isStockAdd = await SqlSugarHelper.Db.InsertNav(dtStock).IncludesAllFirstLayer().ExecuteCommandAsync();
+ if (!isStockAdd)
+ {
+ throw new Exception("搴撳瓨鍘嗗彶淇℃伅娣诲姞澶辫触");
+ }
+ }
+
+ private async Task DeleteStockInfoDetailsAsync(IEnumerable<DtStockInfoDetail> details)
+ {
+ var ids = details.Select(x => (object)x.Id).ToArray();
+ var isStockDetailUpdated = await _stockInfoDetailRepository.DeleteDataByIdsAsync(ids);
+ if (!isStockDetailUpdated)
+ {
+ throw new Exception("搴撳瓨璇︽儏淇℃伅鏇存柊澶辫触");
+ }
+ }
+ #endregion
+
#endregion 鍐呴儴鏂规硶
}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index e9ae1ae..6fe56dc 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -1,4 +1,5 @@
锘縰sing AngleSharp.Dom;
+using log4net.Core;
using Mapster;
using Masuit.Tools;
using SixLabors.Fonts.Tables.AdvancedTypographic;
@@ -10,6 +11,7 @@
using WIDESEA_DTO.WMS;
using WIDESEA_IServices;
using WIDESEA_IStoragIntegrationServices;
+using WIDESEA_StorageBasicRepository;
using WIDESEA_StoragIntegrationServices;
using WIDESEAWCS_BasicInfoRepository;
@@ -268,11 +270,13 @@
{
var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway);
//var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id);
-
+ int lastStatus = location.LocationStatus;
location.LocationStatus = (int)LocationEnum.Free;
task.TaskState = (int)TaskOutStatusEnum.OutFinish;
//task.CurrentAddress = task.NextAddress;
//task.NextAddress = task.TargetAddress;
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery,task.TaskNum);
LogFactory.GetLog("浠诲姟瀹屾垚").Info(true, "鏇存柊搴撳瓨鐘舵�佷笌浠诲姟鐘舵��");
return (location, task);
@@ -348,7 +352,7 @@
try
{
// 鏇存柊璐т綅鍜屽簱瀛樹俊鎭�
- (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task);
+ (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task);
var taskHty = CreateHistoricalTask(task);
LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInForm}");
@@ -405,6 +409,7 @@
var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode);
var locationInf = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.RoadwayNo == task.Roadway);
+ int lastStatus = locationInf.LocationStatus;
// 鏇存柊鐩爣浣嶇疆鐘舵�佷负搴撳瓨涓�
locationInf.LocationStatus = (int)LocationEnum.InStock;
@@ -416,6 +421,10 @@
await _locationRepository.UpdateDataAsync(locationInf);
await _task_HtyRepository.AddDataAsync(taskHty);
await BaseDal.DeleteDataAsync(task);
+
+ //璁板綍璐т綅鍙樺姩淇℃伅
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInf, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
+
return content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
}
// 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨�
@@ -425,6 +434,7 @@
bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId, boxing);
if (isResult)
{
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInf, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
}
else
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 85c1e58..e6b102d 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -387,10 +387,13 @@
TaskNum = await BaseDal.GetTaskNo(),
Creater = "Systeam"
};
- ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + locationInfo.LocationStatus.ToString());
+ int lastStatus = locationInfo.LocationStatus;
+ ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + lastStatus.ToString());
locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;
ConsoleHelper.WriteSuccessLine($"淇敼鍚庯細" + locationInfo.LocationStatus.ToString());
await UpdateLocationAsync(locationInfo);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
return task;
}
@@ -672,10 +675,15 @@
var isBox = await _boxingInfoRepository.AddDataNavAsync(boxing);
- ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + locationInfo.LocationStatus.ToString());
+ int lastStatus = locationInfo.LocationStatus;
+
+ ConsoleHelper.WriteSuccessLine($"淇敼鍓嶏細" + lastStatus.ToString());
locationInfo.LocationStatus = (int)LocationEnum.FreeDisable;
ConsoleHelper.WriteSuccessLine($"淇敼鍚庯細" + locationInfo.LocationStatus.ToString());
await UpdateLocationAsync(locationInfo);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum);
+
return task;
}
catch (Exception ex)
@@ -784,10 +792,13 @@
var content = JsonConvert.DeserializeObject<WebResponseContent>(result);
if (content.Status)
{
+ int lastStatus = item.LocationInfo.LocationStatus;
await BaseDal.AddDataAsync(task);
// 鏇存柊搴撳瓨浣嶇疆鐘舵�佷负涓嶅彲鐢�
item.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
await _locationRepository.UpdateDataAsync(item.LocationInfo);
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(item.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
}
}
}
@@ -833,6 +844,7 @@
WMSTaskDTO wmsTask = CreateTaskDTO(task);
// 鏇存柊搴撳瓨浣嶇疆鐘舵�佷负涓嶅彲鐢�
+ int lastStatus = location.LocationStatus;
stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
location.LocationStatus = (int)LocationEnum.Distribute;
await _unitOfWorkManage.UseTranAsync(async () =>
@@ -841,6 +853,8 @@
await _locationRepository.UpdateDataAsync(stockInfo.LocationInfo);
await _locationRepository.UpdateDataAsync(location);
});
+
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
// 杩斿洖鎴愬姛鍝嶅簲
return content.OK(data: wmsTask);
@@ -901,10 +915,14 @@
WMSTaskDTO taskDTO = CreateTaskDTO(task);
+ int lastStatus = locationInfo.LocationStatus;
+
BaseDal.AddData(task);
stockInfo.LocationInfo.LocationStatus = (int)LocationEnum.InStockDisable;
_locationRepository.UpdateData(stockInfo.LocationInfo);
+ _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(stockInfo.LocationInfo, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery, task.TaskNum);
+
return content.OK(data: taskDTO);
}
catch (Exception ex)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs
index 7dbcade..627e3e0 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs
@@ -1,4 +1,5 @@
-锘縰sing WIDESEA_DTO;
+锘縰sing Masuit.Tools.Models;
+using WIDESEA_DTO;
namespace WIDESEA_WMSServer.Controllers;
@@ -24,4 +25,9 @@
{
return Service.CreateLocation(x, y, z, locType, areaId);
}
+ [HttpPost, AllowAnonymous, Route("initializeLocation")]
+ public async Task<WebResponseContent> initializeLocation(int locationID)
+ {
+ return await Service.initializeLocation(locationID);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3