調整版型設計

This commit is contained in:
2026-07-17 17:40:17 +08:00
parent dee05d6ff9
commit 59bb0ff824
8 changed files with 1523 additions and 26 deletions
+43 -11
View File
@@ -7,6 +7,7 @@ using NPOI.SS.UserModel;
using OfficeOpenXml;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
@@ -146,10 +147,18 @@ public class statisticsController: ApiController
return Ok(data);
}
//public static IEnumerable<T> Between<T>(
// this IEnumerable<T> source,
// T low,
// T high) where T : IComparable<T>
//{
// // 運用 IComparable 比較大小,泛型可支援 int, double, DateTime 等
// return source.Where(item => item.CompareTo(low) >= 0 && item.CompareTo(high) <= 0);
//}
[HttpPost]
[Route("api/statistics/GetStatistic")]
public IHttpActionResult GetStatistic(string statistic_mode)
public IHttpActionResult GetStatistic(string statistic_mode,string s_date,string e_date)
{
try
{
@@ -166,6 +175,15 @@ public class statisticsController: ApiController
LogUtility log = new LogUtility();
// 建立分頁
var ws = excel.Workbook.Worksheets.Add("MySheet");
//var query = _db.activities.AsQueryable();
//if (!string.IsNullOrEmpty(s_date))
//{
// query= query.Where(a => a.startDate_solar.Value.ToString("yyyyMMdd").CompareTo(s_date) >= 0);
//}
//if (!string.IsNullOrEmpty(e_date))
//{
// query = query.Where(a => a.endDate_solar.Value.ToString("yyyyMMdd").CompareTo(e_date) <= 0);
//}
var data = (from a in _db.activities
join b in _db.pro_order on a.num equals b.activity_num
join c in _db.pro_order_detail on b.order_no equals c.order_no
@@ -181,9 +199,19 @@ public class statisticsController: ApiController
c.actItem_num,
item_subject = f.subject,
c.qty,
c.price
c.price,
a.startDate_solar,
a.endDate_solar
}).ToList();
if (!string.IsNullOrEmpty(s_date))
{
data = data.Where(a => a.startDate_solar.Value.ToString("yyyyMMdd").CompareTo(s_date) >= 0).ToList();
}
if (!string.IsNullOrEmpty(e_date))
{
data = data.Where(a => a.endDate_solar.Value.ToString("yyyyMMdd").CompareTo(e_date) <= 0).ToList();
}
int i = 0;
i++;
if (statistic_mode == "01")
@@ -198,7 +226,7 @@ public class statisticsController: ApiController
ws.Cells[i, 8].Value = "應收";
ws.Cells[i, 9].Value = "應付";
i++;
var list = data.GroupBy(x => new { x.num, x.subject, x.actItem_num, x.item_subject }).Select(y =>
var list = data.ToList().GroupBy(x => new { x.num, x.subject, x.actItem_num, x.item_subject }).Select(y =>
new
{
y.Key.num,
@@ -213,8 +241,8 @@ public class statisticsController: ApiController
ws.Cells[i, 1].Value = i - 1;
ws.Cells[i, 2].Value = item.subject;
ws.Cells[i, 3].Value = item.item_subject;
ws.Cells[i, 4].Value = item.qty.Value;
ws.Cells[i, 5].Value = item.price.Value;
ws.Cells[i, 4].Value =item.qty==null?0: item.qty.Value;
ws.Cells[i, 5].Value =item.price==null?0: item.price.Value;
ws.Cells[i, 6].Formula = $"=D{i}*E{i}";
var draftList = (from a in drafts
@@ -240,13 +268,17 @@ public class statisticsController: ApiController
}
else
{
var jj = JsonConvert.DeserializeObject<JObject>(items.draft);
foreach (var j in jj["pro_order_detail_items"])
if (jj["pro_order_detail_items"]!=null)
{
if (item.subject == j["activity_name"].ToString() &&
item.item_subject == j["actitem_name"].ToString())
foreach (var j in jj["pro_order_detail_items"])
{
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());
}
}
}
}
@@ -301,7 +333,7 @@ public class statisticsController: ApiController
decimal payed = 0;
foreach (var d in dd)
{
payed = payed + (decimal)d.check_amount;// -(decimal)d.remain_amount;
payed = payed +d.check_amount==null?0: (decimal)d.check_amount;// -(decimal)d.remain_amount;
}
ws.Cells[i, 5].Value = payed;
ws.Cells[i, 6].Formula = $"=if(D{i}>E{i},D{i}-E{i},0)";
@@ -357,7 +389,7 @@ public class statisticsController: ApiController
}
catch (Exception ex)
{
return Ok(new { result = "N", message = ex.Message});
return Ok(new { result = "N", message = ex.Message+ex.StackTrace});
//return BadRequest($"{ex.Message}{ex.StackTrace}");
}
}
+6 -5
View File
@@ -598,9 +598,9 @@
<button class="nav-link active" id="sec2-tab1" data-bs-toggle="tab" data-bs-target="#sec2-page1"
type="button" role="tab" aria-controls="home" aria-selected="true">
基本資料</button>
<button class="nav-link" id="sec2-tab2" data-bs-toggle="tab" data-bs-target="#sec2-page2"
<%--<button class="nav-link" id="sec2-tab2" data-bs-toggle="tab" data-bs-target="#sec2-page2"
type="button" role="tab" aria-controls="profile" aria-selected="false">
相關文件</button>
相關文件</button>--%>
<button class="nav-link" id="sec2-tab3" data-bs-toggle="tab" data-bs-target="#sec2-page3"
type="button" role="tab" aria-controls="bom" aria-selected="false">
功德項目</button>
@@ -726,7 +726,7 @@
</div>
</div>
</div>
<div class="tab-pane fade giftItems label-sm-right" id="sec2-page2" role="tabpanel" aria-labelledby="sec2-tab2">
<%-- <div class="tab-pane fade giftItems label-sm-right" id="sec2-page2" role="tabpanel" aria-labelledby="sec2-tab2">
<v-card class="mx-auto mt-10" outlined v-if="this_id!=''">
<v-data-table
:headers="headersDetail"
@@ -734,7 +734,7 @@
:footer-props="footersDetail"
:search="searchDetail"
:options.sync="optionsDetail" class="elevation-1" fixed-header height="350px"
<%-- :server-items-length="desserts_count"--%>
>
<v-divider inset></v-divider>
<template v-slot:top>
@@ -787,7 +787,8 @@
<div class="mx-auto" v-else >
<p class="lead">請先儲存基本資料後再新增相關文件</p>
</div>
</div>
</div>--%>
<%-- :server-items-length="desserts_count"--%>
<div class="tab-pane fade giftItems label-sm-right" id="sec2-page3" role="tabpanel" aria-labelledby="sec2-tab3">
<asp:Panel ID="bom_panel" runat="server">
<div class="row mb-1">
+7
View File
@@ -162,10 +162,17 @@ public partial class admin_activity_item_reg : MyWeb.config
actItem.sort_order = maxSort + 1;
_db.actItems.Add(actItem);
_db.SaveChanges();
int _id = actItem.num;
if( _id > 0)
{
Model.actItem_files file=new Model.actItem_files();
file.actItem_num= _id;
file.files_num = 211;
file.file.reg_time=DateTime.Now;
_db.actItem_files.Add(file);
_db.SaveChanges();
Model.admin_log admin_log = new Model.admin_log();
admin_log.writeLog(admin.info.u_id, (int)Model.admin_log.Systems.Item, (int)Model.admin_log.Status.Insert, subject.Text);
+1 -1
View File
@@ -70,7 +70,7 @@
this.message_dialog.show = true;
return false;
}
const params = { statistic_mode: this.category_id }
const params = { statistic_mode: this.category_id, s_date: this.query.s_date, e_date: this.query.e_date }
const search = {
num: 0, kind: 0, kindName: "", order_no: "", u_name: "", pay_type: "", subject: "", amount: 0, price: 0, pay_mode: "", status: "",
acc_num: 0, f_num: 0, acc_kind: 0, check_amount: 0, remain_amount: 0, check_status: "", actItem_num: 0, draft: "", d_nnum: 0
+8 -2
View File
@@ -13,7 +13,9 @@
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="d-flex overflow-hidden" style="height:1920px">
<div class="p-2 bg-dark text-white floting-box" style="width: 250px; left: 20px; top: 80px;">
<h6 class="border-bottom pb-2">設計工具箱</h6>
<div class="input-group mb-3">
<button class="btn btn-outline-secondary dropdown-toggle" type="button"
@@ -86,8 +88,8 @@
<div>
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">顯示物件
</a>
<a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown" aria-expanded="false">選擇牌位顯示項目</a>
<ul class="dropdown-menu">
<li><span class="btn btn-sm btn-outline-light w-100 mb-2 dropdown-item" onclick="Designer.displayItem('address')">地址欄</span></li>
<li><span class="btn btn-sm btn-outline-light w-100 mb-2 dropdown-item" onclick="Designer.displayItem('title1')">牌位正名</span></li>
@@ -260,11 +262,15 @@
</div>
</div>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="footer_script" runat="Server">
<script>
const Designer = {
vuetify: new Vuetify(vuetify_options),
tab: "疏文",
elements: [],
activeId: null,
styleID: null,
File diff suppressed because it is too large Load Diff
+14
View File
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class admin_print_TabletDesign :MyWeb.config
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
+4 -4
View File
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
@@ -48,8 +48,8 @@
</appSettings>
<connectionStrings>
<!--SQL用-->
<add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.5.225;Initial Catalog=17168erp_c;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Provider=SQLOLEDB;Connection Timeout=10;" />
<add name="ezEntities" providerName="System.Data.EntityClient" connectionString="metadata=res://*/App_Code.Model.Model.csdl|res://*/App_Code.Model.Model.ssdl|res://*/App_Code.Model.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=192.168.5.225;Initial Catalog=17168erp_c;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;&quot;" />
<add name="shopConn" providerName="System.Data.SqlClient" connectionString="Data Source=192.168.2.252;Initial Catalog=17168erp_c1;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Provider=SQLOLEDB;Connection Timeout=10;" />
<add name="ezEntities" providerName="System.Data.EntityClient" connectionString="metadata=res://*/App_Code.Model.Model.csdl|res://*/App_Code.Model.Model.ssdl|res://*/App_Code.Model.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=192.168.2.252;Initial Catalog=17168erp_c1;User ID=sa;Password=linux@mssql1234;Encrypt=False;TrustServerCertificate=True;Connection Timeout=10;&quot;" />
<!--
-->
<!--SQL用-->
@@ -225,7 +225,7 @@
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="777.00:00:00" />
<mimeMap fileExtension=".vue" mimeType="application/javascript"/>
<mimeMap fileExtension=".vue" mimeType="application/javascript" />
</staticContent>
</system.webServer>
<runtime>