Jelajahi Sumber

公共方法获取单号

tangdi 2 tahun lalu
induk
melakukan
f6a91ff75b

+ 15 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/GetNbr.cs

@@ -0,0 +1,15 @@
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Business.ResourceExamineManagement.Dto
+{
+    [Keyless]
+    public class GetNbr
+    {
+        public string NbrResult { get; set; }
+    }
+}

+ 1 - 0
MicroServices/Business/Business.Application.Contracts/ResourceExamineManagement/Dto/POGroupDto.cs

@@ -1,4 +1,5 @@
 using Business.Domain;
+using Microsoft.EntityFrameworkCore;
 using System;
 using System.Collections.Generic;
 using System.Linq;

+ 12 - 5
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -295,6 +295,8 @@ namespace Business.ResourceExamineManagement
         /// </summary>
         private readonly MorderAppService _morderAppService;
 
+        private readonly SerialNumberAppService _serialNumberAppService;
+
         /// <summary>
         /// 计算BOM平铺物料情况
         /// </summary>
@@ -467,7 +469,8 @@ namespace Business.ResourceExamineManagement
             ISqlRepository<SAPInv> SAPInv,
             ISqlRepository<MonthlyShipmentPlan> monthlyShipmentPlan,
             IRepository<srm_purchase, long> srmPurchase,
-            IUnitOfWorkManager unitOfWorkManager
+            IUnitOfWorkManager unitOfWorkManager,
+            SerialNumberAppService serialNumberAppService
             )
         {
             _mes_technique = mes_technique;
@@ -555,7 +558,7 @@ namespace Business.ResourceExamineManagement
             _generalizedCodeMaster = generalizedCodeMaster;
             _unitOfWorkManager = unitOfWorkManager;
             _scheduleResultOpMaster = scheduleResultOpMaster;
-            _businessDbContext = businessDbContext;
+            _serialNumberAppService = serialNumberAppService;
         }
         #endregion
 
@@ -3493,15 +3496,19 @@ namespace Business.ResourceExamineManagement
 
         private void GenerateNbr(WorkOrdMaster workord,decimal cleanTime, LineMaster defaultLine, string userAccount, List<NbrMaster> nbrMasterList, List<NbrDetail> nbrDetailList, List<WorkOrdDetail> detail, List<ItemMaster> itemLocList, List<EmpWorkDutyMaster> ewdmList, string LocationTo,EmployeeMaster user,string TransType)
         {
-            var Nbr = GetMaxSerialNumber(417416915624005);
+            //var Nbr = GetMaxSerialNumber(417416915624005);
+            string Nbr = "";
             DateTime eff = workord.OrdDate.GetValueOrDefault().Date.AddDays(-1);
             DateTime start = eff.AddDays((double)(0 - cleanTime));
             if (start <= DateTime.Now.Date)
             {
                 start = DateTime.Now.Date;
             }
-            //string sql = "exec pr_SFM_GetOrdNbr @Domain='{0}',@NbrType='SM', @UserNo='{1}',@IsDopCall=1'";
-
+            var nbrlistDto = _serialNumberAppService.GetBillNo(workord.Domain, "SM", 1, userAccount, 1);
+            if (nbrlistDto.Any())
+            {
+                Nbr = nbrlistDto[0].NbrResult;
+            }
             var newNbr = new NbrMaster
             {
                 Domain = workord.Domain,

+ 26 - 1
MicroServices/Business/Business.Application/ResourceExamineManagement/SerialNumberAppService.cs

@@ -1,13 +1,22 @@
 using Business.Core.Utilities;
+using Business.EntityFrameworkCore;
+using Business.ResourceExamineManagement.Dto;
+using Microsoft.EntityFrameworkCore;
 using Microsoft.Extensions.Configuration;
+using Spire.Pdf.Exporting.XPS.Schema;
 using System;
+using System.Collections.Generic;
+using System.Linq;
 using Volo.Abp.Application.Services;
 
 namespace Business.ResourceExamineManagement
 {
     public class SerialNumberAppService : ApplicationService, ISerialNumberAppService
     {
-        public SerialNumberAppService() {
+        private readonly BusinessDbContext _businessDbContext;
+
+        public SerialNumberAppService(BusinessDbContext businessDbContext) {
+            _businessDbContext = businessDbContext;
         }
 
         /// <summary>
@@ -33,5 +42,21 @@ namespace Business.ResourceExamineManagement
             }
             return sn;
         }
+
+        /// <summary>
+        /// 获取单号
+        /// </summary>
+        /// <param name="domain"></param>
+        /// <param name="NbrType">类型</param>
+        /// <param name="Increment">步长</param>
+        /// <param name="UserNo">用户账号</param>
+        /// <param name="IsDopCall"></param>
+        /// <returns></returns>
+        public List<GetNbr> GetBillNo(string domain, string NbrType, int Increment, string UserNo, int IsDopCall)
+        {
+            string sql = string.Format("exec pr_SFM_GetOrdNbr @Domain='{0}',@NbrType='{1}', @Increment ={2}, @UserNo='{3}',@IsDopCall={4}", domain, NbrType, Increment, UserNo, IsDopCall);
+            var getnbr = _businessDbContext.GetNbr.FromSqlRaw(sql).ToList();
+            return getnbr;
+        }
     }
 }

+ 1 - 0
MicroServices/Business/Business.EntityFrameworkCore/Business.EntityFrameworkCore.csproj

@@ -27,6 +27,7 @@
   </ItemGroup>
 
   <ItemGroup>
+    <ProjectReference Include="..\Business.Application.Contracts\Business.Application.Contracts.csproj" />
     <ProjectReference Include="..\Business.Domain\Business.Domain.csproj" />
     <ProjectReference Include="..\Bussiness.MongoDB\Bussiness.MongoDB.csproj" />
   </ItemGroup>

+ 3 - 0
MicroServices/Business/Business.EntityFrameworkCore/EntityFrameworkCore/DOP/BusinessDbContext.cs

@@ -1,4 +1,5 @@
 using Business.Domain;
+using Business.ResourceExamineManagement.Dto;
 using Business.StructuredDB.MES;
 using Business.StructuredDB.Production;
 using Business.StructuredDB.Replenishment;
@@ -28,6 +29,8 @@ namespace Business.EntityFrameworkCore
 
         public DbSet<b_bom_pretreatment> b_bom_pretreatment { get; set; }
 
+        public DbSet<GetNbr> GetNbr { get; set; }
+
         #endregion
         #region MES
         public DbSet<mes_producedailyplan> mes_Producedailyplans { get; set; }