From 031fc1372fd4149fdaa2a9c60db177822e652de6 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期五, 19 四月 2024 13:51:55 +0800 Subject: [PATCH] 添加其他金额等列名 --- north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 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 6c06526..0e409e3 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 @@ -7,17 +7,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.example.erp.common.Constants; -import com.example.erp.entity.sd.Order; -import com.example.erp.entity.sd.OrderDetail; -import com.example.erp.entity.sd.OrderGlassDetail; -import com.example.erp.entity.sd.OrderProcessDetail; +import com.example.erp.entity.sd.*; import com.example.erp.entity.userInfo.SysError; import com.example.erp.exception.ServiceException; -import com.example.erp.mapper.sd.OrderDetailMapper; -import com.example.erp.mapper.sd.OrderGlassDetailMapper; -import com.example.erp.mapper.sd.OrderMapper; -import com.example.erp.mapper.sd.OrderProcessDetailMapper; +import com.example.erp.mapper.sd.*; 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; @@ -34,29 +29,32 @@ private final OrderDetailMapper orderDetailMapper; private final OrderGlassDetailMapper orderGlassDetailMapper; private final SysErrorService sysErrorService; + private final OrderOtherMoneyMapper orderOtherMoneyMapper; private final OrderProcessDetailMapper orderProcessDetailMapper; - public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService) { + public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper) { this.orderMapper = orderMapper; this.orderDetailMapper = orderDetailMapper; this.orderGlassDetailMapper = orderGlassDetailMapper; this.orderProcessDetailMapper = orderProcessDetailMapper; this.sysErrorService = sysErrorService; + this.orderOtherMoneyMapper = orderOtherMoneyMapper; } public boolean saveOrder(Map<String,Object> orderMap) throws Exception { JSONObject orderJson = new JSONObject(orderMap); Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("title")), Order.class); List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("detail")), OrderDetail.class); + List<OrderOtherMoney> orderOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("otherMoney")), OrderOtherMoney.class); boolean saveState = true; //璁剧疆鍥炴粴鐐� Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); //鍒ゆ柇浼犲叆id鍙傛暟鏄惁涓虹┖锛屾湭浼犲叆id涓虹┖鎻掑叆璁㈠崟琛紝浼犲叆鏇存柊琛� try{ if(order.getOrderId() == null || order.getOrderId().isEmpty()){ - insertOrder(order,OrderDetails); + insertOrder(order,OrderDetails,orderOtherMoneyList); }else { - updateOrder(order,OrderDetails); + updateOrder(order,OrderDetails,orderOtherMoneyList); } }catch (Exception e){ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); @@ -72,7 +70,7 @@ return saveState; } //鐢熸垚璁㈠崟鏁版嵁 - public void insertOrder(Order order,List<OrderDetail> OrderDetails) { + public void insertOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) { Integer maxOrderId = orderMapper.selectMaxOrderId(); //鏌ヨ璁㈠崟id锛屽苟涓旇嚜澧� String formattedNumber = String.format("%02d", maxOrderId+1); @@ -85,11 +83,11 @@ order.setOrderId(orderId); order.setCreateOrder(2); orderMapper.insert(order); - insertOtherDetail(orderId,OrderDetails); + insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList); } //淇敼璁㈠崟鏁版嵁锛屽苟涓旈噸鏂扮敓鎴愬涓壇琛ㄦ暟鎹� - public void updateOrder(Order order,List<OrderDetail> OrderDetails) { + public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) { LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Order::getOrderId, order.getOrderId()); orderMapper.update(order,updateWrapper); @@ -97,14 +95,17 @@ orderDetailMapper.delete(new LambdaQueryWrapper<OrderDetail>().eq(OrderDetail::getOrderId, order.getOrderId())); //鍒犻櫎璁㈠崟灏忕墖琛� orderGlassDetailMapper.delete(new LambdaQueryWrapper<OrderGlassDetail>().eq(OrderGlassDetail::getOrderId, order.getOrderId())); + //鍒犻櫎鍏朵粬閲戦鏄庣粏琛� + orderOtherMoneyMapper.delete(new LambdaQueryWrapper<OrderOtherMoney>().eq(OrderOtherMoney::getOrderId, order.getOrderId())); + //鍒犻櫎璁㈠崟宸ヨ壓琛� // orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId())); - insertOtherDetail(order.getOrderId(),OrderDetails); + insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList); } //鎻掑叆鍏朵粬鍓〃鏁版嵁锛岃鍏朵粬鏂规硶寮曠敤 - public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails) { + public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) { //寰幆缁欒鍗曟槑缁嗚〃瀛楁娣诲姞搴忓彿鍜屽懆闀� for (int i = 0; i < OrderDetails.size(); i++) { OrderDetails.get(i).setOrderNumber(i+1); @@ -112,12 +113,25 @@ OrderDetails.get(i).setPerimeter(OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()*2/1000); OrderDetails.get(i).setWeight(1.0); } + + + //寰�鏄庣粏琛ㄦ彃鏁版嵁 orderDetailMapper.insertBatch(OrderDetails); //淇敼璁㈠崟涓昏〃闈㈢Н涓庡懆闀夸互鍙婇噸閲� orderMapper.updateOrderParameter(orderId); //寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹� orderGlassDetailMapper.insertOrderGlassDetail(orderId); + //寰�璁㈠崟鍏朵粬閲戦鍓〃浼犲叆鏁版嵁 + orderOtherMoneyList.forEach(orderOtherMoney ->{ + orderOtherMoney.setId(null); + orderOtherMoney.setOrderId(orderId); + if(orderOtherMoney.getQuantity()!=null && orderOtherMoney.getPrice()!=null){ + orderOtherMoney.setMoney((orderOtherMoney.getQuantity()*orderOtherMoney.getPrice())); + } + orderOtherMoneyMapper.insert(orderOtherMoney); + }); + //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃 //List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetail(orderId); /*List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetails); -- Gitblit v1.8.0