puzhibing
2025-02-05 74b0e0814e37d640596f44ec86d20fa9ecce9ed6
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/FinancialSettlementController.java
@@ -23,6 +23,8 @@
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
import com.ruoyi.integration.api.model.UploadRealTimeMonitoringData;
@@ -83,18 +85,6 @@
    private TSettlementConfirmService tSettlementConfirmService;
    @Resource
    private VipClient vipClient;
    @PostMapping(value = "/chargingList")
    @ApiOperation(value = "充电时段统计列表", tags = {"管理后台-财务结算"})
    public AjaxResult<ChargingOrderTimeVO> chargingList(@RequestBody ChargingListQuery dto) {
        ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
        return AjaxResult.success(res);
    }
    @GetMapping(value = "/chargingInfo")
    @ApiOperation(value = "充电时段统计列表-查看详情", tags = {"管理后台-财务结算"})
    public AjaxResult<ChargingOrderListInfoVO> chargingInfo(String uid) {
        ChargingOrderListInfoVO res = chargingOrderService.chargingInfo(uid);
        return AjaxResult.success(res);
    }
    @Autowired
    private SiteClient siteClient;
    @Autowired
@@ -109,7 +99,27 @@
    private TChargingOrderAccountingStrategyService tChargingOrderAccountingStrategyService;
    @Resource
    private UploadRealTimeMonitoringDataClient uploadRealTimeMonitoringDataClient;
    @RequiresPermissions(value = {"/chargingPeriodStatistics"}, logical = Logical.OR)
    @PostMapping(value = "/chargingList")
    @ApiOperation(value = "充电时段统计列表", tags = {"管理后台-财务结算"})
    public AjaxResult<ChargingOrderTimeVO> chargingList(@RequestBody ChargingListQuery dto) {
        ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
        return AjaxResult.success(res);
    }
    @RequiresPermissions(value = {"/chargingPeriodStatistics/order_info", "/chargingPeriodStatistics/charging_curve"}, logical = Logical.OR)
    @GetMapping(value = "/chargingInfo")
    @ApiOperation(value = "充电时段统计列表-查看详情", tags = {"管理后台-财务结算"})
    public AjaxResult<ChargingOrderListInfoVO> chargingInfo(String uid) {
        ChargingOrderListInfoVO res = chargingOrderService.chargingInfo(uid);
        return AjaxResult.success(res);
    }
    @RequiresPermissions(value = {"/chargingPeriodStatistics/export"}, logical = Logical.OR)
    @ApiOperation(value = "充电时段统计-导出", tags = {"管理后台-财务结算"})
    @PutMapping("/export")
    public void export(@RequestBody ChargingListQuery dto) {
@@ -117,7 +127,7 @@
        ChargingOrderTimeVO res = chargingOrderService.chargingList(dto);
        List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>();
        List<ChargingOrderListVO> exportList = res.getList().getRecords();
        List<ChargingOrderListVO> exportList = res.getExportList();
        int i = 0;
        for (ChargingOrderListVO chargingOrderListVO : exportList) {
            TChargingOrderExport tChargingOrderExport = new TChargingOrderExport();
@@ -162,12 +172,18 @@
                        break;
                }
            }
            String s1 = DateUtils.localDateTimeToString(chargingOrderListVO.getCreateTime());
            String s2 = DateUtils.localDateTimeToString(chargingOrderListVO.getStartTime());
            String s3 = DateUtils.localDateTimeToString(chargingOrderListVO.getEndTime());
            tChargingOrderExport.setCreateTime(s1);
            tChargingOrderExport.setStartTime(s2);
            tChargingOrderExport.setEndTime(s3);
            if (chargingOrderListVO.getCreateTime()!=null){
                String s1 = DateUtils.localDateTimeToString(chargingOrderListVO.getCreateTime());
                tChargingOrderExport.setCreateTime(s1);
            }
            if (chargingOrderListVO.getStartTime()!=null){
                String s2 = DateUtils.localDateTimeToString(chargingOrderListVO.getStartTime());
                tChargingOrderExport.setStartTime(s2);
            }
            if (chargingOrderListVO.getEndTime()!=null){
                String s3 = DateUtils.localDateTimeToString(chargingOrderListVO.getEndTime());
                tChargingOrderExport.setEndTime(s3);
            }
            tChargingOrderExport.setRechargePaymentStatus(chargingOrderListVO.getRechargePaymentStatus()+"");
            tChargingOrderExport.setType("充电订单");
            tChargingOrderExport.setChargingType("单桩双充");
@@ -274,6 +290,10 @@
            }
        }
    }
    @RequiresPermissions(value = {"/summarySettlement"}, logical = Logical.OR)
    @GetMapping(value = "/settlementTotal")
    @ApiOperation(value = "结算汇总-列表查询", tags = {"管理后台-财务结算"})
    @ApiParam(name = "time", value = "汇报时间2024-01")
@@ -282,30 +302,45 @@
        SettlementTotalVO res = chargingOrderService.settlementTotal(time);
        return AjaxResult.success(res);
    }
    @GetMapping(value = "/settlementTotalR/{time}")
    public R<SettlementTotalVO> settlementTotalR(@PathVariable("time")String time) {
    @GetMapping(value = "/settlementTotalR/{time}/{userId}")
    public R<SettlementTotalVO> settlementTotalR(@PathVariable("time")String time,@PathVariable("userId")Long userId) {
        time = time+"-01 00:00:00";
        SettlementTotalVO res = chargingOrderService.settlementTotal(time);
        SettlementTotalVO res = chargingOrderService.settlementTotalR(time,userId);
        return R.ok(res);
    }
    @RequiresPermissions(value = {"/generateStatement"}, logical = Logical.OR)
    @PostMapping(value = "/settlementAdd")
    @ApiOperation(value = "结算确认表-生成/保存结算确认表", tags = {"管理后台-财务结算"})
    public R<TSettlementConfirm> settlementAdd(@RequestBody SettlementConfirmAdd dto) {
        TSettlementConfirm res = chargingOrderService.settlementAdd(dto);
        return R.ok(res);
    }
    @RequiresPermissions(value = {"/balanceSheetRecord"}, logical = Logical.OR)
    @PostMapping(value = "/settlementList")
    @ApiOperation(value = "结算表记录-列表查询", tags = {"管理后台-财务结算"})
    public R<PageInfo<TSettlementConfirm>> settlementList(@RequestBody SettlementListQuery dto) {
        PageInfo<TSettlementConfirm> res = chargingOrderService.settlementList(dto);
        return R.ok(res);
    }
    @RequiresPermissions(value = {"/balanceSheetRecord/del"}, logical = Logical.OR)
    @GetMapping(value = "/deleteSettlement")
    @ApiOperation(value = "结算表记录-删除", tags = {"管理后台-财务结算"})
    public R deleteSettlement(String uid) {
        tSettlementConfirmService.removeById(uid);
        return R.ok();
    }
    @GetMapping(value = "/downloadSettlement/{uid}")
    public R<TSettlementConfirm> downloadSettlement(@PathVariable("uid") String uid) {
        TSettlementConfirm byId = tSettlementConfirmService.getById(uid);