批次報名 統計報表修正
This commit is contained in:
@@ -34,6 +34,7 @@ namespace Model.ViewModel
|
||||
public string is_reconcile { get; set; }
|
||||
public string up_time1 { get; set; }
|
||||
public string up_time2 { get; set; }
|
||||
public string deadline { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,9 @@ namespace Model.ViewModel
|
||||
|
||||
public follower f_user { get; set; }
|
||||
|
||||
public List<string> orders { get; set; }
|
||||
public Nullable<int> old_activity_num { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class pro_order_detail
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using Model.ViewModel;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NPOI.SS.UserModel;
|
||||
using NPOI.XSSF.UserModel;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
|
||||
/// <summary>
|
||||
/// StatisticController 的摘要描述
|
||||
/// </summary>
|
||||
public class StatisticController : BaseApiController
|
||||
{
|
||||
|
||||
|
||||
public StatisticController()
|
||||
{
|
||||
//
|
||||
// TODO: 在這裡新增建構函式邏輯
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -236,6 +236,41 @@ public class activityController : ApiController
|
||||
return count;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/activity/CopyActivity")]
|
||||
public IHttpActionResult CopyActivity([FromBody] Model.ViewModel.activity act)
|
||||
{
|
||||
try
|
||||
{
|
||||
var activity = _db.activities.Where(x => x.num == act.num).AsNoTracking().FirstOrDefault();
|
||||
var relations = _db.activity_relating.AsNoTracking().Where(x => x.activity_num == act.num).AsNoTracking().ToList();
|
||||
|
||||
activity.num = 0;
|
||||
activity.subject = act.subject;
|
||||
activity.startDate_solar = DateTime.Parse(act.up_time1);
|
||||
activity.endDate_solar = DateTime.Parse(act.up_time2);
|
||||
activity.dueDate = DateTime.Parse(act.deadline);
|
||||
_db.activities.Add(activity);
|
||||
_db.SaveChanges();
|
||||
foreach (var item in relations)
|
||||
{
|
||||
item.num = 0;
|
||||
item.activity_num = activity.num;
|
||||
item.reg_time = DateTime.Now;
|
||||
_db.activity_relating.Add(item);
|
||||
}
|
||||
|
||||
_db.SaveChanges();
|
||||
|
||||
return Ok(new { result = "Y", message =$"完成 {activity.num} " });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Ok(new {result="N",message=ex.Message});
|
||||
// throw;
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/activity/GetListNew")]
|
||||
public IHttpActionResult GetListNew([FromBody] Model.ViewModel.activity q, int page, int pageSize = 10,
|
||||
|
||||
@@ -9,11 +9,13 @@ using System;
|
||||
using System.Activities.Expressions;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Entity;
|
||||
using System.Diagnostics;
|
||||
using System.IdentityModel.Metadata;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Web.Helpers;
|
||||
using System.Web.Http;
|
||||
using static TreeView;
|
||||
@@ -206,6 +208,90 @@ public class orderController : ApiController
|
||||
return count;
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/order/BatchSave")]
|
||||
public IHttpActionResult BatchSave([FromBody] Model.ViewModel.pro_order po)
|
||||
{
|
||||
try
|
||||
{
|
||||
var query = _db.pro_order.AsNoTracking().Where(x => x.activity_num == po.old_activity_num).AsQueryable();
|
||||
query = query.Include(x => x.pro_order_detail).AsNoTracking();
|
||||
query = query.Where(x => po.orders.Contains(x.order_no));
|
||||
var list = query.ToList();
|
||||
List<Model.pro_order> orders = new List<Model.pro_order>();
|
||||
List<Model.pro_order_detail> order_details = new List<pro_order_detail>();
|
||||
|
||||
var act=_db.activities.Where(x=>x.num==po.activity_num).FirstOrDefault();
|
||||
var hasList = _db.pro_order.AsNoTracking().Where(x => x.activity_num == po.activity_num).AsNoTracking().ToList();
|
||||
List<int> rp=new List<int>();
|
||||
//要檢查是否已經報名
|
||||
foreach (var item in list)
|
||||
{
|
||||
var already=hasList.Where(x => x.f_num == item.f_num).FirstOrDefault();
|
||||
if (already != null&&!string.IsNullOrEmpty(already.order_no))
|
||||
{
|
||||
rp.Add((int)already.f_num);
|
||||
continue;
|
||||
}
|
||||
//Model.pro_order order = new Model.pro_order();
|
||||
//order.phone = item.phone;
|
||||
//order.follower1 = item.follower1;
|
||||
//order.address = item.address;
|
||||
//order.activity_num = po.activity_num;
|
||||
//order.up_time = DateTime.Now;
|
||||
//order.reg_time = DateTime.Now;
|
||||
////order.follower = item.follower;//加了會去寫followers
|
||||
//order.f_num = item.f_num;
|
||||
//order.keyin1 = item.keyin1;
|
||||
//order.introducer = item.introducer;
|
||||
//order.send_receipt = item.send_receipt;
|
||||
//order.receipt_title = item.receipt_title;
|
||||
//order.order_no = createOrderNumber();
|
||||
item.reg_time= DateTime.Now;
|
||||
item.up_time= DateTime.Now;
|
||||
item.order_no= createOrderNumber();
|
||||
item.activity_num= po.activity_num;
|
||||
|
||||
_db.pro_order.Add(item);
|
||||
orders.Add(item);
|
||||
foreach (var detail in item.pro_order_detail)
|
||||
{
|
||||
//Model.pro_order_detail order_detail = new Model.pro_order_detail();
|
||||
//order_detail.order_no = order.order_no;
|
||||
//order_detail.actItem_num = detail.actItem_num;
|
||||
//order_detail.parent_num = detail.parent_num;
|
||||
//order_detail.print_id = detail.print_id;
|
||||
//order_detail.f_num = detail.f_num;
|
||||
//order_detail.f_num_tablet = detail.f_num_tablet;
|
||||
//order_detail.from_id = detail.from_id;
|
||||
//order_detail.from_id_tablet = detail.from_id_tablet;
|
||||
//order_detail.price = detail.price;
|
||||
//order_detail.qty = detail.qty;
|
||||
//order_detail.printed_files = detail.printed_files;
|
||||
//order_detail.style = detail.style;
|
||||
//order_detail.UpdateTime=DateTime.Now;
|
||||
//order_details.Add(order_detail);
|
||||
detail.order_no=item.order_no;
|
||||
detail.UpdateTime= DateTime.Now;
|
||||
detail.start_date= act.startDate_solar;
|
||||
detail.due_date= act.endDate_solar;
|
||||
_db.pro_order_detail.Add(detail);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//_db.pro_order.AddRange(orders);
|
||||
//_db.SaveChanges();
|
||||
//_db.pro_order_detail.AddRange(order_details);
|
||||
_db.SaveChanges();
|
||||
return Ok(new {result="Y",message="完成",data=rp});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return Ok(new { result = "Y",message=ex.Message+ex.StackTrace });
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("api/order/AddOrderWithDetail")]
|
||||
public IHttpActionResult AddOrderWithDetail([FromBody] Model.ViewModel.pro_order q)
|
||||
@@ -461,6 +547,12 @@ public class orderController : ApiController
|
||||
qry = qry.OrderByDescending(o => o.reg_time);
|
||||
|
||||
var count = qry.Count(); //pageSize = count;//一次取回??
|
||||
if (pageSize==-1)
|
||||
{
|
||||
pageSize = count;
|
||||
}
|
||||
if(pageSize==0)
|
||||
pageSize = 10;
|
||||
var ret = new
|
||||
{
|
||||
list = qry.ToPagedList(page, pageSize).Select(x => new
|
||||
|
||||
@@ -225,17 +225,31 @@ public class statisticsController: ApiController
|
||||
{
|
||||
if (items.draft != null)
|
||||
{
|
||||
var jj = JsonConvert.DeserializeObject<JArray>(items.draft);
|
||||
log.writeLogPath(jj.ToString());
|
||||
foreach (var j in jj)
|
||||
if (items.draft .StartsWith("["))
|
||||
{
|
||||
if (item.subject == j["activity_name"].ToString() &&
|
||||
item.item_subject == j["actitem_name"].ToString())
|
||||
var jj = JsonConvert.DeserializeObject<JArray>(items.draft);
|
||||
log.writeLogPath(jj.ToString());
|
||||
foreach (var j in jj)
|
||||
{
|
||||
payed = payed + decimal.Parse(j["reconcile"].ToString());
|
||||
if (item.subject == j["activity_name"].ToString() &&
|
||||
item.item_subject == j["actitem_name"].ToString())
|
||||
{
|
||||
payed = payed + decimal.Parse(j["reconcile"].ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var jj = JsonConvert.DeserializeObject<JObject>(items.draft);
|
||||
foreach (var j in jj["pro_order_detail_items"])
|
||||
{
|
||||
if (item.subject == j["activity_name"].ToString() &&
|
||||
item.item_subject == j["actitem_name"].ToString())
|
||||
{
|
||||
payed = payed + decimal.Parse(j["reconcile"].ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
ws.Cells[i, 7].Value = payed;
|
||||
|
||||
Reference in New Issue
Block a user