| | |
| | | if (single != null) mesRohIn.Guid = single.Guid; |
| | | mesRohIn.EbelnK3id = eid; |
| | | mesRohIn.BillNo = rohIn.FBillNo; |
| | | mesRohIn.DocumentStatus = rohIn.FDocumentStatus; |
| | | mesRohIn.DocumentType = rohIn.FBillTypeID; |
| | | mesRohIn.BusinessType = rohIn.FBusinessType; |
| | | if (rohIn.FDate != null) |
| | | mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate, |
| | | "yyyy-MM-dd HH:mm:ss", null); |
| | | mesRohIn.Supplier = rohIn.FSupplierId; |
| | | /*if (rohIn.FDate != null) |
| | | mesRohIn.PurchaseDate = DateTime.ParseExact(rohIn.FDate, |
| | | "yyyy-MM-d H:m:s", null);*/ |
| | | |
| | | // 1. 处理 fDate(采购日期) |
| | | if (!rohIn.FDate.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(rohIn.FDate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime purchaseDate)) |
| | | { |
| | | throw new FormatException( |
| | | $"采购日期(FDate)解析失败!值:【{rohIn.FDate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | mesRohIn.PurchaseDate = purchaseDate; |
| | | } |
| | | else |
| | | { |
| | | mesRohIn.PurchaseDate = null; |
| | | } |
| | | |
| | | |
| | | var mesSupplier = Db.Queryable<MesSupplier>() |
| | | .Where(s => s.SuppNo == rohIn.FSupplierId) |
| | | .First(); |
| | | |
| | | if (mesSupplier != null) |
| | | { |
| | | mesRohIn.Supplier = mesSupplier.Id.ToString(); |
| | | } |
| | | |
| | | // SETTLEMENT_PARTY -> MesSupplier.id |
| | | if (!string.IsNullOrEmpty(rohIn.FSettleId)) |
| | | { |
| | | var settlementSupplier = Db.Queryable<MesSupplier>() |
| | | .Where(s => s.SuppNo == rohIn.FSettleId) |
| | | .Select(s => s.Id) |
| | | .First(); |
| | | if (settlementSupplier != null) |
| | | { |
| | | mesRohIn.SettlementParty = settlementSupplier.ToString(); |
| | | } |
| | | } |
| | | |
| | | // PURCHASE_DEPT -> SYS_DEPARTMENT.DEPARTMENTID |
| | | if (!string.IsNullOrEmpty(rohIn.FPurchaseDeptId)) |
| | | { |
| | | var department = Db.Queryable<SysDepartment>() |
| | | .Where(d => d.Departmentcode == rohIn.FPurchaseDeptId) |
| | | .Select(d => d.Id) |
| | | .First(); |
| | | if (department != null) |
| | | { |
| | | mesRohIn.PurchaseDept = department.ToString(); |
| | | } |
| | | } |
| | | |
| | | mesRohIn.CloseStatus = rohIn.FCloseStatus; |
| | | mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId; |
| | | mesRohIn.PurchaseDept = rohIn.FPurchaseDeptId; |
| | | // mesRohIn.PurchaseOrg = rohIn.FPurchaseOrgId; |
| | | mesRohIn.PurchaseOrg = "1"; |
| | | mesRohIn.PurchaseGroup = rohIn.FPurchaserGroupId; |
| | | mesRohIn.Purchaser = rohIn.FPurchaserId; |
| | | mesRohIn.SettlementParty = rohIn.FSettleId; |
| | | mesRohIn.PaymentParty = rohIn.FChargeId; |
| | | mesRohIn.Email = rohIn.FProviderEMail; |
| | | mesRohIn.Remarks = rohIn.Remarks; |
| | | mesRohIn.CancellationStatus = rohIn.FCancelStatus; |
| | | mesRohIn.CancellationPerson = rohIn.FCancellerId; |
| | | if (rohIn.FCancelDate != null) |
| | | /*if (rohIn.FCancelDate != null) |
| | | if (!mesRohIn.CancellationPerson.IsNullOrEmpty()) |
| | | mesRohIn.CancellationDate = |
| | | DateTime.ParseExact(rohIn.FCancelDate, |
| | | "yyyy-MM-dd HH:mm:ss", null); |
| | | "yyyy-MM-d H:m:s", null); |
| | | mesRohIn.CreateBy = rohIn.FCreatorId; |
| | | if (rohIn.FCreateDate != null) |
| | | mesRohIn.CreateDate = DateTime.ParseExact(rohIn.FCreateDate, |
| | | "yyyy-MM-dd HH:mm:ss", null); |
| | | "yyyy-MM-d H:m:s", null); |
| | | mesRohIn.LastupdateBy = rohIn.FModifierId; |
| | | if (rohIn.FModifyDate != null) |
| | | mesRohIn.LastupdateDate = DateTime.ParseExact(rohIn.FModifyDate, |
| | | "yyyy-MM-dd HH:mm:ss", null); |
| | | "yyyy-MM-d H:m:s", null); |
| | | mesRohIn.Prearrivaldate = rohIn.Prearrivaldate != null |
| | | ? DateTime.ParseExact(rohIn.Prearrivaldate, |
| | | "yyyy-MM-d H:m:s", null) |
| | | : null;*/ |
| | | if (!rohIn.FCancelDate.IsNullOrEmpty() && |
| | | !mesRohIn.CancellationPerson.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(rohIn.FCancelDate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime cancelDate)) |
| | | { |
| | | throw new FormatException( |
| | | $"取消日期(FCancelDate)解析失败!值:【{rohIn.FCancelDate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | mesRohIn.CancellationDate = cancelDate; |
| | | } |
| | | else |
| | | { |
| | | mesRohIn.CancellationDate = null; |
| | | } |
| | | |
| | | // 3. 处理 fCreateDate(创建日期) |
| | | if (!rohIn.FCreateDate.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(rohIn.FCreateDate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime createDate)) |
| | | { |
| | | throw new FormatException( |
| | | $"创建日期(FCreateDate)解析失败!值:【{rohIn.FCreateDate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | mesRohIn.CreateDate = createDate; |
| | | } |
| | | else |
| | | { |
| | | mesRohIn.CreateDate = null; |
| | | } |
| | | |
| | | // 4. 处理 fModifyDate(修改日期) |
| | | if (!rohIn.FModifyDate.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(rohIn.FModifyDate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime modifyDate)) |
| | | { |
| | | throw new FormatException( |
| | | $"修改日期(FModifyDate)解析失败!值:【{rohIn.FModifyDate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | mesRohIn.LastupdateDate = modifyDate; |
| | | } |
| | | else |
| | | { |
| | | mesRohIn.LastupdateDate = null; |
| | | } |
| | | |
| | | |
| | | // 6. 处理 prearrivaldate(预计到货日期) |
| | | if (!rohIn.Prearrivaldate.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(rohIn.Prearrivaldate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime preArrivalDate)) |
| | | { |
| | | throw new FormatException( |
| | | $"预计到货日期(Prearrivaldate)解析失败!值:【{rohIn.Prearrivaldate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | mesRohIn.Prearrivaldate = preArrivalDate; |
| | | } |
| | | else |
| | | { |
| | | mesRohIn.Prearrivaldate = null; |
| | | } |
| | | |
| | | mesRohIn.ErpCheckBy = rohIn.FApproverId; |
| | | mesRohIn.ErpCheckDate = rohIn.FApproveDate; |
| | | mesRohIn.Changereason = rohIn.FChangeReason; |
| | | mesRohIn.Prearrivaldate = rohIn.Prearrivaldate != null |
| | | ? DateTime.ParseExact(rohIn.Prearrivaldate, |
| | | "yyyy-MM-dd HH:mm:ss", null) |
| | | : null; |
| | | |
| | | mesRohIn.ReceiveOrgId = rohIn.FReceiveOrgId; |
| | | mesRohIn.ProviderId = rohIn.FProviderId; |
| | | mesRohIn.Anred = rohIn.FTContact; |
| | |
| | | mesRohIn.Address = rohIn.Address; |
| | | mesRohIn.Acctype = rohIn.Acctype; |
| | | mesRohIn.SynchronousDate = DateTime.Now; |
| | | mesRohIn.DocumentStatus = "C"; |
| | | mesRohIn.CancellationStatus = "A"; |
| | | |
| | | return mesRohIn; |
| | | } |
| | |
| | | InventoryUnit = s.FStockUnitID, |
| | | PricingUnit = s.FPriceUnitId, |
| | | PricingQty = Convert.ToDecimal(s.FPriceUnitQty), |
| | | /* |
| | | DeliveryDate = s.FDeliveryDate != null |
| | | ? DateTime.ParseExact(s.FDeliveryDate, |
| | | "yyyy-MM-dd HH:mm:ss", null) |
| | | "yyyy-MM-d H:m:s", null) |
| | | : null, |
| | | EarliestDeliveryDate = s.FDeliveryEarlyDate != null |
| | | ? DateTime.ParseExact(s.FDeliveryEarlyDate, |
| | | "yyyy-MM-dd HH:mm:ss", null) |
| | | "yyyy-MM-d H:m:s", null) |
| | | : null, |
| | | LatestDeliveryDate = s.FDeliveryLastDate != null |
| | | ? DateTime.ParseExact(s.FDeliveryLastDate, |
| | | "yyyy-MM-dd HH:mm:ss", null) |
| | | "yyyy-MM-d H:m:s", null) |
| | | : null, |
| | | */ |
| | | // 1. 处理 fDeliveryDate(交货日期) |
| | | DeliveryDate = !s.FDeliveryDate.IsNullOrEmpty() |
| | | ? (DateTime.TryParseExact(s.FDeliveryDate, |
| | | "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime deliveryDate) |
| | | ? deliveryDate |
| | | : throw new FormatException( |
| | | $"交货日期(FDeliveryDate)解析失败!值:【{s.FDeliveryDate}】,支持格式:yyyy-MM-d H:m:s")) |
| | | : null, |
| | | |
| | | // 2. 处理 fDeliveryEarlyDate(最早交货日期) |
| | | EarliestDeliveryDate = !s.FDeliveryEarlyDate.IsNullOrEmpty() |
| | | ? (DateTime.TryParseExact(s.FDeliveryEarlyDate, |
| | | "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime earlyDate) |
| | | ? earlyDate |
| | | : throw new FormatException( |
| | | $"最早交货日期(FDeliveryEarlyDate)解析失败!值:【{s.FDeliveryEarlyDate}】,支持格式:yyyy-MM-d H:m:s")) |
| | | : null, |
| | | |
| | | // 3. 处理 fDeliveryLastDate(最晚交货日期) |
| | | LatestDeliveryDate = !s.FDeliveryLastDate.IsNullOrEmpty() |
| | | ? (DateTime.TryParseExact(s.FDeliveryLastDate, |
| | | "yyyy-MM-d H:m:s", CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime lastDate) |
| | | ? lastDate |
| | | : throw new FormatException( |
| | | $"最晚交货日期(FDeliveryLastDate)解析失败!值:【{s.FDeliveryLastDate}】,支持格式:yyyy-MM-d H:m:s")) |
| | | : null, |
| | | IsGift = s.FGiveAway, |
| | | Remarks = s.FEntryNote, |
| | |
| | | SupplierItemName = s.FSupMatName, |
| | | OutsourcingOrderId = s.FSUBREQBILLNO, |
| | | BatchNumber = s.FLot, |
| | | BusinessClose = s.FMRPCloseStatus, |
| | | BusinessFreeze = s.FMRPFreezeStatus, |
| | | // BusinessClose = s.FMRPCloseStatus, |
| | | // BusinessFreeze = s.FMRPFreezeStatus, |
| | | BusinessClose = "A", |
| | | BusinessFreeze = "A", |
| | | Freezer = s.FFreezerId, |
| | | BusinessTerminate = s.FMRPTerminateStatus, |
| | | // BusinessTerminate = s.FMRPTerminateStatus, |
| | | BusinessTerminate = "A", |
| | | Terminator = s.FTerminaterId, |
| | | TotalReceivedQty = Convert.ToDecimal(s.FReceiveQty), //累计收料数 |
| | | RemainingReceivedQty = |
| | |
| | | DemandDocumentId = s.FDEMANDBILLNO, |
| | | DemandDocumentLineId = s.FDEMANDBILLENTRYSEQ, |
| | | DemandOrg = s.FRequireOrgId, |
| | | ReceivingOrg = s.FReceiveOrgId, |
| | | // ReceivingOrg = s.FReceiveOrgId, |
| | | ReceivingOrg = "1", |
| | | SettlementOrg = s.FEntrySettleOrgId, |
| | | PurchaseOrderLineNumber = s.FSEQ, |
| | | Demand = s.FRequireOrgId, |
| | |
| | | SalesOrderId = s.SalesOrderId, |
| | | OrderLineId = s.OrderLineId, |
| | | FSUBREQENTRYID = s.FSUBREQENTRYID |
| | | |
| | | }; |
| | | |
| | | if (s.FFreezeDate != null) |
| | | /*if (s.FFreezeDate != null) |
| | | if (!s.FFreezerId.IsNullOrEmpty()) |
| | | entity.FreezeTime = |
| | | DateTime.ParseExact(s.FFreezeDate, |
| | | "yyyy-MM-dd HH:mm:ss", null); |
| | | "yyyy-MM-d H:m:s", null); |
| | | |
| | | if (s.FTerminateDate != null) |
| | | if (!s.FTerminaterId.IsNullOrEmpty()) |
| | | entity.TerminateTime = |
| | | DateTime.ParseExact(s.FTerminateDate, |
| | | "yyyy-MM-dd HH:mm:ss", null); |
| | | "yyyy-MM-d H:m:s", null);*/ |
| | | // 4. 处理 fFreezeDate(冻结日期) |
| | | if (!s.FFreezeDate.IsNullOrEmpty() && !s.FFreezerId.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(s.FFreezeDate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime freezeTime)) |
| | | { |
| | | throw new FormatException( |
| | | $"冻结日期(FFreezeDate)解析失败!值:【{s.FFreezeDate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | entity.FreezeTime = freezeTime; |
| | | } |
| | | else |
| | | { |
| | | entity.FreezeTime = null; |
| | | } |
| | | |
| | | // 5. 处理 fTerminateDate(终止日期) |
| | | if (!s.FTerminateDate.IsNullOrEmpty() && |
| | | !s.FTerminaterId.IsNullOrEmpty()) |
| | | { |
| | | if (!DateTime.TryParseExact(s.FTerminateDate, "yyyy-MM-d H:m:s", |
| | | CultureInfo.InvariantCulture, |
| | | DateTimeStyles.None, out DateTime terminateTime)) |
| | | { |
| | | throw new FormatException( |
| | | $"终止日期(FTerminateDate)解析失败!值:【{s.FTerminateDate}】,支持格式:yyyy-MM-d H:m:s"); |
| | | } |
| | | |
| | | entity.TerminateTime = terminateTime; |
| | | } |
| | | else |
| | | { |
| | | entity.TerminateTime = null; |
| | | } |
| | | |
| | | //ItemId |
| | | var mesItems = Db.Queryable<MesItems>() |
| | | .Where(s => s.ItemNo == entity.ItemId) |
| | | .First(); |
| | | |
| | | if (mesItems != null) |
| | | { |
| | | entity.ItemId = mesItems.Id.ToString(); |
| | | } |
| | | |
| | | //BUSINESS_TERMINATE = 'A',RECEIVING_ORG = 1 |
| | | |
| | | |
| | | var single = rohInDataManager.GetSingle(it => |
| | | it.EbelnK3id == entity.EbelnK3id); |
| | | if (single != null) entity.Guid = single.Guid; |
| | | |
| | | |
| | | return entity; |
| | | }).ToList(); |
| | | } |