From 7b8cc84950a3caeb8cae5e99a7aa99c1aafa6ac7 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期四, 22 二月 2024 14:18:17 +0800 Subject: [PATCH] 提交分架代码 --- north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 106 insertions(+), 9 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 3550f02..7847416 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 @@ -3,6 +3,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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; @@ -10,16 +13,17 @@ import com.example.erp.entity.sd.OrderProcessDetail; import com.example.erp.entity.userInfo.SysError; import com.example.erp.exception.ServiceException; -import com.example.erp.mapper.sd.*; +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.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.text.SimpleDateFormat; import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.*; @Service @@ -52,7 +56,7 @@ if(order.getOrderId() == null || order.getOrderId().isEmpty()){ insertOrder(order,OrderDetails); }else { - saveState = updateOrder(order,OrderDetails); + updateOrder(order,OrderDetails); } }catch (Exception e){ TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); @@ -65,7 +69,6 @@ //throw new Exception(); } - System.out.println(saveState); return saveState; } //鐢熸垚璁㈠崟鏁版嵁 @@ -80,7 +83,28 @@ String orderId = "NG"+formattedDate+formattedNumber; //寰�涓昏〃鎻掓暟鎹� order.setOrderId(orderId); + order.setCreateOrder(2); orderMapper.insert(order); + insertOtherDetail(orderId,OrderDetails); + + } + //淇敼璁㈠崟鏁版嵁锛屽苟涓旈噸鏂扮敓鎴愬涓壇琛ㄦ暟鎹� + public void updateOrder(Order order,List<OrderDetail> OrderDetails) { + LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Order::getOrderId, order.getOrderId()); + orderMapper.update(order,updateWrapper); + //鍒犻櫎璁㈠崟鏄庣粏琛� + orderDetailMapper.delete(new LambdaQueryWrapper<OrderDetail>().eq(OrderDetail::getOrderId, order.getOrderId())); + //鍒犻櫎璁㈠崟灏忕墖琛� + orderGlassDetailMapper.delete(new LambdaQueryWrapper<OrderGlassDetail>().eq(OrderGlassDetail::getOrderId, order.getOrderId())); + //鍒犻櫎璁㈠崟宸ヨ壓琛� + orderProcessDetailMapper.delete(new LambdaQueryWrapper<OrderProcessDetail>().eq(OrderProcessDetail::getOrderId, order.getOrderId())); + insertOtherDetail(order.getOrderId(),OrderDetails); + } + + + //鎻掑叆鍏朵粬鍓〃鏁版嵁锛岃鍏朵粬鏂规硶寮曠敤 + public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails) { //寰幆缁欒鍗曟槑缁嗚〃瀛楁娣诲姞搴忓彿鍜屽懆闀� for (int i = 0; i < OrderDetails.size(); i++) { OrderDetails.get(i).setOrderNumber(i+1); @@ -96,6 +120,12 @@ orderGlassDetailMapper.insertOrderGlassDetail(orderId); //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃 List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetail(orderId); + List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetails); + //璧嬪�艰鍗曞伐鑹鸿〃 + orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); + } + + private static List<OrderProcessDetail> getOrderProcessDetails(List<OrderGlassDetail> orderGlassDetails) { List<OrderProcessDetail> orderProcessDetailList = new ArrayList<>(); for (OrderGlassDetail orderGlassDetail : orderGlassDetails) { String[] processList = orderGlassDetail.getProcess().split("->"); @@ -108,11 +138,78 @@ orderProcessDetailList.add(orderProcessDetail); } } - //璧嬪�艰鍗曞伐鑹鸿〃 - orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); + return orderProcessDetailList; } - public boolean updateOrder(Order order,List<OrderDetail> OrderDetails) { - return false; + //鏌ヨ鑾峰彇鍒楄〃 + public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Order order,Integer orderType) { + 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",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType)); + map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, order,orderType)); + List<String> list = new ArrayList<>(); + list.add(startDate); + list.add(endDate); + map.put("selectDate",list); + return map; + } + //鍒犻櫎璁㈠崟 + public Integer deleteOrder(String id) { + return orderMapper.delete( + new QueryWrapper<Order>().eq("order_id",id) + ); + } + + + //鏌ヨ璁㈠崟涓昏〃涓庡壇琛ㄤ俊鎭� + 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)); + Map<String,Object> map = new HashMap<>(); + map.put("order",order); + map.put("orderDetails",orderDetails); + return map; + } + //璁㈠崟瀹℃牳 + public boolean reviewOrderById(String id,Integer status) { + Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id)); + if(order.getProcessReview()!=2){ + throw new ServiceException(Constants.Code_600,"璇ヨ鍗曡繕鏈鏍�"); + } + return orderMapper.reviewOrderById(id,status); + } + //宸ヨ壓瀹℃牳鐣岄潰瀹℃牳鏇存柊鏁版嵁 + public boolean reviewProcessById(String id, Integer status,List<OrderGlassDetail> orderGlassDetails) { + if(!orderGlassDetails.isEmpty() && status==2){ + orderGlassDetailMapper.updateSizeAndProcess(orderGlassDetails); + orderProcessDetailMapper.delete(new QueryWrapper<OrderProcessDetail>().eq("order_id",id)); + //鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃 + List<OrderGlassDetail> orderGlassDetailList = orderGlassDetailMapper.selectOrderGlassDetail(id); + List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList); + //璧嬪�艰鍗曞伐鑹鸿〃 + orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); + } + + return orderMapper.reviewProcessById(id,status); + } + //宸ヨ壓瀹℃牳鐣岄潰鏁版嵁鏌ヨ + public Map<String,Object> getOrderCraftById(String id) { + Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",id)); + List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper.selectOrderGlassDetailByOrderId(id); + Map<String,Object> map = new HashMap<>(); + map.put("order",order); + map.put("orderGlassDetails",orderGlassDetails); + return map; } } -- Gitblit v1.8.0