Fixiaobai
2023-11-09 01d08428dd6cd9dc518a9a2ecbcb1f0e82788068
mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
@@ -17,20 +17,16 @@
package com.chinaztt.mes.basic.controller;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaztt.mes.basic.dto.ParamDTO;
import com.chinaztt.mes.basic.dto.ParamPlusDto;
import com.chinaztt.mes.basic.entity.Param;
import com.chinaztt.mes.basic.excel.ParamData;
import com.chinaztt.mes.basic.excel.ParamUploadListener;
import com.chinaztt.mes.basic.service.ParamService;
import com.chinaztt.mes.basic.util.DictUtils;
import com.chinaztt.mes.common.util.JsonUtil;
import com.chinaztt.mes.common.util.StringUtils;
import com.chinaztt.mes.common.util.easyexcel.EasyExcelUtils;
import com.chinaztt.mes.common.util.easyexcel.ExcelListener;
import com.chinaztt.mes.common.util.easyexcel.template.ParamTemplate;
import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
import com.chinaztt.ztt.admin.api.entity.SysDictItem;
@@ -43,7 +39,6 @@
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
@@ -64,6 +59,34 @@
   private final ParamService paramService;
   private DictUtils dictUtils;
   @ApiOperation(value = "分页模板查询", notes = "分页查询")
   @GetMapping("/pageInModel")
   @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')")
   public R getParamPageInModel(Page page, ParamDTO param) {
      QueryWrapper<Param> gen = QueryWrapperUtil.gen(param);
      gen.lambda().eq(Param::getParentId,0L);
      return R.ok(paramService.page(page, gen));
   }
   @ApiOperation(value = "工艺绑定查询", notes = "查询")
   @PostMapping("/pageInId")
   @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')")
   public R getParamPageInId(Page page, @RequestParam("idList") List<Long>idList) {
      System.out.println(idList);
      QueryWrapper<Param> gen = new QueryWrapper<>();
      gen.lambda().in(Param::getId,idList);
      List<SysDictItem> dict = dictUtils.getDict("technology_param");
      Page page1 = paramService.page(page, gen);
      List records = page1.getRecords();
      List<Map<String, Object>> tree = getTree(records, dict);
      page1.setRecords(tree);
      return R.ok(page1);
   }
   /**
    * 分页查询
    *
@@ -75,12 +98,18 @@
   @GetMapping("/page")
   @PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')")
   public R getParamPage(Page page, ParamDTO param) {
      List<Map<String,Object>> all = new ArrayList<>();
      List<SysDictItem> dict = dictUtils.getDict("technology_param");
      QueryWrapper<Param> gen = QueryWrapperUtil.gen(param);
      gen.lambda().eq(Param::getParentId,0L);
      Page page1 = paramService.page(page, gen);
      List records = page1.getRecords();
      List<Map<String, Object>> tree = getTree(records, dict);
      page1.setRecords(tree);
      return R.ok(page1);
   }
   public List<Map<String,Object>> getTree(List records,List<SysDictItem> dict){
      List<Map<String,Object>> all = new ArrayList<>();
      records.forEach(l->{
         System.out.println("一级数据--"+l);
         Map pojo = JsonUtil.jsonToPojo(JsonUtil.jsonToString(l), Map.class);
@@ -97,10 +126,11 @@
            oneMap.put("paramItem",pojo.get("parameterItem"));
            oneMap.put("paramItemTwo","");
            oneMap.put("paramItemThree","");
            oneMap.put("oneId",pojo.get("id"));
            oneMap.put("oneId",StringUtils.defaultString( String.valueOf(pojo.get("id")),""));
            oneMap.put("paramType",StringUtils.defaultString((String) pojo.get("type"),""));
            oneMap.put("paramFormat",StringUtils.defaultString((String) pojo.get("parameterFormat"),""));
            oneMap.put("unit",StringUtils.defaultString((String) pojo.get("unit"),""));
            oneMap.put("parentId",pojo.get("parentId"));
            all.add(oneMap);
         }
         secondList.forEach(s->{
@@ -117,6 +147,7 @@
               p.setType(s.getType());
               p.setParameterFormat(s.getParameterFormat());
               p.setUnit(s.getUnit());
               p.setParentId(s.getParentId());
               third.add(p);
            }
            third.forEach(t->{
@@ -127,20 +158,20 @@
               Map<String,Object> allMap = new HashMap<>();
               allMap.put("code",pojo.get("code"));
               allMap.put("paramItem",StringUtils.defaultString((String) pojo.get("parameterItem"),""));
               allMap.put("oneId",pojo.get("id"));
               allMap.put("twoId",second.get("id"));
               allMap.put("threeId",t.getId());
               allMap.put("oneId",StringUtils.defaultString( String.valueOf(pojo.get("id")),""));
               allMap.put("twoId",StringUtils.defaultString( String.valueOf(second.get("id")) ,""));
               allMap.put("threeId",StringUtils.defaultString(String.valueOf(t.getId()),""));
               allMap.put("paramItemTwo",StringUtils.defaultString((String) second.get("parameterItem"),""));
               allMap.put("paramItemThree",StringUtils.defaultString(t.getParameterItem(),""));
               allMap.put("paramType",StringUtils.defaultString(t.getType(),""));
               allMap.put("paramFormat",StringUtils.defaultString(t.getParameterFormat(),""));
               allMap.put("unit", StringUtils.defaultString(t.getUnit(),""));
               allMap.put("parentId",t.getParentId());
               all.add(allMap);
            });
         });
      });
      page1.setRecords(all);
      return R.ok(page1);
      return all;
   }
   /**
@@ -224,7 +255,8 @@
   public R upload(@RequestParam("file") MultipartFile file) {
      try {
//         EasyExcel.read(file.getInputStream(), ParamTemplate.class, new ExcelListener<ParamTemplate>()).sheet().doRead();
         EasyExcelUtils.readModelExcel(ParamTemplate.class,file);
         List<ParamTemplate> paramTemplates = EasyExcelUtils.readModelExcel(ParamTemplate.class, file);
         paramService.importExcelPlus(paramTemplates);
      } catch (IOException e) {
         e.printStackTrace();
      }