chenlu
2024-07-05 a26e834d87b2f03dd7768fddb1c3ba946a08c314
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -222,19 +222,28 @@
            //获取对象集合循环进行新增修改
            if (!orderDetaillist.isEmpty()) {
                for (OrderDetail orderDetail : orderDetaillist) {
                    //根据订单计算方式进行金额计算
                    Integer calculateType=0;
                    if (orderDetail.getOrder().getOrderId()==null){
                        Order order=deliveryMapper.selectOrderId(orderDetail.getOrderId());
                        calculateType=order.getCalculateType();
                    }else{
                        calculateType=orderDetail.getOrder().getCalculateType();
                    }
                    double deliveryDetailMoney = 0.0;
                    if (orderDetail.getOrder().getCalculateType()==1){
                    if (calculateType==1){
                        deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf(String.format("%.2f", (orderDetail.getWidth()*orderDetail.getHeight()/1000000)))
                                *orderDetail.getDeliveryDetail().getQuantity()*orderDetail.getPrice()));
                    }else if (orderDetail.getOrder().getCalculateType()==2){
                    }else if (calculateType==2){
                        deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf(
                                String.format("%.2f", (orderDetail.getWidth()*orderDetail.getHeight()/1000000)*orderDetail.getDeliveryDetail().getQuantity())
                                )*orderDetail.getPrice()));
                    }else if (orderDetail.getOrder().getCalculateType()==3){
                        )*orderDetail.getPrice()));
                    }else if (calculateType==3){
                        deliveryDetailMoney=Double.valueOf(String.format("%.2f",orderDetail.getPrice() * orderDetail.getDeliveryDetail().getQuantity()));
                    }
                    //根据订单计算方式进行金额计算
                    //对循环明细的数据进行累加
                    quantity += orderDetail.getDeliveryDetail().getQuantity();
@@ -351,13 +360,14 @@
        List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//最终结果
        List<DeliveryDetail> deliveryDetailList=deliveryDetailMapper.getSelectDeliveryPrinting(deliveryDetail);
        String orderId="";
        double otherMoney=0.0;
        for (DeliveryDetail detail : deliveryDetailList) {
            System.out.println(detail);
            orderId=detail.getOrderDetail().getOrderId();
            Map<String, Object> itemmap = new HashMap<>();
            List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(),
                    detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId());
            for (Map<String, Object> stringObjectMap : deliveryDetailList2) {
                if(stringObjectMap.get("other_columns")!=null){
                    JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString());
@@ -365,7 +375,9 @@
                        boolean isnull = key.contains("M");
                        if(isnull) {
                            Map<String, Object> moneryItemmap = new HashMap<>();
                            List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), detail.getDeliveryId(), key, jsonObject.get(key).toString());
                            Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(),
                                    detail.getDeliveryId(),Integer.parseInt(stringObjectMap.get("order_number").toString()), key, jsonObject.get(key).toString());
                            otherMoney=otherMoney+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
                            moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                            moneryList.add(moneryItemmap);
                        }
@@ -379,6 +391,7 @@
        }
        Delivery delivery=deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail);
        delivery.setMoney(delivery.getMoney()+otherMoney);
        map.put("data", list);
        map.put("otherMoney",moneryList);
        map.put("delivery", deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail));
@@ -405,7 +418,7 @@
                        boolean isnull = key.contains("M");
                        if(isnull){
                            Map<String, Object> moneryItemmap = new HashMap<>();
                            List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),key,jsonObject.get(key).toString());
                            Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()),key,jsonObject.get(key).toString());
                            moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                            moneryList.add(moneryItemmap);
                        }