luodangjia
2024-11-04 e0fc8f7e2230b51e3bbe8dea43790cf11b7170e9
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -1,7 +1,10 @@
package com.ruoyi.chargingPile.controller;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.chargingPile.api.dto.TAccountingStrategyDTO;
import com.ruoyi.chargingPile.api.model.*;
import com.ruoyi.chargingPile.api.query.BatchSetAccountingStrategy;
@@ -14,6 +17,7 @@
import com.ruoyi.chargingPile.service.TChargingPileService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.dto.SteategyPassDto;
import com.ruoyi.common.core.enums.status.AppUserStatusEnum;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.log.annotation.Log;
@@ -62,6 +66,9 @@
    private ISiteService siteService;
    @Autowired
    private SysUserClient sysUserClient;
    @Resource
    private IntegrationClient integrationClient;
    @Autowired
@@ -85,7 +92,7 @@
    @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理", "管理后台-充电桩信息"},value = "查询计费策略明细列表")
    @GetMapping(value = "/queryAccountingStrategyDetailByStrategyId")
    public AjaxResult<List<TAccountingStrategyDetailVO>> queryAccountingStrategyDetailByStrategyId(@RequestParam("strategyId") Integer strategyId) {
        List<TAccountingStrategyDetailVO> list = accountingStrategyDetailService.queryAccountingStrategyDetailByStrategyId(strategyId);
        List<TAccountingStrategyDetailVO> list = accountingStrategyDetailService.queryMangementAccountingStrategyDetailByStrategyId(strategyId);
        list.forEach(detail -> {
            detail.setTotalPrice(detail.getElectrovalence().add(detail.getServiceCharge()));
        });
@@ -114,16 +121,16 @@
        Long userId = SecurityUtils.getLoginUser().getUserid();
        dto.setUserId(userId);
        accountingStrategyService.save(dto);
        if(null != dto.getSiteId()){
            //下发硬件数据
            List<TChargingPile> list = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, dto.getSiteId()).list();
            for (TChargingPile tChargingPile : list) {
                integrationClient.setupBillingModel1(tChargingPile.getCode());
            }
        }
        // 添加明细
        dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
        accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails());
        if(null != dto.getSiteId()){
            //下发硬件数据
            List<TChargingPile> list = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, dto.getSiteId()).eq(TChargingPile::getDelFlag, 0).list();
            for (TChargingPile tChargingPile : list) {
                integrationClient.setupBillingModel1(tChargingPile.getCode(), JSON.toJSONString(dto.getAccountingStrategyDetails()));
            }
        }
        return AjaxResult.ok(dto.getId());
    }
@@ -143,6 +150,9 @@
        if(!flag1){
            return AjaxResult.error("同阶段费率值需一致");
        }
        if(Objects.isNull(dto.getDiscount())){
            accountingStrategyService.update(Wrappers.<TAccountingStrategy>lambdaUpdate().set(TAccountingStrategy::getDiscount, null).eq(TAccountingStrategy::getId, dto.getId()));
        }
        // 判断修改的计费策略是否为已通过
        if(null != dto.getAuditStatus() && (dto.getAuditStatus() == 3 || dto.getAuditStatus() == 4)){
            // 查询是否有下级审核中的策略
@@ -156,7 +166,10 @@
                dto.setAuditStatus(1);
                accountingStrategyService.updateById(dto);
                // 添加明细
                dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
                dto.getAccountingStrategyDetails().forEach(detail -> {
                    detail.setAccountingStrategyId(dto.getId());
                    detail.setId(null);
                });
                accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails());
            }else {
                Long userId = SecurityUtils.getLoginUser().getUserid();
@@ -173,11 +186,6 @@
                });
                accountingStrategyDetailService.saveBatch(accountingStrategyDetails);
            }
            //下发硬件数据
            List<TChargingPile> list = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, dto.getSiteId()).list();
            for (TChargingPile tChargingPile : list) {
                integrationClient.setupBillingModel1(tChargingPile.getCode());
            }
        }else {
            // 删除计费策略明细信息
            accountingStrategyDetailService.remove(Wrappers.lambdaQuery(TAccountingStrategyDetail.class)
@@ -185,8 +193,19 @@
            dto.setAuditStatus(1);
            accountingStrategyService.updateById(dto);
            // 添加明细
            dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
            dto.getAccountingStrategyDetails().forEach(detail -> {
                detail.setAccountingStrategyId(dto.getId());
                detail.setId(null);
            });
            accountingStrategyDetailService.saveBatch(dto.getAccountingStrategyDetails());
        }
        if(null != dto.getSiteId()){
            //下发硬件数据
            List<TChargingPile> list = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, dto.getSiteId()).eq(TChargingPile::getDelFlag, 0).list();
            for (TChargingPile tChargingPile : list) {
                integrationClient.setupBillingModel1(tChargingPile.getCode(), JSON.toJSONString(dto.getAccountingStrategyDetails()));
            }
        }
        return AjaxResult.success();
    }
