| | |
| | | } |
| | | else if (outOrderDTO.OType==2) |
| | | { |
| | | warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA101.ToString()); |
| | | warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA71.ToString()); |
| | | } |
| | | List<Dt_ProOutOrderDetail> proOutOrderDetails = new List<Dt_ProOutOrderDetail>(); |
| | | Dictionary<string,string> keyValuePairs =new Dictionary<string, string>(); |
| | |
| | | { |
| | | return content.Error($"客æ·{item.Customer}ä¸åå¨!"); |
| | | } |
| | | //å¯å®åæ® |
| | | if (outOrderDTO.OType == 2) |
| | | { |
| | | Dt_ProOutOrderDetail? ExistProDetail = proOutOrderDetails.FirstOrDefault(x => x.PCode == item.PCode && x.SaleOrder == item.SaleOrder && x.PVer == item.PVer && x.DateCode == item.DateCode); |
| | | if (ExistProDetail!=null) |
| | | { |
| | | Dt_ProOutOrderDetail OutOrderDetail = _mapper.Map<Dt_ProOutOrderDetail>(item); |
| | | ExistProDetail.QtyPcs += (OutOrderDetail.QtyPcs + OutOrderDetail.SpareQty); |
| | | ExistProDetail.SpareQty += OutOrderDetail.SpareQty; |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | Dt_ProOutOrderDetail proOutOrderDetail = _mapper.Map<Dt_ProOutOrderDetail>(item); |
| | | if (!string.IsNullOrEmpty(item.SaleOrder)) |
| | | { |
| | | if (keyValuePairs!=null && keyValuePairs.ContainsKey(item.SaleOrder)) |
| | | if (keyValuePairs != null && keyValuePairs.ContainsKey(item.SaleOrder)) |
| | | { |
| | | proOutOrderDetail.EndCustomer = keyValuePairs[item.SaleOrder]; |
| | | } |
| | | else |
| | | { |
| | | string request = _invokeERPService.InvokeProSaleCustomer(item.SaleOrder); |
| | | ErpSaleCustomResponseContent responseContent=request.DeserializeObject<ErpSaleCustomResponseContent>(); |
| | | if (responseContent.Code!=200) |
| | | ErpSaleCustomResponseContent responseContent = request.DeserializeObject<ErpSaleCustomResponseContent>(); |
| | | if (responseContent.Code != 200) |
| | | { |
| | | return content.Error($"订å{item.SaleOrder}ç»ç«¯å®¢æ·è·å失败!"); |
| | | } |
| | |
| | | |
| | | //æ´æ°åºåºæç»åæ°é |
| | | proOutOrderDetail.OverQtyPcs += item.Quantity; |
| | | item.Quantity -= item.Quantity; |
| | | float Range = itemOut.StockPcsQty / itemOut.SETQty; |
| | | int Range = (int)itemOut.StockPcsQty / (int)itemOut.SETQty; |
| | | if (Range == 0) |
| | | { |
| | | return content.Error($"{itemOut.BagNo}åå
æ°é转æ¢å¤±è´¥,è¯·æ£æ¥"); |
| | | return content.Error($"{itemOut.BagNo}åå
æ°é转æ¢å¤±è´¥,è¯·æ£æ¥,Range:{Range}"); |
| | | } |
| | | int outSet = (int)(item.Quantity / Range); |
| | | int outSet =item.Quantity / Range; |
| | | if (outSet == 0) |
| | | { |
| | | return content.Error($"{itemOut.BagNo}åå
æ°é转æ¢å¤±è´¥,è¯·æ£æ¥"); |
| | | return content.Error($"{itemOut.BagNo}åå
æ°é转æ¢å¤±è´¥,è¯·æ£æ¥,outSet:{outSet}"); |
| | | } |
| | | itemOut.SETQty -= outSet; |
| | | |
| | | itemOut.StockPcsQty -= item.Quantity; |
| | | item.Quantity = 0; |
| | | if (proOutOrderDetail.OverQtyPcs > proOutOrderDetail.QtyPcs) |
| | | { |
| | | return content.Error($"åºåºå{proOutOrder.ProOutOrderNo}éå®è®¢å{item.SoNumber}æ°é溢åº{proOutOrderDetail.OverQtyPcs - proOutOrderDetail.QtyPcs}"); |