From 53c58be27bb9ba94ac46a46fb048b27d17ece925 Mon Sep 17 00:00:00 2001 From: cnf <3200815559@qq.com> Date: 星期五, 29 八月 2025 10:30:40 +0800 Subject: [PATCH] Merge branch 'master' of http://git.gs-mes.com:8080/r/~cnf/JH/JH_WebApi --- MES.Service/Modes/MesDeliveryNoticeDetail.cs | 489 +++++++++++++++++++++ MES.Service/Dto/webApi/DeliveryNoteWrapper.cs | 14 MES.Service/service/BasicData/MesRohInManager.cs | 8 MES.Service/service/BasicData/MesDeliveryNoteDetailManager.cs | 12 MES.Service/Dto/webApi/deliveryNote.cs | 34 + MES.Service/Dto/webApi/deliveryNoteDetail.cs | 64 ++ MES.Service/Modes/MesDeliveryNotice.cs | 313 +++++++++++++ MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs | 258 +++++++++++ MES.Service/service/BasicData/MesDeliveryNoteManager.cs | 166 +++++++ 9 files changed, 1,352 insertions(+), 6 deletions(-) diff --git a/MES.Service/Dto/webApi/DeliveryNoteWrapper.cs b/MES.Service/Dto/webApi/DeliveryNoteWrapper.cs new file mode 100644 index 0000000..afde527 --- /dev/null +++ b/MES.Service/Dto/webApi/DeliveryNoteWrapper.cs @@ -0,0 +1,14 @@ +锘縩amespace MES.Service.Dto.webApi; + +public class DeliveryNoteWrapper +{ + /// <summary> + /// 閫佽揣鍗曚富淇℃伅 + /// </summary> + public deliveryNote DeliveryNote { get; set; } + + /// <summary> + /// 閫佽揣鍗曟槑缁嗗垪琛� + /// </summary> + public List<deliveryNoteDetail> DeliveryNoteDetails { get; set; } +} \ No newline at end of file diff --git a/MES.Service/Dto/webApi/deliveryNote.cs b/MES.Service/Dto/webApi/deliveryNote.cs new file mode 100644 index 0000000..f678d4d --- /dev/null +++ b/MES.Service/Dto/webApi/deliveryNote.cs @@ -0,0 +1,34 @@ +锘縩amespace MES.Service.Dto.webApi; + +public class deliveryNote +{ + /// <summary> + /// 閫佽揣鍗曞彿 + /// </summary> + public string DeliveryNo { get; set; } = string.Empty; + + /// <summary> + /// 渚涘簲鍟嗭紙鍐呯爜锛� + /// </summary> + public string? SupplierId { get; set; } + + /// <summary> + /// 鍗曟嵁鏃ユ湡 + /// </summary> + public string? FDate { get; set; } + + /// <summary> + /// 澶囨敞淇℃伅 + /// </summary> + public string? Remark { get; set; } + + /// <summary> + /// 鏀舵枡缁勭粐 + /// </summary> + public string? FReceiveOrgId { get; set; } + + /// <summary> + /// 绫诲瀷 + /// </summary> + public string? Type { get; set; } +} \ No newline at end of file diff --git a/MES.Service/Dto/webApi/deliveryNoteDetail.cs b/MES.Service/Dto/webApi/deliveryNoteDetail.cs new file mode 100644 index 0000000..413df0b --- /dev/null +++ b/MES.Service/Dto/webApi/deliveryNoteDetail.cs @@ -0,0 +1,64 @@ +锘縩amespace MES.Service.Dto.webApi; + +public class deliveryNoteDetail +{ + /// <summary> + /// 閫佽揣鍗曞彿 + /// </summary> + public string DeliveryNo { get; set; } = string.Empty; + + /// <summary> + /// 鐗╂枡鍐呯爜 + /// </summary> + public string? ProductCode { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟鏁伴噺 + /// </summary> + public decimal? PurchaseQty { get; set; } + + /// <summary> + /// 鏈搴旀敹鏁伴噺 + /// </summary> + public decimal? DeliveryQty { get; set; } + + /// <summary> + /// 鏈浜よ揣鏁伴噺 + /// </summary> + public decimal? IncludeQty { get; set; } + + /// <summary> + /// 閲囪喘鍗曚綅锛堝唴鐮侊級 + /// </summary> + public string? PurchaseUnit { get; set; } + + /// <summary> + /// 搴撳瓨鍗曚綅锛堝唴鐮侊級 + /// </summary> + public string? InventoryUnit { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + public string? Remark { get; set; } + + /// <summary> + /// 閲囪喘鍗曞彿 + /// </summary> + public string? FBillNo { get; set; } + + /// <summary> + /// 閲囪喘鍗曞垎褰曞唴鐮� + /// </summary> + public string? OrderlineId { get; set; } + + /// <summary> + /// 鏄惁璧犲搧 + /// </summary> + public bool? IsGift { get; set; } + + /// <summary> + /// 閫佽揣鍗曡鍐呯爜 + /// </summary> + public string? LineNo { get; set; } +} \ No newline at end of file diff --git a/MES.Service/Modes/MesDeliveryNotice.cs b/MES.Service/Modes/MesDeliveryNotice.cs new file mode 100644 index 0000000..1f507b4 --- /dev/null +++ b/MES.Service/Modes/MesDeliveryNotice.cs @@ -0,0 +1,313 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 閫佽揣閫氱煡鍗曚富琛紙瀵瑰簲鏁版嵁搴撹〃锛欴ELIVERY_NOTICE锛� +/// </summary> +[SugarTable("DELIVERY_NOTICE")] +public class MesDeliveryNotice +{ + /// <summary> + /// 涓婚敭锛堝敮涓�鏍囪瘑锛屽搴旀暟鎹簱 id 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] + public Guid Id { get; set; } + + /// <summary> + /// 閫佽揣鍗曞彿锛堝搴旀暟鎹簱 delivery_no 鍒楋紝鍞竴绾︽潫锛� + /// </summary> + // 鍏抽敭淇锛氱敤 IsUniqueConstraint=true 鏇夸唬 IsUnique=true锛屽吋瀹� SQL Server 2019 鍙婃棭鏈� SqlSugar 鐗堟湰 + [SugarColumn(ColumnName = "delivery_no", IsPrimaryKey = true, IsNullable = false)] + public string DeliveryNo { get; set; } = string.Empty; + + + /// <summary> + /// 渚涘簲鍟嗙紪鐮侊紙瀵瑰簲鏁版嵁搴� inner_vendor_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "org_id")] + public string? FReceiveOrgId { get; set; } + + + /// <summary> + /// 渚涘簲鍟嗙紪鐮侊紙瀵瑰簲鏁版嵁搴� inner_vendor_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "inner_vendor_code")] + public string? SupplierId { get; set; } + + /// <summary> + /// 渚涘簲鍟嗗悕绉帮紙瀵瑰簲鏁版嵁搴� inner_vendor_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "inner_vendor_name")] + public string? InnerVendorName { get; set; } + + /// <summary> + /// 閫佽揣绫诲瀷锛�1-鏅�� 2-琛ヨ揣 3-澶囧搧 4-鏍峰搧 5-VMI锛堝搴旀暟鎹簱 delivery_type 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "delivery_type")] + public string? DeliveryType { get; set; } + + /// <summary> + /// 閫佽揣鏃ユ湡(鏃堕棿鎴�)锛堝搴旀暟鎹簱 delivery_date 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "delivery_date")] + public string? DeliveryDate { get; set; } + + /// <summary> + /// 棰勮閫佽揪鏃ユ湡(鏃堕棿鎴�)锛堝搴旀暟鎹簱 plan_arrived_date 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "plan_arrived_date")] + public string? PlanArrivedDate { get; set; } + + /// <summary> + /// 閫佽揣鑱旂郴浜猴紙瀵瑰簲鏁版嵁搴� contact_persion 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "contact_persion")] + public string? ContactPersion { get; set; } + + /// <summary> + /// 閫佽揣浜鸿仈绯荤數璇濓紙瀵瑰簲鏁版嵁搴� contact_mobile 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "contact_mobile")] + public string? ContactMobile { get; set; } + + /// <summary> + /// 鍐呴儴鏀惰揣鍦扮偣缂栫爜锛堝搴旀暟鎹簱 address_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "address_code")] + public string? AddressCode { get; set; } + + /// <summary> + /// 鏀惰揣鏄庣粏鍦板潃锛堝搴旀暟鎹簱 address_info 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "address_info")] + public string? AddressInfo { get; set; } + + /// <summary> + /// 閫佽揣杞︾墝鍙凤紙瀵瑰簲鏁版嵁搴� delivery_car_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "delivery_car_no")] + public string? DeliveryCarNo { get; set; } + + /// <summary> + /// 澶囨敞锛堝搴旀暟鎹簱 remark 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "remark")] + public string? Remark { get; set; } + + /// <summary> + /// 鐘舵��:1-寰呯鏀� 2-绛炬敹涓� 3-宸插畬鎴� 4-鎾ゅ洖 8-宸蹭綔搴� 5-鐢宠涓� 7-鍚屾剰 9-閮ㄥ垎鍚屾剰 10-宸插喕缁� 11-鐢宠鎾ゅ洖锛堝搴旀暟鎹簱 status 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "status")] + public string? Status { get; set; } + + /// <summary> + /// 鐩磋繍鏍囪瘑:1-鏄� 0-鍚︼紙瀵瑰簲鏁版嵁搴� direct_delivery_flag 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "direct_delivery_flag")] + public string? DirectDeliveryFlag { get; set; } + + /// <summary> + /// 鐗╂祦鐘舵��:0-鏈彂鍑� 1-宸插彂璐� 2-宸插埌璐э紙瀵瑰簲鏁版嵁搴� logistics_status 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "logistics_status")] + public string? LogisticsStatus { get; set; } + + /// <summary> + /// 鏈�鍚庝竴娆″彂甯冩椂闂达紙瀵瑰簲鏁版嵁搴� publish_time 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "publish_time")] + public string? PublishTime { get; set; } + + /// <summary> + /// 鏈�鍚庝竴娆℃洿鏂版椂闂达紙瀵瑰簲鏁版嵁搴� update_time 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "update_time")] + public string? UpdateTime { get; set; } + + /// <summary> + /// 鍒╂鼎涓績缂栫爜锛堝搴旀暟鎹簱 profit_center_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "profit_center_code")] + public string? ProfitCenterCode { get; set; } + + /// <summary> + /// 鏁村崟姣涢噸锛堝搴旀暟鎹簱 gross_weight 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "gross_weight")] + public string? GrossWeight { get; set; } + + /// <summary> + /// 鏁村崟鍑�閲嶏紙瀵瑰簲鏁版嵁搴� net_weight 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "net_weight")] + public string? NetWeight { get; set; } + + /// <summary> + /// 閲嶉噺鍗曚綅缂栫爜锛堝搴旀暟鎹簱 unit_weight_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "unit_weight_code")] + public string? UnitWeightCode { get; set; } + + /// <summary> + /// 閲嶉噺鍗曚綅鍚嶇О锛堝搴旀暟鎹簱 unit_weight_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "unit_weight_name")] + public string? UnitWeightName { get; set; } + + /// <summary> + /// 鎬诲寘瑁呮暟锛堝搴旀暟鎹簱 total_packing_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "total_packing_qty")] + public string? TotalPackingQty { get; set; } + + /// <summary> + /// 鎵嬪伐濉啓鎬诲寘鏁帮紙瀵瑰簲鏁版嵁搴� total_package_quantity 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "total_package_quantity")] + public string? TotalPackageQuantity { get; set; } + + /// <summary> + /// 杩愯緭鏂瑰紡缂栫爜锛堝搴旀暟鎹簱 transport_type_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "transport_type_code")] + public string? TransportTypeCode { get; set; } + + /// <summary> + /// 杩愯緭鏂瑰紡鍚嶇О锛堝搴旀暟鎹簱 transport_type_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "transport_type_name")] + public string? TransportTypeName { get; set; } + + /// <summary> + /// 鍖呰鏂瑰紡缂栫爜锛堝搴旀暟鎹簱 packing_way_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "packing_way_code")] + public string? PackingWayCode { get; set; } + + /// <summary> + /// 鍖呰鏂瑰紡鍚嶇О锛堝搴旀暟鎹簱 packing_way_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "packing_way_name")] + public string? PackingWayName { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁1锛堝搴旀暟鎹簱 extend_n01 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n01")] + public string? ExtendN01 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁2锛堝搴旀暟鎹簱 extend_n02 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n02")] + public string? ExtendN02 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁3锛堝搴旀暟鎹簱 extend_n03 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n03")] + public string? ExtendN03 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁4锛堝搴旀暟鎹簱 platform_extend_n04 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "platform_extend_n04")] + public string? PlatformExtendN04 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁5锛堝搴旀暟鎹簱 platform_extend_n05 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "platform_extend_n05")] + public string? PlatformExtendN05 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁6锛堝搴旀暟鎹簱 platform_extend_n06 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "platform_extend_n06")] + public string? PlatformExtendN06 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁7锛堝搴旀暟鎹簱 platform_extend_n07 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "platform_extend_n07")] + public string? PlatformExtendN07 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁8锛堝搴旀暟鎹簱 platform_extend_n08 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "platform_extend_n08")] + public string? PlatformExtendN08 { get; set; } + + /// <summary> + /// 璐х墿閫佽揪鏃ユ湡(鏃堕棿鎴�)锛堝搴旀暟鎹簱 cargo_delivery_time 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "cargo_delivery_time")] + public string? CargoDeliveryTime { get; set; } + + /// <summary> + /// 鐗╂祦鏂瑰紡:1-渚涘簲鍟嗛�佽揣 2-蹇�� 3-閲囪喘鏂硅嚜鎻愶紙瀵瑰簲鏁版嵁搴� logistics_type 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "logistics_type")] + public string? LogisticsType { get; set; } + + /// <summary> + /// 鐗╂祦鏂瑰紡涓枃灞曠ず锛堝搴旀暟鎹簱 logistics_type_show 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "logistics_type_show")] + public string? LogisticsTypeShow { get; set; } + + /// <summary> + /// 鐗╂祦鍗曞彿锛堝搴旀暟鎹簱 logistics_number 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "logistics_number")] + public string? LogisticsNumber { get; set; } + + /// <summary> + /// 浼樺厛妫�楠�:0-姝e父 1-浼樺厛 2-绱ф�ワ紙瀵瑰簲鏁版嵁搴� first_check 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "first_check")] + public string? FirstCheck { get; set; } + + /// <summary> + /// 鍒涘缓鏃ユ湡锛堝搴旀暟鎹簱 create_date 鍒楋紝榛樿鍊� getdate()锛� + /// </summary> + [SugarColumn(ColumnName = "create_date", IsNullable = false, DefaultValue = "getdate()")] + public DateTime CreateDate { get; set; } + + /// <summary> + /// 鏈�鍚庢搷浣滄椂闂存埑锛堝搴旀暟鎹簱 last_operate_time 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "last_operate_time")] + public string? LastOperateTime { get; set; } + + /// <summary> + /// 鏄惁鍚屾鍒拌揣鏄庣粏锛�0锛氭湭鍚屾 1锛氬凡鍚屾锛夛紙瀵瑰簲鏁版嵁搴� is_get_detail 鍒楋紝榛樿鍊� 0锛� + /// </summary> + [SugarColumn(ColumnName = "is_get_detail", IsNullable = false, DefaultValue = "0")] + public int IsGetDetail { get; set; } = 0; + + /// <summary> + /// 鏄惁鍚屾鏉$爜鏄庣粏锛�0锛氭湭鍚屾 1锛氬凡鍚屾锛夛紙瀵瑰簲鏁版嵁搴� is_get_bar 鍒楋紝榛樿鍊� 0锛� + /// </summary> + [SugarColumn(ColumnName = "is_get_bar", IsNullable = false, DefaultValue = "0")] + public int IsGetBar { get; set; } = 0; + + /// <summary> + /// 鏄惁纭鍒拌揣锛�0锛氭湭纭 1锛氬凡纭锛夛紙瀵瑰簲鏁版嵁搴� is_CFR 鍒楋紝榛樿鍊� 0锛� + /// </summary> + [SugarColumn(ColumnName = "is_CFR", IsNullable = false, DefaultValue = "0")] + public int IsCfr { get; set; } = 0; + + /// <summary> + /// 璋冪敤鑾峰彇閫佽揣鍗曟鏁帮紙瀵瑰簲鏁版嵁搴� get_detail_times 鍒楋紝榛樿鍊� 0锛� + /// </summary> + [SugarColumn(ColumnName = "get_detail_times", IsNullable = false, DefaultValue = "0")] + public int GetDetailTimes { get; set; } = 0; + + /// <summary> + /// 璋冪敤鑾峰彇鏉$爜娆℃暟锛堝搴旀暟鎹簱 get_bar_times 鍒楋紝榛樿鍊� 0锛� + /// </summary> + [SugarColumn(ColumnName = "get_bar_times", IsNullable = false, DefaultValue = "0")] + public int GetBarTimes { get; set; } = 0; +} \ No newline at end of file diff --git a/MES.Service/Modes/MesDeliveryNoticeDetail.cs b/MES.Service/Modes/MesDeliveryNoticeDetail.cs new file mode 100644 index 0000000..bc3ea83 --- /dev/null +++ b/MES.Service/Modes/MesDeliveryNoticeDetail.cs @@ -0,0 +1,489 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 閫佽揣閫氱煡鍗曟嵁鏄庣粏琛紙瀵瑰簲鏁版嵁搴擄細JH_MES.GS_MES.dbo.DELIVERY_NOTICE_DETAIL锛� +/// </summary> +[SugarTable("DELIVERY_NOTICE_DETAIL")] +public class MesDeliveryNoticeDetail +{ + /// <summary> + /// 涓婚敭锛圫EQ_XKY锛屽搴旀暟鎹簱 id 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] + public Guid Guid { get; set; } + + /// <summary> + /// 椤规鍙凤紙瀵瑰簲鏁版嵁搴� line_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "line_no")] + public string? LineNo { get; set; } + + /// <summary> + /// ERP閲囪喘鍗曞彿锛堝搴旀暟鎹簱 po_erp_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "po_erp_no")] + public string? PoErpNo { get; set; } + + + /// <summary> + /// 閲囪喘鍗曠被鍨� 1锛氫竴鑸噰璐紱2锛氬澶栭噰璐紙瀵瑰簲鏁版嵁搴� purchase_type 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "purchase_type")] + public string? PurchaseType { get; set; } + + /// <summary> + /// 閲囪喘鍗曢」娆★紙瀵瑰簲鏁版嵁搴� po_line_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "po_line_no")] + public string? PoLineNo { get; set; } + + /// <summary> + /// 浜у搧缂栫爜锛堝搴旀暟鎹簱 product_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "product_code")] + public string? ProductCode { get; set; } + + /// <summary> + /// 浜у搧鍚嶇О锛堝搴旀暟鎹簱 product_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "product_name")] + public string? ProductName { get; set; } + + /// <summary> + /// 浜у搧瑙勬牸锛堝搴旀暟鎹簱 product_scale 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "product_scale")] + public string? ProductScale { get; set; } + + /// <summary> + /// 鍑鸿揣鍗曚綅缂栫爜锛堝搴旀暟鎹簱 delivery_unit_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "delivery_unit_code")] + public string? DeliveryUnitCode { get; set; } + + /// <summary> + /// 鍑鸿揣鍗曚綅鍚嶇О锛堝搴旀暟鎹簱 delivery_unit_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "delivery_unit_name")] + public string? DeliveryUnitName { get; set; } + + /// <summary> + /// 鍑鸿揣鏁伴噺锛堝搴旀暟鎹簱 delivery_qty 鍒楋紝decimal(18,10) 绫诲瀷锛� + /// </summary> + [SugarColumn(ColumnName = "delivery_qty")] + public decimal? DeliveryQty { get; set; } + + /// <summary> + /// 鍑鸿揣璁′环鏁伴噺锛堝搴旀暟鎹簱 delivery_valuation_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "delivery_valuation_qty")] + public string? DeliveryValuationQty { get; set; } + + /// <summary> + /// 鍑鸿揣浜у搧鍗曚环锛堝搴旀暟鎹簱 price 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "price")] + public string? Price { get; set; } + + /// <summary> + /// 鍑鸿揣浜у搧鍚◣鍗曚环锛堝搴旀暟鎹簱 tax_price 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "tax_price")] + public string? TaxPrice { get; set; } + + /// <summary> + /// 鎺掔▼鑷畾涔夐」鐨勫�硷紙瀵瑰簲鏁版嵁搴� sch_dynamic_value 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "sch_dynamic_value")] + public string? SchDynamicValue { get; set; } + + /// <summary> + /// 鎺掔▼鎵规鍙凤紙瀵瑰簲鏁版嵁搴� schedule_batch_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "schedule_batch_no")] + public string? ScheduleBatchNo { get; set; } + + /// <summary> + /// 鎺掔▼鍗曞彿锛堝搴旀暟鎹簱 schedule_order_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "schedule_order_no")] + public string? ScheduleOrderNo { get; set; } + + /// <summary> + /// 瀵瑰簲鎺掔▼ItemDetail鐨勪富閿垪锛堝搴旀暟鎹簱 schedule_detail_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "schedule_detail_no")] + public string? ScheduleDetailNo { get; set; } + + /// <summary> + /// 鏄惁鎬ユ枡 0:鍚� ; 1锛氭槸锛堝搴旀暟鎹簱 urgent_flag 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "urgent_flag")] + public string? UrgentFlag { get; set; } + + /// <summary> + /// 鍘熷鍗曟嵁绫诲瀷1锛氳鍗曪紱2锛氭帓绋�; 3:鎸夐��璐� 4:鎸夊鍝侊紙瀵瑰簲鏁版嵁搴� src_bill_type 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "src_bill_type")] + public string? SrcBillType { get; set; } + + /// <summary> + /// 閲囪喘椤规鐨勯噰璐鏄庝俊鎭紙瀵瑰簲鏁版嵁搴� purchase_desc 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "purchase_desc")] + public string? PurchaseDesc { get; set; } + + /// <summary> + /// 鍗曟嵁澶囨敞锛宻rcBillType=1 瀵瑰簲閲囪喘璁㈠崟鍗曡韩鐨勫娉�; srcBillType=2 瀵瑰簲鎺掔▼椤规鐨勫娉紙瀵瑰簲鏁版嵁搴� src_order_line_remark 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "src_order_line_remark")] + public string? SrcOrderLineRemark { get; set; } + + /// <summary> + /// 鐘舵�侊紙1:寰呯鏀讹紱2:绛炬敹涓紱3: 宸插畬鎴愶紱锛夛紙瀵瑰簲鏁版嵁搴� status 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "status")] + public string? Status { get; set; } + + /// <summary> + /// 鏀惰揣鐘舵�侊紙0-鏈敹璐�;1-閮ㄥ垎鏀惰揣;2-鍏ㄩ儴鏀惰揣锛夛紙瀵瑰簲鏁版嵁搴� receive_status 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "receive_status")] + public string? ReceiveStatus { get; set; } + + /// <summary> + /// 鏁村崟姣涢噸锛堝搴旀暟鎹簱 gross_weight 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "gross_weight")] + public string? GrossWeight { get; set; } + + /// <summary> + /// 鏁村崟鍑�閲嶏紙瀵瑰簲鏁版嵁搴� net_weight 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "net_weight")] + public string? NetWeight { get; set; } + + /// <summary> + /// 閲嶉噺鍗曚綅缂栫爜锛堝搴旀暟鎹簱 unit_weight_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "unit_weight_code")] + public string? UnitWeightCode { get; set; } + + /// <summary> + /// 閲嶉噺鍗曚綅鍚嶇О锛堝搴旀暟鎹簱 unit_weight_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "unit_weight_name")] + public string? UnitWeightName { get; set; } + + /// <summary> + /// 鍖呰鏁帮紙瀵瑰簲鏁版嵁搴� packing_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "packing_qty")] + public string? PackingQty { get; set; } + + /// <summary> + /// 鍝佺墝鍚嶇О锛堝搴旀暟鎹簱 brand_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "brand_name")] + public string? BrandName { get; set; } + + /// <summary> + /// 鍏朵粬鎵╁睍瀛楁锛堝搴旀暟鎹簱 other_extend 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "other_extend")] + public string? OtherExtend { get; set; } + + /// <summary> + /// 鍘熶骇鍥界紪鐮侊紙瀵瑰簲鏁版嵁搴� original_country_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "original_country_code")] + public string? OriginalCountryCode { get; set; } + + /// <summary> + /// 鍘熶骇鍥藉悕绉帮紙瀵瑰簲鏁版嵁搴� original_country_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "original_country_name")] + public string? OriginalCountryName { get; set; } + + /// <summary> + /// 澶囨敞锛堝搴旀暟鎹簱 remark 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "remark")] + public string? Remark { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁1锛堝搴旀暟鎹簱 extend_n01 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n01")] + public string? ExtendN01 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁2锛堝搴旀暟鎹簱 extend_n02 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n02")] + public string? ExtendN02 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁3锛堝搴旀暟鎹簱 extend_n03 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n03")] + public string? ExtendN03 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁4锛堝搴旀暟鎹簱 extend_n04 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n04")] + public string? ExtendN04 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁5锛堝搴旀暟鎹簱 extend_n05 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n05")] + public string? ExtendN05 { get; set; } + + /// <summary> + /// 鎵╁睍瀛楁6锛堝搴旀暟鎹簱 extend_n06 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "extend_n06")] + public string? ExtendN06 { get; set; } + + /// <summary> + /// 搴撳瓨鍦扮偣缂栫爜锛堝搴旀暟鎹簱 store_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "store_code")] + public string? StoreCode { get; set; } + + /// <summary> + /// 搴撳瓨鍦扮偣鍚嶇О锛堝搴旀暟鎹簱 store_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "store_name")] + public string? StoreName { get; set; } + + /// <summary> + /// 宸茬鏀舵暟閲忥紙瀵瑰簲鏁版嵁搴� verify_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "verify_qty")] + public string? VerifyQty { get; set; } + + /// <summary> + /// 鍙叆搴撴暟閲忥紙瀵瑰簲鏁版嵁搴� allow_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "allow_qty")] + public string? AllowQty { get; set; } + + /// <summary> + /// 璁╂鎺ユ敹鏁伴噺锛堝搴旀暟鎹簱 compromise_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "compromise_qty")] + public string? CompromiseQty { get; set; } + + /// <summary> + /// 鎷掓敹鏁伴噺锛堝搴旀暟鎹簱 refused_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "refused_qty")] + public string? RefusedQty { get; set; } + + /// <summary> + /// 閫�璐у崟ERP缂栧彿锛堝搴旀暟鎹簱 rto_erp_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "rto_erp_no")] + public string? RtoErpNo { get; set; } + + /// <summary> + /// 閫�璐у崟椤规锛堝搴旀暟鎹簱 rto_line_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "rto_line_no")] + public string? RtoLineNo { get; set; } + + /// <summary> + /// 浜у搧闀垮害锛堝搴旀暟鎹簱 prod_length 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "prod_length")] + public string? ProdLength { get; set; } + + /// <summary> + /// 浜у搧瀹藉害锛堝搴旀暟鎹簱 prod_width 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "prod_width")] + public string? ProdWidth { get; set; } + + /// <summary> + /// 浜у搧楂樺害锛堝搴旀暟鎹簱 prod_height 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "prod_height")] + public string? ProdHeight { get; set; } + + /// <summary> + /// 閲囪喘鍛樺鍚嶏紙瀵瑰簲鏁版嵁搴� buyer_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "buyer_name")] + public string? BuyerName { get; set; } + + /// <summary> + /// 棰勮浜ゆ湡锛堝搴旀暟鎹簱 expected_date 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "expected_date")] + public string? ExpectedDate { get; set; } + + /// <summary> + /// 鍥炲浜ゆ湡锛堝搴旀暟鎹簱 answer_date 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "answer_date")] + public string? AnswerDate { get; set; } + + /// <summary> + /// 甯佺缂栫爜锛堝搴旀暟鎹簱 currency_code 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "currency_code")] + public string? CurrencyCode { get; set; } + + /// <summary> + /// 甯佺鍚嶇О锛堝搴旀暟鎹簱 currency_name 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "currency_name")] + public string? CurrencyName { get; set; } + + /// <summary> + /// 鍙戦�佺鏀剁姸鎬侊紙瀵瑰簲鏁版嵁搴� send_verify_status 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "send_verify_status")] + public string? SendVerifyStatus { get; set; } + + /// <summary> + /// 缁撴灉鏍囪瘑锛堝搴旀暟鎹簱 result_flag 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "result_flag")] + public string? ResultFlag { get; set; } + + /// <summary> + /// 鐢宠鍑鸿揣鏁伴噺锛堝搴旀暟鎹簱 apply_delivery_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "apply_delivery_qty")] + public string? ApplyDeliveryQty { get; set; } + + /// <summary> + /// 鐢宠鍑鸿揣璁′环鏁伴噺锛堝搴旀暟鎹簱 apply_delivery_valuation_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "apply_delivery_valuation_qty")] + public string? ApplyDeliveryValuationQty { get; set; } + + /// <summary> + /// 鎵瑰彿锛堝搴旀暟鎹簱 batch_number 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "batch_number")] + public string? BatchNumber { get; set; } + + /// <summary> + /// 宸叉敹璐ф暟閲忥紙瀵瑰簲鏁版嵁搴� receive_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "receive_qty")] + public string? ReceiveQty { get; set; } + + /// <summary> + /// 宸插叆搴撴暟閲忥紙瀵瑰簲鏁版嵁搴� storage_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "storage_qty")] + public string? StorageQty { get; set; } + + /// <summary> + /// 閫�璐ф暟閲忥紙瀵瑰簲鏁版嵁搴� return_qty 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "return_qty")] + public string? ReturnQty { get; set; } + + /// <summary> + /// 浼樺厛妫�楠�:0-姝e父 1-浼樺厛 2-绱ф�ワ紙瀵瑰簲鏁版嵁搴� first_check 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "first_check")] + public string? FirstCheck { get; set; } + + /// <summary> + /// 閲囪喘鍗曢」娆℃樉绀虹敤锛堝搴旀暟鎹簱 po_line_no_show 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "po_line_no_show")] + public string? PoLineNoShow { get; set; } + + /// <summary> + /// 澶氳瑷�澶囨敞锛堝搴旀暟鎹簱 remarks 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "remarks")] + public string? Remarks { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿锛堝搴旀暟鎹簱 create_time 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "create_time")] + public string? CreateTime { get; set; } + + /// <summary> + /// 鏇存柊鏃堕棿锛堝搴旀暟鎹簱 update_time 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "update_time")] + public string? UpdateTime { get; set; } + + /// <summary> + /// 鍏宠仈涓昏〃ID锛堝搴旀暟鎹簱 pid 鍒楋紝鍏宠仈閫佽揣閫氱煡鍗曚富琛―ELIVERY_NOTICE鐨刬d锛� + /// </summary> + [SugarColumn(ColumnName = "pid")] + public Guid? Pid { get; set; } + + /// <summary> + /// 鎺掔▼椤规鍙凤紙瀵瑰簲鏁版嵁搴� plan_line_no 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "plan_line_no")] + public string? PlanLineNo { get; set; } + + /// <summary> + /// 閫佽揣鍗曞彿锛堝搴旀暟鎹簱 delivery_no 鍒楋紝鍏宠仈涓昏〃DELIVERY_NOTICE鐨刣elivery_no锛� + /// </summary> + [SugarColumn(ColumnName = "delivery_no")] + public string? DeliveryNo { get; set; } + + /// <summary> + /// 鍚屾鏃堕棿锛堝搴旀暟鎹簱 SYNCHRONOUS_DATE 鍒楋級 + /// </summary> + [SugarColumn(ColumnName = "SYNCHRONOUS_DATE")] + public DateTime? SynchronousDate { get; set; } + + + /// <summary> + /// 閲囪喘璁㈠崟鏁伴噺锛堝搴旀暟鎹簱 purchase_qty 鍒楋紝decimal(18,10) 绫诲瀷锛� + /// </summary> + [SugarColumn(ColumnName = "purchase_qty")] + public decimal? PurchaseQty { get; set; } + + + + /// <summary> + /// 鏈浜よ揣鏁伴噺锛堝搴旀暟鎹簱 include_qty 鍒楋紝decimal(18,10) 绫诲瀷锛� + /// </summary> + [SugarColumn(ColumnName = "include_qty")] + public decimal? IncludeQty { get; set; } + + /// <summary> + /// 閲囪喘鍗曚綅锛堝唴鐮侊級锛堝搴旀暟鎹簱 purchase_unit 鍒楋紝varchar(50) 绫诲瀷锛� + /// </summary> + [SugarColumn(ColumnName = "purchase_unit")] + public string? PurchaseUnit { get; set; } + + /// <summary> + /// 搴撳瓨鍗曚綅锛堝唴鐮侊級锛堝搴旀暟鎹簱 inventory_unit 鍒楋紝varchar(50) 绫诲瀷锛� + /// </summary> + [SugarColumn(ColumnName = "inventory_unit")] + public string? InventoryUnit { get; set; } + + /// <summary> + /// 閲囪喘鍗曞垎褰曞唴鐮侊紙瀵瑰簲鏁版嵁搴� erpline_id 鍒楋紝varchar(50) 绫诲瀷锛� + /// </summary> + [SugarColumn(ColumnName = "erpline_id")] + public string? ErplineId { get; set; } + + /// <summary> + /// 鏄惁璧犲搧锛堝搴旀暟鎹簱 is_gift 鍒楋紝bit 绫诲瀷锛�0=鍚︼紝1=鏄級 + /// </summary> + [SugarColumn(ColumnName = "is_gift")] + public bool? IsGift { get; set; } + +} \ No newline at end of file diff --git a/MES.Service/service/BasicData/MesDeliveryNoteDetailManager.cs b/MES.Service/service/BasicData/MesDeliveryNoteDetailManager.cs new file mode 100644 index 0000000..ee9d1b2 --- /dev/null +++ b/MES.Service/service/BasicData/MesDeliveryNoteDetailManager.cs @@ -0,0 +1,12 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service.BasicData; + + +public class MesDeliveryNoteDetailManager: Repository<MesDeliveryNoticeDetail> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 MesRohInDataManager.cs +} \ No newline at end of file diff --git a/MES.Service/service/BasicData/MesDeliveryNoteManager.cs b/MES.Service/service/BasicData/MesDeliveryNoteManager.cs new file mode 100644 index 0000000..54f1fe3 --- /dev/null +++ b/MES.Service/service/BasicData/MesDeliveryNoteManager.cs @@ -0,0 +1,166 @@ +锘縰sing Masuit.Tools; +using MES.Service.DB; +using MES.Service.Dto.webApi; +using MES.Service.Modes; +using SqlSugar; +using System.Globalization; + +namespace MES.Service.service.BasicData; + +public class MesDeliveryNoteManager : Repository<MesDeliveryNotice> +{ + private readonly MesDeliveryNoteDetailManager deliveryNoteDetailManager = new(); + + /// <summary> + /// 淇濆瓨閫佽揣鍗曟暟鎹� + /// </summary> + /// <param name="deliveryNoteWrapper">閫佽揣鍗曞寘瑁呯被锛堝寘鍚富琛ㄥ拰鏄庣粏鏁版嵁锛�</param> + /// <returns>鏄惁淇濆瓨鎴愬姛</returns> + public bool Save(DeliveryNoteWrapper deliveryNoteWrapper) + { + var deliveryNote = deliveryNoteWrapper.DeliveryNote; + var mesDeliveryNote = GetMesDeliveryNote(deliveryNote); + var mesDeliveryNoteDetails = + GetMesDeliveryNoticeDetails(deliveryNoteWrapper.DeliveryNoteDetails, mesDeliveryNote.DeliveryNo); + + return UseTransaction(db => + { + return deliveryNote.Type switch + { + "1" => SaveOrUpdateData(db, mesDeliveryNote, mesDeliveryNoteDetails) ? 1 : 0, + "2" => UpdateData(db, mesDeliveryNote, mesDeliveryNoteDetails) ? 1 : 0, + _ => throw new NotImplementedException($"鏈疄鐜扮殑绫诲瀷锛歿deliveryNote.Type}") + }; + }) > 0; + } + + /// <summary> + /// 鏇存柊閫佽揣鍗曟暟鎹� + /// </summary> + private bool UpdateData(SqlSugarScope db, MesDeliveryNotice mesDeliveryNote, + List<MesDeliveryNoticeDetail> mesDeliveryNoteDetails) + { + var detailIds = mesDeliveryNoteDetails.Select(s => s.Guid).ToArray(); + + // 鍒犻櫎涓昏〃鏁版嵁 + var deleteMain = db.Deleteable<MesDeliveryNotice>() + .Where(a => a.DeliveryNo == mesDeliveryNote.DeliveryNo) + .ExecuteCommand() > 0; + + // 鍒犻櫎鏄庣粏鏁版嵁 + var deleteDetails = db.Deleteable<MesDeliveryNoticeDetail>() + .Where(s => detailIds.Contains(s.Guid)) + .ExecuteCommand() > 0; + + if (deleteMain && deleteDetails) return true; + throw new NotImplementedException("閫佽揣鍗曟洿鏂板け璐�"); + } + + /// <summary> + /// 淇濆瓨鎴栨洿鏂伴�佽揣鍗曟暟鎹� + /// </summary> + private bool SaveOrUpdateData(SqlSugarScope db, MesDeliveryNotice mesDeliveryNote, + List<MesDeliveryNoticeDetail> mesDeliveryNoteDetails) + { + // 鑻ュ瓨鍦ㄥ垯鍏堝垹闄や富琛ㄦ暟鎹� + if (!mesDeliveryNote.DeliveryNo.IsNullOrEmpty()) + { + db.Deleteable<MesDeliveryNotice>() + .Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo) + .ExecuteCommand(); + } + + // 鍒犻櫎鍏宠仈鐨勬槑缁嗘暟鎹� + if (mesDeliveryNoteDetails.Count > 0) + { + db.Deleteable<MesDeliveryNoticeDetail>() + .Where(s => s.DeliveryNo == mesDeliveryNote.DeliveryNo) + .ExecuteCommand(); + } + + // 鎻掑叆涓昏〃鏁版嵁 + var insertMain = db.Insertable(mesDeliveryNote) + .IgnoreColumns(true) + .ExecuteCommand() > 0; + + // 鎻掑叆鏄庣粏鏁版嵁 + var insertDetails = db.Insertable(mesDeliveryNoteDetails) + .PageSize(1) + .IgnoreColumnsNull() + .ExecuteCommand() > 0; + + if (insertMain && insertDetails) return true; + throw new NotImplementedException("閫佽揣鍗曚繚瀛樺け璐�"); + } + + /// <summary> + /// 鎵归噺淇濆瓨閫佽揣鍗� + /// </summary> + public bool SaveList(List<DeliveryNoteWrapper> deliveryNoteWrappers) + { + var results = deliveryNoteWrappers.Select(Save).ToList(); + return results.All(b => b); + } + + /// <summary> + /// 杞崲閫佽揣鍗曚富琛ㄦ暟鎹� + /// </summary> + private MesDeliveryNotice GetMesDeliveryNote(deliveryNote deliveryNote) + { + // 鏌ユ壘宸叉湁璁板綍 + var existing = base.GetSingle(it => it.DeliveryNo == deliveryNote.DeliveryNo); + var mesDeliveryNote = existing ?? new MesDeliveryNotice(); + + // 涓昏〃瀛楁鏄犲皠 + mesDeliveryNote.DeliveryNo = deliveryNote.DeliveryNo; + mesDeliveryNote.SupplierId = deliveryNote.SupplierId; + + // 澶勭悊鏃ユ湡瀛楁 + // 澶勭悊鏃ユ湡瀛楁锛堟暟鎹簱瀛樺偍涓哄瓧绗︿覆绫诲瀷鐨勬椂闂存埑锛� + if (deliveryNote.FDate != null) + { + // 鐩存帴璧嬪�煎瓧绗︿覆锛屾棤闇�杞崲涓篋ateTime + mesDeliveryNote.DeliveryDate = deliveryNote.FDate; + } + + mesDeliveryNote.Remark = deliveryNote.Remark; + mesDeliveryNote.FReceiveOrgId = deliveryNote.FReceiveOrgId; + + mesDeliveryNote.CreateDate = DateTime.Now; + + return mesDeliveryNote; + } + + /// <summary> + /// 杞崲閫佽揣鍗曟槑缁嗘暟鎹� + /// </summary> + private List<MesDeliveryNoticeDetail> GetMesDeliveryNoticeDetails( + List<deliveryNoteDetail> deliveryNoteDetails, + string deliveryNo) + { + return deliveryNoteDetails.Select(detail => + { + // 鏌ユ壘宸叉湁鏄庣粏璁板綍 + var existingDetail = deliveryNoteDetailManager.GetSingle(it => + it.DeliveryNo == deliveryNo && it.LineNo == detail.LineNo); + var mesDetail = existingDetail ?? new MesDeliveryNoticeDetail(); + + // 鏄庣粏瀛楁鏄犲皠 + mesDetail.DeliveryNo = deliveryNo; + mesDetail.ProductCode = detail.ProductCode; + mesDetail.PurchaseQty = detail.PurchaseQty.HasValue ? Convert.ToDecimal(detail.PurchaseQty) : 0; + mesDetail.DeliveryQty = detail.DeliveryQty.HasValue ? Convert.ToDecimal(detail.DeliveryQty) : 0; + mesDetail.IncludeQty = detail.IncludeQty.HasValue ? Convert.ToDecimal(detail.IncludeQty) : 0; + mesDetail.PurchaseUnit = detail.PurchaseUnit; + mesDetail.InventoryUnit = detail.InventoryUnit; + mesDetail.Remark = detail.Remark; + mesDetail.PoErpNo = detail.FBillNo; + mesDetail.ErplineId = detail.OrderlineId; + mesDetail.IsGift = detail.IsGift; + mesDetail.LineNo = detail.LineNo; + mesDetail.SynchronousDate = DateTime.Now; + + return mesDetail; + }).ToList(); + } +} \ No newline at end of file diff --git a/MES.Service/service/BasicData/MesRohInManager.cs b/MES.Service/service/BasicData/MesRohInManager.cs index 1260083..04fe4f0 100644 --- a/MES.Service/service/BasicData/MesRohInManager.cs +++ b/MES.Service/service/BasicData/MesRohInManager.cs @@ -23,12 +23,8 @@ { return rohInErpRohIn.Type switch { - "2" or "4" or "5" => SaveOrUpdateData(db, mesRohIn, - mesRohInDatas) - ? 1 - : 0, - "3" => UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0, - _ => throw new NotImplementedException( + "2" or "4" or "5" => SaveOrUpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0, + "3" => UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0, _ => throw new NotImplementedException( $"type娌℃湁{rohInErpRohIn.Type}杩欎釜绫诲瀷") }; }) > 0; diff --git a/MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs b/MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs new file mode 100644 index 0000000..c7db727 --- /dev/null +++ b/MESApplication/Controllers/BasicData/MesDeliveryNoteController.cs @@ -0,0 +1,258 @@ +锘縰sing System.Dynamic; +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; + +[ApiController] +[Route("api/[controller]")] +public class MesDeliveryNoteController : ControllerBase +{ + private readonly MessageCenterManager _manager = new(); + private readonly MesDeliveryNoteManager m = new(); + + private readonly string METHOD = "POST"; + + private readonly string TableName = "MES_ROHIN"; + + private readonly string URL = "http://localhost:10054/api/MesRohIn/"; + + // + [HttpPost("Save")] + public ResponseResult Save(DeliveryNoteWrapper rohIn) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "Save"; + entity.Method = METHOD; + entity.Data = JsonConvert.SerializeObject(rohIn); + entity.Status = 1; + entity.CreateBy = "PL017"; + entity.Route = rohIn.DeliveryNote.DeliveryNo; + try + { + dynamic resultInfos = new ExpandoObject(); + var save = m.Save(rohIn); + + 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<DeliveryNoteWrapper> 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); + } + } + + /*/// <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] MesRohIn 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] MesRohIn 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] MesRohIn 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); + } + }*/ +} \ No newline at end of file -- Gitblit v1.9.3