From 1da4e70b2972e1ab77fa75ad0da529a006150ab5 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期一, 29 十二月 2025 16:35:32 +0800
Subject: [PATCH] 提交 保存订单后不重置图片上传
---
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 64 +++++++++++++++++++++++--------
1 files changed, 47 insertions(+), 17 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 0138fbf..40bd59d 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
@@ -25,6 +25,7 @@
import com.example.erp.service.userInfo.SysErrorService;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -54,7 +55,9 @@
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, BasicOtherMoneyMapper basicOtherMoneyMapper) {
+ private final OrderFileMapper orderFileMapper;
+ 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, OrderFileMapper orderFileMapper) {
this.orderMapper = orderMapper;
this.orderDetailMapper = orderDetailMapper;
this.orderGlassDetailMapper = orderGlassDetailMapper;
@@ -66,6 +69,9 @@
this.workOrderMapper = workOrderMapper;
this.flowCardMapper = flowCardMapper;
this.basicOtherMoneyMapper = basicOtherMoneyMapper;
+ this.deliveryService = deliveryService;
+
+ this.orderFileMapper = orderFileMapper;
}
public boolean saveOrder(Map<String,Object> orderMap) throws Exception {
@@ -243,7 +249,11 @@
//鍒犻櫎璁㈠崟宸ヨ壓琛�
// orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId()));
- orderDetailMapper.deleteOrderFile(order.getOrderId());
+ orderFileMapper.update(null,
+ new LambdaUpdateWrapper<OrderFile>()
+ .eq(OrderFile::getOrderId, order.getOrderId())
+ .set(OrderFile::getOrderNumber, null)
+ );
insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList, position);
}
@@ -269,16 +279,13 @@
Product product = productMapper.selectById(OrderDetails.get(i).getProductId());
OrderDetails.get(i).setWeight(Double.valueOf(String.format("%.2f",product.getThickness()*OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()/1000000*2.5)));
- /*if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
- //鑾峰彇寮挗寮у害
- Double bendRadius = OrderDetails.get(i).getBendRadius();
- //鑾峰彇瀹�
- Double width = OrderDetails.get(i).getWidth();
- //鑾峰彇鎷遍珮
- String archRiseS = String.format("%.1f",bendRadius-(bendRadius*Math.cos(width/2/bendRadius)));
- Double archRise = Double.parseDouble(archRiseS);
- OrderDetails.get(i).setArchRise(archRise);
- }*/
+
+ //鍒ゆ柇娆″簭鍙锋枃浠舵槸鍚︾浉鍚�
+ if(OrderDetails.get(i).getFileId()!=null){
+ orderFileMapper.update(null,new LambdaUpdateWrapper<OrderFile>()
+ .set(OrderFile::getOrderNumber,OrderDetails.get(i).getOrderNumber())
+ .eq(OrderFile::getId,OrderDetails.get(i).getFileId()));
+ }
Map<String,Object> otherColumns = JSON.parseObject(OrderDetails.get(i).getOtherColumns(), new TypeReference<Map<String, Object>>(){});
int finalI = i;
@@ -300,14 +307,23 @@
}else{
OrderDetails.get(i).setOtherColumns("{}");
}
- if(OrderDetails.get(i).getFileName()!=null&&!OrderDetails.get(i).getFileName().trim().isEmpty()){
- orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber(),OrderDetails.get(i).getFileJson());
- }
+// if(OrderDetails.get(i).getFileName()!=null&&!OrderDetails.get(i).getFileName().trim().isEmpty()){
+// orderMapper.saveOrderFile(
+// OrderDetails.get(i).getFileName(),
+// OrderDetails.get(i).getFileData(),
+// orderId,OrderDetails.get(i).getOrderNumber(),
+// OrderDetails.get(i).getFileJson());
+// }
if(OrderDetails.get(i).getShape()==null){
OrderDetails.get(i).setShape("1");
}
}
+ //鍒犻櫎璁㈠崟鏂囦欢娌℃湁搴忓彿澶氫綑鐨勬暟鎹�
+ orderFileMapper.delete(new LambdaQueryWrapper<OrderFile>()
+ .eq(OrderFile::getOrderId, orderId)
+ .isNull(OrderFile::getOrderNumber));
+
//寰�鏄庣粏琛ㄦ彃鏁版嵁
orderDetailMapper.insertBatch(OrderDetails);
@@ -327,6 +343,7 @@
.eq(OrderGlassDetail::getOrderId, orderId)
.eq(OrderGlassDetail::getOrderNumber, orderDetail.getOrderNumber())
);
+
for(OrderGlassDetail orderGlassDetail:orderGlassDetails) {
//鑾峰彇褰撳墠灞傛暟涓庝箣鍓嶅眰鏁扮殑鍘氬害
@@ -421,7 +438,7 @@
}
//鍒犻櫎璁㈠崟
public Integer deleteOrder(String id) {
- orderDetailMapper.deleteOrderFile(id);
+ orderFileMapper.delete(new QueryWrapper<OrderFile>().eq("order_id",id));
return orderMapper.delete(
new QueryWrapper<Order>().eq("order_id",id)
);
@@ -431,14 +448,17 @@
//鏌ヨ璁㈠崟涓昏〃涓庡壇琛ㄤ俊鎭�
public Map<String,Object> getOrderById(String id) {
Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id));
- List<OrderDetail> orderDetails = orderDetailMapper.selectList(new QueryWrapper<OrderDetail>().eq("order_id",id));
+ List<OrderDetail> orderDetails = orderDetailMapper.selectListWithFileById(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;
}
//璁㈠崟瀹℃牳
@@ -493,6 +513,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);
@@ -512,12 +533,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();
@@ -611,6 +636,7 @@
}
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) {
@@ -632,6 +658,10 @@
map.put("data",orderDetailList);
map.put("title",basicOtherMoneyList);
map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail,"order"));
+ map.put("orderOtherMoney",
+ Collections.singletonList(
+ basicOtherMoneyMapper.selectList(new QueryWrapper<BasicOtherMoney>().eq("state",1))
+ ));
List<String> list = new ArrayList<>();
list.add(startDate);
list.add(endDate);
--
Gitblit v1.8.0