From da3b2cfb3a34a7b1f83dcd9fc762b1d2459547dc Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期四, 26 六月 2025 20:47:11 +0800 Subject: [PATCH] 添加退货申请单接口 --- StandardPda/MES.Service/Modes/MesInvItemArnDetail.cs | 291 +++++++++ StandardPda/MES.Service/service/Warehouse/MesInvItemInsManager.cs | 8 StandardPda/MES.Service/Modes/DeliveryDetail.cs | 230 +++++++ StandardPda/MES.Service/Modes/MesInvItemIns.cs | 4 StandardPda/MES.Service/service/Warehouse/MesInvItemArnManager.cs | 8 StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs | 369 ++++++++++++ StandardPda/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs | 8 StandardPda/MES.Service/Dto/service/ItemOutList.cs | 13 StandardPda/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs | 8 StandardPda/MES.Service/Modes/MesInvItemOutItems.cs | 259 ++++++++ StandardPda/MES.Service/Dto/service/ItemOut.cs | 8 StandardPda/MESApplication/MESApplication.csproj | 8 StandardPda/MES.Service/Modes/MesInvItemOuts.cs | 305 ++++++++++ StandardPda/MES.Service/Dto/service/ItemOutFrom.cs | 19 StandardPda/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs | 213 +++++++ 15 files changed, 1,745 insertions(+), 6 deletions(-) diff --git a/StandardPda/MES.Service/Dto/service/ItemOut.cs b/StandardPda/MES.Service/Dto/service/ItemOut.cs new file mode 100644 index 0000000..3aa14ed --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/ItemOut.cs @@ -0,0 +1,8 @@ +锘縩amespace MES.Service.Dto.service; + +public class ItemOut +{ + public ItemOutFrom from { get; set; } + + public List<ItemOutList> items { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Dto/service/ItemOutFrom.cs b/StandardPda/MES.Service/Dto/service/ItemOutFrom.cs new file mode 100644 index 0000000..da121d6 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/ItemOutFrom.cs @@ -0,0 +1,19 @@ +锘縩amespace MES.Service.Dto.service; + +public class ItemOutFrom +{ + public string Type { get; set; } + + public string? CreateBy { get; set; } + public string? FMRMODE { get; set; } + public string? RtnNo{ get; set; } + + public string DepotId { get; set; } + + public string SupperId { get; set; } + + //public string? AsnNo { get; set; } + public string? MesNo { get; set; } + + public string? SqNo { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Dto/service/ItemOutList.cs b/StandardPda/MES.Service/Dto/service/ItemOutList.cs new file mode 100644 index 0000000..f0d86f8 --- /dev/null +++ b/StandardPda/MES.Service/Dto/service/ItemOutList.cs @@ -0,0 +1,13 @@ +锘縩amespace MES.Service.Dto.service; + +public class ItemOutList +{ + public string SrcDocNo { get; set; } + public string SrcDocLineNo { get; set; } + public string AsnLineNo { get; set; } + public string itemId { get; set; } + public string qty { get; set; } + public string SqNo { get; set; } + public string MesNo { get; set; } + //public string? AsnNo { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/DeliveryDetail.cs b/StandardPda/MES.Service/Modes/DeliveryDetail.cs new file mode 100644 index 0000000..7ff69e7 --- /dev/null +++ b/StandardPda/MES.Service/Modes/DeliveryDetail.cs @@ -0,0 +1,230 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using SqlSugar; + +namespace MES.Service.Modes +{ + /// <summary> + /// + ///</summary> + [SugarTable("DELIVERY_DETAIL")] + public class DeliveryDetail + { + /// <summary> + /// SEQ_DELIVERY_DETAIL + ///</summary> + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] + public decimal Id { get; set; } + + /// <summary> + /// DELIVERY_MAIN鐨刬d + ///</summary> + [SugarColumn(ColumnName = "PID")] + public decimal? Pid { get; set; } + + /// <summary> + /// 閫佽揣鍗曞彿锛堜富涓氬姟鏍囪瘑锛� + ///</summary> + [SugarColumn(ColumnName = "ZZASN")] + public string? Zzasn { get; set; } + + /// <summary> + /// 閫佽揣鍗曡鍙� + ///</summary> + [SugarColumn(ColumnName = "ZZITEM_ID")] + public string? ZzitemId { get; set; } + + /// <summary> + /// 閲囪喘鍑瘉鍙凤紙PO鍗曞彿锛� + ///</summary> + [SugarColumn(ColumnName = "ZZPO_NO")] + public string? ZzpoNo { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟琛岄」鐩� + ///</summary> + [SugarColumn(ColumnName = "ZZPO_ITEM_ID")] + public string? ZzpoItemId { get; set; } + + /// <summary> + /// 灏忕背閫�鎹㈣揣鍗曞彿 + ///</summary> + [SugarColumn(ColumnName = "ZZREQNR")] + public string? Zzreqnr { get; set; } + + /// <summary> + /// 閫�鎹㈣揣鐢宠鍗曡鍙� + ///</summary> + [SugarColumn(ColumnName = "ZZREQLN")] + public string? Zzreqln { get; set; } + + /// <summary> + /// 灏忕背鍐呴儴鐗╂枡缂栫爜 + ///</summary> + [SugarColumn(ColumnName = "ZZPRODUCT_ID")] + public string? ZzproductId { get; set; } + + /// <summary> + /// 宸ュ巶瀹為檯浣跨敤鏂欏彿 + ///</summary> + [SugarColumn(ColumnName = "ZZVPRODUCT_ID")] + public string? ZzvproductId { get; set; } + + /// <summary> + /// 搴撳瓨鍗曚綅缂栫爜 + ///</summary> + [SugarColumn(ColumnName = "ZZSKU")] + public string? Zzsku { get; set; } + + /// <summary> + /// 鐗╂枡鎻忚堪锛堝锛氭墜鏈哄睆骞曠粍浠讹級 + ///</summary> + [SugarColumn(ColumnName = "MAKTX")] + public string? Maktx { get; set; } + + /// <summary> + /// 浜у搧鍨嬪彿锛堢ず渚嬶細Xiaomi 14 Ultra锛� + ///</summary> + [SugarColumn(ColumnName = "MODELNUMBER")] + public string? Modelnumber { get; set; } + + /// <summary> + /// 璁㈠崟闇�姹傛暟閲� + ///</summary> + [SugarColumn(ColumnName = "ZZQUANTITY")] + public string? Zzquantity { get; set; } + + /// <summary> + /// 璁¢噺鍗曚綅锛堝锛氫釜/绠憋級 + ///</summary> + [SugarColumn(ColumnName = "ZZUNIT")] + public string? Zzunit { get; set; } + + /// <summary> + /// 鏈畬鎴愭暟閲忥紙寰呰ˉ璐ч噺锛� + ///</summary> + [SugarColumn(ColumnName = "ZZOPEN_QTY")] + public string? ZzopenQty { get; set; } + + /// <summary> + /// 瀹為檯鏀惰揣鏁伴噺 + ///</summary> + [SugarColumn(ColumnName = "ACT_GR_QTY")] + public string? ActGrQty { get; set; } + + /// <summary> + /// Shipment鎵规鏁伴噺 + ///</summary> + [SugarColumn(ColumnName = "SHIPMENTID_NUM")] + public string? ShipmentidNum { get; set; } + + /// <summary> + /// 鍝佺墝鍚嶇О锛堝锛歑iaomi锛� + ///</summary> + [SugarColumn(ColumnName = "BRAND")] + public string? Brand { get; set; } + + /// <summary> + /// 鐢熶骇鍦帮紙绀轰緥锛氫腑鍥芥繁鍦筹級 + ///</summary> + [SugarColumn(ColumnName = "PLACE")] + public string? Place { get; set; } + + /// <summary> + /// 鍝佺墝绫诲瀷锛堣嚜鏈�/ODM/OEM锛� + ///</summary> + [SugarColumn(ColumnName = "BRAND_TYPE")] + public string? BrandType { get; set; } + + /// <summary> + /// 鐗╂祦鎵规鍞竴鏍囪瘑 + ///</summary> + [SugarColumn(ColumnName = "ZSHIPMENT_ID")] + public string? ZshipmentId { get; set; } + + /// <summary> + /// 璇︾粏閰嶉�佸湴鍧�锛堢渷甯傚尯琛楅亾闂ㄧ墝鍙凤級 + ///</summary> + [SugarColumn(ColumnName = "ADDRESS_DETAIL")] + public string? AddressDetail { get; set; } + + /// <summary> + /// 璋冨嚭椤圭洰鍙凤紙璋冩嫧鏉ユ簮鏍囪瘑锛� + ///</summary> + [SugarColumn(ColumnName = "BEDNR")] + public string? Bednr { get; set; } + + /// <summary> + /// 璋冨嚭浠撶被鍨嬶紙鎴愬搧浠�/鍘熸枡浠擄級 + ///</summary> + [SugarColumn(ColumnName = "WARE_TYPE_FROM")] + public string? WareTypeFrom { get; set; } + + /// <summary> + /// 璋冨叆浠撶被鍨� + ///</summary> + [SugarColumn(ColumnName = "WARE_TYPE_TO")] + public string? WareTypeTo { get; set; } + + /// <summary> + /// 鐗╂帶璋冩嫧鍗曞彿 + ///</summary> + [SugarColumn(ColumnName = "XMSTO_NO")] + public string? XmstoNo { get; set; } + + /// <summary> + /// 璋冩嫧鍗曡椤� + ///</summary> + [SugarColumn(ColumnName = "XMSTO_ITEM_NO")] + public string? XmstoItemNo { get; set; } + + /// <summary> + /// 鏈�鍚庝慨鏀规椂闂达紙鏍煎紡锛歽yyyMMddHHmmss锛� + ///</summary> + [SugarColumn(ColumnName = "CHANGED_AT")] + public string? ChangedAt { get; set; } + + /// <summary> + /// 鏁版嵁鍒涘缓鏃堕棿锛堟牸寮忥細yyyyMMddHHmmss锛� + ///</summary> + [SugarColumn(ColumnName = "CREATED_AT")] + public string? CreatedAt { get; set; } + + /// <summary> + /// 鍏宠仈椤圭洰鏈哄瀷锛堝鍊奸�楀彿鍒嗛殧锛� + ///</summary> + [SugarColumn(ColumnName = "APP_MODELS")] + public string? AppModels { get; set; } + + /// <summary> + /// 澶栭儴绯荤粺鍑瘉鍙凤紙濡侲RP鍗曞彿锛� + ///</summary> + [SugarColumn(ColumnName = "EXT_DOC_NO")] + public string? ExtDocNo { get; set; } + + /// <summary> + /// 澶栭儴鍑瘉琛岄」鐩� + ///</summary> + [SugarColumn(ColumnName = "EXT_DOC_ITEM")] + public string? ExtDocItem { get; set; } + + /// <summary> + /// 娴峰叧HS缂栫爜锛堣繘鍑哄彛鎶ュ叧鐢級 + ///</summary> + [SugarColumn(ColumnName = "BATCH_ID")] + public string? BatchId { get; set; } + + /// <summary> + /// 浼樺厛閲囪喘鏍囪瘑锛堢揣鎬ュ鏂欐爣璁帮級 + ///</summary> + [SugarColumn(ColumnName = "BATCH_ROW")] + public string? BatchRow { get; set; } + + /// <summary> + /// 涓插彿绠$悊鏍囪瘑锛圷/N锛屾帶鍒跺簭鍒楀彿閲囬泦锛� + ///</summary> + [SugarColumn(ColumnName = "IS_IDENTIFICATION")] + public string? IsIdentification { get; set; } + } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesInvItemArnDetail.cs b/StandardPda/MES.Service/Modes/MesInvItemArnDetail.cs new file mode 100644 index 0000000..984683f --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesInvItemArnDetail.cs @@ -0,0 +1,291 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// </summary> +[SugarTable("MES_INV_ITEM_ARN_DETAIL")] +public class MesInvItemArnDetail +{ + /// <summary> + /// SEQ_INV_ID + /// </summary> + [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] + public decimal Id { get; set; } + + /// <summary> + /// 涓昏〃ID + /// </summary> + [SugarColumn(ColumnName = "MID")] + public decimal? Mid { get; set; } + + /// <summary> + /// 閲囪喘鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "EBELN")] + public string? Ebeln { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "EBELN_LINE")] + public decimal? EbelnLine { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "EBELN_QTY")] + public decimal? EbelnQty { get; set; } + + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "ITEM_NO")] + public string? ItemNo { get; set; } + + /// <summary> + /// 鏀惰揣鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "QUANTITY")] + public decimal? Quantity { get; set; } + + /// <summary> + /// 鍒涘缓浜� + /// </summary> + [SugarColumn(ColumnName = "CREATE_BY")] + public string? CreateBy { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "CREATE_DATE")] + public DateTime? CreateDate { get; set; } + + /// <summary> + /// 鏈�鍚庢洿鏂颁汉 + /// </summary> + [SugarColumn(ColumnName = "LASTUPDATE_BY")] + public string? LastupdateBy { get; set; } + + /// <summary> + /// 鏈�鍚庢洿鏂版椂闂� + /// </summary> + [SugarColumn(ColumnName = "LASTUPDATE_DATE")] + public DateTime? LastupdateDate { get; set; } + + /// <summary> + /// 鍒嗗巶缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "FACTORY")] + public string? Factory { get; set; } + + /// <summary> + /// 鍏徃浠g爜 + /// </summary> + [SugarColumn(ColumnName = "COMPANY")] + public string? Company { get; set; } + + /// <summary> + /// 閲囪喘鍗旾D + /// </summary> + [SugarColumn(ColumnName = "EBELN_K3ID")] + public string? EbelnK3id { get; set; } + + /// <summary> + /// 閲囪喘鍗曡ID + /// </summary> + [SugarColumn(ColumnName = "LINE_K3ID")] + public string? LineK3id { get; set; } + + /// <summary> + /// 鏈搴旀敹鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "SUB_QTY")] + public decimal? SubQty { get; set; } + + /// <summary> + /// 浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "MARGIN_QTY")] + public decimal? MarginQty { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "WORK_NO")] + public string? WorkNo { get; set; } + + /// <summary> + /// 鎬ユ枡鏍囪瘑 + /// </summary> + [SugarColumn(ColumnName = "URGENT_FLAG")] + public decimal? UrgentFlag { get; set; } + + /// <summary> + /// 澶囨敞 + /// </summary> + [SugarColumn(ColumnName = "MEMO")] + public string? Memo { get; set; } + + /// <summary> + /// 妫�楠岀粨鏋� + /// </summary> + [SugarColumn(ColumnName = "CHECK_RES")] + public string? CheckRes { get; set; } + + /// <summary> + /// 妫�楠岀姸鎬� 锛堝緟妫�銆佸垎閫夈�佺壒閲囥�佸凡妫�锛� + /// </summary> + [SugarColumn(ColumnName = "CHECK_STATES")] + public string? CheckStates { get; set; } + + /// <summary> + /// 鏀惰揣浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "QUANTITY_M")] + public decimal? QuantityM { get; set; } + + /// <summary> + /// 鏈搴旀敹浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "SUB_MQTY")] + public decimal? SubMqty { get; set; } + + /// <summary> + /// 妫�楠屾棩鏈� + /// </summary> + [SugarColumn(ColumnName = "CHECK_DATE")] + public DateTime? CheckDate { get; set; } + + /// <summary> + /// 鏄惁妫�楠� + /// </summary> + [SugarColumn(ColumnName = "ISCHECK")] + public short? Ischeck { get; set; } + + /// <summary> + /// 宸叉敹鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "OK_QTY")] + public decimal? OkQty { get; set; } + + /// <summary> + /// 宸叉敹浣欓噺 + /// </summary> + [SugarColumn(ColumnName = "OK_MQTY")] + public decimal? OkMqty { get; set; } + + /// <summary> + /// 浜у搧鍨嬪彿 + /// </summary> + [SugarColumn(ColumnName = "BOARD_STYLE")] + public string? BoardStyle { get; set; } + + /// <summary> + /// 浠诲姟鍗曡鍙� + /// </summary> + [SugarColumn(ColumnName = "WORK_LINE")] + public decimal? WorkLine { get; set; } + + /// <summary> + /// 0銆侀噰璐崟锛�1銆佸澶栧崟 + /// </summary> + [SugarColumn(ColumnName = "F_TYPE")] + public decimal? FType { get; set; } + + /// <summary> + /// 鏄惁鍏ュ簱 + /// </summary> + [SugarColumn(ColumnName = "ISDEPS_IN")] + public short? IsdepsIn { get; set; } + + /// <summary> + /// 鍒拌揣鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "DHA001")] + public string? Dha001 { get; set; } + + /// <summary> + /// 宸插叆搴撴暟閲� + /// </summary> + [SugarColumn(ColumnName = "OK_RKQTY")] + public decimal? OkRkqty { get; set; } + + /// <summary> + /// 鍒拌揣鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "CBILL_NO")] + public string? CbillNo { get; set; } + + /// <summary> + /// 閲囪喘鍏ュ簱鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "CG_RKQTY")] + public decimal? CgRkqty { get; set; } + + /// <summary> + /// 鐗╂枡ID + /// </summary> + [SugarColumn(ColumnName = "ITEM_ID")] + public decimal? ItemId { get; set; } + + /// <summary> + /// 閫�璐ф爣璇� + /// </summary> + [SugarColumn(ColumnName = "RETURN_FLAG")] + public decimal? ReturnFlag { get; set; } + + /// <summary> + /// 閿�鍞鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "SALES_ORDER")] + public string? SalesOrder { get; set; } + + /// <summary> + /// 涓撶敤鐗╂枡鏍囪瘑 + /// </summary> + [SugarColumn(ColumnName = "IS_ZY")] + public decimal? IsZy { get; set; } + + /// <summary> + /// 鍏ュ簱瀹屾垚鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "RK_DATE")] + public DateTime? RkDate { get; set; } + + /// <summary> + /// 璁″垝璺熻釜鍙� + /// </summary> + [SugarColumn(ColumnName = "FMTONO")] + public string? Fmtono { get; set; } + + /// <summary> + /// 渚涘崗鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "DELIVERY_NO")] + public string? DeliveryNo { get; set; } + + /// <summary> + /// 渚涘崗鍒嗗綍鍐呯爜 + /// </summary> + [SugarColumn(ColumnName = "DELIVERY_LINE")] + public decimal? DeliveryLine { get; set; } + + /// <summary> + /// 鎵瑰彿 + /// </summary> + [SugarColumn(ColumnName = "LOT_NO")] + public string? LotNo { get; set; } + + /// <summary> + /// 鏍囪瘑璇ョ墿鏂欐槸鍚﹀凡瀹屾垚閫�琛ユ帹閫佹搷浣滐紝N-鏈帹閫侊紝Y-宸叉帹閫� + /// </summary> + [SugarColumn(ColumnName = "REPLENISHMENT_FLAG")] + public string? ReplenishmentFlag { get; set; } + + /// <summary> + /// 璁″垝琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "PLAN_LINE_NO")] + public string? PlanLineNo { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesInvItemIns.cs b/StandardPda/MES.Service/Modes/MesInvItemIns.cs index f88c333..537e055 100644 --- a/StandardPda/MES.Service/Modes/MesInvItemIns.cs +++ b/StandardPda/MES.Service/Modes/MesInvItemIns.cs @@ -312,8 +312,8 @@ /// <summary> /// 鎶ュ伐浜� /// </summary> - [SugarColumn(ColumnName = "BGR")] - public string Bgr { get; set; } + //[SugarColumn(ColumnName = "BGR")] + //public string Bgr { get; set; } //鍦ㄦ暟鎹簱鏌ヨ鏃跺拷鐣ヨ繖涓瓧娈� [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; } diff --git a/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs b/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs new file mode 100644 index 0000000..66da2f5 --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs @@ -0,0 +1,259 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 鍑哄簱鐢宠鐗╂枡琛� +/// </summary> +[SugarTable("MES_INV_ITEM_OUT_ITEMS")] +public class MesInvItemOutItems +{ + /// <summary> + /// SEQ_ITEM_ID + /// </summary> + [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_OUT_ID", + IsPrimaryKey = true)] + public decimal Id { get; set; } + + /// <summary> + /// 鍑哄簱ID + /// </summary> + [SugarColumn(ColumnName = "ITEM_OUT_ID")] + public decimal? ItemOutId { get; set; } + + /// <summary> + /// 鐗╂枡缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "ITEM_NO")] + public string? ItemNo { get; set; } + + /// <summary> + /// 鐢宠鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "QUANTITY")] + public decimal? Quantity { get; set; } + + /// <summary> + /// 鍒涘缓浜� + /// </summary> + [SugarColumn(ColumnName = "CREATE_BY")] + public string? CreateBy { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "CREATE_DATE")] + public DateTime? CreateDate { get; set; } + + /// <summary> + /// 淇敼浜� + /// </summary> + [SugarColumn(ColumnName = "LASTUPDATE_BY")] + public string? LastupdateBy { get; set; } + + /// <summary> + /// 淇敼鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "LASTUPDATE_DATE")] + public DateTime? LastupdateDate { get; set; } + + /// <summary> + /// 澶囨敞淇℃伅 + /// </summary> + [SugarColumn(ColumnName = "REMARK")] + public string? Remark { get; set; } + + /// <summary> + /// 宸ュ巶 + /// </summary> + [SugarColumn(ColumnName = "FACTORY")] + public string? Factory { get; set; } + + /// <summary> + /// 鍏徃 + /// </summary> + [SugarColumn(ColumnName = "COMPANY")] + public string? Company { get; set; } + + /// <summary> + /// 鎺ㄤ粙浠撳簱 + /// </summary> + [SugarColumn(ColumnName = "DEPOT_CODE")] + public string? DepotCode { get; set; } + + /// <summary> + /// 鎺ㄤ粙搴撲綅 + /// </summary> + [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")] + public string? DepotSectionCode { get; set; } + + /// <summary> + /// </summary> + [SugarColumn(ColumnName = "TASK_NO")] + public string? TaskNo { get; set; } + + /// <summary> + /// 鍒拌揣鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "WORK_NO")] + public string? WorkNo { get; set; } + + /// <summary> + /// 鍒拌揣鍗曡鍙� + /// </summary> + [SugarColumn(ColumnName = "WORK_LINE")] + public decimal? WorkLine { get; set; } + + /// <summary> + /// ERP 涓昏〃ID + /// </summary> + [SugarColumn(ColumnName = "ERP_ID")] + public decimal? ErpId { get; set; } + + /// <summary> + /// ERP 浠庤〃ID + /// </summary> + [SugarColumn(ColumnName = "ERP_AUTOID")] + public decimal? ErpAutoid { get; set; } + + /// <summary> + /// ERP_鏂欏彿 + /// </summary> + [SugarColumn(ColumnName = "ERP_ITEM_NO")] + public string? ErpItemNo { get; set; } + + /// <summary> + /// 棰滆壊 + /// </summary> + [SugarColumn(ColumnName = "COLOR_NAME")] + public string? ColorName { get; set; } + + /// <summary> + /// 鏈�鏂颁笅杞芥洿鏂版爣璇� + /// </summary> + [SugarColumn(ColumnName = "UPDATE_FLG")] + public decimal? UpdateFlg { get; set; } + + /// <summary> + /// 閲囪喘鍗旾D + /// </summary> + [SugarColumn(ColumnName = "EBELN_K3ID")] + public decimal? EbelnK3id { get; set; } + + /// <summary> + /// 閲囪喘鍗曡ID + /// </summary> + [SugarColumn(ColumnName = "LINE_K3ID")] + public decimal? LineK3id { get; set; } + + /// <summary> + /// 閲囪喘鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "EBELN")] + public string? Ebeln { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "EBELN_LINE")] + public decimal? EbelnLine { get; set; } + + /// <summary> + /// 閲囪喘璁㈠崟鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "EBELN_QTY")] + public decimal? EbelnQty { get; set; } + + /// <summary> + /// 浜у搧缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "BOARD_ITEM")] + public string? BoardItem { get; set; } + + /// <summary> + /// 鏄惁濮斿 + /// </summary> + [SugarColumn(ColumnName = "F_TYPE")] + public decimal? FType { get; set; } + + /// <summary> + /// 鏄惁瀹岀粨 + /// </summary> + [SugarColumn(ColumnName = "STATUS")] + public decimal? Status { get; set; } + + /// <summary> + /// 瀛愬瓙琛↖D + /// </summary> + [SugarColumn(ColumnName = "ALLOCATEID")] + public decimal? Allocateid { get; set; } + + /// <summary> + /// 棰嗘枡缂栧彿/鐢熶骇宸ュ崟 + /// </summary> + [SugarColumn(ColumnName = "PBILL_NO")] + public string? PbillNo { get; set; } + + /// <summary> + /// erp鎺ュ彛杩斿洖 + /// </summary> + [SugarColumn(ColumnName = "ERP_MARK")] + public string? ErpMark { get; set; } + + /// <summary> + /// 鍏ュ簱鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "RK_NO")] + public string? RkNo { get; set; } + + /// <summary> + /// 鍏ュ簱鍗曟暟閲� + /// </summary> + [SugarColumn(ColumnName = "RK_QTY")] + public decimal? RkQty { get; set; } + + /// <summary> + /// 宸叉壂鏁伴噺 + /// </summary> + [SugarColumn(ColumnName = "TL_QTY")] + public decimal? TlQty { get; set; } + + /// <summary> + /// 鐗╂枡ID + /// </summary> + [SugarColumn(ColumnName = "ITEM_ID")] + public decimal? ItemId { get; set; } + + /// <summary> + /// 鐗╂枡鎶曟枡鍗旾D(鍙戞枡鎵爜浣跨敤) + /// </summary> + [SugarColumn(ColumnName = "ITEM_DABID")] + public decimal? ItemDabid { get; set; } + + /// <summary> + /// 鍗曚綅 + /// </summary> + [SugarColumn(ColumnName = "UNIT")] + public string? Unit { get; set; } + + /// <summary> + /// 鍏ュ簱鍗曡鍐呯爜 + /// </summary> + [SugarColumn(ColumnName = "RK_LINE")] + public decimal? RkLine { get; set; } + + /// <summary> + /// 璁″垝璺熻釜鍙� + /// </summary> + [SugarColumn(ColumnName = "FMTONO")] + public string? Fmtono { get; set; } + + // <summary> + /// 鐢宠琛屽彿 + /// </summary> + //[SugarColumn(ColumnName = "SQ_NO")] + //public string? SqNo { get; set; } + + //[SugarColumn(ColumnName = "ZZITEM_ID")] + //public string? ZzitemId{ get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/Modes/MesInvItemOuts.cs b/StandardPda/MES.Service/Modes/MesInvItemOuts.cs new file mode 100644 index 0000000..3540736 --- /dev/null +++ b/StandardPda/MES.Service/Modes/MesInvItemOuts.cs @@ -0,0 +1,305 @@ +锘縰sing SqlSugar; + +namespace MES.Service.Modes; + +/// <summary> +/// 鐗╂枡鍑哄簱琛� +/// </summary> +[SugarTable("MES_INV_ITEM_OUTS")] +public class MesInvItemOuts +{ + /// <summary> + /// SEQ_INV_ID + /// </summary> + [SugarColumn(ColumnName = "ID", + IsPrimaryKey = true)] + public decimal Id { get; set; } + + /// <summary> + /// 鍑哄簱鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "ITEM_OUT_NO")] + public string? ItemOutNo { get; set; } + + /// <summary> + /// 鐢熶骇璁㈠崟 + /// </summary> + [SugarColumn(ColumnName = "TASK_NO")] + public string? TaskNo { get; set; } + + /// <summary> + /// 宸ュ簭鍙� + /// </summary> + [SugarColumn(ColumnName = "PROC_NO")] + public string? ProcNo { get; set; } + + /// <summary> + /// 鐘舵�亅0-鏈鏍�1-瀹℃牳 + /// </summary> + [SugarColumn(ColumnName = "STATUS")] + public decimal? Status { get; set; } + + /// <summary> + /// 鍒涘缓浜� + /// </summary> + [SugarColumn(ColumnName = "CREATE_BY")] + public string? CreateBy { get; set; } + + /// <summary> + /// 鍒涘缓鏃堕棿 + /// </summary> + [SugarColumn(ColumnName = "CREATE_DATE")] + public DateTime? CreateDate { get; set; } + + /// <summary> + /// 鏈�鍚庢洿鏂颁汉 + /// </summary> + [SugarColumn(ColumnName = "LASTUPDATE_BY")] + public string? LastupdateBy { get; set; } + + /// <summary> + /// 鏈�鍚庢洿鏂版椂闂� + /// </summary> + [SugarColumn(ColumnName = "LASTUPDATE_DATE")] + public DateTime? LastupdateDate { get; set; } + + /// <summary> + /// 鍗曟嵁绫诲瀷ID + /// </summary> + [SugarColumn(ColumnName = "BILL_TYPE_ID")] + public decimal? BillTypeId { get; set; } + + /// <summary> + /// 浜嬪姟绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "TRANSACTION_NO")] + public decimal? TransactionNo { get; set; } + + /// <summary> + /// 澶囨敞淇℃伅 + /// </summary> + [SugarColumn(ColumnName = "REMARK")] + public string? Remark { get; set; } + + /// <summary> + /// 鍑哄簱鍘熷洜 + /// </summary> + [SugarColumn(ColumnName = "REASON")] + public string? Reason { get; set; } + + /// <summary> + /// 鐢熶骇绾跨紪鐮� + /// </summary> + [SugarColumn(ColumnName = "PRODUCE_LINE_NO")] + public string? ProduceLineNo { get; set; } + + /// <summary> + /// 瀹℃牳浜� + /// </summary> + [SugarColumn(ColumnName = "CHECK_USER")] + public string? CheckUser { get; set; } + + /// <summary> + /// 瀹℃牳鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "CHECK_DATE")] + public DateTime? CheckDate { get; set; } + + /// <summary> + /// 棰嗘枡鏃ユ湡 + /// </summary> + [SugarColumn(ColumnName = "OUT_DATE")] + public DateTime? OutDate { get; set; } + + /// <summary> + /// 棰嗘枡宸ユ + /// </summary> + [SugarColumn(ColumnName = "MMLIST")] + public string? Mmlist { get; set; } + + /// <summary> + /// 瀛愬簱CODE + /// </summary> + [SugarColumn(ColumnName = "DEPOT_CODE")] + public string? DepotCode { get; set; } + + /// <summary> + /// SAP杩斿洖鍗曟嵁 + /// </summary> + [SugarColumn(ColumnName = "SAPNO")] + public string? Sapno { get; set; } + + /// <summary> + /// 鏄惁宸插洖鍐橲AP + /// </summary> + [SugarColumn(ColumnName = "SAPSTATUS")] + public short? Sapstatus { get; set; } + + /// <summary> + /// SAP杩斿洖骞翠唤 + /// </summary> + [SugarColumn(ColumnName = "SAPYEAR")] + public short? Sapyear { get; set; } + + /// <summary> + /// SAP杩斿洖淇℃伅 + /// </summary> + [SugarColumn(ColumnName = "SAPTEXT")] + public string? Saptext { get; set; } + + /// <summary> + /// 宸ュ簭绾夸綋 + /// </summary> + [SugarColumn(ColumnName = "PROC_LINE_NO")] + public string? ProcLineNo { get; set; } + + /// <summary> + /// 棰嗘枡閮ㄩ棬 + /// </summary> + [SugarColumn(ColumnName = "OUT_PART")] + public string? OutPart { get; set; } + + /// <summary> + /// 0 鐢熶骇,1 濮斿 + /// </summary> + [SugarColumn(ColumnName = "F_TYPE")] + public long? FType { get; set; } + + /// <summary> + /// 褰曞叆鎻愪氦 + /// </summary> + [SugarColumn(ColumnName = "OUT_STATUS")] + public decimal? OutStatus { get; set; } + + /// <summary> + /// 鏄惁鍙 + /// </summary> + [SugarColumn(ColumnName = "IS_VISUAL")] + public decimal? IsVisual { get; set; } + + /// <summary> + /// 鎺ユ敹浜� + /// </summary> + [SugarColumn(ColumnName = "RECEIVER")] + public string? Receiver { get; set; } + + /// <summary> + /// 宸ュ巶缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "FACTORY")] + public string? Factory { get; set; } + + /// <summary> + /// 鍏徃缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "COMPANY")] + public string? Company { get; set; } + + /// <summary> + /// 鍐查攢浜嬪姟绫诲瀷缂栫爜 + /// </summary> + [SugarColumn(ColumnName = "MTRANSCTION_NO")] + public decimal? MtransctionNo { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "WORK_NO")] + public string? WorkNo { get; set; } + + /// <summary> + /// 浠诲姟鍗曞彿琛屽彿 + /// </summary> + [SugarColumn(ColumnName = "WORK_LINE")] + public decimal? WorkLine { get; set; } + + /// <summary> + /// 渚涘簲鍟嗙紪鍙� + /// </summary> + [SugarColumn(ColumnName = "SUPP_NO")] + public string? SuppNo { get; set; } + + /// <summary> + /// 璁㈠崟鍙� + /// </summary> + [SugarColumn(ColumnName = "CMPOCODE")] + public string? Cmpocode { get; set; } + + /// <summary> + /// 鍘熺墿鏂欏嚭璐ф爣璇� + /// </summary> + [SugarColumn(ColumnName = "ITEM_FLAG")] + public decimal? ItemFlag { get; set; } + + /// <summary> + /// 1=鍗婃垚鍝佸嚭璐� + /// </summary> + [SugarColumn(ColumnName = "BOARD_FLAG")] + public decimal? BoardFlag { get; set; } + + /// <summary> + /// 鍑哄簱绫诲埆 + /// </summary> + [SugarColumn(ColumnName = "OUT_TYPE")] + public string? OutType { get; set; } + + /// <summary> + /// 涓氬姟绫诲瀷 + /// </summary> + [SugarColumn(ColumnName = "BUSINESS_TYPE")] + public string? BusinessType { get; set; } + + /// <summary> + /// 浜у搧缂栧彿 + /// </summary> + [SugarColumn(ColumnName = "BOARD_ITEM")] + public string? BoardItem { get; set; } + + /// <summary> + /// 浜ч噺 + /// </summary> + [SugarColumn(ColumnName = "PLAN_QTY")] + public decimal? PlanQty { get; set; } + + /// <summary> + /// 棰嗘枡缂栧彿/濮斿璁㈠崟 + /// </summary> + [SugarColumn(ColumnName = "PBILL_NO")] + public string? PbillNo { get; set; } + + /// <summary> + /// 琛ユ枡鐢宠鍗曞彿 + /// </summary> + [SugarColumn(ColumnName = "BBILL_NO")] + public string? BbillNo { get; set; } + + /// <summary> + /// 鏍囪瘑 /1宸叉帹閫� + /// </summary> + [SugarColumn(ColumnName = "NFLAG")] + public short? Nflag { get; set; } + + /// <summary> + /// 閫�鏂欐柟寮� + /// </summary> + [SugarColumn(ColumnName = "FMRMODE")] + public string? Fmrmode { get; set; } + + /// <summary> + /// erp杩斿洖淇℃伅 + /// </summary> + [SugarColumn(ColumnName = "MSG")] + public string? Msg { get; set; } + + /// <summary> + /// 鐘舵�� + /// </summary> + [SugarColumn(ColumnName = "STATES")] + public string? States { get; set; } + + /// <summary> + /// 缁勭粐ID + /// </summary> + [SugarColumn(ColumnName = "ORGANIZEID")] + public string? Organizeid { get; set; } +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs new file mode 100644 index 0000000..c094127 --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemArnDetailManager.cs @@ -0,0 +1,8 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service.Warehouse; + +public class MesInvItemArnDetailManager : Repository<MesInvItemArnDetail> +{ +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemArnManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemArnManager.cs new file mode 100644 index 0000000..d7a41fe --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemArnManager.cs @@ -0,0 +1,8 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service.Warehouse; + +public class MesInvItemArnManager : Repository<MesInvItemArn> +{ +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemInsManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemInsManager.cs new file mode 100644 index 0000000..18ed8a4 --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemInsManager.cs @@ -0,0 +1,8 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service.Warehouse; + +public class MesInvItemInsManager : Repository<MesInvItemIns> +{ +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs new file mode 100644 index 0000000..19cb9ef --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutItemsManager.cs @@ -0,0 +1,8 @@ +锘縰sing MES.Service.DB; +using MES.Service.Modes; + +namespace MES.Service.service.Warehouse; + +public class MesInvItemOutItemsManager : Repository<MesInvItemOutItems> +{ +} \ No newline at end of file diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs new file mode 100644 index 0000000..790677b --- /dev/null +++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs @@ -0,0 +1,369 @@ +锘縰sing MES.Service.DB; +using MES.Service.Dto.service; +using MES.Service.Modes; + +namespace MES.Service.service.Warehouse; + +public class MesInvItemOutsManager : Repository<MesInvItemOuts> +{ + private readonly int BILL_TYPE_ID = 200; + private readonly int TRANSACTION_NO = 203; + + public bool ReturnRequest(ItemOut oItemOut) + { + var itemOutFrom = oItemOut.from; + var itemOutLists = oItemOut.items; + + // 鏍规嵁AsnNo鍜孧esNo瀵规槑缁嗚繘琛屽垎缁� + var groupedItems = itemOutLists + .GroupBy(item => new { item.MesNo, item.SqNo }) + .ToList(); + + bool result = true; + foreach (var group in groupedItems) + { + //if (group.Key.AsnNo == null) + //{ + // throw new NotImplementedException("AsnNo涓嶈兘涓虹┖"); + //} + + if (group.Key.MesNo == null) + { + throw new NotImplementedException("鍏ュ簱鍗曞崟鍙蜂笉鑳戒负绌�"); + } + + if (group.Key.SqNo == null) + { + throw new NotImplementedException("閫�璐х敵璇峰崟琛屽彿涓嶈兘涓虹┖"); + } + + // 鍒涘缓涓�涓复鏃剁殑itemOutFrom瀵硅薄锛屼娇鐢ㄥ垎缁勭殑Key浣滀负涓昏灞炴�� + var tempItemOutFrom = new ItemOutFrom + { + + MesNo = group.Key.MesNo, + SqNo = group.Key.SqNo, + // 缁ф壙鍘熷itemOutFrom鐨勫叾浠栧睘鎬� + RtnNo = itemOutFrom.RtnNo, + Type = itemOutFrom.Type, + CreateBy = itemOutFrom.CreateBy, + FMRMODE = itemOutFrom.FMRMODE, + DepotId = itemOutFrom.DepotId, + SupperId = itemOutFrom.SupperId + }; + + // 鏍规嵁Type鎵ц涓嶅悓鐨勯�昏緫 + switch (tempItemOutFrom.Type) + { + case "1": + { + var mesInvItemOuts = Db.Queryable<MesInvItemOuts>() + .Where(s => s.BillTypeId == BILL_TYPE_ID + && s.TransactionNo == TRANSACTION_NO + && s.ItemOutNo == tempItemOutFrom.RtnNo + + ) + .Count(); + + if (mesInvItemOuts > 0) + { + throw new NotImplementedException( + tempItemOutFrom.RtnNo + + "鐨勯��鏂欑敵璇峰崟宸茬粡瀛樺湪"); + } + + // 涓哄綋鍓嶅垎缁勪繚瀛樻暟鎹� + var groupResult = Save(tempItemOutFrom, group.ToList()); + if (!groupResult) + { + result = false; + } + + break; + } + case "4": + var removeResult = Remove(tempItemOutFrom); + if (!removeResult) + { + result = false; + } + + break; + default: + result = false; + break; + } + } + + return result; + } + + private bool Save(ItemOutFrom from, List<ItemOutList> items) + { + var mesInvItemIns = Db.Queryable<MesInvItemIns>() + .Where(s => s.BillTypeId == 100 + && s.TransctionNo == "101" + && s.BillNo == from.MesNo + ).First(); + + if (mesInvItemIns == null) + { + throw new NotImplementedException("閲囪喘鍏ュ簱涓嶅瓨鍦�"); + } + + var mesDepots = Db.Queryable<MesDepots>() + .Where(s => s.DepotId == Decimal.Parse(from.DepotId)).First(); + + var mesLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_SUPPLIER" + && s.U9Id == from.SupperId).First(); + + if (mesLinkU9 == null) + { + throw new NotImplementedException("渚涘簲鍟咺D涓嶅瓨鍦ㄦ垨鏈悓姝ヤ簬U9"); + } + + var mesSupplier = Db.Queryable<MesSupplier>() + .Where(s => s.Id == Decimal.Parse(mesLinkU9.MesId)) + .First(); + + if (mesDepots == null) + { + throw new NotImplementedException("[" + from.DepotId + + "]浠撳簱涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + + if (mesSupplier == null) + { + throw new NotImplementedException("[" + from.SupperId + + "]渚涘簲鍟嗕笉瀛樺湪锛岃鍚屾缁橫ES"); + } + + var nextSequenceValue = + Db.Ado.SqlQuery<decimal>("SELECT SEQ_OUT_ID.NEXTVAL FROM DUAL") + .First(); + + // var billCode = + // Db.Ado.SqlQuery<string>( + // "SELECT GETBILLCODE1('1000', '1000', 'TLSQ') FROM DUAL") + // .First(); + var billCode = from.RtnNo; + + // 鍒涘缓閲囪喘閫�鏂欏崟璁板綍 + var mesInvItemOuts = new MesInvItemOuts + { + Id = nextSequenceValue, + ItemOutNo = billCode, + Status = 0, + CreateBy = "PL017", + CreateDate = DateTime.Now, + BillTypeId = 200, + TransactionNo = 203, + DepotCode = mesDepots.DepotCode, + FType = 0, + OutStatus = 0, + IsVisual = 1, + Factory = "1000", + Company = "1000", + SuppNo = mesSupplier.SuppNo, + ItemFlag = 0, + BoardFlag = 0, + OutType = "閲囪喘閫�鏂�", + Nflag = 0, + Fmrmode = from.FMRMODE, + Sapno = from.SqNo, + Organizeid = "1002503270000079", + }; + + // 鍒涘缓閲囪喘閫�鏂欏崟璁板綍 + var mesInvItemOutItems = new List<MesInvItemOutItems>(); + + foreach (var itemOutList in items) + { + // 妫�鏌ュ繀瑕佸瓧娈垫槸鍚︿负绌� + if (string.IsNullOrEmpty(itemOutList.SrcDocNo)) + { + throw new NotImplementedException("閲囪喘璁㈠崟鍙蜂笉鑳戒负绌�"); + } + + if (string.IsNullOrEmpty(itemOutList.SrcDocLineNo)) + { + throw new NotImplementedException("閲囪喘璁㈠崟琛屽彿涓嶈兘涓虹┖"); + } + + //if (string.IsNullOrEmpty(itemOutList.AsnLineNo)) + //{ + // throw new NotImplementedException("ASN琛屽彿涓嶈兘涓虹┖"); + //} + + if (string.IsNullOrEmpty(itemOutList.itemId)) + { + throw new NotImplementedException("鐗╂枡ID涓嶈兘涓虹┖"); + } + + var mesRohInData = Db.Queryable<MesRohInData>() + .Where(s => s.BillNo == itemOutList.SrcDocNo + && s.OrderLineId == itemOutList.SrcDocLineNo) + .First(); + + if (mesRohInData == null) + { + throw new NotImplementedException("閲囪喘璁㈠崟涓嶅瓨鍦�"); + } + + //var deliveryDetail = Db.Queryable<DeliveryDetail>() + // .Where(a => Int32.Parse(a.ZzitemId) == + // Int32.Parse(itemOutList.AsnLineNo)) + // .Count(); + + //if (deliveryDetail <= 0) + //{ + // throw new NotImplementedException("[" + from.AsnNo + "]鐨勬槑缁嗚[" + + // itemOutList.AsnLineNo + + // "]涓嶅瓨鍦�"); + //} + + var itemIdLinkU9 = Db.Queryable<MesLinkU9>() + .Where(s => s.TableType == "MES_ITEMS" + && s.U9Id == itemOutList.itemId).First(); + + if (mesLinkU9 == null) + { + throw new NotImplementedException("渚涘簲鍟咺D涓嶅瓨鍦ㄦ垨鏈悓姝ヤ簬U9"); + } + + var mesItems = Db.Queryable<MesItems>() + .Where(s => s.Id == Decimal.Parse(itemIdLinkU9.MesId)) + .First(); + + if (mesItems == null) + { + throw new NotImplementedException("[" + itemOutList.itemId + + "]鐗╂枡涓嶅瓨鍦紝璇峰悓姝ョ粰MES"); + } + + var mesInvItemInCItems = Db.Queryable<MesInvItemInCItems>() + .Where(s => s.ItemInId == mesInvItemIns.Id + && s.ItemNo == mesItems.ItemNo + && s.Ebeln == itemOutList.SrcDocNo + && s.EbelnLineNo == + Decimal.Parse(itemOutList.SrcDocLineNo) + && s.SuppNo == mesSupplier.SuppNo + ).First(); + + if (mesInvItemInCItems == null) + { + throw new NotImplementedException("娌℃湁瀵瑰簲鐨勫叆搴撴槑缁�"); + } + + + // 纭繚CbillNo涓嶄负绌� + if (string.IsNullOrEmpty(mesInvItemIns.CbillNo)) + { + throw new NotImplementedException("鍏ュ簱鍗曞叧鑱旂殑閲囪喘鍗曞彿涓嶈兘涓虹┖"); + } + + mesInvItemOutItems.Add(new MesInvItemOutItems + { + ItemOutId = nextSequenceValue, + ItemNo = mesItems.ItemNo, + Quantity = Decimal.Parse(itemOutList.qty), + CreateBy = "PL017", + CreateDate = DateTime.Now, + Factory = "1000", + Company = "1000", + DepotCode = mesDepots.DepotCode, + WorkNo = itemOutList.SrcDocNo, // 纭繚WorkNo鏈夊�� + WorkLine = + Decimal.Parse(itemOutList.SrcDocLineNo), // 纭繚WorkLine鏈夊�� + EbelnK3id = Decimal.Parse(mesRohInData.ErpId), + LineK3id = Decimal.Parse(mesRohInData.EbelnK3id), + FType = 0, + Status = 0, + PbillNo = mesInvItemIns.CbillNo, // 纭繚PbillNo鏈夊�� + RkNo = from.MesNo, // 纭繚RkNo鏈夊�� + RkLine = mesInvItemInCItems.Id, // 纭繚RkLine鏈夊�� + RkQty = mesInvItemInCItems.Quantity, + TlQty = 0, + ItemId = Decimal.Parse(itemIdLinkU9.MesId), // 纭繚ItemId鏈夊�� + //SqNo = itemOutList.SqNo, // 纭繚ItemId鏈夊�� + //ZzitemId = itemOutList.AsnLineNo, // 纭繚ItemId鏈夊�� + // Unit = item.Unit, + }); + } + + var outItemCommand = Db.Insertable(mesInvItemOutItems) + .PageSize(1).IgnoreColumnsNull().ExecuteCommand(); + if (outItemCommand <= 0) + { + throw new Exception("鍒涘缓閲囪喘閫�鏂欏崟瀛愯〃澶辫触"); + } + + // 鎻掑叆閲囪喘閫�鏂欏崟璁板綍 + var insertResult = Db.Insertable(mesInvItemOuts).IgnoreColumns(true) + .ExecuteCommand(); + if (insertResult <= 0) + { + throw new Exception("鍒涘缓閲囪喘閫�鏂欏崟澶辫触"); + } + + return outItemCommand + insertResult >= 2; + } + + private bool Remove(ItemOutFrom from) + { + // 鏌ユ壘瑕佸垹闄ょ殑閲囪喘閫�鏂欏崟 + var mesInvItemOuts = Db.Queryable<MesInvItemOuts>() + .Where(s => s.BillTypeId == BILL_TYPE_ID + && s.TransactionNo == TRANSACTION_NO + && s.ItemOutNo == from.RtnNo).ToList(); + + if (mesInvItemOuts == null || mesInvItemOuts.Count == 0) + { + throw new NotImplementedException("鎵句笉鍒板搴旂殑閲囪喘閫�鏂欏崟: " + from.RtnNo); + } + + // 妫�鏌ユ槸鍚︽湁宸插鏍哥殑鍗曟嵁锛屽鏋滃瓨鍦ㄥ凡瀹℃牳(Status=1)鍒欎笉鍏佽鍒犻櫎 + if (mesInvItemOuts.Any(item => item.Status == 1)) + { + throw new NotImplementedException("瀛樺湪宸插鏍哥殑閲囪喘閫�鏂欏崟锛屼笉鍏佽鍒犻櫎"); + } + + // 鍒犻櫎鎵�鏈夌浉鍏冲崟鎹� + foreach (var itemOut in mesInvItemOuts) + { + // 鏌ユ壘瑕佸垹闄ょ殑閲囪喘閫�鏂欏崟鏄庣粏 + var mesInvItemOutItems = Db.Queryable<MesInvItemOutItems>() + .Where(s => s.ItemOutId == itemOut.Id) + .ToList(); + + if (mesInvItemOutItems == null || mesInvItemOutItems.Count == 0) + { + throw new NotImplementedException( + $"鎵句笉鍒伴噰璐��鏂欏崟[{itemOut.ItemOutNo}]瀵瑰簲鐨勬槑缁�"); + } + + // 鍒犻櫎閲囪喘閫�鏂欏崟鏄庣粏 + var deleteItemsResult = Db.Deleteable<MesInvItemOutItems>() + .Where(s => s.ItemOutId == itemOut.Id) + .ExecuteCommand(); + + if (deleteItemsResult <= 0) + { + throw new Exception($"鍒犻櫎閲囪喘閫�鏂欏崟[{itemOut.ItemOutNo}]鏄庣粏澶辫触"); + } + + // 鍒犻櫎閲囪喘閫�鏂欏崟 + var deleteResult = Db.Deleteable<MesInvItemOuts>() + .Where(s => s.Id == itemOut.Id) + .ExecuteCommand(); + + if (deleteResult <= 0) + { + throw new Exception($"鍒犻櫎閲囪喘閫�鏂欏崟[{itemOut.ItemOutNo}]澶辫触"); + } + } + + return true; + } +} \ No newline at end of file diff --git a/StandardPda/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs b/StandardPda/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs new file mode 100644 index 0000000..685acd3 --- /dev/null +++ b/StandardPda/MESApplication/Controllers/Warehouse/MesInvItemOutsController.cs @@ -0,0 +1,213 @@ +锘縰sing MES.Service.Dto.service; +using MES.Service.Modes; +using MES.Service.service; +using MES.Service.service.Warehouse; +using MES.Service.util; +using Microsoft.AspNetCore.Mvc; +using System.Dynamic; +using System.Threading; + +namespace MESApplication.Controllers.Warehouse; + +[ApiController] +[Route("api/[controller]")] +public class MesInvItemOutsController : ControllerBase +{ + private readonly MesInvItemOutsManager m = new(); + + private readonly MessageCenterManager _manager = new(); + + private readonly string METHOD = "POST"; + + private readonly string TableName = "MesInvItemOuts"; + + private readonly string URL = "http://localhost:10054/api/MesInvItemOuts/"; + + /// <summary> + /// 閲囪喘閫�璐х敵璇峰崟 + /// </summary> + /// <returns></returns> + [HttpPost("ReturnRequest")] + public ResponseResult ReturnRequest(ItemOut oItemOut) + { + var entity = new MessageCenter(); + entity.TableName = TableName; + entity.Url = URL + "ReturnRequest"; + entity.Method = METHOD; + entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(oItemOut); + entity.Status = 1; + entity.CreateBy = "PL017"; + try + { + dynamic resultInfos = new ExpandoObject(); + var result = m.ReturnRequest(oItemOut); + resultInfos.tbBillList = result; + + entity.Result = 0; + if (result) 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] MesInvItemOuts 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] MesInvItemOuts 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] MesInvItemOuts 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 diff --git a/StandardPda/MESApplication/MESApplication.csproj b/StandardPda/MESApplication/MESApplication.csproj index b87eece..3ae7129 100644 --- a/StandardPda/MESApplication/MESApplication.csproj +++ b/StandardPda/MESApplication/MESApplication.csproj @@ -9,7 +9,7 @@ </PropertyGroup> <ItemGroup> - <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0"/> + <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> @@ -18,12 +18,12 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Oracle.EntityFrameworkCore" Version="8.21.121"/> - <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0"/> + <PackageReference Include="Oracle.EntityFrameworkCore" Version="8.21.121" /> + <PackageReference Include="Swashbuckle.AspNetCore" Version="6.4.0" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\MES.Service\MES.Service.csproj"/> + <ProjectReference Include="..\MES.Service\MES.Service.csproj" /> </ItemGroup> </Project> -- Gitblit v1.9.3