@@ -253,8 +272,9 @@
                String twoUserName = sysUserClient.getSysUser(accountingStrategy.getTwoUserId()).getData().getNickName();
                accountingStrategyVO.setTwoUserName(twoUserName);
            }
            if(null != children.getUserId()){
                String userName = sysUserClient.getSysUser(children.getUserId()).getData().getNickName();
            TAccountingStrategy accountingStrategy1 = accountingStrategyService.getById(id);
            if(null != accountingStrategy1.getUserId()){
                String userName = sysUserClient.getSysUser(accountingStrategy1.getUserId()).getData().getNickName();
                accountingStrategyVO.setUserName(userName);
            }
            accountingStrategyVO.setAccountingStrategyDetailList(accountingStrategyDetailService.list(Wrappers.lambdaQuery(TAccountingStrategyDetail.class)
@@ -316,10 +336,9 @@
    @PostMapping(value = "/auth/pageList")
    public AjaxResult<PageInfo<TAccountingStrategyVO>> authPageList(@RequestBody TAccountingStrategyQuery query) {
        return AjaxResult.ok(accountingStrategyService.pageList(query));
        return AjaxResult.ok(accountingStrategyService.pageList1(query));
    }
    @Resource
    private IntegrationClient integrationClient;
    @ApiOperation(tags = {"后台-申请表单-计费模板审核"},value = "审核")
    @PostMapping(value = "/auth/pass")
@@ -350,14 +369,24 @@
                    TAccountingStrategy one = accountingStrategyService.lambdaQuery().eq(TAccountingStrategy::getId, byId.getParentId()).one();
                    byId.setSiteId(one.getSiteId());
                    //将site表对应的模板id修改为新的这个
                    Site byId1 = siteService.getById(one.getSiteId());
                    byId1.setAccountingStrategyId(byId.getId());
                    siteService.updateById(byId1);
                    List<Site> list = siteService.lambdaQuery().eq(Site::getAccountingStrategyId, one.getId()).list();
                    for (Site site : list) {
                        site.setAccountingStrategyId(byId.getId());
                    }
                    siteService.updateBatchById(list);
                    //
                    //
                    accountingStrategyService.removeById(one.getId());
                }
                //硬件
                List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailService.list(new LambdaQueryWrapper<TAccountingStrategyDetail>().eq(TAccountingStrategyDetail::getAccountingStrategyId, byId.getId()));
                List<TChargingPile> list = chargingPileService.lambdaQuery().eq(TChargingPile::getSiteId, byId.getSiteId()).list();
                for (TChargingPile tChargingPile : list) {
                    integrationClient.setupBillingModel1(tChargingPile.getCode());
                    integrationClient.setupBillingModel1(tChargingPile.getCode(), JSON.toJSONString(accountingStrategyDetails));
                }
            }
        }else {
@@ -367,6 +396,7 @@
            }else if (byId.getAuditStatus()==2){
                byId.setTwoRemark(steategyPassDto.getRemark());
                byId.setTwoAuditTime(LocalDateTime.now());
            }
            byId.setAuditStatus(4);