using Business.Core.Utilities;
using Business.EntityFrameworkCore;
using Business.ResourceExamineManagement.Dto;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
using Volo.Abp.Application.Services;
namespace Business.ResourceExamineManagement
{
public class SerialNumberAppService : ApplicationService
{
private readonly BusinessDbContext _businessDbContext;
public SerialNumberAppService(BusinessDbContext businessDbContext) {
_businessDbContext = businessDbContext;
}
///
/// 流水号生成
///
///
///
///
public string GetSerialNumber(long id)
{
string sn = string.Empty;
if (id > long.MinValue)
{
IConfiguration configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory).AddJsonFile("appsettings.json").Build();
var tfSite = configuration["appSettings:ThinkFlow"];
string url = tfSite + "/ThinkFlowApi/SerialNumber/GetMaxSerialNumber?id=" + id.ToString();
/*JObject jobect = new() {
{ "id", id }
};
string postJson = jobect.ToString();*/
string json = HttpHelper.HttpPost(url, "");
sn = json;
}
return sn;
}
///
/// 获取单号
///
///
/// 类型
/// 步长
/// 用户账号
///
///
public List GetBillNo(string domain, string NbrType, int Increment, string UserNo, int IsDopCall)
{
string sql = string.Format("CALL pr_SFM_GetOrdNbr('{0}', '{1}', {2}, '{3}', {4}, @NbrResult);", domain, NbrType, Increment, UserNo, IsDopCall);
var getnbr = _businessDbContext.GetNbr.FromSqlRaw(sql).ToList();
return getnbr;
}
///
/// 获取单号
///
///
/// 类型
/// 步长
/// 用户账号
///
///
public string GetSeqIdList(string domain, int Increment, int IsDopCall)
{
//CALL pr_SFM_GetSequenceID ('8010',1,@p_SequenceID,1,@p_ReturnMsg)
//string sql = string.Format("exec pr_SFM_GetSequenceID @Domain='{0}',@Increment={1},@IsDopCall={2}", domain, Increment, IsDopCall);
string sql = string.Format("CALL pr_SFM_GetSequenceID ('{0}',{1},@p_SequenceID,{2},@p_ReturnMsg);", domain, Increment, IsDopCall);
var rst = _businessDbContext.GetNbr.FromSqlRaw(sql).ToList();
if (rst.Any())
{
return rst[0].NbrResult.ToString();
}
return "";
}
}
}