feat(front):自测问题修改;

master
jiyufei 3 months ago
parent b74e8bd5ed
commit d607fd5320

@ -57,4 +57,10 @@ public interface ParkService extends IService<ParkEntity> {
* @param status * @param status
*/ */
void updateStatus(String parkId, String status); void updateStatus(String parkId, String status);
/**
*
* @return
*/
List<ParkDTO> tree();
} }

@ -1,49 +1,38 @@
package jnpf.service.impl; package jnpf.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import cn.hutool.core.bean.BeanUtil;
import jnpf.entity.*;
import jnpf.mapper.ParkMapper;
import jnpf.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.model.park.*;
import java.math.BigDecimal;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import jnpf.permission.model.authorize.AuthorizeConditionModel;
import jnpf.util.GeneraterSwapUtil;
import jnpf.database.model.superQuery.SuperQueryJsonModel;
import jnpf.database.model.superQuery.ConditionJsonModel;
import jnpf.database.model.superQuery.SuperQueryConditionModel;
import java.lang.reflect.Field;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import java.util.regex.Pattern; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import jnpf.model.QueryModel;
import java.util.stream.Collectors;
import jnpf.base.model.ColumnDataModel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jnpf.base.UserInfo;
import jnpf.base.model.ColumnDataModel;
import jnpf.database.model.superQuery.SuperJsonModel; import jnpf.database.model.superQuery.SuperJsonModel;
import jnpf.entity.ParkEntity;
import jnpf.mapper.ParkMapper;
import jnpf.model.QueryModel;
import jnpf.model.park.ParkConstant;
import jnpf.model.park.ParkDTO;
import jnpf.model.park.ParkForm;
import jnpf.model.park.ParkPagination;
import jnpf.permission.entity.UserEntity;
import jnpf.service.ParkService;
import jnpf.util.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import java.text.SimpleDateFormat;
import jnpf.util.*; import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.*; import java.util.Collections;
import java.util.List;
import jnpf.base.UserInfo; import java.util.Map;
import jnpf.permission.entity.UserEntity; import java.util.stream.Collectors;
/** /**
* park * park
@ -344,4 +333,32 @@ public class ParkServiceImpl extends ServiceImpl<ParkMapper, ParkEntity> impleme
entity.setState(status); entity.setState(status);
this.updateById(entity); this.updateById(entity);
} }
@Override
public List<ParkDTO> tree() {
LambdaQueryWrapper<ParkEntity> wrapper = new LambdaQueryWrapper<>(ParkEntity.class)
.isNull(ParkEntity::getDeleteMark);
List<ParkEntity> list = this.list(wrapper);
if (CollectionUtils.isEmpty(list)) {
return Collections.emptyList();
}
String pid = "-1";
Map<String, List<ParkDTO>> map = list.stream()
.map(header -> BeanUtil.copyProperties(header, ParkDTO.class))
.collect(Collectors.groupingBy(ParkDTO::getPid));
List<ParkDTO> root = map.getOrDefault(pid, Collections.emptyList());
return buildTree(map, root);
}
private List<ParkDTO> buildTree(Map<String, List<ParkDTO>> map, List<ParkDTO> root) {
for (ParkDTO parkDTO : root) {
List<ParkDTO> list = map.get(parkDTO.getId());
if (CollectionUtils.isEmpty(list)) {
continue;
}
parkDTO.setChild(list);
buildTree(map, list);
}
return root;
}
} }

@ -84,7 +84,7 @@ public class ContractController {
contractMap.put("id", contractMap.get("id")); contractMap.put("id", contractMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
List<SpacecontractEntity> spacecontractList = contractService.getSpacecontractList(entity.getId(), contractPagination); List<SpacecontractEntity> spacecontractList = contractService.getSpacecontractList(entity.getContractNumber(), contractPagination);
contractMap.put("tableField130", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(spacecontractList))); contractMap.put("tableField130", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(spacecontractList)));
realList.add(contractMap); realList.add(contractMap);
} }
@ -368,7 +368,7 @@ public class ContractController {
contractMap.put("id", contractMap.get("id")); contractMap.put("id", contractMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
List<SpacecontractEntity> spacecontractList = contractService.getSpacecontractList(entity.getId()); List<SpacecontractEntity> spacecontractList = contractService.getSpacecontractList(entity.getContractNumber());
contractMap.put("tableField130", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(spacecontractList))); contractMap.put("tableField130", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(spacecontractList)));
contractMap = generaterSwapUtil.swapDataDetail(contractMap, ContractConstant.getFormData(), "582839350958489605", false); contractMap = generaterSwapUtil.swapDataDetail(contractMap, ContractConstant.getFormData(), "582839350958489605", false);
return ActionResult.success(contractMap); return ActionResult.success(contractMap);
@ -392,7 +392,7 @@ public class ContractController {
contractMap.put("id", contractMap.get("id")); contractMap.put("id", contractMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
List<SpacecontractEntity> spacecontractList = contractService.getSpacecontractList(entity.getId()); List<SpacecontractEntity> spacecontractList = contractService.getSpacecontractList(entity.getContractNumber());
contractMap.put("spacecontractList", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(spacecontractList))); contractMap.put("spacecontractList", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(spacecontractList)));
contractMap = generaterSwapUtil.swapDataForm(contractMap, ContractConstant.getFormData(), ContractConstant.TABLEFIELDKEY, ContractConstant.TABLERENAMES); contractMap = generaterSwapUtil.swapDataForm(contractMap, ContractConstant.getFormData(), ContractConstant.TABLEFIELDKEY, ContractConstant.TABLERENAMES);
return ActionResult.success(contractMap); return ActionResult.success(contractMap);

@ -15,16 +15,20 @@ import jnpf.model.park.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.*; import java.util.*;
import jnpf.annotation.JnpfField; import jnpf.annotation.JnpfField;
import jnpf.base.vo.PageListVO; import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO; import jnpf.base.vo.PaginationVO;
import jnpf.base.vo.DownloadVO; import jnpf.base.vo.DownloadVO;
import jnpf.config.ConfigValueUtil; import jnpf.config.ConfigValueUtil;
import jnpf.base.entity.ProvinceEntity; import jnpf.base.entity.ProvinceEntity;
import java.io.IOException; import java.io.IOException;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import jnpf.engine.entity.FlowTaskEntity; import jnpf.engine.entity.FlowTaskEntity;
import jnpf.exception.WorkFlowException; import jnpf.exception.WorkFlowException;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -36,7 +40,9 @@ import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
import java.io.File; import java.io.File;
import jnpf.onlinedev.model.ExcelImFieldModel; import jnpf.onlinedev.model.ExcelImFieldModel;
import jnpf.onlinedev.model.OnlineImport.ImportDataModel; import jnpf.onlinedev.model.OnlineImport.ImportDataModel;
import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel; import jnpf.onlinedev.model.OnlineImport.ImportFormCheckUniqueModel;
@ -51,6 +57,7 @@ import org.springframework.transaction.annotation.Transactional;
/** /**
* park * park
*
* @ V3.5 * @ V3.5
* @ https://www.jnpfsoft.com * @ https://www.jnpfsoft.com
* @ JNPF * @ JNPF
@ -58,7 +65,7 @@ import org.springframework.transaction.annotation.Transactional;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@Tag(name = "park" , description = "example") @Tag(name = "park", description = "example")
@RequestMapping("/api/example/Park") @RequestMapping("/api/example/Park")
public class ParkController { public class ParkController {
@ -72,30 +79,29 @@ public class ParkController {
private ParkService parkService; private ParkService parkService;
@Autowired @Autowired
private ConfigValueUtil configValueUtil; private ConfigValueUtil configValueUtil;
/** /**
* *
* *
* @param parkPagination * @param parkPagination
* @return * @return
*/ */
@Operation(summary = "获取列表") @Operation(summary = "获取列表")
@PostMapping("/getList") @PostMapping("/getList")
public ActionResult list(@RequestBody ParkPagination parkPagination)throws IOException{ public ActionResult list(@RequestBody ParkPagination parkPagination) throws IOException {
List<ParkEntity> list= parkService.getList(parkPagination); List<ParkEntity> list = parkService.getList(parkPagination);
List<Map<String, Object>> realList=new ArrayList<>(); List<Map<String, Object>> realList = new ArrayList<>();
for (ParkEntity entity : list) { for (ParkEntity entity : list) {
Map<String, Object> parkMap=JsonUtil.entityToMap(entity); Map<String, Object> parkMap = JsonUtil.entityToMap(entity);
parkMap.put("id", parkMap.get("id")); parkMap.put("id", parkMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
realList.add(parkMap); realList.add(parkMap);
} }
//数据转换 //数据转换
realList = generaterSwapUtil.swapDataList(realList, ParkConstant.getFormData(), ParkConstant.getColumnData(), parkPagination.getModuleId(),false); realList = generaterSwapUtil.swapDataList(realList, ParkConstant.getFormData(), ParkConstant.getColumnData(), parkPagination.getModuleId(), false);
//返回对象 //返回对象
PageListVO vo = new PageListVO(); PageListVO vo = new PageListVO();
@ -104,90 +110,92 @@ public class ParkController {
vo.setPagination(page); vo.setPagination(page);
return ActionResult.success(vo); return ActionResult.success(vo);
} }
/** /**
* *
* *
* @param parkForm * @param parkForm
* @return * @return
*/ */
@PostMapping() @PostMapping()
@Operation(summary = "创建") @Operation(summary = "创建")
public ActionResult create(@RequestBody @Valid ParkForm parkForm) { public ActionResult create(@RequestBody @Valid ParkForm parkForm) {
String b = parkService.checkForm(parkForm,0); String b = parkService.checkForm(parkForm, 0);
if (StringUtil.isNotEmpty(b)){ if (StringUtil.isNotEmpty(b)) {
return ActionResult.fail(b ); return ActionResult.fail(b);
} }
try{ try {
parkService.saveOrUpdate(parkForm, null ,true); parkService.saveOrUpdate(parkForm, null, true);
}catch(Exception e){ } catch (Exception e) {
return ActionResult.fail("新增数据失败"); return ActionResult.fail("新增数据失败");
} }
return ActionResult.success("创建成功"); return ActionResult.success("创建成功");
} }
/** /**
* Excel * Excel
* *
* @return * @return
*/ */
@Operation(summary = "导出Excel") @Operation(summary = "导出Excel")
@PostMapping("/Actions/Export") @PostMapping("/Actions/Export")
public ActionResult Export(@RequestBody ParkPagination parkPagination) throws IOException { public ActionResult Export(@RequestBody ParkPagination parkPagination) throws IOException {
if (StringUtil.isEmpty(parkPagination.getSelectKey())){ if (StringUtil.isEmpty(parkPagination.getSelectKey())) {
return ActionResult.fail("请选择导出字段"); return ActionResult.fail("请选择导出字段");
} }
List<ParkEntity> list= parkService.getList(parkPagination); List<ParkEntity> list = parkService.getList(parkPagination);
List<Map<String, Object>> realList=new ArrayList<>(); List<Map<String, Object>> realList = new ArrayList<>();
for (ParkEntity entity : list) { for (ParkEntity entity : list) {
Map<String, Object> parkMap=JsonUtil.entityToMap(entity); Map<String, Object> parkMap = JsonUtil.entityToMap(entity);
parkMap.put("id", parkMap.get("id")); parkMap.put("id", parkMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
realList.add(parkMap); realList.add(parkMap);
} }
//数据转换 //数据转换
realList = generaterSwapUtil.swapDataList(realList, ParkConstant.getFormData(), ParkConstant.getColumnData(), parkPagination.getModuleId(),false); realList = generaterSwapUtil.swapDataList(realList, ParkConstant.getFormData(), ParkConstant.getColumnData(), parkPagination.getModuleId(), false);
String[]keys=!StringUtil.isEmpty(parkPagination.getSelectKey())?parkPagination.getSelectKey():new String[0]; String[] keys = !StringUtil.isEmpty(parkPagination.getSelectKey()) ? parkPagination.getSelectKey() : new String[0];
UserInfo userInfo=userProvider.get(); UserInfo userInfo = userProvider.get();
DownloadVO vo=this.creatModelExcel(configValueUtil.getTemporaryFilePath(),realList,keys,userInfo); DownloadVO vo = this.creatModelExcel(configValueUtil.getTemporaryFilePath(), realList, keys, userInfo);
return ActionResult.success(vo); return ActionResult.success(vo);
} }
/** /**
* *
*/ */
public DownloadVO creatModelExcel(String path,List<Map<String, Object>>list,String[]keys,UserInfo userInfo){ public DownloadVO creatModelExcel(String path, List<Map<String, Object>> list, String[] keys, UserInfo userInfo) {
DownloadVO vo=DownloadVO.builder().build(); DownloadVO vo = DownloadVO.builder().build();
List<ExcelExportEntity> entitys=new ArrayList<>(); List<ExcelExportEntity> entitys = new ArrayList<>();
if(keys.length>0){ if (keys.length > 0) {
for(String key:keys){ for (String key : keys) {
switch(key){ switch (key) {
case "code" : case "code":
entitys.add(new ExcelExportEntity("园区编码" ,"code")); entitys.add(new ExcelExportEntity("园区编码", "code"));
break; break;
case "name" : case "name":
entitys.add(new ExcelExportEntity("园区名称" ,"name")); entitys.add(new ExcelExportEntity("园区名称", "name"));
break; break;
case "description" : case "description":
entitys.add(new ExcelExportEntity("园区描述" ,"description")); entitys.add(new ExcelExportEntity("园区描述", "description"));
break; break;
case "remark" : case "remark":
entitys.add(new ExcelExportEntity("备注" ,"remark")); entitys.add(new ExcelExportEntity("备注", "remark"));
break; break;
case "type" : case "type":
entitys.add(new ExcelExportEntity("类型" ,"type")); entitys.add(new ExcelExportEntity("类型", "type"));
break; break;
default: default:
break; break;
} }
} }
} }
ExportParams exportParams = new ExportParams(null, "表单信息"); ExportParams exportParams = new ExportParams(null, "表单信息");
exportParams.setType(ExcelType.XSSF); exportParams.setType(ExcelType.XSSF);
try{ try {
@Cleanup Workbook workbook = new HSSFWorkbook(); @Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){ if (entitys.size() > 0) {
if (list.size()==0){ if (list.size() == 0) {
list.add(new HashMap<>()); list.add(new HashMap<>());
} }
//去除空数据 //去除空数据
@ -197,8 +205,8 @@ public class ParkController {
for (String key : keys) { for (String key : keys) {
//子表 //子表
if (key.toLowerCase().startsWith("tablefield")) { if (key.toLowerCase().startsWith("tablefield")) {
String tableField = key.substring(0, key.indexOf("-" )); String tableField = key.substring(0, key.indexOf("-"));
String field = key.substring(key.indexOf("-" ) + 1); String field = key.substring(key.indexOf("-") + 1);
Object o = map.get(tableField); Object o = map.get(tableField);
if (o != null) { if (o != null) {
List<Map<String, Object>> childList = (List<Map<String, Object>>) o; List<Map<String, Object>> childList = (List<Map<String, Object>>) o;
@ -224,7 +232,7 @@ public class ParkController {
List<HeaderModel> complexHeaderList = columnDataModel.getComplexHeaderList(); List<HeaderModel> complexHeaderList = columnDataModel.getComplexHeaderList();
if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) {
entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList); entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList);
dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList); dataList = VisualUtils.complexHeaderDataHandel(dataList, complexHeaderList);
} }
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList); workbook = ExcelExportUtil.exportExcel(exportParams, entitys, dataList);
@ -241,6 +249,7 @@ public class ParkController {
} }
return vo; return vo;
} }
@Operation(summary = "上传文件") @Operation(summary = "上传文件")
@PostMapping("/Uploader") @PostMapping("/Uploader")
public ActionResult<Object> Uploader() { public ActionResult<Object> Uploader() {
@ -260,67 +269,67 @@ public class ParkController {
} }
/** /**
* *
* *
* @return * @return
*/ */
@Operation(summary = "模板下载") @Operation(summary = "模板下载")
@GetMapping("/TemplateDownload") @GetMapping("/TemplateDownload")
public ActionResult<DownloadVO> TemplateDownload(){ public ActionResult<DownloadVO> TemplateDownload() {
DownloadVO vo = DownloadVO.builder().build(); DownloadVO vo = DownloadVO.builder().build();
UserInfo userInfo = userProvider.get(); UserInfo userInfo = userProvider.get();
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
//主表对象 //主表对象
List<ExcelExportEntity> entitys = new ArrayList<>(); List<ExcelExportEntity> entitys = new ArrayList<>();
//以下添加字段 //以下添加字段
entitys.add(new ExcelExportEntity("园区编码" ,"code")); entitys.add(new ExcelExportEntity("园区编码", "code"));
entitys.add(new ExcelExportEntity("园区名称" ,"name")); entitys.add(new ExcelExportEntity("园区名称", "name"));
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
list.add(dataMap); list.add(dataMap);
ExportParams exportParams = new ExportParams(null, "园区管理模板"); ExportParams exportParams = new ExportParams(null, "园区管理模板");
exportParams.setType(ExcelType.XSSF); exportParams.setType(ExcelType.XSSF);
try{ try {
@Cleanup Workbook workbook = new HSSFWorkbook(); @Cleanup Workbook workbook = new HSSFWorkbook();
if (entitys.size()>0){ if (entitys.size() > 0) {
if (list.size()==0){ if (list.size() == 0) {
list.add(new HashMap<>()); list.add(new HashMap<>());
} }
//复杂表头-表头和数据处理 //复杂表头-表头和数据处理
ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(ParkConstant.getColumnData(), ColumnDataModel.class); ColumnDataModel columnDataModel = JsonUtil.getJsonToBean(ParkConstant.getColumnData(), ColumnDataModel.class);
List<HeaderModel> complexHeaderList = columnDataModel.getComplexHeaderList(); List<HeaderModel> complexHeaderList = columnDataModel.getComplexHeaderList();
if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) { if (!Objects.equals(columnDataModel.getType(), 3) && !Objects.equals(columnDataModel.getType(), 5)) {
entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList); entitys = VisualUtils.complexHeaderHandel(entitys, complexHeaderList);
list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList); list = VisualUtils.complexHeaderDataHandel(list, complexHeaderList);
} }
workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list); workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
} }
String fileName = "园区管理模板" + DateUtil.dateNow("yyyyMMddHHmmss") + ".xlsx"; String fileName = "园区管理模板" + DateUtil.dateNow("yyyyMMddHHmmss") + ".xlsx";
MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName);
String temporaryFilePath = configValueUtil.getTemporaryFilePath(); String temporaryFilePath = configValueUtil.getTemporaryFilePath();
FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName);
vo.setName(fileInfo.getFilename()); vo.setName(fileInfo.getFilename());
vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName);
} catch (Exception e) { } catch (Exception e) {
log.error("模板信息导出Excel错误:{}", e.getMessage()); log.error("模板信息导出Excel错误:{}", e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
return ActionResult.success(vo); return ActionResult.success(vo);
} }
/** /**
* *
* *
* @return * @return
*/ */
@Operation(summary = "导入预览" ) @Operation(summary = "导入预览")
@GetMapping("/ImportPreview") @GetMapping("/ImportPreview")
public ActionResult<Map<String, Object>> ImportPreview(String fileName) throws Exception { public ActionResult<Map<String, Object>> ImportPreview(String fileName) throws Exception {
Map<String, Object> headAndDataMap = new HashMap<>(2); Map<String, Object> headAndDataMap = new HashMap<>(2);
String filePath = FileUploadUtils.getLocalBasePath() + configValueUtil.getTemporaryFilePath(); String filePath = FileUploadUtils.getLocalBasePath() + configValueUtil.getTemporaryFilePath();
FileUploadUtils.downLocal(configValueUtil.getTemporaryFilePath(), filePath, fileName); FileUploadUtils.downLocal(configValueUtil.getTemporaryFilePath(), filePath, fileName);
File temporary = new File(XSSEscape.escapePath(filePath + fileName)); File temporary = new File(XSSEscape.escapePath(filePath + fileName));
int headerRowIndex = 1; int headerRowIndex = 1;
ImportParams params = new ImportParams(); ImportParams params = new ImportParams();
params.setTitleRows(0); params.setTitleRows(0);
params.setHeadRows(headerRowIndex); params.setHeadRows(headerRowIndex);
@ -329,11 +338,11 @@ public class ParkController {
List<ParkExcelVO> excelDataList = ExcelImportUtil.importExcel(temporary, ParkExcelVO.class, params); List<ParkExcelVO> excelDataList = ExcelImportUtil.importExcel(temporary, ParkExcelVO.class, params);
// 导入字段 // 导入字段
List<ExcelImFieldModel> columns = new ArrayList<>(); List<ExcelImFieldModel> columns = new ArrayList<>();
columns.add(new ExcelImFieldModel("code","园区编码")); columns.add(new ExcelImFieldModel("code", "园区编码"));
columns.add(new ExcelImFieldModel("name","园区名称")); columns.add(new ExcelImFieldModel("name", "园区名称"));
headAndDataMap.put("dataRow" , JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(excelDataList))); headAndDataMap.put("dataRow", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(excelDataList)));
headAndDataMap.put("headerRow" , JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(columns))); headAndDataMap.put("headerRow", JsonUtil.getJsonToList(JsonUtil.getListToJsonArray(columns)));
} catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ActionResult.fail("表头名称不可更改,表头行不能删除"); return ActionResult.fail("表头名称不可更改,表头行不能删除");
} }
@ -341,170 +350,185 @@ public class ParkController {
} }
/** /**
* *
* *
* @return * @return
*/ */
@Operation(summary = "导入数据" ) @Operation(summary = "导入数据")
@PostMapping("/ImportData") @PostMapping("/ImportData")
public ActionResult<ExcelImportModel> ImportData(@RequestBody VisualImportModel visualImportModel) throws Exception { public ActionResult<ExcelImportModel> ImportData(@RequestBody VisualImportModel visualImportModel) throws Exception {
List<Map<String, Object>> listData=new ArrayList<>(); List<Map<String, Object>> listData = new ArrayList<>();
for(Map<String, Object> map : visualImportModel.getList()){ for (Map<String, Object> map : visualImportModel.getList()) {
listData.add(map); listData.add(map);
} }
ImportFormCheckUniqueModel uniqueModel = new ImportFormCheckUniqueModel(); ImportFormCheckUniqueModel uniqueModel = new ImportFormCheckUniqueModel();
uniqueModel.setDbLinkId(ParkConstant.DBLINKID); uniqueModel.setDbLinkId(ParkConstant.DBLINKID);
uniqueModel.setUpdate(Objects.equals("1", "2")); uniqueModel.setUpdate(Objects.equals("1", "2"));
ExcelImportModel excelImportModel = generaterSwapUtil.importData(ParkConstant.getFormData(),listData,uniqueModel, ExcelImportModel excelImportModel = generaterSwapUtil.importData(ParkConstant.getFormData(), listData, uniqueModel,
ParkConstant.TABLEFIELDKEY,ParkConstant.getTableList()); ParkConstant.TABLEFIELDKEY, ParkConstant.getTableList());
List<ImportDataModel> importDataModel = uniqueModel.getImportDataModel(); List<ImportDataModel> importDataModel = uniqueModel.getImportDataModel();
for (ImportDataModel model : importDataModel) { for (ImportDataModel model : importDataModel) {
String id = model.getId(); String id = model.getId();
Map<String, Object> result = model.getResultData(); Map<String, Object> result = model.getResultData();
if(StringUtil.isNotEmpty(id)){ if (StringUtil.isNotEmpty(id)) {
update(id, JsonUtil.getJsonToBean(result,ParkForm.class), true); update(id, JsonUtil.getJsonToBean(result, ParkForm.class), true);
}else { } else {
create( JsonUtil.getJsonToBean(result,ParkForm.class)); create(JsonUtil.getJsonToBean(result, ParkForm.class));
} }
} }
return ActionResult.success(excelImportModel); return ActionResult.success(excelImportModel);
} }
/** /**
* *
* *
* @return * @return
*/ */
@Operation(summary = "导出异常报告") @Operation(summary = "导出异常报告")
@PostMapping("/ImportExceptionData") @PostMapping("/ImportExceptionData")
public ActionResult<DownloadVO> ImportExceptionData(@RequestBody VisualImportModel visualImportModel) { public ActionResult<DownloadVO> ImportExceptionData(@RequestBody VisualImportModel visualImportModel) {
DownloadVO vo=DownloadVO.builder().build(); DownloadVO vo = DownloadVO.builder().build();
List<ParkExcelErrorVO> parkVOList = JsonUtil.getJsonToList(visualImportModel.getList(), ParkExcelErrorVO.class); List<ParkExcelErrorVO> parkVOList = JsonUtil.getJsonToList(visualImportModel.getList(), ParkExcelErrorVO.class);
UserInfo userInfo = userProvider.get(); UserInfo userInfo = userProvider.get();
try{ try {
@Cleanup Workbook workbook = new HSSFWorkbook(); @Cleanup Workbook workbook = new HSSFWorkbook();
ExportParams exportParams = new ExportParams(null, "错误报告"); ExportParams exportParams = new ExportParams(null, "错误报告");
exportParams.setType(ExcelType.XSSF); exportParams.setType(ExcelType.XSSF);
workbook = ExcelExportUtil.exportExcel(exportParams, workbook = ExcelExportUtil.exportExcel(exportParams,
ParkExcelErrorVO.class, parkVOList); ParkExcelErrorVO.class, parkVOList);
String fileName = "错误报告" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx"; String fileName = "错误报告" + DateUtil.dateNow("yyyyMMdd") + "_" + RandomUtil.uuId() + ".xlsx";
MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName); MultipartFile multipartFile = ExcelUtil.workbookToCommonsMultipartFile(workbook, fileName);
String temporaryFilePath = configValueUtil.getTemporaryFilePath(); String temporaryFilePath = configValueUtil.getTemporaryFilePath();
FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName); FileInfo fileInfo = FileUploadUtils.uploadFile(multipartFile, temporaryFilePath, fileName);
vo.setName(fileInfo.getFilename()); vo.setName(fileInfo.getFilename());
vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName); vo.setUrl(UploaderUtil.uploaderFile(fileInfo.getFilename() + "#" + "Temporary") + "&name=" + fileName);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return ActionResult.success(vo); return ActionResult.success(vo);
} }
/** /**
* *
* @param ids *
* @return * @param ids
*/ * @return
*/
@DeleteMapping("/batchRemove") @DeleteMapping("/batchRemove")
@Transactional @Transactional
@Operation(summary = "批量删除") @Operation(summary = "批量删除")
public ActionResult batchRemove(@RequestBody String ids){ public ActionResult batchRemove(@RequestBody String ids) {
List<String> idList = JsonUtil.getJsonToList(ids, String.class); List<String> idList = JsonUtil.getJsonToList(ids, String.class);
int i =0; int i = 0;
for (String allId : idList){ for (String allId : idList) {
this.delete(allId); this.delete(allId);
i++; i++;
} }
if (i == 0 ){ if (i == 0) {
return ActionResult.fail("删除失败"); return ActionResult.fail("删除失败");
} }
return ActionResult.success("删除成功"); return ActionResult.success("删除成功");
} }
/** /**
* *
* @param id *
* @param parkForm * @param id
* @return * @param parkForm
*/ * @return
*/
@PutMapping("/{id}") @PutMapping("/{id}")
@Operation(summary = "更新") @Operation(summary = "更新")
public ActionResult update(@PathVariable("id") String id,@RequestBody @Valid ParkForm parkForm, public ActionResult update(@PathVariable("id") String id, @RequestBody @Valid ParkForm parkForm,
@RequestParam(value = "isImport", required = false) boolean isImport){ @RequestParam(value = "isImport", required = false) boolean isImport) {
parkForm.setId(id); parkForm.setId(id);
if (!isImport) { if (!isImport) {
String b = parkService.checkForm(parkForm,1); String b = parkService.checkForm(parkForm, 1);
if (StringUtil.isNotEmpty(b)){ if (StringUtil.isNotEmpty(b)) {
return ActionResult.fail(b ); return ActionResult.fail(b);
} }
} }
ParkEntity entity= parkService.getInfo(id); ParkEntity entity = parkService.getInfo(id);
if(entity!=null){ if (entity != null) {
try{ try {
parkService.saveOrUpdate(parkForm,id,false); parkService.saveOrUpdate(parkForm, id, false);
}catch(Exception e){ } catch (Exception e) {
return ActionResult.fail("修改数据失败"); return ActionResult.fail("修改数据失败");
} }
return ActionResult.success("更新成功"); return ActionResult.success("更新成功");
}else{ } else {
return ActionResult.fail("更新失败,数据不存在"); return ActionResult.fail("更新失败,数据不存在");
} }
} }
/** /**
* *
* @param id *
* @return * @param id
*/ * @return
*/
@Operation(summary = "删除") @Operation(summary = "删除")
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
@Transactional @Transactional
public ActionResult delete(@PathVariable("id") String id){ public ActionResult delete(@PathVariable("id") String id) {
ParkEntity entity= parkService.getInfo(id); ParkEntity entity = parkService.getInfo(id);
if(entity!=null){ if (entity != null) {
//假删除 //假删除
entity.setDeleteMark(1); entity.setDeleteMark(1);
parkService.update(id,entity); parkService.update(id, entity);
} }
return ActionResult.success("删除成功"); return ActionResult.success("删除成功");
} }
/** /**
* () * ()
* 使- * 使-
* @param id *
* @return * @param id
*/ * @return
*/
@Operation(summary = "表单信息(详情页)") @Operation(summary = "表单信息(详情页)")
@GetMapping("/detail/{id}") @GetMapping("/detail/{id}")
public ActionResult detailInfo(@PathVariable("id") String id){ public ActionResult detailInfo(@PathVariable("id") String id) {
ParkEntity entity= parkService.getInfo(id); ParkEntity entity = parkService.getInfo(id);
if(entity==null){ if (entity == null) {
return ActionResult.fail("表单数据不存在!"); return ActionResult.fail("表单数据不存在!");
} }
Map<String, Object> parkMap=JsonUtil.entityToMap(entity); Map<String, Object> parkMap = JsonUtil.entityToMap(entity);
parkMap.put("id", parkMap.get("id")); parkMap.put("id", parkMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
parkMap = generaterSwapUtil.swapDataDetail(parkMap,ParkConstant.getFormData(),"581462239718932549",false); parkMap = generaterSwapUtil.swapDataDetail(parkMap, ParkConstant.getFormData(), "581462239718932549", false);
return ActionResult.success(parkMap); return ActionResult.success(parkMap);
} }
/** /**
* () * ()
* 使- * 使-
* @param id *
* @return * @param id
*/ * @return
*/
@Operation(summary = "信息") @Operation(summary = "信息")
@GetMapping("/{id}") @GetMapping("/{id}")
public ActionResult info(@PathVariable("id") String id){ public ActionResult info(@PathVariable("id") String id) {
ParkEntity entity= parkService.getInfo(id); ParkEntity entity = parkService.getInfo(id);
if(entity==null){ if (entity == null) {
return ActionResult.fail("表单数据不存在!"); return ActionResult.fail("表单数据不存在!");
} }
Map<String, Object> parkMap=JsonUtil.entityToMap(entity); Map<String, Object> parkMap = JsonUtil.entityToMap(entity);
parkMap.put("id", parkMap.get("id")); parkMap.put("id", parkMap.get("id"));
//副表数据 //副表数据
//子表数据 //子表数据
parkMap = generaterSwapUtil.swapDataForm(parkMap,ParkConstant.getFormData(),ParkConstant.TABLEFIELDKEY,ParkConstant.TABLERENAMES); parkMap = generaterSwapUtil.swapDataForm(parkMap, ParkConstant.getFormData(), ParkConstant.TABLEFIELDKEY, ParkConstant.TABLERENAMES);
return ActionResult.success(parkMap); return ActionResult.success(parkMap);
} }
@Operation(summary = "数据树形结构")
@GetMapping("/tree")
public ActionResult tree() {
return ActionResult.success(parkService.tree());
}
} }

@ -0,0 +1,56 @@
package jnpf.model.park;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@Data
public class ParkDTO implements Serializable {
/**
* id
*/
private String id;
/**
*
*/
private String code;
/**
*
*/
private String name;
/**
* id
*/
private String pid;
/**
*
*/
private String description;
/**
* (1 2 3)
*/
private String type;
/**
*
*/
private BigDecimal spaceNum;
/**
*
*/
private BigDecimal spaceArea;
/**
* (10 20)
*/
private String spaceType;
/**
* (10 20 30 40 )
*/
private String state;
/**
*
*/
private List<ParkDTO> child;
}

@ -443,6 +443,7 @@ export default {
], ],
contactsPhone: [ contactsPhone: [
{ {
required: true,
pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/, pattern: /^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/,
message: '请输入正确的联系方式', message: '请输入正确的联系方式',
trigger: 'blur' trigger: 'blur'

Loading…
Cancel
Save