From 2b49c5d247ca32b5aaa47e50749f8b17efa3f408 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 20 八月 2024 14:42:39 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java | 66 ++++++++++++++++++++++-----------
1 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index 24522df..c90ba71 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -495,42 +495,64 @@
}
- public Map<String, Object> getSelectOrderPrinting(OrderDetail orderDetail) {
+ public Map<String, Object> getSelectOrderPrinting(OrderDetail orderDetail,List<String> productId) {
Map<String, Object> map = new HashMap<>();
List <Map<String, Object>> list=new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
- List<OrderDetail> orderDetailList=deliveryDetailMapper.getSelectOrderPrinting(orderDetail);
- for (OrderDetail detail : orderDetailList) {
+ List<Map<String,Object>> orderProductDistinct;
+ if (!Objects.equals(productId.get(0), "null")){
+ orderProductDistinct = orderDetailMapper.getOrderProductDistinctByIds(orderDetail.getOrderId(),productId);
+ }else{
+ orderProductDistinct = orderDetailMapper.getOrderProductDistinctById(orderDetail.getOrderId());
+ }
+ BigDecimal areSum=new BigDecimal("0");
+ BigDecimal grossAmount=new BigDecimal("0");
+ int quantity=0;
+ for (Map<String, Object> maps : orderProductDistinct) {
+ List<OrderDetail> orderDetails = deliveryDetailMapper.getSelectOrderPrinting(maps.get("productId"),orderDetail.getOrderId());
+ for (OrderDetail detail : orderDetails) {
- Map<String, Object> itemmap = new HashMap<>();
- List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectOrderDetailPrinting(
- detail.getProductId(), detail.getOrderId());
- for (Map<String, Object> stringObjectMap : deliveryDetailList2) {
+ areSum=areSum.add(BigDecimal.valueOf(detail.getArea()));
+ quantity+=detail.getQuantity();
+ grossAmount=grossAmount.add(BigDecimal.valueOf(detail.getGrossAmount()));
- if(stringObjectMap.get("other_columns")!=null){
- JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString());
- for(String key : jsonObject.keySet()){
- boolean isnull = key.contains("M");
- if(isnull){
- Map<String, Object> moneryItemmap = new HashMap<>();
- Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()),key,jsonObject.get(key).toString());
- moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
- moneryList.add(moneryItemmap);
+ Map<String, Object> itemmap = new HashMap<>();
+ List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectOrderDetailPrinting(
+ detail.getProductId(), detail.getOrderId());
+ for (Map<String, Object> stringObjectMap : deliveryDetailList2) {
+
+ if(stringObjectMap.get("other_columns")!=null){
+ JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString());
+ for(String key : jsonObject.keySet()){
+ boolean isnull = key.contains("M");
+ if(isnull){
+ Map<String, Object> moneryItemmap = new HashMap<>();
+ Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()),key,jsonObject.get(key).toString());
+ grossAmount=grossAmount.add(BigDecimal.valueOf(Double.parseDouble(deliveryDetailOtherMoney.get("monery").toString())));
+ moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
+ moneryList.add(moneryItemmap);
+ }
+
}
}
-
}
- }
- itemmap.put("DeliveryDetail", detail);
- itemmap.put("DeliveryDetailList", deliveryDetailList2);
- list.add(itemmap);
+ itemmap.put("productId",maps.get("productId"));
+ itemmap.put("productName",maps.get("productName"));
+ itemmap.put("DeliveryDetail", detail);
+ itemmap.put("DeliveryDetailList", deliveryDetailList2);
+ list.add(itemmap);
+ }
}
+
Order order=deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail);
+ order.setMoney((double) Math.round(grossAmount.doubleValue()));
+ order.setQuantity((long) quantity);
+ order.setArea(areSum.doubleValue());
map.put("data", list);
map.put("otherMoney",moneryList);
- map.put("delivery", deliveryMapper.getSelectShippingOrderDetailPrinting(orderDetail));
+ map.put("delivery", order);
map.put("money", toChinese(order.getMoney().toString(), false));
return map;
--
Gitblit v1.8.0