From 01d08428dd6cd9dc518a9a2ecbcb1f0e82788068 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 09 十一月 2023 13:54:47 +0800
Subject: [PATCH] Changes11

---
 mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java |  100 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 84 insertions(+), 16 deletions(-)

diff --git a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
index 5c3169a..4d6a5dd 100644
--- a/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
+++ b/mes-basic/src/main/java/com/chinaztt/mes/basic/controller/ParamController.java
@@ -17,17 +17,17 @@
 
 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.template.ParamTemplate;
 import com.chinaztt.mes.common.wrapper.QueryWrapperUtil;
 import com.chinaztt.ztt.admin.api.entity.SysDictItem;
 import com.chinaztt.ztt.common.core.util.R;
@@ -59,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);
+	}
+
 	/**
 	 * 鍒嗛〉鏌ヨ
 	 *
@@ -71,11 +99,19 @@
 	@PreAuthorize("@pms.hasPermission('technology_param_view','product_workbench')")
 	public R getParamPage(Page page, ParamDTO param) {
 		List<SysDictItem> dict = dictUtils.getDict("technology_param");
-		System.out.println(dict);
-		Page page1 = paramService.page(page, QueryWrapperUtil.gen(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>all = new ArrayList<Map>();
+		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);
 			Optional.ofNullable(pojo.get("type")).ifPresent(o->{
 				pojo.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),pojo.get("type"))).collect(Collectors.toList()).get(0).getLabel());
@@ -83,30 +119,59 @@
 			QueryWrapper<Param>queryWrapper=new QueryWrapper<>();
 			queryWrapper.lambda().eq(Param::getParentId,pojo.get("id"));
 			List<Param> secondList = paramService.list(queryWrapper);
-			List<Map>secondMapList = new ArrayList<>();
+			//娌℃湁children鐩存帴娣诲姞
+			if(secondList.isEmpty()){
+				Map<String,Object> oneMap = new HashMap<>();
+				oneMap.put("code",pojo.get("code"));
+				oneMap.put("paramItem",pojo.get("parameterItem"));
+				oneMap.put("paramItemTwo","");
+				oneMap.put("paramItemThree","");
+				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->{
+				System.out.println("浜岀骇鏁版嵁--"+s);
 				Map second = JsonUtil.jsonToPojo(JsonUtil.jsonToString(s), Map.class);
 				Optional.ofNullable(second.get("type")).ifPresent(o->{
 					second.put("type",dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),second.get("type"))).collect(Collectors.toList()).get(0).getLabel());
 				});
-				System.out.println(second);
 				QueryWrapper<Param>queryWrapperSecond=new QueryWrapper<>();
 				queryWrapperSecond.lambda().eq(Param::getParentId,second.get("id"));
 				List<Param> third = paramService.getBaseMapper().selectList(queryWrapperSecond);
+				if(third.isEmpty()){
+					Param p = new Param();
+					p.setType(s.getType());
+					p.setParameterFormat(s.getParameterFormat());
+					p.setUnit(s.getUnit());
+					p.setParentId(s.getParentId());
+					third.add(p);
+				}
 				third.forEach(t->{
+					System.out.println("涓夌骇鏁版嵁--"+t);
 					Optional.ofNullable(t.getType()).ifPresent(o->{
 						t.setType(dict.stream().filter(d-> Objects.equals(String.valueOf(d.getValue()),t.getType())).collect(Collectors.toList()).get(0).getLabel());
 					});
+					Map<String,Object> allMap = new HashMap<>();
+					allMap.put("code",pojo.get("code"));
+					allMap.put("paramItem",StringUtils.defaultString((String) pojo.get("parameterItem"),""));
+					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);
 				});
-				System.out.println(third);
-				second.put("children",third);
-				secondMapList.add(second);
 			});
-			pojo.put("children",secondMapList);
-			all.add(pojo);
 		});
-		page1.setRecords(all);
-		return R.ok(page1);
+		return all;
 	}
 
 	/**
@@ -186,9 +251,12 @@
 	 * @return
 	 */
 	@PostMapping("/upload")
+	@ApiOperation(value = "瀵煎叆", notes = "瀵煎叆")
 	public R upload(@RequestParam("file") MultipartFile file) {
 		try {
-			EasyExcel.read(file.getInputStream(), ParamData.class, new ParamUploadListener(paramService)).sheet().doRead();
+//			EasyExcel.read(file.getInputStream(), ParamTemplate.class, new ExcelListener<ParamTemplate>()).sheet().doRead();
+			List<ParamTemplate> paramTemplates = EasyExcelUtils.readModelExcel(ParamTemplate.class, file);
+			paramService.importExcelPlus(paramTemplates);
 		} catch (IOException e) {
 			e.printStackTrace();
 		}

--
Gitblit v1.9.3