From 28c2126249a35ded0b816a07d80c015caa45a4f3 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 11 二月 2025 09:40:27 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue | 52 ++++++++++++++++++++------
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml | 30 +++++++++++++--
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java | 4 +-
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java | 4 +-
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 12 +++++-
5 files changed, 80 insertions(+), 22 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index e9d678d..b7551cd 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -34,9 +34,13 @@
let sheetIndex = ref(-1)
let orderType = ref("2")
let filterData = ref({})
+ let sortData = ref({
+ field:'id',
+ order:null
+ })
let orderList = ref([])
let pageNum=ref(1)
- let total = reactive({
+ let total = ref({
pageTotal : 0,
dataTotal : 0,
pageSize : 50
@@ -63,6 +67,9 @@
},
filterConfig: { //绛涢�夐厤缃」
remote: true
+ },
+ sortConfig: { //鎺掑簭閰嶇疆椤�
+ remote: true//鏄惁鏈嶅姟绔帓搴�
},
customConfig: {
storage: true
@@ -164,7 +171,8 @@
}
const List = ["quantity",'goodsQuantity','area','perimeter','money']
if (List.includes(column.field)) {
- return footSum(data, column.field)
+ //return footSum(data, column.field)
+ return total.value[column.field]
}
return ''
})
@@ -308,15 +316,24 @@
},
cellClick({ row }){
rowClickIndex.value = row
+ },
+ sortChange ({ field, order }) {
+ sortData.value = {field,order}
+ selectOrderList()
}
}
const getOrderList = () => {
//鍔犺浇璇锋眰
- request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`,filterData).then((res) => {
+ const config = {
+ filter: filterData.value,
+ sort: sortData.value
+ }
+ request.post(`/order/getOrderList/1/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`,config).then((res) => {
if(res.code==200){
- total.dataTotal = res.data.total.total*1
- total.pageTotal= res.data.total.pageTotal
+ total.value = res.data.total
+ /*total.dataTotal = res.data.total.dataTotal*1
+ total.pageTotal= res.data.total.pageTotal*/
orderInfo.selectDate = res.data.selectDate
orderList.value = deepClone(res.data.data)
xGrid.value.loadData(orderList.value)
@@ -349,10 +366,16 @@
}else{
filterData.value[column.property] = value
}
- request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`,filterData.value).then((res) => {
+
+ const config = {
+ filter: filterData.value,
+ sort: sortData.value
+ }
+ request.post(`/order/getOrderList/${pageNum.value}/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`,config).then((res) => {
if(res.code==200){
- total.dataTotal = res.data.total.total*1
- total.pageTotal=parseInt(res.data.total)
+ total.value = res.data.total
+ /*total.dataTotal = res.data.total.total*1
+ total.pageTotal=parseInt(res.data.total)*/
pageNum.value=1
orderList.value = deepClone(res.data.data)
xGrid.value.loadData(orderList.value)
@@ -366,11 +389,16 @@
//鍙屽嚮琛ㄦ牸琛�
const selectOrderList = ()=>{
- request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`
- ,filterData.value).then((res) => {
+ const config = {
+ filter: filterData.value,
+ sort: sortData.value
+ }
+ request.post(`/order/getOrderList/${pageNum.value}/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`
+ ,config).then((res) => {
if(res.code==200){
- total.dataTotal = res.data.total.total*1
- total.pageTotal = res.data.total.pageTotal
+ total.value = res.data.total
+ /*total.dataTotal = res.data.total.total*1
+ total.pageTotal = res.data.total.pageTotal*/
orderInfo.selectDate=res.data.selectDate
orderList.value = deepClone(res.data.data)
xGrid.value.loadData(orderList.value)
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
index a68b03b..06fc8bb 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -72,8 +72,8 @@
@ApiOperation("璁㈠崟鍒嗛〉绛涢�夋煡璇�")
@SaCheckPermission("selectOrder.search")
@PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}")
- public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Order order) {
- return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, order,orderType));
+ public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Map<String,Object> config) {
+ return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, config,orderType));
}
@ApiOperation("鍒犻櫎璁㈠崟")
@SaCheckPermission("selectOrder.delete")
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
index e559b99..fdd48f9 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
@@ -14,8 +14,8 @@
boolean updateOrderParameter(@Param("orderId") String orderId);
- List<Order> getOrderList(Integer offset, Integer pageSize, String startDate, String endDate, Order order, Integer orderType);
- Map<String,Integer> getPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Order order , Integer orderType);
+ List<Order> getOrderList(Integer offset, Integer pageSize, String startDate, String endDate, Order order, Integer orderType, String field, String orderBy);
+ Map<String,Float> getPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Order order , Integer orderType);
boolean reviewOrderById(String id, Integer status, String userId, String userName);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index 1a9ad90..18b58f6 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -31,6 +31,8 @@
import java.util.*;
import java.util.stream.Collectors;
+import static org.apache.coyote.http11.Constants.a;
+
@Service
@DS("sd")
@Transactional(rollbackFor = Exception.class)
@@ -316,7 +318,7 @@
}
//鏌ヨ鑾峰彇鍒楄〃
- public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Order order,Integer orderType) {
+ public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Map<String,Object> config,Integer orderType) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
String startDate = LocalDate.now().minusDays(15).toString();
@@ -328,9 +330,15 @@
endDate = selectDate.get(1);
}
}
+ JSONObject orderJson = new JSONObject(config);
+ Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Order.class);
+ Map<String,String> sortDate = (Map<String, String>) config.get("sort");
+ String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase();
+ String orderBy = sortDate.get("order");
+ System.out.println(field+" "+orderBy);
Map<String,Object> map = new HashMap<>();
- map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType));
+ map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType, field, orderBy));
map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, order,orderType));
List<String> list = new ArrayList<>();
list.add(startDate);
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
index 2d45565..e3855d1 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -102,8 +102,8 @@
</update>
<select id="getOrderList">
- select
- *,
+ select * from (select
+ o.*,
ifnull(sum(fgi.quantity_available),0) as goodsQuantity
from
sd.`order` as o
@@ -196,16 +196,38 @@
and o.processing_note REGEXP #{order.processingNote}
</if>
group by o.id
- order by o.id desc
+ ) as acc
+ order by
+ <if test="orderBy == null ">
+ id desc
+ </if>
+ <if test="orderBy == 'desc'">
+ ${field} desc
+ </if>
+ <if test="orderBy == 'asc'">
+ ${field}
+ </if>
limit #{offset},#{pageSize}
</select>
<select id="getPageTotal">
select
CEILING(count(o.id)/#{pageSize}) as 'pageTotal',
- count(o.id) as 'total'
+ count(o.id) as 'dataTotal',
+ sum(o.quantity) as quantity,
+ sum(o.area) as area,
+ sum(o.money) as money,
+ ifnull(fgi.goodsQuantity ,0) as goodsQuantity ,
+ ROUND(sum(perimeter),2) as perimeter,
+ #{pageSize} as pageSize
from
`order` as o
+ left join(
+ select order_id,
+ ifnull(sum(quantity_available),0) as goodsQuantity
+ from mm.finished_goods_inventory group by order_id
+ ) as fgi
+ on o.order_id = fgi.order_id
where date (o.create_time)>=#{startDate} and date(o.create_time) <= #{endDate}
<if test="orderType!= null and orderType != 0">
and o.create_order = #{orderType}
--
Gitblit v1.8.0