From f344c6a0626b480cfeaf380b82f71b6553a9b429 Mon Sep 17 00:00:00 2001 From: duyongjia <adu_555@163.com> Date: 星期三, 25 十二月 2024 09:33:24 +0800 Subject: [PATCH] 原料出库修改 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs | 223 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 185 insertions(+), 38 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" index 6e8479a..98fc363 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_JobService.cs" @@ -23,6 +23,8 @@ using WIDESEA_Core.Log; using WIDESEA_DTO.System; using WIDESEA_IBasicRepository; +using WIDESEA_IOutboundRepository; +using WIDESEA_IOutboundService; using WIDESEA_ISystemRepository; using WIDESEA_ISystemService; using WIDESEA_Model; @@ -41,9 +43,10 @@ private readonly IOutBoundOrderBYDRepository _outBoundOrderBYDRepository; private readonly IOutboundOrderDetailBYDRepository _outboundOrderDetailByDRepository; private readonly IOutboundOrderDetail_LabelsBYDRepository _outboundOrderDetailLabelsByDRepository; + private readonly IOutboundOrderDetailRepository _outboundOrderDetailRepository; + private readonly IOutboundOrderRepository _outboundOrderRepository; - - public Sys_JobService(ISys_JobRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService,ILabelMasterRepository labelMasterRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderDetail_LabelsBYDRepository outboundOrderDetailLabelsByDRepository) : base(BaseDal) + public Sys_JobService(ISys_JobRepository BaseDal, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService,ILabelMasterRepository labelMasterRepository, IOutBoundOrderBYDRepository outBoundOrderBYDRepository, IOutboundOrderDetailBYDRepository outboundOrderDetailByDRepository, IOutboundOrderDetail_LabelsBYDRepository outboundOrderDetailLabelsByDRepository, IOutboundOrderDetailRepository outboundOrderDetailRepository, IOutboundOrderRepository outboundOrderRepository) : base(BaseDal) { _unitOfWorkManage = unitOfWorkManage; _cacheService = cacheService; @@ -51,6 +54,8 @@ _outBoundOrderBYDRepository = outBoundOrderBYDRepository; _outboundOrderDetailByDRepository = outboundOrderDetailByDRepository; _outboundOrderDetailLabelsByDRepository = outboundOrderDetailLabelsByDRepository; + _outboundOrderRepository = outboundOrderRepository; + _outboundOrderDetailRepository = outboundOrderDetailRepository; } /// <summary> @@ -246,51 +251,193 @@ List<OutStoreData> outStoreList = JsonConvert.DeserializeObject<List<OutStoreData>>(newdata); foreach (var item in outStoreList) { - Dt_OutBoundOrderBYD outBoundOrderBYD = new Dt_OutBoundOrderBYD(); - outBoundOrderBYD.REQUIREMENT_NO = item.REQUIREMENT_NO; - outBoundOrderBYD.WRKS = item.WERKS; - outBoundOrderBYD.WH_NUMBER = item.WH_NUMBER; - outBoundOrderBYD.SYSNOD = item.SYSNOD; - outBoundOrderBYD.BUSINESS_CODE = item.BUSINESS_CODE; - outBoundOrderBYD.BUSINESS_NAME = item.BUSINESS_NAME; - outBoundOrderBYD.LGORT=item.LGORT; - outBoundOrderBYD.STATION=item.STATION; - outBoundOrderBYD.MO_NO = item.MO_NO; - outBoundOrderBYD.SAP_OUT_NO = item.SAP_OUT_NO; - outBoundOrderBYD.RECEIVE_LGORT = item.RECEIVE_LGORT; - outBoundOrderBYD.OVERSTEP_REQ_FLAG = item.OVERSTEP_REQ_FLAG; - outBoundOrderBYD.SPLIT=item.SPLIT; - outBoundOrderBYD.STATUS=item.STATUS; - outBoundOrderBYD.CREATE_PERSON=item.CREATE_PERSON; - outBoundOrderBYD.CREATE_DATE=item.CREATE_DATE; - _outBoundOrderBYDRepository.AddData(outBoundOrderBYD); - foreach (var detail in item.ITEMS) + Dt_OutBoundOrderBYD bydOrder = _outBoundOrderBYDRepository.QueryFirst(x => x.REQUIREMENT_NO == item.REQUIREMENT_NO); + if (bydOrder != null)//鏇存柊 { - Dt_OutboundOrderDetailBYD outboundOrderDetailBYD = new Dt_OutboundOrderDetailBYD(); - outboundOrderDetailBYD.REQUIREMENT_NO = outBoundOrderBYD.REQUIREMENT_NO; - outboundOrderDetailBYD.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO; - outboundOrderDetailBYD.MATNR=detail.MATNR; - outboundOrderDetailBYD.BATCH=detail.BATCH; - outboundOrderDetailBYD.QTY=detail.QTY; - outboundOrderDetailBYD.GEAR=detail.GEAR; - outboundOrderDetailBYD.PI_NO=detail.PI_NO; - _outboundOrderDetailByDRepository.AddData(outboundOrderDetailBYD); - foreach (var label in detail.LABELS) + + bydOrder.REQUIREMENT_NO = item.REQUIREMENT_NO; + bydOrder.WRKS = item.WERKS; + bydOrder.WH_NUMBER = item.WH_NUMBER; + bydOrder.SYSNOD = item.SYSNOD; + bydOrder.BUSINESS_CODE = item.BUSINESS_CODE; + bydOrder.BUSINESS_NAME = item.BUSINESS_NAME; + bydOrder.LGORT = item.LGORT; + bydOrder.STATION = item.STATION; + bydOrder.MO_NO = item.MO_NO; + bydOrder.SAP_OUT_NO = item.SAP_OUT_NO; + bydOrder.RECEIVE_LGORT = item.RECEIVE_LGORT; + bydOrder.OVERSTEP_REQ_FLAG = item.OVERSTEP_REQ_FLAG; + bydOrder.SPLIT = item.SPLIT; + bydOrder.STATUS = item.STATUS; + bydOrder.CREATE_PERSON = item.CREATE_PERSON; + bydOrder.CREATE_DATE = item.CREATE_DATE; + _outBoundOrderBYDRepository.UpdateData(bydOrder); + foreach (var detail in item.ITEMS) { - if (label != null) + Dt_OutboundOrderDetailBYD byddetail = _outboundOrderDetailByDRepository.QueryFirst(x => x.REQUIREMENT_NO == item.REQUIREMENT_NO && x.REQUIREMENT_ITEM_NO == detail.REQUIREMENT_ITEM_NO); + if (byddetail != null) { - Dt_OutboundOrderDetail_LabelsBYD outboundOrderDetail_LabelsBYD = new Dt_OutboundOrderDetail_LabelsBYD(); - outboundOrderDetail_LabelsBYD.LABEL_NO = label.LABLEL_NO; - outboundOrderDetail_LabelsBYD.CONTENT_LABEL_NO = label.CONTENT_LABLEL_NO; - outboundOrderDetail_LabelsBYD.REQUIREMENT_NO = item.REQUIREMENT_NO; - outboundOrderDetail_LabelsBYD.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO; - _outboundOrderDetailLabelsByDRepository.AddData(outboundOrderDetail_LabelsBYD); + byddetail.REQUIREMENT_NO = item.REQUIREMENT_NO; + byddetail.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO; + byddetail.MATNR = detail.MATNR; + byddetail.BATCH = detail.BATCH; + byddetail.BATCH = detail.BATCH; + byddetail.QTY = detail.QTY; + byddetail.GEAR = detail.GEAR; + byddetail.PI_NO = detail.PI_NO; + _outboundOrderDetailByDRepository.UpdateData(byddetail); + } + else + { + Dt_OutboundOrderDetailBYD newdetail = new Dt_OutboundOrderDetailBYD(); + newdetail.REQUIREMENT_NO = item.REQUIREMENT_NO; + newdetail.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO; + newdetail.MATNR = detail.MATNR; + newdetail.BATCH = detail.BATCH; + newdetail.BATCH = detail.BATCH; + newdetail.QTY = detail.QTY; + newdetail.GEAR = detail.GEAR; + newdetail.PI_NO = detail.PI_NO; + _outboundOrderDetailByDRepository.AddData(newdetail); + } + + } + + + } + else + { + Dt_OutBoundOrderBYD outBoundOrderBYD = new Dt_OutBoundOrderBYD(); + outBoundOrderBYD.REQUIREMENT_NO = item.REQUIREMENT_NO; + outBoundOrderBYD.WRKS = item.WERKS; + outBoundOrderBYD.WH_NUMBER = item.WH_NUMBER; + outBoundOrderBYD.SYSNOD = item.SYSNOD; + outBoundOrderBYD.BUSINESS_CODE = item.BUSINESS_CODE; + outBoundOrderBYD.BUSINESS_NAME = item.BUSINESS_NAME; + outBoundOrderBYD.LGORT = item.LGORT; + outBoundOrderBYD.STATION = item.STATION; + outBoundOrderBYD.MO_NO = item.MO_NO; + outBoundOrderBYD.SAP_OUT_NO = item.SAP_OUT_NO; + outBoundOrderBYD.RECEIVE_LGORT = item.RECEIVE_LGORT; + outBoundOrderBYD.OVERSTEP_REQ_FLAG = item.OVERSTEP_REQ_FLAG; + outBoundOrderBYD.SPLIT = item.SPLIT; + outBoundOrderBYD.STATUS = item.STATUS; + outBoundOrderBYD.CREATE_PERSON = item.CREATE_PERSON; + outBoundOrderBYD.CREATE_DATE = item.CREATE_DATE; + _outBoundOrderBYDRepository.AddData(outBoundOrderBYD); + foreach (var detail in item.ITEMS) + { + Dt_OutboundOrderDetailBYD outboundOrderDetailBYD = new Dt_OutboundOrderDetailBYD(); + outboundOrderDetailBYD.REQUIREMENT_NO = outBoundOrderBYD.REQUIREMENT_NO; + outboundOrderDetailBYD.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO; + outboundOrderDetailBYD.MATNR = detail.MATNR; + outboundOrderDetailBYD.BATCH = detail.BATCH; + outboundOrderDetailBYD.QTY = detail.QTY; + outboundOrderDetailBYD.GEAR = detail.GEAR; + outboundOrderDetailBYD.PI_NO = detail.PI_NO; + _outboundOrderDetailByDRepository.AddData(outboundOrderDetailBYD); + foreach (var label in detail.LABELS) + { + if (label != null) + { + Dt_OutboundOrderDetail_LabelsBYD outboundOrderDetail_LabelsBYD = new Dt_OutboundOrderDetail_LabelsBYD(); + outboundOrderDetail_LabelsBYD.LABEL_NO = label.LABLEL_NO; + outboundOrderDetail_LabelsBYD.CONTENT_LABEL_NO = label.CONTENT_LABLEL_NO; + outboundOrderDetail_LabelsBYD.REQUIREMENT_NO = item.REQUIREMENT_NO; + outboundOrderDetail_LabelsBYD.REQUIREMENT_ITEM_NO = detail.REQUIREMENT_ITEM_NO; + _outboundOrderDetailLabelsByDRepository.AddData(outboundOrderDetail_LabelsBYD); + } } } } } + + //鍚屾鍒癢MS鍑哄簱鍗曚腑 + foreach(var item in outStoreList) + { + if (item != null) + { + Dt_OutboundOrder outOrder =_outboundOrderRepository.QueryFirst(x=>x.OrderNo==item.REQUIREMENT_NO); + if (outOrder != null) + { + outOrder.OrderNo = item.REQUIREMENT_NO; + outOrder.UpperOrderNo = ""; + outOrder.OrderType = (int)OutOrderTypeEnum.Issue; + outOrder.OrderStatus = (int)OutboundStatusEnum.鏈紑濮�; + outOrder.CreateType = (int)CreateType.UpperSystemPush; + outOrder.Creater = "System"; + + _outboundOrderRepository.UpdateData(outOrder); + foreach (var orderdetail in item.ITEMS) + { + Dt_OutboundOrderDetail detail = _outboundOrderDetailRepository.QueryFirst(x => x.OrderId == outOrder.Id && x.Remark == orderdetail.REQUIREMENT_ITEM_NO); + if (detail != null) + { + detail.OrderId = outOrder.Id; + detail.MaterielCode = orderdetail.MATNR; + detail.BatchNo = orderdetail.BATCH; + detail.OrderQuantity = Convert.ToDecimal(orderdetail.QTY); + detail.LockQuantity = 0; + detail.OverOutQuantity = 0; + detail.OrderDetailStatus = (int)OrderDetailStatusEnum.New; + detail.Creater = "System"; + detail.Remark = orderdetail.REQUIREMENT_ITEM_NO; + _outboundOrderDetailRepository.UpdateData(detail); + } + else + { + Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail(); + outboundOrderDetail.OrderId = outOrder.Id; + outboundOrderDetail.MaterielCode = orderdetail.MATNR; + outboundOrderDetail.BatchNo = orderdetail.BATCH; + outboundOrderDetail.OrderQuantity = Convert.ToDecimal(orderdetail.QTY); + outboundOrderDetail.LockQuantity = 0; + outboundOrderDetail.OverOutQuantity = 0; + outboundOrderDetail.OrderDetailStatus = (int)OrderDetailStatusEnum.New; + outboundOrderDetail.Creater = "System"; + outboundOrderDetail.Remark = orderdetail.REQUIREMENT_ITEM_NO; + _outboundOrderDetailRepository.AddData(outboundOrderDetail); + + } + } + + } + else + { + + Dt_OutboundOrder outboundOrder = new Dt_OutboundOrder(); + outboundOrder.OrderNo = item.REQUIREMENT_NO; + outboundOrder.UpperOrderNo = ""; + outboundOrder.OrderType = (int)OutOrderTypeEnum.Issue; + outboundOrder.OrderStatus = (int)OutboundStatusEnum.鏈紑濮�; + outboundOrder.CreateType = (int)CreateType.UpperSystemPush; + outboundOrder.Creater = "System"; + _outboundOrderRepository.AddData(outboundOrder); + Dt_OutboundOrder outOrdertemp = _outboundOrderRepository.QueryFirst(x => x.OrderNo == item.REQUIREMENT_NO); + foreach (var orderdetail in item.ITEMS) + { + Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail(); + outboundOrderDetail.OrderId = outOrdertemp.Id; + outboundOrderDetail.MaterielCode = orderdetail.MATNR; + outboundOrderDetail.BatchNo = orderdetail.BATCH; + outboundOrderDetail.OrderQuantity =Convert.ToDecimal(orderdetail.QTY); + outboundOrderDetail.LockQuantity = 0; + outboundOrderDetail.OverOutQuantity = 0; + outboundOrderDetail.OrderDetailStatus = (int)OrderDetailStatusEnum.New; + outboundOrderDetail.Creater="System"; + outboundOrderDetail.Remark = orderdetail.REQUIREMENT_ITEM_NO; + _outboundOrderDetailRepository.AddData(outboundOrderDetail); + + } + + } + } + } + content = WebResponseContent.Instance.OK(); } + + } } -- Gitblit v1.9.3