From ab6ac91b7ed9ae3f9c68766f499ece11585c8859 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期一, 30 六月 2025 08:56:20 +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 | 49 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 36 insertions(+), 13 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 99549a2..8f479a8 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
@@ -11,7 +11,7 @@
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.example.erp.common.Constants;
import com.example.erp.dto.sd.OrderDTO;
-import com.example.erp.dto.sd.OrderDetailProductDTO;
+import com.example.erp.dto.sd.OrderSearchDTO;
import com.example.erp.entity.sd.*;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.SysError;
@@ -21,20 +21,16 @@
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
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.*;
import java.util.stream.Collectors;
-
-import static org.apache.coyote.http11.Constants.a;
@Service
@DS("sd")
@@ -213,9 +209,16 @@
//淇敼璁㈠崟鏁版嵁锛屽苟涓旈噸鏂扮敓鎴愬涓壇琛ㄦ暟鎹�
- public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
-
+ public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) throws Exception {
+ Order oldOrder = orderMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId,order.getOrderId()));
+ if(oldOrder.getProcessReview()==2){
+ throw new ServiceException(Constants.Code_600,"璇ヨ鍗曞凡缁忓鏍革紝鏃犳硶淇敼");
+ }
+ if(!Objects.equals(oldOrder.getVersion(), order.getVersion())){
+ throw new ServiceException(Constants.Code_600,"璇ヨ鍗曞凡缁忎慨鏀癸紝璇峰埛鏂伴〉闈�");
+ }
order.setCreateTime(null);
+ order.setVersion(order.getVersion()+1);
LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(Order::getOrderId, order.getOrderId());
orderMapper.update(order,updateWrapper);
@@ -346,7 +349,7 @@
}
}
JSONObject orderJson = new JSONObject(config);
- Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Order.class);
+ OrderSearchDTO order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), OrderSearchDTO.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");
@@ -383,6 +386,12 @@
}
//璁㈠崟瀹℃牳
public boolean reviewOrderById(String id, Integer status, String userId, String userName) {
+ Log log = new Log();
+ log.setOperator(userName);
+ log.setOperatorId(userId);
+ log.setContent(status.toString());
+ log.setFunction("reviewOrderById:"+id);
+ logService.saveLog(log);
Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id));
if(order.getProcessReview()!=2){
throw new ServiceException(Constants.Code_600,"璇ヨ鍗曡繕鏈鏍�");
@@ -395,6 +404,9 @@
}
//宸ヨ壓瀹℃牳鐣岄潰瀹℃牳鏇存柊鏁版嵁
public boolean reviewProcessById(String id, Integer status,List<OrderGlassDetail> orderGlassDetails) {
+ Log log = new Log();
+ log.setContent(orderGlassDetails.toString());
+ log.setFunction("reviewProcessById:"+id);
if(!orderGlassDetails.isEmpty() && status==2){
orderGlassDetails.forEach(orderGlassDetail ->{
double area = Math.round((orderGlassDetail.getChildWidth()*orderGlassDetail.getChildHeight()/1000000) * 100) * 0.01d;
@@ -409,7 +421,7 @@
// //璧嬪�艰鍗曞伐鑹鸿〃
// orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
}
-
+ logService.saveLog(log);
return orderMapper.reviewProcessById(id,status);
}
//宸ヨ壓瀹℃牳鐣岄潰鏁版嵁鏌ヨ
@@ -502,9 +514,21 @@
BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice());
BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getQuantity());
BigDecimal getComputeGrossArea= BigDecimal.valueOf(orderDetail.getComputeGrossArea());
+ BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea());
+ BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth());
+ BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight());
if (calculateType == 3) {
orderDetail.setGrossAmount(getPrice.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
- } else {
+ }else if (calculateType == 4) {
+ if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())&&Objects.equals(orderDetail.getGrossArea(), orderDetail.getComputeGrossArea())){
+ orderDetail.setGrossAmount(getWidth.multiply(getHeight).multiply(getQuantity).multiply(getPrice).
+ divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP).doubleValue());
+ }else{
+ orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
+ }
+ }else if (calculateType == 1){
+ orderDetail.setGrossAmount(getPrice.multiply(getComputeArea).multiply(getQuantity).setScale(2, RoundingMode.HALF_UP).doubleValue());
+ }else{
orderDetail.setGrossAmount(getPrice.multiply(getComputeGrossArea).setScale(2, RoundingMode.HALF_UP).doubleValue());
}
return orderDetail;
@@ -516,7 +540,7 @@
}
- public Map<String,Object> getOrderReport(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail) {
+ public Map<String,Object> getOrderReport(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail, Integer model, Integer scope) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
String startDate = LocalDate.now().minusDays(15).toString();
@@ -528,9 +552,8 @@
endDate = selectDate.get(1);
}
}
-
Map<String,Object> map = new HashMap<>();
- map.put("data",orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail));
+ map.put("data",orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail,model,scope));
map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail,"order"));
List<String> list = new ArrayList<>();
list.add(startDate);
--
Gitblit v1.8.0