From 3f4a242d89156252999f35f51f9d97ded3f6708c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 09 九月 2023 10:32:37 +0800 Subject: [PATCH] 修改bug --- DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java index 078fec2..72b87be 100644 --- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java +++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java @@ -245,6 +245,29 @@ orderLogistics.setGetoffTime(new Date()); orderLogistics.setEndServiceTime(new Date()); orderLogistics.setState(6); + + //添加已收入明细 + Company company = companyService.selectById(orderLogistics.getCompanyId()); + Double speMoney = company.getCrossLogisticsMoney(); + BigDecimal d = null;//企业收入 + BigDecimal c = null;//司机收入 + if(company.getIsCrossLogisticsFixedOrProportional() == 2){//固定 + d = new BigDecimal(speMoney); + c = new BigDecimal(orderLogistics.getOrderMoney()).subtract(d);//只有出行金额参与抽成,其余归属司机 + } + if(company.getIsSpeFixedOrProportional() == 1){//比例 + Double price = orderLogistics.getOrderMoney(); + d = new BigDecimal(price).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100), new MathContext(2, RoundingMode.HALF_EVEN))); + c = new BigDecimal(orderLogistics.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); + } + incomeService.saveData(1, orderLogistics.getCompanyId(), 2, orderLogistics.getId(), 4, d.doubleValue()); + incomeService.saveData(2, orderLogistics.getDriverId(), 2, orderLogistics.getId(), 4, c.doubleValue()); + Driver driver = driverService.selectById(orderLogistics.getDriverId()); + driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); + driverService.updateById(driver); + break; } this.updateById(orderLogistics); -- Gitblit v1.7.1