From 4521e55b7ce2840dcb91340c17f3159892bcc14d Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期三, 24 十二月 2025 13:32:29 +0800
Subject: [PATCH] 修改订单金额时,根据情况是否调用发货单修改金额
---
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 40 +++++++++++++++++++++++++++++++++++++---
1 files changed, 37 insertions(+), 3 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 5b8c0fe..d52563d 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
@@ -49,8 +49,12 @@
private final WorkOrderMapper workOrderMapper;
private final FlowCardMapper flowCardMapper;
+ private final BasicOtherMoneyMapper basicOtherMoneyMapper;
+
private final OrderProcessDetailMapper orderProcessDetailMapper;
- public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper, LogService logService, WorkOrderMapper workOrderMapper, FlowCardMapper flowCardMapper) {
+
+ private final DeliveryService deliveryService;
+ public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper, LogService logService, WorkOrderMapper workOrderMapper, FlowCardMapper flowCardMapper, BasicOtherMoneyMapper basicOtherMoneyMapper,DeliveryService deliveryService) {
this.orderMapper = orderMapper;
this.orderDetailMapper = orderDetailMapper;
this.orderGlassDetailMapper = orderGlassDetailMapper;
@@ -61,6 +65,8 @@
this.logService = logService;
this.workOrderMapper = workOrderMapper;
this.flowCardMapper = flowCardMapper;
+ this.basicOtherMoneyMapper = basicOtherMoneyMapper;
+ this.deliveryService = deliveryService;
}
public boolean saveOrder(Map<String,Object> orderMap) throws Exception {
@@ -204,7 +210,7 @@
}else if(dateType.equals("year")){
Integer maxOrderId = orderMapper.selectMaxOrderIdByYear();
- String formattedNumber = String.format("%"+(orderIdTypeMantissa+4)+"d", maxOrderId+1);
+ String formattedNumber = String.format("%0"+(orderIdTypeMantissa+4)+"d", maxOrderId+1);
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yy");
String formattedDate = dateFormat.format(currentDate);
@@ -429,11 +435,13 @@
List<OrderDetail> orderDetails = orderDetailMapper.selectList(new QueryWrapper<OrderDetail>().eq("order_id",id));
List<OrderOtherMoney> orderOtherMoneyList = orderOtherMoneyMapper.findById(id);
List<Map<String,String>> orderFileList = orderMapper.selectOrderFileList(id);
+ Integer deliveryCount = orderMapper.selectDeliveryStateConut(id);
Map<String,Object> map = new HashMap<>();
map.put("order",order);
map.put("orderDetails",orderDetails);
map.put("orderOtherMoneyList",orderOtherMoneyList);
map.put("orderFile",orderFileList);
+ map.put("deliveryCount",deliveryCount);
return map;
}
//璁㈠崟瀹℃牳
@@ -488,6 +496,7 @@
public boolean updateOrderMoney(Map<String, Object> map) {
JSONObject jsonObject = new JSONObject(map);
+ int type = Integer.parseInt(jsonObject.get("type").toString());
Order order = JSONObject.parseObject(JSONObject.toJSONString(jsonObject.get("order")), Order.class);
List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("detail")), OrderDetail.class);
List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("otherMoney")), OrderOtherMoney.class);
@@ -507,12 +516,16 @@
log.setContent(jsonObject.toString());
log.setFunction("updateOrderMoney閲戦閲嶇疆:"+order.getOrderId());
+
//鍒犻櫎鍏朵粬閲戦鏄庣粏琛�
orderOtherMoneyMapper.delete(new LambdaQueryWrapper<OrderOtherMoney>().eq(OrderOtherMoney::getOrderId, order.getOrderId()));
List<OrderOtherMoney> orderOtherMoneyLists=orderOtherMoneyList;
double money = 0;
for (OrderDetail orderDetail : OrderDetails) {
+ if(type==1){
+ deliveryService.updateDeliveryMoney(orderDetail,order);
+ }
orderDetail = updateOrderMoneyComputed(orderDetail,order.getCalculateType());
BigDecimal getGrossAmount= BigDecimal.valueOf(orderDetail.getGrossAmount());
money+=getGrossAmount.doubleValue();
@@ -604,8 +617,28 @@
endDate = selectDate.get(1);
}
}
+ List<OrderDetail> orderDetailList = orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail,model,scope);
+ List<BasicOtherMoney> basicOtherMoneyList=basicOtherMoneyMapper.selectList(new QueryWrapper<BasicOtherMoney>());
+ ObjectMapper objectMapper = new ObjectMapper();
+
+ for (OrderDetail detail : orderDetailList) {
+ String otherColumnsStr = detail.getOtherColumns();
+ if (otherColumnsStr == null || otherColumnsStr.trim().isEmpty()||otherColumnsStr.equals("{}")) {
+ continue; // 璺宠繃绌哄��
+ }
+ try {
+ // 瑙f瀽涓篗ap锛堜篃鍙В鏋愪负鑷畾涔夊疄浣撶被锛屽OtherColumnsDTO锛�
+ Map<String, Object> otherColumnsJson = objectMapper.readValue(otherColumnsStr, Map.class);
+
+ detail.setOtherColumnsJson(otherColumnsJson);
+ } catch (JsonProcessingException e) {
+ System.err.println("瑙f瀽otherColumns澶辫触锛屾暟鎹細" + otherColumnsStr + "锛岄敊璇細" + e.getMessage());
+ }
+ }
+
Map<String,Object> map = new HashMap<>();
- map.put("data",orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail,model,scope));
+ map.put("data",orderDetailList);
+ map.put("title",basicOtherMoneyList);
map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail,"order"));
List<String> list = new ArrayList<>();
list.add(startDate);
@@ -1053,6 +1086,7 @@
List<Order> list = orderMapper.selectList(new LambdaQueryWrapper<Order>()
.apply("create_order > 0")
.apply("date(create_time) between {0} and {1}",startDate, endDate)
+ .orderByDesc(Order::getOrderId)
);
Integer quantity = 0;
Double area = 0.00;
--
Gitblit v1.8.0