Browse Source

修改发运同步表名称

master
mahao 1 year ago
parent
commit
9fe9be7f56
  1. 202
      code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs
  2. 9
      code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_JIS_RECORD.cs
  3. 9
      code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_JIT_RECORD.cs
  4. 9
      code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_OTHER_RECORD.cs
  5. 31
      code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/TEA_TASK_SUB.cs
  6. 6
      code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/TED_SA_INV.cs
  7. 5
      code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/ExChangeCenterDbContext.cs
  8. 17
      code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountEntityFrameworkCoreModule.cs
  9. 13
      code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/WMSBJBMPTDbContext.cs

202
code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/INVOICE_SERVICE.cs

@ -1,9 +1,14 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.DirectoryServices.ActiveDirectory;
using System.Linq;
using System.Reflection;
using System.Security.Policy;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.Drawing;
using DocumentFormat.OpenXml.Wordprocessing;
using EFCore.BulkExtensions;
using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Csv;
@ -11,6 +16,7 @@ using Magicodes.ExporterAndImporter.Excel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.CodeAnalysis.Operations;
using Microsoft.OpenApi.Writers;
using SettleAccount.Domain.BQ;
using ShardingCore.Extensions;
@ -27,11 +33,20 @@ using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.SettleAccount.Bases.DomainServices;
using Win.Sfs.SettleAccount.CommonManagers;
using Win.Sfs.SettleAccount.Constant;
using Win.Sfs.SettleAccount.Customers;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Managers;
using Win.Sfs.SettleAccount.Entities.BQ.Syncs;
using Win.Sfs.SettleAccount.Entities.BQ.Temp;
using Win.Sfs.SettleAccount.Entities.Invoices;
using Win.Sfs.SettleAccount.EntityFrameworkCore;
using Win.Sfs.SettleAccount.ExcelImporter;
using Win.Sfs.SettleAccount.ExportReports;
using Win.Sfs.SettleAccount.Suppliers;
using Win.Sfs.Shared;
using Win.Sfs.Shared.RepositoryBase;
using static Dm.parser.LVal;
using static LinqToDB.Sql;
namespace Win.Sfs.SettleAccount.Entities.BQ
{
@ -39,6 +54,19 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
[Route("api/settleaccount/[controller]/[action]")]
public class INVOICE_SERVICE : BASE_SERVICE
{
/// <summary>
/// 数据上下文
/// </summary>
private readonly SettleAccountDbContext _settleAccountDbContext;
/// <summary>
/// WMS数据上下文
/// </summary>
private readonly WMSBJBMPTDbContext _wmsBJBMPTContext;
/// <summary>
/// 数据中心S数据上下文
/// </summary>
private readonly ExChangeCenterDbContext _exChangeCenterDbContext;
private readonly INormalEfCoreRepository<INVOICE_GRP, Guid> _repository;
private readonly INormalEfCoreRepository<INVOICE_WAIT_DETAIL, Guid> _wRepository;
private readonly INormalEfCoreRepository<INVOICE_NOT_SETTLE, Guid> _sRepository;
@ -49,7 +77,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
private readonly HBPO_CAN_SA_MNG _hbpoMng;
private readonly INV_MNG _invMng;
private readonly BaseDomainService _baseservice;
public INVOICE_SERVICE(IExcelImportAppService excelImportService,
public INVOICE_SERVICE(
SettleAccountDbContext settleAccountDbContext,
WMSBJBMPTDbContext wmsBJBMPTContext,
ExChangeCenterDbContext exChangeCenterDbContext,
IExcelImportAppService excelImportService,
ISnowflakeIdGenerator snowflakeIdGenerator,
ICommonManager commonManager,
INormalEfCoreRepository<INVOICE_GRP, Guid> repository,
@ -65,6 +97,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
) : base(excelImportService, snowflakeIdGenerator, commonManager)
{
_settleAccountDbContext = settleAccountDbContext;
_wmsBJBMPTContext = wmsBJBMPTContext;
_exChangeCenterDbContext = exChangeCenterDbContext;
_baseservice = baseservice;
_repository = repository;
_wRepository = wRepository;
@ -77,6 +112,116 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
_invMng = invMng;
}
/// <summary>
/// 提交到QAD
/// </summary>
/// <remarks>
/// 已扣减发票提交到QAD
/// </remarks>
[HttpPost]
public virtual async Task<IActionResult> SubmitToQad(List<string> invbillNums)
{
var invoiceGrps = _settleAccountDbContext.Set<INVOICE_GRP>()
.Where(t => invbillNums.Contains(t.InvbillNum))
.Where(t => t.State == SettleBillState.)
.ToList();
invbillNums = invoiceGrps.Select(t => t.InvbillNum).ToList();
var invoiceGrpDetails = _settleAccountDbContext.Set<INVOICE_WAIT_DETAIL>()
.Where(t => invbillNums.Contains(t.InvbillNum))
.ToList();
var taskId = GuidGenerator.Create();
var teaTaskSub = new TEA_TASK_SUB()
{
GUID = taskId,
TaskState = 0,
TaskID = taskId,
TableName = "TED_SA_INV",
Creator = "SAS",
Subscriber = "QAD",
Domain = "BJBMPT",
Site = "BJ02",
CreateTime = DateTime.Now,
UpdateTime = DateTime.Now,
};
var tedSaInvs = invoiceGrpDetails.Join(invoiceGrps, x => x.InvbillNum, y => y.InvbillNum, (x, y) =>
{
return new TED_SA_INV()
{
GUID = GuidGenerator.Create(),
TaskID = taskId,
InvoiceNumber = y.RealnvBillNum,
SASInvoiceNumber = y.InvbillNum,
Customer = y.ClientCode,
BillTo = y.ClientCode,
InvoiceDate = y.CreationTime,
Site = "BJ02",
TYPE = default,
PartNumber = x.LU,
InvoiceQuatity = x.Qty,
Price = x.PRICE,
Supplier = default,
Remark = default,
InvoiceNetAmount = x.Amt,
InvoiceTaxAmount = x.Amt * 0.13m,
TaxRate = 0.13m,
Location = $"C{y.ClientCode}",
InvoiceNet = default,
InvoiceTax = default,
begintime = x.BeginDate,
endtime = x.EndDate,
Domain = "BJBMPT"
};
}).ToList();
var invoiceGrpTedSaInvs = invoiceGrps.Select(t =>
{
return new TED_SA_INV()
{
GUID = GuidGenerator.Create(),
TaskID = taskId,
UID = default,
InvoiceNumber = t.RealnvBillNum,
SASInvoiceNumber = t.InvbillNum,
Customer = t.ClientCode,
BillTo = t.ClientCode,
InvoiceDate = t.CreationTime,
Site = "BJ02",
TYPE = default,
PartNumber = default,
InvoiceQuatity = default,
Price = default,
Supplier = default,
Remark = default,
InvoiceNetAmount = default,
InvoiceTaxAmount = default,
TaxRate = 0.13m,
Location = $"C{t.ClientCode}",
InvoiceNet = t.Amt,
InvoiceTax = default,
begintime = default,
endtime = default,
Domain = "BJBMPT"
};
});
tedSaInvs.AddRange(invoiceGrpTedSaInvs);
if (tedSaInvs.Any())
{
await _exChangeCenterDbContext.Set<TEA_TASK_SUB>().AddAsync(teaTaskSub).ConfigureAwait(false);
await _exChangeCenterDbContext.Set<TED_SA_INV>().AddRangeAsync(tedSaInvs).ConfigureAwait(false);
await _exChangeCenterDbContext.SaveChangesAsync().ConfigureAwait(false);
invoiceGrps.ForEach(t => t.State = SettleBillState.QAD);
await _settleAccountDbContext.SaveChangesAsync().ConfigureAwait(false);
}
await Task.CompletedTask.ConfigureAwait(false);
return new OkResult();
}
/// <summary>
/// 通过审核
/// </summary>
@ -196,24 +341,24 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
{
INVOICE_WAIT_DETAIL_BJ_DTO bj = new INVOICE_WAIT_DETAIL_BJ_DTO();
bj.LU = itm.LU;
bj.InvbillNum=itm.InvbillNum;
bj.InvbillNum = itm.InvbillNum;
bj.PRICE = itm.PRICE;
// bj.InvGroupNum = itm.InvGroupNum;
bj.DeliveryIndexNumber =itm.GetProperty("DeliveryIndexNumber","");
bj.DeliveryIndexNumber = itm.GetProperty("DeliveryIndexNumber", "");
bj.Qty = itm.Qty;
bj.PRICE = itm.PRICE;
bj.Amt = Math.Round(itm.PRICE * itm.Qty, 2);
bj.RealAmt = Math.Round(Math.Round(itm.PRICE * itm.Qty, 2) * 0.13m, 2);
bj.TaxAmt = Math.Round(itm.PRICE * itm.Qty, 2) + Math.Round(Math.Round(itm.PRICE * itm.Qty, 2) * 0.13m, 2);
bj.Extend1=itm.Extend1;//合同号
bj.VendorCode = itm.GetProperty("VendorCode","");//供应商代码
bj.VendorName = itm.GetProperty("VendorName","");//供应商名称
bj.DeliveryNumber = itm.GetProperty("DeliveryNumber","");//交货号;
bj.PN = itm.GetProperty("PN","");//
bj.PO= itm.GetProperty("PO","");
bj.ProductionGroup = itm.GetProperty("PartGroup","");
bj.Extend1 = itm.Extend1;//合同号
bj.VendorCode = itm.GetProperty("VendorCode", "");//供应商代码
bj.VendorName = itm.GetProperty("VendorName", "");//供应商名称
bj.DeliveryNumber = itm.GetProperty("DeliveryNumber", "");//交货号;
bj.PN = itm.GetProperty("PN", "");//
bj.PO = itm.GetProperty("PO", "");
bj.ProductionGroup = itm.GetProperty("PartGroup", "");
bj.LineCode = itm.LineCode;
bj.BeginDate=itm.BeginDate;
bj.BeginDate = itm.BeginDate;
bj.EndDate = itm.EndDate;
//bj.DeliveryNumber = itm.GetProperty("DeliveryNumber", "");//交货号
//bj.InvbillNum = itm.GetProperty("InvoiceNumber", "");//发票号
@ -242,8 +387,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
//InvGroupNum = itm.InvGroupNum,
LU = itm.LU,
//PartCode = itm.PartCode,
PO=itm.PO,
PN=itm.PN,
PO = itm.PO,
PN = itm.PN,
PRICE = itm.PRICE,
Qty = itm.Qty,
Amt = itm.Amt,
@ -251,18 +396,18 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
VendorCode = itm.VendorCode,
VendorName = itm.VendorName,
// PurchaseOrderNumber = itm.PurchaseOrderNumber,
DeliveryIndexNumber = itm.DeliveryIndexNumber ,
DeliveryIndexNumber = itm.DeliveryIndexNumber,
Extend1 = itm.Extend1,
BeginDate = itm.BeginDate,
EndDate = itm.EndDate,
RealAmt=itm.RealAmt,
TaxAmt=itm.TaxAmt,
RealAmt = itm.RealAmt,
TaxAmt = itm.TaxAmt,
SettleDate = itm.SettleDate,
ProductionGroup=itm.ProductionGroup,
LineCode=itm.LineCode
ProductionGroup = itm.ProductionGroup,
LineCode = itm.LineCode
};
entity.INVOICE_WAIT_DETAIL_BJ = bjquery.OrderBy(p=>p.LineCode).ToList();
entity.INVOICE_WAIT_DETAIL_BJ = bjquery.OrderBy(p => p.LineCode).ToList();
}
else
@ -364,11 +509,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
.Select(p => new JIT_UNSETTLED_DETAIL_DTO { LU = p.Key.LU, GroupNum = p.Key.SettleGroupNum, Qty = p.Sum(itm => itm.Qty.Value) });
entity.JIT_UNSETTLED_DETAIL = unsettledList.ToList().OrderBy(p => p.GroupNum).ThenBy(p => p.LU).ToList();
}
if (first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType==EnumBusinessType.ZhiGongJianHBPO)
if (first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO)
{
entity.INVOICE_MAP_GROUP = lscompare.ToList().OrderBy(p => p.SettleGroupNum).ToList();//包含不可结结算分组号
}
if (first.BusinessType == EnumBusinessType.MaiDanJianHBPO )
if (first.BusinessType == EnumBusinessType.MaiDanJianHBPO)
{
//List<MAIDAN_HBPO_INVOICE_MAP_GROUP_DTO> maidan = new List<MAIDAN_HBPO_INVOICE_MAP_GROUP_DTO>();
@ -388,17 +533,18 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
List<MAIDAN_HBPO_UNSETTLED_DETAIL_DTO> unsettle = new List<MAIDAN_HBPO_UNSETTLED_DETAIL_DTO>();
foreach (var itm in sdtos)
{
unsettle.Add(new MAIDAN_HBPO_UNSETTLED_DETAIL_DTO() {
GroupNum=itm.SettleGroupNum,
LU=itm.LU,
PN=itm.Extend1,
unsettle.Add(new MAIDAN_HBPO_UNSETTLED_DETAIL_DTO()
{
GroupNum = itm.SettleGroupNum,
LU = itm.LU,
PN = itm.Extend1,
});
}
entity.MAIDAN_HBPO_UNSETTLED_DETAIL = unsettle;
}
entity.ADJ_DETAIL = adjQuery.ToList().OrderBy(p=>p.GroupNum).ThenBy(p=>p.LU).ToList();
entity.ADJ_DETAIL = adjQuery.ToList().OrderBy(p => p.GroupNum).ThenBy(p => p.LU).ToList();
return entity;
}
[HttpPost]
@ -482,7 +628,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
#endregion
// 发票分组
if (first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType==EnumBusinessType.ZhiGongJianHBPO)
if (first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO)
{
if (m != null)
{
@ -512,7 +658,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
}
}
//jis业务,发票分组对应关系,未结数据,调整数据
if (first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType==EnumBusinessType.ZhiGongJianHBPO)
if (first.BusinessType == EnumBusinessType.JisBBAC || first.BusinessType == EnumBusinessType.JisHBPO || first.BusinessType == EnumBusinessType.ZhiGongJianHBPO)
{
foreach (var itm in entities)
{

9
code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_JIS_RECORD.cs

@ -5,11 +5,12 @@ using System.ComponentModel.DataAnnotations.Schema;
namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs
{
#if DEBUG
//#if DEBUG
// [Table("TM_BJBMPT_JIS_RECORD")]
//#else
// [Table("EX_BJBMPT_JIS_RECORD")]
//#endif
[Table("TM_BJBMPT_JIS_RECORD")]
#else
[Table("EX_BJBMPT_JIS_RECORD")]
#endif
public class TM_BJBMPT_JIS_RECORD
{
[Key]

9
code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_JIT_RECORD.cs

@ -8,11 +8,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs
/// <summary>
/// Jis小件
/// </summary>
#if DEBUG
//#if DEBUG
// [Table("TM_BJBMPT_JIT_RECORD")]
//#else
// [Table("EX_BJBMPT_JIT_RECORD")]
//#endif
[Table("TM_BJBMPT_JIT_RECORD")]
#else
[Table("EX_BJBMPT_JIT_RECORD")]
#endif
public class TM_BJBMPT_JIT_RECORD
{
[Key]

9
code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/Syncs/TM_BJBMPT_OTHER_RECORD.cs

@ -8,11 +8,12 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Syncs
/// <summary>
/// Jit(非Jis)
/// </summary>
#if DEBUG
//#if DEBUG
// [Table("TM_BJBMPT_OTHER_RECORD")]
//#else
// [Table("EX_BJBMPT_OTHER_RECORD")]
//#endif
[Table("TM_BJBMPT_OTHER_RECORD")]
#else
[Table("EX_BJBMPT_OTHER_RECORD")]
#endif
public class TM_BJBMPT_OTHER_RECORD
{
[Key]

31
code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/TEA_TASK_SUB.cs

@ -0,0 +1,31 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Win.Sfs.SettleAccount.Entities.BQ
{
public class TEA_TASK_SUB
{
[Key]
public Guid GUID { get; set; }
public int TaskState { get; set; }
public Guid TaskID { get; set; }
public string TableName { get; set; }
public string TableName2 { get; set; }
public string TableName3 { get; set; }
public string Creator { get; set; }
public int DataCount { get; set; }
public string Subscriber { get; set; }
public int FailedCount { get; set; }
public string FailedInfo { get; set; }
public string Domain { get; set; }
public string Site { get; set; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UID { get; set; }
public string CreateUser { get; set; }
public DateTime CreateTime { get; set; }
public string Remark { get; set; }
public string UpdateUser { get; set; }
public DateTime UpdateTime { get; set; }
}
}

6
code/src/Modules/SettleAccount/src/SettleAccount.Domain/Entities/BQ/TED_SA_INV.cs

@ -1,14 +1,16 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Win.Sfs.SettleAccount.Entities.BQ
{
public class TED_SA_INV
{
[Key]
public Guid GUID { set; get; }
public Guid TaskID { set; get; }
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int UID { set; get; }
/// <summary>

5
code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/ExChangeCenterDbContext.cs

@ -9,10 +9,11 @@ namespace Win.Sfs.SettleAccount.EntityFrameworkCore
public class ExChangeCenterDbContext : DbContext
{
public DbSet<TEA_TASK_SUB> TEA_TASK_SUB { get; set; }
public DbSet<TED_SA_INV> TED_SA_INV { set; get; }
public ExChangeCenterDbContext(DbContextOptions<WMSBJBMPTDbContext> options) : base(options)
{
public ExChangeCenterDbContext(DbContextOptions<ExChangeCenterDbContext> options) : base(options)
{
}

17
code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/SettleAccountEntityFrameworkCoreModule.cs

@ -1,4 +1,6 @@
using System.Configuration;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AuditLogging.EntityFrameworkCore;
using Volo.Abp.Dapper;
@ -45,6 +47,7 @@ namespace Win.Sfs.SettleAccount
private static void ConfigureRepository(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
context.Services.AddAbpDbContext<SettleAccountDbContext>(options =>
{
options.AddDefaultRepositories();
@ -59,13 +62,13 @@ namespace Win.Sfs.SettleAccount
context.Services.AddDbContext<WMSBJBMPTDbContext>(options =>
{
//IConfiguration config = new ConfigurationBuilder()
// .SetBasePath(Directory.GetCurrentDirectory())
// .AddJsonFile("appsettings.json")
// .Build();
//var ConnectStr = config.GetConnectionString("WMSBJBMPT");
//optionsBuilder.UseSqlServer(ConnectStr);
options.UseSqlServer("Server=dev.ccwin-in.com,6208;Database=WMS_BJBMPT_2;User ID=sa;Password=ChangkeTec@2021;Trusted_Connection=False;TrustServerCertificate=True;");
options.UseSqlServer(configuration.GetConnectionString("WMSBJBMPT"));
//options.UseSqlServer("Server=dev.ccwin-in.com,6208;Database=WMS_BJBMPT_2;User ID=sa;Password=ChangkeTec@2021;Trusted_Connection=False;TrustServerCertificate=True;");
});
context.Services.AddDbContext<ExChangeCenterDbContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("ExChangeCenterService"));
});
// context.Services.AddTransient(typeof(IInventoryDetailRepository),

13
code/src/Modules/SettleAccount/src/SettleAccount.EntityFrameworkCore/EntityFrameworkCore/WMSBJBMPTDbContext.cs

@ -19,19 +19,6 @@ namespace Win.Sfs.SettleAccount.EntityFrameworkCore
{
}
//protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
//{
// if (!optionsBuilder.IsConfigured)
// {
// IConfiguration config = new ConfigurationBuilder()
// .SetBasePath(Directory.GetCurrentDirectory())
// .AddJsonFile("appsettings.json")
// .Build();
// var ConnectStr = config.GetConnectionString("WMSBJBMPT");
// optionsBuilder.UseSqlServer(ConnectStr);
// }
//}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);

Loading…
Cancel
Save