| | |
| | | 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; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.net.URLEncoder; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | |
| | | 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 |
| | |
| | | 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) { |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | ChargingOrderTimeVO res = chargingOrderService.chargingList(dto); |
| | | List<TChargingOrderExport> tChargingOrderExports = new ArrayList<>(); |
| | | List<ChargingOrderListVO> exportList = res.getList().getRecords(); |
| | |
| | | tChargingOrderExport.setOrderClassification("1"); |
| | | tChargingOrderExport.setStartType("扫码"); |
| | | tChargingOrderExport.setOne("小程序"); |
| | | tChargingOrderExport.setTwo("小程序"); |
| | | tChargingOrderExport.setCreateTime(chargingOrderListVO.getCreateTime()+""); |
| | | tChargingOrderExport.setStartTime(chargingOrderListVO.getStartTime()+""); |
| | | tChargingOrderExport.setEndTime(chargingOrderListVO.getEndTime()+""); |
| | | if (chargingOrderListVO.getRechargePaymentType()!=null){ |
| | | switch (chargingOrderListVO.getRechargePaymentType()){ |
| | | case 1: |
| | | tChargingOrderExport.setTwo("微信小程序"); |
| | | break; |
| | | case 2: |
| | | tChargingOrderExport.setTwo("支付宝小程序"); |
| | | 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); |
| | | tChargingOrderExport.setRechargePaymentStatus(chargingOrderListVO.getRechargePaymentStatus()+""); |
| | | tChargingOrderExport.setType("充电订单"); |
| | | tChargingOrderExport.setChargingType("单桩双充"); |
| | |
| | | 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()); |
| | | } |
| | |
| | | tChargingOrderExport.setVipType(data1.getName()); |
| | | } |
| | | } |
| | | // tChargingOrderExport.setVipType(); |
| | | tChargingOrderExport.setIsPlus(chargingOrderListVO.getVipDiscountAmount().compareTo(BigDecimal.ZERO)>0?"是":"否"); |
| | | if (data3!=null){ |
| | | tChargingOrderExport.setRealName(data3.getName()); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @RequiresPermissions(value = {"/summarySettlement"}, logical = Logical.OR) |
| | | @GetMapping(value = "/settlementTotal") |
| | | @ApiOperation(value = "结算汇总-列表查询", tags = {"管理后台-财务结算"}) |
| | | @ApiParam(name = "time", value = "汇报时间2024-01") |
| | |
| | | SettlementTotalVO res = chargingOrderService.settlementTotal(time); |
| | | return AjaxResult.success(res); |
| | | } |
| | | @GetMapping(value = "/settlementTotalR") |
| | | public R<SettlementTotalVO> settlementTotalR(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); |