xuhy
2024-11-03 1defb3f6954f525c04e0bc48604c2c4759120452
Merge remote-tracking branch 'origin/master'
19个文件已修改
172 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/结算汇总.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/账户结算账单.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-chargingPile/src/main/java/com/ruoyi/chargingPile/api/model/TParkingRecord.java
@@ -36,6 +36,10 @@
    @ApiModelProperty(value = "用户id")
    @TableField("app_user_id")
    private Long appUserId;
    @ApiModelProperty(value = "订单标题")
    @TableField("title")
    private String title;
    @ApiModelProperty(value = "停车场名称")
    @TableField("name")
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/ChargingOrderClient.java
@@ -120,8 +120,8 @@
    @GetMapping(value = "/financial/settlement/downloadSettlement/{uid}")
    public R<TSettlementConfirm> downloadSettlement(@PathVariable("uid") String uid);
    @GetMapping(value = "/financial/settlement/settlementTotalR")
    public R<SettlementTotalVO> settlementTotalR(String time);
    @GetMapping(value = "/financial/settlement/settlementTotalR/{time}")
    public R<SettlementTotalVO> settlementTotalR(@PathVariable("time")String time);
    /**
     * 修改充电订单
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrder.java
@@ -27,6 +27,10 @@
public class TChargingOrder extends BasePojo {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "累计退款金额 前端忽略")
    @TableField(exist = false)
    private BigDecimal refundAmount1;
    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.NONE)
@@ -34,7 +38,9 @@
    @ApiModelProperty(value = "序号")
    @TableField(exist = false)
    private Integer xuhao;
    @ApiModelProperty(value = "退款描述")
    @TableField(exist = false)
    private String refundContent;
    @ApiModelProperty(value = "订单编号")
    @TableField("code")
    private String code;
@@ -206,6 +212,9 @@
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("refund_time")
    private LocalDateTime refundTime;
    @ApiModelProperty(value = "退款成功时间")
    @TableField(exist = false)
    private String refundTime1;
    @ApiModelProperty(value = "总电量")
    @TableField("total_electricity")
    private BigDecimal totalElectricity;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/model/TChargingOrderRefund.java
@@ -40,6 +40,7 @@
    @TableField("refund_code")
    private String refundCode;
    @ApiModelProperty(value = "退款金额")
    @TableField("refund_amount")
    private BigDecimal refundAmount;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/vo/ChargingBillVO.java
@@ -50,4 +50,5 @@
    private PageInfo<ChargingBillListVO> list;
    @ApiModelProperty(value = "导出Excel数据 前端忽略")
    private List<TChargingOrder> exportList;
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppUserController.java
@@ -549,6 +549,9 @@
            if (data != null) {
                byId.setGoodType(data.getOrderType());
            }
        }else if (byId.getChangeType()==4){
            TAppUser byId1 = appUserService.getById(byId.getExtension());
            byId.setExtension(byId1.getPhone());
        }
        return R.ok(byId);
    }
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -285,7 +285,8 @@
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Access-Control-Expose-Headers", "Content-disposition");
            response.setHeader("Content-Disposition", "attachment;filename=" +
                    URLEncoder.encode("月账单-"+data.getCategory()+"-"+data.getBillWeek()+"-"+data.getSiteName(), CharEncoding.UTF_8) + ".xlsx");
//                    URLEncoder.encode("月账单-"+data.getCategory()+"-"+data.getBillWeek()+"-"+data.getSiteName(), CharEncoding.UTF_8) + ".xlsx");
                   URLEncoder.encode("月账单", CharEncoding.UTF_8) + ".xlsx");
        } catch (UnsupportedEncodingException e) {
            return R.fail("excel导出失败!");
        }
@@ -320,7 +321,7 @@
        BigDecimal bigDecimal = new BigDecimal("0");
        for (TChargingOrder chargingOrder : collect) {
            bigDecimal = bigDecimal.add(chargingOrder.getPaymentAmount());
            bigDecimal = bigDecimal.add(chargingOrder.getRefundAmount());
            if (chargingOrder.getRechargePaymentType()!=null){
                switch (chargingOrder.getRechargePaymentType()){
                    case 1:
@@ -371,8 +372,6 @@
    public R downloadSettlementTotal(@RequestBody ExportUidDto uid,HttpServletResponse response)
    {
        SettlementTotalVO data = chargingOrderClient.settlementTotalR(uid.getTime()).getData();
        try {
            response.setCharacterEncoding(Constants.UTF8);
            response.setContentType("application/vnd.ms-excel");
@@ -641,10 +640,10 @@
    @ApiOperation(value = "下载-未出账", tags = {"管理后台-充电算账单"})
    @PutMapping("/download")
    @Log(title = "【充电算账单】下载算账单", businessType = BusinessType.EXPORT)
    public R download(String uid,HttpServletResponse response)
    public R download(@RequestBody ExportUidDto uid,HttpServletResponse response)
    {
        ChargingListQuery chargingListQuery = new ChargingListQuery();
        chargingListQuery.setUid(uid);
        chargingListQuery.setUid(uid.getUid());
        chargingListQuery.setPageCurr(1);
        chargingListQuery.setPageSize(99999);
        ChargingBillVO data = chargingOrderClient.chargingBillListR(chargingListQuery).getData();
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -63,10 +63,20 @@
    @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "列表")
    @PostMapping(value = "/page")
    public R<Page<TParkingRecord>> page(@RequestBody ParkingRecordPageQuery query) {
        String s1 = "";
        String s2 = "";
        if (query.getTimePeriod()!=null){
             s1 = query.getTimePeriod().split(" - ")[0];
             s2 = query.getTimePeriod().split(" - ")[1];
        }
        Page<TParkingRecord> page = parkingRecordService.lambdaQuery()
                .like(query.getLicensePlate() != null, TParkingRecord::getLicensePlate, query.getLicensePlate())
                .eq(query.getStatus() != null, TParkingRecord::getStatus, query.getStatus())
                .eq(query.getOutParkingType() != null, TParkingRecord::getOutParkingType, query.getOutParkingType())
                .between(query.getTimePeriod()!=null,TParkingRecord::getInParkingTime,s1,s2)
                .or()
                .between(query.getTimePeriod()!=null,TParkingRecord::getOutParkingTime,s1,s2)
                .orderByDesc(TParkingRecord::getCreateTime)
                .page(Page.of(query.getPageCurr(), query.getPageSize()));
        for (TParkingRecord record : page.getRecords()) {
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/TChargingPileServiceImpl.java
@@ -293,9 +293,11 @@
            chargingGunService.updateById(tChargingGun1);
        }
        Integer accountingStrategyId = setAccountingStrategy.getAccountingStrategyId();
        List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>().eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategyId));
        List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>()
                .eq(TAccountingStrategyDetail::getAccountingStrategyId, accountingStrategyId).orderByAsc(TAccountingStrategyDetail::getStartTime));
        //下发硬件更新计费模板
        for (TChargingPile chargingPile : this.listByIds(id)) {
        List<TChargingPile> tChargingPiles = this.listByIds(id);
        for (TChargingPile chargingPile : tChargingPiles) {
            integrationClient.setupBillingModel1(chargingPile.getCode(), JSON.toJSONString(accountingStrategyDetails));
        }
        
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingPileMapper.xml
@@ -105,7 +105,7 @@
            </foreach>
        </if>
        <if test="null != query.name and '' != query.name">
            and CONCAT(b.number, a.name) like CONCAT('%', #{query.name}, '%')
            and CONCAT(b.name, a.name) like CONCAT('%', #{query.name}, '%')
        </if>
    </select>
</mapper>
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TParkingRecordMapper.xml
@@ -83,7 +83,7 @@
    </select>
    <select id="parkingData" resultType="java.util.Map">
        SELECT
            DATE_FORMAT( create_time, '%Y-%m-%d %H' ) AS time,
            DATE_FORMAT( create_time, '%H:00' ) AS time,
    count( 1 ) AS orders,
    SUM( timeout_amount ) AS timeoutAmount
        FROM
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/结算汇总.xlsx
Binary files differ
ruoyi-service/ruoyi-chargingPile/src/main/resources/template/账户结算账单.xlsx
Binary files differ
ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/barrierGate/server/ParkingOrderService.java
@@ -82,6 +82,7 @@
        BigDecimal payment = new BigDecimal(order.getPayment());
        parkingRecord.setStatus(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 3);
        parkingRecord.setOutParkingType(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 1);
        parkingRecord.setTitle("【停车缴费】" + payment + "元");
        parkingRecordClient.updateParkingRecord(parkingRecord);
    }
    
@@ -134,6 +135,10 @@
        parkingRecord.setParkingDuration(Integer.valueOf(order.getLongTime()));
        parkingRecord.setOrderAmount(new BigDecimal(order.getMoney()));
        parkingRecord.setPayment(new BigDecimal(order.getMoney()));
        BigDecimal payment = new BigDecimal(order.getMoney());
        parkingRecord.setStatus(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 3);
        parkingRecord.setOutParkingType(BigDecimal.ZERO.compareTo(payment) == 0 ? 2 : 1);
        parkingRecord.setTitle("【停车缴费】" + payment + "元");
        parkingRecordClient.updateParkingRecord(parkingRecord);
    }
    
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChargingBillController.java
@@ -75,12 +75,13 @@
        List<ChargingBillListVO> records = res.getList().getRecords();
        accountListVO.setBillCount(records.size());
        accountListVO.setTotalAmount(res.getPaymentAmount().subtract(res.getRefundAmount())
                .subtract(res.getCommissionAmount()).subtract(res.getSharingAmount()));
        accountListVO.setPaymentAmount(res.getPaymentAmount());
        accountListVO.setRefundAmount(res.getRefundAmount());
        accountListVO.setCommissionAmount(res.getCommissionAmount());
        accountListVO.setSharingAmount(res.getSharingAmount());
                .subtract(res.getCommissionAmount().setScale(2,BigDecimal.ROUND_DOWN)).subtract(res.getSharingAmount()).setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setPaymentAmount(res.getPaymentAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setRefundAmount(res.getRefundAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setCommissionAmount(res.getCommissionAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setSharingAmount(res.getSharingAmount().setScale(2, BigDecimal.ROUND_DOWN));
        accountListVO.setList(res.getList());
        accountListVO.setOrderList(res.getExportList());
        return R.ok(accountListVO);
    }
    @PostMapping(value = "/chargingBillList")
@@ -337,7 +338,7 @@
            chargingBillPayExport.setRechargeSerialNumber(tChargingOrder.getRechargeSerialNumber());
            chargingBillPayExport.setCode(tChargingOrder.getCode());
            chargingBillPayExport.setPayTime(tChargingOrder.getPayTime()!=null?DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",DateUtils.toDate(tChargingOrder.getPayTime())):"");
            chargingBillPayExport.setPaymentAmount(tChargingOrder.getOrderAmount().toString());
            chargingBillPayExport.setPaymentAmount(tChargingOrder.getChargeAmount().toString());
            chargingBillPayExport.setTotal("");
            chargingBillPayExports.add(chargingBillPayExport);
            i++;
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -189,7 +189,7 @@
                BigDecimal size = new BigDecimal(stageCost.size());
                for (TChargingOrderAccountingStrategy tChargingOrderAccountingStrategy : stageCost) {
                    bigDecimal1 = bigDecimal1.add(tChargingOrderAccountingStrategy.getElectrovalence());
                    bigDecimal1 = bigDecimal1.add(tChargingOrderAccountingStrategy.getPeriodElectricPrice());
                    bigDecimal2 = bigDecimal2.add(tChargingOrderAccountingStrategy.getPeriodServicePrice());
                    bigDecimal3 = bigDecimal3.add(tChargingOrderAccountingStrategy.getPeriodOriginalServicePrice());
                }
@@ -282,8 +282,8 @@
        SettlementTotalVO res = chargingOrderService.settlementTotal(time);
        return AjaxResult.success(res);
    }
    @GetMapping(value = "/settlementTotalR")
    public R<SettlementTotalVO> settlementTotalR(String time) {
    @GetMapping(value = "/settlementTotalR/{time}")
    public R<SettlementTotalVO> settlementTotalR(@PathVariable("time")String time) {
        time = time+"-01 00:00:00";
        SettlementTotalVO res = chargingOrderService.settlementTotal(time);
        return R.ok(res);
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TOrderEvaluateController.java
@@ -48,7 +48,7 @@
    @ApiOperation(tags = {"小程序-订单评价"},value = "充电订单评价标签及数量查询")
    @GetMapping(value = "/getTagCount")
    public AjaxResult<List<TEvaluationTagVO>> getTagCount(@RequestParam(value = "siteId")@ApiParam(value = "站点id")Integer siteId) {
    public AjaxResult<List<TEvaluationTagVO>> getTagCount(@ApiParam(value = "站点id")Integer siteId) {
        return AjaxResult.ok(orderEvaluateService.getTagCount(siteId));
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingBillServiceImpl.java
@@ -10,6 +10,7 @@
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.chargingPile.api.model.TChargingGun;
import com.ruoyi.chargingPile.api.model.TChargingPile;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
import com.ruoyi.order.api.model.TChargingOrder;
@@ -40,6 +41,7 @@
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -78,8 +80,7 @@
            }
        }
        ChargingBillVO chargingBillVO = new ChargingBillVO();
        List<TChargingOrder> exports = new ArrayList<>();
        List<TChargingOrder> tChargingOrders1 = new ArrayList<>();
        String startTime1 = null;
        String startTime2 = null;
        if (StringUtils.hasLength(dto.getStartTime())){
@@ -101,10 +102,8 @@
        BigDecimal sharingAmountTotal = new BigDecimal("0");
        BigDecimal chargingCapacityTotal = new BigDecimal("0");
        BigDecimal discountTotal = new BigDecimal("0");
        BigDecimal refundAmount = new BigDecimal("0");
        int orderCount = 0;
        for (ChargingBillListVO chargingBillListVO : list) {
            String temp = "";
            String temp1 = "";
            switch (chargingBillListVO.getType()){
@@ -161,6 +160,7 @@
            BigDecimal commissionAmount = new BigDecimal("0");
            BigDecimal sharingAmount = new BigDecimal("0");
            BigDecimal chargingCapacity = new BigDecimal("0");
            BigDecimal refundAmount = new BigDecimal("0");
            orderCount+=tChargingOrders.size();
            chargingBillVO.setCategory("");
            chargingBillVO.setExportList(tChargingOrders);
@@ -300,7 +300,6 @@
                }
            }
            exports.addAll(tChargingOrders);
            // 将chargingSecond 这是以秒为单位存放的总秒数 将其转化为xx小时xx分钟xx秒
            int hours = chargingSecond / 3600;
            int minutes = (chargingSecond % 3600) / 60;
@@ -317,13 +316,11 @@
            chargingBillListVO.setRefundAmount(refundAmount == null?BigDecimal.ZERO:refundAmount);
            chargingBillListVO.setElectrovalence(electrovalence == null?BigDecimal.ZERO:electrovalence);
            chargingBillListVO.setServiceCharge(serviceCharge == null?BigDecimal.ZERO:serviceCharge);
            chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount.setScale(2, RoundingMode.HALF_DOWN));
            chargingBillListVO.setCommissionAmount(commissionAmount == null?BigDecimal.ZERO:commissionAmount.setScale(2,BigDecimal.ROUND_DOWN));
            chargingBillListVO.setSharingAmount(sharingAmount == null?BigDecimal.ZERO:sharingAmount);
            chargingBillListVO.setChargingCapacity(chargingCapacity == null?BigDecimal.ZERO:chargingCapacity);
            chargingBillListVO.setBillMoney(chargingBillListVO.getPaymentAmount().subtract(chargingBillListVO.getRefundAmount()==null?BigDecimal.ZERO:chargingBillListVO.getRefundAmount()
                            .subtract(commissionAmount).subtract(sharingAmount).setScale(2, RoundingMode.HALF_DOWN))
                    .subtract(chargingBillListVO.getCommissionAmount()==null?BigDecimal.ZERO:chargingBillListVO.getCommissionAmount())
                    .subtract(chargingBillListVO.getSharingAmount()==null?BigDecimal.ZERO:chargingBillListVO.getSharingAmount()));
            chargingBillListVO.setBillMoney(paymentAmount.subtract(refundAmount==null?BigDecimal.ZERO:refundAmount)
                            .subtract(commissionAmount.setScale(2,BigDecimal.ROUND_DOWN)).subtract(sharingAmount).setScale(2, BigDecimal.ROUND_DOWN));
            switch (chargingBillListVO.getType()){
                case 1:
                    chargingBillListVO.setSiteName("全站");
@@ -340,6 +337,8 @@
            // 充电时间秒
            chargingBillListVO.setChargingSecond(chargingSecond);
        }
        BigDecimal bigDecimal = new BigDecimal("0");
        for (ChargingBillListVO chargingBillListVO : list1) {
            if (chargingBillListVO.getType()==2){
                continue;
@@ -373,6 +372,7 @@
                eq.eq("site_id", chargingBillListVO.getSiteId());
            }
            List<TChargingOrder> tChargingOrders = chargingOrderList.selectList(eq);
            tChargingOrders1.addAll(tChargingOrders);
            orderCount+=tChargingOrders.size();
            chargingBillVO.setCategory("");
            chargingBillVO.setExportList(tChargingOrders);
@@ -393,6 +393,11 @@
                        .eq(TChargingOrderRefund::getRefundStatus, 2).list();
                for (TChargingOrderRefund tChargingOrderRefund : list2) {
                    refundAmountTotal =refundAmountTotal.add(tChargingOrderRefund.getRefundAmount());
                    tChargingOrder.setRefundAmount(tChargingOrderRefund.getRefundAmount());
                    tChargingOrder.setRefundContent(tChargingOrderRefund.getRefundReason());
                    tChargingOrder.setRefundCode(tChargingOrderRefund.getRefundCode());
                    tChargingOrder.setRefundTime1(DateUtils.localDateTimeToString(tChargingOrderRefund.getRefundTime()));
                    bigDecimal = bigDecimal.add(tChargingOrderRefund.getRefundAmount());
                }
                // 累加累计服务费
                if (tChargingOrder.getServiceCharge()!=null){
@@ -421,16 +426,20 @@
            }
        }
        chargingBillVO.setChargingCapacity(chargingCapacityTotal);
        chargingBillVO.setPaymentAmount(paymentAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setPaymentAmount(paymentAmountTotal);
        chargingBillVO.setOrderAmount(paymentAmountTotal.subtract(refundAmountTotal).subtract(commissionAmountTotal).subtract(sharingAmountTotal));
        chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setElectrovalence(electrovalenceTotal);
        chargingBillVO.setServiceCharge(serviceChargeTotal);
        chargingBillVO.setOrderCount(orderCount);
        chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setCommissionAmount(commissionAmountTotal);
        chargingBillVO.setSharingAmount(sharingAmountTotal);
        chargingBillVO.setDiscount(discountTotal);
        chargingBillVO.setRefundAmount(refundAmountTotal);
        List<TChargingOrder> collect = tChargingOrders1.stream().distinct().collect(Collectors.toList());
        if (!collect.isEmpty()){
            collect.get(0).setRefundAmount1(bigDecimal);
        }
        chargingBillVO.setExportList(collect);
        pageInfo.setRecords(list);
        chargingBillVO.setList(pageInfo);
        return chargingBillVO;
@@ -664,12 +673,12 @@
            String timeString = String.format("%d小时%d分钟%d秒", hours, minutes, seconds);
            chargingBillVO.setChargingTime(timeString);
            chargingBillListVO.setPaymentAmount(orderAmount.subtract(commissionAmount).subtract(sharingAmount).setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setPaymentAmount(orderAmount.subtract(commissionAmount).subtract(sharingAmount).setScale(2,BigDecimal.ROUND_DOWN));
            chargingBillListVO.setOrderAmount(orderAmount);
            chargingBillListVO.setElectrovalence(electrovalence);
            chargingBillListVO.setServiceCharge(serviceCharge.setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setCommissionAmount(commissionAmount.setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setSharingAmount(sharingAmount.setScale(2,RoundingMode.HALF_DOWN));
            chargingBillListVO.setServiceCharge(serviceCharge.setScale(2,BigDecimal.ROUND_DOWN));
            chargingBillListVO.setCommissionAmount(commissionAmount.setScale(2,BigDecimal.ROUND_DOWN));
            chargingBillListVO.setSharingAmount(sharingAmount.setScale(2,BigDecimal.ROUND_DOWN));
            chargingBillListVO.setChargingCapacity(chargingCapacity);
            switch (chargingBillListVO.getType()){
                case 1:
@@ -779,14 +788,14 @@
            }
        }
        chargingBillVO.setChargingCapacity(chargingCapacityTotal);
        chargingBillVO.setPaymentAmount(orderAmountTotal.subtract(commissionAmountTotal).subtract(sharingAmountTotal).setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setPaymentAmount(orderAmountTotal.subtract(commissionAmountTotal).subtract(sharingAmountTotal).setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillVO.setOrderAmount(orderAmountTotal.setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillVO.setElectrovalence(electrovalenceTotal.setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillVO.setServiceCharge(serviceChargeTotal.setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillVO.setOrderCount(orderCount);
        chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setDiscount(discountTotal.setScale(2, RoundingMode.HALF_DOWN));
        chargingBillVO.setCommissionAmount(commissionAmountTotal.setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillVO.setSharingAmount(sharingAmountTotal.setScale(2, BigDecimal.ROUND_DOWN));
        chargingBillVO.setDiscount(discountTotal.setScale(2, BigDecimal.ROUND_DOWN));
        pageInfo.setRecords(list);
        chargingBillVO.setList(pageInfo);
        return chargingBillVO;
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -461,7 +461,6 @@
        chargingOrder.setVipDiscountAmount(BigDecimal.ZERO);
        chargingOrder.setOrderSource(0);
        chargingOrder.setTitle("【充电桩充电】" + chargingPile.getNumber() + "号桩/" + tChargingGun.getCode() + "号枪");
        chargingOrder.setStatus(1);
        
        Site site = siteClient.getSiteByIds(Arrays.asList(tChargingGun.getSiteId())).getData().get(0);
        Integer accountingStrategyId = tChargingGun.getAccountingStrategyId();
@@ -1299,9 +1298,9 @@
                payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
            }
            if (payOrderDto.getType()==1&&payOrderDto.getStatus()==3){
                payOrderDto.setFinalAmount(payOrderDto.getRechargeAmount());
                payOrderDto.setOrderAmount(payOrderDto.getRechargeAmount());
                payOrderDto.setPaymentAmount(payOrderDto.getRechargeAmount());
                payOrderDto.setFinalAmount(payOrderDto.getOrderAmount());
                payOrderDto.setOrderAmount(payOrderDto.getOrderAmount());
                payOrderDto.setPaymentAmount(payOrderDto.getOrderAmount());
            }
        }
        pageInfo.setRecords(list);
@@ -2587,6 +2586,7 @@
            }
        }
        // 三方交易手续费 三方收费*0.6%
        commissionAmount = sharingAmount.multiply(new BigDecimal("0.006"));
        // 订单手续费 订单支付金额 - 退款金额*0.6%
@@ -2594,7 +2594,7 @@
        tSettlementConfirm.setSharingAmount(sharingAmount.setScale(2, RoundingMode.HALF_DOWN));
        tSettlementConfirm.setCommissionAmount(commissionAmount.setScale(2, RoundingMode.HALF_DOWN));
        tSettlementConfirm.setElectrovalence(electrovalence.setScale(2, RoundingMode.HALF_DOWN));
        tSettlementConfirm.setServiceCharge(serviceCharge.subtract(commissionAmount).setScale(2, RoundingMode.HALF_DOWN));
        tSettlementConfirm.setServiceCharge(serviceCharge.subtract(orderCommission).setScale(2, RoundingMode.HALF_DOWN));
        tSettlementConfirm.setOrderCommission(orderCommission);
        tSettlementConfirm.setVipDiscount(vipDiscount);
        tSettlementConfirm.setCouponDiscount(couponDiscount);
@@ -2606,6 +2606,8 @@
        tSettlementConfirm.setType(dto.getType());
        if (dto.getState() == 2){
            tSettlementConfirm.setServiceMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
                    .subtract(dto.getMaintain()).multiply(dto.getServicePartner()));
            tSettlementConfirm.setSupplyElectronic(dto.getSupplyElectronic());
            tSettlementConfirm.setVenue(dto.getVenue());
            tSettlementConfirm.setMetering(dto.getMetering());
@@ -2620,26 +2622,26 @@
            tSettlementConfirm.setTotalService(dto.getTotalService());
            tSettlementConfirm.setRemark(dto.getRemark());
            tSettlementConfirm.setServicePartner(dto.getServicePartner());
            tSettlementConfirm.setServiceMoney(dto.getServiceMoney());
            BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner().multiply(new BigDecimal("0.01")));
            BigDecimal subtract = new BigDecimal("1").subtract(dto.getProportionPartner());
            BigDecimal subtract9 = new BigDecimal("1").subtract(dto.getServicePartner());
            // 总电损费用
            BigDecimal divide = tSettlementConfirm.getProportionMoney().divide(subtract, 2, RoundingMode.HALF_DOWN);
            // 平台承担电损
            BigDecimal subtract1 = divide.subtract(tSettlementConfirm.getProportionMoney());
            BigDecimal multiply = dto.getServiceMoney().multiply(subtract);
            BigDecimal subtract2 = multiply.subtract(subtract1);
            tSettlementConfirm.setNewMoney(subtract2);
            tSettlementConfirm.setNewMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
                    .subtract(dto.getMaintain()).multiply(subtract9).subtract(subtract1));
            tSettlementConfirm.setTotalService(dto.getTotalService());
            tSettlementConfirm.setServiceRemark(dto.getServiceRemark());
            tSettlementConfirm.setDistribution(dto.getDistribution());
            tSettlementConfirm.setIncome(dto.getElectrovalence().add(dto.getServiceCharge()));
            tSettlementConfirm.setCost(dto.getVenue().add(dto.getClean()).add(dto.getMaintain()).add(dto.getSupplyElectronic()));
            BigDecimal divide1 = tSettlementConfirm.getProportionMoney().divide(tSettlementConfirm.getProportionPartner(), 2, RoundingMode.HALF_DOWN);
            tSettlementConfirm.setProfitMoney(tSettlementConfirm.getServiceCharge().multiply(tSettlementConfirm.getServicePartner())
                    .subtract(divide1));
            tSettlementConfirm.setNewSettlement(subtract2.subtract(tSettlementConfirm.getCost()));
            tSettlementConfirm.setProfitMoney(tSettlementConfirm.getIncome().subtract(tSettlementConfirm.getCost()));
            tSettlementConfirm.setNewSettlement(tSettlementConfirm.getProfitMoney().add(tSettlementConfirm.getCost()));
            tSettlementConfirm.setServiceMoney(dto.getServiceCharge().subtract(dto.getVenue()).subtract(dto.getClean())
                    .subtract(dto.getMaintain()).multiply(dto.getServicePartner()));
            tSettlementConfirmMapper.insert(tSettlementConfirm);
        }
        return tSettlementConfirm;