From 867793e0bd4d8e84b8ae98e31d5d722fdb73cee9 Mon Sep 17 00:00:00 2001
From: chenyong <chenyong@hnkhzn.com>
Date: 星期三, 18 六月 2025 19:15:59 +0800
Subject: [PATCH] 更新生产统计,修改大屏库存数据展示
---
Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_CL.vue | 15 +
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json | 96 +++++------
Code Management/WMS/WIDESEA_WMSClient/src/api/http.js | 8
Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs | 120 +++++++++++---
Code Management/WMS/WIDESEA_WMSClient/package-lock.json | 204 +++++++++++++-----------
5 files changed, 258 insertions(+), 185 deletions(-)
diff --git a/Code Management/WMS/WIDESEA_WMSClient/package-lock.json b/Code Management/WMS/WIDESEA_WMSClient/package-lock.json
index 1f45467..cb2517e 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/package-lock.json
+++ b/Code Management/WMS/WIDESEA_WMSClient/package-lock.json
@@ -660,93 +660,6 @@
"strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
"wrap-ansi": "^8.1.0",
"wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true
- },
- "string-width-cjs": {
- "version": "npm:string-width@4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "dependencies": {
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- },
- "strip-ansi-cjs": {
- "version": "npm:strip-ansi@6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "wrap-ansi-cjs": {
- "version": "npm:wrap-ansi@7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- }
- }
- }
}
},
"@jridgewell/gen-mapping": {
@@ -843,6 +756,11 @@
"integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"dev": true,
"optional": true
+ },
+ "@popperjs/core": {
+ "version": "npm:@sxzz/popperjs-es@2.11.7",
+ "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
},
"@rushstack/eslint-patch": {
"version": "1.10.4",
@@ -2240,13 +2158,6 @@
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
- },
- "dependencies": {
- "@popperjs/core": {
- "version": "npm:@sxzz/popperjs-es@2.11.7",
- "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
- "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
- }
}
},
"emoji-regex": {
@@ -5054,6 +4965,40 @@
"strip-ansi": "^7.0.1"
}
},
+ "string-width-cjs": {
+ "version": "npm:string-width@4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
"string.prototype.padend": {
"version": "3.1.6",
"resolved": "https://registry.npmmirror.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz",
@@ -5115,6 +5060,23 @@
"dev": true,
"requires": {
"ansi-regex": "^6.0.1"
+ }
+ },
+ "strip-ansi-cjs": {
+ "version": "npm:strip-ansi@6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ }
}
},
"strip-bom": {
@@ -5899,6 +5861,60 @@
"strip-ansi": "^7.0.1"
}
},
+ "wrap-ansi-cjs": {
+ "version": "npm:wrap-ansi@7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js b/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
index f4ca1d1..fd526c5 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/api/http.js
@@ -11,15 +11,15 @@
let loadingInstance
let loadingStatus = false
if (process.env.NODE_ENV == 'development') {
- axios.defaults.baseURL = 'http://localhost:5000/';
- // axios.defaults.baseURL = 'http://192.168.65.253:5000/';
+ // axios.defaults.baseURL = 'http://localhost:5000/';
+ axios.defaults.baseURL = 'http://192.168.20.253:5000/';
}
else if (process.env.NODE_ENV == 'debug') {
- axios.defaults.baseURL = 'http://192.168.65.253:5000/';
+ axios.defaults.baseURL = 'http://192.168.20.253:5000/';
}
else if (process.env.NODE_ENV == 'production') {
// axios.defaults.baseURL = 'http://127.0.0.1:5000/';
- axios.defaults.baseURL = 'http://192.168.65.253:5000/';
+ axios.defaults.baseURL = 'http://192.168.20.253:5000/';
}
//axios.defaults.baseURL = 'http://api.volcore.xyz/';
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_CL.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_CL.vue
index 804d4b7..e78c0fe 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_CL.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/taskinfo/Dt_CL.vue
@@ -4,10 +4,10 @@
*浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
*涓氬姟璇峰湪@/extension/widesea_wms/taskinfo/Dt_Task.js姝ゅ缂栧啓
-->
-<template>
+ <template>
<view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
:editFormOptions="editFormOptions"
- :table="table" :extend="extend" />
+ :table="table" />
</template>
<script>
import extend from "@/extension/widesea_wms/taskinfo/Dt_Task_Hty.jsx";
@@ -54,11 +54,12 @@
]);
const columns = ref([{ field: 'TaskId', title: '涓婚敭', type: 'string', width: 110, hidden: true, readonly: true, require: true, align: 'left' },
{ field: 'hour', title: '鏃ユ湡', type: 'int', width: 110, align: 'left', sort: true },
- { field: 'count', title: '瀹炴鍑哄簱', type: 'string', width: 150, align: 'left' },
- { field: 'pnboundNo', title: '鍗曟嵁鍙�', type: 'string', width: 110, align: 'left' ,hidden: true},
- { field: 'groupID', title: '搴撳瓨ID', type: 'int', width: 110, hidden: true, align: 'left' },
- { field: 'groupDetailId', title: '缁勭洏鏄庣粏ID', type: 'int', width: 110, hidden: true, align: 'left' },
- { field: 'roadway', title: '搴�', type: 'string', width: 110, align: 'left' },]);
+ { field: 'roadway', title: '搴�', type: 'string', width: 110, align: 'left' },
+ { field: 'taskType100Count', title: '瀹炴鍑哄簱', type: 'string', width: 150, align: 'left' },
+ { field: 'taskType104Count', title: '绌烘鍑哄簱', type: 'string', width: 110, align: 'left' },
+ { field: 'taskType200Count', title: '瀹炴鍏ュ簱', type: 'string', width: 110, align: 'left' },
+ { field: 'taskType204Count', title: '绌烘鍏ュ簱', type: 'string', width: 110, align: 'left' },
+ ]);
const detail = ref({
cnName: "#detailCnName",
table: "#detailTable",
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index 260b51e..19282f0 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -1444,20 +1444,7 @@
var now = DateTime.Now;
var startOfDay = new DateTime(now.Year, now.Month, now.Day);
var endOfDay = startOfDay.AddDays(1);
- var filteredItems = _stockInfoRepository.Db.Queryable<DtStockInfo>()
- .Where(x => x.OutboundTime >= startOfDay && x.OutboundTime < endOfDay && x.IsFull)
- .Includes(x => x.StockInfoDetails)
- .ToList();
-
- var result = filteredItems
- .GroupBy(x => x.AreaCode)
- .Select(g => new GroupedStockInfo
- {
- AreaCode = g.Key,
- TotalQuantity = g.Sum(item => item.StockInfoDetails?.Count ?? 0),
- Items = g.ToList()
- })
- .ToList();
+ var result = _stockInfoRepository.Db.Queryable<DtStockInfo>().ToList();
return content.OK(data: result);
}
catch (Exception ex)
@@ -1546,41 +1533,103 @@
var now = DateTime.Now;
var thirtyDaysAgo = now.AddDays(-30);
var roadwayMappings = new Dictionary<string, string> {
- { "JZ", "闈欑疆搴�" },
- { "CH", "闄堝寲搴�" },
- { "FR", "鍒嗗搴�" },
- { "GW", "楂樻俯搴�" },
- { "CW", "甯告俯搴�" }
- };
-
+ { "JZ", "闈欑疆搴�" },
+ { "CH", "闄堝寲搴�" },
+ { "FR", "鍒嗗搴�" },
+ { "GW", "楂樻俯搴�" },
+ { "CW", "甯告俯搴�" }
+};
var roadwayKeys = roadwayMappings.Keys.ToArray();
+ var taskTypes = new[] { 100, 104, 200, 204 };
var taskHty = _task_HtyRepository.Db.Queryable<Dt_Task_Hty>()
.Where(it =>
it.CreateDate >= thirtyDaysAgo &&
it.CreateDate <= now &&
- it.TaskType == 100 &&
+ taskTypes.Contains(it.TaskType) &&
roadwayKeys.Any(rk => it.Roadway.Contains(rk)))
.ToList()
.Select(t => new {
OriginalRoadway = t.Roadway,
- MatchedKey = roadwayKeys.FirstOrDefault(rk => t.Roadway.Contains(rk)),
+ RoadwayKey = roadwayKeys.FirstOrDefault(rk => t.Roadway.Contains(rk)),
+ TaskType = t.TaskType,
CreateDate = t.CreateDate
})
- .Where(t => t.MatchedKey != null)
+ .Where(t => t.RoadwayKey != null)
.GroupBy(t => new {
- RoadwayKey = t.MatchedKey,
+ RoadwayKey = t.RoadwayKey,
Date = t.CreateDate.Date,
Hour = t.CreateDate.Hour
})
.OrderByDescending(group => group.Key.Date)
.ThenByDescending(group => group.Key.Hour)
- .Select(group => new {
- Hour = $"{group.Key.Date:yyyy/M/d} {group.Key.Hour}:00",
- Count = group.Count(),
- Roadway = roadwayMappings[group.Key.RoadwayKey] // 鏄犲皠涓轰腑鏂囧悕绉�
+ .Select(group => new TaskHourData
+ {
+ Hour = $"{group.Key.Date:yyyy/M/d} {(group.Key.Hour == 23 ? "23:00-24:00" : $"{group.Key.Hour}:00-{group.Key.Hour + 1}:00")}",
+ Roadway = roadwayMappings[group.Key.RoadwayKey],
+ TaskType100Count = group.Count(t => t.TaskType == 100),
+ TaskType104Count = group.Count(t => t.TaskType == 104),
+ TaskType200Count = group.Count(t => t.TaskType == 200),
+ TaskType204Count = group.Count(t => t.TaskType == 204)
})
.ToList();
+
+ // 鎸夋棩鏈熷拰搴撲綅鍒嗙粍锛屾壘鍑烘瘡澶╃殑鏈�鍚庝竴涓皬鏃�
+ var dailyLastHours = taskHty
+ .GroupBy(item => new {
+ Date = DateTime.Parse(item.Hour.Split(' ')[0]),
+ item.Roadway
+ })
+ .Select(group => new {
+ Date = group.Key.Date,
+ Roadway = group.Key.Roadway,
+ LastHour = group.Max(item => int.Parse(item.Hour.Split(' ')[1].Split(':')[0]))
+ })
+ .ToList();
+
+ // 鐢熸垚姹囨�绘暟鎹紙璋冩暣Hour鏍煎紡涓�"鏃ユ湡+鏃ユ眹鎬�"锛�
+ var summaryItems = dailyLastHours
+ .Select(dailyLastHour => {
+ // 鎵惧埌璇ユ棩鏈熻搴撲綅鐨勬墍鏈夊皬鏃舵暟鎹�
+ var dailyItems = taskHty
+ .Where(item =>
+ DateTime.Parse(item.Hour.Split(' ')[0]) == dailyLastHour.Date &&
+ item.Roadway == dailyLastHour.Roadway)
+ .ToList();
+
+ return new TaskHourData
+ {
+ Hour = $"{dailyLastHour.Date:yyyy/M/d}鏃ユ眹鎬�", // 淇敼Hour鏍煎紡
+ Roadway = dailyLastHour.Roadway,
+ TaskType100Count = dailyItems.Sum(item => item.TaskType100Count),
+ TaskType104Count = dailyItems.Sum(item => item.TaskType104Count),
+ TaskType200Count = dailyItems.Sum(item => item.TaskType200Count),
+ TaskType204Count = dailyItems.Sum(item => item.TaskType204Count),
+ IsSummary = true
+ };
+ })
+ .ToList();
+
+ // 灏嗘眹鎬绘暟鎹坊鍔犲埌缁撴灉涓�
+ taskHty = taskHty.Concat(summaryItems).ToList();
+
+ // 璋冩暣鎺掑簭閫昏緫锛氬厛鎸夋棩鏈熼檷搴忥紝鍐嶆寜鏄惁姹囨�伙紙姹囨�诲湪鍓嶏級锛屾渶鍚庢寜灏忔椂闄嶅簭
+ taskHty = taskHty
+ .OrderByDescending(item => {
+ var datePart = item.Hour.Contains("鏃ユ眹鎬�")
+ ? item.Hour.Split("鏃ユ眹鎬�")[0]
+ : item.Hour.Split(' ')[0];
+ return DateTime.Parse(datePart);
+ })
+ .ThenByDescending(item => item.IsSummary) // 姹囨�绘暟鎹帓鍦ㄥ墠闈�
+ .ThenByDescending(item => {
+ if (!item.IsSummary && item.Hour.Contains(' '))
+ {
+ return int.Parse(item.Hour.Split(' ')[1].Split(':')[0]);
+ }
+ return 0;
+ })
+ .ToList();
return content.OK1(total1: taskHty.Count, data: taskHty);
}
catch (Exception ex)
@@ -1588,4 +1637,15 @@
return content.Error(ex.Message);
}
}
- }
\ No newline at end of file
+}
+
+internal class TaskHourData
+{
+ public string Hour { get; set; }
+ public string Roadway { get; set; }
+ public int TaskType100Count { get; set; }
+ public int TaskType104Count { get; set; }
+ public int TaskType200Count { get; set; }
+ public int TaskType204Count { get; set; }
+ public bool IsSummary { get; set; } = false;
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
index 29f1862..353a3e3 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -1,53 +1,49 @@
{
- "Logging": {
- "LogLevel": {
- "Default": "Information",
- "Microsoft.AspNetCore": "Warning"
- }
- },
- "AllowedHosts": "*",
- "urls": "http://*:5000",
- "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
- //杩炴帴瀛楃涓�
- //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
- //"ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=WIDESEA_WMSDBB2F;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- //"ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WMSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- //"ConnectionStringWCS": "Data Source=192.168.5.251;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- "ConnectionStringWCS": "Data Source=.\\LIULEI;Initial Catalog=WIDESEA_WCSDBB2F;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
- //璺ㄥ煙
- "Cors": {
- "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
- "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆�
- // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑
- // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
- "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081"
- },
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*",
+ "urls": "http://*:5000",
+ "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
+ //杩炴帴瀛楃涓�
+ //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
+ //"ConnectionString": "Data Source=192.168.15.253;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ConnectionString": "Data Source=.;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //"ConnectionString": "Data Source=.\\LIULEI;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WMSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //"ConnectionStringWCS": "Data Source=192.168.15.253;Initial Catalog=WIDESEA_WCSDB_BBMain;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ "ConnectionStringWCS": "Data Source=.;Initial Catalog=WIDESEA_WCSDB_BBMain;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+ //璺ㄥ煙
+ "Cors": {
+ "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
+ "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆�
+ // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑
+ // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
+ "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081"
+ },
+ "ApiName": "WIDESEA",
+ "ExpMinutes": 120,
- //缂撳瓨璁剧疆
- "CacheSettings": {
- "UseRedis": false, //鍚敤redis
- "RedisSettings": {
- "Address": "127.0.0.1:6379", //鍦板潃
- "Password": "123456", //Redis鏈嶅姟瀵嗙爜
- "Db": 9, //榛樿搴�
- "ClearRedis": true //鏄惁姣忔鍚姩閮芥竻闄edis缂撳瓨
- }
- },
-
- "ApiName": "WIDESEA",
- "ExpMinutes": 120,
-
- // 闇�瑕佺Щ搴撶殑琛�
- "TransfertRows": "1,4,5,8",
-
- // 鍏佽鍑哄簱鐨勭紪鐮�
- "OutBoundMateriel": [
- {
- //"MaterielCode": "CC03040001523",
- //"ProductionLine": "ZJ-7",
- //"ProcessCode": "CWSC3"
- }
- ]
+ // 闇�瑕佺Щ搴撶殑琛�
+ "TransfertRows": "1,4,5,8",
+ "CacheSettings": {
+ "UseRedis": false,
+ "RedisSettings": {
+ "Address": "127.0.0.1:6379",
+ "Password": "123456",
+ "Db": 9,
+ "ClearRedis": true
+ }
+ },
+ // 鍏佽鍑哄簱鐨勭紪鐮�
+ "OutBoundMateriel": [
+ //{
+ // "MaterielCode": "CC01050001348",
+ // "ProductionLine": "ZJ-8",
+ // "ProcessCode": "CH001"
+ //}
+ ]
}
--
Gitblit v1.9.3