Commit b022d369 by lizefeng

新增在途实时计算

parent a2ea0329
......@@ -656,5 +656,179 @@ left join dc_base_warehouse as dbw on dacp.warehouse_code = dbw.warehouse_code w
}
#region 备货天数设置
/// <summary>
/// 获取备货天数设置分页列表
/// </summary>
/// <param name="m"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <param name="total"></param>
/// <returns></returns>
public static List<dc_base_stock_config_fba> StockFbaList(Condition_ConfigPromotion m, int offset, int limit, ref int total)
{
var list = new List<dc_base_stock_config_fba>();
try
{
var sql = @"select dacp.* from dc_base_stock_config_fba as dacp
left join dc_base_warehouse as dbw on dacp.warehouse_code = dbw.warehouse_code where 1 = 1 ";
if (!string.IsNullOrWhiteSpace(m.warehousetype))
{
sql += " and dbw.hq_type=" + $"'{m.warehousetype}'";
}
if (m.warehousearea > 0)
{
sql += " and dbw.area_id=" + m.warehousearea;
}
if (!string.IsNullOrWhiteSpace(m.platform_sku))
{
sql += " and dacp.platform_sku like '%" + m.platform_sku + "%'";
}
if (!string.IsNullOrWhiteSpace(m.bailun_sku))
{
sql += " and dacp.bailun_sku like '%" + m.bailun_sku + "%'";
}
if (!string.IsNullOrWhiteSpace(m.warehousecode))
{
sql += " and dacp.warehouse_code='" + m.warehousecode + "'";
}
total = _connection.ExecuteScalar<int>("select count(0) from (" + sql + ") tb1");
var obj = _connection.Query<dc_base_stock_config_fba>(sql + " limit " + offset + "," + limit);
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_base_stock_config_fba_lose> StockFbaLoseList(Condition_ConfigPromotion m, int offset, int limit, ref int total)
{
var list = new List<dc_base_stock_config_fba_lose>();
try
{
var sql = @"select dacp.* from dc_base_stock_config_fba_lose as dacp";
if (!string.IsNullOrWhiteSpace(m.platform_sku))
{
sql += " and dacp.platform_sku like '%" + m.platform_sku + "%'";
}
total = _connection.ExecuteScalar<int>("select count(0) from (" + sql + ") tb1");
var obj = _connection.Query<dc_base_stock_config_fba_lose>(sql + " limit " + offset + "," + limit);
return obj.AsList();
}
catch (Exception)
{
return list;
}
}
/// <summary>
/// 平台共享仓配置
/// </summary>
/// <param name="m">销售设置model</param>
/// <param name="username">当前操作人名称</param>
/// <returns></returns>
public static string SaveStockFba(Models.dc_base_stock_config_fba m, string username)
{
// 查询百伦sku
var dc_base_stock_fba_share = _connection.QueryFirstOrDefault<dc_base_stock_fba_share>(" select * from dc_base_stock_fba_share where platform_sku=@platform_sku limit 1 ", new { platform_sku = m.platform_sku });
if (dc_base_stock_fba_share == null)
{
throw new Exception(" 未找到与之对应的百伦sku数据 ");
}
var obj = _connection.QueryFirstOrDefault<Models.dc_base_stock_config_fba>("select * from dc_base_stock_config_fba where id=" + m.id);
if (obj == null)
{
obj = new dc_base_stock_config_fba
{
gmt_create = DateTime.Now,
gmt_modified = DateTime.Now
};
}
obj.bailun_sku = dc_base_stock_fba_share.bailun_sku;
obj.id = m.id;
obj.bl_operator = username ?? "";
obj.gmt_modified = DateTime.Now;
obj.warehouse_code = m.warehouse_code;
obj.warehouse_name = m.warehouse_name;
obj.platform_sku = m.platform_sku;
// 检查该数据是否有存在
var oldData = _connection.QueryFirstOrDefault(" select * from dc_base_stock_config_fba where platform_sku=@platform_sku and id!=@id ", new { m.platform_sku, m.id });
if (oldData != null)
{
return $" 平台sku:【{m.platform_sku}】 已经配置过了 ";
}
try
{
_connection.Execute(" delete from dc_base_stock_config_fba_lose where platform_sku=@platform_sku ", new { platform_sku = obj.platform_sku });
if (obj.id > 0)
{
var result = _connection.Update<Models.dc_base_stock_config_fba>(obj);
return result > 0 ? "" : "保存异常,请重试!";
}
else
{
var result = _connection.Insert<Models.dc_base_stock_config_fba>(obj);
return result.HasValue && result.Value > 0 ? "" : "提交异常,请重试!";
}
}
catch (Exception ex)
{
return ex.Message;
}
}
/// <summary>
/// 获取平台共享仓配置详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public static dc_base_stock_config_fba GetStockFbaById(int id)
{
return _connection.QueryFirstOrDefault<dc_base_stock_config_fba>("select * from dc_base_stock_config_fba where id=" + id);
}
#endregion
}
}
......@@ -193,8 +193,8 @@ where t1.bailun_sku = t2.bailun_sku and quantity_final_advise=1 and quantity_ini
left join dc_auto_config_sku_warehouse as t5 on t1.bailun_sku = t5.bailun_sku and t1.warehouse_code = t5.warehouse_code
left join dc_base_sku as t6 on t1.bailun_sku = t6.bailun_sku
left join dc_mid_transit as t7 on t1.bailun_sku = t7.bailun_sku and t1.warehouse_code = t7.warehouse_code
where t6.buyer_name in ('赵美聪') and ( t5.`status`=0 or t5.`status` is null )
and t1.warehouse_code in ('GZBLWH','GZBLYS')
where ( t6.buyer_name in ('赵美聪') and t1.warehouse_code in ('GZBLWH','GZBLYS') )
and ( t5.`status`=0 or t5.`status` is null )
GROUP BY t1.bailun_sku
HAVING ( sum((case when t7.quantity_out_stock>0 then 0 else t1.quantity_inventory end )) + sum(t1.quantity_transfer) + sum(t1.quantity_purchase) < sum(t7.quantity_out_stock) )
......@@ -314,7 +314,7 @@ where ( t5.`status`=0 or t5.`status` is null ) and t1.quantity_begin_advise>0 an
{
sql = @"
select
sum(t5.quantity_safe_inventory) as 'quantity_safe_inventory', -- 日均加权销量
sum(t5.quantity_safe_inventory) as 'quantity_safe_inventory', -- 安全库存
sum(t5.quantity_out_stock) as 'quantity_out_stock', -- 缺货
sum(t5.quantity_transfer) as 'quantity_transfer', -- 调拨在途
sum(t5.quantity_purchase) as 'quantity_purchase', -- 采购在途
......
......@@ -749,6 +749,52 @@ left join china_warehouse_stock as t3 on t1.bailun_sku = t3.bailun_sku and t_db.
left join china_warehouse_unshipped as t4 on t1.bailun_sku = t4.bailun_sku and t_db.hq_type='国内仓'
where ( t_db.hq_type!='国内仓' or t2.buyer_name not in ('张莹霞','张莹霞1') ) and t_db.hq_type!='fba仓' and (case when t_db.hq_type='国内仓' then (ifnull(t4.sum_unshipped_quantity,0) - ifnull(t3.sum_usable_stock,0)) else t1.quantity_out_stock end )>0
) ");
_connection.Execute(@" -- 刷新在途
set session transaction isolation level read uncommitted;
start transaction;
-- 清空视图表的数据
Truncate table dc_auto_purchase_ontheway_temp;
INSERT into dc_auto_purchase_ontheway_temp(`bailun_sku`,`warehouse_code`,`purchase_id`,`estimated_arrival_time`,`count`) (
SELECT
tb1.bailun_sku AS bailun_sku,
tb1.warehouse_code AS warehouse_code,
tb1.purchase_id AS purchase_id,
tb1.estimated_arrival_time AS estimated_arrival_time,
sum( ( tb1.count - IFNULL( tb2.count, 0 ) ) ) AS count
FROM
(
SELECT
bailun_sku,
warehouse_code,
parent_id,
purchase_id,
estimated_arrival_time,
has_transfer,
sum( count ) AS count
FROM
dc_base_purchase
WHERE
buy_status IN ( 0, 1, 2, 3 )
AND has_delete = 0
GROUP BY
bailun_sku,
parent_id
) tb1
LEFT JOIN ( SELECT bailun_sku, warehouse_code, parent_id, sum( count ) AS count FROM dc_base_purchase_inbound GROUP BY bailun_sku, parent_id ) tb2 ON tb1.bailun_sku = tb2.bailun_sku
AND tb1.parent_id = tb2.parent_id
GROUP BY
tb1.bailun_sku,
tb1.warehouse_code,
tb1.purchase_id
);
alter table dc_auto_purchase_ontheway rename dc_auto_purchase_onthewayTemp;
alter table dc_auto_purchase_ontheway_temp rename dc_auto_purchase_ontheway;
alter table dc_auto_purchase_onthewayTemp rename dc_auto_purchase_ontheway_temp;
truncate table dc_auto_purchase_ontheway_temp; ");
}
catch (Exception ex)
{
......@@ -768,6 +814,17 @@ where ( t_db.hq_type!='国内仓' or t2.buyer_name not in ('张莹霞','张莹
_connection.Insert(data);
}
public static List<dc_base_oms_order> GetOmsOrder(string bailun_order_ids)
{
if (string.IsNullOrWhiteSpace(bailun_order_ids))
{
return new List<dc_base_oms_order>();
}
return _connection.Query<dc_base_oms_order>(" select platform_type,transaction_id,origin_order_id,bailun_order_id from dc_base_oms_order where bailun_order_id in @bailun_order_ids ", new
{
bailun_order_ids = bailun_order_ids.Split(',').Distinct().ToArray()
}).ToList(); ;
}
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.ApiDto
{
/// <summary>
/// crm 出信
/// </summary>
public class ApiSendMessageInputDto
{
public string platform { get; set; }
public string order_no { get; set; }
public string content { get; set; }
public string subject { get; set; }
public string remarks { get; set; }
public string user { get; set; }
public int letterType { get; set; }
}
}
......@@ -22,6 +22,8 @@ namespace AutoTurnOver.Models.ApiDto
public string order_no { get; set; }
public string platform_type { get; set; }
public int? letterType { get; set; }
}
public class crm_api_result_dto<T>
......@@ -30,4 +32,9 @@ namespace AutoTurnOver.Models.ApiDto
public string message { get; set; }
public T data { get; set; }
}
public class crm_api_result_null_dto
{
public bool success { get; set; }
public string message { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models.Report
{
public class BatchSendMessageInputDto
{
public string bailun_order_ids { get; set; }
public string content { get; set; }
public string subject { get; set; }
public string remarks { get; set; }
}
}
......@@ -202,6 +202,7 @@ namespace AutoTurnOver.Models.Report
public int crm_case_count { get; set; }
public int crm_message_count { get; set; }
public int crm_message_reply_count { get; set; }
public int aims_message_reply_count { get; set; }
}
public class quantity_out_stock_detail_search_dto
......
......@@ -79,6 +79,9 @@ namespace AutoTurnOver.Models
/// </summary>
public string sku { get; set; }
public string bailun_sku { get; set; }
public string platform_sku { get; set; }
/// <summary>
/// 仓库编码
/// </summary>
......
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
public class dc_base_oms_order
{
public string platform_type { get; set; }
public string transaction_id { get; set; }
public string origin_order_id { get; set; }
public string bailun_order_id { get; set; }
public string order_id { get
{
if ("ebay".Equals(platform_type,StringComparison.OrdinalIgnoreCase))
{
return transaction_id;
}
else
{
return origin_order_id;
}
} }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
/// <summary>
/// fba 共享仓 发货仓
/// </summary>
public class dc_base_stock_config_fba
{
public int id { get; set; }
public string platform_sku { get; set; }
public string bailun_sku { get; set; }
public string warehouse_code { get; set; }
public string warehouse_name { get; set; }
public DateTime gmt_create { get; set; }
public DateTime gmt_modified { get; set; }
public string bl_operator { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
/// <summary>
/// fab 欧洲共享仓 配置缺失
/// </summary>
public class dc_base_stock_config_fba_lose
{
public string platform_sku { get; set; }
public DateTime gmt_create { get; set; }
public DateTime gmt_modified { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace AutoTurnOver.Models
{
/// <summary>
/// 平台 & 百伦sku 映射
/// </summary>
public class dc_base_stock_fba_share
{
public int id { get; set; }
public DateTime gmt_create { get; set; }
public DateTime gmt_modified { get; set; }
public string bailun_sku { get; set; }
public string platform_sku { get; set; }
public string asin { get; set; }
}
}
......@@ -353,7 +353,25 @@ namespace AutoTurnOver.Services
return result.data;
}
/// <summary>
/// 出信
/// </summary>
public static void SendMessage(ApiSendMessageInputDto data)
{
//查询采购建议明细
string url = ConfigHelper.GetValue("CRM_SendMessage");
string resultStr = HttpHelper.Request(url, RequestType.POST, data.ToJson(), timeout: 1000 * 60 * 60 * 24,entype:"application/json");
var result = resultStr.ToObj<crm_api_result_null_dto>();
if (result == null)
{
throw new Exception("CRM系统异常: 推送失败");
}
if (!result.success)
{
throw new Exception("crm系统异常: " + result.message);
}
return;
}
}
}
......@@ -425,5 +425,70 @@ namespace AutoTurnOver.Services
{
return DB.db_config.BatchMonitorStatus(ids, monitor_status, user);
}
#region fba共享仓发货仓配置
/// <summary>
/// fba共享仓发货仓配置
/// </summary>
/// <param name="m"></param>
/// <param name="offset"></param>
/// <param name="limit"></param>
/// <returns></returns>
public List<dc_base_stock_config_fba> StockFbaList(Condition_ConfigPromotion m, int offset, int limit, ref int total)
{
return DB.db_config.StockFbaList(m, offset, limit, ref total);
}
public List<dc_base_stock_config_fba_lose> StockFbaLoseList(Condition_ConfigPromotion m, int offset, int limit, ref int total)
{
return DB.db_config.StockFbaLoseList(m, offset, limit, ref total);
}
/// <summary>
/// 保存备货天数
/// </summary>
/// <param name="m">销售设置model</param>
/// <param name="username">当前操作人</param>
/// <returns></returns>
public string SaveStockFba(Models.dc_base_stock_config_fba m, string username)
{
if (string.IsNullOrWhiteSpace(m.warehouse_code))
{
return "请选择仓库!";
}
if (string.IsNullOrWhiteSpace(m.platform_sku))
{
return "请填写平台sku!";
}
// 查询百伦sku
var objWarehouse = DB.common.GetWareHouseByCode(m.warehouse_code);
if (objWarehouse == null)
{
return "系统找不到该仓库。";
}
m.warehouse_name = objWarehouse.warehouse_name;
return DB.db_config.SaveStockFba(m, username);
}
/// <summary>
/// 获取备货天数设置详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public dc_base_stock_config_fba GetStockFbaById(int id)
{
return DB.db_config.GetStockFbaById(id);
}
#endregion
}
}
......@@ -6,6 +6,8 @@ using AutoTurnOver.DB;
using System.Linq;
using AutoTurnOver.Utility;
using AutoTurnOver.Models.Report;
using System.Data;
using AutoTurnOver.Models.ApiDto;
namespace AutoTurnOver.Services
{
......@@ -322,35 +324,44 @@ namespace AutoTurnOver.Services
if (datas.Count <= 200 && datas.Count >= 1 && !m.isSum)
{
var orders = datas.Select(s => ("ebay".Equals(s.platform_type) ? s.transaction_id : s.origin_order_id)).ToList();
var orders = datas.Select(s => ("ebay".Equals(s.platform_type,StringComparison.OrdinalIgnoreCase) ? s.transaction_id : s.origin_order_id)).ToList();
var crm_case_order_list = ApiServices.CrmCaseOrder(orders);
var crm_case_message_list = ApiServices.CrmMessage(orders);
var crm_case_message_reply_list = ApiServices.CrmMessageReply(orders);
foreach (var item in datas)
{
item.crm_case_count = crm_case_order_list.Where(s =>
item.platform_type.Equals(s.platform_type) && (
("ebay".Equals(item.platform_type) && item.transaction_id.Equals(s.order_no))
item.platform_type.Equals(s.platform_type, StringComparison.OrdinalIgnoreCase) && (
("ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.transaction_id.Equals(s.order_no))
||
(!"ebay".Equals(item.platform_type) && item.origin_order_id.Equals(s.order_no))
(!"ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.origin_order_id.Equals(s.order_no))
)
).Count();
item.crm_message_count = crm_case_message_list.Where(s =>
item.platform_type.Equals(s.platform_type) && (
("ebay".Equals(item.platform_type) && item.transaction_id.Equals(s.order_no))
item.platform_type.Equals(s.platform_type, StringComparison.OrdinalIgnoreCase) && (
("ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.transaction_id.Equals(s.order_no))
||
(!"ebay".Equals(item.platform_type) && item.origin_order_id.Equals(s.order_no))
(!"ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.origin_order_id.Equals(s.order_no))
)
).Count();
item.crm_message_reply_count = crm_case_message_reply_list.Where(s =>
item.platform_type.Equals(s.platform_type) && (
("ebay".Equals(item.platform_type) && item.transaction_id.Equals(s.order_no))
item.platform_type.Equals(s.platform_type, StringComparison.OrdinalIgnoreCase) && (
("ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.transaction_id.Equals(s.order_no))
||
(!"ebay".Equals(item.platform_type) && item.origin_order_id.Equals(s.order_no))
(!"ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.origin_order_id.Equals(s.order_no))
)
).Count();
item.aims_message_reply_count = crm_case_message_reply_list.Where(s =>
s.letterType == 6 &&
item.platform_type.Equals(s.platform_type, StringComparison.OrdinalIgnoreCase) && (
("ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.transaction_id.Equals(s.order_no))
||
(!"ebay".Equals(item.platform_type, StringComparison.OrdinalIgnoreCase) && item.origin_order_id.Equals(s.order_no))
)
).Count();
}
}
return datas;
......@@ -375,6 +386,62 @@ namespace AutoTurnOver.Services
return report.MarkReturnSpeedChange(m);
}
/// <summary>
/// 批量出信
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public DataTable BatchSendMessage(BatchSendMessageInputDto data)
{
DataTable result_data = new DataTable();
result_data.Columns.Add("百伦单号");
result_data.Columns.Add("平台单号");
result_data.Columns.Add("发送结果");
result_data.Columns.Add("备注");
result_data.Columns.Add("异常");
// 查询相关的数据
var order_data_list = report.GetOmsOrder(data.bailun_order_ids);
foreach (var item in order_data_list)
{
try
{
var send_data = new ApiSendMessageInputDto()
{
content = data.content,
letterType = 6,
order_no = item.order_id,
platform = item.platform_type,
remarks = data.remarks,
subject = data.subject,
user = "API_AIMS"
};
ApiServices.SendMessage(send_data);
var row = result_data.NewRow();
row["百伦单号"] = item.bailun_order_id;
row["平台单号"] = item.order_id;
row["发送结果"] = "成功";
row["备注"] = "";
row["异常"] = "";
result_data.Rows.Add(row);
}
catch (Exception ex)
{
var row = result_data.NewRow();
row["百伦单号"] = item.bailun_order_id;
row["平台单号"] = item.order_id;
row["发送结果"] = "失败";
row["备注"] = ex.Message;
row["异常"] = ex.StackTrace;
result_data.Rows.Add(row);
}
}
return result_data;
}
}
}
......@@ -136,18 +136,10 @@ namespace AutoTurnOver.Controllers
/// <returns></returns>
public JsonResult MessageCustomTemplateList()
{
var datas = ApiServices.PlatformList();
var datas = ApiServices.MessageCustomTemplateList();
return new JsonResult(datas);
}
/// <summary>
/// 获取一二级的百伦数据
/// </summary>
......
......@@ -291,5 +291,95 @@ namespace AutoTurnOver.Controllers
return new JsonResult(result);
}
#region fba共享仓发货仓
/// <summary>
/// 获取备货天数列表
/// </summary>
/// <param name="limit">每页记录数</param>
/// <param name="offset">偏移量</param>
/// <param name="order">排序字段</param>
/// <param name="sort">升序还是降序</param>
/// <param name="sku">sku编码</param>
/// <param name="warehousecode">仓库编码</param>
/// <param name="IsEffective">是否有效数据</param>
/// <returns></returns>
[HttpGet]
public JsonResult StockFbaList(int limit, int offset, string order, string sort, string bailun_sku,string platform_sku, string warehousecode, string warehousetype, int? warehousearea)
{
var m = new Condition_ConfigPromotion
{
platform_sku = platform_sku,
bailun_sku = bailun_sku,
warehousecode = warehousecode,
warehousetype = warehousetype,
warehousearea = warehousearea
};
var total = 0;
var service = new Services.ConfigServices();
var list = service.StockFbaList(m, offset, limit, ref total);
return new JsonResult(new
{
rows = list,
total = total,
});
}
public JsonResult StockFbaLoseList(int limit, int offset, string order, string sort, string platform_sku)
{
var m = new Condition_ConfigPromotion
{
platform_sku = platform_sku
};
var total = 0;
var service = new Services.ConfigServices();
var list = service.StockFbaLoseList(m, offset, limit, ref total);
return new JsonResult(new
{
rows = list,
total = total,
});
}
/// <summary>
/// 保存备货天数设置
/// </summary>
/// <returns></returns>
[HttpPost]
public JsonResult SaveStockFba([FromBody]dc_base_stock_config_fba m)
{
try
{
var result = new Services.ConfigServices().SaveStockFba(m, "");
return new JsonResult(result);
}
catch (Exception ex)
{
return new JsonResult(ex.Message);
}
}
/// <summary>
/// 获取备货天数详情
/// </summary>
/// <param name="id">销售设置id</param>
/// <returns></returns>
[HttpGet]
public JsonResult GetStockFbaById(int id)
{
var m = new Services.ConfigServices().GetStockFbaById(id);
return new JsonResult(m);
}
#endregion
}
}
\ No newline at end of file
......@@ -173,7 +173,7 @@ namespace AutoTurnOver.Controllers
DataTable table = new DataTable();
string[] cols = new string[] { "初始建议数", "系统建议数", "采购数量", "是否已推送", "时间", "sku", "产品名称", "产品14日日均", "仓库编码","仓库名称",
"内部商品编码", "商品建议采购", "商品14日日均", "商品moq", "日均加权销量", "缺货","实时缺货", "调拨在途", "采购在途", "库存数",
"内部商品编码", "商品建议采购", "商品14日日均", "商品moq", "日均加权销量","安全库存", "缺货","实时缺货", "调拨在途", "采购在途", "库存数",
"采购金额", "供应链长度", "供应商名称", "采购类型","采购员","突增关注"
};
foreach (var item in cols)
......@@ -200,6 +200,7 @@ namespace AutoTurnOver.Controllers
row["商品14日日均"] = itemData.goods_history_fourteenday_sales;
row["商品moq"] = itemData.goods_moq;
row["日均加权销量"] = itemData.daily_weighted_sales;
row["安全库存"] = itemData.quantity_safe_inventory;
row["缺货"] = itemData.quantity_out_stock;
row["实时缺货"] = itemData.realtime_quantity_out_stock;
row["调拨在途"] = itemData.quantity_transfer;
......
......@@ -591,5 +591,32 @@ namespace AutoTurnOver.Controllers
return new JsonResult(new { success = false, message = ex.Message });
}
}
/// <summary>
/// 批量出信
/// </summary>
/// <returns></returns>
public FileResult BatchSendMessage(string bailun_order_ids,string content,string subject,string remarks)
{
BatchSendMessageInputDto data = new BatchSendMessageInputDto {
bailun_order_ids = bailun_order_ids,
content = content,
remarks = remarks,
subject = subject
};
var services = new ReportServices();
var table = services.BatchSendMessage(data);
var fileName = $"出信结果.csv";
var fullFileName = AppContext.BaseDirectory + $@"Result\SendMessage\{fileName}";
DataTableHelper.SaveCSV(table, fullFileName);
var memory = new MemoryStream();
using (var stream = new FileStream(fullFileName, FileMode.Open))
{
stream.CopyTo(memory);
}
memory.Position = 0;
return File(memory, "text/csv", "出信结果.csv");
}
}
}
\ No newline at end of file
......@@ -25,5 +25,6 @@
"Crm_Message_Reply": "http://crm.bailuntec.com/api/MessageReplyList",
"Lms_GetLogistics": "http://lms.bailuntec.com/api/DataInfo/ApiLogistics/GetLogistics",
"Pams_PlatformList": "http://pams.bailuntec.com/Api/GetPlatformSites?type=1",
"Crm_Message_Custom_Template": "http://crm.bailuntec.com/api/MessageCustomTemplateList"
"Crm_Message_Custom_Template": "http://crm.bailuntec.com/api/MessageCustomTemplateList",
"CRM_SendMessage": "http://kefu.bailuntec.com/api/SendMessage"
}
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