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