| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | _outBoundOrderBYDRepository = outBoundOrderBYDRepository; |
| | | _outboundOrderDetailByDRepository = outboundOrderDetailByDRepository; |
| | | _outboundOrderDetailLabelsByDRepository = outboundOrderDetailLabelsByDRepository; |
| | | _outboundOrderRepository = outboundOrderRepository; |
| | | _outboundOrderDetailRepository = outboundOrderDetailRepository; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | //忥å°WMSåºåºåä¸ |
| | | 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(); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |