diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance.js index 0ab80b7b..9b550781 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/balance.js @@ -1,6 +1,118 @@ -import useVmi from "./vmi.js"; +import balanSchema from "./vmi.js"; -const schema = useVmi(); +function balanceSchema() { + return { + title: "寄售库存", + type: "object", + properties: { + realPartCode: { + title: "厂内零件号", + type: "string", + rules: [ + { + required: true, + }, + ], + }, + // custPartCode: { + // title: "客户零件号", + // type: "string", + // rules: [ + // { + // required: true, + // }, + // ], + // }, + // codeType, + // deliverBillType: Object.assign({ rules: [{ required: true }] }, deliverBillType), + qty: { + title: "数量", + type: "string", + input: "number", + rules: [ + { + required: true, + }, + ], + }, + billTime: { + title: "发运日期", + type: "string", + input: "datetime", + clearable: true, + }, + // assembleData: { + // title: "订单日期", + // type: "string", + // input: "datetime", + // }, + erpToLoc: { + title: "ERP库位", + type: "string", + rules: [ + { + required: true, + }, + ], + }, + // seq: { + // title: "EDI顺序号", + // type: "string", + // }, + // orderNum: { + // title: "客户订单号", + // type: "string", + // rules: [ + // { + // required: true, + // }, + // ], + // }, + // uniqueCode: { + // title: "塑件唯一码", + // type: "string", + // }, + // matchNumber: { + // title: "EDI总成号", + // type: "string", + // }, + // pjsNum: { + // title: "PJIS生产顺序号", + // type: "string", + // }, + // realCode: { + // title: "实际生产码", + // type: "string", + // }, + // configcode: { + // title: "配置码", + // type: "string", + // }, + // factory: { + // title: "工厂", + // type: "string", + // }, + // deliverSubBillType: Object.assign({ rules: [{ required: true }] }, deliverSubBillType), + vinCode: { + title: "EDI订单生产码", + type: "string", + rules: [ + { + required: true, + }, + ], + }, + // reMark: { + // title: "备注", + // type: "string", + // input: "textarea", + // }, + }, + }; +} + + +const schema = balanceSchema(); const baseUrl = "settleaccount/vmi"; const queryUrl = `${baseUrl}/balance`; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/vmi.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/vmi.js index a6eb138c..31d56fac 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/vmi.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/models/vmi/vmi.js @@ -112,6 +112,8 @@ function useSchema() { }; } + + function useLogSchema() { const result = useSchema(); result.properties = Object.assign( diff --git a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs index 5651ba66..6419897a 100644 --- a/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs +++ b/code/src/Modules/SettleAccount/src/SettleAccount.Application/Entities/BQ/VmiAppService.cs @@ -194,7 +194,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ /// /// [HttpPost] - public async Task> Balance(RequestDto input) + public async Task> Balance(RequestDto input) { var connectionString = this._serviceProvider.GetRequiredService().GetConnectionString("SettleAccountService"); @@ -208,7 +208,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ } query = string.IsNullOrEmpty(input.Sorting) ? query : DynamicQueryableExtensions.OrderBy(query, input.Sorting); - var query2 = query.GroupBy(o => new { o.ErpToLoc, o.RealPartCode, o.VinCode }).Select(o => new VmiBalanceDto { VinCode = o.Key.VinCode, ErpToLoc = o.Key.ErpToLoc, RealPartCode = o.Key.RealPartCode, Qty = o.Sum(o => o.ChangedQty), LastTime = o.Max(o => o.ChangedTime) }).Where(p => p.Qty != 0); + var query2 = query.GroupBy(o => new { o.ErpToLoc, o.RealPartCode, o.VinCode }).Select(o => new VmiBalanceNewDto { VinCode = o.Key.VinCode, ErpToLoc = o.Key.ErpToLoc, RealPartCode = o.Key.RealPartCode, Qty = o.Sum(o => o.ChangedQty), BillTime = o.Max(o => o.BillTime) }).Where(p => p.Qty != 0); var totalCount = query2.Count(); //query = string.IsNullOrEmpty(input.Sorting) ? query : DynamicQueryableExtensions.OrderBy(query, input.Sorting); //var query2 = query.GroupBy(o => new { o.ErpToLoc, o.RealPartCode,o.VinCode }).Select(o => new VmiBalanceDto { VinCode = o.Key.VinCode, ErpToLoc = o.Key.ErpToLoc, RealPartCode = o.Key.RealPartCode, Qty = o.Sum(o => o.Qty),LastTime=o.Max(o=>o.ChangedTime) }); @@ -216,7 +216,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var entities = await query2.PageBy(input.SkipCount, input.MaxResultCount).ToListAsync().ConfigureAwait(false); //var entities = await _balanceRepository.GetListByFilterAsync(input.Filters, input.Sorting, input.MaxResultCount, input.SkipCount, true).ConfigureAwait(false); //var totalCount = await _balanceRepository.GetCountByFilterAsync(input.Filters).ConfigureAwait(false); - return new PagedResultDto(totalCount, entities); + return new PagedResultDto(totalCount, entities); } /// @@ -231,14 +231,14 @@ namespace Win.Sfs.SettleAccount.Entities.BQ var connectionString = this._serviceProvider.GetRequiredService().GetConnectionString("SettleAccountService"); var options = new DbContextOptionsBuilder().UseSqlServer(connectionString).Options; using var db = new SettleAccountDbContext(options); - var query = db.Set().FromSqlRaw("select VinCode,ErpToLoc,RealPartCode,ChangedQty ,ChangedTime from Set_VmiLog"); + var query = db.Set().FromSqlRaw("select VinCode,ErpToLoc,RealPartCode,ChangedQty ,BillTime from Set_VmiLog"); var filters = input.Filters.ToLambda(); if (input.Filters.Count > 0) { query = query.Where(input.Filters.ToLambda()); } query = string.IsNullOrEmpty(input.Sorting) ? query : DynamicQueryableExtensions.OrderBy(query, input.Sorting); - var query2 = query.GroupBy(o => new { o.ErpToLoc, o.RealPartCode, o.VinCode }).Select(o => new VmiBalanceDto { VinCode = o.Key.VinCode, ErpToLoc = o.Key.ErpToLoc, RealPartCode = o.Key.RealPartCode, Qty = o.Sum(o => o.ChangedQty), LastTime = o.Max(o => o.ChangedTime) }).Where(p => p.Qty != 0); + var query2 = query.GroupBy(o => new { o.ErpToLoc, o.RealPartCode, o.VinCode }).Select(o => new VmiBalanceNewDto { VinCode = o.Key.VinCode, ErpToLoc = o.Key.ErpToLoc, RealPartCode = o.Key.RealPartCode, Qty = o.Sum(o => o.ChangedQty), BillTime = o.Max(o => o.BillTime) }).Where(p => p.Qty != 0); var entities = query2.ToList(); // var entities = await _balanceRepository.GetListByFilterAsync(input.Filters).ConfigureAwait(false); @@ -1317,12 +1317,34 @@ namespace Win.Sfs.SettleAccount.Entities.BQ [Display(Name = "数量", Order = 4)] public decimal Qty { get; set; } + [Display(Name = "最后更新时间", Order = 5)] public DateTime? LastTime { get; set; } } + public class VmiBalanceNewDto + { + [Display(Name = "生产码", Order = 1)] + public string VinCode { get; set; } + + [Display(Name = "ERP库位", Order = 2)] + public string ErpToLoc { get; set; } + + [Display(Name = "厂内零件号", Order = 3)] + public string RealPartCode { get; set; }//原始 + + [Display(Name = "数量", Order = 4)] + public decimal Qty { get; set; } + + [Display(Name = "发运时间", Order = 5)] + public DateTime? BillTime { get; set; } + + + } + +