StatisticsFinancePageselectController.java 7.25 KB
package com.lhcredit.project.business.statisticsFinancePageselect.controller;

import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.stream.Collectors;

import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.lhcredit.common.utils.StringUtils;
import com.lhcredit.common.utils.security.ShiroUtils;
import com.lhcredit.project.business.frontDept.domain.FrontDept;
import com.lhcredit.project.business.frontDept.service.IFrontDeptService;
import com.lhcredit.project.business.statisticsFinancePageselect.domain.StatisticsFinancePageselectExcel;
import com.lhcredit.project.business.statisticsFinancePageselect.mapper.StatisticsFinancePageselectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import com.lhcredit.framework.aspectj.lang.annotation.Log;
import com.lhcredit.framework.aspectj.lang.enums.BusinessType;
import com.lhcredit.project.business.statisticsFinancePageselect.domain.StatisticsFinancePageselect;
import com.lhcredit.project.business.statisticsFinancePageselect.service.IStatisticsFinancePageselectService;
import com.lhcredit.framework.web.controller.BaseController;
import com.lhcredit.framework.web.page.TableDataInfo;
import com.lhcredit.framework.web.domain.AjaxResult;
import com.lhcredit.common.utils.poi.ExcelUtil;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;

/**
 * 前台财务调用统计信息操作处理
 *
 * @author lhcredit
 * @date 2025-03-03
 */
@Slf4j
@Controller
@RequestMapping("/business/statisticsFinancePageselect")
public class StatisticsFinancePageselectController extends BaseController {
    private String prefix = "business/statisticsFinancePageselect";

    @Autowired
    private IStatisticsFinancePageselectService statisticsFinancePageselectService;
    @Autowired
    private IFrontDeptService frontDeptService;
    @Autowired
    private StatisticsFinancePageselectMapper mapper;
    public void test(){
        List<StatisticsFinancePageselect> statisticsFinancePageselects = statisticsFinancePageselectService.selectStatisticsFinancePageselectList(null);
        for (StatisticsFinancePageselect statisticsFinancePageselect : statisticsFinancePageselects) {
            try{
                statisticsFinancePageselect.setOrgId(frontDeptService.getParentDept(statisticsFinancePageselect.getOrgId()).getId());
                statisticsFinancePageselectService.updateStatisticsFinancePageselect(statisticsFinancePageselect);
            }catch (Exception e){
                System.out.println(statisticsFinancePageselect.getOrgId());
                e.printStackTrace();
            }


        }
    }
    @RequiresPermissions("business:statisticsFinancePageselect:view")
    @GetMapping()
    public String statisticsFinancePageselect() {
        return prefix + "/statisticsFinancePageselect";
    }

    /**
     * 查询前台财务调用统计列表
     */
    @RequiresPermissions("business:statisticsFinancePageselect:list")
    @PostMapping("/list")
    @ResponseBody
    public TableDataInfo list(StatisticsFinancePageselect statisticsFinancePageselect) {
        test();
        startPage();
        List<StatisticsFinancePageselect> list = mapper.getList(statisticsFinancePageselect);
        TableDataInfo rspData = new TableDataInfo();
        rspData.setTotal(new PageInfo(list).getTotal());
        rspData.setCode(2000);
        rspData.setRows(statisticsFinancePageselectService.changeModel(list));
        return rspData;
    }


    /**
     * 导出前台财务调用统计列表
     */
    @RequiresPermissions("business:statisticsFinancePageselect:export")
    @Log(title = "前台财务调用统计", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    @ResponseBody
    public AjaxResult export(StatisticsFinancePageselect statisticsFinancePageselect) {
        List<StatisticsFinancePageselect> list = statisticsFinancePageselectService.selectStatisticsFinancePageselectList(statisticsFinancePageselect);
        statisticsFinancePageselectService.changeModel(list);
        List<StatisticsFinancePageselectExcel> list2=new ArrayList<>();
        for (StatisticsFinancePageselect pageselect : list) {
            StatisticsFinancePageselectExcel excel=new StatisticsFinancePageselectExcel();
            BeanUtils.copyProperties(pageselect,excel);
            excel.setOrgId(pageselect.getCreateBy());
            list2.add(excel);
        }
        ExcelUtil<StatisticsFinancePageselectExcel> util = new ExcelUtil<StatisticsFinancePageselectExcel>(StatisticsFinancePageselectExcel.class);
        return util.exportExcel(list2, "前台调用统计");
    }

    /**
     * 新增前台财务调用统计
     */
    @GetMapping("/add")
    public String add() {
        return prefix + "/add";
    }

    /**
     * 新增保存前台财务调用统计
     */
    @RequiresPermissions("business:statisticsFinancePageselect:add")
    @Log(title = "前台财务调用统计", businessType = BusinessType.INSERT)
    @PostMapping("/add")
    @ResponseBody
    public AjaxResult addSave(StatisticsFinancePageselect statisticsFinancePageselect) {
        statisticsFinancePageselect.setCreateBy(ShiroUtils.getLoginName());
        statisticsFinancePageselect.setCreateTime(new Date());
        statisticsFinancePageselect.setUpdateBy(ShiroUtils.getLoginName());
        statisticsFinancePageselect.setUpdateTime(new Date());
        return toAjax(statisticsFinancePageselectService.insertStatisticsFinancePageselect(statisticsFinancePageselect));
    }

    /**
     * 修改前台财务调用统计
     */
    @GetMapping("/edit/{id}")
    public String edit(@PathVariable("id") Integer id, ModelMap mmap) {
        StatisticsFinancePageselect statisticsFinancePageselect =statisticsFinancePageselectService.selectStatisticsFinancePageselectById(id);
        mmap.put("statisticsFinancePageselect", statisticsFinancePageselect);
        return prefix + "/edit";
    }

    /**
     * 修改保存前台财务调用统计
     */
    @RequiresPermissions("business:statisticsFinancePageselect:edit")
    @Log(title = "前台财务调用统计", businessType = BusinessType.UPDATE)
    @PostMapping("/edit")
    @ResponseBody
    public AjaxResult editSave(StatisticsFinancePageselect statisticsFinancePageselect) {
        statisticsFinancePageselect.setUpdateBy(ShiroUtils.getLoginName());
        statisticsFinancePageselect.setUpdateTime(new Date());
        return toAjax(statisticsFinancePageselectService.updateStatisticsFinancePageselect(statisticsFinancePageselect));
    }

    /**
     * 删除前台财务调用统计
     */
    @RequiresPermissions("business:statisticsFinancePageselect:remove")
    @Log(title = "前台财务调用统计", businessType = BusinessType.DELETE)
    @PostMapping("/remove")
    @ResponseBody
    public AjaxResult remove(String ids) {
        return toAjax(statisticsFinancePageselectService.deleteStatisticsFinancePageselectByIds(ids));
    }
}