| | |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Common.CommonEnum; |
| | | using WIDESEA_Common.OrderEnum; |
| | | using WIDESEA_Common.WareHouseEnum; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | |
| | | { |
| | | try |
| | | { |
| | | //è·åæ¶è´§å |
| | | Dt_ReceiveOrder receiveOrder = _inboundRepository.ReceiveOrderRepository.Db.Queryable<Dt_ReceiveOrder>().Where(x => x.ReceiveOrderNo == orderNo).Includes(x => x.Details).First(); |
| | | if (receiveOrder == null) |
| | | { |
| | |
| | | Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == receiveOrder.WarehouseId); |
| | | MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis<MatSerNumAnalysisModel>(AnalysisCodeEnum.MatSerNumAnalysis, serNum); |
| | | Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == receiveOrder.SuppliersId); |
| | | //æ¶è´§å¢å æ¹æ¬¡å¡æ§ |
| | | //æ¥è¯¢æ¶è´§æç»æ¯å¦æåå¨åä¸ä¸ªæ¹æ¬¡ |
| | | //æ¶è´§å¢å æ¹æ¬¡å¡æ§,æ¥è¯¢æ¶è´§æç»æ¯å¦æåå¨åä¸ä¸ªæ¹æ¬¡ |
| | | Dt_ReceiveOrderDetail receiveOrderDetailOld = _inboundRepository.ReceiveOrderDetailRepository.QueryFirst(x => x.LotNo == model.LotNo && x.MaterielCode == model.MaterielCode); |
| | | Dt_ReceiveOrder? receiveOrderOld = null; |
| | | if (receiveOrderDetailOld!=null) |
| | |
| | | { |
| | | return WebResponseContent.Instance.Error($"åºå{stockInfo.PalletCode}䏿¹æ¬¡{model.LotNo}å·²åå¨"); |
| | | } |
| | | //æ¥ææ ¼å¼éªè¯ |
| | | if (model!=null) |
| | | { |
| | | string format = "yyyy-MM-dd"; // ç®æ æ ¼å¼ |
| | |
| | | ReceivedQuantity = model.Quantity, |
| | | MaterielCode = model.MaterielCode, |
| | | LotNo = model.LotNo, |
| | | MaterielName=materielInfo.MaterielName, |
| | | MaterielSpec=materielInfo.MaterielSpec, |
| | | MaterielName = materielInfo.MaterielName, |
| | | MaterielSpec = materielInfo.MaterielSpec, |
| | | ReceiveOrderId = receiveOrder.ReceiveOrderId, |
| | | PurchaseOrderDetailRowNo = purchaseOrderDetail.RowNo, |
| | | IfInspection = materielInfo.IsCheck.ObjToInt(), |
| | |
| | | PriceInTax = 0, |
| | | TaxRate = "", |
| | | RowNo = rowNo + 1, |
| | | Unit = purchaseOrderDetail.Unit |
| | | Unit = purchaseOrderDetail.Unit, |
| | | IsCheckOk = WhetherEnum.False.ObjToInt() |
| | | }; |
| | | if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt()) |
| | | { |
| | |
| | | } |
| | | _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder); |
| | | _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail); |
| | | if (materielInfo.IsCheck == WhetherEnum.True) |
| | | //ç©ææ£éªä¸ä¼ |
| | | if (materielInfo.IsCheck == WhetherEnum.True && (warehouse.WarehouseCode != WarehouseEnum.HA152.ToString() && warehouse.WarehouseCode != WarehouseEnum.HA58.ToString())) |
| | | { |
| | | //æ¶è´§ç»æä¸æ¥ |
| | | Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); |
| | | checkOrder.OrderType = CheckTypeEnum.ReceiveCheck.ObjToInt(); |
| | | checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; |
| | |
| | | { |
| | | throw new Exception(mesResponseContent.StrMsg); |
| | | } |
| | | //QMSåä¼ ç»æ |
| | | ReceiveResultDTO? receiveResult = JsonConvert.DeserializeObject<ReceiveResultDTO>(mesResponseContent.Content.ToString()); |
| | | if (receiveResult == null) |
| | | { |
| | | throw new Exception("æ¥æ¶QMSç»æå¤±è´¥"); |
| | | } |
| | | //æ´æ°æ£éªåå· |
| | | Dt_CheckOrder _CheckOrder = _checkOrderRepository.QueryFirst(x => x.CheckOrderId == id); |
| | | _CheckOrder.CheckOrderNo = receiveResult.InspectionNumber; |
| | | _checkOrderRepository.UpdateData(_CheckOrder); |