|
|
@@ -0,0 +1,848 @@
|
|
|
+using Azure;
|
|
|
+using Business.Core.Enum;
|
|
|
+using Business.Core.Utilities;
|
|
|
+using Business.Domain;
|
|
|
+using Business.Dto;
|
|
|
+using Business.EntityFrameworkCore;
|
|
|
+using Business.EntityFrameworkCore.SqlRepositories;
|
|
|
+using Business.ResourceExamineManagement;
|
|
|
+using Business.ResourceExamineManagement.Dto;
|
|
|
+using Business.StructuredDB.MES.IC;
|
|
|
+using Business.VSM;
|
|
|
+using EFCore.BulkExtensions;
|
|
|
+using Microsoft.EntityFrameworkCore;
|
|
|
+using Microsoft.Extensions.Configuration;
|
|
|
+using MongoDB.Driver.Linq;
|
|
|
+using Newtonsoft.Json;
|
|
|
+using NLog;
|
|
|
+using System;
|
|
|
+using System.Collections.Generic;
|
|
|
+using System.Data;
|
|
|
+using System.Diagnostics.Metrics;
|
|
|
+using System.Linq;
|
|
|
+using System.Text;
|
|
|
+using System.Threading;
|
|
|
+using System.Threading.Tasks;
|
|
|
+using Volo.Abp.Application.Services;
|
|
|
+using Volo.Abp.Domain.Repositories;
|
|
|
+using Volo.Abp.MultiTenancy;
|
|
|
+using WkHtmlToPdfDotNet;
|
|
|
+using ZstdSharp.Unsafe;
|
|
|
+
|
|
|
+namespace Business.VSMManagement
|
|
|
+{
|
|
|
+ public class VSMAppService : ApplicationService,IVSMAppService
|
|
|
+ {
|
|
|
+ private readonly ISqlRepository<ItemMaster> _itemMaster;
|
|
|
+ private readonly ISqlRepository<InvTransHist> _invTransHist;
|
|
|
+ private readonly IRepository<srm_purchase> _srm_purchase;
|
|
|
+ private readonly IRepository<ic_item> _ic_item;
|
|
|
+ private readonly ISqlRepository<LocationDetail> _LocationDetail;
|
|
|
+ private readonly BusinessDbContext _businessDbContext;
|
|
|
+ public VSMAppService(
|
|
|
+ ISqlRepository<ItemMaster> itemMaster,
|
|
|
+ ISqlRepository<InvTransHist> invTransHist,
|
|
|
+ IRepository<srm_purchase> srm_purchase,
|
|
|
+ IRepository<ic_item> ic_item,
|
|
|
+ ISqlRepository<LocationDetail> locationDetail,
|
|
|
+ BusinessDbContext businessDbContext
|
|
|
+ )
|
|
|
+ {
|
|
|
+ _itemMaster = itemMaster;
|
|
|
+ _invTransHist = invTransHist;
|
|
|
+ _srm_purchase = srm_purchase;
|
|
|
+ _ic_item = ic_item;
|
|
|
+ _LocationDetail=locationDetail;
|
|
|
+ _businessDbContext = businessDbContext;
|
|
|
+ }
|
|
|
+ public string ValueFrequency(string Loc, string BeginDate, string EndDate, string KanBan, string Frequency)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var itemLoc = _LocationDetail.Select(a => a.Location == Loc && a.Domain == "8010");
|
|
|
+ var itemList = itemLoc.Select(a => a.ItemNum).Distinct().ToList();
|
|
|
+ ValueFrequencyDto dto = new ValueFrequencyDto();
|
|
|
+ DateTime beginDate = Convert.ToDateTime(BeginDate);
|
|
|
+ DateTime endDate = Convert.ToDateTime(EndDate);
|
|
|
+ var itemTranList=_invTransHist.Select(a => a.Loc == Loc && a.CreateTime >= beginDate && a.CreateTime < endDate && itemList.Contains(a.ItemNum));
|
|
|
+ List<ValueFrequencyKanBanDto> kanBanDtos = new List<ValueFrequencyKanBanDto>();
|
|
|
+ var icitems = _ic_item.GetListAsync(a => itemList.Contains(a.number)).Result;
|
|
|
+ var srm_purchases = _srm_purchase.GetListAsync(a => icitems.Select(b=>b.Id).ToList().Contains(a.icitem_id)).Result;
|
|
|
+
|
|
|
+ string sqldzd = @"select MATNR AS ItemNum,MAx(NETPR)*10 AS NETPR from SupplierStatement group by MATNR";
|
|
|
+ var dzdList = _businessDbContext.SupplierStatementDto.FromSqlRaw(sqldzd).ToList();
|
|
|
+
|
|
|
+ string sql = @"select a.Loc as Loc,BeginBalance,BeginBalance+QtyChange as BalanceNum,a.ItemNum,
|
|
|
+ (case when a.QtyChange>0 then a.QtyChange else 0 end) as QtyChangeAdvance,
|
|
|
+ (case when a.QtyChange<0 then abs(a.QtyChange) else 0 end) as QtyChangeOut,
|
|
|
+ a.LotSerial,a.createTime from InvTransHist a inner join (select itemnum,LotSerial,Max(CreateTime) AS CreateTime from
|
|
|
+ InvTransHist where loc='1001' and domain='8010' group by itemnum,LotSerial) b on a.ItemNum=b.ItemNum
|
|
|
+ and a.CreateTime=b.CreateTime and a.Loc='1001' and a.Domain='8010' and a.LotSerial=b.LotSerial";
|
|
|
+ var InvTransHistDto = _businessDbContext.InvTransHistDto.FromSqlRaw(sql).ToList();
|
|
|
+ itemList.ForEach(item =>
|
|
|
+ {
|
|
|
+ if(icitems.Any(a=>a.number==item))
|
|
|
+ {
|
|
|
+ ValueFrequencyKanBanDto itemKanBanDto = new ValueFrequencyKanBanDto();
|
|
|
+ itemKanBanDto.ItemNumber = item;
|
|
|
+ itemKanBanDto.ItemId = icitems.Find(a => a.number == item).Id;
|
|
|
+ itemKanBanDto.Model = icitems.Find(a => a.number == item).model;
|
|
|
+ itemKanBanDto.ItemName = icitems.Find(a => a.number == item).name;
|
|
|
+ itemKanBanDto.PLT = 14;
|
|
|
+ //供应提前期取货源清单最大值,没有默认14天
|
|
|
+ if (srm_purchases.Any(a => a.icitem_id == itemKanBanDto.ItemId && a.quota_rate.GetValueOrDefault() > 0))
|
|
|
+ {
|
|
|
+ itemKanBanDto.PLT = srm_purchases.Where(a => a.number == item && a.quota_rate.GetValueOrDefault() > 0).Max(a => a.lead_time).Value;
|
|
|
+ }
|
|
|
+ var entry = dzdList.FirstOrDefault(p => p.ItemNum == item);
|
|
|
+ if (entry != null)
|
|
|
+ {
|
|
|
+ itemKanBanDto.NETPR = entry.NETPR;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ itemKanBanDto.NETPR = 1 * 10;
|
|
|
+ }
|
|
|
+ //出库总数
|
|
|
+ var outstock = itemTranList.Where(a => a.ItemNum == item && a.QtyChange < 0).ToList();
|
|
|
+ itemKanBanDto.OutStockQty = Math.Abs(outstock.Sum(a => a.QtyChange).Value);
|
|
|
+
|
|
|
+ //库存数据取进出存期末数据
|
|
|
+ if(InvTransHistDto.Any(a=>a.ItemNum==item))
|
|
|
+ {
|
|
|
+ itemKanBanDto.Amount = InvTransHistDto.Where(a=>a.ItemNum==item).Sum(a=>a.BalanceNum)* itemKanBanDto.NETPR;
|
|
|
+ }
|
|
|
+ itemKanBanDto.MoveCount = itemTranList.Where(a => a.ItemNum == item && a.QtyChange < 0).Count();
|
|
|
+ int days = endDate.Subtract(beginDate).Days;
|
|
|
+ //同一天算1天
|
|
|
+ if (days == 0)
|
|
|
+ days = 1;
|
|
|
+ itemKanBanDto.ADU = itemKanBanDto.OutStockQty / days;
|
|
|
+ itemKanBanDto.Kanban = itemKanBanDto.ADU * itemKanBanDto.PLT;
|
|
|
+ kanBanDtos.Add(itemKanBanDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ decimal totalmoveCount = kanBanDtos.Sum(a=>a.MoveCount);
|
|
|
+ decimal totalAmount = kanBanDtos.Sum(a => a.Amount);
|
|
|
+ decimal avgmoveCount = kanBanDtos.Average(a => a.MoveCount);
|
|
|
+ kanBanDtos=kanBanDtos.OrderByDescending(a => a.Amount).ToList();
|
|
|
+ for (int i=0;i< kanBanDtos.Count;i++)
|
|
|
+ {
|
|
|
+ if (kanBanDtos[i].MoveCount > avgmoveCount)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].FMR = "F";
|
|
|
+ }
|
|
|
+ else if(kanBanDtos[i].MoveCount < avgmoveCount / 2)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].FMR = "R";
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ kanBanDtos[i].FMR = "M";
|
|
|
+ }
|
|
|
+
|
|
|
+ if(i<=kanBanDtos.Count*0.7)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].ABC = "A";
|
|
|
+ }else if(i>=kanBanDtos.Count*0.9)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].ABC = "C";
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ kanBanDtos[i].ABC = "B";
|
|
|
+ }
|
|
|
+ kanBanDtos[i].AmountTotal = totalAmount;
|
|
|
+ kanBanDtos[i].MovePencent = totalmoveCount == 0 ? 0 : kanBanDtos[i].MoveCount * 100 / totalmoveCount;
|
|
|
+ }
|
|
|
+ int totalCount = kanBanDtos.Count();
|
|
|
+ dto.jzpc1 = $"{kanBanDtos.Where(a => a.ABC == "A" && a.FMR == "R").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc2 = $"{kanBanDtos.Where(a => a.ABC == "A" && a.FMR == "M").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc3 = $"{kanBanDtos.Where(a => a.ABC == "A" && a.FMR == "F").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc4 = $"{kanBanDtos.Where(a => a.ABC == "B" && a.FMR == "R").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc5 = $"{kanBanDtos.Where(a => a.ABC == "B" && a.FMR == "M").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc6 = $"{kanBanDtos.Where(a => a.ABC == "B" && a.FMR == "F").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc7 = $"{kanBanDtos.Where(a => a.ABC == "C" && a.FMR == "R").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc8 = $"{kanBanDtos.Where(a => a.ABC == "C" && a.FMR == "M").Count()}/{kanBanDtos.Count}";
|
|
|
+ dto.jzpc9 = $"{kanBanDtos.Where(a => a.ABC == "C" && a.FMR == "F").Count()}/{kanBanDtos.Count}";
|
|
|
+ return JsonConvert.SerializeObject(dto);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return ex.Message;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public string ValueFrequencyDetail(string Loc, string BeginDate, string EndDate, string KanBan, string Frequency, string JZ, string PC)
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ List<ValueFrequencyDetailDto> dtos = new List<ValueFrequencyDetailDto>();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ var itemLoc = _LocationDetail.Select(a => a.Location == Loc && a.Domain == "8010");
|
|
|
+ var itemList = itemLoc.Select(a => a.ItemNum).Distinct().ToList();
|
|
|
+ ValueFrequencyDto dto = new ValueFrequencyDto();
|
|
|
+ DateTime beginDate = Convert.ToDateTime(BeginDate);
|
|
|
+ DateTime endDate = Convert.ToDateTime(EndDate);
|
|
|
+ var itemTranList = _invTransHist.Select(a => a.Loc == Loc && a.CreateTime >= beginDate && a.CreateTime < endDate && itemList.Contains(a.ItemNum));
|
|
|
+ List<ValueFrequencyKanBanDto> kanBanDtos = new List<ValueFrequencyKanBanDto>();
|
|
|
+ var icitems = _ic_item.GetListAsync(a => itemList.Contains(a.number)).Result;
|
|
|
+ var srm_purchases = _srm_purchase.GetListAsync(a => icitems.Select(b => b.Id).ToList().Contains(a.icitem_id)).Result;
|
|
|
+
|
|
|
+ string sqldzd = @"select MATNR AS ItemNum,MAx(NETPR)*10 AS NETPR from SupplierStatement group by MATNR";
|
|
|
+ var dzdList = _businessDbContext.SupplierStatementDto.FromSqlRaw(sqldzd).ToList();
|
|
|
+
|
|
|
+ string sql = @"select a.Loc as Loc,BeginBalance,BeginBalance+QtyChange as BalanceNum,a.ItemNum,
|
|
|
+ (case when a.QtyChange>0 then a.QtyChange else 0 end) as QtyChangeAdvance,
|
|
|
+ (case when a.QtyChange<0 then abs(a.QtyChange) else 0 end) as QtyChangeOut,
|
|
|
+ a.LotSerial,a.createTime from InvTransHist a inner join (select itemnum,LotSerial,Max(CreateTime) AS CreateTime from
|
|
|
+ InvTransHist where loc='1001' and domain='8010' group by itemnum,LotSerial) b on a.ItemNum=b.ItemNum
|
|
|
+ and a.CreateTime=b.CreateTime and a.Loc='1001' and a.Domain='8010' and a.LotSerial=b.LotSerial";
|
|
|
+ var InvTransHistDto = _businessDbContext.InvTransHistDto.FromSqlRaw(sql).ToList();
|
|
|
+ itemList.ForEach(item =>
|
|
|
+ {
|
|
|
+ if (icitems.Any(a => a.number == item))
|
|
|
+ {
|
|
|
+ ValueFrequencyKanBanDto itemKanBanDto = new ValueFrequencyKanBanDto();
|
|
|
+ itemKanBanDto.ItemNumber = item;
|
|
|
+ itemKanBanDto.ItemId = icitems.Find(a => a.number == item).Id;
|
|
|
+ itemKanBanDto.Model = icitems.Find(a => a.number == item).model;
|
|
|
+ itemKanBanDto.ItemName = icitems.Find(a => a.number == item).name;
|
|
|
+ itemKanBanDto.PLT = 14;
|
|
|
+ //供应提前期取货源清单最大值,没有默认14天
|
|
|
+ if (srm_purchases.Any(a => a.icitem_id == itemKanBanDto.ItemId && a.quota_rate.GetValueOrDefault() > 0))
|
|
|
+ {
|
|
|
+ itemKanBanDto.PLT = srm_purchases.Where(a => a.number == item && a.quota_rate.GetValueOrDefault() > 0).Max(a => a.lead_time).Value;
|
|
|
+ }
|
|
|
+ var entry = dzdList.FirstOrDefault(p => p.ItemNum == item);
|
|
|
+ if (entry != null)
|
|
|
+ {
|
|
|
+ itemKanBanDto.NETPR = entry.NETPR;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ itemKanBanDto.NETPR = 1 * 10;
|
|
|
+ }
|
|
|
+ //出库总数
|
|
|
+ var outstock = itemTranList.Where(a => a.ItemNum == item && a.QtyChange < 0).ToList();
|
|
|
+ itemKanBanDto.OutStockQty = Math.Abs(outstock.Sum(a => a.QtyChange).Value);
|
|
|
+
|
|
|
+ //库存数据取进出存期末数据
|
|
|
+ if (InvTransHistDto.Any(a => a.ItemNum == item))
|
|
|
+ {
|
|
|
+ itemKanBanDto.Amount = InvTransHistDto.Where(a => a.ItemNum == item).Sum(a => a.BalanceNum) * itemKanBanDto.NETPR;
|
|
|
+ }
|
|
|
+ itemKanBanDto.MoveCount = itemTranList.Where(a => a.ItemNum == item && a.QtyChange < 0).Count();
|
|
|
+ int days = endDate.Subtract(beginDate).Days;
|
|
|
+ //同一天算1天
|
|
|
+ if (days == 0)
|
|
|
+ days = 1;
|
|
|
+ itemKanBanDto.ADU = itemKanBanDto.OutStockQty / days;
|
|
|
+ itemKanBanDto.Kanban = itemKanBanDto.ADU * itemKanBanDto.PLT;
|
|
|
+ kanBanDtos.Add(itemKanBanDto);
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ decimal totalmoveCount = kanBanDtos.Sum(a => a.MoveCount);
|
|
|
+ decimal totalAmount = kanBanDtos.Sum(a => a.Amount);
|
|
|
+ decimal avgmoveCount = kanBanDtos.Average(a => a.MoveCount);
|
|
|
+ kanBanDtos = kanBanDtos.OrderByDescending(a => a.Amount).ToList();
|
|
|
+ for (int i = 0; i < kanBanDtos.Count; i++)
|
|
|
+ {
|
|
|
+ if (kanBanDtos[i].MoveCount > avgmoveCount)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].FMR = "F";
|
|
|
+ }
|
|
|
+ else if (kanBanDtos[i].MoveCount < avgmoveCount / 2)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].FMR = "R";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ kanBanDtos[i].FMR = "M";
|
|
|
+ }
|
|
|
+
|
|
|
+ if (i <= kanBanDtos.Count * 0.7)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].ABC = "A";
|
|
|
+ }
|
|
|
+ else if (i >= kanBanDtos.Count * 0.9)
|
|
|
+ {
|
|
|
+ kanBanDtos[i].ABC = "C";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ kanBanDtos[i].ABC = "B";
|
|
|
+ }
|
|
|
+ kanBanDtos[i].AmountTotal = totalAmount;
|
|
|
+ kanBanDtos[i].MovePencent = totalmoveCount == 0 ? 0 : kanBanDtos[i].MoveCount * 100 / totalmoveCount;
|
|
|
+ }
|
|
|
+ kanBanDtos=kanBanDtos.Where(a=>a.ABC==JZ&&a.FMR==PC && a.Kanban > Convert.ToDecimal(KanBan) && a.MovePencent > Convert.ToDecimal(Frequency)).OrderByDescending(a=>a.Amount).ToList();
|
|
|
+ for(int i=0;i< kanBanDtos.Count(); i++)
|
|
|
+ {
|
|
|
+ ValueFrequencyDetailDto detailDto = new ValueFrequencyDetailDto();
|
|
|
+ detailDto.RowSeq =i+1;
|
|
|
+ detailDto.ItemNum = kanBanDtos[i].ItemNumber;
|
|
|
+ detailDto.ItemName = kanBanDtos[i].ItemName;
|
|
|
+ detailDto.Model = kanBanDtos[i].Model;
|
|
|
+ detailDto.ItemABC = kanBanDtos[i].ABC;
|
|
|
+ detailDto.ItemFMR = kanBanDtos[i].FMR;
|
|
|
+ detailDto.Amount = kanBanDtos[i].Amount;
|
|
|
+ detailDto.AmountFix = Convert.ToDecimal(KanBan) * kanBanDtos[i].NETPR;
|
|
|
+ detailDto.AmountDiff = detailDto.Amount- detailDto.AmountFix;
|
|
|
+ dtos.Add(detailDto);
|
|
|
+ }
|
|
|
+ return JsonConvert.SerializeObject(dtos);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return ex.Message;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return ex.Message;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public string ChartLineOption(string Loc, string BeginDate, string EndDate, string ItemNum,string TurnOver,string KanBan)
|
|
|
+ {
|
|
|
+ if(KanBan=="3")
|
|
|
+ {
|
|
|
+ List<ValueFrequencyChartDto> chartDtosTest = new List<ValueFrequencyChartDto>();
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-01", StockQty = 36000, OutStockQty = 8000, InStockQty = 9000, SuggestQty = 24000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-02", StockQty = 37000, OutStockQty = 6000, InStockQty = 9000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-03", StockQty = 40000, OutStockQty = 0, InStockQty = 9000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-04", StockQty = 49000, OutStockQty = 5000, InStockQty = 9000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-05", StockQty = 53000, OutStockQty = 4000, InStockQty = 9000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-06", StockQty = 58000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-07", StockQty = 54000, OutStockQty = 4000, InStockQty = 10000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-08", StockQty = 60000, OutStockQty = 4000, InStockQty = 10000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-09", StockQty = 66000, OutStockQty = 4000, InStockQty = 10000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-10", StockQty = 72000, OutStockQty = 0, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-11", StockQty = 72000, OutStockQty = 10000, InStockQty = 10000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-12", StockQty = 72000, OutStockQty = 10000, InStockQty = 5000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-13", StockQty = 67000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-14", StockQty = 65000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-15", StockQty = 63000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-16", StockQty = 61000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-17", StockQty = 59000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-18", StockQty = 49000, OutStockQty = 8000, InStockQty = 6000, SuggestQty = 24000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-19", StockQty = 47000, OutStockQty = 8000, InStockQty = 6000, SuggestQty = 24000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-20", StockQty = 45000, OutStockQty = 4000, InStockQty = 6000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-21", StockQty = 47000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-22", StockQty = 43000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-23", StockQty = 39000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-24", StockQty = 35000, OutStockQty = 0, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-25", StockQty = 35000, OutStockQty = 6000, InStockQty = 0, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-26", StockQty = 29000, OutStockQty = 6000, InStockQty = 0, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-27", StockQty = 23000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-28", StockQty = 25000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-29", StockQty = 27000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-30", StockQty = 29000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-31", StockQty = 31000, OutStockQty = 0, InStockQty = 5000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-01", StockQty = 36000, OutStockQty = 0, InStockQty = 0, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-02", StockQty = 36000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-03", StockQty = 31000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-04", StockQty = 26000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-05", StockQty = 21000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-06", StockQty = 16000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-07", StockQty = 11000, OutStockQty = 0, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-08", StockQty = 11000, OutStockQty = 4000, InStockQty = 5000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-09", StockQty = 12000, OutStockQty = 4000, InStockQty = 5000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-10", StockQty = 13000, OutStockQty = 4000, InStockQty = 5000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-11", StockQty = 14000, OutStockQty = 4000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-12", StockQty = 18000, OutStockQty = 4000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-13", StockQty = 22000, OutStockQty = 4000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-14", StockQty = 26000, OutStockQty = 0, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-15", StockQty = 26000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-16", StockQty = 28000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-17", StockQty = 30000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-18", StockQty = 32000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-19", StockQty = 34000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-20", StockQty = 36000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-21", StockQty = 38000, OutStockQty = 0, InStockQty = 0, SuggestQty = 18000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-22", StockQty = 38000, OutStockQty = 10000, InStockQty = 3000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-23", StockQty = 31000, OutStockQty = 10000, InStockQty = 3000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-24", StockQty = 24000, OutStockQty = 10000, InStockQty = 3000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-25", StockQty = 17000, OutStockQty = 10000, InStockQty = 6000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-26", StockQty = 13000, OutStockQty = 10000, InStockQty = 6000, SuggestQty = 30000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-27", StockQty = 9000, OutStockQty = 8000, InStockQty = 10000, SuggestQty = 24000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-28", StockQty = 11000, OutStockQty = 0, InStockQty = 0, SuggestQty = 24000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-29", StockQty = 11000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-30", StockQty = 18000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-31", StockQty = 25000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-01", StockQty = 32000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-02", StockQty = 39000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-03", StockQty = 46000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-04", StockQty = 53000, OutStockQty = 0, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-05", StockQty = 53000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-06", StockQty = 52000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-07", StockQty = 51000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-08", StockQty = 50000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-09", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-10", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-11", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-12", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-13", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-14", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-15", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-16", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-17", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-18", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-19", StockQty = 49000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-20", StockQty = 50000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-21", StockQty = 51000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-22", StockQty = 52000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-23", StockQty = 53000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-24", StockQty = 54000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-25", StockQty = 55000, OutStockQty = 0, InStockQty = 0, SuggestQty = 15000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-26", StockQty = 55000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 21000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-27", StockQty = 58000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 21000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-28", StockQty = 61000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 21000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-29", StockQty = 64000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 21000 });
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ StringBuilder sbDays = new StringBuilder();
|
|
|
+ StringBuilder sbDaysStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysInStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysOutStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysSuggest = new StringBuilder();
|
|
|
+ sb.Append("{tooltip:{trigger:'axis'},legend:{data: ['日库存数量','日出库数量','日入库数量','推荐日库存数量']},grid:{left:'3%',right:'4%',bottom:'3%',containLabel:true},toolbox:{feature:{saveAsImage: {}}},xAxis: {type:'category',boundaryGap: false,data:[");
|
|
|
+ chartDtosTest.ForEach(a =>
|
|
|
+ {
|
|
|
+ sbDays.Append(string.Format("'{0}',", a.Date));
|
|
|
+ sbDaysStock.Append(string.Format("{0},", a.StockQty));
|
|
|
+ sbDaysOutStock.Append(string.Format("{0},", a.OutStockQty));
|
|
|
+ sbDaysInStock.Append(string.Format("{0},", a.InStockQty));
|
|
|
+ sbDaysSuggest.Append(string.Format("{0},", a.SuggestQty));
|
|
|
+ });
|
|
|
+ sb.Append(sbDays.ToString().TrimEnd(',')).
|
|
|
+ Append("]},yAxis:{type:'value',},series:[{name:'日库存数量',type:'line',data:[").
|
|
|
+ Append(sbDaysStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日出库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysOutStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日入库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysInStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'推荐日库存数量',type:'line',data:[").
|
|
|
+ Append(sbDaysSuggest.ToString().TrimEnd(',')).
|
|
|
+ Append("]}]}");
|
|
|
+ return sb.ToString();
|
|
|
+ }
|
|
|
+ else if(KanBan=="2")
|
|
|
+ {
|
|
|
+ List<ValueFrequencyChartDto> chartDtosTest = new List<ValueFrequencyChartDto>();
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-01", StockQty = 36000, OutStockQty = 8000, InStockQty = 9000, SuggestQty = 16000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-02", StockQty = 37000, OutStockQty = 6000, InStockQty = 9000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-03", StockQty = 40000, OutStockQty = 0, InStockQty = 9000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-04", StockQty = 49000, OutStockQty = 5000, InStockQty = 9000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-05", StockQty = 53000, OutStockQty = 4000, InStockQty = 9000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-06", StockQty = 58000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-07", StockQty = 54000, OutStockQty = 4000, InStockQty = 10000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-08", StockQty = 60000, OutStockQty = 4000, InStockQty = 10000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-09", StockQty = 66000, OutStockQty = 4000, InStockQty = 10000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-10", StockQty = 72000, OutStockQty = 0, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-11", StockQty = 72000, OutStockQty = 10000, InStockQty = 10000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-12", StockQty = 72000, OutStockQty = 10000, InStockQty = 5000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-13", StockQty = 67000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-14", StockQty = 65000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-15", StockQty = 63000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-16", StockQty = 61000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-17", StockQty = 59000, OutStockQty = 10000, InStockQty = 8000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-18", StockQty = 49000, OutStockQty = 8000, InStockQty = 6000, SuggestQty = 16000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-19", StockQty = 47000, OutStockQty = 8000, InStockQty = 6000, SuggestQty = 16000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-20", StockQty = 45000, OutStockQty = 4000, InStockQty = 6000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-21", StockQty = 47000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-22", StockQty = 43000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-23", StockQty = 39000, OutStockQty = 4000, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-24", StockQty = 35000, OutStockQty = 0, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-25", StockQty = 35000, OutStockQty = 6000, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-26", StockQty = 29000, OutStockQty = 6000, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-27", StockQty = 23000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-28", StockQty = 25000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-29", StockQty = 27000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-30", StockQty = 29000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-31", StockQty = 31000, OutStockQty = 0, InStockQty = 5000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-01", StockQty = 36000, OutStockQty = 0, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-02", StockQty = 36000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-03", StockQty = 31000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-04", StockQty = 26000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-05", StockQty = 21000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-06", StockQty = 16000, OutStockQty = 5000, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-07", StockQty = 11000, OutStockQty = 0, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-08", StockQty = 11000, OutStockQty = 4000, InStockQty = 5000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-09", StockQty = 12000, OutStockQty = 4000, InStockQty = 5000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-10", StockQty = 13000, OutStockQty = 4000, InStockQty = 5000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-11", StockQty = 14000, OutStockQty = 4000, InStockQty = 8000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-12", StockQty = 18000, OutStockQty = 4000, InStockQty = 8000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-13", StockQty = 22000, OutStockQty = 4000, InStockQty = 8000, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-14", StockQty = 26000, OutStockQty = 0, InStockQty = 0, SuggestQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-15", StockQty = 26000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-16", StockQty = 28000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-17", StockQty = 30000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-18", StockQty = 32000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-19", StockQty = 34000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-20", StockQty = 36000, OutStockQty = 6000, InStockQty = 8000, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-21", StockQty = 38000, OutStockQty = 0, InStockQty = 0, SuggestQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-22", StockQty = 38000, OutStockQty = 10000, InStockQty = 3000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-23", StockQty = 31000, OutStockQty = 10000, InStockQty = 3000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-24", StockQty = 24000, OutStockQty = 10000, InStockQty = 3000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-25", StockQty = 17000, OutStockQty = 10000, InStockQty = 6000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-26", StockQty = 13000, OutStockQty = 10000, InStockQty = 6000, SuggestQty = 20000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-27", StockQty = 9000, OutStockQty = 8000, InStockQty = 10000, SuggestQty = 16000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-28", StockQty = 11000, OutStockQty = 0, InStockQty = 0, SuggestQty = 16000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-29", StockQty = 11000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-30", StockQty = 18000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-31", StockQty = 25000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-01", StockQty = 32000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-02", StockQty = 39000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-03", StockQty = 46000, OutStockQty = 5000, InStockQty = 12000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-04", StockQty = 53000, OutStockQty = 0, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-05", StockQty = 53000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-06", StockQty = 52000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-07", StockQty = 51000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-08", StockQty = 50000, OutStockQty = 2000, InStockQty = 1000, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-09", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-10", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-11", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-12", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-13", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-14", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-15", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-16", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-17", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-18", StockQty = 49000, OutStockQty = 0, InStockQty = 0, SuggestQty = 4000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-19", StockQty = 49000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-20", StockQty = 50000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-21", StockQty = 51000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-22", StockQty = 52000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-23", StockQty = 53000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-24", StockQty = 54000, OutStockQty = 5000, InStockQty = 6000, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-25", StockQty = 55000, OutStockQty = 0, InStockQty = 0, SuggestQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-26", StockQty = 55000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 14000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-27", StockQty = 58000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 14000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-28", StockQty = 61000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 14000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-29", StockQty = 64000, OutStockQty = 7000, InStockQty = 10000, SuggestQty = 14000 });
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ StringBuilder sbDays = new StringBuilder();
|
|
|
+ StringBuilder sbDaysStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysInStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysOutStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysSuggest = new StringBuilder();
|
|
|
+ sb.Append("{tooltip:{trigger:'axis'},legend:{data: ['日库存数量','日出库数量','日入库数量','推荐日库存数量']},grid:{left:'3%',right:'4%',bottom:'3%',containLabel:true},toolbox:{feature:{saveAsImage: {}}},xAxis: {type:'category',boundaryGap: false,data:[");
|
|
|
+ chartDtosTest.ForEach(a =>
|
|
|
+ {
|
|
|
+ sbDays.Append(string.Format("'{0}',", a.Date));
|
|
|
+ sbDaysStock.Append(string.Format("{0},", a.StockQty));
|
|
|
+ sbDaysOutStock.Append(string.Format("{0},", a.OutStockQty));
|
|
|
+ sbDaysInStock.Append(string.Format("{0},", a.InStockQty));
|
|
|
+ sbDaysSuggest.Append(string.Format("{0},", a.SuggestQty));
|
|
|
+ });
|
|
|
+ sb.Append(sbDays.ToString().TrimEnd(',')).
|
|
|
+ Append("]},yAxis:{type:'value',},series:[{name:'日库存数量',type:'line',data:[").
|
|
|
+ Append(sbDaysStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日出库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysOutStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日入库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysInStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'推荐日库存数量',type:'line',data:[").
|
|
|
+ Append(sbDaysSuggest.ToString().TrimEnd(',')).
|
|
|
+ Append("]}]}");
|
|
|
+ return sb.ToString();
|
|
|
+ }
|
|
|
+ try
|
|
|
+ {
|
|
|
+ DateTime beginDate = Convert.ToDateTime(BeginDate);
|
|
|
+ DateTime endDate = Convert.ToDateTime(EndDate);
|
|
|
+ var srm_purchases = _srm_purchase.GetListAsync(a =>a.number==ItemNum).Result;
|
|
|
+ decimal chartPLT = 14;
|
|
|
+ decimal chartKanBan = Convert.ToDecimal(KanBan);
|
|
|
+ //供应提前期取货源清单最大值,没有默认14天
|
|
|
+ if (srm_purchases.Any(a => a.number == ItemNum && a.quota_rate.GetValueOrDefault() > 0))
|
|
|
+ {
|
|
|
+ chartPLT = srm_purchases.Where(a => a.number == ItemNum && a.quota_rate.GetValueOrDefault() > 0).Max(a => a.lead_time).Value;
|
|
|
+ }
|
|
|
+ //string sqldzd = @"select MATNR AS ItemNum,MAx(NETPR)*10 AS NETPR from SupplierStatement group by MATNR";
|
|
|
+ //var dzdList = _businessDbContext.SupplierStatementDto.FromSqlRaw(sqldzd).ToList();
|
|
|
+
|
|
|
+ string sql = string.Format(@"select a.ItemNum,a.Loc,a.LotSerial,BeginBalance,a.QtyChange,(case when a.QtyChange>0 then a.QtyChange else 0 end) as QtyChangeAdvance,
|
|
|
+ (case when a.QtyChange<0 then abs(a.QtyChange) else 0 end) as QtyChangeOut,BeginBalance+QtyChange as BalanceNum,
|
|
|
+ a.CreateTime from InvTransHist a where loc='{0}' and domain='8010' and itemnum='{1}' order by CreateTime", Loc,ItemNum);
|
|
|
+ var InvTransHistDto = _businessDbContext.InvTransHistDetailDto.FromSqlRaw(sql).ToList();
|
|
|
+ DateTime minTime = InvTransHistDto.Min(a => a.CreateTime);
|
|
|
+ DateTime maxTime = InvTransHistDto.Max(a => a.CreateTime);
|
|
|
+ if(beginDate<minTime)
|
|
|
+ {
|
|
|
+ minTime = beginDate;
|
|
|
+ }
|
|
|
+ if(endDate>maxTime)
|
|
|
+ {
|
|
|
+ maxTime = endDate;
|
|
|
+ }
|
|
|
+ int tranDays = (maxTime - minTime).Days;
|
|
|
+ List<ValueFrequencyChartDto> chartDtos = new List<ValueFrequencyChartDto>();
|
|
|
+ for(int i = 0; i < tranDays; i++)
|
|
|
+ {
|
|
|
+ ValueFrequencyChartDto dtoChart = new ValueFrequencyChartDto();
|
|
|
+ dtoChart.Date = minTime.AddDays(i).ToString("yyyy-MM-dd");
|
|
|
+ dtoChart.InStockQty = InvTransHistDto.Where(a => minTime.AddDays(i).Date==a.CreateTime.Date).Sum(a => a.QtyChangeAdvance);
|
|
|
+ dtoChart.OutStockQty = InvTransHistDto.Where(a => minTime.AddDays(i).Date == a.CreateTime.Date).Sum(a => a.QtyChangeOut);
|
|
|
+ if(i>0)
|
|
|
+ {
|
|
|
+ dtoChart.StockQty = chartDtos[i-1].StockQty + InvTransHistDto.Where(a => minTime.AddDays(i).Date == a.CreateTime.Date).Sum(a => a.QtyChange);
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ dtoChart.StockQty = InvTransHistDto.Where(a => minTime.AddDays(i).Date == a.CreateTime.Date).Sum(a => a.QtyChange);
|
|
|
+ }
|
|
|
+ dtoChart.SuggestQty =chartKanBan*chartPLT;
|
|
|
+ chartDtos.Add(dtoChart);
|
|
|
+ }
|
|
|
+ chartDtos = chartDtos.Where(a => string.Compare(a.Date, BeginDate) >= 0 && string.Compare(a.Date, EndDate) <= 0).ToList();
|
|
|
+
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ StringBuilder sbDays = new StringBuilder();
|
|
|
+ StringBuilder sbDaysStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysInStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysOutStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysSuggest = new StringBuilder();
|
|
|
+ sb.Append("{tooltip:{trigger:'axis'},legend:{data: ['日库存数量','日出库数量','日入库数量','推荐日库存数量']},grid:{left:'3%',right:'4%',bottom:'3%',containLabel:true},toolbox:{feature:{saveAsImage: {}}},xAxis: {type:'category',boundaryGap: false,data:[");
|
|
|
+ chartDtos.ForEach(a =>
|
|
|
+ {
|
|
|
+ sbDays.Append(string.Format("'{0}',",a.Date));
|
|
|
+ sbDaysStock.Append(string.Format("{0},", a.StockQty));
|
|
|
+ sbDaysOutStock.Append(string.Format("{0},", a.OutStockQty));
|
|
|
+ sbDaysInStock.Append(string.Format("{0},", a.InStockQty));
|
|
|
+ sbDaysSuggest.Append(string.Format("{0},", a.SuggestQty));
|
|
|
+ });
|
|
|
+ sb.Append(sbDays.ToString().TrimEnd(',')).
|
|
|
+ Append("]},yAxis:{type:'value',},series:[{name:'日库存数量',type:'line',stack: 'Total',data:[").
|
|
|
+ Append(sbDaysStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日出库数量',type:'line',stack:'Total',data:[").
|
|
|
+ Append(sbDaysOutStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日入库数量',type:'line',stack:'Total',data:[").
|
|
|
+ Append(sbDaysInStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'推荐日库存数量',type:'line',stack:'Total',data:[").
|
|
|
+ Append(sbDaysSuggest.ToString().TrimEnd(',')).
|
|
|
+ Append("]}]}");
|
|
|
+ return sb.ToString();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ return ex.Message;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public string ChartLineSupplierPLTOption()
|
|
|
+ {
|
|
|
+ return "{title:{text: '供应商PLT占比(%)',left:'center',},tooltip:{trigger: 'axis'},toolbox: {show: true,feature:{saveAsImage: {}}},xAxis: {type: 'category',data: ['1', '2', '3', '4', '5', '6', '7']},yAxis: {type: 'value',axisLabel: {formatter: '{value} %'},axisPointer: {snap: true} },series: [{data: [2, 5, 18, 55, 12, 5, 3],type: 'line',smooth: true}]}";
|
|
|
+ }
|
|
|
+
|
|
|
+ public string ChartLinePLTOption(string PLT)
|
|
|
+ {
|
|
|
+ if(PLT=="25")
|
|
|
+ {
|
|
|
+ List<ValueFrequencyChartDto> chartDtosTest = new List<ValueFrequencyChartDto>();
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-01", StockQty = 36000, OutStockQty = 8000, InStockQty = 9000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-02", StockQty = 37000, OutStockQty = 6000, InStockQty = 9000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-03", StockQty = 40000, OutStockQty = 0, InStockQty = 9000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-04", StockQty = 49000, OutStockQty = 5000, InStockQty = 9000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-05", StockQty = 53000, OutStockQty = 4000, InStockQty = 9000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-06", StockQty = 58000, OutStockQty = 4000, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-07", StockQty = 54000, OutStockQty = 4000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-08", StockQty = 60000, OutStockQty = 4000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-09", StockQty = 62000, OutStockQty = 4000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-10", StockQty = 64000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-11", StockQty = 64000, OutStockQty = 10000, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-12", StockQty = 54000, OutStockQty = 60000, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-13", StockQty = 48000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-14", StockQty = 50000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-15", StockQty = 52000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-16", StockQty = 54000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-17", StockQty = 56000, OutStockQty = 0, InStockQty = 5000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-18", StockQty = 61000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-19", StockQty = 61000, OutStockQty = 5000, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-20", StockQty = 56000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-21", StockQty = 51000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-22", StockQty = 46000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-23", StockQty = 41000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-24", StockQty = 36000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-25", StockQty = 36000, OutStockQty = 4000, InStockQty = 5000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-26", StockQty = 37000, OutStockQty = 4000, InStockQty = 5000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-27", StockQty = 38000, OutStockQty = 4000, InStockQty = 8000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-28", StockQty = 39000, OutStockQty = 4000, InStockQty = 8000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-29", StockQty = 43000, OutStockQty = 4000, InStockQty = 8000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-30", StockQty = 47000, OutStockQty = 4000, InStockQty = 8000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-31", StockQty = 51000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-01", StockQty = 51000, OutStockQty = 6000, InStockQty = 8000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-02", StockQty = 53000, OutStockQty = 6000, InStockQty = 8000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-03", StockQty = 55000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-04", StockQty = 57000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-05", StockQty = 59000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-06", StockQty = 61000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-07", StockQty = 63000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-08", StockQty = 63000, OutStockQty = 10000, InStockQty = 3000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-09", StockQty = 56000, OutStockQty = 10000, InStockQty = 3000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-10", StockQty = 49000, OutStockQty = 10000, InStockQty = 3000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-11", StockQty = 42000, OutStockQty = 10000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-12", StockQty = 38000, OutStockQty = 10000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-13", StockQty = 34000, OutStockQty = 8000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-14", StockQty = 36000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-15", StockQty = 36000, OutStockQty = 5000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-16", StockQty = 41000, OutStockQty = 5000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-17", StockQty = 46000, OutStockQty = 5000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-18", StockQty = 51000, OutStockQty = 5000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-19", StockQty = 56000, OutStockQty = 5000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-20", StockQty = 61000, OutStockQty = 5000, InStockQty = 10000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-21", StockQty = 66000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-22", StockQty = 66000, OutStockQty = 2000, InStockQty = 1000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-23", StockQty = 65000, OutStockQty = 2000, InStockQty = 1000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-24", StockQty = 64000, OutStockQty = 2000, InStockQty = 1000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-25", StockQty = 63000, OutStockQty = 2000, InStockQty = 1000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-26", StockQty = 62000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-27", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-28", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-29", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-30", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-31", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-01", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-02", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-03", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-04", StockQty = 62000, OutStockQty = 0, InStockQty = 0});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-05", StockQty = 62000, OutStockQty = 5000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-06", StockQty = 63000, OutStockQty = 5000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-07", StockQty = 64000, OutStockQty = 5000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-08", StockQty = 65000, OutStockQty = 5000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-09", StockQty = 66000, OutStockQty = 5000, InStockQty = 6000});
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-10", StockQty = 67000, OutStockQty = 5000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-11", StockQty = 68000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-12", StockQty = 68000, OutStockQty = 7000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-13", StockQty = 71000, OutStockQty = 7000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-14", StockQty = 74000, OutStockQty = 7000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-15", StockQty = 77000, OutStockQty = 7000, InStockQty = 10000});
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ StringBuilder sbDays = new StringBuilder();
|
|
|
+ StringBuilder sbDaysStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysInStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysOutStock = new StringBuilder();
|
|
|
+ sb.Append("{tooltip:{trigger:'axis'},legend:{data: ['日库存数量','日出库数量','日入库数量']},grid:{left:'3%',right:'4%',bottom:'3%',containLabel:true},toolbox:{feature:{saveAsImage: {}}},xAxis: {type:'category',boundaryGap: false,data:[");
|
|
|
+ chartDtosTest.ForEach(a =>
|
|
|
+ {
|
|
|
+ sbDays.Append(string.Format("'{0}',", a.Date));
|
|
|
+ sbDaysStock.Append(string.Format("{0},", a.StockQty));
|
|
|
+ sbDaysOutStock.Append(string.Format("{0},", a.OutStockQty));
|
|
|
+ sbDaysInStock.Append(string.Format("{0},", a.InStockQty));
|
|
|
+ });
|
|
|
+ sb.Append(sbDays.ToString().TrimEnd(',')).
|
|
|
+ Append("]},yAxis:{type:'value',},series:[{name:'日库存数量',type:'line',data:[").
|
|
|
+ Append(sbDaysStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日出库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysOutStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日入库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysInStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]}").Append("]}");
|
|
|
+ return sb.ToString();
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ List<ValueFrequencyChartDto> chartDtosTest = new List<ValueFrequencyChartDto>();
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-01", StockQty = 16000, OutStockQty = 8000, InStockQty = 9000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-02", StockQty = 12000, OutStockQty = 6000, InStockQty = 9000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-03", StockQty = 12000, OutStockQty = 0, InStockQty = 9000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-04", StockQty = 10000, OutStockQty = 5000, InStockQty = 9000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-05", StockQty = 8000, OutStockQty = 4000, InStockQty = 9000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-06", StockQty = 8000, OutStockQty = 4000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-07", StockQty = 8000, OutStockQty = 4000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-08", StockQty = 8000, OutStockQty = 4000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-09", StockQty = 8000, OutStockQty = 4000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-10", StockQty = 8000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-11", StockQty = 20000, OutStockQty = 10000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-12", StockQty = 20000, OutStockQty = 10000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-13", StockQty = 20000, OutStockQty = 10000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-14", StockQty = 20000, OutStockQty = 10000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-15", StockQty = 20000, OutStockQty = 10000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-16", StockQty = 20000, OutStockQty = 10000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-17", StockQty = 20000, OutStockQty = 10000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-18", StockQty =16000, OutStockQty = 8000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-19", StockQty = 16000, OutStockQty = 8000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-20", StockQty = 8000, OutStockQty = 4000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-21", StockQty = 8000, OutStockQty = 4000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-22", StockQty = 8000, OutStockQty = 4000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-23", StockQty = 8000, OutStockQty = 4000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-24", StockQty = 8000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-25", StockQty = 12000, OutStockQty = 6000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-26", StockQty = 12000, OutStockQty = 6000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-27", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-28", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-29", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-30", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2023-12-31", StockQty = 12000, OutStockQty = 0, InStockQty = 5000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-01", StockQty = 12000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-02", StockQty = 10000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-03", StockQty = 10000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-04", StockQty = 10000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-05", StockQty = 10000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-06", StockQty = 10000, OutStockQty = 5000, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-07", StockQty = 10000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-08", StockQty = 8000, OutStockQty = 4000, InStockQty = 5000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-09", StockQty = 8000, OutStockQty = 4000, InStockQty = 5000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-10", StockQty = 8000, OutStockQty = 4000, InStockQty = 5000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-11", StockQty = 8000, OutStockQty = 4000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-12", StockQty = 8000, OutStockQty = 4000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-13", StockQty = 8000, OutStockQty = 4000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-14", StockQty = 8000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-15", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-16", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-17", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-18", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-19", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-20", StockQty = 12000, OutStockQty = 6000, InStockQty = 8000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-21", StockQty = 12000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-22", StockQty = 20000, OutStockQty = 10000, InStockQty = 3000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-23", StockQty = 20000, OutStockQty = 10000, InStockQty = 3000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-24", StockQty = 20000, OutStockQty = 10000, InStockQty = 3000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-25", StockQty = 20000, OutStockQty = 10000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-26", StockQty = 20000, OutStockQty = 10000, InStockQty = 6000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-27", StockQty = 16000, OutStockQty =8000, InStockQty = 10000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-28", StockQty = 16000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-29", StockQty = 10000, OutStockQty = 5000, InStockQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-30", StockQty = 10000, OutStockQty = 5000, InStockQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-01-31", StockQty = 10000, OutStockQty = 5000, InStockQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-01", StockQty = 10000, OutStockQty = 5000, InStockQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-02", StockQty = 10000, OutStockQty = 5000, InStockQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-03", StockQty = 10000, OutStockQty = 5000, InStockQty = 12000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-04", StockQty = 10000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-05", StockQty = 4000, OutStockQty = 2000, InStockQty = 1000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-06", StockQty = 4000, OutStockQty = 2000, InStockQty = 1000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-07", StockQty = 4000, OutStockQty = 2000, InStockQty = 1000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-08", StockQty = 4000, OutStockQty = 2000, InStockQty = 1000 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-09", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-10", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-11", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-12", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-13", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-14", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ chartDtosTest.Add(new ValueFrequencyChartDto { Date = "2024-02-15", StockQty = 4000, OutStockQty = 0, InStockQty = 0 });
|
|
|
+ StringBuilder sb = new StringBuilder();
|
|
|
+ StringBuilder sbDays = new StringBuilder();
|
|
|
+ StringBuilder sbDaysStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysInStock = new StringBuilder();
|
|
|
+ StringBuilder sbDaysOutStock = new StringBuilder();
|
|
|
+ sb.Append("{tooltip:{trigger:'axis'},legend:{data: ['日库存数量','日出库数量','日入库数量']},grid:{left:'3%',right:'4%',bottom:'3%',containLabel:true},toolbox:{feature:{saveAsImage: {}}},xAxis: {type:'category',boundaryGap: false,data:[");
|
|
|
+ chartDtosTest.ForEach(a =>
|
|
|
+ {
|
|
|
+ sbDays.Append(string.Format("'{0}',", a.Date));
|
|
|
+ sbDaysStock.Append(string.Format("{0},", a.StockQty));
|
|
|
+ sbDaysOutStock.Append(string.Format("{0},", a.OutStockQty));
|
|
|
+ sbDaysInStock.Append(string.Format("{0},", a.InStockQty));
|
|
|
+ });
|
|
|
+ sb.Append(sbDays.ToString().TrimEnd(',')).
|
|
|
+ Append("]},yAxis:{type:'value',},series:[{name:'日库存数量',type:'line',data:[").
|
|
|
+ Append(sbDaysStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日出库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysOutStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]},{name:'日入库数量',type:'line',data:[").
|
|
|
+ Append(sbDaysInStock.ToString().TrimEnd(',')).
|
|
|
+ Append("]}").Append("]}");
|
|
|
+ return sb.ToString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|