Commit d93bd6f9 by zhouminghui

adjustment

parent 6401d11e
...@@ -28,5 +28,6 @@ namespace Bailun.DC.Models.Dtos.Finance ...@@ -28,5 +28,6 @@ namespace Bailun.DC.Models.Dtos.Finance
/// 是否分页 /// 是否分页
/// </summary> /// </summary>
public bool IsPages { get; set; } = true; public bool IsPages { get; set; } = true;
public bool IsCost { get; set; } = false;
} }
} }
using System;
using System.Collections.Generic;
using System.Text;
namespace Bailun.DC.Models.WebApiModels
{
public class AddExprotTaskInput
{
public string TaskTitle { get; set; }
public string TaskType { get; set; }
public string TaskJson { get; set; }
public string CreateName { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
namespace Bailun.DC.Models
{
public class dc_exprot_task
{
public int id { get; set; }
public string task_title { get; set; }
public string task_type { get; set; }
public TaskTypeEnum task_status { get; set; }
public string task_json { get; set; }
public string task_result { get; set; }
public DateTime? start_date { get; set; }
public DateTime? end_date { get; set; }
public string create_user { get; set; }
public DateTime? create_date { get; set; }
}
public enum TaskTypeEnum
{
/// <summary>
/// 失败
/// </summary>
[Description("失败")]
Fail = 0,
/// <summary>
/// 未开始
/// </summary>
[Description("未开始")]
NotStarted = 1,
/// <summary>
/// 进行中
/// </summary>
[Description("进行中")]
InProgress = 2,
/// <summary>
/// 完成
/// </summary>
[Description("完成")]
Complete = 3,
}
}
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text; using System.Text;
namespace Bailun.DC.Models namespace Bailun.DC.Models
...@@ -46,6 +47,7 @@ namespace Bailun.DC.Models ...@@ -46,6 +47,7 @@ namespace Bailun.DC.Models
/// <summary> /// <summary>
/// 产品销售额 人民币 /// 产品销售额 人民币
/// </summary> /// </summary>
[NotMapped]
public decimal amount_sales_rmb public decimal amount_sales_rmb
{ {
get get
...@@ -60,6 +62,14 @@ namespace Bailun.DC.Models ...@@ -60,6 +62,14 @@ namespace Bailun.DC.Models
/// </summary> /// </summary>
public decimal cost_product { get; set; } public decimal cost_product { get; set; }
[NotMapped]
public decimal cost_product_total
{
get
{
return cost_product * quantity_shipped;
}
}
/// <summary> /// <summary>
/// 平台费 原币 ,ebay 取other汇率 /// 平台费 原币 ,ebay 取other汇率
......
...@@ -707,6 +707,8 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to ...@@ -707,6 +707,8 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to
} }
} }
} }
/// <summary> /// <summary>
/// 月销售利润管理成本明细 /// 月销售利润管理成本明细
/// </summary> /// </summary>
...@@ -760,30 +762,46 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to ...@@ -760,30 +762,46 @@ SUM(t1.amount_sales * t1.seller_order_exchange_rate * t1.quantity_shipped) AS to
sql.Append(@"select amount as Amount,amount_rmb as AmountRmb,company_name as CompanyName, sql.Append(@"select amount as Amount,amount_rmb as AmountRmb,company_name as CompanyName,
dic as Currency,department_name as DepartmentName,type_name as TypeName, dic as Currency,department_name as DepartmentName,type_name as TypeName,
cost_no as FeeId,accounting_subject_name as Accounting,bank_company as ReceiveUnit, cost_no as FeeId,accounting_subject_name as Accounting,bank_company as ReceiveUnit,
cost_reason as CostReason,cost_remark as CostRemark,pay_time cost_reason as CostReason,cost_remark as CostRemark,pay_time,is_lend,lend_balance,cost_form
from dc_base_finance_fee where cost_status=4 and (is_lend is null or is_lend=1 or (is_lend=2 and lend_balance>0) from dc_base_finance_fee where cost_status=4 and (is_lend is null or is_lend=1 or (is_lend=2 and lend_balance>0)
or (is_lend=2 and cost_form=1)) and pay_time>= @start and pay_time< @end "); or (is_lend=2 and cost_form=1)) and pay_time>= @start and pay_time< @end ");
parameters.Add("start", start); parameters.Add("start", start);
parameters.Add("end", end); parameters.Add("end", end);
if (feeName.Contains("其中:歌戈儿收入")) if (feeName.Contains("其中:歌戈儿收入"))
{ {
sql.Append(" and company_name like '%歌戈儿%' and type_name ='销售收入' "); sql.Append(" and company_name like '%歌戈儿%' and type_name not in ('销售收入','收款') ");
} }
else if (feeName.Contains("广州歌戈儿生活科技有限公司")) else if (feeName.Contains("广州歌戈儿生活科技有限公司"))
{ {
sql.Append(" and company_name like '%歌戈儿%' "); sql.Append(" and company_name like '%歌戈儿%' and type_name not in ('还款','收款','借款','销售收入') ");
//sql.Append(" and (company_name like '%歌戈儿%' and (type_name!='销售收入' and type_name!='出口退税款')) "); return sql.ToString();
}
else if (feeName.Contains("香港百伦科技有限公司"))
{
sql.Append(" and company_name = @feeName and type_name not in ('物流费','销售费用/物流费','收款') ");
}
else if (feeName.Contains("广州百伦供应链科技有限公司"))
{
sql.Append(" and company_name like '广州百伦供应链科技有限公司%' and type_name not in ('还款','收款','出口退税款') ");
return sql.ToString();
}
else if (feeName.Contains("电子服装仓"))
{
sql.Append(" and company_name = @feeName and type_name not in ('还款') ");
}
else if (feeName.Contains("阳山仓"))
{
sql.Append(" and company_name = @feeName and type_name not in ('收款') ");
}
else if (feeName.Contains("广州崇瑜信息技术咨询有限公司"))
{
sql.Append(" and company_name = @feeName and type_name not in ('服务费') ");
} }
//else if (feeName.Contains("广州电子服装仓&阳山"))
//{
// sql.Append(" and (company_name in ('广州电子服装仓','阳山仓') and type_name!='出口退税款') ");
//}
else else
{ {
//sql.Append(" and (company_name =@feeName and type_name!='出口退税款') "); sql.Append(" and company_name = @feeName ");
sql.Append(" and company_name =@feeName ");
parameters.Add("feeName", feeName);
} }
parameters.Add("feeName", feeName);
return sql.ToString(); return sql.ToString();
} }
/// <summary> /// <summary>
...@@ -1304,7 +1322,7 @@ AND financecategoryname LIKE '{financecategory.Replace("产品", "")}%' "; ...@@ -1304,7 +1322,7 @@ AND financecategoryname LIKE '{financecategory.Replace("产品", "")}%' ";
} }
} }
} }
Console.WriteLine($"{DateTime.Now}开始生成利润报表汇总数据"); Console.WriteLine($"{DateTime.Now}利润报表汇总数据完成");
} }
return true; return true;
} }
...@@ -1399,5 +1417,66 @@ AND platform_type = '{item.platform_type}' AND financecategoryname = '{item.fina ...@@ -1399,5 +1417,66 @@ AND platform_type = '{item.platform_type}' AND financecategoryname = '{item.fina
} }
} }
#endregion #endregion
#region 导出
public bool AddExprotTask(AddExprotTaskInput input)
{
try
{
//TODO:添加一条为未执行的任务到数据库
var model = new dc_exprot_task();
model.create_user = input.CreateName;
model.task_json = input.TaskJson;
model.task_title = input.TaskTitle;
model.task_type = input.TaskType;
model.task_status = TaskTypeEnum.NotStarted;
model.create_date = DateTime.Now;
using (var cn = new MySqlConnection(GlobalConfig.ConnectionString))
{
if (cn.State == ConnectionState.Closed)
{
cn.Open();
}
cn.Insert(model);
}
return true;
}
catch (Exception e)
{
Console.WriteLine($"添加导出任务失败:{e.Message}");
return false;
}
}
public void SyncExprotTask()
{
//TODO:获取需要导出的任务
var sql = "SELECT * FROM de_exprot_task WHERE task_status = 1 ";
var exprotTask = SimpleCRUD.Query<dc_exprot_task>(sql, null, GlobalConfig.ConnectionString).ToList();
foreach (var item in exprotTask)
{
//TODO:根据任务进行区分生成文件到服务器
switch (item.task_type)//task_type和前端约定好的
{
case "":
break;
default:
break;
}
//TODO:上传文件到七牛云
//TODO:保存七牛云返回的链接到导出任务并更新任务为执行完成状态
}
}
private string MonthProfitOrderDetailPageInputDto()
{
//MonthProfitOrderDetailPageInputDto
return "";
}
//var filepath = Directory.GetCurrentDirectory() + "\\Files\\Report\\" + DateTime.Now.ToString("yyyyMMdd") + "\\";
//var filename = $"亚马逊{month.Month}月凭证" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
//ExcelHelper.DataTableToExcel(table, filepath + filename, true);
#endregion
} }
} }
...@@ -32,9 +32,16 @@ namespace Bailun.DC.SyncMonthSalesProfitNew ...@@ -32,9 +32,16 @@ namespace Bailun.DC.SyncMonthSalesProfitNew
if (now.Hour == 1) if (now.Hour == 1)
{ {
Console.WriteLine("同步月利润销售报告开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); Console.WriteLine("同步月利润销售报告开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
new FinanceService().SyncMonthSalesProfit(""); var result = Init();
if (result)
{
Console.WriteLine("同步月利润销售报告任务运行完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); Console.WriteLine("同步月利润销售报告任务运行完成 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
} }
else
{
Console.WriteLine($"同步月利润销售报告任务出现了bug,程序返回结果【{result}】" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
}
else if (now.Hour == 2) else if (now.Hour == 2)
{ {
Console.WriteLine("同步生成销售额和成本的汇总数据开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); Console.WriteLine("同步生成销售额和成本的汇总数据开始启动 " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
...@@ -51,5 +58,9 @@ namespace Bailun.DC.SyncMonthSalesProfitNew ...@@ -51,5 +58,9 @@ namespace Bailun.DC.SyncMonthSalesProfitNew
Console.WriteLine($"同步月销售利润错误,堆栈信息:{ex.Message}"); Console.WriteLine($"同步月销售利润错误,堆栈信息:{ex.Message}");
} }
} }
private bool Init()
{
return new FinanceService().SyncMonthSalesProfit("");
}
} }
} }
...@@ -364,12 +364,24 @@ namespace Bailun.DC.WebApi.Controllers ...@@ -364,12 +364,24 @@ namespace Bailun.DC.WebApi.Controllers
{ {
input.IsPages = false; input.IsPages = false;
var dataList = new FinanceService().GetMonthProfitOrderDetailPage(input).Data.Items; var dataList = new FinanceService().GetMonthProfitOrderDetailPage(input).Data.Items;
var colNames = new List<string> {"财务分类","平台类型","订单号", "SKU", "销售额(原币)", "销售额RMB", "汇率", "发货量","发货时间","创建时间"}; var colNames = new List<string>();
var list = new List<string>(); var list = new List<string>();
if (!input.IsCost)
{
colNames.AddRange(new List<string> { "财务分类", "平台类型", "订单号", "SKU", "销售额(原币)", "销售额RMB", "汇率", "发货量", "发货时间", "创建时间" });
foreach (var item in dataList) foreach (var item in dataList)
{ {
list.Add($"{item.financecategoryname}|{item.platform_type}|{item.origin_order_id}|{item.bailun_sku}|{item.amount_sales}|{item.amount_sales_rmb}|{item.seller_order_exchange_rate}|{item.quantity_shipped}|{item.shipping_time.ToString("yyyy-MM-dd HH:mm:ss")}|{item.createtime.ToString("yyyy-MM-dd HH:mm:ss")}"); list.Add($"{item.financecategoryname}|{item.platform_type}|{item.origin_order_id}|{item.bailun_sku}|{item.amount_sales}|{item.amount_sales_rmb}|{item.seller_order_exchange_rate}|{item.quantity_shipped}|{item.shipping_time.ToString("yyyy-MM-dd HH:mm:ss")}|{item.createtime.ToString("yyyy-MM-dd HH:mm:ss")}");
} }
}
else
{
colNames.AddRange(new List<string> { "财务分类", "平台类型", "订单号", "SKU", "成本 ", "总成本", "汇率", "发货量", "发货时间", "创建时间" });
foreach (var item in dataList)
{
list.Add($"{item.financecategoryname}|{item.platform_type}|{item.origin_order_id}|{item.bailun_sku}|{item.cost_product}|{item.cost_product_total}|{item.seller_order_exchange_rate}|{item.quantity_shipped}|{item.shipping_time.ToString("yyyy-MM-dd HH:mm:ss")}|{item.createtime.ToString("yyyy-MM-dd HH:mm:ss")}");
}
}
var guid = Guid.NewGuid().ToString(); var guid = Guid.NewGuid().ToString();
var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\"; var filepath = _hostingEnvironment.WebRootPath + "\\Files\\Report\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
ToCSV(list, colNames, guid, filepath); ToCSV(list, colNames, guid, filepath);
...@@ -562,18 +574,16 @@ namespace Bailun.DC.WebApi.Controllers ...@@ -562,18 +574,16 @@ namespace Bailun.DC.WebApi.Controllers
[HttpGet("syncMonthSalesProfiOrderDetail")] [HttpGet("syncMonthSalesProfiOrderDetail")]
public bool SyncMonthSalesProfiOrderDetail(string date) public bool SyncMonthSalesProfiOrderDetail(string date)
=>new FinanceService().SyncMonthSalesProfiOrderDetail(date); =>new FinanceService().SyncMonthSalesProfiOrderDetail(date);
[HttpGet("testRedis")] /// <summary>
public object TestRedis() /// 添加导出任务
{ /// </summary>
try /// <param name="input"></param>
{ /// <returns></returns>
Bailun.DC.Common.RedisHelper.Add("test0819", "test add redis"); [HttpPost("addExportTask")]
return Bailun.DC.Common.RedisHelper.GetString("test0819"); public object AddExportTask(AddExprotTaskInput input)
}
catch (Exception e)
{ {
return e; input.CreateName = HttpContext.User.GetUserName();
} return new FinanceService().AddExprotTask(input);
} }
#endregion #endregion
} }
......
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