From 5ab19c977cfb0551a88b3885b0648183fbfff672 Mon Sep 17 00:00:00 2001 From: libo <Administrator@DESKTOP-1A6QMNS> Date: 星期一, 31 三月 2025 10:10:12 +0800 Subject: [PATCH] 调整wms出入库、返库逻辑,调整与比亚迪接口对接的类型和方法,调整配置参数,写入服务器上数据库密码 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 228 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 174 insertions(+), 54 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index 7c9584a..16c340d 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -38,6 +38,7 @@ using WIDESEA_Core.Enums; using WIDESEA_Core.Helper; using WIDESEA_Core.Log; +using WIDESEA_Core.LogHelper; using WIDESEA_DTO.Inbound; using WIDESEA_DTO.Stock; using WIDESEA_IBasicRepository; @@ -87,12 +88,12 @@ private Dictionary<string, OrderByType> _OutLockOrderBy = new Dictionary<string, OrderByType>() { - + { nameof(Dt_OutStockLockInfo.CreateDate), OrderByType.Desc }, }; - public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, ISys_JobService sys_JobService, ILabelMasterRepository labelMasterRepository, IOutStockLockInfoRepository outStockLockInfoRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderRepository outboundOrderRepository, IOutboundOrder_HtyRepository outboundOrder_HtyRepository, IOutboundOrderDetail_HtyRepository outboundOrderDetail_HtyRepository, IReturnInventoryDetailRepository returnInventoryDetailRepository,IMainReturnInventoryRepository mainReturnInventoryRepository) : base(BaseDal) + public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, ISys_JobService sys_JobService, ILabelMasterRepository labelMasterRepository, IOutStockLockInfoRepository outStockLockInfoRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderRepository outboundOrderRepository, IOutboundOrder_HtyRepository outboundOrder_HtyRepository, IOutboundOrderDetail_HtyRepository outboundOrderDetail_HtyRepository, IReturnInventoryDetailRepository returnInventoryDetailRepository, IMainReturnInventoryRepository mainReturnInventoryRepository) : base(BaseDal) { _mapper = mapper; _unitOfWorkManage = unitOfWorkManage; @@ -114,7 +115,7 @@ _outboundOrderDetail_HtyRepository = outboundOrderDetail_HtyRepository; _returnInventoryDetailRepository = returnInventoryDetailRepository; _mainReturnInventoryRepository = mainReturnInventoryRepository; - + } @@ -164,7 +165,7 @@ } finally { - WriteLog.GetLog("浠诲姟瀹屾垚").Write($"鎿嶄綔浜猴細{(App.User.UserId>0? App.User.UserName: "System")}{ Environment.NewLine}浠诲姟鍙凤細{taskNum}{Environment.NewLine}{ JsonConvert.SerializeObject(content)}", "浠诲姟瀹屾垚"); + WriteLog.GetLog("浠诲姟瀹屾垚").Write($"鎿嶄綔浜猴細{(App.User.UserId > 0 ? App.User.UserName : "System")}{Environment.NewLine}浠诲姟鍙凤細{taskNum}{Environment.NewLine}{JsonConvert.SerializeObject(content)}", "浠诲姟瀹屾垚"); } } public WebResponseContent TaskCancel(int taskNum) @@ -175,7 +176,7 @@ Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); if (task == null) { - return content=WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�"); + return content = WebResponseContent.Instance.Error("鏈壘鍒颁换鍔′俊鎭�"); } _unitOfWorkManage.BeginTran(); MethodInfo? methodInfo = GetType().GetMethod(((TaskTypeEnum)task.TaskType) + "TaskCancel"); @@ -192,22 +193,22 @@ if (!response.Status) { _unitOfWorkManage.RollbackTran(); - return content=WebResponseContent.Instance.Error(response.Message); + return content = WebResponseContent.Instance.Error(response.Message); } _unitOfWorkManage.CommitTran(); - return content=responseContent; + return content = responseContent; } _unitOfWorkManage.CommitTran(); - return content=responseContent; + return content = responseContent; } } } - return content=WebResponseContent.Instance.Error("鏈壘鍒颁换鍔$被鍨嬪搴斾笟鍔″鐞嗛�昏緫"); + return content = WebResponseContent.Instance.Error("鏈壘鍒颁换鍔$被鍨嬪搴斾笟鍔″鐞嗛�昏緫"); } catch (Exception ex) { _unitOfWorkManage.RollbackTran(); - return content=WebResponseContent.Instance.Error(ex.Message); + return content = WebResponseContent.Instance.Error(ex.Message); } finally { @@ -270,7 +271,7 @@ task.Modifier = App.User.UserId > 0 ? App.User.UserName : "System"; BaseDal.UpdateData(task); _unitOfWorkManage.CommitTran(); - return content = WebResponseContent.Instance.OK(); + return content = WebResponseContent.Instance.OK(); } catch (Exception ex) { @@ -282,33 +283,58 @@ { try { - + //Logger.Write_Log("System/test_in", "", "3.0 "); + _unitOfWorkManage.BeginTran(); decimal beforeQuantity = 0; Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + //Logger.Write_Log("System/test_in", "", "3.1 "); CheckCompleted(stockInfo, locationInfo); + //Logger.Write_Log("System/test_in", "", "3.2 "); stockInfo.LocationCode = locationInfo.LocationCode; stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); + //Logger.Write_Log("System/test_in", "", "3.3 "); beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); + + foreach (Dt_StockInfoDetail detail in stockInfo.Details) + { + //0 - 闈為檺鍒讹紙鍦ㄥ簱姝e父鐨勭墿鏂欙級 + //1 - 鍐荤粨锛堝湪搴撳凡鍐荤粨鐨勭墿鏂欙級 + //2 - 寰呰川妫�锛堝凡涓婃灦绔嬪簱锛岃繕鏈川妫�鎴栧凡璐ㄦ涓嶅悎鏍肩殑鐗╂枡锛� + Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber); + if (labMaster.LABEL_STATUS == "01") + { + labMaster.SOBKZ = "0"; + } + else + { + labMaster.SOBKZ = "2"; + } + _labelMasterRepository.UpdateData(labMaster); + } int beforeStatus = locationInfo.LocationStatus; locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false); + //Logger.Write_Log("System/test_in", "", "3.4 "); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt(); + //Logger.Write_Log("System/test_in", "", "3.5 "); BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); + //Logger.Write_Log("System/test_in", "", "3.6 "); _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); - _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound,task.TaskNum); + _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound, task.TaskNum); _unitOfWorkManage.CommitTran(); - + //Logger.Write_Log("System/test_in", "", "3.7 "); + } catch (Exception ex) { @@ -320,27 +346,33 @@ #region 鍥炰紶閫昏緫澶勭悊 try { + + //Logger.Write_Log("System/test_in", "", "3.8 "); PutAwayRequest request = new PutAwayRequest(); List<PutAway> itemData = new List<PutAway>(); request.ITEMDATA = itemData; request.WERKS = AppSettings.Configuration["WERKS"]; - request.WH_NUMBER = AppSettings.Configuration["WERKS"]; - request.IZLID = request.WERKS + request.WH_NUMBER+ DateTime.Now.ToString("yyyyMMdd") + task.TaskNum.ToString(); + request.WH_NUMBER = AppSettings.Configuration["SYSNO"]; + request.IZLID = request.WERKS + request.WH_NUMBER + DateTime.Now.ToString("yyyyMMdd") + task.TaskNum.ToString(); request.CREATE_DATE = task.CreateDate.ToString("yyyy-MM-dd HH:mm:ss"); request.PSTNG_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); request.INBOUND_NO = "";//todo:鍗曞彿瑕佷粠鏉$爜涓绘暟鎹腑鑾峰彇锛屼笉鐒跺洖浼犱細鎻愮ず锛氳鏉$爜鏃犺繘浠撳崟鏁版嵁锛� request.RECEIPT_NO = "";//todo:鍗曞彿瑕佷粠鏉$爜涓绘暟鎹腑锛屼笉鐒跺洖浼犱細鎻愮ず锛氳鏉$爜鏃犺繘浠撳崟鏁版嵁锛� + //Logger.Write_Log("System/test_in", "", "3.9 "); Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + //Logger.Write_Log("System/test_in", "", "3.10 "); foreach (Dt_StockInfoDetail detail in stockInfo.Details) { + //Logger.Write_Log("System/test_in", "", "3.11 "); Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber); if (labMaster != null) { - if (request.INBOUND_NO == "") + //Logger.Write_Log("System/test_in", "", "3.12 "); + if (string.IsNullOrWhiteSpace(request.INBOUND_NO)) { request.INBOUND_NO = labMaster.INBOUND_NO; } - if (request.RECEIPT_NO == "") + if (string.IsNullOrWhiteSpace(request.RECEIPT_NO)) { request.RECEIPT_NO = labMaster.RECEIPT_NO; } @@ -363,24 +395,34 @@ putAway.RECEIPT_ITEM_NO = labMaster.RECEIPT_ITEM_NO; putAway.INBOUND_NO = task.TaskNum.ToString(); //LABEL _STATUS 鏉$爜鐘舵�� 02宸叉敹鏂�(鏃犻渶璐ㄦ)03 寰呰繘浠�(宸茶川妫�)锛屽苟涓旓紝QC RESULT CODE璐ㄦ鐘舵�佷负鈥�02鈥� 鎵嶅厑璁′笂鏋� - if (labMaster.QC_RESULT_CODE=="02"&&(labMaster.LABEL_STATUS=="02"|| labMaster.LABEL_STATUS == "03")) + //Logger.Write_Log("System/test_in", "", "3.13 "); + if (labMaster.QC_RESULT_CODE == "02" && (labMaster.LABEL_STATUS == "02" || labMaster.LABEL_STATUS == "03")) { + //Logger.Write_Log("System/test_in", "", "3.14 "); itemData.Add(putAway); } - + } } if (itemData.Count > 0) { - WebResponseContent content= _sys_JobService.CallPutAway(request); - if (content != null&&content.Message== "涓婃灦鍥炰紶鎴愬姛") //濡傛灉涓婃灦鎴愬姛锛屼慨鏀瑰簱瀛樼姸鎬佷负宸蹭笂鏋� + //Logger.Write_Log("System/test_in", "", "3.15 "); + WebResponseContent content = _sys_JobService.CallPutAway(request); + //Logger.Write_Log("System/test_in", "", "3.16 "); + if (content != null && content.Message == "涓婃灦鍥炰紶鎴愬姛") //濡傛灉涓婃灦鎴愬姛锛屼慨鏀瑰簱瀛樼姸鎬佷负宸蹭笂鏋� { + //Logger.Write_Log("System/test_in", "", "3.17 "); stockInfo.StockStatus = StockStatusEmun.宸蹭笂鏋�.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); } + else + { + + //Logger.Write_Log("System/test_in", "", "3.18 " + content.Message); + } } } - catch(Exception ex) + catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } @@ -449,15 +491,20 @@ try { + //Logger.Write_Log("System/test_re", "", "3.0 "); _unitOfWorkManage.BeginTran(); decimal beforeQuantity = 0; Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.TargetAddress); + //Logger.Write_Log("System/test_re", "", "3.1 "); Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + //Logger.Write_Log("System/test_re", "", "3.2 "); CheckCompleted(stockInfo, locationInfo); + //Logger.Write_Log("System/test_re", "", "3.3 "); stockInfo.LocationCode = locationInfo.LocationCode; stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); + //Logger.Write_Log("System/test_re", "", "3.4 "); beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); @@ -465,14 +512,20 @@ locationInfo.LocationStatus = LocationStatusEnum.InStock.ObjToInt(); _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Inbound.ObjToInt(), false); + //Logger.Write_Log("System/test_re", "", "3.5 "); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); task.TaskStatus = InTaskStatusEnum.InFinish.ObjToInt(); + //Logger.Write_Log("System/test_re", "", "3.6 "); BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); + //Logger.Write_Log("System/test_re", "", "3.7 "); _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Inbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); + //Logger.Write_Log("System/test_re", "", "3.8 "); _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) + beforeQuantity, StockChangeType.Inbound, task.TaskNum); + //Logger.Write_Log("System/test_re", "", "3.9 "); _unitOfWorkManage.CommitTran(); + //Logger.Write_Log("System/test_re", "", "3.10 "); } @@ -486,46 +539,85 @@ #region 鍥炰紶閫昏緫澶勭悊 try { + //Logger.Write_Log("System/test_re", "", "3.11 "); PutAwayReturnRequest request = new PutAwayReturnRequest(); List<PutAwayReturn> DATA = new List<PutAwayReturn>(); - request.DATA = DATA; - request.WERKS = AppSettings.Configuration["WERKS"]; - request.WH_NUMBER = AppSettings.Configuration["SYSNO"]; - request.IZLID = task.OrderNo;//杩欎釜鍊间細鍦ㄦ帴鏀朵笂娓稿洖搴撶粍鐩樹俊鎭椂锛屽瓨鍦ㄥ簱瀛樿〃涓紝鍐嶅瓨鍒颁换鍔¤〃涓� - Dt_MainReturnInventory mainReturnInventory = _mainReturnInventoryRepository.QueryFirst(x => x.IZLID == task.OrderNo); + //request.WH_NUMBER = AppSettings.Configuration["SYSNO"]; + //request.WERKS = AppSettings.Configuration["WERKS"]; + //request.IZLID = task.OrderNo;//杩欎釜鍊间細鍦ㄦ帴鏀朵笂娓稿洖搴撶粍鐩樹俊鎭椂锛屽瓨鍦ㄥ簱瀛樿〃涓紝鍐嶅瓨鍒颁换鍔¤〃涓� + + Dt_MainReturnInventory mainReturnInventory = _mainReturnInventoryRepository.QueryFirst(x => x.TPNUM == task.PalletCode && x.YLZD4 != "1"); if (mainReturnInventory != null) { - request.RETURN_NO = mainReturnInventory.RETURN_NO; - request.RETURN_ITEM_NO = mainReturnInventory.RETURN_ITEM_NO; + //Logger.Write_Log("System/test_re", "", "3.12 "); + request.WH_NUMBER = mainReturnInventory.WH_NUMBER; request.BUSINESS_NAME = mainReturnInventory.BUSINESS_NAME; - request.BUSINESS_CODE = mainReturnInventory.BUSINESS_CODE; - request.TPNUM = mainReturnInventory.TPNUM; + request.WERKS = mainReturnInventory.WERKS; request.LGORT = mainReturnInventory.LGORT; - request.MO_NO = mainReturnInventory.MO_NO; + request.TOTAL_RETURN_QTY = mainReturnInventory.TOTAL_RETURN_QTY; + request.BUSINESS_CODE = mainReturnInventory.BUSINESS_CODE; + request.RETURN_NO = mainReturnInventory.RETURN_NO; + request.RETURN_ITEM_NO = mainReturnInventory.RETURN_ITEM_NO; + request.TPNUM = mainReturnInventory.TPNUM; + request.YLZD5 = mainReturnInventory.YLZD5; + request.IZLID = mainReturnInventory.IZLID; + request.MO_NO = mainReturnInventory.MO_NO; + request.YLZD3 = mainReturnInventory.YLZD3; + request.YLZD4 = mainReturnInventory.YLZD4; + request.YLZD1 = mainReturnInventory.YLZD1; + request.YLZD2 = mainReturnInventory.YLZD2; + request.SYSNOD = mainReturnInventory.SYSNOD; + + //Logger.Write_Log("System/test_re", "", "3.13 "); Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + List<Dt_ReturnInventoryDetail> returnInventoryDetails = new List<Dt_ReturnInventoryDetail>(); foreach (Dt_StockInfoDetail detail in stockInfo.Details) { - Dt_ReturnInventoryDetail dt_ReturnInventoryDetail = _returnInventoryDetailRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber); + //Logger.Write_Log("System/test_re", "", "3.14 "); + Dt_ReturnInventoryDetail dt_ReturnInventoryDetail = _returnInventoryDetailRepository.QueryFirst(x => x.LABEL_NO == detail.SerialNumber && x.SOBKZ == "Z"); if (dt_ReturnInventoryDetail != null) { + //Logger.Write_Log("System/test_re", "", "3.15 "); PutAwayReturn putAwayReturn = new PutAwayReturn(); putAwayReturn.LABEL_NO = dt_ReturnInventoryDetail.LABEL_NO; - putAwayReturn.SOBKZ = dt_ReturnInventoryDetail.SOBKZ; putAwayReturn.UNIT = dt_ReturnInventoryDetail.UNIT; + putAwayReturn.SOBKZ = dt_ReturnInventoryDetail.SOBKZ; putAwayReturn.LGORT = dt_ReturnInventoryDetail.LGORT; - putAwayReturn.TOTAL_RETURN_QTY = dt_ReturnInventoryDetail.QTY; + putAwayReturn.QTY = dt_ReturnInventoryDetail.QTY; putAwayReturn.F_LGORT = dt_ReturnInventoryDetail.F_LGORT; - putAwayReturn.MO_NO = mainReturnInventory.MO_NO; putAwayReturn.LIFNR = dt_ReturnInventoryDetail.LIFNR; + putAwayReturn.MO_NO = mainReturnInventory.MO_NO; putAwayReturn.MATNR = dt_ReturnInventoryDetail.MATNR; - putAwayReturn.BATCH = ""; DATA.Add(putAwayReturn); + //Logger.Write_Log("System/test_re", "", "3.16 "); + + returnInventoryDetails.Add(dt_ReturnInventoryDetail); } } - if(DATA.Count>0) + request.DATA = DATA; + if (DATA.Count > 0) { - _sys_JobService.CallPutAwayReturn(request);//浣欐枡閫�搴撳洖浼� + //Logger.Write_Log("System/test_re", "", "3.17 "); + var res = _sys_JobService.CallPutAwayReturn(request);//浣欐枡閫�搴撳洖浼� + if (res.Status) + { + //Logger.Write_Log("System/test_re", "", "3.18 "); + mainReturnInventory.YLZD4 = "1"; + _mainReturnInventoryRepository.UpdateData(mainReturnInventory); + + foreach (var li in returnInventoryDetails) + { + li.SOBKZ = "0"; + _returnInventoryDetailRepository.UpdateData(li); + + } + } + else + { + + //Logger.Write_Log("System/test_re", "", "3.19 "); + } } } } @@ -565,28 +657,35 @@ public WebResponseContent OutboundTaskCompleted(Dt_Task task) { + //Logger.Write_Log("System/test_out", "", "3.0 "); Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); Dt_StockInfo stockInfoCatch = stockInfo;//鍏堢紦瀛樿捣鏉ワ紝渚涘悗闈㈢殑鍥炰紶鎺ュ彛璋冪敤 + //Logger.Write_Log("System/test_out", "", "3.1 "); try { _unitOfWorkManage.BeginTran(); decimal beforeQuantity = 0; - + //Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); //Dt_StockInfo stockInfoCatch = stockInfo;//鍏堢紦瀛樿捣鏉ワ紝渚涘悗闈㈢殑鍥炰紶鎺ュ彛璋冪敤 Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); + //Logger.Write_Log("System/test_out", "", "3.2 "); CheckCompleted(stockInfo, locationInfo); + //Logger.Write_Log("System/test_out", "", "3.3 "); stockInfo.LocationCode = locationInfo.LocationCode; stockInfo.StockStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); + //Logger.Write_Log("System/test_out", "", "3.4 "); int beforeStatus = locationInfo.LocationStatus; if (locationInfo.Depth == 2) { + //Logger.Write_Log("System/test_out", "", "3.5 "); if (DepthTask(locationInfo) == false) { + //Logger.Write_Log("System/test_out", "", "3.6 "); _basicService.LocationInfoService.UpdateLocationFree(locationInfo, task.TaskNum, StockChangeType.Outbound.ObjToInt(), false); } @@ -594,18 +693,24 @@ locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); _basicService.LocationInfoService.Repository.UpdateData(locationInfo); + //Logger.Write_Log("System/test_out", "", "3.7 "); task.TaskStatus = OutTaskStatusEnum.OutFinish.ObjToInt(); BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); + //Logger.Write_Log("System/test_out", "", "3.8 "); _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(stockInfo.Details, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); + //Logger.Write_Log("System/test_out", "", "3.9 "); beforeQuantity = stockInfo.Details.Where(x => x.Id != 0).Sum(x => x.StockQuantity); _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Outbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); + //Logger.Write_Log("System/test_out", "", "3.10 "); _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, stockInfo.Details, beforeQuantity, stockInfo.Details.Sum(x => x.StockQuantity) - beforeQuantity, StockChangeType.Outbound, task.TaskNum); + //Logger.Write_Log("System/test_out", "", "3.11 "); _unitOfWorkManage.CommitTran(); - + //Logger.Write_Log("System/test_out", "", "3.12 "); + } catch (Exception ex) { @@ -618,35 +723,43 @@ #region 鍥炰紶閫昏緫澶勭悊 try { + //Logger.Write_Log("System/test_out", "", "3.13 "); PickAndPostRequest request = new PickAndPostRequest(); List<PickAndPost> itemData = new List<PickAndPost>(); request.ITEMDATA = itemData; request.WH_NUMBER = AppSettings.Configuration["SYSNO"]; - request.SYSNOD = AppSettings.Configuration["SYSNO"]; - request.WERKS = AppSettings.Configuration["CallMaterialID"]; - + request.WERKS = AppSettings.Configuration["WERKS"]; + Dt_OutboundOrderDetail_Hty detail = _outboundOrderDetail_HtyRepository.QueryFirst(x => x.SourceId.ToString() == task.Remark);// task.Remark瀛橀渶姹傛槑缁咺D if (detail != null) { + //Logger.Write_Log("System/test_out", "", "3.14 "); Dt_OutboundOrder_Hty outboundOrder = _outboundOrder_HtyRepository.QueryFirst(x => x.SourceId == detail.OrderId); if (outboundOrder != null) { + //Logger.Write_Log("System/test_out", "", "3.15 "); Dt_OutBoundOrderBYD outboundOrderBYD = _outBoundOrderBYDRepository.QueryFirst(x => x.REQUIREMENT_NO == outboundOrder.OrderNo); if (outboundOrderBYD != null) { + //Logger.Write_Log("System/test_out", "", "3.16 "); Dt_OutboundOrderDetailBYD outboundOrderDetailBYD = _outboundOrderDetailByDRepository.QueryFirst(x => x.REQUIREMENT_NO == outboundOrderBYD.REQUIREMENT_NO && x.REQUIREMENT_ITEM_NO == detail.Remark);//detail.Remark 瀛橀渶姹傝 //鏍规嵁鎵樼洏鍙锋煡绔嬪簱鐨勬潯鐮佸拰鎵规杩涜鍥炰紶 foreach (var item in stockInfoCatch.Details) { + //Logger.Write_Log("System/test_out", "", "3.17 "); + + Dt_LabelMaster labMaster = _labelMasterRepository.QueryFirst(x => x.LABEL_NO == item.SerialNumber); + PickAndPost pickpost = new PickAndPost(); pickpost.REQUIREMENT_NO = outboundOrderDetailBYD.REQUIREMENT_NO; pickpost.REQUIREMENT_ITEM_NO = outboundOrderDetailBYD.REQUIREMENT_ITEM_NO; - pickpost.WERKS = outboundOrderBYD.WRKS; + pickpost.ORDERCODE = request.WERKS + request.WH_NUMBER + DateTime.Now.ToString("yyyyMMdd") + outboundOrderDetailBYD.Id.ToString("D6"); + pickpost.ORDERCODE_ITEM_NO = "1"; pickpost.SYSNOD = outboundOrderBYD.SYSNOD; pickpost.MATNR = outboundOrderDetailBYD.MATNR; pickpost.LIFNR = "";//娌℃湁杩斿洖锛屾殏鏃惰浆绌� - pickpost.QTY = outboundOrderDetailBYD.QTY; + pickpost.QTY = labMaster.BOX_QTY ?? outboundOrderDetailBYD.QTY; pickpost.BATCH = item.BatchNo;//鍙栫珛搴撳叆搴撳簱瀛樼殑鏉$爜 pickpost.LGORT = outboundOrderBYD.LGORT; pickpost.BUSINESS_CODE = outboundOrderBYD.BUSINESS_CODE; @@ -654,24 +767,29 @@ pickpost.STATION = outboundOrderBYD.STATION; pickpost.SPLIT = outboundOrderBYD.SPLIT; pickpost.LABEL_NO = item.SerialNumber;//鍙栫珛搴撳叆搴撳簱瀛樼殑鏉$爜 + pickpost.Pack_LABEL_NO = null; + pickpost.pallet_label_no = null; pickpost.CREATE_DATE = outboundOrderBYD.CREATE_DATE; pickpost.UPDATE_DATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); pickpost.STATUS = outboundOrderBYD.STATUS; + pickpost.MO_NO = null; itemData.Add(pickpost); + //Logger.Write_Log("System/test_out", "", "3.18 "); } _sys_JobService.CallPickAndPost(request);//鍥炰紶 + //Logger.Write_Log("System/test_out", "", "3.19 "); } } } } - catch(Exception ex) + catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } - + #endregion return WebResponseContent.Instance.OK(); } @@ -680,6 +798,7 @@ { try { + //Logger.Write_Log("System/test_out", "empt ", "3.0 "); _unitOfWorkManage.BeginTran(); Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); @@ -706,6 +825,7 @@ _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Outbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); _unitOfWorkManage.CommitTran(); + //Logger.Write_Log("System/test_out", "empt ", "3.1 "); return WebResponseContent.Instance.OK(); } catch (Exception ex) @@ -835,7 +955,7 @@ } } - + public WebResponseContent OutboundTaskCancel(Dt_Task task) { try @@ -914,7 +1034,7 @@ task.TaskStatus = OutTaskStatusEnum.OutCancel.ObjToInt(); BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateType.鑷姩瀹屾垚 : OperateType.浜哄伐瀹屾垚); - + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, beforeStatus, StockChangeType.Outbound.ObjToInt(), stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); _unitOfWorkManage.CommitTran(); @@ -940,7 +1060,7 @@ stockInfo.StockStatus = StockStatusEmun.宸插叆搴�.ObjToInt(); _stockService.StockInfoService.Repository.UpdateData(stockInfo); - locationEnd.LocationStatus= LocationStatusEnum.Free.ObjToInt(); + locationEnd.LocationStatus = LocationStatusEnum.Free.ObjToInt(); _basicService.LocationInfoService.RelocationFree(locationStart, task.TaskNum); _basicService.LocationInfoService.Repository.UpdateData(locationEnd); @@ -958,7 +1078,7 @@ } public bool DepthTask(Dt_LocationInfo location) { - if (location != null ) + if (location != null) { Dt_LocationInfo locations = _locationInfoService.Repository.QueryFirst(x => x.RoadwayNo == location.RoadwayNo && x.Column == location.Column && x.Layer == location.Layer && x.Depth != location.Depth && x.Row != location.Row && (SqlFunc.Abs(x.Row - location.Row) == 1)); if (locations != null) @@ -979,7 +1099,7 @@ { expression = x => x.Creater == App.User.UserName; } - var task = BaseDal.Db.Queryable<Dt_Task>().OrderByDescending(x => x.CreateDate).Take(10).Select(x => new Dt_Task { TaskNum = x.TaskNum, PalletCode=x.PalletCode, TaskType=x.TaskType,SourceAddress=x.SourceAddress,TargetAddress=x.TargetAddress }).ToList(); + var task = BaseDal.Db.Queryable<Dt_Task>().OrderByDescending(x => x.CreateDate).Take(10).Select(x => new Dt_Task { TaskNum = x.TaskNum, PalletCode = x.PalletCode, TaskType = x.TaskType, SourceAddress = x.SourceAddress, TargetAddress = x.TargetAddress }).ToList(); content = WebResponseContent.Instance.OK(data: task); } catch (Exception ex) -- Gitblit v1.9.3