黎星凯
2024-04-15 62b6a7fac3f2acde70b578431147c4a01f19c182
consum-base/src/main/java/com/consum/base/controller/DepFormScrappedController.java
@@ -1,38 +1,41 @@
package com.consum.base.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ReflectUtil;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.LDeptFormScrappedParam;
import com.consum.base.pojo.query.LDeptFormScrappedQry;
import com.consum.base.service.DepFormScrappedServiceImpl;
import com.consum.model.po.FinSysTenantUser;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.pojo.LDeptFormScrappedParam;
import com.consum.base.pojo.query.LDeptFormScrappedQry;
import com.consum.base.service.DepFormScrappedService;
import com.consum.model.po.FinSysTenantUser;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ReflectUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
/**
 * @ClassName DepFormScrappedController
@@ -41,34 +44,34 @@
 * @Description
 * @Version 1.0
 **/
@Api(value = "库管员", tags = "库管员")
@Api(value = "部门报废", tags = "部门报废")
@RestController
@RequestMapping("/pc/l/wh/form/scrapped")
public class DepFormScrappedController extends BaseController {
    @Resource
    private DepFormScrappedServiceImpl depFormScrappedService;
    private DepFormScrappedService depFormScrappedService;
    @ApiOperation(value = "新增报废单", notes = "新增报废单")
    @PostMapping("/deptAdd")
    public ResponseValue deptAdd() {
    public ResponseValue deptAdd() throws Exception {
        LDeptFormScrappedParam param = CommonUtil.getObjFromReqBody(LDeptFormScrappedParam.class);
        LDeptFormScrappedParam query = new LDeptFormScrappedParam();
        CommonUtil.copyProperties(param, query);
        param = query;
        FinSysTenantUser sysInfo = this.getSysInfo();
        return depFormScrappedService.add(param, this.getCurrentUser(), sysInfo);
        depFormScrappedService.add(param, this.getCurrentUser(), sysInfo);
        return ResponseValue.success();
    }
    /**
     * @Description 列表查询
     * 1.查询报废单 2.查询报废单物品
     * @Description 列表查询 1.查询报废单 2.查询报废单物品
     * @Date
     */
    @ApiOperation(value = "列表查询", notes = "列表查询")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "param", value = "查询条件", dataType = "LWhFormScrappedQry", paramType = "query")
    })
        @ApiImplicitParam(name = "param", value = "查询条件", dataType = "LWhFormScrappedQry", paramType = "query")})
    @GetMapping("/deptList")
    public ResponseValue queryList() {
        LDeptFormScrappedQry param = CommonUtil.getObjFromReq(LDeptFormScrappedQry.class);
@@ -119,7 +122,7 @@
            } else {
                // 如果id在合并数据中已存在,则将k3追加到已存在记录的k3列表中
                Map<String, Object> mergedMap = mergedDataMap.get(id);
                ArrayList<HashMap> goodsList = (ArrayList<HashMap>) mergedMap.get("goods");
                ArrayList<HashMap> goodsList = (ArrayList<HashMap>)mergedMap.get("goods");
                goodsList.add(hashMap);
            }
        }
@@ -131,9 +134,7 @@
     * @Description 根据id查询详情
     */
    @ApiOperation(value = "根据id查询详情", notes = "根据id查询详情")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query")
    })
    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query")})
    @GetMapping("/deptDetail")
    public ResponseValue getById(Long id) {
        if (id == null) {
@@ -143,11 +144,9 @@
    }
    @ApiOperation(value = "导出报废单", notes = "导出报废单")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query")
    })
    @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "报废单id", dataType = "Long", paramType = "query")})
    @GetMapping("/deptList/export")
    public void export(Long id, HttpServletResponse response) throws Exception {
    public ResponseValue<String> export(Long id, HttpServletResponse response) throws Exception {
        if (id == null) {
            throw new RuntimeException("报废单id为空");
        }
@@ -171,18 +170,19 @@
        map.put("code", businessFormCode);
        map.put("date", DateUtils.toShowDate(dealTime));
        map.put("name", operatorName);
        map.put("countNum", 0);
        map.put("totalAmount", 0);
        map.put("dataList", export);
        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map);
        // 设置响应头
        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
        response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("部门报废单.xlsx", "utf-8"));
        try (OutputStream outputStream = response.getOutputStream()) {
            workbook.write(outputStream);
            workbook.close();
        }
//        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
//        response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("部门报废单.xlsx", "utf-8"));
//        try (OutputStream outputStream = response.getOutputStream()) {
//            workbook.write(outputStream);
//            workbook.close();
//        }
        String filePath = downLoadExcel("采购入库单", workbook);
        return ResponseValue.success("导出成功", filePath);
    }
    @GetMapping("/deptListByModel")
@@ -207,61 +207,24 @@
        return ResponseValue.success(export);
    }
//    public static void main(String[] args) {
//        TemplateExportParams exportParams = new TemplateExportParams("D:\\MyProjects\\jmy\\低值易耗品\\low-consum-manage\\deploy-jar-single\\src\\main\\resources\\import\\deptScrapped.xlsx");
//        exportParams.setHeadingStartRow(2);
//
//        List<Map<String, Object>> export = new ArrayList<>();
//
//        // 创建第一条数据
//        Map<String, Object> data1 = new HashMap<>();
//        data1.put("agencyName", 1);
//        data1.put("baseGoodsTemplateName", "Bob");
//        data1.put("scrappedName", "Bob");
//        data1.put("bz", "Bob");
//        data1.put("baseGoodsModelsName", 30);
//        data1.put("counts", 30);
//        data1.put("totalPrice", 30);
//        export.add(data1);
//
//        // 创建第二条数据
//        Map<String, Object> data2 = new HashMap<>();
//        data2.put("agencyName", 2);
//        data2.put("baseGoodsTemplateName", "Bob");
//        data2.put("scrappedName", "Bob");
//        data2.put("bz", "Bob");
//        data2.put("baseGoodsModelsName", 30);
//        data2.put("counts", 30);
//        data2.put("totalPrice", 30);
//        export.add(data2);
//
//
//        Map<String, Object> map = new HashMap<>();
//        map.put("code", "2023");
//        map.put("date", "2023");
//        map.put("name", "operatorName");
//        map.put("countNum", 0);
//        map.put("totalAmount", 0);
//        map.put("maplist", export);
//
//        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map);
//
//        File file = new File("C:\\Users\\cy\\Desktop\\新建文件夹");
//        OutputStream stream = null;
//        try {
//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd");
//            stream = new FileOutputStream(new File(file, "机构客户信息表.xls"));
//            //document.write(stream);
//            workbook.write(stream);
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            if (stream != null) ;
//            try {
//                stream.close();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//    }
    @GetMapping("/deptListByModel2")
    public ResponseValue deptListByModel2() {
        LDeptFormScrappedQry param = CommonUtil.getObjFromReq(LDeptFormScrappedQry.class);
        LDeptFormScrappedQry query = new LDeptFormScrappedQry();
        CommonUtil.copyProperties(param, query);
        param = query;
        FinSysTenantUser sysInfo = getSysInfo();
        if (sysInfo == null) {
            throw new RuntimeException("登录用户信息不存在");
        }
        /*当前登录人只能看到自己机构下的列表*/
        String tenantId = sysInfo.getTenantId();
        String paramAgencyId = param.getAgencyId();
        if (StringUtils.isEmpty(paramAgencyId) || !paramAgencyId.startsWith(tenantId)) {
            param.setAgencyId(tenantId);
        }
        return ResponseValue.success(depFormScrappedService.listByModel2(param));
    }
}