| MES.Service/Dto/webApi/ErpSalesReturn.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/Dto/webApi/ErpSalesReturnDetailDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/Dto/webApi/ErpSalesReturnDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/Modes/SalesReturnNotice.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/Modes/SalesReturnNoticeDetail.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/service/BasicData/SalesReturnNoticeManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MESApplication/Controllers/BasicData/SalesReturnNoticeController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
MES.Service/Dto/webApi/ErpSalesReturn.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ namespace MES.Service.Dto.webApi; public class ErpSalesReturn { public ErpSalesReturnDto OrderDto { get; set; } public List<ErpSalesReturnDetailDto> Items { get; set; } } MES.Service/Dto/webApi/ErpSalesReturnDetailDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ namespace MES.Service.Dto.webApi; public class ErpSalesReturnDetailDto { public string? Type { get; set; } public string? FMaterialId { get; set; } // ç©æç¼ç public string? FUnitID { get; set; } // éå®åä½ public string? FQty { get; set; } // é宿°é public string? FIsFree { get; set; } // æ¯å¦èµ å public string? FDeliverydate { get; set; } // éè´§æ¥æ public string? FStockId { get; set; } // ä»åº public string? FMtoNo { get; set; } // 计åè·è¸ªå· public string? FLot { get; set; } // æ¹å· public string? FEntryDescription { get; set; } // 夿³¨ public string? FRmType { get; set; } // éè´§ç±»å public string? FStockUnitID { get; set; } // åºååä½ public decimal? FStockQty { get; set; } // åºåæ°é public string? FOwnerTypeID { get; set; } // 货主类å public string? FOwnerId { get; set; } // 货主 public string? FSrcType { get; set; } // æºåç±»å public string? FSrcBillNo { get; set; } // æºåç¼å· public string? FOrderNo { get; set; } // 订ååå· public string? ErpID { get; set; } // ERPID public string? EHID { get; set; } // ERP头ID } MES.Service/Dto/webApi/ErpSalesReturnDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ namespace MES.Service.Dto.webApi; public class ErpSalesReturnDto { public string? Type { get; set; } public string? ErpID { get; set; } // ERPID public string? FBillTypeID { get; set; } // åæ®ç±»å public string? FBillNo { get; set; } // åæ®ç¼å· public string? FDate { get; set; } // æ¥æ public string? FSettleCurrld { get; set; } // ç»ç®å¸å« public string? FSaleDeptId { get; set; } // éå®é¨é¨ public string? FRetcustId { get; set; } // éè´§å®¢æ· public string? FRetcustReason { get; set; } // éè´§åå public string? FHeadLocId { get; set; } // 交货å°ç¹ public string? FRetDeptId { get; set; } // åºåé¨é¨ public string? FStockerGroupId { get; set; } // åºåç» public string? FStockerId { get; set; } // ä»ç®¡å public string? FSaleGroupId { get; set; } // éå®ç» public string? FSalesManId { get; set; } // éå®å public string? FReceiveCusId { get; set; } // æ¶è´§æ¹ public string? FReceiveCusContact { get; set; } // æ¶è´§æ¹è系人 public string? FReceiveAddress { get; set; } // æ¶è´§æ¹å°å public string? FLinkMan { get; set; } // æ¶è´§æ¹å§å public string? FSettleCusId { get; set; } // ç»ç®æ¹ public string? FCreatorId { get; set; } // å建人 public string? FCreateDate { get; set; } // åå»ºæ¥æ public string? FModifierId { get; set; } // æåä¿®æ¹äºº public string? FModifyDate { get; set; } // æåä¿®æ¹æ¥æ public string? FCloserId { get; set; } // å ³é人 public string? FCloseReason { get; set; } // å ³éåå public string? FCloseDate { get; set; } // å ³éæ¥æ public string? FApproverId { get; set; } // å®¡æ ¸äºº public string? FApproveDate { get; set; } // å®¡æ ¸æ¥æ public string? FCancelStatus { get; set; } // ä½åºç¶æ public string? FCancellerId { get; set; } // ä½åºäºº public string? FCancelDate { get; set; } // ä½åºæ¥æ public string? FBillCloseStatus { get; set; } // å ³éç¶æ public string? FDocumentStatus { get; set; } // åæ®ç¶æ } MES.Service/Modes/SalesReturnNotice.cs
@@ -9,75 +9,206 @@ public class SalesReturnNotice { /// <summary> /// SEQ_sales /// </summary> [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_sales", IsPrimaryKey = true)] public decimal Id { get; set; } public decimal? Id { get; set; } /// <summary> /// å¶å人 /// åæ®ç±»å /// </summary> [SugarColumn(ColumnName = "BILL_TYPE")] public string BillType { get; set; } /// <summary> /// åæ®ç¼å· /// </summary> [SugarColumn(ColumnName = "BILL_NO")] public string BillNo { get; set; } /// <summary> /// æ¥æ /// </summary> [SugarColumn(ColumnName = "F_DATE")] public DateTime? FDate { get; set; } /// <summary> /// ç»ç®å¸å« /// </summary> [SugarColumn(ColumnName = "CURRENCY")] public string Currency { get; set; } /// <summary> /// éå®é¨é¨ /// </summary> [SugarColumn(ColumnName = "SALES_DEPT")] public string SalesDept { get; set; } /// <summary> /// éè´§å®¢æ· /// </summary> [SugarColumn(ColumnName = "RETURN_CUSTOMER")] public string ReturnCustomer { get; set; } /// <summary> /// éè´§åå /// </summary> [SugarColumn(ColumnName = "RETURN_REASON")] public string ReturnReason { get; set; } /// <summary> /// 交货å°ç¹ /// </summary> [SugarColumn(ColumnName = "DELIVERY_LOCATION")] public string DeliveryLocation { get; set; } /// <summary> /// åºåé¨é¨ /// </summary> [SugarColumn(ColumnName = "INVENTORY_DEPT")] public string InventoryDept { get; set; } /// <summary> /// åºåç» /// </summary> [SugarColumn(ColumnName = "INVENTORY_GROUP")] public string InventoryGroup { get; set; } /// <summary> /// ä»ç®¡å /// </summary> [SugarColumn(ColumnName = "WAREHOUSE_MANAGER")] public string WarehouseManager { get; set; } /// <summary> /// éå®ç» /// </summary> [SugarColumn(ColumnName = "SALES_GROUP")] public string SalesGroup { get; set; } /// <summary> /// éå®å /// </summary> [SugarColumn(ColumnName = "SALES_PERSON")] public string SalesPerson { get; set; } /// <summary> /// æ¶è´§æ¹ /// </summary> [SugarColumn(ColumnName = "RECEIVER")] public string Receiver { get; set; } /// <summary> /// æ¶è´§æ¹è系人 /// </summary> [SugarColumn(ColumnName = "RECEIVER_CONTACT")] public string ReceiverContact { get; set; } /// <summary> /// æ¶è´§æ¹å°å /// </summary> [SugarColumn(ColumnName = "RECEIVER_ADDRESS")] public string ReceiverAddress { get; set; } /// <summary> /// æ¶è´§æ¹å§å /// </summary> [SugarColumn(ColumnName = "RECEIVER_NAME")] public string ReceiverName { get; set; } /// <summary> /// ç»ç®æ¹ /// </summary> [SugarColumn(ColumnName = "SETTLE_PARTY")] public string SettleParty { get; set; } /// <summary> /// å建人 /// </summary> [SugarColumn(ColumnName = "CREATED_BY")] public string CreatedBy { get; set; } /// <summary> /// åæ®ç¼å· /// å建æ¶é´ /// </summary> [SugarColumn(ColumnName = "DOCUMENT_ID")] public string DocumentId { get; set; } [SugarColumn(ColumnName = "CREATED_DATE")] public DateTime? CreatedDate { get; set; } /// <summary> /// å®¡æ ¸äººåç§° /// ä¿®æ¹äºº /// </summary> [SugarColumn(ColumnName = "MODIFIED_BY")] public string ModifiedBy { get; set; } /// <summary> /// ä¿®æ¹æ¶é´ /// </summary> [SugarColumn(ColumnName = "MODIFIED_DATE")] public DateTime? ModifiedDate { get; set; } /// <summary> /// å ³é人 /// </summary> [SugarColumn(ColumnName = "CLOSED_BY")] public string ClosedBy { get; set; } /// <summary> /// å ³éåå /// </summary> [SugarColumn(ColumnName = "CLOSE_REASON")] public string CloseReason { get; set; } /// <summary> /// å ³éæ¥æ /// </summary> [SugarColumn(ColumnName = "CLOSE_DATE")] public DateTime? CloseDate { get; set; } /// <summary> /// å®¡æ ¸äºº /// </summary> [SugarColumn(ColumnName = "APPROVED_BY")] public string ApprovedBy { get; set; } /// <summary> /// å¶å/å®¡æ ¸æ¥æ /// å®¡æ ¸æ¥æ /// </summary> [SugarColumn(ColumnName = "CREATED_OR_APPROVED_DATE")] public DateTime? CreatedOrApprovedDate { get; set; } [SugarColumn(ColumnName = "APPROVED_DATE")] public DateTime? ApprovedDate { get; set; } /// <summary> /// é¨é¨ä»£ç /// ä½åºç¶æ /// </summary> [SugarColumn(ColumnName = "DEPARTMENT_CODE")] public string DepartmentCode { get; set; } [SugarColumn(ColumnName = "CANCEL_STATUS")] public string CancelStatus { get; set; } /// <summary> /// é¨é¨åç§° /// ä½åºäºº /// </summary> [SugarColumn(ColumnName = "DEPARTMENT_NAME")] public string DepartmentName { get; set; } [SugarColumn(ColumnName = "CANCELLED_BY")] public string CancelledBy { get; set; } /// <summary> /// è´è´§åä½ä»£ç /// ä½åºæ¥æ /// </summary> [SugarColumn(ColumnName = "PURCHASER_CODE")] public string PurchaserCode { get; set; } [SugarColumn(ColumnName = "CANCEL_DATE")] public DateTime? CancelDate { get; set; } /// <summary> /// è´è´§åä½åç§° /// å ³éç¶æ /// </summary> [SugarColumn(ColumnName = "PURCHASER_NAME")] public string PurchaserName { get; set; } [SugarColumn(ColumnName = "CLOSE_STATUS")] public string CloseStatus { get; set; } /// <summary> /// ä¸å¡å代ç /// </summary> [SugarColumn(ColumnName = "SALESPERSON_CODE")] public string SalespersonCode { get; set; } /// <summary> /// ä¸å¡ååç§° /// </summary> [SugarColumn(ColumnName = "SALESPERSON_NAME")] public string SalespersonName { get; set; } /// <summary> /// ERPID /// ERP头ID /// </summary> [SugarColumn(ColumnName = "ERP_ID")] public string ErpId { get; set; } /// <summary> /// åæ®ç¶æ /// </summary> [SugarColumn(ColumnName = "BILL_STATUS")] public string BillStatus { get; set; } } MES.Service/Modes/SalesReturnNoticeDetail.cs
@@ -16,136 +16,112 @@ public decimal Id { get; set; } /// <summary> /// åæ®è¡å· /// ç©æç¼ç /// </summary> [SugarColumn(ColumnName = "LINE_NUMBER")] public long? LineNumber { get; set; } [SugarColumn(ColumnName = "MATERIAL_ID")] public string MaterialId { get; set; } /// <summary> /// 产å代ç /// éå®åä½ /// </summary> [SugarColumn(ColumnName = "PRODUCT_CODE")] public string ProductCode { get; set; } [SugarColumn(ColumnName = "SALES_UNIT_ID")] public string SalesUnitId { get; set; } /// <summary> /// 产ååç§° /// é宿°é /// </summary> [SugarColumn(ColumnName = "PRODUCT_NAME")] public string ProductName { get; set; } [SugarColumn(ColumnName = "SALES_QUANTITY")] public decimal SalesQuantity { get; set; } /// <summary> /// 产åè§æ ¼ /// æ¯å¦èµ å /// </summary> [SugarColumn(ColumnName = "PRODUCT_SPEC")] public string ProductSpec { get; set; } [SugarColumn(ColumnName = "IS_FREE")] public string IsFree { get; set; } /// <summary> /// éé¢ /// éè´§æ¥æ /// </summary> [SugarColumn(ColumnName = "AMOUNT")] public decimal? Amount { get; set; } [SugarColumn(ColumnName = "RETURN_DATE")] public DateTime? ReturnDate { get; set; } /// <summary> /// åä»· /// ä»åº /// </summary> [SugarColumn(ColumnName = "UNIT_PRICE")] public decimal? UnitPrice { get; set; } [SugarColumn(ColumnName = "WAREHOUSE")] public string Warehouse { get; set; } /// <summary> /// æ°é /// 计åè·è¸ªå· /// </summary> [SugarColumn(ColumnName = "QUANTITY")] public decimal? Quantity { get; set; } /// <summary> /// åºåºæ°é /// </summary> [SugarColumn(ColumnName = "OUT_QUANTITY")] public decimal? OutQuantity { get; set; } [SugarColumn(ColumnName = "PLAN_TRACKING_NUMBER")] public string PlanTrackingNumber { get; set; } /// <summary> /// æ¹å· /// </summary> [SugarColumn(ColumnName = "BATCH_NUMBER")] public string BatchNumber { get; set; } /// <summary> /// éè´§æ°é /// </summary> [SugarColumn(ColumnName = "RETURN_QUANTITY")] public decimal? ReturnQuantity { get; set; } /// <summary> /// åè´§æ°é /// </summary> [SugarColumn(ColumnName = "DELIVERY_QUANTITY")] public decimal? DeliveryQuantity { get; set; } [SugarColumn(ColumnName = "LOT_NUMBER")] public string LotNumber { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(ColumnName = "REMARKS")] public string Remarks { get; set; } [SugarColumn(ColumnName = "NOTE")] public string Note { get; set; } /// <summary> /// éå®è®¢ååå· /// éè´§ç±»å /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_ID")] public string SalesOrderId { get; set; } [SugarColumn(ColumnName = "RETURN_TYPE")] public string ReturnType { get; set; } /// <summary> /// éå®è®¢ååå½ /// åºååä½ /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_ENTRY")] public string SalesOrderEntry { get; set; } [SugarColumn(ColumnName = "INVENTORY_UNIT")] public string InventoryUnit { get; set; } /// <summary> /// éå®è®¢åID /// åºåæ°é /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_DETAIL_ID")] public string SalesOrderDetailId { get; set; } [SugarColumn(ColumnName = "INVENTORY_QUANTITY")] public decimal InventoryQuantity { get; set; } /// <summary> /// åºæ¬åä»· /// 货主类å /// </summary> [SugarColumn(ColumnName = "BASE_UNIT_PRICE")] public decimal? BaseUnitPrice { get; set; } [SugarColumn(ColumnName = "OWNER_TYPE_ID")] public string OwnerTypeId { get; set; } /// <summary> /// åºæ¬å使°é /// 货主 /// </summary> [SugarColumn(ColumnName = "BASE_UNIT_QUANTITY")] public decimal? BaseUnitQuantity { get; set; } [SugarColumn(ColumnName = "OWNER_ID")] public string OwnerId { get; set; } /// <summary> /// ä»åºä»£ç /// æºåç±»å /// </summary> [SugarColumn(ColumnName = "WAREHOUSE_CODE")] public string WarehouseCode { get; set; } [SugarColumn(ColumnName = "SOURCE_BILL_TYPE")] public string SourceBillType { get; set; } /// <summary> /// ä»åºåç§° /// æºååå· /// </summary> [SugarColumn(ColumnName = "WAREHOUSE_NAME")] public string WarehouseName { get; set; } [SugarColumn(ColumnName = "SOURCE_BILL_NO")] public string SourceBillNo { get; set; } /// <summary> /// åºæ¬åä½åºåºæ°é /// 订ååå· /// </summary> [SugarColumn(ColumnName = "BASE_UNIT_OUT_QUANTITY")] public decimal? BaseUnitOutQuantity { get; set; } [SugarColumn(ColumnName = "ORDER_BILL_NO")] public string OrderBillNo { get; set; } /// <summary> /// åä½ /// ERPè¡ID /// </summary> [SugarColumn(ColumnName = "UNIT")] public string Unit { get; set; } /// <summary> /// ERPID /// </summary> [SugarColumn(ColumnName = "ERP_ID")] public string ErpId { get; set; } [SugarColumn(ColumnName = "ERP_LINE_ID")] public string ErpLineId { get; set; } /// <summary> /// ERP头ID MES.Service/service/BasicData/SalesReturnNoticeManager.cs
@@ -1,4 +1,6 @@ using MES.Service.DB; using System.Globalization; using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; @@ -8,6 +10,269 @@ { //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ private readonly SalesReturnNoticeDetailManager _SalesReturnDetailManager = new(); //ErpSalesReturn public bool Save(ErpSalesReturn SalesReturn) { var erpSalesReturnDto = SalesReturn.OrderDto; var mesSalesReturn = ConvertErpToSalesReturn(SalesReturn.OrderDto); var mesSalesReturnDatas = ConvertErpToSalesReturnDetail(SalesReturn.Items); return UseTransaction(db => { switch (erpSalesReturnDto.Type) { // case "2": // return InsertData(db, mesSalesReturn, mesSalesReturnDatas, // rohInErpRohIn.FBILLTYPE) // ? 1 // : 0; case "3": return UpdateData(db, mesSalesReturn, mesSalesReturnDatas) ? 1 : 0; case "2": case "4": return SaveOrUpdateData(db, mesSalesReturn, mesSalesReturnDatas, erpSalesReturnDto.Type) ? 1 : 0; default: throw new NotImplementedException( $"type没æ{erpSalesReturnDto.Type}è¿ä¸ªç±»å"); } }) > 0; } private bool UpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn, List<SalesReturnNoticeDetail> mesSalesReturnDatas) { // å å é¤ä»è¡¨æ°æ®ï¼æç»è¡¨ï¼ var deleteDetails = db.Deleteable<SalesReturnNoticeDetail>() .Where(s => s.ErpHeadId == mesSalesReturn.ErpId) .ExecuteCommand() >= 0; // 使ç¨>=0ï¼å 为å¯è½æ²¡ææç»æ°æ® // åå é¤ä¸»è¡¨æ°æ® var deleteMain = base.DeleteById(mesSalesReturn.Id); if (deleteMain && deleteDetails) return true; throw new NotImplementedException("å é¤å¤±è´¥"); } // æå ¥ææ´æ°æ°æ®çæ¹æ³ private bool SaveOrUpdateData(SqlSugarScope db, SalesReturnNotice mesSalesReturn, List<SalesReturnNoticeDetail> mesSalesReturnDatas, string type) { // 妿åå¨ä¸»è¡¨è®°å½ï¼å å é¤ä»è¡¨æ°æ®ï¼åå é¤ä¸»è¡¨ if (mesSalesReturn.Id != null) { // å å é¤ä»è¡¨æ°æ®ï¼æç»è¡¨ï¼ db.Deleteable<SalesReturnNoticeDetail>() .Where(s => s.ErpHeadId == mesSalesReturn.ErpId) .ExecuteCommand(); // åå é¤ä¸»è¡¨æ°æ® base.DeleteById(mesSalesReturn.Id); } else { // å¦æä¸»è¡¨ä¸åå¨ï¼ä½å¯è½æä»è¡¨æ°æ®ï¼ä¹å é¤ä»è¡¨æ°æ® db.Deleteable<SalesReturnNoticeDetail>() .Where(s => s.ErpHeadId == mesSalesReturn.ErpId) .ExecuteCommand(); } // æå ¥æ°çä¸»è¡¨æ°æ® var orUpdate = base.Insert(mesSalesReturn); // æå ¥æ°çä»è¡¨æ°æ® var baOrUpdate = true; if (mesSalesReturnDatas.Count > 0) { baOrUpdate = _SalesReturnDetailManager.InsertRange(mesSalesReturnDatas); } if (orUpdate && baOrUpdate) return true; throw new NotImplementedException("æå ¥ææ´æ°å¤±è´¥"); } // æ¹éä¿åè®°å½çæ¹æ³ public bool SaveList(List<ErpSalesReturn> salesOrder) { var result = salesOrder.Select(Save).ToList(); return result.All(b => b); } // éåDeleteByIdæ¹æ³ï¼å®ç°çº§èå é¤ public new bool DeleteById(object id) { return UseTransaction(db => { // å è·å主表记å½ï¼è·åErpIdç¨äºå é¤ä»è¡¨ var mainRecord = base.GetById(Convert.ToDecimal(id)); if (mainRecord != null) { // å å é¤ä»è¡¨æ°æ®ï¼æç»è¡¨ï¼ db.Deleteable<SalesReturnNoticeDetail>() .Where(s => s.ErpHeadId == mainRecord.ErpId) .ExecuteCommand(); } // åå é¤ä¸»è¡¨æ°æ® return base.DeleteById(id) ? 1 : 0; }) > 0; } // éåDeleteByIdsæ¹æ³ï¼å®ç°çº§èå é¤ public new bool DeleteByIds(object[] ids) { return UseTransaction(db => { var successCount = 0; foreach (var id in ids) { // å è·å主表记å½ï¼è·åErpIdç¨äºå é¤ä»è¡¨ var mainRecord = base.GetById(Convert.ToDecimal(id)); if (mainRecord != null) { // å å é¤ä»è¡¨æ°æ®ï¼æç»è¡¨ï¼ db.Deleteable<SalesReturnNoticeDetail>() .Where(s => s.ErpHeadId == mainRecord.ErpId) .ExecuteCommand(); } // åå é¤ä¸»è¡¨æ°æ® if (base.DeleteById(id)) { successCount++; } } return successCount; }) > 0; } private SalesReturnNotice ConvertErpToSalesReturn( ErpSalesReturnDto erpDto) { DateTime parsedDate; // æ¶é´æ ¼å¼è½¬æ¢å½æ°ï¼ERPæ¶é´æ ¼å¼ä¸º "yyyy-MM-dd HH:mm:ss" DateTime? ParseDateTime(string dateStr) { if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate)) return parsedDate; return null; // å¦æè½¬æ¢å¤±è´¥ï¼è¿ånull } var salesOrder = new SalesReturnNotice { BillNo = erpDto.FBillNo, ErpId = erpDto.ErpID, FDate = ParseDateTime(erpDto.FDate) ?? null, BillType = erpDto.FBillTypeID, // åæ®ç±»å Currency = erpDto.FSettleCurrld, // ç»ç®å¸å« SalesDept = erpDto.FSaleDeptId, //éå®é¨é¨ ReturnCustomer = erpDto.FRetcustId, // éè´§å®¢æ· ReturnReason = erpDto.FRetcustReason, // éè´§åå DeliveryLocation = erpDto.FHeadLocId, // 交货å°ç¹ InventoryDept = erpDto.FRetDeptId, // åºåé¨é¨ InventoryGroup = erpDto.FStockerGroupId, // åºåç» WarehouseManager = erpDto.FStockerId, // ä»ç®¡å SalesGroup = erpDto.FSaleGroupId, // éå®ç» SalesPerson = erpDto.FSalesManId, //éå®å Receiver = erpDto.FReceiveCusId, // æ¶è´§æ¹ ReceiverContact = erpDto.FReceiveCusContact, // æ¶è´§æ¹è系人 ReceiverAddress = erpDto.FReceiveAddress, // æ¶è´§æ¹å°å ReceiverName = erpDto.FLinkMan, // æ¶è´§æ¹å§å SettleParty = erpDto.FSettleCusId, // ç»ç®æ¹ CreatedBy = erpDto.FCreatorId, // å建人 CreatedDate = ParseDateTime(erpDto.FCreateDate) ?? null, // å建æ¶é´ ModifiedBy = erpDto.FModifierId, // ä¿®æ¹äºº ModifiedDate = ParseDateTime(erpDto.FModifyDate) ?? null, // ä¿®æ¹æ¶é´ ClosedBy = erpDto.FCloserId, // å ³é人 CloseReason = erpDto.FCloseReason, // å ³éåå CloseDate = ParseDateTime(erpDto.FCloseDate) ?? null, // å ³éæ¥æ ApprovedBy = erpDto.FApproverId, // å®¡æ ¸äºº ApprovedDate = ParseDateTime(erpDto.FApproveDate) ?? null, // å®¡æ ¸æ¥æ CancelStatus = erpDto.FCancelStatus, // ä½åºç¶æ CancelledBy = erpDto.FCancellerId, // ä½åºäºº CancelDate = ParseDateTime(erpDto.FCancelDate) ?? null, // ä½åºæ¥æ CloseStatus = erpDto.FBillCloseStatus, // å ³éç¶æ BillStatus = erpDto.FDocumentStatus //åæ®ç¶æ }; var single = base.GetSingle(it => it.ErpId == erpDto.ErpID); if (single != null) salesOrder.Id = single.Id; return salesOrder; } private List<SalesReturnNoticeDetail> ConvertErpToSalesReturnDetail( List<ErpSalesReturnDetailDto> erpDtoList) { var salesOrderSubList = new List<SalesReturnNoticeDetail>(); DateTime parsedDate; // æ¶é´æ ¼å¼è½¬æ¢å½æ°ï¼ERPæ¶é´æ ¼å¼ä¸º "yyyy-MM-dd HH:mm:ss" DateTime? ParseDateTime(string dateStr) { if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate)) return parsedDate; return null; // å¦æè½¬æ¢å¤±è´¥ï¼è¿ånull } foreach (var erpDto in erpDtoList) { var salesOrderSub = new SalesReturnNoticeDetail { ErpLineId = erpDto.ErpID, //ERPè¡ID ErpHeadId = erpDto.EHID, //ERP头ID MaterialId = erpDto.FMaterialId, //ç©æç¼å· SalesUnitId = erpDto.FUnitID, //éå®åä½ SalesQuantity = Convert.ToDecimal(erpDto.FQty), //é宿°é IsFree = erpDto.FIsFree, //æ¯å¦èµ å ReturnDate = ParseDateTime(erpDto.FDeliverydate), //éè´§æ¥æ Warehouse = erpDto.FStockId, //ä»åº PlanTrackingNumber = erpDto.FMtoNo, //计åè·è¸ªå· LotNumber = erpDto.FLot, //æ¹å· Note = erpDto.FEntryDescription, //夿³¨ ReturnType = erpDto.FRmType, //éè´§ç±»å InventoryUnit = erpDto.FStockUnitID, //åºååä½ InventoryQuantity = Convert.ToDecimal(erpDto.FStockQty), //åºåæ°é OwnerTypeId = erpDto.FOwnerTypeID, //货主类å OwnerId = erpDto.FOwnerId, //货主 SourceBillType = erpDto.FSrcType, SourceBillNo = erpDto.FSrcBillNo, OrderBillNo = erpDto.FOrderNo }; var single = _SalesReturnDetailManager.GetSingle(it => it.ErpLineId == salesOrderSub.ErpLineId); if (single != null) salesOrderSub.Id = single.Id; salesOrderSubList.Add(salesOrderSub); } return salesOrderSubList; } //è¿éé¢åç代ç ä¸ä¼ç»è¦ç,妿è¦éæ°çæè¯·å é¤ SalesReturnNoticeManager.cs MESApplication/Controllers/BasicData/SalesReturnNoticeController.cs
@@ -1,8 +1,11 @@ using System.Dynamic; using Microsoft.AspNetCore.Mvc; using MES.Service.Dto.webApi; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.BasicData; using MES.Service.util; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace MESApplication.Controllers.BasicData; @@ -10,8 +13,107 @@ [Route("api/[controller]")] public class SalesReturnNoticeController : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly SalesReturnNoticeManager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "SALES_RETURN_NOTICE"; private readonly string URL = "http://localhost:10054/api/SalesReturnNotice/"; // [HttpPost("Save")] public ResponseResult Save(ErpSalesReturn salesOrder) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "Save"; entity.Method = METHOD; entity.Route = salesOrder.OrderDto.FBillNo; entity.Data = JsonConvert.SerializeObject(salesOrder); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); var save = m.Save(salesOrder); resultInfos.tbBillList = save; entity.Result = 0; if (save) entity.Result = 1; entity.DealWith = 1; _manager.save(entity); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } [HttpPost("SaveList")] public ResponseResult SaveList(List<ErpSalesReturn> units) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "SaveList"; entity.Method = METHOD; entity.Data = JsonConvert.SerializeObject(units); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); var save = m.SaveList(units); resultInfos.tbBillList = save; entity.Result = 0; if (save) entity.Result = 1; entity.DealWith = 1; _manager.save(entity); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } /***è¿å ¥æ¨¡ç管çå¯ä»¥ä¿®æ¹æ¨¡ç***/