Commit 51d128ba by lizefeng

销量预测表增 自动下单数与人工下单数,并且记录过去7天的数据

推送采购计划页面
parent a033fc9f
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\AutoTurnOver.Services\AutoTurnOver.Services.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
using AutoTurnOver.Services;
using System;
namespace AutoGeneratePurchaseAdvise
{
class Program
{
static void Main(string[] args)
{
// 创建采购计划
PurchaseAdviseServices.Generate();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PublishProtocol>FileSystem</PublishProtocol>
<Configuration>Release</Configuration>
<Platform>Any CPU</Platform>
<TargetFramework>netcoreapp2.1</TargetFramework>
<PublishDir>bin\Release\netcoreapp2.1\publish\</PublishDir>
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
<SelfContained>false</SelfContained>
<_IsPortable>true</_IsPortable>
</PropertyGroup>
</Project>
\ No newline at end of file
{
"cnstr": "server=gz-cdb-kp7s5i79.sql.tencentcdb.com;port=61691;database=bailun_datacenter;uid=root;password=#7kfnymAM$Y9-Ntf;"
}
using AutoTurnOver.Models;
using Dapper;
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.DB
{
public class purchase_advise : connectionHelper
{
/// <summary>
/// 获取当前最大的流水号
/// </summary>
/// <returns></returns>
public static string MaxNo()
{
return _connection.QueryFirstOrDefault<string>(" select max(`No`) from dc_auto_purchase_advise ");
}
/// <summary>
/// 添加数据
/// </summary>
/// <returns></returns>
public static int? Add(dc_auto_purchase_advise data)
{
data.buy_sys_plan_no = "";
data.push_time = null;
return _connection.Insert<dc_auto_purchase_advise>(data);
}
/// <summary>
/// 导入明细数据
/// </summary>
/// <param name="mainID"></param>
public static void ImportDetailed(int mainID)
{
_connection.Execute(@"
INSERT into dc_auto_purchase_advise_detailed(`bailun_sku`,`warehouse_code`,`quantity_init_advise`,`quantity_actual`,`main_id`)
(
select
t1.bailun_sku,
t1.warehouse_code,
t1.quantity_final_advise as 'quantity_init_advise',
0 as 'quantity_actual',
@main_id as 'main_id'
from dc_auto_turnover as t1
where t1.quantity_init_advise>0
)
", new { main_id = mainID });
}
/// <summary>
/// 获取采购建议列表
/// </summary>
/// <param name="m"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <param name="total"></param>
/// <returns></returns>
public static List<dc_auto_purchase_advise> List(dc_auto_purchase_advise_search_dto m, int offset, int limit, ref int total)
{
var list = new List<dc_auto_purchase_advise>();
try
{
DynamicParameters parameters = new DynamicParameters();
var sql = @"select * from dc_auto_purchase_advise as t1 where 1=1 ";
if (m.has_push == true)
{
sql += $" and t1.push_time is not null ";
}
if (m.has_push == false)
{
sql += $" and t1.push_time is null ";
}
if (m.start_date != null)
{
sql += " and t1.create_time >= @start_date ";
parameters.Add("start_date", m.start_date.Value);
}
if (m.end_date != null)
{
sql += " and t1.create_time<= @end_date ";
parameters.Add("end_date", m.end_date.Value);
}
sql += " order by id desc ";
total = _connection.ExecuteScalar<int>("select count(0) from (" + sql + ") tb1", parameters);
var obj = _connection.Query<dc_auto_purchase_advise>(sql + " limit " + offset + "," + limit, parameters);
return obj.AsList();
}
catch (Exception)
{
return list;
}
}
/// <summary>
/// 获取采购建议明细列表
/// </summary>
/// <param name="m"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <param name="total"></param>
/// <returns></returns>
public static List<dc_auto_purchase_advise_detailed_dto> DetailList(dc_auto_purchase_advise_detailed_search_dto m, int offset, int limit, ref int total)
{
var list = new List<dc_auto_purchase_advise_detailed_dto>();
try
{
DynamicParameters parameters = new DynamicParameters();
var sql = @"select t1.*,t2.warehouse_name,t3.sku_title_cn as 'sku_name' from dc_auto_purchase_advise_detailed as t1
left join dc_base_warehouse as t2 on t1.warehouse_code = t2.warehouse_code
left join dc_base_sku as t3 on t1.bailun_sku = t3.bailun_sku
where 1=1 ";
if (m.main_id > 0)
{
sql += $" and t1.main_id = @main_id ";
parameters.Add("main_id", m.main_id);
}
if (!string.IsNullOrWhiteSpace(m.sku))
{
sql += $" and t1.bailun_sku=@bailun_sku ";
parameters.Add("bailun_sku", m.sku);
}
if (m.warehouse_code != null)
{
sql += $" and t1.warehouse_code=@warehouse_code ";
parameters.Add("warehouse_code", m.warehouse_code);
}
sql += " order by t1.quantity_init_advise desc ";
total = _connection.ExecuteScalar<int>("select count(0) from (" + sql + ") tb1", parameters);
var obj = _connection.Query<dc_auto_purchase_advise_detailed_dto>(sql + " limit " + offset + "," + limit, parameters);
return obj.AsList();
}
catch (Exception)
{
return list;
}
}
public static IEnumerable<dc_auto_purchase_advise_detailed> DetailList(int mainid)
{
return _connection.Query<dc_auto_purchase_advise_detailed>("select * from dc_auto_purchase_advise_detailed where mainid=@mainid ",new { mainid = mainid });
}
/// <summary>
/// 查询未来指定时间范围内的特殊销量数据
/// </summary>
/// <param name="sku"></param>
/// <param name="warehousecode"></param>
/// <param name="days"></param>
/// <returns></returns>
public static IEnumerable<dc_auto_purchase_advise_detailed_time_dto> DetailList(string sku, string warehousecode, DateTime btime, DateTime etime)
{
DynamicParameters parameters = new DynamicParameters();
parameters.Add("bailun_sku", sku);
parameters.Add("warehouse_code", warehousecode);
parameters.Add("b_promotion_time", btime.ToString("yyyy-MM-dd 00:00:00"));
parameters.Add("e_promotion_time", etime.ToString("yyyy-MM-dd 23:59:59"));
return _connection.Query<Models.dc_auto_purchase_advise_detailed_time_dto>(@"select t1.*,t2.create_time from dc_auto_purchase_advise_detailed as t1
left join dc_auto_purchase_advise as t2 on t1.main_id = t2.id where t1.bailun_sku=@bailun_sku and t1.warehouse_code=@warehouse_code and t2.create_time>=@b_promotion_time and t2.create_time<=@e_promotion_time ", parameters);
}
/// <summary>
/// 设置采购数量
/// </summary>
/// <param name="id"></param>
public static void SetQuantityActual(int id, int quantity_actual)
{
// 检查该采购单是否已推送
dc_auto_purchase_advise_detailed oldData = _connection.QueryFirstOrDefault<dc_auto_purchase_advise_detailed>(" select * from dc_auto_purchase_advise_detailed where id=@id ", new { id });
if (oldData == null) throw new Exception("数据异常");
dc_auto_purchase_advise oldMainData = _connection.QueryFirstOrDefault<dc_auto_purchase_advise>(" select * from dc_auto_purchase_advise where id=@id ", new { id = oldData.main_id });
if (oldMainData == null) throw new Exception("数据异常");
if (oldMainData.push_time != null) throw new Exception("该采购计划已推送,不可修改");
_connection.Execute(" update dc_auto_purchase_advise_detailed set quantity_actual=@quantity_actual where id=@id ", new { quantity_actual = quantity_actual, id = id });
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.ApiDto
{
class mPlanToPurchaseDto
{
/// <summary>
///
/// </summary>
public int bp_id { get; set; }
///<summary>
///创建人
///</summary>
public int bp_userid { get; set; }
///<summary>
///相关部门
///</summary>
public int bp_department { get; set; }
///<summary>
///计划类别
///</summary>
public int bp_type { get; set; }
///<summary>
///是否调拨 0:否 1:是
///</summary>
public int bp_send { get; set; }
///<summary>
///从哪个仓库发出(仓库编码)
///</summary>
public string bp_sendfromCode { get; set; }
///<summary>
///要发到哪个仓库(仓库编码)
///</summary>
public string bp_sendtoCode { get; set; }
///<summary>
///运输方式
///</summary>
public int bp_sendtype { get; set; }
///<summary>
///采购员名称
///</summary>
public string bp_buyuserName { get; set; }
///<summary>
///审核人
///</summary>
public int bp_roleuser { get; set; }
///<summary>
///备注
///</summary>
public string bp_remark { get; set; }
///<summary>
///计划单发起时间
///</summary>
public DateTime bp_savetime { get; set; }
///<summary>
///创建时间
///</summary>
public DateTime bp_createtime { get; set; }
///<summary>
///创建人
///</summary>
public string bp_createuser { get; set; }
/// <summary>
/// 是否紧急(0常规,1紧急)
/// </summary>
public int bp_imporstate { get; set; }
/// <summary>
/// 付款主体
/// </summary>
public int bp_paycompany { get; set; }
/// <summary>
/// 采购计划单sku
/// </summary>
public List<bi_buyplandetail> bi_buyplandetail { get; set; }
/// <summary>
/// 子分类
/// </summary>
public int bp_type2 { get; set; }
}
/// <summary>
/// sku详情
/// </summary>
public class bi_buyplandetail
{
///<summary>
///
///</summary>
public int bd_id { get; set; }
///<summary>
///对应计划单的ID
///</summary>
public int bd_bpid { get; set; }
///<summary>
///yt_product对应的ID 主要是兼容老数据
///</summary>
public int bd_productid { get; set; }
///<summary>
///对应的SKUID,新数据中的yt_stock
///</summary>
public int bd_skuid { get; set; }
///<summary>
///SKU别名
///</summary>
public string bd_sku { get; set; }
///<summary>
///采购数量
///</summary>
public decimal bd_count { get; set; }
///<summary>
///SKU标题
///</summary>
public string bd_title { get; set; }
///<summary>
///对应的供应商ID
///</summary>
public int bd_supid { get; set; }
///<summary>
///供应商名称
///</summary>
public string bd_supplier { get; set; }
///<summary>
///对应的采购
///</summary>
public int bd_buyuser { get; set; }
///<summary>
///当前采购价格
///</summary>
public decimal bd_price { get; set; }
///<summary>
///合计金额
///</summary>
public decimal bd_totalprice { get; set; }
///<summary>
///币种英文名
///</summary>
public string bd_unitename { get; set; }
///<summary>
///货币单位名称
///</summary>
public string bd_unitname { get; set; }
///<summary>
///标记状态:0常规,1紧急
///</summary>
public int bd_imporstate { get; set; }
///<summary>
///标记人
///</summary>
public int? bd_imporuserid { get; set; }
///<summary>
///标记人名称
///</summary>
public string bd_imporuser { get; set; }
///<summary>
///标记时间
///</summary>
public DateTime? bd_importime { get; set; }
///<summary>
///手工导入的sku品牌
///</summary>
public string bd_brandname { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
/// <summary>
/// 采购建议单
/// </summary>
public class dc_auto_purchase_advise
{
public int id { get; set; }
/// <summary>
/// 流水号
/// </summary>
public string no { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime create_time { get; set; }
/// <summary>
/// 采购建议单号
/// </summary>
public string buy_sys_plan_no { get; set; }
public DateTime? push_time { get; set; }
}
/// <summary>
/// 采购建议流水
/// </summary>
public class dc_auto_purchase_advise_detailed
{
public int id { get; set; }
/// <summary>
/// sku
/// </summary>
public string bailun_sku { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
public string warehouse_code { get; set; }
/// <summary>
/// 系统建议采购数量
/// </summary>
public decimal quantity_init_advise { get; set; }
/// <summary>
/// 实际下单数量
/// </summary>
public decimal quantity_actual { get; set; }
/// <summary>
/// 主表ID
/// </summary>
public int main_id { get; set; }
}
public class dc_auto_purchase_advise_detailed_dto: dc_auto_purchase_advise_detailed
{
public string warehouse_name { get; set; }
public string sku_name { get; set; }
}
public class dc_auto_purchase_advise_detailed_time_dto: dc_auto_purchase_advise_detailed
{
public DateTime create_time { get; set; }
}
public class dc_auto_purchase_advise_search_dto
{
public DateTime? start_date { get; set; }
public DateTime? end_date { get; set; }
/// <summary>
/// 是否推送
/// </summary>
public bool? has_push { get; set; }
}
public class dc_auto_purchase_advise_detailed_search_dto
{
/// <summary>
/// 主表ID
/// </summary>
public int main_id { get; set; }
public string sku { get; set; }
public string warehouse_code { get; set; }
}
}
......@@ -9,8 +9,8 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Platform>Any CPU</Platform>
<TargetFramework>netcoreapp2.1</TargetFramework>
<PublishDir>bin\Release\netcoreapp2.1\publish\</PublishDir>
<SelfContained>true</SelfContained>
<_IsPortable>false</_IsPortable>
<SelfContained>false</SelfContained>
<_IsPortable>true</_IsPortable>
<RuntimeIdentifier>linux-x64</RuntimeIdentifier>
</PropertyGroup>
</Project>
\ No newline at end of file
......@@ -40,5 +40,13 @@ namespace AutoTurnOver.Services
return all.SingleOrDefault(s=>s.C_ID==id);
}
/// <summary>
/// 推送采购计划
/// </summary>
public static void PushBuyPlan(int mainid)
{
//查询采购建议明细
}
}
}
using AutoTurnOver.DB;
using AutoTurnOver.Models;
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Services
{
public class PurchaseAdviseServices
{
/// <summary>
/// 创建采购计划
/// </summary>
public static void Generate()
{
// 创建一个采购计划
var mainID = purchase_advise.Add(new dc_auto_purchase_advise { create_time = DateTime.Now, no = GenerateOrderNo() });
if (mainID == null) throw new Exception("创建采购建议失败");
purchase_advise.ImportDetailed(mainID.Value);
}
/// <summary>
/// 生成一个流水号
/// </summary>
public static string GenerateOrderNo()
{
var now = DateTime.Now;
string dataStr = now.ToString("yyyyMMdd");
//查找当前最大的订单号
var maxNo = purchase_advise.MaxNo();
//取出订单号的流水部分
if (string.IsNullOrWhiteSpace(maxNo))
return dataStr + "001";
return dataStr + GetIntStr(int.Parse(maxNo.Substring(8, 3)) + 1);
}
/// <summary>
/// 把流水号装换成4位数字符串形式
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string GetIntStr(int num)
{
var intLength = num.ToString().Length;
var intStr = num.ToString();
for (int i = intLength; i < 3; i++)
{
intStr = "0" + intStr;
}
return intStr;
}
/// <summary>
/// 获取采购建议列表
/// </summary>
/// <param name="m"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <param name="total"></param>
/// <returns></returns>
public static List<dc_auto_purchase_advise> List(dc_auto_purchase_advise_search_dto m, int offset, int limit, ref int total)
{
return purchase_advise.List(m, offset, limit, ref total);
}
/// <summary>
/// 获取采购建议明细列表
/// </summary>
/// <param name="m"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <param name="total"></param>
/// <returns></returns>
public static List<dc_auto_purchase_advise_detailed_dto> DetailList(dc_auto_purchase_advise_detailed_search_dto m, int offset, int limit, ref int total)
{
return purchase_advise.DetailList(m, offset, limit, ref total);
}
/// <summary>
/// 设置采购数量
/// </summary>
/// <param name="id"></param>
public static void SetQuantityActual(int id,int quantity_actual)
{
purchase_advise.SetQuantityActual(id, quantity_actual);
}
}
}
......@@ -59,11 +59,18 @@ namespace AutoTurnOver.Services
// 查询这些时间范围的 市场因素情况
var correctionList = DB.dc_auto_turnover.ListCorrection(sku, warehousecode, today, endDay);
//查询这些时间范围的 采购下单数量
var purchaseDetailList = DB.purchase_advise.DetailList(sku, warehousecode, today, endDay);
// 用于存储特殊销量规则
List<int> tempStrList = new List<int>();
// 用于存储市场因素规则
List<decimal> tempCorrectionStrList = new List<decimal>();
// 建议下单数
List<decimal> tempAdviseStrList = new List<decimal>();
// 实际下单数
List<decimal> tempActualStrList = new List<decimal>();
for (var i = 0; i < count; i++)
{
var tempDate = today.AddDays(i);
......@@ -88,9 +95,23 @@ namespace AutoTurnOver.Services
{
tempCorrectionStrList.Add(tempCorrectionData.param);
}
var tempPurchaseDetailData = purchaseDetailList.FirstOrDefault(s => s.create_time >= tempDateHome && s.create_time <= tempDateEnd);
if (tempPurchaseDetailData == null)
{
tempAdviseStrList.Add(0);
tempActualStrList.Add(0);
}
else
{
tempAdviseStrList.Add(tempPurchaseDetailData.quantity_init_advise);
tempActualStrList.Add(tempPurchaseDetailData.quantity_actual);
}
}
list.Add(tempStrList != null ? tempStrList.ToJson() : "[]");
list.Add(tempCorrectionStrList != null ? tempCorrectionStrList.ToJson() : "[]");
list.Add(tempAdviseStrList != null ? tempAdviseStrList.ToJson() : "[]");
list.Add(tempActualStrList != null ? tempActualStrList.ToJson() : "[]");
////添加预测销量
//list.Add(new mforecast {
......
......@@ -11,13 +11,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTurnOver.Models", "Auto
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTurnOver.DB", "AutoTurnOver.DB\AutoTurnOver.DB.csproj", "{DF399520-9D6F-46BE-AB52-2ABD9A783472}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoTurnOver.Utility", "AutoTurnOver.Utility\AutoTurnOver.Utility.csproj", "{DDD8D47F-A607-4D28-ADAB-77F21794939A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTurnOver.Utility", "AutoTurnOver.Utility\AutoTurnOver.Utility.csproj", "{DDD8D47F-A607-4D28-ADAB-77F21794939A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AutoTurnOver.Console", "AutoTurnOver.Console", "{C1F6DDE1-217D-43D6-81B5-91A7E78A7876}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoTurnOver.Purchase.AverageTarget", "AutoTurnOver.Purchase.AverageTarget\AutoTurnOver.Purchase.AverageTarget.csproj", "{DD5C8D24-7098-4708-A1AC-ACFBB5EBBD6C}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutoTurnOver.Purchase.AverageTarget", "AutoTurnOver.Purchase.AverageTarget\AutoTurnOver.Purchase.AverageTarget.csproj", "{DD5C8D24-7098-4708-A1AC-ACFBB5EBBD6C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "test", "test\test.csproj", "{9B3FE8C3-061C-4E94-AF23-11727A3B70A8}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "test", "test\test.csproj", "{9B3FE8C3-061C-4E94-AF23-11727A3B70A8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoGeneratePurchaseAdvise", "AutoGeneratePurchaseAdvise\AutoGeneratePurchaseAdvise.csproj", "{350405A0-13DF-4F20-8B3F-0AB923BE9DFF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
......@@ -53,12 +55,17 @@ Global
{9B3FE8C3-061C-4E94-AF23-11727A3B70A8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9B3FE8C3-061C-4E94-AF23-11727A3B70A8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9B3FE8C3-061C-4E94-AF23-11727A3B70A8}.Release|Any CPU.Build.0 = Release|Any CPU
{350405A0-13DF-4F20-8B3F-0AB923BE9DFF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{350405A0-13DF-4F20-8B3F-0AB923BE9DFF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{350405A0-13DF-4F20-8B3F-0AB923BE9DFF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{350405A0-13DF-4F20-8B3F-0AB923BE9DFF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{DD5C8D24-7098-4708-A1AC-ACFBB5EBBD6C} = {C1F6DDE1-217D-43D6-81B5-91A7E78A7876}
{350405A0-13DF-4F20-8B3F-0AB923BE9DFF} = {C1F6DDE1-217D-43D6-81B5-91A7E78A7876}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {09B3C433-2F6E-498C-AB7C-2931F260C5CE}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AutoTurnOver.Models;
using AutoTurnOver.Services;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace AutoTurnOver.Controllers
{
[Route("api/[controller]/[action]")]
[ApiController]
public class PurchaseAdviseController : ControllerBase
{
/// <summary>
/// 采购建议列表
/// </summary>
/// <param name="limit"></param>
/// <param name="offset"></param>
/// <param name="has_push"></param>
/// <param name="sort"></param>
/// <param name="end_date"></param>
/// <param name="start_date"></param>
/// <returns></returns>
[HttpGet]
public JsonResult List(int limit, int offset, bool? has_push, string sort, DateTime? end_date, DateTime? start_date)
{
var m = new dc_auto_purchase_advise_search_dto
{
end_date = end_date,
has_push = has_push,
start_date = start_date
};
var total = 0;
var list = PurchaseAdviseServices.List(m, offset, limit, ref total);
return new JsonResult(new
{
rows = list,
total = total,
});
}
/// <summary>
/// 采购建议列表
/// </summary>
/// <param name="limit"></param>
/// <param name="offset"></param>
/// <param name="has_push"></param>
/// <param name="sort"></param>
/// <param name="end_date"></param>
/// <param name="start_date"></param>
/// <returns></returns>
[HttpGet]
public JsonResult DetailList(int limit, int offset, int main_id, string sort, string sku, string warehousecode)
{
var m = new dc_auto_purchase_advise_detailed_search_dto
{
main_id = main_id,
sku = sku,
warehouse_code = warehousecode
};
var total = 0;
var list = PurchaseAdviseServices.DetailList(m, offset, limit, ref total);
return new JsonResult(new
{
rows = list,
total = total,
});
}
/// <summary>
/// 设置采购数量
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public JsonResult SetQuantityActual(int id,int quantity_actual)
{
try
{
PurchaseAdviseServices.SetQuantityActual(id, quantity_actual);
return new JsonResult(new {
success = true
});
}
catch (Exception ex)
{
return new JsonResult(new
{
success = false,
message = ex.Message
});
}
}
/// <summary>
/// 推送采购计划
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public JsonResult PushBuySys(int main_id)
{
try
{
throw new Exception("接口对接中...");
//PurchaseAdviseServices.PushBuySys(main_id);
return new JsonResult(new
{
success = true
});
}
catch (Exception ex)
{
return new JsonResult(new
{
success = false,
message = ex.Message
});
}
}
}
}
\ No newline at end of file
......@@ -43,7 +43,7 @@ namespace AutoTurnOver.Controllers
date.Add(today.AddDays(i).ToString("MM/dd"));
}
var names = new List<string>() { "销量", "预计入库", "可用库存", "预计缺货数量", "特殊销量","市场因素" };
var names = new List<string>() { "销量", "预计入库", "可用库存", "预计缺货数量", "特殊销量","市场因素","建议下单数量","人工下单数量" };
var turnoverData = new Services.SkuAutoTurnServices().GetModel(sku, warehousecode);
var saleVolumeData = new Services.SaleVolumeServices().GetBySkuWarehouseCode(sku, warehousecode);
var averageTargets = PurchaseAverageTargetServices.GetList(sku);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment