| | |
| | | import com.example.erp.mapper.sd.*; |
| | | import com.example.erp.service.userInfo.LogService; |
| | | import com.example.erp.service.userInfo.SysErrorService; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | |
| | | log.setContent(orderMap.toString()); |
| | | |
| | | if(order.getOrderId() == null || order.getOrderId().isEmpty()){ |
| | | insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType); |
| | | insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType, (Map<String, String>) orderMap.get("position")); |
| | | log.setFunction("saveOrder创建:"+order.getOrderId()); |
| | | }else { |
| | | updateOrder(order,OrderDetails,orderOtherMoneyList); |
| | | updateOrder(order,OrderDetails,orderOtherMoneyList,(Map<String, String>) orderMap.get("position")); |
| | | log.setFunction("saveOrder修改:"+order.getOrderId()); |
| | | } |
| | | |
| | |
| | | return map; |
| | | } |
| | | //生成订单数据 |
| | | public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType) { |
| | | public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType, Map<String,String> position) { |
| | | //根据传入的当前月份或者当天生成订单id |
| | | String orderId = getOrderId(orderIdType); |
| | | //往主表插数据 |
| | |
| | | order.setCreateOrder(2); |
| | | orderMapper.insert(order); |
| | | |
| | | insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList); |
| | | insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList,position); |
| | | } |
| | | |
| | | private String getOrderId(String dateType){ |
| | |
| | | |
| | | |
| | | //修改订单数据,并且重新生成多个副表数据 |
| | | public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) throws Exception { |
| | | public void updateOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) throws Exception { |
| | | Order oldOrder = orderMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId,order.getOrderId())); |
| | | if(oldOrder.getProcessReview()==2){ |
| | | throw new ServiceException(Constants.Code_600,"该订单已经审核,无法修改"); |
| | |
| | | |
| | | orderDetailMapper.deleteOrderFile(order.getOrderId()); |
| | | |
| | | insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList); |
| | | insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList, position); |
| | | } |
| | | |
| | | |
| | | |
| | | //插入其他副表数据,被其他方法引用 |
| | | public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) { |
| | | public void insertOtherDetail(String orderId, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) { |
| | | //先把其他金额副表的金额与数量置0 |
| | | if(orderOtherMoneyList!=null){ |
| | | orderOtherMoneyList.forEach(orderOtherMoney -> { |
| | |
| | | } |
| | | |
| | | 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()); |
| | | 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){ |
| | |
| | | //往明细表插数据 |
| | | orderDetailMapper.insertBatch(OrderDetails); |
| | | //往小片表传入产品数据 |
| | | orderGlassDetailMapper.insertOrderGlassDetail(orderId); |
| | | orderGlassDetailMapper.insertOrderGlassDetail(orderId,position.get("outside"),position.get("inside")); |
| | | |
| | | //修改成品拱高 |
| | | List<OrderDetail> orderDetails = orderDetailMapper |
| | |
| | | byte[] dxfData = Base64.getDecoder().decode(fileData); |
| | | String orderId="NG25010101"; |
| | | Integer orderNumber=1; |
| | | orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber); |
| | | //orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber); |
| | | return true; |
| | | } |
| | | |
| | |
| | | return map; |
| | | } |
| | | |
| | | public boolean updateOrderFile(Map<String,Object> object) { |
| | | public boolean updateOrderFile(JSONObject object) throws JsonProcessingException { |
| | | String orderId = ""; |
| | | if (object.get("orderId") != null) { |
| | | orderId = object.get("orderId").toString(); |
| | |
| | | if (object.get("dataBase64") != null) { |
| | | dataBase64 = object.get("dataBase64").toString(); |
| | | } |
| | | String fileJson = null; |
| | | ObjectMapper om = new ObjectMapper(); |
| | | if (object.get("fileJson") != null) { |
| | | fileJson = om.writeValueAsString(object.get("fileJson")); |
| | | } |
| | | Map<String,String> orderFile =orderMapper.selectOrderFile(orderId,orderNumber); |
| | | if(orderFile!=null){ |
| | | orderMapper.updateOrderFile("map.dxf", dataBase64,orderId,orderNumber); |
| | | orderMapper.updateOrderFile("map.dxf", dataBase64,orderId,orderNumber,fileJson); |
| | | }else{ |
| | | orderMapper.saveOrderFile("map.dxf", dataBase64,orderId,orderNumber); |
| | | orderMapper.saveOrderFile("map.dxf", dataBase64,orderId,orderNumber,fileJson); |
| | | } |
| | | return true; |
| | | } |