廖井涛
2024-04-24 7e983e4d3b7d7c24e11913075a68a607e61a7d23
修改发货额外金额
4个文件已修改
44 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -540,13 +540,25 @@
  }
}
//计算金钱
const countMoney = (list) => {
  let  countMoney = 0
  list.forEach((item)=>{
    countMoney += parseFloat(item.grossAmount)
  })
  // otherMoney.value.forEach(item => {
  //   countMoney+=item.quantity*item.price
  // })
  return parseFloat((countMoney).toFixed(2))
}
//关闭其他金额界面
const refOtherMoney = ref()
const closeOtherMoneyDialog = async (done) => {
  const flag = await refOtherMoney.value.validate()
  if(flag){
    done()
    titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
    //titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
  }
}
north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -133,7 +133,7 @@
        boolean saveState = true;
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try{
            String deliveryId="";
            String oddNumber;
@@ -187,8 +187,13 @@
            Integer quantity = 0;
            double money = 0.0;
            AtomicReference<Double> otherMoney = new AtomicReference<>(0.0);
            //获取对象集合循环进行新增修改
            //先把其他金额副表的金额与数量置0
            deliveryOtherMoneyList.forEach(deliveryOtherMoney -> {
                deliveryOtherMoney.setQuantity(0.0);
            });
            //获取对象集合循环进行新增修改
            if (!orderDetaillist.isEmpty()) {
                for (OrderDetail orderDetail : orderDetaillist) {
@@ -200,16 +205,16 @@
                    Map<String,Double> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, Double>>(){});
                    if(otherColumns!=null){
                        otherColumns.forEach((key, value) ->{
                            if(value!=null) {
                            deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{
                                if(deliveryOtherMoney.getColumn().equals(key)){
                                    deliveryOtherMoney.setQuantity (otherColumns.get(key)==null?0:otherColumns.get(key));
                                    deliveryOtherMoney.setQuantity(((value==null?0:value)*orderDetail.getDeliveryDetail().getQuantity()));
                                        deliveryOtherMoney.setQuantity(deliveryOtherMoney.getQuantity()+(value * orderDetail.getDeliveryDetail().getQuantity()));
                                }
                            });
                            }
                        });
                    }
                    //新增发货明细数据
                    deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1);
@@ -235,16 +240,7 @@
            } else {
                return false;
            }
        }catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
            //将异常传入数据库
            SysError sysError = new SysError();
            sysError.setError(e.toString());
            sysError.setFunc("saveOrder");
            sysErrorService.insert(sysError);
            saveState = false;
        }
        return saveState;
    }
north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml
@@ -97,8 +97,7 @@
                 left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                           on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 order by dd.id
        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 order by dd.id desc
    </select>
north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml
@@ -97,8 +97,7 @@
                 left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                           on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 order by dd.id
        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 order by dd.id desc
    </select>