| StandardPda/MES.Service/Dto/webApi/ErpShipmentPlanDelivery.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Dto/webApi/ErpShipmentPlanDeliveryDetailDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Dto/webApi/ErpShipmentPlanDeliveryDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/MesInvItemStocks.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/ShipmentPlanDelivery.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/Modes/ShipmentPlanDeliveryDetail.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/BasicData/ShipmentPlanDeliveryManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MESApplication/Controllers/BasicData/ShipmentPlanDeliveryController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardPda/MES.Service/Dto/webApi/ErpShipmentPlanDelivery.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ namespace MES.Service.Dto.webApi; /// <summary> /// åºè´§è®¡ååºè´§æ¥å£æ°æ®å è£ ç±» /// </summary> public class ErpShipmentPlanDelivery { /// <summary> /// ä¸»è¡¨æ°æ® /// </summary> public ErpShipmentPlanDeliveryDto OrderDto { get; set; } /// <summary> /// æç»è¡¨æ°æ® /// </summary> public List<ErpShipmentPlanDeliveryDetailDto> Items { get; set; } } StandardPda/MES.Service/Dto/webApi/ErpShipmentPlanDeliveryDetailDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,217 @@ namespace MES.Service.Dto.webApi; /// <summary> /// åºè´§è®¡ååºè´§æ¥å£æç»DTO /// </summary> public class ErpShipmentPlanDeliveryDetailDto { /// <summary> /// ERPè¡ID /// </summary> public string? ErpLineId { get; set; } /// <summary> /// ERP头ID /// </summary> public string? ErpHeadId { get; set; } /// <summary> /// è¡å· /// </summary> public string? LineNo { get; set; } /// <summary> /// å°æ¥é¡¹ç® /// </summary> public string? Project { get; set; } /// <summary> /// å®¢æ·æå· /// </summary> public string? CustomerItemNo { get; set; } /// <summary> /// 客æ·åå /// </summary> public string? CustomerItemName { get; set; } /// <summary> /// æå· /// </summary> public string? MaterialId { get; set; } /// <summary> /// åå /// </summary> public string? MaterialName { get; set; } /// <summary> /// è§æ ¼ /// </summary> public string? Specification { get; set; } /// <summary> /// åå¨å°ç¹ /// </summary> public string? StorageLocation { get; set; } /// <summary> /// åä½ /// </summary> public string? Unit { get; set; } /// <summary> /// æ°é /// </summary> public string? Quantity { get; set; } /// <summary> /// å è´¹åç±»å /// </summary> public string? FreeItemType { get; set; } /// <summary> /// 交æ /// </summary> public string? DeliveryDate { get; set; } /// <summary> /// 表ä½å¤æ³¨ /// </summary> public string? BodyNote { get; set; } /// <summary> /// ASNè¡å· /// </summary> public string? AsnLineNo { get; set; } /// <summary> /// åºåå¯ç¨é /// </summary> public decimal? AvailableStock { get; set; } /// <summary> /// æ¥è¯¢åºåæ¶é´ /// </summary> public string? InventoryQueryTime { get; set; } /// <summary> /// è¡ç¶æ /// </summary> public string? LineStatus { get; set; } /// <summary> /// æ¶è´§ä½ç½® /// </summary> public string? ReceiverLocation { get; set; } /// <summary> /// æ¶è´§å°å /// </summary> public string? ReceiverAddress { get; set; } /// <summary> /// æ¶è´§å°åå ¨ç§° /// </summary> public string? ReceiverAddressFull { get; set; } /// <summary> /// æ¶è´§è系人 /// </summary> public string? ReceiverContact { get; set; } /// <summary> /// å¯éæ¢ /// </summary> public string? Returnable { get; set; } /// <summary> /// å¯ç¨æ¥æ /// </summary> public string? AvailableDate { get; set; } /// <summary> /// æ¿è¯ºæ¥æ /// </summary> public string? CommitmentDate { get; set; } /// <summary> /// 计ååºè´§æ¥ /// </summary> public string? PlanShipDate { get; set; } /// <summary> /// 客æ·ç¡®è®¤åºè´§æ¥ /// </summary> public string? CustomerConfirmDate { get; set; } /// <summary> /// 计åç»ç» /// </summary> public string? PlanOrg { get; set; } /// <summary> /// ä¾åºåç´è¿ /// </summary> public string? VendorDirectShip { get; set; } /// <summary> /// ä¾åºæ¥æº /// </summary> public string? SupplySource { get; set; } /// <summary> /// ä¾åºç±»å /// </summary> public string? SupplyType { get; set; } /// <summary> /// ä¾åºç»ç» /// </summary> public string? SupplyOrg { get; set; } /// <summary> /// ä¾åºå /// </summary> public string? Supplier { get; set; } /// <summary> /// åºè´§æ¹å¼ /// </summary> public string? DetailShippingMethod { get; set; } /// <summary> /// 货主ç»ç» /// </summary> public string? OwnerOrg { get; set; } /// <summary> /// éæ±åç±» /// </summary> public string? DetailDemandCategory { get; set; } /// <summary> /// åºåè§å /// </summary> public string? InventoryPlanning { get; set; } /// <summary> /// è¡å¤æ³¨ /// </summary> public string? LineRemark { get; set; } /// <summary> /// æ¥æºåæ®ç±»å« /// </summary> public string? SourceDocCategory { get; set; } /// <summary> /// æ¥æºåå· /// </summary> public string? SourceDocNo { get; set; } /// <summary> /// æ¥æºåè¡å· /// </summary> public string? SourceLineNo { get; set; } } StandardPda/MES.Service/Dto/webApi/ErpShipmentPlanDeliveryDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,137 @@ namespace MES.Service.Dto.webApi; /// <summary> /// åºè´§è®¡ååºè´§æ¥å£ä¸»è¡¨DTO /// </summary> public class ErpShipmentPlanDeliveryDto { /// <summary> /// æ¥å£ç±»åï¼2:æ°å¢/æ´æ°, 3:ä¿®æ¹, 4:å é¤ï¼ /// </summary> public string? Type { get; set; } /// <summary> /// ERP主表ID /// </summary> public string? ErpHeadId { get; set; } /// <summary> /// åæ®ç±»å /// </summary> public string? BillType { get; set; } /// <summary> /// åå· /// </summary> public string? BillNo { get; set; } /// <summary> /// å®¢æ· /// </summary> public string? Customer { get; set; } /// <summary> /// æ¥æï¼æ ¼å¼ï¼yyyy-MM-dd HH:mm:ssï¼ /// </summary> public string? FDate { get; set; } /// <summary> /// æ¥å£ç¶æ /// </summary> public string? InterfaceStatus { get; set; } /// <summary> /// ä¸å¡å /// </summary> public string? Salesperson { get; set; } /// <summary> /// é¨é¨ /// </summary> public string? Department { get; set; } /// <summary> /// æ¥æºåæ®ç±»å« /// </summary> public string? SourceDocCategory { get; set; } /// <summary> /// æ¥æºåæ® /// </summary> public string? SourceDocument { get; set; } /// <summary> /// ç¶æ /// </summary> public string? Status { get; set; } /// <summary> /// å建人 /// </summary> public string? CreatedBy { get; set; } /// <summary> /// å建æ¶é´ï¼æ ¼å¼ï¼yyyy-MM-dd HH:mm:ssï¼ /// </summary> public string? CreatedDate { get; set; } /// <summary> /// å®¡æ ¸äºº /// </summary> public string? ApprovedBy { get; set; } /// <summary> /// å®¡æ ¸æ¥æï¼æ ¼å¼ï¼yyyy-MM-dd HH:mm:ssï¼ /// </summary> public string? ApprovedDate { get; set; } /// <summary> /// è¡¨å¤´å¤æ³¨ /// </summary> public string? HeaderNote { get; set; } /// <summary> /// 夿³¨ /// </summary> public string? Remark { get; set; } /// <summary> /// ASNå· /// </summary> public string? AsnNo { get; set; } /// <summary> /// é¡¹ç® /// </summary> public string? Project { get; set; } /// <summary> /// 客æ·éè´è®¢å /// </summary> public string? CustomerPo { get; set; } /// <summary> /// åºè´§åå /// </summary> public string? ShippingPolicy { get; set; } /// <summary> /// åºè´§æ¹å¼ /// </summary> public string? ShippingMethod { get; set; } /// <summary> /// éæ±åç±» /// </summary> public string? DemandCategory { get; set; } /// <summary> /// è£ è¿æ¸¯ /// </summary> public string? ShippingPort { get; set; } /// <summary> /// ç®ç港 /// </summary> public string? DestinationPort { get; set; } } StandardPda/MES.Service/Modes/MesInvItemStocks.cs
@@ -136,22 +136,22 @@ public string? Fcar { get; set; } /// <summary> /// å»ç»æäº¤éæ£ï¼0ï¼å»ç»æªæäº¤éæ£ï¼1ï¼å»ç»å¹¶æäº¤éæ£ /// å»ç»æäº¤éæ£ï¼0ï¼æªæäº¤ï¼1ï¼å·²æäº¤ /// </summary> [SugarColumn(ColumnName = "VISABLE_SUBMIT")] public short? VisableSubmit { get; set; } [SugarColumn(ColumnName = "VISIBLE_SUBMIT")] public short? VisibleSubmit { get; set; } /// <summary> /// æäº¤éæ£äºº /// </summary> [SugarColumn(ColumnName = "VISABLE_SUBMIT_BY")] public string? VisableSubmitBy { get; set; } [SugarColumn(ColumnName = "VISIBLE_SUBMIT_BY")] public string? VisibleSubmitBy { get; set; } /// <summary> /// æäº¤éæ£æ¶é´ /// </summary> [SugarColumn(ColumnName = "VISABLE_SUBMIT_DATE")] public DateTime? VisableSubmitDate { get; set; } [SugarColumn(ColumnName = "VISIBLE_SUBMIT_DATE")] public DateTime? VisibleSubmitDate { get; set; } /// <summary> /// 产ååå· @@ -184,7 +184,7 @@ public string? LineNo { get; set; } /// <summary> /// åæåå ¥åºåå· /// åå· /// </summary> [SugarColumn(ColumnName = "BILL_NO")] public string? BillNo { get; set; } @@ -208,7 +208,7 @@ public decimal? ItemId { get; set; } /// <summary> /// æ¯å¦å ç¨ /// æ¯å¦ä¸ç¨ /// </summary> [SugarColumn(ColumnName = "IS_ZY")] public decimal? IsZy { get; set; } @@ -220,19 +220,19 @@ public string? SalesOrder { get; set; } /// <summary> /// å¯è§æ§(0-å¯è§ï¼1-ä¸å¯è§) /// æ¯å¦å·²å»ç»,1å»ç» /// </summary> [SugarColumn(ColumnName = "VISABLE")] public short? Visable { get; set; } [SugarColumn(ColumnName = "VISIBLE")] public short? Visible { get; set; } /// <summary> /// æ¯å¦ååº /// æ¯å¦å¯å /// </summary> [SugarColumn(ColumnName = "IS_JC")] public decimal? IsJc { get; set; } /// <summary> /// ååºåå· /// å¯åå·¥å /// </summary> [SugarColumn(ColumnName = "JC_BILL_NO")] public string? JcBillNo { get; set; } @@ -262,7 +262,7 @@ public decimal? DepotId { get; set; } /// <summary> /// ç©ææ¡ç D /// 大箱æ¡ç /// </summary> [SugarColumn(ColumnName = "ITEM_BARCODE_D")] public string? ItemBarcodeD { get; set; } @@ -278,4 +278,28 @@ /// </summary> [SugarColumn(ColumnName = "IS_TS")] public decimal? IsTs { get; set; } /// <summary> /// å»ç»æ´æ°äºº /// </summary> [SugarColumn(ColumnName = "VISIBLE_UPDATE_BY")] public string? VisibleUpdateBy { get; set; } /// <summary> /// å»ç»æ´æ°æ¶é´ /// </summary> [SugarColumn(ColumnName = "VISIBLE_UPDATE_DATE")] public DateTime? VisibleUpdateDate { get; set; } /// <summary> /// å»ç»æ´æ°çç± /// </summary> [SugarColumn(ColumnName = "VISIBLE_UPDATE_REASON")] public string? VisibleUpdateReason { get; set; } /// <summary> /// 注é /// </summary> [SugarColumn(ColumnName = "REMARK")] public string? Remark { get; set; } } StandardPda/MES.Service/Modes/ShipmentPlanDelivery.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,166 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// æ¥æºåºè´§è®¡åçæ ååºè´§ä¸»è¡¨ /// </summary> [SugarTable("SHIPMENT_PLAN_DELIVERY")] public class ShipmentPlanDelivery { /// <summary> /// 主é®ID /// </summary> [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SHIPMENT_PLAN_DELIVERY", IsPrimaryKey = true)] public decimal? Id { get; set; } /// <summary> /// åæ®ç±»å /// </summary> [SugarColumn(ColumnName = "BILL_TYPE")] public string? BillType { get; set; } /// <summary> /// åå· /// </summary> [SugarColumn(ColumnName = "BILL_NO")] public string? BillNo { get; set; } /// <summary> /// å®¢æ· /// </summary> [SugarColumn(ColumnName = "CUSTOMER")] public string? Customer { get; set; } /// <summary> /// æ¥æ /// </summary> [SugarColumn(ColumnName = "F_DATE")] public DateTime? FDate { get; set; } /// <summary> /// æ¥å£ç¶æ /// </summary> [SugarColumn(ColumnName = "INTERFACE_STATUS")] public string? InterfaceStatus { get; set; } /// <summary> /// ä¸å¡å /// </summary> [SugarColumn(ColumnName = "SALESPERSON")] public string? Salesperson { get; set; } /// <summary> /// é¨é¨ /// </summary> [SugarColumn(ColumnName = "DEPARTMENT")] public string? Department { get; set; } /// <summary> /// æ¥æºåæ®ç±»å« /// </summary> [SugarColumn(ColumnName = "SOURCE_DOC_CATEGORY")] public string? SourceDocCategory { get; set; } /// <summary> /// æ¥æºåæ® /// </summary> [SugarColumn(ColumnName = "SOURCE_DOCUMENT")] public string? SourceDocument { get; set; } /// <summary> /// ç¶æ /// </summary> [SugarColumn(ColumnName = "STATUS")] public string? Status { get; set; } /// <summary> /// å建人 /// </summary> [SugarColumn(ColumnName = "CREATED_BY")] public string? CreatedBy { get; set; } /// <summary> /// å建æ¶é´ /// </summary> [SugarColumn(ColumnName = "CREATED_DATE")] public DateTime? CreatedDate { get; set; } /// <summary> /// å®¡æ ¸äºº /// </summary> [SugarColumn(ColumnName = "APPROVED_BY")] public string? ApprovedBy { get; set; } /// <summary> /// å®¡æ ¸æ¥æ /// </summary> [SugarColumn(ColumnName = "APPROVED_DATE")] public DateTime? ApprovedDate { get; set; } /// <summary> /// è¡¨å¤´å¤æ³¨ /// </summary> [SugarColumn(ColumnName = "HEADER_NOTE")] public string? HeaderNote { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(ColumnName = "REMARK")] public string? Remark { get; set; } /// <summary> /// ASNå· /// </summary> [SugarColumn(ColumnName = "ASN_NO")] public string? AsnNo { get; set; } /// <summary> /// é¡¹ç® /// </summary> [SugarColumn(ColumnName = "PROJECT")] public string? Project { get; set; } /// <summary> /// 客æ·éè´è®¢å /// </summary> [SugarColumn(ColumnName = "CUSTOMER_PO")] public string? CustomerPo { get; set; } /// <summary> /// åºè´§åå /// </summary> [SugarColumn(ColumnName = "SHIPPING_POLICY")] public string? ShippingPolicy { get; set; } /// <summary> /// åºè´§æ¹å¼ /// </summary> [SugarColumn(ColumnName = "SHIPPING_METHOD")] public string? ShippingMethod { get; set; } /// <summary> /// éæ±åç±» /// </summary> [SugarColumn(ColumnName = "DEMAND_CATEGORY")] public string? DemandCategory { get; set; } /// <summary> /// è£ è¿æ¸¯ /// </summary> [SugarColumn(ColumnName = "SHIPPING_PORT")] public string? ShippingPort { get; set; } /// <summary> /// ç®ç港 /// </summary> [SugarColumn(ColumnName = "DESTINATION_PORT")] public string? DestinationPort { get; set; } /// <summary> /// 主表ERPID /// </summary> [SugarColumn(ColumnName = "ERP_HEAD_ID")] public string? ErpHeadId { get; set; } } StandardPda/MES.Service/Modes/ShipmentPlanDeliveryDetail.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,274 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// æ¥æºåºè´§è®¡åçæ ååºè´§æç»è¡¨ /// </summary> [SugarTable("SHIPMENT_PLAN_DELIVERY_DETAIL")] public class ShipmentPlanDeliveryDetail { /// <summary> /// 主é®ID /// </summary> [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_SHIPMENT_PLAN_DELIVERY_D", IsPrimaryKey = true)] public decimal? Id { get; set; } /// <summary> /// 主表ID /// </summary> [SugarColumn(ColumnName = "HEAD_ID")] public decimal? HeadId { get; set; } /// <summary> /// è¡å· /// </summary> [SugarColumn(ColumnName = "LINE_NO")] public string? LineNo { get; set; } /// <summary> /// å°æ¥é¡¹ç® /// </summary> [SugarColumn(ColumnName = "PROJECT")] public string? Project { get; set; } /// <summary> /// å®¢æ·æå· /// </summary> [SugarColumn(ColumnName = "CUSTOMER_ITEM_NO")] public string? CustomerItemNo { get; set; } /// <summary> /// 客æ·åå /// </summary> [SugarColumn(ColumnName = "CUSTOMER_ITEM_NAME")] public string? CustomerItemName { get; set; } /// <summary> /// æå· /// </summary> [SugarColumn(ColumnName = "MATERIAL_ID")] public string? MaterialId { get; set; } /// <summary> /// åå /// </summary> [SugarColumn(ColumnName = "MATERIAL_NAME")] public string? MaterialName { get; set; } /// <summary> /// è§æ ¼ /// </summary> [SugarColumn(ColumnName = "SPECIFICATION")] public string? Specification { get; set; } /// <summary> /// åå¨å°ç¹ /// </summary> [SugarColumn(ColumnName = "STORAGE_LOCATION")] public string? StorageLocation { get; set; } /// <summary> /// åä½ /// </summary> [SugarColumn(ColumnName = "UNIT")] public string? Unit { get; set; } /// <summary> /// æ°é /// </summary> [SugarColumn(ColumnName = "QUANTITY")] public decimal? Quantity { get; set; } /// <summary> /// å è´¹åç±»å /// </summary> [SugarColumn(ColumnName = "FREE_ITEM_TYPE")] public string? FreeItemType { get; set; } /// <summary> /// 交æ /// </summary> [SugarColumn(ColumnName = "DELIVERY_DATE")] public string? DeliveryDate { get; set; } /// <summary> /// 表ä½å¤æ³¨ /// </summary> [SugarColumn(ColumnName = "BODY_NOTE")] public string? BodyNote { get; set; } /// <summary> /// ASNè¡å· /// </summary> [SugarColumn(ColumnName = "ASN_LINE_NO")] public string? AsnLineNo { get; set; } /// <summary> /// åºåå¯ç¨é /// </summary> [SugarColumn(ColumnName = "AVAILABLE_STOCK")] public decimal? AvailableStock { get; set; } /// <summary> /// æ¥è¯¢åºåæ¶é´ /// </summary> [SugarColumn(ColumnName = "INVENTORY_QUERY_TIME")] public string? InventoryQueryTime { get; set; } /// <summary> /// è¡ç¶æ /// </summary> [SugarColumn(ColumnName = "LINE_STATUS")] public string? LineStatus { get; set; } /// <summary> /// æ¶è´§ä½ç½® /// </summary> [SugarColumn(ColumnName = "RECEIVER_LOCATION")] public string? ReceiverLocation { get; set; } /// <summary> /// æ¶è´§å°å /// </summary> [SugarColumn(ColumnName = "RECEIVER_ADDRESS")] public string? ReceiverAddress { get; set; } /// <summary> /// æ¶è´§å°åå ¨ç§° /// </summary> [SugarColumn(ColumnName = "RECEIVER_ADDRESS_FULL")] public string? ReceiverAddressFull { get; set; } /// <summary> /// æ¶è´§è系人 /// </summary> [SugarColumn(ColumnName = "RECEIVER_CONTACT")] public string? ReceiverContact { get; set; } /// <summary> /// å¯éæ¢ /// </summary> [SugarColumn(ColumnName = "RETURNABLE")] public string? Returnable { get; set; } /// <summary> /// å¯ç¨æ¥æ /// </summary> [SugarColumn(ColumnName = "AVAILABLE_DATE")] public string? AvailableDate { get; set; } /// <summary> /// æ¿è¯ºæ¥æ /// </summary> [SugarColumn(ColumnName = "COMMITMENT_DATE")] public string? CommitmentDate { get; set; } /// <summary> /// 计ååºè´§æ¥ /// </summary> [SugarColumn(ColumnName = "PLAN_SHIP_DATE")] public string? PlanShipDate { get; set; } /// <summary> /// 客æ·ç¡®è®¤åºè´§æ¥ /// </summary> [SugarColumn(ColumnName = "CUSTOMER_CONFIRM_DATE")] public string? CustomerConfirmDate { get; set; } /// <summary> /// 计åç»ç» /// </summary> [SugarColumn(ColumnName = "PLAN_ORG")] public string? PlanOrg { get; set; } /// <summary> /// ä¾åºåç´è¿ /// </summary> [SugarColumn(ColumnName = "VENDOR_DIRECT_SHIP")] public string? VendorDirectShip { get; set; } /// <summary> /// ä¾åºæ¥æº /// </summary> [SugarColumn(ColumnName = "SUPPLY_SOURCE")] public string? SupplySource { get; set; } /// <summary> /// ä¾åºç±»å /// </summary> [SugarColumn(ColumnName = "SUPPLY_TYPE")] public string? SupplyType { get; set; } /// <summary> /// ä¾åºç»ç» /// </summary> [SugarColumn(ColumnName = "SUPPLY_ORG")] public string? SupplyOrg { get; set; } /// <summary> /// ä¾åºå /// </summary> [SugarColumn(ColumnName = "SUPPLIER")] public string? Supplier { get; set; } /// <summary> /// åºè´§æ¹å¼ /// </summary> [SugarColumn(ColumnName = "DETAIL_SHIPPING_METHOD")] public string? DetailShippingMethod { get; set; } /// <summary> /// 货主ç»ç» /// </summary> [SugarColumn(ColumnName = "OWNER_ORG")] public string? OwnerOrg { get; set; } /// <summary> /// éæ±åç±» /// </summary> [SugarColumn(ColumnName = "DETAIL_DEMAND_CATEGORY")] public string? DetailDemandCategory { get; set; } /// <summary> /// åºåè§å /// </summary> [SugarColumn(ColumnName = "INVENTORY_PLANNING")] public string? InventoryPlanning { get; set; } /// <summary> /// è¡å¤æ³¨ /// </summary> [SugarColumn(ColumnName = "LINE_REMARK")] public string? LineRemark { get; set; } /// <summary> /// æ¥æºåæ®ç±»å« /// </summary> [SugarColumn(ColumnName = "SOURCE_DOC_CATEGORY")] public string? SourceDocCategory { get; set; } /// <summary> /// æ¥æºåå· /// </summary> [SugarColumn(ColumnName = "SOURCE_DOC_NO")] public string? SourceDocNo { get; set; } /// <summary> /// æ¥æºåè¡å· /// </summary> [SugarColumn(ColumnName = "SOURCE_LINE_NO")] public string? SourceLineNo { get; set; } /// <summary> /// ERPè¡ID /// </summary> [SugarColumn(ColumnName = "ERP_LINE_ID")] public string? ErpLineId { get; set; } /// <summary> /// ERP头ID /// </summary> [SugarColumn(ColumnName = "ERP_HEAD_ID")] public string? ErpHeadId { get; set; } } StandardPda/MES.Service/service/BasicData/ShipmentPlanDeliveryManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,302 @@ using System.Globalization; using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; namespace MES.Service.service; /// <summary> /// åºè´§è®¡ååºè´§æå¡ç®¡çç±» /// </summary> public class ShipmentPlanDeliveryManager : Repository<ShipmentPlanDelivery> { private readonly ShipmentPlanDeliveryDetailManager _detailManager = new(); /// <summary> /// ä¿ååºè´§è®¡ååºè´§æ°æ® /// </summary> public bool Save(ErpShipmentPlanDelivery data) { var headerDto = data.OrderDto; var header = ConvertDtoToHeader(data.OrderDto); var details = ConvertDtoToDetails(data.Items); return UseTransaction(db => { switch (headerDto.Type) { case "3": return UpdateData(db, header, details) ? 1 : 0; case "2": case "4": return SaveOrUpdateData(db, header, details) ? 1 : 0; default: throw new NotImplementedException($"䏿¯æçæ¥å£ç±»å: {headerDto.Type}"); } }) > 0; } /// <summary> /// æ´æ°æ°æ® /// </summary> private bool UpdateData(SqlSugarScope db, ShipmentPlanDelivery header, List<ShipmentPlanDeliveryDetail> details) { // æ£æ¥æ¯å¦å·²çæåºåºå var outCount = Db.Ado.SqlQuery<decimal>( "SELECT COUNT(*) FROM MES_INV_ITEM_OUTS A WHERE A.WORK_NO = :billNo AND A.BILL_TYPE_ID = 200 AND A.TRANSACTION_NO = 250", new { billNo = header.BillNo }).First(); if (outCount > 0) { throw new NotImplementedException("该åºè´§åå·²çæåºåºåï¼ä¸è½ä¿®æ¹ï¼"); } // å é¤åææ°æ® var deleteHeader = base.DeleteById(header.Id); var detailIds = details.Select(d => d.Id).ToArray(); var deleteDetails = db.Deleteable<ShipmentPlanDeliveryDetail>().In(detailIds).ExecuteCommand() > 0; if (deleteHeader && deleteDetails) { return true; } throw new NotImplementedException("æ´æ°å¤±è´¥"); } /// <summary> /// æå ¥ææ´æ°æ°æ® /// </summary> private bool SaveOrUpdateData(SqlSugarScope db, ShipmentPlanDelivery header, List<ShipmentPlanDeliveryDetail> details) { // æ£æ¥æ¯å¦å·²çæåºåºå var outCount = Db.Ado.SqlQuery<decimal>( "SELECT COUNT(*) FROM MES_INV_ITEM_OUTS A WHERE A.WORK_NO = :billNo AND A.BILL_TYPE_ID = 200 AND A.TRANSACTION_NO = 250", new { billNo = header.BillNo }).First(); if (outCount > 0) { throw new NotImplementedException("该åºè´§åå·²çæåºåºåï¼ä¸è½ä¿®æ¹ï¼"); } // 妿åå¨åå 餿§æ°æ® if (header.Id != null) { base.DeleteById(header.Id); } if (details.Count > 0) { db.Deleteable<ShipmentPlanDeliveryDetail>() .Where(s => s.ErpHeadId == header.ErpHeadId) .ExecuteCommand(); } // æå ¥æ°æ°æ®å¹¶è·å主表ID var headerId = base.InsertReturnIdentity(header); // æå ¥æç»æ°æ®ï¼å ³è主表ID if (headerId > 0) { foreach (var detail in details) { detail.HeadId = headerId; _detailManager.Insert(detail); } } return headerId > 0; } /// <summary> /// æ¹éä¿å /// </summary> public bool SaveList(List<ErpShipmentPlanDelivery> dataList) { var result = dataList.Select(Save).ToList(); return result.All(b => b); } /// <summary> /// 转æ¢DTO为主表å®ä½ /// </summary> private ShipmentPlanDelivery ConvertDtoToHeader(ErpShipmentPlanDeliveryDto dto) { DateTime? ParseDateTime(string? dateStr) { if (string.IsNullOrEmpty(dateStr)) return null; if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out var parsedDate)) { return parsedDate; } return null; } var entity = new ShipmentPlanDelivery { BillType = dto.BillType, BillNo = dto.BillNo, Customer = dto.Customer, FDate = ParseDateTime(dto.FDate), InterfaceStatus = dto.InterfaceStatus, Salesperson = dto.Salesperson, Department = dto.Department, SourceDocCategory = dto.SourceDocCategory, SourceDocument = dto.SourceDocument, Status = dto.Status, CreatedBy = dto.CreatedBy, CreatedDate = ParseDateTime(dto.CreatedDate), ApprovedBy = dto.ApprovedBy, ApprovedDate = ParseDateTime(dto.ApprovedDate), HeaderNote = dto.HeaderNote, Remark = dto.Remark, AsnNo = dto.AsnNo, Project = dto.Project, CustomerPo = dto.CustomerPo, ShippingPolicy = dto.ShippingPolicy, ShippingMethod = dto.ShippingMethod, DemandCategory = dto.DemandCategory, ShippingPort = dto.ShippingPort, DestinationPort = dto.DestinationPort, ErpHeadId = dto.ErpHeadId }; // æ ¹æ®ErpHeadIdæ¥æ¾æ¯å¦å·²åå¨ var existing = base.GetSingle(it => it.ErpHeadId == dto.ErpHeadId); if (existing != null) { entity.Id = existing.Id; } // éªè¯å¿ 填项 if (string.IsNullOrEmpty(entity.ErpHeadId)) { throw new NotImplementedException("表头ErpHeadIdä¸è½ä¸ºç©º"); } return entity; } /// <summary> /// 转æ¢DTO为æç»è¡¨å®ä½å表 /// </summary> private List<ShipmentPlanDeliveryDetail> ConvertDtoToDetails(List<ErpShipmentPlanDeliveryDetailDto> dtoList) { var detailList = new List<ShipmentPlanDeliveryDetail>(); foreach (var dto in dtoList) { var detail = new ShipmentPlanDeliveryDetail { LineNo = dto.LineNo, Project = dto.Project, CustomerItemNo = dto.CustomerItemNo, CustomerItemName = dto.CustomerItemName, MaterialId = dto.MaterialId, MaterialName = dto.MaterialName, Specification = dto.Specification, StorageLocation = dto.StorageLocation, Unit = dto.Unit, Quantity = string.IsNullOrEmpty(dto.Quantity) ? null : Convert.ToDecimal(dto.Quantity), FreeItemType = dto.FreeItemType, DeliveryDate = dto.DeliveryDate, BodyNote = dto.BodyNote, AsnLineNo = dto.AsnLineNo, AvailableStock = dto.AvailableStock, InventoryQueryTime = dto.InventoryQueryTime, LineStatus = dto.LineStatus, ReceiverLocation = dto.ReceiverLocation, ReceiverAddress = dto.ReceiverAddress, ReceiverAddressFull = dto.ReceiverAddressFull, ReceiverContact = dto.ReceiverContact, Returnable = dto.Returnable, AvailableDate = dto.AvailableDate, CommitmentDate = dto.CommitmentDate, PlanShipDate = dto.PlanShipDate, CustomerConfirmDate = dto.CustomerConfirmDate, PlanOrg = dto.PlanOrg, VendorDirectShip = dto.VendorDirectShip, SupplySource = dto.SupplySource, SupplyType = dto.SupplyType, SupplyOrg = dto.SupplyOrg, Supplier = dto.Supplier, DetailShippingMethod = dto.DetailShippingMethod, OwnerOrg = dto.OwnerOrg, DetailDemandCategory = dto.DetailDemandCategory, InventoryPlanning = dto.InventoryPlanning, LineRemark = dto.LineRemark, SourceDocCategory = dto.SourceDocCategory, SourceDocNo = dto.SourceDocNo, SourceLineNo = dto.SourceLineNo, ErpLineId = dto.ErpLineId, ErpHeadId = dto.ErpHeadId }; // éªè¯å¿ 填项 if (string.IsNullOrEmpty(detail.ErpLineId)) { throw new NotImplementedException("æç»è¡ErpLineIdä¸è½ä¸ºç©º"); } if (string.IsNullOrEmpty(detail.ErpHeadId)) { throw new NotImplementedException("æç»è¡ErpHeadIdä¸è½ä¸ºç©º"); } // æ ¹æ®ErpLineIdæ¥æ¾æ¯å¦å·²åå¨ var existing = _detailManager.GetSingle(it => it.ErpLineId == detail.ErpLineId); if (existing != null) { detail.Id = existing.Id; } // ç©æIDæ å°è½¬æ¢ï¼å¦æéè¦ï¼ if (!string.IsNullOrEmpty(dto.MaterialId) && !string.IsNullOrEmpty(dto.SupplyOrg)) { var materialLink = Db.Queryable<MesLinkU9>() .Where(x => x.U9Id == dto.MaterialId && x.OrgId == dto.SupplyOrg && x.TableType == "MES_ITEMS") .First(); if (materialLink != null) { detail.MaterialId = materialLink.MesId; } } // é¡¹ç®æ å°è½¬æ¢ï¼å¦æéè¦ï¼ if (!string.IsNullOrEmpty(dto.Project) && !string.IsNullOrEmpty(dto.SupplyOrg)) { var projectLink = Db.Queryable<MesLinkU9>() .Where(x => x.U9Id == dto.Project && x.OrgId == dto.SupplyOrg && x.TableType == "MES_PROJECT") .First(); if (projectLink != null) { detail.Project = projectLink.MesId; } } detailList.Add(detail); } return detailList; } } /// <summary> /// åºè´§è®¡ååºè´§æç»ç®¡çç±» /// </summary> public class ShipmentPlanDeliveryDetailManager : Repository<ShipmentPlanDeliveryDetail> { // ç»§æ¿Repositoryåºç¡å¢å æ¹æ¥æ¹æ³ } StandardPda/MES.Service/service/Warehouse/MesInvItemStocksManager.cs
@@ -26,9 +26,9 @@ // ä¼åç¹1: 使ç¨åçSQL ROW_NUMBER()卿°æ®åºç«¯å®æå»éåæåº var rackingTaskSql = @" SELECT ITEM_BARCODE AS ItemBarcode, PALLETCODE AS PalletCode, CODE AS Code SELECT ITEM_BARCODE AS ItemBarcode, PALLETCODE AS PalletCode, CODE AS Code, TASKTYPE AS TaskType FROM ( SELECT ITEM_BARCODE, PALLETCODE, CODE, SELECT ITEM_BARCODE, PALLETCODE, CODE, TASKTYPE, ROW_NUMBER() OVER (PARTITION BY ITEM_BARCODE ORDER BY ID DESC) AS RN FROM XB_RACKING_TASK_SYXT_LOG WHERE ITEM_BARCODE IS NOT NULL AND (CODE IS NULL OR CODE != '500') @@ -230,10 +230,16 @@ rackingTaskDict.TryGetValue(barcodeToMatch, out var rackingTask); string stockStatus = "è¿å ¥ç«åºçè·¯ä¸"; if (rackingTask?.Code != null) string stockStatus; if (rackingTask?.TaskType == "ç«åºåºåºè¯·æ±") { stockStatus = rackingTask.Code == "200" ? "å·²å¨ç«åºä¸" : "è¿å ¥ç«åºçè·¯ä¸"; // åºåºè¯·æ±ï¼Code=200表示已åºåºï¼Code=null表示åºåºè·¯ä¸ stockStatus = rackingTask.Code == "200" ? "å·²åºç«åº" : "åºç«åºè·¯ä¸"; } else { // ååºè¯·æ±ï¼é»è®¤ï¼ï¼Code=200表示已å¨ç«åºä¸ï¼Code=null表示è¿å ¥ç«åºçè·¯ä¸ stockStatus = rackingTask?.Code == "200" ? "å·²å¨ç«åºä¸" : "è¿å ¥ç«åºçè·¯ä¸"; } return new @@ -443,6 +449,7 @@ public string ItemBarcode { get; set; } public string PalletCode { get; set; } public string Code { get; set; } public string TaskType { get; set; } } /// <summary> StandardPda/MESApplication/Controllers/BasicData/ShipmentPlanDeliveryController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,262 @@ using 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; /// <summary> /// æ¥æºåºè´§è®¡åçæ ååºè´§æ¥å£ /// </summary> [ApiController] [Route("api/[controller]")] public class ShipmentPlanDeliveryController : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly ShipmentPlanDeliveryManager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "SHIPMENT_PLAN_DELIVERY"; private readonly string URL = "http://localhost:10054/api/ShipmentPlanDelivery/"; /// <summary> /// ä¿ååºè´§è®¡ååºè´§æ°æ®ï¼æ 忥å£ï¼ /// </summary> /// <param name="data">åºè´§è®¡ååºè´§æ°æ®</param> /// <returns></returns> [HttpPost("Save")] public ResponseResult Save(ErpShipmentPlanDelivery data) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "Save"; entity.Method = METHOD; entity.Route = data.OrderDto.BillNo; entity.Data = JsonConvert.SerializeObject(data); entity.Status = (short)1; entity.CreateBy = "SYSTEM"; try { dynamic resultInfos = new ExpandoObject(); var save = m.Save(data); resultInfos.tbBillList = save; entity.Result = (short)(save ? 1 : 0); entity.DealWith = (short)1; _manager.save(entity); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { entity.Result = (short)0; entity.DealWith = (short)0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } /// <summary> /// æ¹éä¿ååºè´§è®¡ååºè´§æ°æ® /// </summary> /// <param name="dataList">åºè´§è®¡ååºè´§æ°æ®å表</param> /// <returns></returns> [HttpPost("SaveList")] public ResponseResult SaveList(List<ErpShipmentPlanDelivery> dataList) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "SaveList"; entity.Method = METHOD; entity.Data = JsonConvert.SerializeObject(dataList); entity.Status = (short)1; entity.CreateBy = "SYSTEM"; try { dynamic resultInfos = new ExpandoObject(); var save = m.SaveList(dataList); resultInfos.tbBillList = save; entity.Result = (short)(save ? 1 : 0); entity.DealWith = (short)1; _manager.save(entity); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { entity.Result = (short)0; entity.DealWith = (short)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> /// <param name="id">主é®ID</param> /// <returns></returns> [HttpPost("GetById")] public ResponseResult GetById(decimal 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> /// <param name="ids">主é®IDæ°ç»</param> /// <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> /// <param name="data">åºè´§è®¡ååºè´§æ°æ®</param> /// <returns></returns> [HttpPost("Insert")] public ResponseResult Add([FromBody] ShipmentPlanDelivery 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> /// æ·»å åºè´§è®¡ååºè´§æ°æ®å¹¶è¿åèªå¢ID /// </summary> /// <param name="data">åºè´§è®¡ååºè´§æ°æ®</param> /// <returns></returns> [HttpPost("InsertReturnIdentity")] public ResponseResult InsertReturnIdentity([FromBody] ShipmentPlanDelivery 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> /// <param name="data">åºè´§è®¡ååºè´§æ°æ®</param> /// <returns></returns> [HttpPost("Update")] public ResponseResult Update([FromBody] ShipmentPlanDelivery 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); } } }