From b4ecc2c68b386b53caf7f19b8366ec2332ef1e9f Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 29 八月 2024 15:30:19 +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/OrderService.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 49 insertions(+), 8 deletions(-)
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 b252c94..1b6323b 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
@@ -23,6 +23,9 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.sql.SQLOutput;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -85,7 +88,7 @@
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
//灏嗗紓甯镐紶鍏ユ暟鎹簱
SysError sysError = new SysError();
- sysError.setError(e.toString());
+ sysError.setError(e.toString()+Arrays.toString(e.getStackTrace()));
sysError.setFunc("saveOrder");
sysErrorService.insert(sysError);
saveState = false;
@@ -230,21 +233,26 @@
Map<String,Object> otherColumns = JSON.parseObject(OrderDetails.get(i).getOtherColumns(), new TypeReference<Map<String, Object>>(){});
int finalI = i;
-
if(otherColumns!=null){
+ otherColumns.values().removeIf(value -> value == null || value.equals(""));
+ OrderDetails.get(i).setOtherColumns(JSON.toJSONString(otherColumns));
+
otherColumns.forEach((key, value) ->{
- if(value!=null && key.contains("M")) {
+
+ if(value!=null && !value.equals("") && key.contains("M")) {
orderOtherMoneyList.forEach(orderOtherMoney -> {
if (orderOtherMoney.getColumn().equals(key)) {
- orderOtherMoney.setQuantity(orderOtherMoney.getQuantity()+(Double.parseDouble((String) value) * OrderDetails.get(finalI).getQuantity()));
+ orderOtherMoney.setQuantity(
+ orderOtherMoney.getQuantity()+(Double.parseDouble((String) value) * OrderDetails.get(finalI).getQuantity()));
}
});
}
});
- }else if(OrderDetails.get(i).getOtherColumns()==null){
+ }else{
OrderDetails.get(i).setOtherColumns("{}");
}
+
}
@@ -377,8 +385,10 @@
double money = 0;
for (OrderDetail orderDetail : OrderDetails) {
orderDetail = updateOrderMoneyComputed(orderDetail,order.getCalculateType());
- money+= orderDetail.getGrossAmount();
+ BigDecimal getGrossAmount= BigDecimal.valueOf(orderDetail.getGrossAmount());
+ money+=getGrossAmount.doubleValue();
}
+
orderOtherMoneyList.forEach(orderOtherMoney -> {
if(orderOtherMoney.getQuantity()!=null && orderOtherMoney.getPrice()!=null){
orderOtherMoney.setMoney((orderOtherMoney.getQuantity()*orderOtherMoney.getPrice()));
@@ -395,10 +405,13 @@
}
private OrderDetail updateOrderMoneyComputed(OrderDetail orderDetail, Integer calculateType) {
+ BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
+ BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getQuantity());
+ BigDecimal getComputeGrossArea= BigDecimal.valueOf(orderDetail.getComputeGrossArea());
if (calculateType == 3) {
- orderDetail.setGrossAmount(orderDetail.getPrice() * orderDetail.getQuantity());
+ orderDetail.setGrossAmount(getPrice.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
} else {
- orderDetail.setGrossAmount(orderDetail.getComputeGrossArea() * orderDetail.getPrice());
+ orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
}
return orderDetail;
}
@@ -437,6 +450,34 @@
return orderDetailMapper.exportOrderReport(dates);
}
+ public Map<String,Object> getOrderSummaryReport(Integer pageNum, Integer pageSize, List<String> selectDate, Order order) {
+ Integer offset = (pageNum-1)*pageSize;
+ String endDate = LocalDate.now().toString();
+ String startDate = LocalDate.now().minusDays(15).toString();
+ if(selectDate !=null && selectDate.size()==2){
+ if(!selectDate.get(0).isEmpty()){
+ startDate = selectDate.get(0);
+ }
+ if(!selectDate.get(1).isEmpty()){
+ endDate = selectDate.get(1);
+ }
+ }
+
+ Map<String,Object> map = new HashMap<>();
+ map.put("data",orderDetailMapper.getOrderSummaryReport(offset, pageSize, startDate, endDate, order));
+ map.put("total",orderDetailMapper.getOrderSummaryReportTotal(offset, pageSize, startDate, endDate, order,"order"));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
+// map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, orderDetail));
+ return map;
+ }
+
+ public List<Order> exportOrderSummary(List<LocalDate> dates) {
+ return orderDetailMapper.exportOrderSummary(dates);
+ }
+
public Map<String,Object> getOrderProductSummary(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
--
Gitblit v1.8.0