From c2cdf0b95d4c9214646c860609b8c838d6ffa779 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 15 八月 2025 13:42:10 +0800
Subject: [PATCH] AGV,成品库代码更新上传
---
项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs | 366 ----------------------------------------------------
1 files changed, 0 insertions(+), 366 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
index 68dbbb7..7e96894 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -36,371 +36,5 @@
public partial class TaskService
{
static object lock_out = new object();
-
- /// <summary>
- /// 娴嬭瘯鏋跺嚭浠�
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- public MesResponseContent TestToolOut(TestToolOutModel model)
- {
- lock (lock_out)
- {
- MesResponseContent responseContent = new MesResponseContent();
- try
- {
- Dt_Task exsit = Repository.QueryFirst(x => x.TargetAddress == model.TargetAddressCode);
- if (exsit != null)
- {
- return responseContent.Error($"鐩爣鍦板潃閲嶅");
- }
-
- Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
- //鑾峰彇搴撳瓨璁板綍
- List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
- x.WarehouseId == warehouse.WarehouseId &&
- x.StockStatus == (int)StockStatusEmun.鍏ュ簱瀹屾垚).Includes(x => x.Details).ToList();
- Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == model.ToolCode));
- if (stockInfo == null)
- {
- return responseContent.Error($"娴嬭瘯鏋�:{model.ToolCode}鏃犲彲鐢ㄥ簱瀛�");
- }
- Dt_Task exsit2 = Repository.QueryFirst(x => x.PalletCode == stockInfo.PalletCode);
- if (exsit2 != null)
- {
- return responseContent.Error($"娴嬭瘯鏋舵壒娆″彿閲嶅");
- }
-
- Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode &&
- x.WarehouseId == stockInfo.WarehouseId &&
- x.LocationStatus == (int)LocationStatusEnum.InStock &&
- (x.EnableStatus == (int)EnableStatusEnum.Normal || x.EnableStatus == (int)EnableStatusEnum.OnlyOut));
- if (locationInfo == null)
- {
- return responseContent.Error($"娴嬭瘯鏋惰揣浣嶃�傘�傘�傘�傘�傘�傘�傘�傘��:{stockInfo.LocationCode}鍑哄簱鏉′欢涓嶆弧瓒�");
- }
- //鐢熸垚娴嬭瘯鏋跺嚭搴撲换鍔� 閿佸畾搴撳瓨 鏇存敼璐т綅鐘舵��
- Dt_Task taskOut = new()
- {
- CurrentAddress = stockInfo.LocationCode,
- Grade = 0,
- PalletCode = stockInfo.PalletCode,
- NextAddress = "",
- Roadway = locationInfo.RoadwayNo,
- SourceAddress = stockInfo.LocationCode,
- TargetAddress = model.TargetAddressCode,
- TaskStatus = (int)TaskStatusEnum.New,
- TaskType = (int)TaskTypeEnum.Outbound,
- TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
- PalletType = stockInfo.PalletType,
- WarehouseId = stockInfo.WarehouseId,
- };
- stockInfo.StockStatus = (int)StockStatusEmun.鍑哄簱閿佸畾;
- LocationStatusEnum locationStatus = (LocationStatusEnum)locationInfo.LocationStatus;
- locationInfo.LocationStatus = (int)LocationStatusEnum.Lock;
- //鍒ゆ柇鏄惁鏈夊嚭搴撳崟淇℃伅
- _unitOfWorkManage.BeginTran();
- //鏇存柊搴撳瓨鐘舵��
- _stockRepository.StockInfoRepository.UpdateData(stockInfo);
- //鏇存柊璐т綅鐘舵��
- _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Lock, stockInfo.WarehouseId);
- //鏂板缓浠诲姟
- BaseDal.AddData(taskOut);
- //鍔犲叆璐т綅鍙樺姩璁板綍
- _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, locationStatus, LocationStatusEnum.Lock, LocationChangeType.OutboundAssignLocation, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", taskOut.TaskNum);
- _unitOfWorkManage.CommitTran();
- //灏嗕换鍔℃帹閫佸埌WCS
- PushTasksToWCS(new List<Dt_Task>() { taskOut }, "AGV_CSJ");
- responseContent.OK();
- }
- catch (Exception ex)
- {
- _unitOfWorkManage.RollbackTran();
- responseContent.Error(ex.Message);
- }
- return responseContent;
- }
- }
- /// <summary>
- /// 娴嬭瘯鏋堕��搴�
- /// </summary>
- /// <returns></returns>
- public MesResponseContent TestToolBack(TestToolBackModel backModel)
- {
- MesResponseContent responseContent = new MesResponseContent();
- try
- {
- //鑾峰彇娴嬭瘯鏋跺師搴撳瓨淇℃伅
- Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
- //鑾峰彇搴撳瓨璁板綍
- List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
- x.WarehouseId == warehouse.WarehouseId &&
- x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚).Includes(x => x.Details).ToList();
- Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == backModel.TestToolCode));
- if (stockInfo == null)
- {
- return responseContent.Error($"{backModel.TestToolCode}搴撳瓨淇℃伅涓嶅瓨鍦�");
- }
- //鐢熸垚閫�搴撲换鍔�
- Dt_Task taskIn = new()
- {
- CurrentAddress = backModel.SourceAddressCode,
- Grade = 0,
- PalletCode = stockInfo.PalletCode,
- NextAddress = "",
- Roadway = "",
- SourceAddress = backModel.SourceAddressCode,
- TargetAddress = "",
- TaskStatus = (int)TaskStatusEnum.New,
- TaskType = (int)TaskTypeEnum.ProductionReturn,
- TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
- PalletType = stockInfo.PalletType,
- WarehouseId = stockInfo.WarehouseId,
- };
- //鏇存敼搴撳瓨鐘舵��
- stockInfo.StockStatus = StockStatusEmun.閫�搴�.ObjToInt();
- BaseDal.AddData(taskIn);
- _stockRepository.StockInfoRepository.UpdateData(stockInfo);
- //灏嗕换鍔℃帹閫佸埌WCS
- PushTasksToWCS(new List<Dt_Task>() { taskIn }, "AGV_CSJ"); ;
- responseContent.OK();
- }
- catch (Exception ex)
- {
- _unitOfWorkManage.RollbackTran();
- responseContent.Error(ex.Message);
- }
- return responseContent;
- }
- /// <summary>
- /// 娴嬭瘯鏋舵姤搴�
- /// </summary>
- /// <returns></returns>
- public MesResponseContent TestScrap(TestToolScrap toolScraps)
- {
- MesResponseContent responseContent = new MesResponseContent();
- try
- {
- //鑾峰彇娴嬭瘯鏋舵壒娆″彿搴撳瓨
- Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA64.ToString());
- //鑾峰彇搴撳瓨璁板綍
- List<Dt_StockInfo> stockInfos = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x =>
- x.WarehouseId == warehouse.WarehouseId &&
- x.StockStatus == (int)StockStatusEmun.鍑哄簱瀹屾垚).Includes(x => x.Details).ToList();
- List<Dt_StockInfo> stockInfoUpdates = new List<Dt_StockInfo>();
- List<Dt_StockInfoDetail> stockInfoDetails = new List<Dt_StockInfoDetail>();
- foreach (var item in toolScraps.ToolCodes)
- {
- Dt_StockInfo? stockInfo = stockInfos.FirstOrDefault(x => x.Details.Any(x => x.BatchNo == item));
- if (stockInfo == null)
- {
- return responseContent.Error($"{item}搴撳瓨淇℃伅涓嶅瓨鍦�");
- }
- stockInfoUpdates.Add(stockInfo);
- stockInfoDetails.Add(stockInfo.Details.FirstOrDefault());
- }
- //娓呴櫎搴撳瓨淇℃伅
- _unitOfWorkManage.BeginTran();
- _stockRepository.StockInfoRepository.DeleteAndMoveIntoHty(stockInfoUpdates, OperateTypeEnum.鑷姩鍒犻櫎);
- _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfoDetails, OperateTypeEnum.鑷姩鍒犻櫎);
- _unitOfWorkManage.CommitTran();
- responseContent.OK($"鎶ュ簾鎴愬姛");
- }
- catch (Exception ex)
- {
- _unitOfWorkManage.RollbackTran();
- responseContent.Error(ex.Message);
- }
- return responseContent;
- }
- /// <summary>
- /// 鍚屾娴嬭瘯鏋跺鍛�
- /// </summary>
- /// <param name="toolSynInfo"></param>
- /// <returns></returns>
- public WebResponseContent TestSynStock(TestToolSynInfo toolSynInfo)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_TestToolSync.ToString());
- MESRoot<TestToolSynInfo> root = new MESRoot<TestToolSynInfo>()
- {
- From = "WMS",
- DateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- Content = toolSynInfo
- };
- JsonSerializerSettings settings = new JsonSerializerSettings
- {
- ContractResolver = new CamelCasePropertyNamesContractResolver()
- };
- string request = JsonConvert.SerializeObject(root, settings);
- string response = HttpMesHelper.Post(apiInfo.ApiAddress, request);
- MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
- //璋冪敤鎺ュ彛
- if (mesResponseContent.BSucc == true)
- {
- content.OK(mesResponseContent.StrMsg);
- }
- else
- {
- content.Error(mesResponseContent.StrMsg);
- }
- }
- catch (Exception ex)
- {
- content.Error(ex.Message);
- }
- return content;
- }
-
- /// <summary>
- /// 鐗╂枡鍑哄簱锛學MS鍚屾鍑哄簱鐗╂枡鎵规鑷矼ES
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- public WebResponseContent UploadMesMaterialLotaAcept(MesMaterialLotaAceptModel model)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.WMS_MES_MaterialLotaAcept.ToString());
- MESRoot<MesMaterialLotaAceptModel> root = new MESRoot<MesMaterialLotaAceptModel>()
- {
- From = "WMS",
- DateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
- Content = model
- };
- JsonSerializerSettings settings = new JsonSerializerSettings
- {
- ContractResolver = new CamelCasePropertyNamesContractResolver()
- };
- string request = JsonConvert.SerializeObject(root, settings);
- string response = HttpMesHelper.Post(apiInfo.ApiAddress, request);
- MesResponseContent mesResponseContent = response.DeserializeObject<MesResponseContent>();
- //璋冪敤鎺ュ彛
- if (mesResponseContent.BSucc == true)
- {
- content.OK(mesResponseContent.StrMsg);
- }
- else
- {
- content.Error(mesResponseContent.StrMsg);
- }
- }
- catch (Exception ex)
- {
- content.Error(ex.Message);
- }
- return content;
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="stockInfo"></param>
- /// <param name="stockInfoDetail"></param>
- /// <param name="taskNo"></param>
- /// <param name="warehouseCode"></param>
- /// <param name="quantity"></param>
- /// <param name="cutedType"></param>
- /// <param name="ppWidth"></param>
- /// <returns></returns>
- public MesMaterialLotaAceptModel GetMesMaterialLotaAceptModel(Dt_StockInfo stockInfo, Dt_StockInfoDetail stockInfoDetail, string taskNo, string warehouseCode, float quantity, string cutedType = "", float ppWidth = 0)
- {
- MesMaterialLotaAceptModel model = new MesMaterialLotaAceptModel()
- {
- CarrierCode = stockInfo.PalletCode,
- CutedType = cutedType,
- ExpirationDate = stockInfoDetail.EffectiveDate,
- MaterialBarCode = stockInfoDetail.SerialNumber,
- MaterialCode = stockInfoDetail.MaterielCode,
- MaterialLot = stockInfoDetail.MaterielCode + "," + stockInfoDetail.BatchNo,
- MaterialName = stockInfoDetail.MaterielName,
- PPWidth = ppWidth,
- ProductionDate = stockInfoDetail.ProductionDate,
- Quantity = quantity,
- Supplier = "",
- TaskNo = taskNo,
- Type = 1,
- WarehouseArea = warehouseCode,
- WarehouseLocation = warehouseCode
- };
-
- return model;
- }
-
- /// <summary>
- /// 鍩烘澘浣欐枡閫�搴�
- /// </summary>
- /// <param name="model"></param>
- /// <returns></returns>
- public MesResponseContent SubstrateBack(SubstrateBackModel model)
- {
- try
- {
- Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => model.CarrierCode.Contains(x.CodeStartStr));
- if (palletTypeInfo == null)
- {
- return MesResponseContent.Instance.Error($"鏈瘑鍒鎵樼洏绫诲瀷锛岃纭鎵樼洏鍙�");
- }
-
- Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == palletTypeInfo.WarehouseId);
-
-
- Dt_StockInfo_Hty stockInfo_Hty = _stockRepository.StockInfo_HtyRepository.QueryData(x => x.PalletCode == model.CarrierCode).OrderByDescending(x => x.SourceId).First();
- Dt_StockInfoDetail_Hty stockInfoDetail_Hty = _stockRepository.StockInfoDetail_HtyRepository.QueryFirst(x => x.StockId == stockInfo_Hty.SourceId);
-
- Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
- {
- MaterielSpec = stockInfoDetail_Hty.MaterielSpec,
- BatchNo = stockInfoDetail_Hty?.BatchNo ?? "",
- EffectiveDate = model.ExpirationDate,
- MaterielCode = model.MaterialCode,
- InboundOrderRowNo = stockInfoDetail_Hty?.InboundOrderRowNo ?? 0,
- MaterielName = stockInfoDetail_Hty.MaterielName,
- ProductionDate = model.ProductionDate,
- OrderNo = stockInfoDetail_Hty?.OrderNo ?? "",
- OutboundQuantity = 0,
- SerialNumber = stockInfoDetail_Hty?.SerialNumber ?? "0",
- StockQuantity = model.Quantity,
- Status = model.Quantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt() : StockStatusEmun.MES閫�搴�.ObjToInt(),
- Unit = model.Unit
- };
- Dt_StockInfo stockInfo = new Dt_StockInfo()
- {
- PalletCode = model.CarrierCode,
- PalletType = palletTypeInfo.PalletType,
- WarehouseId = warehouse.WarehouseId,
- StockStatus = stockInfoDetail.StockQuantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt() : StockStatusEmun.MES閫�搴�.ObjToInt(),
- Details = new List<Dt_StockInfoDetail> { stockInfoDetail },
- Remark = stockInfoDetail.StockQuantity <= 0.0 ? StockStatusEmun.MES绌烘墭閫�搴�.ToString() : StockStatusEmun.MES閫�搴�.ToString()
- };
- //Dt_Task task = new Dt_Task()
- //{
- // PalletCode = stockInfo.PalletCode,
- // CurrentAddress = "",
- // NextAddress = "",
- // PalletType = stockInfo.PalletType,
- // Roadway = "RGV01_BC",
- // SourceAddress = "RGV01_BC",
- // TargetAddress = "",
- // TaskStatus = TaskStatusEnum.New.ObjToInt(),
- // TaskType = TaskTypeEnum.MesMatReturn.ObjToInt(),
- // WarehouseId = warehouse.WarehouseId
- //};
-
- _unitOfWorkManage.BeginTran();
- Db.InsertNav(stockInfo).Include(x => x.Details).ExecuteCommand();
- //BaseDal.AddData(task);
- _unitOfWorkManage.CommitTran();
-
- return MesResponseContent.Instance.OK();
- }
- catch (Exception ex)
- {
- _unitOfWorkManage.RollbackTran();
- return MesResponseContent.Instance.Error(ex.Message);
- }
- }
}
}
--
Gitblit v1.9.3