MES.Service/Dto/webApi/ErpProductionOrderDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Dto/webApi/ErpProductionOrderSubDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Dto/webApi/ErpWYOrder.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/MessageCenter.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/ProductionOrder.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/Modes/ProductionOrderSub.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/service/BasicData/ProductionOrderManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MES.Service/service/BasicData/ProductionOrderSubManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
MESApplication/Controllers/BasicData/ProductionOrderController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
MES.Service/Dto/webApi/ErpProductionOrderDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,44 @@ namespace MES.Service.Dto.webApi; public class ErpProductionOrderDto { public string? Type { get; set; } public string? FBillNo { get; set; } // åæ®ç¼å· public string? FStockID { get; set; } // ä»åº 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; } // åä½ public string? FQty { get; set; } // 工忰é public string? FWorkGroupId { get; set; } // 计åç» public string? FPlannerID { get; set; } // 计åå public string? FPlanStartDate { get; set; } // é¢è®¡å¼å·¥æ¶é´ public string? FPlanFinishDate { get; set; } // é¢è®¡å®å·¥æ¶é´ public string? FStockInLimitH { get; set; } // å ¥åºä¸é public string? FStockInLimitL { get; set; } // å ¥åºä¸é public string? FMTONO { get; set; } // 计åè·è¸ªå· public string? FLot { get; set; } // æ¹å· public string? FBomId { get; set; } // BOMçæ¬¡ public string? F_UNW_XSDDH { get; set; } // éå®è®¢åå· public string? FCreateType { get; set; } // çææ¹å¼ public string? FSUBID { get; set; } // ERPç产订åID public string? FSUBBILLNOSEQ { get; set; } // ERPç产订ååºå· public string? FSUBBILLNO { get; set; } // ERPç产订ååå· public string? FSrcBillType { get; set; } // æºåç±»å public string? FSrcBillNo { get; set; } // æºåç¼å· public string? FSrcBillEntrySeq { get; set; } // æºååå½è¡å· public string? FSALEORDERNO { get; set; } // éæ±åæ®å· public string? FSaleOrderEntrySeq { get; set; } // 鿱忮è¡å· public string? FFORCECLOSERID { get; set; } // ç»æ¡äºº public string? FCloseType { get; set; } // ç»æ¡ç±»å public string? FDescription { get; set; } // 夿³¨ public string? FPPOMID { get; set; } // ERPID public string? FSUBENTRYID { get; set; } // ERPç产订ååå½å ç public string? FPurOrderNo { get; set; } // éè´è®¢å public string? FPurOrderEntrySeq { get; set; } // éè´è®¢åè¡å· public string? FBaseStockInQty { get; set; } // å ¥åºæ°é public string? FBaseNoStockInQty { get; set; } // æªå ¥åºæ°é public string? FInStockOwnerId { get; set; } // å ¥åºè´§ä¸» // public string? FSUPPLIERID { get; set; } // ä¾åºåID } MES.Service/Dto/webApi/ErpProductionOrderSubDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ namespace MES.Service.Dto.webApi; public class ErpProductionOrderSubDto { public string? FSEQ { get; set; } // åºå· public string? FMaterialID2 { get; set; } // åé¡¹ç©æç¼ç public string? FMustQty { get; set; } // éé¢ç¨é public string? FPickedQty { get; set; } // å·²é¢ç¨é public string? FPositionNO { get; set; } // ä½ç½®å· public string? FOwnerID { get; set; } // 货主 public string? FMTONO { get; set; } // 计åè·è¸ªå· public string? FLot { get; set; } // æ¹å· public string? FStockID { get; set; } // ä»åº public string? FIssueType { get; set; } // åææ¹å¼ public string? FUnitID2 { get; set; } // åä½ public string? FSupplyType { get; set; } // ä¾åºç±»å public string? FNumerator { get; set; } // åå public string? FDenominator { get; set; } // 忝 public string? FPPOMENTRYID { get; set; } // ERPID public string? FPPOMID { get; set; } // ERP头ID public string? FFixScrapQty { get; set; } // åºå®æè public string? FScrapRate { get; set; } // å卿èç% public string? FMaterialType { get; set; } // å项类å public string? FUnitID3 { get; set; } // å项类å public string? FReplaceGroup { get; set; } // é¡¹æ¬¡å· public string? FOwnerTypeId { get; set; } // 货主类å public string? FOwnerID2 { get; set; } // 货主 public string? FSUBENTRYID { get; set; } // ERPç产订ååå½å ç } MES.Service/Dto/webApi/ErpWYOrder.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ namespace MES.Service.Dto.webApi; public class ErpWYOrder { public ErpProductionOrderDto OrderDto { get; set; } public List<ErpProductionOrderSubDto> Items { get; set; } } MES.Service/Modes/MessageCenter.cs
@@ -85,7 +85,7 @@ /// æ¹æ¬¡id /// </summary> [SugarColumn(ColumnName = "pid")] public int? Pid { get; set; } public Guid? Pid { get; set; } /// <summary> /// æ§è¡é¡ºåº MES.Service/Modes/ProductionOrder.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,330 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// ç产订å表(å§å¤) /// </summary> [SugarTable("PRODUCTION_ORDER")] public class ProductionOrder { /// <summary> /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary> /// åæ®ç¼å· /// </summary> [SugarColumn(ColumnName = "ORDER_NO")] public string? OrderNo { get; set; } /// <summary> /// è´´çå·¥èºå±æ§ /// </summary> [SugarColumn(ColumnName = "SMT_PROCESS_ATTR")] public string? SmtProcessAttr { get; set; } /// <summary> /// ä»åº /// </summary> [SugarColumn(ColumnName = "WAREHOUSE")] public string? Warehouse { get; set; } /// <summary> /// åæ®æ¥æ /// </summary> [SugarColumn(ColumnName = "ORDER_DATE")] public DateTime? OrderDate { get; set; } /// <summary> /// åæ®ç±»å /// </summary> [SugarColumn(ColumnName = "ORDER_TYPE")] public string? OrderType { get; set; } /// <summary> /// ä¸å¡ç¶æ 1计å确认 2ä¸è¾¾ 3å¼å·¥ 4å®å·¥ 5ç»æ¡ /// </summary> [SugarColumn(ColumnName = "BUSINESS_STATUS")] public string? BusinessStatus { get; set; } /// <summary> /// 产åç¼ç /// </summary> [SugarColumn(ColumnName = "PRODUCT_CODE")] public string? ProductCode { get; set; } /// <summary> /// åä½ /// </summary> [SugarColumn(ColumnName = "UNIT")] public string? Unit { get; set; } /// <summary> /// 工忰é /// </summary> [SugarColumn(ColumnName = "WORK_ORDER_QTY")] public decimal? WorkOrderQty { get; set; } /// <summary> /// 计åç» /// </summary> [SugarColumn(ColumnName = "PLANNING_GROUP")] public string? PlanningGroup { get; set; } /// <summary> /// 计åå /// </summary> [SugarColumn(ColumnName = "PLANNER")] public string? Planner { get; set; } /// <summary> /// é¢è®¡å¼å·¥æ¶é´ /// </summary> [SugarColumn(ColumnName = "ESTIMATED_START_TIME")] public DateTime? EstimatedStartTime { get; set; } /// <summary> /// é¢è®¡å®å·¥æ¶é´ /// </summary> [SugarColumn(ColumnName = "ESTIMATED_END_TIME")] public DateTime? EstimatedEndTime { get; set; } /// <summary> /// 计åä¸è¾¾æ¥æ /// </summary> [SugarColumn(ColumnName = "PLAN_RELEASE_DATE")] public DateTime? PlanReleaseDate { get; set; } /// <summary> /// å ¥åºä¸é /// </summary> [SugarColumn(ColumnName = "STORAGE_UPPER_LIMIT")] public decimal? StorageUpperLimit { get; set; } /// <summary> /// å ¥åºä¸é /// </summary> [SugarColumn(ColumnName = "STORAGE_LOWER_LIMIT")] public decimal? StorageLowerLimit { get; set; } /// <summary> /// 计åè·è¸ªå· /// </summary> [SugarColumn(ColumnName = "TRACKING_NO")] public string? TrackingNo { get; set; } /// <summary> /// æ¹å· /// </summary> [SugarColumn(ColumnName = "BATCH_NO")] public string? BatchNo { get; set; } /// <summary> /// BOMçæ¬¡ /// </summary> [SugarColumn(ColumnName = "BOM_VERSION")] public string? BomVersion { get; set; } /// <summary> /// éå®è®¢åå· /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_NO")] public string? SalesOrderNo { get; set; } /// <summary> /// éå®è®¢åè¡å· /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_LINE_NO")] public string? SalesOrderLineNo { get; set; } /// <summary> /// çææ¹å¼ /// </summary> [SugarColumn(ColumnName = "GENERATION_METHOD")] public string? GenerationMethod { get; set; } /// <summary> /// ERPç产订åID /// </summary> [SugarColumn(ColumnName = "ERP_PRODUCTION_ORDER_ID")] public string? ErpProductionOrderId { get; set; } /// <summary> /// ERPç产订ååºå· /// </summary> [SugarColumn(ColumnName = "ERP_PRODUCTION_ORDER_LINE_NO")] public string? ErpProductionOrderLineNo { get; set; } /// <summary> /// ERPç产订ååå· /// </summary> [SugarColumn(ColumnName = "ERP_PRODUCTION_ORDER_NO")] public string? ErpProductionOrderNo { get; set; } /// <summary> /// æºåç±»å /// </summary> [SugarColumn(ColumnName = "SOURCE_ORDER_TYPE")] public string? SourceOrderType { get; set; } /// <summary> /// æºåç¼å· /// </summary> [SugarColumn(ColumnName = "SOURCE_ORDER_NO")] public string? SourceOrderNo { get; set; } /// <summary> /// æºååå½è¡å· /// </summary> [SugarColumn(ColumnName = "SOURCE_ORDER_ENTRY_NO")] public string? SourceOrderEntryNo { get; set; } /// <summary> /// éæ±åæ®å· /// </summary> [SugarColumn(ColumnName = "DEMAND_ORDER_NO")] public string? DemandOrderNo { get; set; } /// <summary> /// 鿱忮è¡å· /// </summary> [SugarColumn(ColumnName = "DEMAND_ORDER_LINE_NO")] public string? DemandOrderLineNo { get; set; } /// <summary> /// ç»æ¡äºº /// </summary> [SugarColumn(ColumnName = "CLOSING_PERSON")] public string? ClosingPerson { get; set; } /// <summary> /// ç»æ¡ç±»å /// </summary> [SugarColumn(ColumnName = "CLOSING_TYPE")] public string? ClosingType { get; set; } /// <summary> /// æºæå订åç¼å· /// </summary> [SugarColumn(ColumnName = "SPLIT_ORDER_NO")] public string? SplitOrderNo { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(ColumnName = "REMARKS")] public string? Remarks { get; set; } /// <summary> /// ERPID /// </summary> [SugarColumn(ColumnName = "ERP_ID")] public string? ErpId { get; set; } /// <summary> /// ERPç产订ååå½å ç /// </summary> [SugarColumn(ColumnName = "ERP_PRODUCTION_ENTRY_CODE")] public string? ErpProductionEntryCode { get; set; } /// <summary> /// éè´è®¢å /// </summary> [SugarColumn(ColumnName = "PURCHASEORDERNO")] public string? Purchaseorderno { get; set; } /// <summary> /// éè´è®¢åè¡å· /// </summary> [SugarColumn(ColumnName = "PURCHASEORDERENTRYSEQ")] public int? Purchaseorderentryseq { get; set; } /// <summary> /// æ åç¹æ° /// </summary> [SugarColumn(ColumnName = "STANDARDPOINTS")] public decimal? Standardpoints { get; set; } /// <summary> /// è®¡ä»·ç¹æ° /// </summary> [SugarColumn(ColumnName = "PRICINGPOINTS")] public decimal? Pricingpoints { get; set; } /// <summary> /// å ¥åºæ°é /// </summary> [SugarColumn(ColumnName = "STOCKINQTY")] public decimal? Stockinqty { get; set; } /// <summary> /// æªå ¥åºæ°é /// </summary> [SugarColumn(ColumnName = "NOSTOCKINQTY")] public decimal? Nostockinqty { get; set; } /// <summary> /// å ¥åºè´§ä¸» /// </summary> [SugarColumn(ColumnName = "STOCKOWNER")] public string? Stockowner { get; set; } /// <summary> /// å®¡æ ¸ç¶æ /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "AUDIT_STATUS")] public int? AuditStatus { get; set; } /// <summary> /// å®¡æ ¸äºº /// </summary> [SugarColumn(ColumnName = "AUDITOR")] public string? Auditor { get; set; } /// <summary> /// å®¡æ ¸æ¶é´ /// </summary> [SugarColumn(ColumnName = "AUDIT_DATE")] public DateTime? AuditDate { get; set; } /// <summary> /// éç¥å¤æç¶æ /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "PREPARE_FLAG")] public int? PrepareFlag { get; set; } /// <summary> /// éç¥å¤æäºº /// </summary> [SugarColumn(ColumnName = "PREPARER")] public string? Preparer { get; set; } /// <summary> /// éç¥å¤ææ¶é´ /// </summary> [SugarColumn(ColumnName = "PREPARE_DATE")] public DateTime? PrepareDate { get; set; } /// <summary> /// ä¾åç¼ç /// </summary> [SugarColumn(ColumnName = "SUPP_NO")] public string? SuppNo { get; set; } /// <summary> /// 夿宿æ¶é´ /// </summary> [SugarColumn(ColumnName = "PREPARE_COMP_DATE")] public DateTime? PrepareCompDate { get; set; } /// <summary> /// 夿宿æ è¯ /// </summary> [SugarColumn(ColumnName = "PREPARE_COMP_FLAG")] public int? PrepareCompFlag { get; set; } } MES.Service/Modes/ProductionOrderSub.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,248 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// ç产订å表(å§å¤) å表 /// </summary> [SugarTable("PRODUCTION_ORDER_SUB")] public class ProductionOrderSub { /// <summary> /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary> /// å·¥ååå· /// </summary> [SugarColumn(ColumnName = "WORK_ORDER_NO")] public string? WorkOrderNo { get; set; } /// <summary> /// åºå· /// </summary> [SugarColumn(ColumnName = "SEQUENCE_NO")] public int? SequenceNo { get; set; } /// <summary> /// ææç¼ç /// </summary> [SugarColumn(ColumnName = "MATERIAL_CODE")] public string? MaterialCode { get; set; } /// <summary> /// éé¢ç¨é /// </summary> [SugarColumn(ColumnName = "REQUIRED_QTY")] public decimal? RequiredQty { get; set; } /// <summary> /// å·²é¢ç¨é /// </summary> [SugarColumn(ColumnName = "ISSUED_QTY")] public decimal? IssuedQty { get; set; } /// <summary> /// ä½ç½®å· /// </summary> [SugarColumn(ColumnName = "LOCATION_NO")] public string? LocationNo { get; set; } /// <summary> /// ä¾åºç»ç» /// </summary> [SugarColumn(ColumnName = "SUPPLYING_ORG")] public string? SupplyingOrg { get; set; } /// <summary> /// åæç»ç» /// </summary> [SugarColumn(ColumnName = "ISSUING_ORG")] public string? IssuingOrg { get; set; } /// <summary> /// 货主 /// </summary> [SugarColumn(ColumnName = "STOCK_OWNER")] public string? StockOwner { get; set; } /// <summary> /// 计åè·è¸ªå· /// </summary> [SugarColumn(ColumnName = "TRACKING_NO")] public string? TrackingNo { get; set; } /// <summary> /// æ¹å· /// </summary> [SugarColumn(ColumnName = "BATCH_NO")] public string? BatchNo { get; set; } /// <summary> /// ä»åº /// </summary> [SugarColumn(ColumnName = "WAREHOUSE")] public string? Warehouse { get; set; } /// <summary> /// åææ¹å¼ /// </summary> [SugarColumn(ColumnName = "ISSUING_METHOD")] public string? IssuingMethod { get; set; } /// <summary> /// å·¥èº /// </summary> [SugarColumn(ColumnName = "PROCESS")] public string? Process { get; set; } /// <summary> /// åä½ /// </summary> [SugarColumn(ColumnName = "UNIT")] public string? Unit { get; set; } /// <summary> /// å项åä½ /// </summary> [SugarColumn(ColumnName = "UNIT2")] public string? Unit2 { get; set; } /// <summary> /// ä¾åºç±»å /// </summary> [SugarColumn(ColumnName = "SUPPLYING_TYPE")] public string? SupplyingType { get; set; } /// <summary> /// ç»æç¨é /// </summary> [SugarColumn(ColumnName = "COMPOSITION_QTY")] public decimal? CompositionQty { get; set; } /// <summary> /// æ¯å¦æ¿æ /// </summary> [SugarColumn(ColumnName = "IS_SUBSTITUTE")] public string? IsSubstitute { get; set; } /// <summary> /// åå /// </summary> [SugarColumn(ColumnName = "NUMERATOR")] public decimal? Numerator { get; set; } /// <summary> /// 忝 /// </summary> [SugarColumn(ColumnName = "DENOMINATOR")] public decimal? Denominator { get; set; } /// <summary> /// ERPID /// </summary> [SugarColumn(ColumnName = "ERP_ID")] public string? ErpId { get; set; } /// <summary> /// ERP头ID /// </summary> [SugarColumn(ColumnName = "ERP_HEADER_ID")] public string? ErpHeaderId { get; set; } /// <summary> /// åºå®æè /// </summary> [SugarColumn(ColumnName = "FIXED_LOSS")] public decimal? FixedLoss { get; set; } /// <summary> /// å卿èç% /// </summary> [SugarColumn(ColumnName = "VARIABLE_LOSS_RATE")] public decimal? VariableLossRate { get; set; } /// <summary> /// å项类å /// </summary> [SugarColumn(ColumnName = "SUB_ITEM_TYPE")] public string? SubItemType { get; set; } /// <summary> /// å项åä½ /// </summary> [SugarColumn(ColumnName = "SUB_ITEM_UNIT")] public string? SubItemUnit { get; set; } /// <summary> /// éå®è®¢åå· /// </summary> [SugarColumn(ColumnName = "SALES_ORDER_NO")] public string? SalesOrderNo { get; set; } /// <summary> /// é¡¹æ¬¡å· /// </summary> [SugarColumn(ColumnName = "ITEM_NO")] public string? ItemNo { get; set; } /// <summary> /// åæç»ç» /// </summary> [SugarColumn(ColumnName = "ISSUING_ORG_2")] public string? IssuingOrg2 { get; set; } /// <summary> /// 货主类å /// </summary> [SugarColumn(ColumnName = "OWNER_TYPE")] public string? OwnerType { get; set; } /// <summary> /// 货主 /// </summary> [SugarColumn(ColumnName = "OWNER")] public string? Owner { get; set; } /// <summary> /// ä¾åºç»ç» /// </summary> [SugarColumn(ColumnName = "SUPPLYING_ORG_2")] public string? SupplyingOrg2 { get; set; } /// <summary> /// å¶ç¨ä¸è¯éææ°é /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "TLNUM1")] public int? Tlnum1 { get; set; } /// <summary> /// æ¥æä¸è¯éææ°é /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "TLNUM2")] public int? Tlnum2 { get; set; } /// <summary> /// è¯åéææ°é /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "TLNUM3")] public int? Tlnum3 { get; set; } /// <summary> /// è¡¥ææ°é /// é»è®¤å¼: ((0)) /// </summary> [SugarColumn(ColumnName = "BLNUM")] public int? Blnum { get; set; } /// <summary> /// ERPç产订ååå½å ç /// </summary> [SugarColumn(ColumnName = "ERP_PRODUCTION_ENTRY_CODE")] public string? ErpProductionEntryCode { get; set; } } MES.Service/service/BasicData/ProductionOrderManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,205 @@ using System.Globalization; using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using MES.Service.util; using SqlSugar; namespace MES.Service.service.BasicData; public class ProductionOrderManager : Repository<ProductionOrder> { //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ private readonly ProductionOrderSubManager _productionOrderSubManager = new(); //ErpWYOrder public bool Save(ErpWYOrder wyOrder) { var erpProductionOrderDto = wyOrder.OrderDto; var mesRohIn = ConvertErpToProductionOrder(erpProductionOrderDto); var mesRohInDatas = ConvertErpToProductionOrderSub(wyOrder.Items); return UseTransaction(db => { switch (erpProductionOrderDto.Type) { // case "2": // return InsertData(db, mesRohIn, mesRohInDatas, // rohInErpRohIn.FBILLTYPE) // ? 1 // : 0; case "3": return UpdateData(db, mesRohIn, mesRohInDatas) ? 1 : 0; case "2": case "4": return SaveOrUpdateData(db, mesRohIn, mesRohInDatas, erpProductionOrderDto.Type) ? 1 : 0; default: throw new NotImplementedException( $"type没æ{erpProductionOrderDto.Type}è¿ä¸ªç±»å"); } }) > 0; } private bool UpdateData(SqlSugarScope db, ProductionOrder mesRohIn, List<ProductionOrderSub> mesRohInDatas) { var decimals = mesRohInDatas.Select(s => s.Guid).ToArray(); var update = db.Deleteable<ProductionOrder>() .Where(s => s.Guid == mesRohIn.Guid) .ExecuteCommand() > 0; var insertOrUpdate = db .Deleteable<ProductionOrderSub>() .Where(s => decimals.Contains(s.Guid)) .ExecuteCommand() > 0; if (update && insertOrUpdate) return true; throw new NotImplementedException("æ´æ°å¤±è´¥"); } // æå ¥ææ´æ°æ°æ®çæ¹æ³ private bool SaveOrUpdateData(SqlSugarScope db, ProductionOrder mesRohIn, List<ProductionOrderSub> mesRohInDatas, string type) { if (StringUtil.CheckGuid(mesRohIn.Guid)) db.Deleteable<ProductionOrder>() .Where(s => s.Guid == mesRohIn.Guid) .ExecuteCommand(); if (mesRohInDatas.Count > 0) db.Deleteable<ProductionOrderSub>() .Where(s => s.ErpHeaderId == mesRohIn.ErpId).ExecuteCommand(); var orUpdate = base.Insert(mesRohIn); var baOrUpdate = _productionOrderSubManager.InsertRange(mesRohInDatas); if (orUpdate && baOrUpdate) return true; throw new NotImplementedException("æå ¥ææ´æ°å¤±è´¥"); } // æ¹éä¿åè®°å½çæ¹æ³ public bool SaveList(List<ErpWYOrder> rohIns) { var result = rohIns.Select(Save).ToList(); return result.All(b => b); } private ProductionOrder ConvertErpToProductionOrder( ErpProductionOrderDto erpDto) { DateTime parsedDate; // æ¶é´æ ¼å¼è½¬æ¢å½æ°ï¼ERPæ¶é´æ ¼å¼ä¸º "yyyy-MM-dd HH:mm:ss.fff" DateTime? ParseDateTime(string dateStr) { if (DateTime.TryParseExact(dateStr, "yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate)) return parsedDate; return null; // å¦æè½¬æ¢å¤±è´¥ï¼è¿ånull } var productionOrder = new ProductionOrder { OrderNo = erpDto.FBillNo, Warehouse = erpDto.FStockID, OrderDate = ParseDateTime(erpDto.FDate) ?? null, OrderType = erpDto.FBillType, BusinessStatus = erpDto.FStatus, ProductCode = erpDto.FMaterialId, Unit = erpDto.FUnitID, WorkOrderQty = Convert.ToDecimal(erpDto.FQty), PlanningGroup = erpDto.FWorkGroupId, Planner = erpDto.FPlannerID, EstimatedStartTime = ParseDateTime(erpDto.FPlanStartDate) ?? null, EstimatedEndTime = ParseDateTime(erpDto.FPlanFinishDate) ?? null, StorageUpperLimit = Convert.ToDecimal(erpDto.FStockInLimitH), StorageLowerLimit = Convert.ToDecimal(erpDto.FStockInLimitL), TrackingNo = erpDto.FMTONO, BatchNo = erpDto.FLot, BomVersion = erpDto.FBomId, SalesOrderNo = erpDto.F_UNW_XSDDH, GenerationMethod = erpDto.FCreateType, ErpProductionOrderId = erpDto.FSUBID, ErpProductionOrderLineNo = erpDto.FSUBBILLNOSEQ, ErpProductionOrderNo = erpDto.FSUBBILLNO, SourceOrderType = erpDto.FSrcBillType, SourceOrderNo = erpDto.FSrcBillNo, SourceOrderEntryNo = erpDto.FSrcBillEntrySeq, DemandOrderNo = erpDto.FSALEORDERNO, DemandOrderLineNo = erpDto.FSaleOrderEntrySeq, ClosingPerson = erpDto.FFORCECLOSERID, ClosingType = erpDto.FCloseType, Remarks = erpDto.FDescription, ErpId = erpDto.FPPOMID, ErpProductionEntryCode = erpDto.FSUBENTRYID, Purchaseorderno = erpDto.FPurOrderNo, Purchaseorderentryseq = Convert.ToInt32(erpDto.FPurOrderEntrySeq), Stockinqty = Convert.ToDecimal(erpDto.FBaseStockInQty), Nostockinqty = Convert.ToDecimal(erpDto.FBaseNoStockInQty), Stockowner = erpDto.FInStockOwnerId }; var single = base.GetSingle(it => it.ErpId == erpDto.FPPOMID); if (single != null) productionOrder.Guid = single.Guid; return productionOrder; } private List<ProductionOrderSub> ConvertErpToProductionOrderSub( List<ErpProductionOrderSubDto> erpDtoList) { var productionOrderSubList = new List<ProductionOrderSub>(); foreach (var erpDto in erpDtoList) { var productionOrderSub = new ProductionOrderSub { SequenceNo = Convert.ToInt32(erpDto.FSEQ), MaterialCode = erpDto.FMaterialID2, RequiredQty = Convert.ToDecimal(erpDto.FMustQty), IssuedQty = Convert.ToDecimal(erpDto.FPickedQty), LocationNo = erpDto.FPositionNO, StockOwner = erpDto.FOwnerID, TrackingNo = erpDto.FMTONO, BatchNo = erpDto.FLot, Warehouse = erpDto.FStockID, IssuingMethod = erpDto.FIssueType, Unit = erpDto.FUnitID2, Unit2 = erpDto.FUnitID3, SupplyingType = erpDto.FSupplyType, Numerator = Convert.ToDecimal(erpDto.FNumerator), Denominator = Convert.ToDecimal(erpDto.FDenominator), ErpId = erpDto.FPPOMENTRYID, ErpHeaderId = erpDto.FPPOMID, FixedLoss = Convert.ToDecimal(erpDto.FFixScrapQty), VariableLossRate = Convert.ToDecimal(erpDto.FScrapRate), SubItemType = erpDto.FMaterialType, ItemNo = erpDto.FReplaceGroup, OwnerType = erpDto.FOwnerTypeId, Owner = erpDto.FOwnerID2, ErpProductionEntryCode = erpDto.FSUBENTRYID }; var single = _productionOrderSubManager.GetSingle(it => it.ErpId == productionOrderSub.ErpId); if (single != null) productionOrderSub.Guid = single.Guid; productionOrderSubList.Add(productionOrderSub); } return productionOrderSubList; } } MES.Service/service/BasicData/ProductionOrderSubManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,78 @@ using MES.Service.DB; using MES.Service.Modes; using SqlSugar; namespace MES.Service.service.BasicData; public class ProductionOrderSubManager : Repository<ProductionOrderSub> { //å½å类已ç»ç»§æ¿äº Repository å¢ãå ãæ¥ãæ¹çæ¹æ³ //è¿éé¢åç代ç ä¸ä¼ç»è¦ç,妿è¦éæ°çæè¯·å é¤ ProductionOrderSubManager.cs #region æå¦æ¹æ³ /// <summary> /// ä»å¨æ¹æ³æ»¡è¶³ä¸äºå¤æä¸å¡éæ±ï¼ä¸å¡ä»£ç 请å¨è¿éé¢å®ä¹æ¹æ³ /// </summary> public void Study() { /*********æ¥è¯¢*********/ var data1 = base.GetById(1); //æ ¹æ®IDæ¥è¯¢ var data2 = base.GetList(); //æ¥è¯¢ææ var data3 = base.GetList(it => 1 == 1); //æ ¹æ®æ¡ä»¶æ¥è¯¢ //var data4 = base.GetSingle(it => 1 == 1);//æ ¹æ®æ¡ä»¶æ¥è¯¢ä¸æ¡,å¦æè¶ è¿ä¸æ¡ä¼æ¥é var p = new PageModel { PageIndex = 1, PageSize = 2 }; // å页æ¥è¯¢ var data5 = base.GetPageList(it => 1 == 1, p); Console.Write(p.TotalCount); //è¿åæ»æ° var data6 = base.GetPageList(it => 1 == 1, p, it => SqlFunc.GetRandom()); // å页æ¥è¯¢å æåº Console.Write(p.TotalCount); //è¿åæ»æ° var conModels = new List<IConditionalModel>(); //ç»è£ æ¡ä»¶æ¥è¯¢ä½ä¸ºæ¡ä»¶å®ç° å页æ¥è¯¢å æåº conModels.Add(new ConditionalModel { FieldName = typeof(ProductionOrderSub).GetProperties()[0].Name, ConditionalType = ConditionalType.Equal, FieldValue = "1" }); //id=1 var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom()); AsQueryable().Where(x => 1 == 1) .ToList(); //æ¯æäºè½¬æ¢æqueryable,æä»¬å¯ä»¥ç¨queryableå®ç°å¤æåè½ /*********æå ¥*********/ var insertData = new ProductionOrderSub(); //æµè¯åæ° var insertArray = new[] { insertData }; base.Insert(insertData); //æå ¥ base.InsertRange(insertArray); //æ¹éæå ¥ var id = base.InsertReturnIdentity(insertData); //æå ¥è¿åèªå¢å AsInsertable(insertData).ExecuteCommand(); //æä»¬å¯ä»¥è½¬æ Insertableå®ç°å¤ææå ¥ /*********æ´æ°*********/ var updateData = new ProductionOrderSub(); //æµè¯åæ° var updateArray = new[] { updateData }; //æµè¯åæ° base.Update(updateData); //æ ¹æ®å®ä½æ´æ° base.UpdateRange(updateArray); //æ¹éæ´æ° //base.Update(it => new ProductionOrderSub() { ClassName = "a", CreateTime = DateTime.Now }, it => it.id==1);// åªæ´æ°ClassNameååCreateTimeåï¼å ¶å®å䏿´æ°ï¼æ¡ä»¶id=1 AsUpdateable(updateData).ExecuteCommand(); //转æUpdateableå¯ä»¥å®ç°å¤æçæå ¥ /*********å é¤*********/ var deldata = new ProductionOrderSub(); //æµè¯åæ° base.Delete(deldata); //æ ¹æ®å®ä½å é¤ base.DeleteById(1); //æ ¹æ®ä¸»é®å é¤ base.DeleteById(new[] { 1, 2 }); //æ ¹æ®ä¸»é®æ°ç»å é¤ base.Delete(it => 1 == 2); //æ ¹æ®æ¡ä»¶å é¤ AsDeleteable().Where(it => 1 == 2) .ExecuteCommand(); //转æDeleteableå®ç°å¤æçæä½ } #endregion } MESApplication/Controllers/BasicData/ProductionOrderController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,260 @@ using System.Dynamic; using MES.Service.Dto.webApi; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.BasicData; using MES.Service.util; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace MESApplication.Controllers.BasicData; [ApiController] [Route("api/[controller]")] public class ProductionOrderController : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly ProductionOrderManager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "PRODUCTION_ORDER"; private readonly string URL = "http://localhost:10054/api/ProductionOrder/"; // [HttpPost("Save")] public ResponseResult Save(ErpWYOrder 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; 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<ErpWYOrder> 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] ProductionOrder 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] ProductionOrder 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] ProductionOrder 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); } } }