From d24a6214b911c4a51b2bce382d53ea7eb6083e66 Mon Sep 17 00:00:00 2001 From: daiqy88 Date: Thu, 20 Nov 2025 09:45:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=85=E9=9A=9C=E4=BF=AE=E5=A4=8D,=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=88=97=E8=A1=A8=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capability/controller/FlowController.java | 13 +- .../com/sdm/capability/dao/FlowMapper.java | 4 +- .../req/flow/ReleaseFlowTemplateReq.java | 22 +++ .../sdm/capability/service/IFlowService.java | 2 +- .../service/impl/FlowServiceImpl.java | 13 +- .../sdm/common/entity/ExportExcelFormat.java | 24 +++ .../common/utils/excel/ExcelCellValue.java | 13 ++ .../sdm/common/utils/excel/ExcelSheet.java | 15 ++ .../com/sdm/common/utils/excel/ExcelUtil.java | 180 ++++++++++++++++++ .../com/sdm/common/utils/excel/HeadVO.java | 3 +- .../com/sdm/common/utils/excel/RowValue.java | 12 ++ exportExcel.xlsx | Bin 0 -> 3452 bytes .../com/sdm/system/SystemApplication.java | 5 +- .../controller/SysTenantController.java | 10 + .../controller/SystemApproveController.java | 4 +- .../system/model/entity/AppConfigureBean.java | 2 +- .../sdm/system/service/ISysTenantService.java | 12 ++ .../impl/CID/CIDtenantServiceImpl.java | 27 +++ .../impl/LocalSysTenantServiceImpl.java | 7 + .../impl/SimulationAppCenterServiceImpl.java | 5 + .../task/model/entity/TaskPoolUpdateBean.java | 5 + 21 files changed, 361 insertions(+), 17 deletions(-) create mode 100644 capability/src/main/java/com/sdm/capability/model/req/flow/ReleaseFlowTemplateReq.java create mode 100644 common/src/main/java/com/sdm/common/entity/ExportExcelFormat.java create mode 100644 common/src/main/java/com/sdm/common/utils/excel/ExcelCellValue.java create mode 100644 common/src/main/java/com/sdm/common/utils/excel/ExcelSheet.java create mode 100644 common/src/main/java/com/sdm/common/utils/excel/RowValue.java create mode 100644 exportExcel.xlsx diff --git a/capability/src/main/java/com/sdm/capability/controller/FlowController.java b/capability/src/main/java/com/sdm/capability/controller/FlowController.java index 13a3ec2f..5335722f 100644 --- a/capability/src/main/java/com/sdm/capability/controller/FlowController.java +++ b/capability/src/main/java/com/sdm/capability/controller/FlowController.java @@ -2,6 +2,7 @@ package com.sdm.capability.controller; import com.sdm.capability.model.entity.SimulationFlowTemplate; import com.sdm.capability.model.req.flow.GetFlowTemplateReq; +import com.sdm.capability.model.req.flow.ReleaseFlowTemplateReq; import com.sdm.capability.service.IFlowService; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.system.LaunchApproveReq; @@ -45,17 +46,17 @@ public class FlowController implements ISimulationFlowTemplateFeignClient { /** * 删除流程模版草稿 - * @param uuid + * @param flowTemplate * @return */ @PostMapping("/deleteFlowTemplateDraft") - public SdmResponse deleteFlowTemplateDraft(@RequestParam("uuid") String uuid) { - return IFlowService.deleteFlowTemplateDraft(uuid); + public SdmResponse deleteFlowTemplateDraft(@RequestBody SimulationFlowTemplate flowTemplate) { + return IFlowService.deleteFlowTemplateDraft(flowTemplate.uuid); } @PostMapping("/releaseFlowTemplate") - public SdmResponse releaseFlowTemplateDraft(@RequestParam("uuid") String uuid,@RequestParam("versionType") int versionType) { - return IFlowService.releaseFlowTemplate(uuid,versionType); + public SdmResponse releaseFlowTemplateDraft(@RequestBody @Validated ReleaseFlowTemplateReq req) { + return IFlowService.releaseFlowTemplate(req.uuid,req.versionType,req.approveTemplateName,req.approveTemplateId); } /** @@ -100,7 +101,7 @@ public class FlowController implements ISimulationFlowTemplateFeignClient { return IFlowService.getFlowTemplateInfo(uuid); } - @PostMapping("/flow/approveHandleNotice") + @PostMapping("/approveHandleNotice") public SdmResponse receiveApproveNotice(LaunchApproveReq req) { return IFlowService.handleApproveResult(req); diff --git a/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java b/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java index 209a510c..8ba40157 100644 --- a/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java +++ b/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java @@ -9,10 +9,10 @@ import java.util.List; @Mapper public interface FlowMapper { - @Insert("INSERT INTO simulation_flow_template(uuid,templateName,templateVersion,templateContent,viewContent,parentUuid,templateStatus,templateType,approveType,comment,tenantId,createName,creator) VALUES(#{template.uuid},#{template.templateName},#{template.templateVersion},#{template.templateContent},#{template.viewContent},#{template.parentUuid},#{template.templateStatus},#{template.templateType},#{template.approveType},#{template.comment},#{template.tenantId},#{template.createName},#{template.creator})") + @Insert("INSERT INTO simulation_flow_template(uuid,templateName,templateVersion,templateContent,viewContent,parentUuid,templateStatus,templateType,approveType,comment,templateCode,tenantId,createName,creator) VALUES(#{template.uuid},#{template.templateName},#{template.templateVersion},#{template.templateContent},#{template.viewContent},#{template.parentUuid},#{template.templateStatus},#{template.templateType},#{template.approveType},#{template.comment},#{template.templateCode},#{template.tenantId},#{template.createName},#{template.creator})") int addFlowTemplate(@Param("template") SimulationFlowTemplate template); - @Update("UPDATE simulation_flow_template SET templateContent=#{template.templateContent},viewContent=#{template.viewContent},templateType=#{template.templateType},templateStatus=#{template.templateStatus},comment=#{template.comment} WHERE uuid=#{template.uuid}") + @Update("UPDATE simulation_flow_template SET templateContent=#{template.templateContent},viewContent=#{template.viewContent},approveType=#{template.approveType},templateType=#{template.templateType},templateStatus=#{template.templateStatus},comment=#{template.comment} WHERE uuid=#{template.uuid}") int updateFlowTemplate(@Param("template") SimulationFlowTemplate template); @Delete("DELETE FROM simulation_flow_template WHERE uuid=#{uuid}") diff --git a/capability/src/main/java/com/sdm/capability/model/req/flow/ReleaseFlowTemplateReq.java b/capability/src/main/java/com/sdm/capability/model/req/flow/ReleaseFlowTemplateReq.java new file mode 100644 index 00000000..57c35ff1 --- /dev/null +++ b/capability/src/main/java/com/sdm/capability/model/req/flow/ReleaseFlowTemplateReq.java @@ -0,0 +1,22 @@ +package com.sdm.capability.model.req.flow; + + +import com.sdm.common.entity.pojo.BaseEntity; +import lombok.Data; +import org.springframework.web.bind.annotation.RequestParam; + +@Data +public class ReleaseFlowTemplateReq extends BaseEntity { + public ReleaseFlowTemplateReq() { + init(); + } + + public String uuid; + + public int versionType; + + public String approveTemplateName; + + public String approveTemplateId; + +} diff --git a/capability/src/main/java/com/sdm/capability/service/IFlowService.java b/capability/src/main/java/com/sdm/capability/service/IFlowService.java index ef3cd1ed..658c8e4b 100644 --- a/capability/src/main/java/com/sdm/capability/service/IFlowService.java +++ b/capability/src/main/java/com/sdm/capability/service/IFlowService.java @@ -41,7 +41,7 @@ public interface IFlowService { * @param uuid * @return */ - SdmResponse releaseFlowTemplate(String uuid,int versionType); + SdmResponse releaseFlowTemplate(String uuid,int versionType,String approveTemplateName,String approveTemplateId); /** diff --git a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java index 651bdb6f..83887f6b 100644 --- a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java +++ b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java @@ -77,9 +77,13 @@ public class FlowServiceImpl extends BaseService implements IFlowService { else { SimulationFlowTemplate template = templates.get(0); + generateVersion(template.getTemplateVersion(),flowTemplate.getVersionType()); flowTemplate.setTemplateVersion(generateVersion(template.getTemplateVersion(),flowTemplate.getVersionType())); + } - flowTemplate.setUuid(generateUuid("flow_template_")); + String uuid = generateUuid("flow_template_"); + flowTemplate.setUuid(uuid); + response.setData(uuid); flowTemplate.setCreator(creator); flowTemplate.setTenantId(tenantId); flowTemplate.setCreateName(createName); @@ -112,7 +116,7 @@ public class FlowServiceImpl extends BaseService implements IFlowService { } @Override - public SdmResponse releaseFlowTemplate(String uuid,int versionType) { + public SdmResponse releaseFlowTemplate(String uuid,int versionType,String approveTemplateName,String approveTemplateId) { SdmResponse response = SdmResponse.success(); String condition = "uuid='"+uuid+"'"; List templates = flowMapper.queryFlowTemplateByCondition(condition); @@ -123,7 +127,10 @@ public class FlowServiceImpl extends BaseService implements IFlowService { else { SimulationFlowTemplate templateDraft = templates.get(0); - templateDraft.setApproveType(1); + templateDraft.approveType = 1; + templateDraft.approveFlowTemplateId = approveTemplateId; + templateDraft.approveFlowTemplateName = approveTemplateName; + templateDraft.versionType = versionType; if(flowMapper.updateFlowTemplate(templateDraft) <= 0) { response = SdmResponse.failed("添加流程模版失败"); diff --git a/common/src/main/java/com/sdm/common/entity/ExportExcelFormat.java b/common/src/main/java/com/sdm/common/entity/ExportExcelFormat.java new file mode 100644 index 00000000..3d944586 --- /dev/null +++ b/common/src/main/java/com/sdm/common/entity/ExportExcelFormat.java @@ -0,0 +1,24 @@ +package com.sdm.common.entity; + +import com.alibaba.fastjson2.JSONObject; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; +import org.springframework.http.codec.json.Jackson2SmileDecoder; + +@Data +public class ExportExcelFormat { + @Schema(description = "表属性值") + @NotNull(message = "表属性值不能为空") + private String key; + + @Schema(description = "excel表头") + @NotNull(message = "excel表头不能为空") + private String title; + + @Schema(description = "属性值对应的字典编码") + private String dictCode; + + @Schema(description = "字典值") + private JSONObject dictData; +} diff --git a/common/src/main/java/com/sdm/common/utils/excel/ExcelCellValue.java b/common/src/main/java/com/sdm/common/utils/excel/ExcelCellValue.java new file mode 100644 index 00000000..cdcce514 --- /dev/null +++ b/common/src/main/java/com/sdm/common/utils/excel/ExcelCellValue.java @@ -0,0 +1,13 @@ +package com.sdm.common.utils.excel; + +import lombok.Data; + +@Data +public class ExcelCellValue { + private Object value = ""; + private String valueType; //string or num + private boolean isMerge; + private Object mergeValue; + private int firstRow; + private int lastRow; +} diff --git a/common/src/main/java/com/sdm/common/utils/excel/ExcelSheet.java b/common/src/main/java/com/sdm/common/utils/excel/ExcelSheet.java new file mode 100644 index 00000000..3481b1ca --- /dev/null +++ b/common/src/main/java/com/sdm/common/utils/excel/ExcelSheet.java @@ -0,0 +1,15 @@ +package com.sdm.common.utils.excel; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class ExcelSheet { + private String sheetName; + + private List heads = new ArrayList(); + + private List rowValues = new ArrayList<>(); +} diff --git a/common/src/main/java/com/sdm/common/utils/excel/ExcelUtil.java b/common/src/main/java/com/sdm/common/utils/excel/ExcelUtil.java index d75b4cbc..10bfda74 100644 --- a/common/src/main/java/com/sdm/common/utils/excel/ExcelUtil.java +++ b/common/src/main/java/com/sdm/common/utils/excel/ExcelUtil.java @@ -2,12 +2,21 @@ package com.sdm.common.utils.excel; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.sdm.common.entity.ExportExcelFormat; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFCellStyle; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Component; import org.springframework.util.ReflectionUtils; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Field; import java.util.*; import java.util.stream.Collectors; @@ -93,4 +102,175 @@ public class ExcelUtil { return list; } + private static class ColumnMergeInfo + { + public int beginColumn; + public int endColumn; + } + + /** + * 写excel表头 + * @param headerData + * @return + */ + private static List writeSheetHeader(Workbook workbook,Sheet sheet,List headerData) + { + Row headRow = sheet.createRow(0); + headRow.setHeight((short) -1); + Font font = makeFont(workbook,"微软雅黑",true,(short) 12,IndexedColors.BLACK.getIndex()); + CellStyle headerStyle = makeStyle(workbook,font,BorderStyle.THIN); + headerStyle.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex()); + headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); + List mergeInfos = new ArrayList<>(); + int cellIndex = 0; + for(HeadVO headVO : headerData) + { + Cell cell = headRow.createCell(cellIndex); + cell.setCellStyle(headerStyle); + cell.setCellValue(headVO.getKey()); + sheet.autoSizeColumn(cellIndex); + cellIndex++; + } + return mergeInfos; + } + + /** + * 写入excel行数据 + * @param sheet + * @param rowValues + */ + private static void writeSheetRows(Workbook workbook,Sheet sheet,List rowValues,List columnMergeInfos) + { + int rowIndex = 1; + Map cellRangeAddressHashMap = new HashMap<>(); + Font cellFont = makeFont(workbook,"宋体",false,(short) 11,IndexedColors.BLACK.getIndex()); + CellStyle cellStyle = makeStyle(workbook,cellFont,BorderStyle.THIN); + for(RowValue rowValue : rowValues) + { + Row row = sheet.createRow(rowIndex); + int columnIndex = 0; + + for(ExcelCellValue cellValue : rowValue.getCells()) + { + Cell cell = row.createCell(columnIndex); + cell.setCellStyle(cellStyle); + cell.setCellValue(String.valueOf(cellValue.getValue())); + if(cellValue.isMerge()) + { + String rangekey = cellValue.getFirstRow()+"-"+cellValue.getLastRow()+"-"+columnIndex; + if(!cellRangeAddressHashMap.containsKey(rangekey)) + { + CellRangeAddress rangeAddress = new CellRangeAddress(cellValue.getFirstRow(),cellValue.getLastRow(),columnIndex,columnIndex); + cellRangeAddressHashMap.put(rangekey,rangeAddress); + } + } + columnIndex++; + } + rowIndex++; + } + cellRangeAddressHashMap.values().forEach(sheet::addMergedRegion); + } + + /** + * 获取字体 + * @param fontName + * @param isBold + * @param fontSize + * @return + */ + private static Font makeFont(Workbook workbook,String fontName,boolean isBold,short fontSize,short colorIndex) + { + Font font = workbook.createFont(); + font.setBold(isBold); + font.setFontHeightInPoints(fontSize); + font.setFontName(fontName); + font.setColor(colorIndex); + return font; + } + + /** + * 创建单元格风格 + * @param workbook + * @param font + * @param + * @param borderStyle + * @return + */ + private static CellStyle makeStyle(Workbook workbook,Font font,BorderStyle borderStyle) + { + CellStyle style = workbook.createCellStyle(); + style.setBorderBottom(borderStyle); + style.setBorderLeft(borderStyle); + style.setBorderTop(borderStyle); + style.setBorderRight(borderStyle); + style.setFont(font); + return style; + } + /** + * 导出excel + * @param sheets + * @param response + */ + public static void exportExcel(List sheets, HttpServletResponse response) { + try { + Workbook workBook = new XSSFWorkbook(); + for (ExcelSheet sheetData : sheets) { + Sheet sheet = workBook.createSheet(sheetData.getSheetName()); + List columnMergeInfos = writeSheetHeader(workBook,sheet, sheetData.getHeads()); + writeSheetRows(workBook,sheet, sheetData.getRowValues(), columnMergeInfos); + } + workBook.write(response.getOutputStream()); + workBook.close(); + + } + catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * 导出没有合并单元格excel + * @param dataArray + * @param exportExcelFormats + */ + public static void exportExcelNoMerge(JSONArray dataArray,List exportExcelFormats,HttpServletResponse response) + { + ExcelSheet excelSheet = new ExcelSheet(); + excelSheet.setSheetName("export sheet1"); + //获取excel表头 + List excelHeader = new ArrayList<>(); + for(ExportExcelFormat exportExcelFormat : exportExcelFormats) + { + HeadVO headVO = HeadVO.builder().build(); + headVO.setKey(exportExcelFormat.getTitle()); + excelHeader.add(headVO); + } + excelSheet.setHeads(excelHeader); + + //获取excel表行数据 + for(int index=0;index excelSheets = new ArrayList<>(); + excelSheets.add(excelSheet); + exportExcel(excelSheets,response); + } + } diff --git a/common/src/main/java/com/sdm/common/utils/excel/HeadVO.java b/common/src/main/java/com/sdm/common/utils/excel/HeadVO.java index e5c92373..00649c8d 100644 --- a/common/src/main/java/com/sdm/common/utils/excel/HeadVO.java +++ b/common/src/main/java/com/sdm/common/utils/excel/HeadVO.java @@ -3,6 +3,7 @@ package com.sdm.common.utils.excel; import lombok.Builder; import lombok.Data; +import java.util.ArrayList; import java.util.List; @Data @@ -11,7 +12,7 @@ public class HeadVO implements Comparable { /** * 列头名 */ - private List headTitle; + private List headTitle = new ArrayList<>(); /** * 字段名 */ diff --git a/common/src/main/java/com/sdm/common/utils/excel/RowValue.java b/common/src/main/java/com/sdm/common/utils/excel/RowValue.java new file mode 100644 index 00000000..e003c184 --- /dev/null +++ b/common/src/main/java/com/sdm/common/utils/excel/RowValue.java @@ -0,0 +1,12 @@ +package com.sdm.common.utils.excel; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class RowValue { + + private List cells = new ArrayList(); +} diff --git a/exportExcel.xlsx b/exportExcel.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..9f01f14b8531a22dd5c3009b3df8ab11e3ef760e GIT binary patch literal 3452 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 * 租户信息表 前端控制器 @@ -73,6 +77,12 @@ public class SysTenantController { return tenantService.listTenant(tenant); } + @PostMapping("/export") + @Operation(summary = "查询租户列表") + public SdmResponse listTenant(@RequestBody @Validated List excelFormats ,HttpServletResponse httpservletResponse) { + return tenantService.exportTenant(excelFormats, httpservletResponse); + } + /** * 根据ID查询租户信息 */ diff --git a/system/src/main/java/com/sdm/system/controller/SystemApproveController.java b/system/src/main/java/com/sdm/system/controller/SystemApproveController.java index e0d1a5ba..d2603f8a 100644 --- a/system/src/main/java/com/sdm/system/controller/SystemApproveController.java +++ b/system/src/main/java/com/sdm/system/controller/SystemApproveController.java @@ -65,10 +65,10 @@ public class SystemApproveController implements IApproveFeignClient { return approveServer.stopCidApprovalFlow(flowId); } - @PostMapping("/approveInnerNotice") + /*@PostMapping("/approveInnerNotice") public SdmResponse systemApproveInnerNotice(@RequestBody LaunchApproveReq flowBean) { return SdmResponse.success(); - } + }*/ @GetMapping("/queryApproveFlowTempalte") public SdmResponse queryApproveFlowTemplate() diff --git a/system/src/main/java/com/sdm/system/model/entity/AppConfigureBean.java b/system/src/main/java/com/sdm/system/model/entity/AppConfigureBean.java index 989fcbc8..7c501804 100644 --- a/system/src/main/java/com/sdm/system/model/entity/AppConfigureBean.java +++ b/system/src/main/java/com/sdm/system/model/entity/AppConfigureBean.java @@ -22,7 +22,7 @@ public class AppConfigureBean extends BaseBean { public int configType;//配置类型 - public String creator; //创建者 + public long creator; //创建者 public String comment; //配置描述 diff --git a/system/src/main/java/com/sdm/system/service/ISysTenantService.java b/system/src/main/java/com/sdm/system/service/ISysTenantService.java index 8fc07f3f..a3c493ef 100644 --- a/system/src/main/java/com/sdm/system/service/ISysTenantService.java +++ b/system/src/main/java/com/sdm/system/service/ISysTenantService.java @@ -2,9 +2,13 @@ package com.sdm.system.service; import com.baomidou.mybatisplus.extension.service.IService; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.ExportExcelFormat; import com.sdm.system.model.entity.SysTenant; import com.sdm.system.model.req.tenant.TenantListReq; import com.sdm.system.model.req.tenant.TenantReq; +import jakarta.servlet.http.HttpServletResponse; + +import java.util.List; public interface ISysTenantService extends IService { @@ -41,6 +45,14 @@ public interface ISysTenantService extends IService { */ SdmResponse listTenant(TenantListReq tenant); + /** + * 导出租户列表 + * @param excelFormats + * @param httpservletResponse + * @return + */ + SdmResponse exportTenant(List excelFormats , HttpServletResponse httpservletResponse); + /** * 根据ID查询租户信息 * diff --git a/system/src/main/java/com/sdm/system/service/impl/CID/CIDtenantServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/CID/CIDtenantServiceImpl.java index effdf3e0..7a9bf4b6 100644 --- a/system/src/main/java/com/sdm/system/service/impl/CID/CIDtenantServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/CID/CIDtenantServiceImpl.java @@ -2,15 +2,21 @@ package com.sdm.system.service.impl.CID; import cn.hutool.http.HttpUtil; import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.ExportExcelFormat; import com.sdm.common.entity.resp.PageDataResp; +import com.sdm.common.utils.excel.ExcelSheet; +import com.sdm.common.utils.excel.ExcelUtil; import com.sdm.system.dao.SysTenantMapper; import com.sdm.system.model.entity.SysTenant; import com.sdm.system.model.req.tenant.TenantListReq; import com.sdm.system.model.req.tenant.TenantReq; import com.sdm.system.model.resp.TenantResp; import com.sdm.system.service.ISysTenantService; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; @@ -68,6 +74,27 @@ public class CIDtenantServiceImpl extends ServiceImpl exportExcelFormats, HttpServletResponse httpServletResponse) + { + SdmResponse response = new SdmResponse(); + TenantListReq req = new TenantListReq(); + req.setSize(1000); + req.setCurrent(0); + SdmResponse tenantRespond = listTenant(req); + if(tenantRespond.isSuccess()) + { + JSONObject dataObj = (JSONObject) tenantRespond.getData(); + JSONArray jsonArray = dataObj.getJSONArray("data"); + ExcelUtil.exportExcelNoMerge(jsonArray,exportExcelFormats,httpServletResponse); + } + else + { + response = SdmResponse.failed(tenantRespond.getMessage()); + } + return response; + } + @Override public SdmResponse getTenantDetailById(Long tenantId) { try { diff --git a/system/src/main/java/com/sdm/system/service/impl/LocalSysTenantServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/LocalSysTenantServiceImpl.java index bff3db26..713664b5 100644 --- a/system/src/main/java/com/sdm/system/service/impl/LocalSysTenantServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/LocalSysTenantServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.ExportExcelFormat; import com.sdm.common.utils.PageUtils; import com.sdm.system.dao.SysTenantMapper; import com.sdm.system.model.entity.SysTenant; @@ -12,6 +13,7 @@ import com.sdm.system.model.req.tenant.TenantListReq; import com.sdm.system.model.req.tenant.TenantReq; import com.sdm.system.model.resp.TenantResp; import com.sdm.system.service.ISysTenantService; +import jakarta.servlet.http.HttpServletResponse; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Value; @@ -107,6 +109,11 @@ public class LocalSysTenantServiceImpl extends ServiceImpl excelFormats, HttpServletResponse httpservletResponse) { + return null; + } + @Override public SdmResponse getTenantDetailById(Long tenantId) { SysTenant sysTenant = this.getById(tenantId); diff --git a/system/src/main/java/com/sdm/system/service/impl/SimulationAppCenterServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/SimulationAppCenterServiceImpl.java index 1fb07df7..943c6833 100644 --- a/system/src/main/java/com/sdm/system/service/impl/SimulationAppCenterServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/SimulationAppCenterServiceImpl.java @@ -1,7 +1,9 @@ package com.sdm.system.service.impl; import com.sdm.common.common.SdmResponse; +import com.sdm.common.common.ThreadLocalContext; import com.sdm.common.service.BaseService; +import com.sdm.common.utils.excel.*; import com.sdm.system.dao.SimulationAppManageMapper; import com.sdm.system.model.entity.AppCenterItemBean; import com.sdm.system.model.entity.AppConfigureBean; @@ -43,6 +45,8 @@ public class SimulationAppCenterServiceImpl extends BaseService implements ISimu SdmResponse response = SdmResponse.success(); appBean.uuid = generateUuid("app_center_"); + appBean.tenantId = ThreadLocalContext.getTenantId(); + appBean.creator = ThreadLocalContext.getUserId(); if(bHasSameNameSimulationApp(appBean)) { response = SdmResponse.failed("应用名称已存在"); @@ -155,6 +159,7 @@ public class SimulationAppCenterServiceImpl extends BaseService implements ISimu @Override public SdmResponse addSimulationAppConfig(AppConfigureBean configureBean) { SdmResponse response = SdmResponse.success(); + configureBean.creator = ThreadLocalContext.getUserId(); if(bHasSameNameConfig(configureBean)) { response = SdmResponse.failed("存在同名的配置"); diff --git a/task/src/main/java/com/sdm/task/model/entity/TaskPoolUpdateBean.java b/task/src/main/java/com/sdm/task/model/entity/TaskPoolUpdateBean.java index 222a165e..2808dd2d 100644 --- a/task/src/main/java/com/sdm/task/model/entity/TaskPoolUpdateBean.java +++ b/task/src/main/java/com/sdm/task/model/entity/TaskPoolUpdateBean.java @@ -1,6 +1,7 @@ package com.sdm.task.model.entity; import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; import com.sdm.common.entity.bo.BaseBean; import java.util.ArrayList; @@ -92,7 +93,11 @@ public class TaskPoolUpdateBean extends ApproveBaseBean{ public List deletePerformances; public List deletePerformanceExtras; + /////评审预览数据结构 + public JSONArray fullTableColumns; + public JSONArray fullTableData; + public JSONObject approvePreviewInfo; }