From 47f6ab7374c3f88ba364ea82021dd296f4bdf9e6 Mon Sep 17 00:00:00 2001 From: crz <1278080563@qq.com> Date: 星期六, 01 三月 2025 08:58:16 +0800 Subject: [PATCH] 销售订单 --- MESApplication/Controllers/MesSalesOrderController.cs | 312 ++++++++++++++++++++ MES.Service/Dto/webApi/ErpSales.cs | 8 MES.Service/service/MesSalesOrderDetailManager.cs | 79 +++++ MESApplication/bin/Debug/net8.0/MES.Service.pdb | 0 MESApplication/bin/Debug/net8.0/MESApplication.dll | 0 MES.Service/bin/Debug/net8.0/MES.Service.dll | 0 MESApplication/bin/Debug/net8.0/MESApplication.xml | 36 ++ MES.Service/service/WomcaaManager.cs | 2 MESApplication/bin/Debug/net8.0/MES.Service.dll | 0 MES.Service/MES.Service.csproj | 4 MES.Service/Modes/MesSalesOrderDetail.cs | 113 +++++++ MES.Service/Dto/webApi/ErpORDER.cs | 22 + MESApplication/bin/Debug/net8.0/MESApplication.pdb | 0 MES.Service/Modes/MesSalesOrder.cs | 113 +++++++ MES.Service/Dto/webApi/ErpDETAIL.cs | 28 + MESApplication/bin/Debug/net8.0/MESApplication.deps.json | 5 MESApplication/bin/Debug/net8.0/MESApplication.exe | 0 MES.Service/bin/Debug/net8.0/MES.Service.pdb | 0 MES.Service/service/MesSalesOrderManager.cs | 177 +++++++++++ 19 files changed, 895 insertions(+), 4 deletions(-) diff --git a/MES.Service/Dto/webApi/ErpDETAIL.cs b/MES.Service/Dto/webApi/ErpDETAIL.cs new file mode 100644 index 0000000..8570d33 --- /dev/null +++ b/MES.Service/Dto/webApi/ErpDETAIL.cs @@ -0,0 +1,28 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MES.Service.Dto.webApi +{ + public class ErpDETAIL + { + public string ? F_UNW_Text_xsddh { get; set; } + public string? LineNumber { get; set; } + public string ? FMaterialId { get; set;} + public string ? FMaterialName { get; set;} + public string ? FMaterialModel { get; set;} + public string ? FMinPlanDeliveryDate { get; set;} + public string ? FQty { get; set;} + public string ? FUnitID { get; set;} + public string ? FPrice { get; set;} + public string ? FAmount { get; set;} + public string ? FDeliCommitQty { get; set;} + public string ? FEntryNote { get; set;} + + + + + } +} diff --git a/MES.Service/Dto/webApi/ErpORDER.cs b/MES.Service/Dto/webApi/ErpORDER.cs new file mode 100644 index 0000000..49490d8 --- /dev/null +++ b/MES.Service/Dto/webApi/ErpORDER.cs @@ -0,0 +1,22 @@ +锘縩amespace MES.Service.Dto.webApi +{ + public class ErpORDER + { + public string ? FBillNo { get; set; } + + public string? Type { get; set; } + public string ? FBillTypeID { get; set; } + public string ? F_UNW_Date_KHXQ { get; set; } + public string ? FVersionNo { get; set; } + public string ? FDate { get; set; } + public string ? FCustId { get; set; } + public string ? F_UNW_Text_KHDD { get; set; } + public string ? FSaleDeptId { get; set; } + public string ? FNote { get; set; } + public string ? F_UNW_LargeText_TBKHBZ { get; set; } + public string ? FApproveDate { get; set; } + public string ? FApproverId { get; set; } + + + } +} diff --git a/MES.Service/Dto/webApi/ErpSales.cs b/MES.Service/Dto/webApi/ErpSales.cs new file mode 100644 index 0000000..c9814d7 --- /dev/null +++ b/MES.Service/Dto/webApi/ErpSales.cs @@ -0,0 +1,8 @@ +锘縩amespace MES.Service.Dto.webApi +{ + public class ErpSales + { + public ErpORDER ErpOrder { get; set; } + public List<ErpDETAIL> ErpDetails { get; set; } + } +} diff --git a/MES.Service/MES.Service.csproj b/MES.Service/MES.Service.csproj index 5e01337..34f3c32 100644 --- a/MES.Service/MES.Service.csproj +++ b/MES.Service/MES.Service.csproj @@ -7,8 +7,8 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4"/> - <PackageReference Include="SqlSugarCore" Version="5.1.4.158"/> + <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4" /> + <PackageReference Include="SqlSugarCore" Version="5.1.4.158" /> </ItemGroup> </Project> diff --git a/MES.Service/Modes/MesSalesOrder.cs b/MES.Service/Modes/MesSalesOrder.cs new file mode 100644 index 0000000..39fb73b --- /dev/null +++ b/MES.Service/Modes/MesSalesOrder.cs @@ -0,0 +1,113 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 閿�鍞鍗曡〃 +/// </summary> +[SugarTable("MES_SALES_ORDER")] +public class MesSalesOrder +{ + /// <summary> + /// SEQ_sales搴忓垪 + /// </summary> + [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SALES", + IsPrimaryKey = true)] + public decimal Id { get; set; } + + /// <summary> + /// 璁㈠崟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "ORDER_ID")] + public string OrderId { get; set; } + + /// <summary> + /// 璁㈠崟鍗曞埆 + /// </summary> + [SugarColumn(ColumnName = "ORDER_TYPE")] + public string OrderType { get; set; } + + /// <summary> + /// 鍙楄鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "ORDER_DATE")] + public DateTime? OrderDate { get; set; } + + /// <summary> + /// 鍗曟嵁鐗堟湰 + /// </summary> + [SugarColumn(ColumnName = "DOCUMENT_VERSION")] + public long? DocumentVersion { get; set; } + + /// <summary> + /// 鍗曟嵁鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "DOCUMENT_DATE")] + public DateTime? DocumentDate { get; set; } + + /// <summary> + /// 宸ュ巶缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "FACTORY_ID")] + public string FactoryId { get; set; } + + /// <summary> + /// 宸ュ巶绠�绉� + /// </summary> + [SugarColumn(ColumnName = "FACTORY_NAME")] + public string FactoryName { get; set; } + + /// <summary> + /// 瀹㈡埛缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "CUSTOMER_ID")] + public string CustomerId { get; set; } + + /// <summary> + /// 瀹㈡埛绠�绉� + /// </summary> + [SugarColumn(ColumnName = "CUSTOMER_NAME")] + public string CustomerName { get; set; } + + /// <summary> + /// 瀹㈡埛鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "CUSTOMER_ORDER_ID")] + public string CustomerOrderId { get; set; } + + /// <summary> + /// 閮ㄩ棬缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "DEPARTMENT_ID")] + public string DepartmentId { get; set; } + + /// <summary> + /// 鎬绘暟閲� + /// </summary> + [SugarColumn(ColumnName = "TOTAL_QUANTITY")] + public decimal? TotalQuantity { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(ColumnName = "REMARKS")] + public string Remarks { get; set; } + + /// <summary> + /// erp瀹℃牳鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "APPROVAL_DATE")] + public DateTime? ApprovalDate { get; set; } + + /// <summary> + /// erp瀹℃牳鑰� + /// </summary> + [SugarColumn(ColumnName = "APPROVER")] + public string Approver { get; set; } + + /// <summary> + /// ERPID + /// </summary> + [SugarColumn(ColumnName = "ERP_ID")] + public string ErpId { get; set; } +} \ No newline at end of file diff --git a/MES.Service/Modes/MesSalesOrderDetail.cs b/MES.Service/Modes/MesSalesOrderDetail.cs new file mode 100644 index 0000000..e491ac8 --- /dev/null +++ b/MES.Service/Modes/MesSalesOrderDetail.cs @@ -0,0 +1,113 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 閿�鍞鍗曟槑缁嗚〃 +/// </summary> +[SugarTable("MES_SALES_ORDER_DETAIL")] +public class MesSalesOrderDetail +{ + /// <summary> + /// SEQ_sales搴忓垪 + /// </summary> + [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_sales", + IsPrimaryKey = true)] + public decimal Id { get; set; } + + /// <summary> + /// 璁㈠崟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "ORDER_ID")] + public string OrderId { get; set; } + + /// <summary> + /// 搴忓彿 + /// </summary> + [SugarColumn(ColumnName = "LINE_NUMBER")] + public string? LineNumber { get; set; } + + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "PRODUCT_CODE")] + public string ProductCode { get; set; } + + /// <summary> + /// 浜у搧鍚嶇О + /// </summary> + [SugarColumn(ColumnName = "PRODUCT_NAME")] + public string ProductName { get; set; } + + /// <summary> + /// 浜у搧瑙勬牸 + /// </summary> + [SugarColumn(ColumnName = "PRODUCT_SPEC")] + public string ProductSpec { get; set; } + + /// <summary> + /// 棰勪氦璐ф棩鏈� + /// </summary> + [SugarColumn(ColumnName = "SCHEDULED_DELIVERY_DATE")] + public DateTime? ScheduledDeliveryDate { get; set; } + + /// <summary> + /// 璁㈠崟鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "ORDER_QUANTITY")] + public decimal? OrderQuantity { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(ColumnName = "UNIT")] + public string Unit { get; set; } + + /// <summary> + /// 鍗曚环 + /// </summary> + [SugarColumn(ColumnName = "UNIT_PRICE")] + public decimal? UnitPrice { get; set; } + + /// <summary> + /// 閲戦 + /// </summary> + [SugarColumn(ColumnName = "AMOUNT")] + public decimal? Amount { get; set; } + + /// <summary> + /// 瀹㈡埛浜у搧缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "CUSTOMER_PRODUCT_CODE")] + public string CustomerProductCode { get; set; } + + /// <summary> + /// 宸蹭氦璐ф暟 + /// </summary> + [SugarColumn(ColumnName = "DELIVERED_QUANTITY")] + public decimal? DeliveredQuantity { get; set; } + + /// <summary> + /// 缁撴潫 + /// </summary> + [SugarColumn(ColumnName = "IS_CLOSED")] + public string IsClosed { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(ColumnName = "REMARKS")] + public string Remarks { get; set; } + + /// <summary> + /// ERPID + /// </summary> + [SugarColumn(ColumnName = "ERP_ID")] + public string ErpId { get; set; } + + /// <summary> + /// ERP澶碔D + /// </summary> + [SugarColumn(ColumnName = "ERP_HEAD_ID")] + public string ErpHeadId { get; set; } +} \ No newline at end of file diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.dll b/MES.Service/bin/Debug/net8.0/MES.Service.dll index 8af5a30..1f38dfc 100644 --- a/MES.Service/bin/Debug/net8.0/MES.Service.dll +++ b/MES.Service/bin/Debug/net8.0/MES.Service.dll Binary files differ diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.pdb b/MES.Service/bin/Debug/net8.0/MES.Service.pdb index d5df46b..53a8e81 100644 --- a/MES.Service/bin/Debug/net8.0/MES.Service.pdb +++ b/MES.Service/bin/Debug/net8.0/MES.Service.pdb Binary files differ diff --git a/MES.Service/service/MesSalesOrderDetailManager.cs b/MES.Service/service/MesSalesOrderDetailManager.cs new file mode 100644 index 0000000..0561857 --- /dev/null +++ b/MES.Service/service/MesSalesOrderDetailManager.cs @@ -0,0 +1,79 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; +using SqlSugar; + +namespace MES.Service.service; + +public class MesSalesOrderDetailManager : Repository<MesSalesOrderDetail> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesOrderDetailManager.cs + + + //#region 鏁欏鏂规硶 + + ///// <summary> + ///// 浠撳偍鏂规硶婊¤冻涓嶄簡澶嶆潅涓氬姟闇�姹傦紝涓氬姟浠g爜璇峰湪杩欓噷闈㈠畾涔夋柟娉� + ///// </summary> + //public void Study() + //{ + // /*********鏌ヨ*********/ + + // var data1 = base.GetById(1); //鏍规嵁ID鏌ヨ + // var data2 = base.GetList(); //鏌ヨ鎵�鏈� + // var data3 = base.GetList(it => 1 == 1); //鏍规嵁鏉′欢鏌ヨ + // //var data4 = base.GetSingle(it => 1 == 1);//鏍规嵁鏉′欢鏌ヨ涓�鏉�,濡傛灉瓒呰繃涓�鏉′細鎶ラ敊 + + // var p = new PageModel { PageIndex = 1, PageSize = 2 }; // 鍒嗛〉鏌ヨ + // var data5 = base.GetPageList(it => 1 == 1, p); + // Console.Write(p.TotalCount); //杩斿洖鎬绘暟 + + // var data6 = + // base.GetPageList(it => 1 == 1, p, + // it => SqlFunc.GetRandom()); // 鍒嗛〉鏌ヨ鍔犳帓搴� + // Console.Write(p.TotalCount); //杩斿洖鎬绘暟 + + // var conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴� + // conModels.Add(new ConditionalModel + // { + // FieldName = typeof(SalesOrderDetail).GetProperties()[0].Name, + // ConditionalType = ConditionalType.Equal, + // FieldValue = "1" + // }); //id=1 + // var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom()); + + // AsQueryable().Where(x => 1 == 1) + // .ToList(); //鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘 + + + // /*********鎻掑叆*********/ + // var insertData = new SalesOrderDetail(); //娴嬭瘯鍙傛暟 + // var insertArray = new[] { insertData }; + // base.Insert(insertData); //鎻掑叆 + // base.InsertRange(insertArray); //鎵归噺鎻掑叆 + // var id = base.InsertReturnIdentity(insertData); //鎻掑叆杩斿洖鑷鍒� + // AsInsertable(insertData).ExecuteCommand(); //鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆 + + + // /*********鏇存柊*********/ + // var updateData = new SalesOrderDetail(); //娴嬭瘯鍙傛暟 + // var updateArray = new[] { updateData }; //娴嬭瘯鍙傛暟 + // base.Update(updateData); //鏍规嵁瀹炰綋鏇存柊 + // base.UpdateRange(updateArray); //鎵归噺鏇存柊 + // //base.Update(it => new SalesOrderDetail() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1 + // AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏� + + + // /*********鍒犻櫎*********/ + // var deldata = new SalesOrderDetail(); //娴嬭瘯鍙傛暟 + // base.Delete(deldata); //鏍规嵁瀹炰綋鍒犻櫎 + // base.DeleteById(1); //鏍规嵁涓婚敭鍒犻櫎 + // base.DeleteById(new[] { 1, 2 }); //鏍规嵁涓婚敭鏁扮粍鍒犻櫎 + // base.Delete(it => 1 == 2); //鏍规嵁鏉′欢鍒犻櫎 + // AsDeleteable().Where(it => 1 == 2) + // .ExecuteCommand(); //杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣� + //} + + //#endregion +} \ No newline at end of file diff --git a/MES.Service/service/MesSalesOrderManager.cs b/MES.Service/service/MesSalesOrderManager.cs new file mode 100644 index 0000000..e559f71 --- /dev/null +++ b/MES.Service/service/MesSalesOrderManager.cs @@ -0,0 +1,177 @@ +锘縰sing AngleSharp.Dom; +using MES.Service.DB; +using MES.Service.Dto.webApi; +using MES.Service.Modes; +using SqlSugar; +using System.Data; +using System.Globalization; +using DbType = System.Data.DbType; + +namespace MES.Service.service; + +public class MesSalesOrderManager : Repository<MesSalesOrder> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 SalesOrderManager.cs + + private readonly MesSalesOrderDetailManager _MesSalesOrderDetailManagerManager = new(); + + public bool SaveList(List<ErpSales> rohIns) + { + var result = rohIns.Select(Save).ToList(); + return result.All(b => b); + } + + public bool Save(ErpSales sales) + { + var salesErpOrder = sales.ErpOrder; + var mesSalesOrder = MapErpORDERtoMesSalesOrder(salesErpOrder); + var mesSalesOrderDetails = MapErpDETAILtoMesSalesOrderDetail(sales.ErpDetails); + + return UseTransaction(db => + { + switch (salesErpOrder.Type) + { + case "3": + return UpdateData(db, mesSalesOrder, mesSalesOrderDetails) ? 1 : 0; + case "2": + return SaveOrUpdateData(db, mesSalesOrder, mesSalesOrderDetails) + ? 1 + : 0; + default: + throw new NotImplementedException( + $"type娌℃湁{salesErpOrder.Type}杩欎釜绫诲瀷"); + } + }) > 0; + } + private bool SaveOrUpdateData(SqlSugarScope db, MesSalesOrder mesSalesOrder, + List<MesSalesOrderDetail> mesSalesOrderDetails) + { + + if (mesSalesOrder.OrderId != null && mesSalesOrder.OrderType != null) + { + + db.Deleteable<MesSalesOrder>() + .Where(it => it.OrderId == mesSalesOrder.OrderId && + it.OrderType == mesSalesOrder.OrderType) + .ExecuteCommand(); + + }; + if (mesSalesOrderDetails.Count > 0) + { + + var mesSalesOrderDetail = mesSalesOrderDetails.Select(s => new { s.OrderId, s.LineNumber }).ToList(); + + db.Deleteable<MesSalesOrderDetail>() + .Where(it => mesSalesOrderDetails + .Any(p => p.OrderId == it.OrderId + && p.LineNumber == it.LineNumber)) + .ExecuteCommand(); + + }; + + var orUpdate = db.Insertable(mesSalesOrder).ExecuteCommand(); + var baOrUpdate = db.Insertable(mesSalesOrderDetails).ExecuteCommand(); + + return orUpdate > 0 && baOrUpdate > 0; + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); + + + } + private bool UpdateData(SqlSugarScope db, MesSalesOrder mesSalesOrder, + List<MesSalesOrderDetail> mesSalesOrderDetails) + { + //鏍规嵁鍗曞埆鍜屽崟鍙疯繘琛屽垹闄� + var update = db.Deleteable<MesSalesOrder>() + .Where(it => it.OrderId == mesSalesOrder.OrderId && + it.OrderType == mesSalesOrder.OrderType) + .ExecuteCommand() > 0; + + var mesSalesOrderDetail = mesSalesOrderDetails.Select(s => new { s.OrderId, s.LineNumber }).ToList(); + + var insertOrUpdate = db.Deleteable<MesSalesOrderDetail>().Where(it => mesSalesOrderDetail.Any(p => p.OrderId == it.OrderId && p.LineNumber==it.LineNumber)).ExecuteCommand() > 0; + + + if (update && insertOrUpdate) return true; + throw new NotImplementedException("鏇存柊澶辫触"); + } + + private MesSalesOrder MapErpORDERtoMesSalesOrder(ErpORDER dto) + { + var entity = new MesSalesOrder + { + OrderId = dto.FBillNo, + OrderType = dto.FBillTypeID, + OrderDate = DateTime.TryParse(dto.F_UNW_Date_KHXQ, out DateTime orderDate) ? (DateTime?)orderDate : null, + DocumentVersion = long.TryParse(dto.FVersionNo, out long versionNo) ? (long?)versionNo : null, + DocumentDate = DateTime.TryParseExact(dto.FDate, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime documentDate) ? (DateTime?)documentDate : null, + CustomerId = dto.FCustId, + CustomerOrderId= dto.F_UNW_Text_KHDD, + DepartmentId= dto.FSaleDeptId, + TotalQuantity = long.TryParse(dto.FNote, out long quantity) ? (long?)quantity : null, + Remarks =dto.F_UNW_LargeText_TBKHBZ, + ApprovalDate = DateTime.TryParse(dto.FApproveDate, out DateTime approveDate) ? (DateTime?)approveDate : null, + Approver = dto.FApproverId + }; + + + + return entity; + } + + private List<MesSalesOrderDetail> MapErpDETAILtoMesSalesOrderDetail(List<ErpDETAIL> dtoList) + { + var detailList = new List<MesSalesOrderDetail>(); + + foreach (var dto in dtoList) + { + var mesSalesOrderDetail = new MesSalesOrderDetail + { + + OrderId= dto.F_UNW_Text_xsddh, + LineNumber = dto.LineNumber, + ProductCode =dto.FMaterialId, + ProductName =dto.FMaterialName, + ProductSpec=dto.FMaterialModel, + ScheduledDeliveryDate = DateTime.TryParse(dto.FMinPlanDeliveryDate, out DateTime scheduledDeliveryDate) ? (DateTime?)scheduledDeliveryDate : null, + OrderQuantity = long.TryParse(dto.FQty, out long quantity) ? (long?)quantity : null, + Unit = dto.FUnitID, + UnitPrice = long.TryParse(dto.FPrice, out long price) ? (long?)price : null, + Amount = long.TryParse(dto.FAmount, out long amount) ? (long?)amount : null, + + + }; + detailList.Add(mesSalesOrderDetail); + } + return detailList; + } + + + public bool Delete(YFDelete data) + { + + return UseTransaction(db => + { + var update = db.Deleteable<MesSalesOrder>() + .Where(it => it.OrderId == data.FBillNo && + it.OrderType == data.FBillTypeID) + .ExecuteCommand() > 0; + + var insertOrUpdate = db.Deleteable<MesSalesOrderDetail>() + .Where(it => it.OrderId == data.FBillNo + && it.LineNumber == data.FBillTypeID) + .ExecuteCommand() > 0; + + + + if (update && insertOrUpdate) return 1; + throw new NotImplementedException("鍒犻櫎澶辫触"); + }) > 0; + + + } + + + +} \ No newline at end of file diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs index cc348ef..209a96b 100644 --- a/MES.Service/service/WomcaaManager.cs +++ b/MES.Service/service/WomcaaManager.cs @@ -25,7 +25,7 @@ public bool Save(ErpWOM wom) { - var womErpCaa = wom.ErpCaa; + var womErpCaa = wom. ErpCaa; var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa); var mesWomcabs = MapErpCABtoWomcab(wom.ErpCabs); diff --git a/MESApplication/Controllers/MesSalesOrderController.cs b/MESApplication/Controllers/MesSalesOrderController.cs new file mode 100644 index 0000000..02b58a1 --- /dev/null +++ b/MESApplication/Controllers/MesSalesOrderController.cs @@ -0,0 +1,312 @@ +锘縰sing System.Dynamic; +using MES.Service.Dto.webApi; +using MES.Service.Modes; +using MES.Service.service; +using MES.Service.util; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using Newtonsoft.Json; + +namespace MESApplication.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class MesSalesOrderController : ControllerBase +{ + private readonly MessageCenterManager _manager = new(); + private readonly MesSalesOrderManager m = new(); + + + private readonly string METHOD = "POST"; + + private readonly string TableName = "MES_SALES_ORDER"; + + private readonly string URL = "http://localhost:10054/api/MesSalesOrder/"; + + + + [HttpPost("Save")] + public ResponseResult Save(ErpSales rohIn) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "Save"; + entity.Method = METHOD; + entity.PageName = rohIn.ErpOrder.FBillTypeID + "-" + rohIn.ErpOrder.FBillNo; //鍗曞埆鍜屽崟鍙风殑鎷兼帴 + entity.Title = "閿�鍞鍗�"; + entity.Data = JsonConvert.SerializeObject(rohIn); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var save = m.Save(rohIn); + + resultInfos.tbBillList = save; + + entity.Result = 0; + entity.DealWith = 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<ErpSales> 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); + } + } + + + [HttpPost("Delete")] + public ResponseResult Delete(YFDelete data) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "Delete"; + entity.Method = METHOD; + entity.PageName = data.FBillTypeID + "-" + data.FBillNo; //鍗曞埆鍜屽崟鍙风殑鎷兼帴 + entity.Title = "閿�鍞鍗�"; + entity.Data = JsonConvert.SerializeObject(data); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var save = m.Delete(data); + + 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); + } + } + + /// <summary> + /// 鑾峰彇鎵�鏈� + /// </summary> + /// <returns></returns> + [HttpPost("GetList")] + public ResponseResult GetList() + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetList(); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + + /// <summary> + /// 鏍规嵁涓婚敭鑾峰彇 + /// </summary> + /// <returns></returns> + [HttpPost("GetById")] + public ResponseResult GetById(int id) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.GetById(id); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 鏍规嵁涓婚敭鍒犻櫎 + /// </summary> + /// <returns></returns> + [HttpPost("DeleteByIds")] + public ResponseResult DeleteByIds([FromBody] object[] ids) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.DeleteByIds(ids); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞 + /// </summary> + /// <returns></returns> + [HttpPost("Insert")] + public ResponseResult Add([FromBody] MesSalesOrder data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Insert(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 娣诲姞杩斿洖鑷 + /// </summary> + /// <returns></returns> + [HttpPost("InsertReturnIdentity")] + public ResponseResult InsertReturnIdentity([FromBody] MesSalesOrder data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.InsertReturnIdentity(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } + + /// <summary> + /// 淇敼 + /// </summary> + /// <returns></returns> + [HttpPost("Update")] + public ResponseResult Update([FromBody] MesSalesOrder data) + { + try + { + dynamic resultInfos = new ExpandoObject(); + resultInfos.tbBillList = m.Update(data); + return new ResponseResult + { + status = 0, + message = "OK", + data = resultInfos + }; + } + catch (Exception ex) + { + return ResponseResult.ResponseError(ex); + } + } +} diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.dll b/MESApplication/bin/Debug/net8.0/MES.Service.dll index 8af5a30..1f38dfc 100644 --- a/MESApplication/bin/Debug/net8.0/MES.Service.dll +++ b/MESApplication/bin/Debug/net8.0/MES.Service.dll Binary files differ diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.pdb b/MESApplication/bin/Debug/net8.0/MES.Service.pdb index d5df46b..53a8e81 100644 --- a/MESApplication/bin/Debug/net8.0/MES.Service.pdb +++ b/MESApplication/bin/Debug/net8.0/MES.Service.pdb Binary files differ diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.deps.json b/MESApplication/bin/Debug/net8.0/MESApplication.deps.json index a38b276..95a84e5 100644 --- a/MESApplication/bin/Debug/net8.0/MESApplication.deps.json +++ b/MESApplication/bin/Debug/net8.0/MESApplication.deps.json @@ -1412,7 +1412,10 @@ "SqlSugarCore": "5.1.4.158" }, "runtime": { - "MES.Service.dll": {} + "MES.Service.dll": { + "assemblyVersion": "1.0.0", + "fileVersion": "1.0.0.0" + } } } } diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.dll b/MESApplication/bin/Debug/net8.0/MESApplication.dll index ef08bb7..4b810a9 100644 --- a/MESApplication/bin/Debug/net8.0/MESApplication.dll +++ b/MESApplication/bin/Debug/net8.0/MESApplication.dll Binary files differ diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.exe b/MESApplication/bin/Debug/net8.0/MESApplication.exe index 6ccdd0e..c06bdad 100644 --- a/MESApplication/bin/Debug/net8.0/MESApplication.exe +++ b/MESApplication/bin/Debug/net8.0/MESApplication.exe Binary files differ diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.pdb b/MESApplication/bin/Debug/net8.0/MESApplication.pdb index 4924f3b..86dfcdb 100644 --- a/MESApplication/bin/Debug/net8.0/MESApplication.pdb +++ b/MESApplication/bin/Debug/net8.0/MESApplication.pdb Binary files differ diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.xml b/MESApplication/bin/Debug/net8.0/MESApplication.xml index d3e5c89..0696b68 100644 --- a/MESApplication/bin/Debug/net8.0/MESApplication.xml +++ b/MESApplication/bin/Debug/net8.0/MESApplication.xml @@ -822,6 +822,42 @@ </summary> <returns></returns> </member> + <member name="M:MESApplication.Controllers.MesSalesOrderController.GetList"> + <summary> + 鑾峰彇鎵�鏈� + </summary> + <returns></returns> + </member> + <member name="M:MESApplication.Controllers.MesSalesOrderController.GetById(System.Int32)"> + <summary> + 鏍规嵁涓婚敭鑾峰彇 + </summary> + <returns></returns> + </member> + <member name="M:MESApplication.Controllers.MesSalesOrderController.DeleteByIds(System.Object[])"> + <summary> + 鏍规嵁涓婚敭鍒犻櫎 + </summary> + <returns></returns> + </member> + <member name="M:MESApplication.Controllers.MesSalesOrderController.Add(MES.Service.Modes.MesSalesOrder)"> + <summary> + 娣诲姞 + </summary> + <returns></returns> + </member> + <member name="M:MESApplication.Controllers.MesSalesOrderController.InsertReturnIdentity(MES.Service.Modes.MesSalesOrder)"> + <summary> + 娣诲姞杩斿洖鑷 + </summary> + <returns></returns> + </member> + <member name="M:MESApplication.Controllers.MesSalesOrderController.Update(MES.Service.Modes.MesSalesOrder)"> + <summary> + 淇敼 + </summary> + <returns></returns> + </member> <member name="M:MESApplication.Controllers.QC.MesLineUserController.GetList"> <summary> 鑾峰彇鎵�鏈� -- Gitblit v1.9.3