From 1c7dbaaa6da761231b4a6efe75d2ea83a286741c Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期一, 04 十一月 2024 10:20:40 +0800 Subject: [PATCH] 生产订单接口 --- MESApplication/Controllers/WomcaaController.cs | 260 ++++++++++++ MES.Service/Modes/Womcab.cs | 231 +++++++++++ MES.Service/Dto/webApi/ErpCAB.cs | 17 MES.Service/Modes/Womcaa.cs | 412 +++++++++++++++++++ MES.Service/Dto/webApi/ErpCAA.cs | 13 MES.Service/service/WomcabManager.cs | 78 +++ MES.Service/service/WomcaaManager.cs | 206 +++++++++ MES.Service/util/StringUtil.cs | 7 8 files changed, 1,201 insertions(+), 23 deletions(-) diff --git a/MES.Service/Dto/webApi/ErpCAA.cs b/MES.Service/Dto/webApi/ErpCAA.cs index a9bf651..a53041f 100644 --- a/MES.Service/Dto/webApi/ErpCAA.cs +++ b/MES.Service/Dto/webApi/ErpCAA.cs @@ -14,7 +14,6 @@ public string? FDate { get; set; } - // public string? FBillType { get; set; } public string? FStatus { get; set; } public string? FMaterialId { get; set; } public string? FUnitId { get; set; } @@ -29,7 +28,6 @@ public string? FMTONO { get; set; } public string? FLot { get; set; } public string? FBomId { get; set; } - public string? F_UNW_Text_xsddh { get; set; } public string? FCreateType { get; set; } public string? FSrcBillType { get; set; } public string? FSrcBillNo { get; set; } @@ -43,13 +41,6 @@ public string? PLAN_ID { get; set; } public string? PLAN_SEQ { get; set; } public string? PLAN_NUM { get; set; } - public string? F_XIFG_Integer_tzk { get; set; } - public string? erP_SCZZ { get; set; } - public string? erP_WTZZ { get; set; } - public string? F_XIFG_Base_w5c { get; set; } - public string? F_XIFG_Qty_yrr { get; set; } - public string? F_XIFG_Text_fg2 { get; set; } - public string? F_XIFG_Text_yrr { get; set; } - public string? F_XIFG_Text_qtr1 { get; set; } - public string? F_XIFG_Base_83g1 { get; set; } + public string? FPrdOrgId { get; set; } + public string? FEnTrustOrgId { get; set; } } \ No newline at end of file diff --git a/MES.Service/Dto/webApi/ErpCAB.cs b/MES.Service/Dto/webApi/ErpCAB.cs index d4d3b20..e5d06ed 100644 --- a/MES.Service/Dto/webApi/ErpCAB.cs +++ b/MES.Service/Dto/webApi/ErpCAB.cs @@ -13,8 +13,7 @@ public string? FMTONO { get; set; } public string? FLot { get; set; } public string? FStockID { get; set; } - public string? FIssueType { get; set; } - public string? F_UNW_Text_tpgy { get; set; } + public string? FIssueType { get; set; } public string? FUnitID { get; set; } public string? FSupplyType { get; set; } public string? FStdQty { get; set; } @@ -22,20 +21,14 @@ public string? FNumerator { get; set; } public string? FDenominator { get; set; } public string? FENTRYID { get; set; } - public string? FID { get; set; } + + public string? PID { get; set; } + + public string Id { get; set; } public string? FSeq { get; set; } public string? FFixScrapQty { get; set; } public string? FScrapRate { get; set; } - - public string? FSALEORDERNO { get; set; } - - //鍒╃壒鑸滆嚜瀹氫箟瀛楁 - public string? F_XIFG_Text_re5 { get; set; } - public string? F_XIFG_Text_apv { get; set; } - public string? F_XIFG_Base_re5 { get; set; } - public decimal? F_XIFG_Qty_apv { get; set; } - public string? F_XIFG_Base_apv { get; set; } } \ No newline at end of file diff --git a/MES.Service/Modes/Womcaa.cs b/MES.Service/Modes/Womcaa.cs new file mode 100644 index 0000000..7201ad1 --- /dev/null +++ b/MES.Service/Modes/Womcaa.cs @@ -0,0 +1,412 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 宸ュ崟琛� +/// </summary> +[SugarTable("WOMCAA")] +public class Womcaa +{ + /// <summary> + /// 榛樿鍊�: (newid()) + /// </summary> + [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] + public Guid Guid { get; set; } + + /// <summary> + /// ERPID + /// </summary> + [SugarColumn(ColumnName = "ERPID")] + public int? Erpid { get; set; } + + /// <summary> + /// 鍗曟嵁缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "CAA001")] + public string? Caa001 { get; set; } + + /// <summary> + /// 鍗曟嵁绫诲瀷("1銆佺洿鎺ュ叆搴�-鏅�氱敓浜� 2銆佺洿鎺ュ叆搴�-杩斿伐鐢熶骇 3銆佸伐搴忔眹鎶�-鏅�氱敓浜� 4銆佸伐搴忔眹鎶�-杩斿伐鐢熶骇") + /// </summary> + [SugarColumn(ColumnName = "CAA004")] + public string? Caa004 { get; set; } + + /// <summary> + /// 璁″垝涓嬭揪鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "CAA005")] + public string? Caa005 { get; set; } + + /// <summary> + /// 浜у搧缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "CAA006")] + public string? Caa006 { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(ColumnName = "CAA009")] + public string? Caa009 { get; set; } + + /// <summary> + /// 棰勮寮�宸ユ椂闂� + /// </summary> + [SugarColumn(ColumnName = "CAA010")] + public string? Caa010 { get; set; } + + /// <summary> + /// 棰勮瀹屽伐鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "CAA011")] + public string? Caa011 { get; set; } + + /// <summary> + /// 宸ュ崟鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "CAA012")] + public int? Caa012 { get; set; } + + /// <summary> + /// BOM鐗堟 + /// </summary> + [SugarColumn(ColumnName = "CAA013")] + public string? Caa013 { get; set; } + + // /// <summary> + // /// 閿�鍞鍗曞彿 + // /// </summary> + // [SugarColumn(ColumnName = "CAA015")] + // public string? Caa015 { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(ColumnName = "CAA016")] + public string? Caa016 { get; set; } + + /// <summary> + /// 宸叉帓鏁伴噺锛堝純鐢級 + /// </summary> + [SugarColumn(ColumnName = "CAA017")] + public int? Caa017 { get; set; } + + /// <summary> + /// ERP鐢熶骇璁㈠崟ID + /// </summary> + [SugarColumn(ColumnName = "CAA018")] + public int? Caa018 { get; set; } + + /// <summary> + /// ERP鐢熶骇璁㈠崟搴忓彿 + /// </summary> + [SugarColumn(ColumnName = "CAA019")] + public int? Caa019 { get; set; } + + /// <summary> + /// ERP鐢熶骇璁㈠崟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "CAA020")] + public string? Caa020 { get; set; } + + /// <summary> + /// 鐢熶骇杞﹂棿 + /// </summary> + [SugarColumn(ColumnName = "CAA021")] + public string? Caa021 { get; set; } + + /// <summary> + /// 瀹℃牳鐮� + /// </summary> + [SugarColumn(ColumnName = "FSTATUS")] + public int? Fstatus { get; set; } + + /// <summary> + /// 瀹℃牳鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "CHECK_DATE")] + public DateTime? CheckDate { get; set; } + + /// <summary> + /// 瀹℃牳浜� + /// </summary> + [SugarColumn(ColumnName = "CHECK_USER")] + public string? CheckUser { get; set; } + + /// <summary> + /// 鏈帓鏁伴噺锛堝純鐢級 + /// </summary> + [SugarColumn(ColumnName = "CAA022")] + public int? Caa022 { get; set; } + + /// <summary> + /// 涓氬姟鐘舵��("1锛岃鍒掞紝2銆佽鍒掔‘璁� 2銆佷笅杈� 4銆佸紑宸� 5銆佸畬宸� 6銆佺粨妗堬紝7銆佺粨绠�") + /// </summary> + [SugarColumn(ColumnName = "CAA023")] + public string? Caa023 { get; set; } + + /// <summary> + /// 宸插叆搴撴暟閲� + /// </summary> + [SugarColumn(ColumnName = "CAA024")] + public int? Caa024 { get; set; } + + /// <summary> + /// 宸ヨ壓璺嚎 + /// </summary> + [SugarColumn(ColumnName = "ROUTING_ID")] + public string? RoutingId { get; set; } + + /// <summary> + /// 浜х嚎 + /// </summary> + [SugarColumn(ColumnName = "WORK_SHOP_ID")] + public string? WorkShopId { get; set; } + + /// <summary> + /// 浠撳簱 + /// </summary> + [SugarColumn(ColumnName = "DEPOT_CODE")] + public string? DepotCode { get; set; } + + /// <summary> + /// 鍗曟嵁鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "CREATE_DATE")] + public string? CreateDate { get; set; } + + /// <summary> + /// 璁″垝缁� + /// </summary> + [SugarColumn(ColumnName = "WORK_GROUP_ID")] + public string? WorkGroupId { get; set; } + + /// <summary> + /// 璁″垝鍛� + /// </summary> + [SugarColumn(ColumnName = "PLAN_ID")] + public string? PlanId { get; set; } + + /// <summary> + /// 鍏ュ簱涓婇檺 + /// </summary> + [SugarColumn(ColumnName = "STOCK_INLIMITH")] + public string? StockInlimith { get; set; } + + /// <summary> + /// 鍏ュ簱涓嬮檺 + /// </summary> + [SugarColumn(ColumnName = "STOCK_INLIMITL")] + public string? StockInlimitl { get; set; } + + /// <summary> + /// 涓昏溅闂磋皟搴﹀崟 + /// </summary> + [SugarColumn(ColumnName = "MTONO")] + public string? Mtono { get; set; } + + /// <summary> + /// 鎵规 + /// </summary> + [SugarColumn(ColumnName = "LOT")] + public string? Lot { get; set; } + + // /// <summary> + // /// 寮曠敤鍗曞彿 + // /// </summary> + // [SugarColumn(ColumnName = "CAA015_HEAD")] + // public string? Caa015Head { get; set; } + + /// <summary> + /// 鍒跺崟绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "CREATE_TYPE")] + public string? CreateType { get; set; } + + /// <summary> + /// 鏉ユ簮鍗曟嵁绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "SRC_BILL_TYPE")] + public string? SrcBillType { get; set; } + + /// <summary> + /// 鏉ユ簮鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "SRC_BILL_NO")] + public string? SrcBillNo { get; set; } + + /// <summary> + /// 鏉ユ簮琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "SRC_BILLENTRYSEQ")] + public string? SrcBillentryseq { get; set; } + + /// <summary> + /// 閿�鍞鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "SALE_ORDER_NO")] + public string? SaleOrderNo { get; set; } + + /// <summary> + /// 閿�鍞鍗曡鍙� + /// </summary> + [SugarColumn(ColumnName = "SALE_ORDER_ENTRYSEQ")] + public string? SaleOrderEntryseq { get; set; } + + /// <summary> + /// 寮哄埗鍏抽棴浜� + /// </summary> + [SugarColumn(ColumnName = "FORCE_CLOSERID")] + public string? ForceCloserid { get; set; } + + /// <summary> + /// 鍏抽棴绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "CLOSE_TYPE")] + public string? CloseType { get; set; } + + /// <summary> + /// 鍒嗗崟鍙� + /// </summary> + [SugarColumn(ColumnName = "SRC_SPLIT_BILLNO")] + public string? SrcSplitBillno { get; set; } + + /// <summary> + /// 鏄惁绠℃帶 + /// </summary> + [SugarColumn(ColumnName = "ERP_SCZZ")] + public int? ErpSczz { get; set; } + + /// <summary> + /// 鏄惁濮旀墭 + /// </summary> + [SugarColumn(ColumnName = "ERP_WTZZ")] + public int? ErpWtzz { get; set; } + + // /// <summary> + // /// </summary> + // [SugarColumn(ColumnName = "MAIN_PRODUCT_NO")] + // public string? MainProductNo { get; set; } + + // /// <summary> + // /// </summary> + // [SugarColumn(ColumnName = "MAIN_PRODUCT_QTY")] + // public int? MainProductQty { get; set; } + + // /// <summary> + // /// </summary> + // [SugarColumn(ColumnName = "CUSTOMER_ITEM_NUMBER")] + // public string? CustomerItemNumber { get; set; } + + // /// <summary> + // /// </summary> + // [SugarColumn(ColumnName = "PACKING_LIST_NUMBER")] + // public string? PackingListNumber { get; set; } + + // /// <summary> + // /// </summary> + // [SugarColumn(ColumnName = "CUSTOMER_NAME")] + // public string? CustomerName { get; set; } + + // /// <summary> + // /// </summary> + // [SugarColumn(ColumnName = "CUSTOMER")] + // public string? Customer { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "TYPE")] + public string? Type { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "JA_BS")] + public string? JaBs { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "JA_TIME")] + public DateTime? JaTime { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "YP_NUM")] + public int? YpNum { get; set; } + + /// <summary> + /// 棰勮瀹屽伐鏃堕棿澶囦唤 + /// </summary> + [SugarColumn(ColumnName = "CAA011_1")] + public string? Caa0111 { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "ERP_GYZZ")] + public int? ErpGyzz { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "ERP_FLZZ")] + public int? ErpFlzz { get; set; } + + /// <summary> + /// 鏄惁鍏ュ簱 + /// </summary> + [SugarColumn(ColumnName = "ERP_SLZZ")] + public int? ErpSlzz { get; set; } + + /// <summary> + /// 鏄惁閫�搴� + /// </summary> + [SugarColumn(ColumnName = "ERP_RKZZ")] + public int? ErpRkzz { get; set; } + + /// <summary> + /// 鏄惁鎹㈣揣 + /// </summary> + [SugarColumn(ColumnName = "ERP_RKHZ")] + public int? ErpRkhz { get; set; } + + /// <summary> + /// 鏄惁瀵勫敭 + /// </summary> + [SugarColumn(ColumnName = "ERP_JJDS")] + public int? ErpJjds { get; set; } + + /// <summary> + /// 鏄惁鎸夋 + /// </summary> + [SugarColumn(ColumnName = "ERP_BZDS")] + public int? ErpBzds { get; set; } + + /// <summary> + /// 鏄惁鏂板缓 + /// </summary> + [SugarColumn(ColumnName = "CAA025")] + public int? Caa025 { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟鍙� + /// </summary> + [SugarColumn(ColumnName = "FPURORDERNO")] + public string? Fpurorderno { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "FPURORDERENTRYSEQ")] + public string? Fpurorderentryseq { get; set; } + + /// <summary> + /// 鐢垫皵浜у搧鍨嬪彿 + /// </summary> + [SugarColumn(ColumnName = "ELECTRICAL_PRODUCT_MODEL")] + public string? ElectricalProductModel { get; set; } + + /// <summary> + /// 鐢垫皵浜у搧鍚嶇О + /// </summary> + [SugarColumn(ColumnName = "ELECTRICAL_PRODUCT_NAME")] + public string? ElectricalProductName { get; set; } +} \ No newline at end of file diff --git a/MES.Service/Modes/Womcab.cs b/MES.Service/Modes/Womcab.cs new file mode 100644 index 0000000..e8c82a6 --- /dev/null +++ b/MES.Service/Modes/Womcab.cs @@ -0,0 +1,231 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 浠诲姟鍗曠墿鏂欒〃 +/// </summary> +[SugarTable("WOMCAB")] +public class Womcab +{ + /// <summary> + /// 榛樿鍊�: (newid()) + /// </summary> + [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] + public Guid Guid { get; set; } + + /// <summary> + /// ERPID + /// </summary> + [SugarColumn(ColumnName = "ERPID")] + public int? Erpid { get; set; } + + /// <summary> + /// 宸ュ崟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "CAB001")] + public string? Cab001 { get; set; } + + /// <summary> + /// 搴忓彿 + /// </summary> + [SugarColumn(ColumnName = "CAB002")] + public string? Cab002 { get; set; } + + /// <summary> + /// 鏉愭枡缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "CAB003")] + public string? Cab003 { get; set; } + + /// <summary> + /// 闇�棰嗙敤閲� + /// </summary> + [SugarColumn(ColumnName = "CAB006")] + public int? Cab006 { get; set; } + + /// <summary> + /// 宸查鐢ㄩ噺 + /// </summary> + [SugarColumn(ColumnName = "CAB007")] + public int? Cab007 { get; set; } + + /// <summary> + /// 宸ヨ壓 + /// </summary> + [SugarColumn(ColumnName = "CAB008")] + public string? Cab008 { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(ColumnName = "CAB009")] + public string? Cab009 { get; set; } + + /// <summary> + /// 缁勬垚鐢ㄩ噺 + /// </summary> + [SugarColumn(ColumnName = "CAB012")] + public int? Cab012 { get; set; } + + /// <summary> + /// 鏄惁鏇挎枡 + /// </summary> + [SugarColumn(ColumnName = "CAB014")] + public string? Cab014 { get; set; } + + /// <summary> + /// PID + /// </summary> + [SugarColumn(ColumnName = "PID")] + public int? Pid { get; set; } + + /// <summary> + /// ERP澶碔D + /// </summary> + [SugarColumn(ColumnName = "EID")] + public int? Eid { get; set; } + + /// <summary> + /// 浣嶇疆鍙� + /// </summary> + [SugarColumn(ColumnName = "POSITION_NO")] + public string? PositionNo { get; set; } + + /// <summary> + /// 鍙戞枡缁勭粐 + /// </summary> + [SugarColumn(ColumnName = "ISSUING_ORGANIZATION")] + public string? IssuingOrganization { get; set; } + + /// <summary> + /// 渚涘簲缁勭粐 + /// </summary> + [SugarColumn(ColumnName = "SUPPLY_ORGANIZATION")] + public string? SupplyOrganization { get; set; } + + /// <summary> + /// 璐т富 + /// </summary> + [SugarColumn(ColumnName = "OWNER_ID")] + public string? OwnerId { get; set; } + + /// <summary> + /// 璁″垝璺熻釜鍙� + /// </summary> + [SugarColumn(ColumnName = "MTONO")] + public string? Mtono { get; set; } + + /// <summary> + /// 鎵瑰彿 + /// </summary> + [SugarColumn(ColumnName = "LOT")] + public string? Lot { get; set; } + + /// <summary> + /// 浠撳簱 + /// </summary> + [SugarColumn(ColumnName = "DEPOT_CODE")] + public string? DepotCode { get; set; } + + /// <summary> + /// 鍙戞枡鏂瑰紡 + /// </summary> + [SugarColumn(ColumnName = "ISSUE_TYPE")] + public string? IssueType { get; set; } + + /// <summary> + /// 渚涘簲绫诲瀷(C閲囪喘 Z鑷埗 W濮斿) + /// </summary> + [SugarColumn(ColumnName = "SUPPLY_TYPE")] + public string? SupplyType { get; set; } + + /// <summary> + /// 鍒嗗瓙 + /// </summary> + [SugarColumn(ColumnName = "NUMERATOR")] + public string? Numerator { get; set; } + + /// <summary> + /// 鍒嗘瘝 + /// </summary> + [SugarColumn(ColumnName = "DENOMINATOR")] + public string? Denominator { get; set; } + + /// <summary> + /// 鍥哄畾鎹熻�� + /// </summary> + [SugarColumn(ColumnName = "SCRAPQTY")] + public string? Scrapqty { get; set; } + + /// <summary> + /// 鍙樺姩鎹熻�楃巼 + /// </summary> + [SugarColumn(ColumnName = "SCRAPRATE")] + public string? Scraprate { get; set; } + + // /// <summary> + // /// 瀹㈡埛璐у彿 + // /// </summary> + // [SugarColumn(ColumnName = "CUSTOMER_ITEM_NUMBER")] + // public string? CustomerItemNumber { get; set; } + + // /// <summary> + // /// 鍖呰鍗曞彿 + // /// </summary> + // [SugarColumn(ColumnName = "PACKING_LIST_NUMBER")] + // public string? PackingListNumber { get; set; } + + // /// <summary> + // /// 涓讳骇鍝� + // /// </summary> + // [SugarColumn(ColumnName = "MAIN_PRODUCT")] + // public string? MainProduct { get; set; } + + // /// <summary> + // /// 涓讳骇鍝佹暟閲� + // /// </summary> + // [SugarColumn(ColumnName = "MAIN_PRODUCT_QTY")] + // public int? MainProductQty { get; set; } + + // /// <summary> + // /// 鐖堕」鐗╂枡鍚嶇О + // /// </summary> + // [SugarColumn(ColumnName = "PARENT_ITEM_NAME")] + // public string? ParentItemName { get; set; } + + // /// <summary> + // /// 閿�鍞鍗� + // /// </summary> + // [SugarColumn(ColumnName = "FSALEORDERNO")] + // public string? Fsaleorderno { get; set; } + + /// <summary> + /// 璐т富绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "FOWNERTYPEID")] + public string? Fownertypeid { get; set; } + + /// <summary> + /// 椤规鍙� + /// </summary> + [SugarColumn(ColumnName = "FREPLACEGROUP")] + public string? Freplacegroup { get; set; } + + /// <summary> + /// 閿�鍞鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "ERP_XSDDH")] + public string? ErpXsddh { get; set; } + + /// <summary> + /// 瀛愰」绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "FMATERIALTYPE")] + public string? Fmaterialtype { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "FUNITID")] + public string? Funitid { get; set; } +} \ No newline at end of file diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs new file mode 100644 index 0000000..a39614e --- /dev/null +++ b/MES.Service/service/WomcaaManager.cs @@ -0,0 +1,206 @@ +锘縰sing MES.Service.DB; +using MES.Service.Dto.webApi; +using MES.Service.Modes; +using MES.Service.util; +using SqlSugar; + +namespace MES.Service.service; + +public class WomcaaManager : Repository<Womcaa> +{ + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 WomcaaManager.cs + + private readonly WomcabManager _womcabManager = new(); + + public bool SaveList(List<ErpWOM> rohIns) + { + var result = rohIns.Select(Save).ToList(); + return result.All(b => b); + } + + public bool Save(ErpWOM wom) + { + var womErpCaa = wom.ErpCaa; + var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa); + var mesWomcabs = + MapErpCABtoWomcab(wom.ErpCabs); + + return UseTransaction(db => + { + switch (womErpCaa.Type) + { + case "3": + return UpdateData(db, mesWomcaa, mesWomcabs) ? 1 : 0; + case "2": + case "4": + //kyy 2024-09-13 鍙樻洿 + case "5": + return SaveOrUpdateData(db, mesWomcaa, mesWomcabs) + ? 1 + : 0; + default: + throw new NotImplementedException( + $"type娌℃湁{womErpCaa.Type}杩欎釜绫诲瀷"); + } + }) > 0; + } + + private bool SaveOrUpdateData(SqlSugarScope db, Womcaa mesWomcaa, + List<Womcab> mesWomcabs) + { + if (StringUtil.CheckGuid(mesWomcaa.Guid)) + base.DeleteById(mesWomcaa.Guid); + + + if (mesWomcabs.Count > 0) + db.Deleteable<Womcab>() + .Where(s => s.Pid == mesWomcaa.Erpid).ExecuteCommand(); + + var orUpdate = base.Insert(mesWomcaa); + var baOrUpdate = _womcabManager.InsertRange(mesWomcabs); + if (orUpdate && baOrUpdate) return true; + throw new NotImplementedException("鎻掑叆鎴栨洿鏂板け璐�"); + } + + private bool UpdateData(SqlSugarScope db, Womcaa mesWomcaa, + List<Womcab> mesWomcabs) + { + var decimals = mesWomcabs.Select(s => s.Guid).ToArray(); + var update = base.DeleteById(mesWomcaa.Guid); + var insertOrUpdate = db + .Deleteable<Womcab>().In(decimals) + .ExecuteCommand() > 0; + + if (update && insertOrUpdate) return true; + throw new NotImplementedException("鏇存柊澶辫触"); + } + + private Womcaa MapErpCAAtoWomcaa(ErpCAA dto) + { + var entity = new Womcaa + { + Erpid = Convert.ToInt32(dto.Id), /// ERPID + Caa001 = dto.FBillNo, /// 鍗曞彿 + Caa021 = dto.FWorkShopID, /// 宸ヤ綔杞﹂棿 + RoutingId = dto.FRoutingId, /// 宸ヨ壓璺嚎 + WorkShopId = dto.FREMWorkShopId, /// 浜х嚎 + DepotCode = dto.FStockId, /// 浠撳簱 + CreateDate = dto.FDate, /// 鍗曟嵁鏃ユ湡 + Caa004 = dto.FBILLTYPE, /// 鍗曟嵁绫诲瀷 + Caa023 = dto.FStatus, /// 鐘舵�� 瀹屽伐锛屾湭瀹屽伐 + Caa006 = dto.FMaterialId, /// 浜у搧缂栫爜 + Caa009 = dto.FUnitId, /// 鍗曚綅 + Caa012 = !string.IsNullOrEmpty(dto.FQty) + ? Convert.ToInt32(dto.FQty) + : null, /// 鏁伴噺 + WorkGroupId = dto.FWorkGroupId, /// 璁″垝缁� + PlanId = dto.FPlannerID, /// 璁″垝鍛� + Caa010 = dto.FPlanStartDate, /// 棰勮寮�宸ユ椂闂� + Caa011 = dto.FPlanFinishDate, /// 棰勮瀹屽伐鏃堕棿 + Caa005 = dto.FConveyDate, /// 寮�鍗曟棩鏈� + StockInlimith = dto.FStockInLimitH, /// 鍏ュ簱涓婇檺 + StockInlimitl = dto.FStockInLimitL, /// 鍏ュ簱涓嬮檺 + Mtono = dto.FMTONO, /// 璁″垝璺熻釜鍙� + Lot = dto.FLot, /// 鎵瑰彿 + Caa013 = dto.FBomId, /// BOM鐗堟 + + CreateType = dto.FCreateType, /// 鐢熸垚鏂瑰紡 + SrcBillType = dto.FSrcBillType, /// 婧愬崟绫诲瀷 + SrcBillNo = dto.FSrcBillNo, /// 婧愬崟缂栧彿 + SrcBillentryseq = dto.FSrcBillEntrySeq, /// 婧愬崟鍒嗗綍琛屽彿 + SaleOrderNo = dto.FSaleOrderNo, /// 闇�姹傚崟鎹彿 + SaleOrderEntryseq = dto.FSaleOrderEntrySeq, /// 闇�姹傚崟鎹鍙� + ForceCloserid = dto.FForceCloserId, /// 缁撴浜� + CloseType = dto.FCloseType, /// 缁撴绫诲瀷 + SrcSplitBillno = dto.FSrcSplitBillNo, /// 婧愭媶鍒嗚鍗曠紪鍙� + Caa016 = dto.FDESCRIPTION, /// 澶囨敞 + + Caa018 = !string.IsNullOrEmpty(dto.PLAN_ID) + ? Convert.ToInt32(dto.PLAN_ID) + : null, /// ERP婧愬崟ID + Caa019 = !string.IsNullOrEmpty(dto.PLAN_SEQ) + ? Convert.ToInt32(dto.PLAN_SEQ) + : null, /// ERP婧愬崟琛屽彿 + Caa020 = dto.PLAN_NUM, /// ERP婧愬崟鍗曞彿(浠诲姟鍗曞彿) + //Caa015 = dto.F_UNW_Text_xsddh, /// 閿�鍞鍗曞彿 + ErpSczz = Convert.ToInt32(dto.FPrdOrgId), /// 鐢熶骇缁勭粐ID + ErpWtzz = Convert.ToInt32(dto.FEnTrustOrgId), /// 濮旀墭缁勭粐ID + //Caa015Head = dto.F_XIFG_Integer_tzk, /// 閿�鍞鍗曡鍙� + //MainProductNo = dto.F_XIFG_Base_w5c, /// 涓讳骇鍝佺紪鐮� + // MainProductQty = + // Convert.ToInt32(dto.F_XIFG_Qty_yrr), /// 涓讳骇鍝佺敓浜ф暟閲� + // CustomerItemNumber = dto.F_XIFG_Text_fg2, /// 瀹㈡埛璐у彿 + // PackingListNumber = dto.F_XIFG_Text_yrr, /// 鍖呰鍗曞彿 + // CustomerName = dto.F_XIFG_Text_qtr1, /// 瀹㈡埛鍚嶇О + // Customer = dto.F_XIFG_Base_83g1, /// 瀹㈡埛 + Caa0111 = dto.FPlanFinishDate /// 棰勮瀹屽伐鏃堕棿澶囦唤 + }; + + var single = base.GetSingle(it => it.Erpid == entity.Erpid); + if (single != null) entity.Guid = single.Guid; + + return entity; + } + + private List<Womcab> MapErpCABtoWomcab(List<ErpCAB> dtoList) + { + var womcabList = new List<Womcab>(); + + foreach (var dto in dtoList) + { + var womcab = new Womcab + { + Erpid = Convert.ToInt32(dto.FENTRYID), /// ERPID + Cab001 = dto.FBillNo, /// 宸ュ崟鍗曞彿 + Cab002 = dto.FSeq, /// 搴忓彿 + Cab003 = dto.FMaterialID, /// 鏉愭枡缂栫爜 + Cab006 = !string.IsNullOrEmpty(dto.FNeedQty) + ? Convert.ToInt32(dto.FNeedQty) + : null, /// 闇�棰嗙敤閲� + Cab007 = !string.IsNullOrEmpty(dto.FPickedQty) + ? Convert.ToInt32(dto.FPickedQty) + : null, /// 宸查鐢ㄩ噺 + PositionNo = dto.FPositionNO, /// 浣嶇疆鍙� + SupplyOrganization = dto.FChildSupplyOrgId, /// 渚涘簲缁勭粐 + IssuingOrganization = dto.FSUPPLYORG, /// 鍙戞枡缁勭粐 + OwnerId = dto.FOwnerID, /// 璐т富 + Mtono = dto.FMTONO, /// 璁″垝璺熻釜鍙� + Lot = dto.FLot, /// 鎵瑰彿 + DepotCode = dto.FStockID, /// 浠撳簱 + IssueType = dto.FIssueType, /// 鍙戞枡鏂瑰紡 + // Cab008 = dto.F_UNW_Text_tpgy, /// 宸ヨ壓 + Cab009 = dto.FUnitID, /// 鍗曚綅 + SupplyType = dto.FSupplyType, /// 渚涘簲绫诲瀷(C閲囪喘 Z鑷埗 W濮斿) + Cab012 = !string.IsNullOrEmpty(dto.FStdQty) + ? Convert.ToInt32(dto.FStdQty) + : null, /// 缁勬垚鐢ㄩ噺 + Cab014 = dto.FIsKeyItem, /// 鏄惁鏇挎枡 + Numerator = dto.FNumerator, /// 鍒嗗瓙 + Denominator = dto.FDenominator, /// 鍒嗘瘝 + Pid = Convert.ToInt32(dto.PID), /// ERP澶碔D + Eid = Convert.ToInt32(dto.Id), /// ERP ID + + Scrapqty = dto.FFixScrapQty, /// 鍥哄畾鎹熻�� + Scraprate = dto.FScrapRate, /// 鍙樺姩鎹熻�楃巼 + // Fsaleorderno = dto.FSALEORDERNO, /// 閿�鍞鍗� + // + // CustomerItemNumber = dto.F_XIFG_Text_re5, /// 瀹㈡埛璐у彿 + // PackingListNumber = dto.F_XIFG_Text_apv, /// 鍖呰鍗曞彿 + // MainProduct = dto.F_XIFG_Base_re5, /// 涓讳骇鍝� + // MainProductQty = + // Convert.ToInt32(dto.F_XIFG_Qty_apv), /// 涓讳骇鍝佹暟閲� + // ParentItemName = dto.F_XIFG_Base_apv /// 鐖堕」鐗╂枡鍚嶇О + }; + + var entity = Db.Queryable<Womcab>() + .Where(s => s.Erpid == womcab.Erpid).Single(); + if (entity != null) womcab.Guid = entity.Guid; + + womcabList.Add(womcab); + } + + return womcabList; + } +} \ No newline at end of file diff --git a/MES.Service/service/WomcabManager.cs b/MES.Service/service/WomcabManager.cs new file mode 100644 index 0000000..4260f5d --- /dev/null +++ b/MES.Service/service/WomcabManager.cs @@ -0,0 +1,78 @@ +锘縰sing SqlSugar; +using System; +using System.Collections.Generic; +using MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service +{ +public class WomcabManager : Repository<Womcab> +{ + + //褰撳墠绫诲凡缁忕户鎵夸簡 Repository 澧炪�佸垹銆佹煡銆佹敼鐨勬柟娉� + + //杩欓噷闈㈠啓鐨勪唬鐮佷笉浼氱粰瑕嗙洊,濡傛灉瑕侀噸鏂扮敓鎴愯鍒犻櫎 WomcabManager.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(), OrderByType.Asc);// 鍒嗛〉鏌ヨ鍔犳帓搴� + Console.Write(p.TotalCount);//杩斿洖鎬绘暟 + + List<IConditionalModel> conModels = new List<IConditionalModel>(); //缁勮鏉′欢鏌ヨ浣滀负鏉′欢瀹炵幇 鍒嗛〉鏌ヨ鍔犳帓搴� + conModels.Add(new ConditionalModel() { FieldName= typeof(Womcab).GetProperties()[0].Name, ConditionalType = ConditionalType.Equal, FieldValue = "1" });//id=1 + var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom(), OrderByType.Asc); + + base.AsQueryable().Where(x => 1 == 1).ToList();//鏀寔浜嗚浆鎹㈡垚queryable,鎴戜滑鍙互鐢╭ueryable瀹炵幇澶嶆潅鍔熻兘 + + + + /*********鎻掑叆*********/ + var insertData = new Womcab() { };//娴嬭瘯鍙傛暟 + var insertArray = new Womcab[] { insertData }; + base.Insert(insertData);//鎻掑叆 + base.InsertRange(insertArray);//鎵归噺鎻掑叆 + var id = base.InsertReturnIdentity(insertData);//鎻掑叆杩斿洖鑷鍒� + base.AsInsertable(insertData).ExecuteCommand();//鎴戜滑鍙互杞垚 Insertable瀹炵幇澶嶆潅鎻掑叆 + + + + /*********鏇存柊*********/ + var updateData = new Womcab() { };//娴嬭瘯鍙傛暟 + var updateArray = new Womcab[] { updateData };//娴嬭瘯鍙傛暟 + base.Update(updateData);//鏍规嵁瀹炰綋鏇存柊 + base.UpdateRange(updateArray);//鎵归噺鏇存柊 + //base.Update(it => new Womcab() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// 鍙洿鏂癈lassName鍒楀拰CreateTime鍒楋紝鍏跺畠鍒椾笉鏇存柊锛屾潯浠秈d=1 + base.AsUpdateable(updateData).ExecuteCommand(); //杞垚Updateable鍙互瀹炵幇澶嶆潅鐨勬彃鍏� + + + + /*********鍒犻櫎*********/ + var deldata = new Womcab() { };//娴嬭瘯鍙傛暟 + base.Delete(deldata);//鏍规嵁瀹炰綋鍒犻櫎 + base.DeleteById(1);//鏍规嵁涓婚敭鍒犻櫎 + base.DeleteById(new int[] { 1,2});//鏍规嵁涓婚敭鏁扮粍鍒犻櫎 + base.Delete(it=>1==2);//鏍规嵁鏉′欢鍒犻櫎 + base.AsDeleteable().Where(it=>1==2).ExecuteCommand();//杞垚Deleteable瀹炵幇澶嶆潅鐨勬搷浣� + } + #endregion + + + } +} \ No newline at end of file diff --git a/MES.Service/util/StringUtil.cs b/MES.Service/util/StringUtil.cs index 5002ca3..51cf0aa 100644 --- a/MES.Service/util/StringUtil.cs +++ b/MES.Service/util/StringUtil.cs @@ -19,4 +19,11 @@ { return !string.IsNullOrEmpty(value); } + + public static bool CheckGuid(Guid? guid) + { + if (guid == Guid.Empty) + return false; + return guid != null; + } } \ No newline at end of file diff --git a/MESApplication/Controllers/WomcaaController.cs b/MESApplication/Controllers/WomcaaController.cs new file mode 100644 index 0000000..579cf20 --- /dev/null +++ b/MESApplication/Controllers/WomcaaController.cs @@ -0,0 +1,260 @@ +锘縰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 Newtonsoft.Json; + +namespace MESApplication.Controllers; + +[ApiController] +[Route("api/[controller]")] +public class WomcaaController : ControllerBase +{ + private readonly MessageCenterManager _manager = new(); + private readonly WomcaaManager m = new(); + + private readonly string METHOD = "POST"; + + private readonly string TableName = "WOMCAA"; + + private readonly string URL = "http://localhost:10054/api/Womcaa/"; + + // + [HttpPost("Save")] + public ResponseResult Save(ErpWOM 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"; + 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<ErpWOM> 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] Womcaa 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] Womcaa 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] Womcaa 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