package com.landtool.lanbase.modules.spcData.controller;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.alibaba.druid.support.json.JSONUtils;
|
import com.alibaba.druid.util.StringUtils;
|
import com.alibaba.fastjson.JSON;
|
import com.google.gson.Gson;
|
import com.landtool.lanbase.common.utils.Result;
|
import com.landtool.lanbase.modules.spcData.entity.SpcDataMenu;
|
import com.landtool.lanbase.modules.spcData.entity.SpcMetadata;
|
import com.landtool.lanbase.modules.spcData.service.SpcDataService;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.io.File;
|
import java.io.FileReader;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@RestController
|
@RequestMapping("/spcData")
|
public class SpcDataController {
|
|
@Autowired
|
private SpcDataService spcDataService;
|
|
@RequestMapping("/queryMenu")
|
// @RequiresPermissions(value="role:ztsj:list")
|
public Result queryMenu() {
|
|
List<SpcDataMenu> spcDataMenuList = spcDataService.queryMenu();
|
|
return Result.ok().put("Menu", spcDataMenuList);
|
|
}
|
|
@RequestMapping("/addMenu")
|
// @RequiresPermissions(value="role:ztsj:edit")
|
public Result addSpcDataMenu(@RequestBody SpcDataMenu spcDataMenu) {
|
|
spcDataService.addSpcDataMenu(spcDataMenu);
|
|
return Result.ok();
|
|
}
|
|
@RequestMapping("/delMenu")
|
// @RequiresPermissions(value="role:ztsj:edit")
|
public Result delSpcDataMenu(@RequestBody List<Integer> idLists) {
|
|
if (CollectionUtil.isNotEmpty(idLists)) {
|
// 删除专题数据菜单
|
spcDataService.delSpcDataMenu(idLists);
|
// 删除菜单对应的元数据
|
spcDataService.delMetaDataByMenuS(idLists);
|
}
|
;
|
|
return Result.ok();
|
}
|
|
@RequestMapping("/modifySpcDataMenu")
|
// @RequiresPermissions(value="role:ztsj:edit")
|
public Result modifySpcDataMenu(@RequestBody SpcDataMenu spcDataMenu) {
|
|
spcDataService.modifySpcDataMenu(spcDataMenu);
|
|
return Result.ok();
|
}
|
|
@RequestMapping("/addMetaData")
|
// @RequiresPermissions(value="role:ztsj:edit")
|
public Result addMetaData(@RequestBody SpcMetadata spcMetadata) {
|
if(null==spcMetadata.getId()){
|
spcDataService.addMetaData(spcMetadata);
|
// 更新对应spc_data_menu:metadataId
|
SpcDataMenu spcDataMenu = new SpcDataMenu();
|
spcDataMenu.setMetadataId(spcMetadata.getId());
|
spcDataMenu.setId(spcMetadata.getMenuId());
|
spcDataService.modifySpcDataMenu(spcDataMenu);
|
return Result.ok();
|
}
|
spcDataService.modifyMetaData(spcMetadata);
|
return Result.ok();
|
}
|
|
@RequestMapping("/delMetaData")
|
// @RequiresPermissions(value="role:ztsj:edit")
|
public Result delMetaData(@RequestBody SpcMetadata spcMetadata) {
|
|
spcDataService.delMetaData(spcMetadata);
|
|
return Result.ok();
|
}
|
|
@RequestMapping("/modifyMetaData")
|
// @RequiresPermissions(value="role:ztsj:edit")
|
public Result modifyMetaData(@RequestBody SpcMetadata spcMetadata) {
|
|
spcDataService.modifyMetaData(spcMetadata);
|
|
return Result.ok();
|
|
}
|
|
@RequestMapping("/queryMetaData")
|
// @RequiresPermissions(value="role:ztsj:list")
|
public Result queryMetaData(@RequestBody SpcMetadata spcMetadata) {
|
|
SpcMetadata spcData = spcDataService.queryMetaData(spcMetadata);
|
spcData.setMenuId(spcMetadata.getMenuId());
|
return Result.ok().put("data", spcData);
|
|
}
|
|
|
@RequestMapping("/statistics")
|
// @RequiresPermissions(value="role:ztsj:list")
|
public Result getStatistics( String strName,Integer type) {
|
Map<String, Object> maps = spcDataService.getStatistics(strName,type);
|
return Result.ok().put("data", maps);
|
}
|
|
|
@RequestMapping("/getTbNums")
|
// @RequiresPermissions(value="role:ztsj:list")
|
public Result getTbNums(String strType,String strCount) {
|
List<SpcMetadata> spcMetadatas= spcDataService.queryMetaDatas();
|
Map<String, Integer> maps = new HashMap<>();
|
spcMetadatas.stream().forEach(
|
spcMetadata -> {
|
Map<String, String> sourceMap = (Map<String, String>) JSONUtils.parse(spcMetadata.getMetadata());
|
String type = sourceMap.get(strType);
|
String num = sourceMap.get(strCount);
|
Integer numCount=0;
|
if(!StringUtils.isEmpty(num)){
|
numCount=Integer.valueOf(num);
|
}
|
if(maps.containsKey(type)){
|
//已经存在累加
|
maps.put(type,maps.get(type)+numCount);
|
}else {
|
//第一次新增
|
maps.put(type,numCount);
|
}
|
}
|
);
|
|
return Result.ok().put("data", maps);
|
}
|
|
|
|
@RequestMapping("/test/addJson")
|
// @RequiresPermissions(value="role:ztsj:list")
|
public Result test() throws Exception {
|
SpcDataMenu spcDataMenu = new SpcDataMenu();
|
SpcMetadata spcMetadata = new SpcMetadata();
|
ArrayList<Map<String, Object>> arrayList = new ArrayList<>();
|
List<Map<String, Object>> list = new Gson().fromJson(new FileReader(new File("C:\\Users\\Lenovo\\Desktop\\menudata.json")), List.class);
|
for (Map<String, Object> map : list) {
|
HashMap<String, Object> param = new HashMap<>();
|
param.put("pId", (String) map.get("pId"));
|
param.put("oldId", map.get("id"));
|
spcDataMenu.setpId(0);
|
spcDataMenu.setName((String) map.get("name"));
|
spcDataMenu.setType(0);
|
spcDataMenu.setTableName((String) map.get("tableName"));
|
spcDataService.addSpcDataMenu(spcDataMenu);
|
param.put("id", spcDataMenu.getId());
|
spcMetadata.setMetadata(JSON.toJSONString(map.get("value")));
|
spcMetadata.setMenuId(spcDataMenu.getId());
|
spcDataService.addMetaData(spcMetadata);
|
spcDataMenu.setMetadataId(spcMetadata.getId());
|
spcDataMenu.setId(spcMetadata.getMenuId());
|
spcDataService.modifySpcDataMenu(spcDataMenu);
|
arrayList.add(param);
|
}
|
for (Map<String, Object> map : arrayList) {
|
Integer id = (Integer) map.get("id");
|
String oldId = (String) map.get("oldId");
|
String pId = (String) map.get("pId");
|
for (Map<String, Object> map2 : arrayList) {
|
String pId2 = (String) map2.get("pId");
|
if(StringUtils.equals(pId2,oldId)){
|
SpcDataMenu menu = new SpcDataMenu();
|
menu.setId((Integer) map2.get("id"));
|
menu.setpId(id);
|
spcDataService.modifySpcDataMenu(menu);
|
}
|
}
|
}
|
|
return null;
|
}
|
|
public static void main(String[] args) {
|
|
}
|
}
|