diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 9c90ee56..cb1ea2b1 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,6 +1,7 @@ + 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 0c933190..b4406c6b 100644 --- a/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java +++ b/capability/src/main/java/com/sdm/capability/dao/FlowMapper.java @@ -12,7 +12,7 @@ public interface FlowMapper { @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},approveType=#{template.approveType},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},approveFlowId=#{template.approveFlowId} 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/entity/SimulationFlowTemplate.java b/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java index ab45a56d..047f114b 100644 --- a/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java +++ b/capability/src/main/java/com/sdm/capability/model/entity/SimulationFlowTemplate.java @@ -36,6 +36,9 @@ public class SimulationFlowTemplate extends BaseEntity { @Schema(description = "模版状态") public int templateStatus = 1; + @Schema(description = "评审流ID") + public String approveFlowId; + @Schema(description = "模版类型") public String templateType; 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 838f165a..527472b8 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 @@ -73,7 +73,7 @@ public class FlowServiceImpl extends BaseService implements IFlowService { long tenantId = ThreadLocalContext.getTenantId(); long creator = ThreadLocalContext.getUserId(); String condition = "templateName='"+templateName+"' AND tenantId="+tenantId+" ORDER BY createTime DESC LIMIT 1" ; - String createName = ThreadLocalContext.getUserName(); + //String createName = ThreadLocalContext.getUserName(); List templates = flowMapper.queryFlowTemplateByCondition(condition); if (templates.isEmpty()) { flowTemplate.setTemplateVersion("V1.0"); @@ -90,7 +90,7 @@ public class FlowServiceImpl extends BaseService implements IFlowService { response.setData(uuid); flowTemplate.setCreator(creator); flowTemplate.setTenantId(tenantId); - flowTemplate.setCreateName(createName); + flowTemplate.setCreateName(""); if(flowMapper.addFlowTemplate(flowTemplate) <=0) { response = SdmResponse.failed("添加流程模版草稿失败"); @@ -163,12 +163,19 @@ public class FlowServiceImpl extends BaseService implements IFlowService { } else //发起评审 { - if(!launchApprove(templateDraft)) + SdmResponse approveRespond = launchApprove(templateDraft); + if(!approveRespond.isSuccess()) { response = SdmResponse.failed("发起评审失败"); templateDraft.setApproveType(0); - flowMapper.updateFlowTemplate(templateDraft); } + else + { + String approveFlowId = (String)approveRespond.getData(); + templateDraft.setApproveFlowId(approveFlowId); + response.setData(approveFlowId); + } + flowMapper.updateFlowTemplate(templateDraft); } } return response; @@ -179,7 +186,7 @@ public class FlowServiceImpl extends BaseService implements IFlowService { * @param flowTemplate * @return */ - private boolean launchApprove(SimulationFlowTemplate flowTemplate) { + private SdmResponse launchApprove(SimulationFlowTemplate flowTemplate) { LaunchApproveReq approveReq = new LaunchApproveReq(); approveReq.approveTitle = "仿真流程评审"; approveReq.approveStatus = 1; @@ -195,8 +202,7 @@ public class FlowServiceImpl extends BaseService implements IFlowService { flowTemplateJson.put("flowContents", flowTemplate.templateContent); flowTemplateJson.put("viewContents", flowTemplate.viewContent); approveReq.approveContents = flowTemplateJson.toJSONString(); - SdmResponse response = approveFeignClient.launchApproval(approveReq); - return response.isSuccess(); + return approveFeignClient.launchApproval(approveReq); } @Override diff --git a/project/src/main/java/com/sdm/project/controller/YAModelController.java b/project/src/main/java/com/sdm/project/controller/YAModelController.java new file mode 100644 index 00000000..7d4aec00 --- /dev/null +++ b/project/src/main/java/com/sdm/project/controller/YAModelController.java @@ -0,0 +1,85 @@ +package com.sdm.project.controller; + +import com.sdm.common.common.SdmResponse; +import com.sdm.common.entity.req.data.UploadFilesReq; + +import com.sdm.project.model.req.YA.GetModelNodeInfoReq; +import com.sdm.project.model.req.YA.SaveModelNodeInfoReq; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/dataManager/tree/node") +@Tag(name = "宜安项目数据归档", description = "宜安项目模型数据关了") +public class YAModelController { + + + + + /** + * 创建文件夹 + * + * @param req + * @return + */ + @PostMapping(value = "/SaveModelNodeInfo", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @Operation( + summary = "上传模型", + description = "仿真模型归档,支持同时上传文件和附加参数", + requestBody = @io.swagger.v3.oas.annotations.parameters.RequestBody( + description = "模型文件上传请求", + required = true, + content = @Content( + mediaType = MediaType.MULTIPART_FORM_DATA_VALUE, + schema = @Schema(implementation = SaveModelNodeInfoReq.class) + ) + ) + ) + public SdmResponse saveModelNodeInfo(@RequestBody @Validated SaveModelNodeInfoReq req) + { + + UploadFilesReq fileReq = new UploadFilesReq(); + fileReq.setFileName(req.getName()); + fileReq.setProjectId(req.getProject()); + fileReq.setFileType(1); + fileReq.setFile(req.getFile()); + fileReq.setUuid(req.getScenario()); + fileReq.setAnalysisDirectionId(req.getScenario()); + + return null; + } + + @PostMapping("GetModelNodeInfoByIdAndType") + public void getModelNodeInfo(@RequestBody @Validated GetModelNodeInfoReq req) + { + + } + + @PostMapping("DeleteModelNodeByObjectIds") + public void DeleteModelNodeInfo(@RequestBody @Validated GetModelNodeInfoReq req) + { + + } + + @PostMapping("SyncProject") + public void syncCidProject() + { + + } + + @PostMapping("SyncCidTask") + public void syncCidTask() + { + + } + +} \ No newline at end of file diff --git a/project/src/main/java/com/sdm/project/model/req/YA/DeleteModelNodeInfoReq.java b/project/src/main/java/com/sdm/project/model/req/YA/DeleteModelNodeInfoReq.java new file mode 100644 index 00000000..5045a67e --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/DeleteModelNodeInfoReq.java @@ -0,0 +1,20 @@ +package com.sdm.project.model.req.YA; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "仿真模型删除参数") +public class DeleteModelNodeInfoReq { + + @Schema(description = "数据类型名称") + private String type; + + @Schema(description = "需要删除数据ObjectId") + private String objectId; + + @Schema(description = "需要删除数据id") + private String id; + + +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/GetModelNodeInfoReq.java b/project/src/main/java/com/sdm/project/model/req/YA/GetModelNodeInfoReq.java new file mode 100644 index 00000000..dea327c8 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/GetModelNodeInfoReq.java @@ -0,0 +1,16 @@ +package com.sdm.project.model.req.YA; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "获取仿真模型参数") +public class GetModelNodeInfoReq { + + @Schema(description = "数据类型名称") + private String type; + + @Schema(description = "需要删除数据ObjectId") + private String objectId; + +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java b/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java new file mode 100644 index 00000000..d38d4af0 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/ProjectTaskInfo.java @@ -0,0 +1,12 @@ +package com.sdm.project.model.req.YA; + +import io.swagger.v3.oas.annotations.media.Schema; + +public class ProjectTaskInfo { + + @Schema(description = "任务名称") + private String taskName; + + @Schema(description = "taskId") + private String taskId; +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SaveKeyResultNodeInfoReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SaveKeyResultNodeInfoReq.java new file mode 100644 index 00000000..b4c1f861 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/SaveKeyResultNodeInfoReq.java @@ -0,0 +1,65 @@ +package com.sdm.project.model.req.YA; + +import com.alibaba.fastjson2.annotation.JSONField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +@Data +@Schema(description = "仿真关键结果上传参数") +public class SaveKeyResultNodeInfoReq { + + @Schema(description = "数据类型名称") + private String type; + + @Schema(description = "数据名称") + private String name; + + @Schema(description = "数据类型编号") + private String code; + + @Schema(description = "仿真分析项") + private String scenario; + + @Schema(description = "数据访问控制级别") + private String dataLevel; + + @Schema(description = "所属项目ID") + private String project; + + @Schema(description = "父级节点ID") + private String parent; + + @Schema(description = "任务ID") + private String workRequest; + + @Schema(description = "分析对象") + private String item; + + @Schema(description = "轮次") + private String round; + + @Schema(description = "方案Id") + private String version; + + @Schema(description = "文件名称") + private String fileName; + + @Schema(description = "数值") + private String value; + + @Schema(description = "单位") + private String units; + + @Schema(description = "状态") + private String status; + + @Schema(description = "物理量") + private String quantityType; + + @Schema(description = "文件传输对象") + @JSONField(serialize = false) + private MultipartFile file; + + +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SaveModelNodeInfoReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SaveModelNodeInfoReq.java new file mode 100644 index 00000000..fe885620 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/SaveModelNodeInfoReq.java @@ -0,0 +1,55 @@ +package com.sdm.project.model.req.YA; + +import com.alibaba.fastjson2.annotation.JSONField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +@Data +@Schema(description = "仿真模型上传参数") +public class SaveModelNodeInfoReq { + + @Schema(description = "数据类型名称") + private String type; + + @Schema(description = "数据名称") + private String name; + + @Schema(description = "数据类型编号") + private String code; + + @Schema(description = "所属项目ID") + private String project; + + @Schema(description = "父级节点ID") + private String parent; + + @Schema(description = "仿真分析项") + private String scenario; + + @Schema(description = "主负责人") + private String firstOwner; + + @Schema(description = "从负责人") + private List secondOwner; + + @Schema(description = "起止日期") + private String startEndData; + + @Schema(description = "学科") + private String disciplineClassification; + + @Schema(description = "格式") + private String format; + + @Schema(description = "分析对象") + private String item; + + @Schema(description = "文件传输对象") + @JSONField(serialize = false) + private MultipartFile file; + + +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SaveReportNodeInfoReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SaveReportNodeInfoReq.java new file mode 100644 index 00000000..9f7284f4 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/SaveReportNodeInfoReq.java @@ -0,0 +1,38 @@ +package com.sdm.project.model.req.YA; + +import com.alibaba.fastjson2.annotation.JSONField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +@Data +@Schema(description = "仿真报告上传参数") +public class SaveReportNodeInfoReq { + + @Schema(description = "数据类型名称") + private String type; + + @Schema(description = "数据名称") + private String name; + + @Schema(description = "描述") + private String discription; + + @Schema(description = "数据类型编号") + private String code; + + @Schema(description = "所属项目ID") + private String project; + + @Schema(description = "父级节点ID") + private String parent; + + @Schema(description = "仿真分析项") + private String scenario; + + @Schema(description = "文件传输对象") + @JSONField(serialize = false) + private MultipartFile file; + + +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java new file mode 100644 index 00000000..e7b5df9c --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidProjectReq.java @@ -0,0 +1,14 @@ +package com.sdm.project.model.req.YA; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class SyncCidProjectReq { + + @Schema(description = "项目名称") + private String projectName; + + @Schema(description = "项目Id") + private String projectId; +} diff --git a/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java new file mode 100644 index 00000000..49ac37f0 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/req/YA/SyncCidTaskReq.java @@ -0,0 +1,20 @@ +package com.sdm.project.model.req.YA; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class SyncCidTaskReq { + + @Schema(description = "项目名称") + private String projectName; + + @Schema(description = "项目Id") + private String projectId; + + @Schema(description = "") + private List taskInfoList = new ArrayList<>(); +} diff --git a/project/src/main/java/com/sdm/project/model/resp/YA/BosimErrorRespond.java b/project/src/main/java/com/sdm/project/model/resp/YA/BosimErrorRespond.java new file mode 100644 index 00000000..39163143 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/resp/YA/BosimErrorRespond.java @@ -0,0 +1,13 @@ +package com.sdm.project.model.resp.YA; + +import io.swagger.v3.oas.annotations.media.Schema; + +public class BosimErrorRespond { + + @Schema(description = "错误码") + private int errorCode; + + @Schema(description = "错误信息") + private String errorMsg; + +} diff --git a/project/src/main/java/com/sdm/project/model/resp/YA/BosimSaveModelNodeRsp.java b/project/src/main/java/com/sdm/project/model/resp/YA/BosimSaveModelNodeRsp.java new file mode 100644 index 00000000..43d5c2d4 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/resp/YA/BosimSaveModelNodeRsp.java @@ -0,0 +1,17 @@ +package com.sdm.project.model.resp.YA; + +import io.swagger.v3.oas.annotations.media.Schema; + +import java.util.ArrayList; +import java.util.List; + +public class BosimSaveModelNodeRsp { + + @Schema(description = "返回码") + private String code; + + @Schema(description = "返回信息") + private String message; + + private List workRequest = new ArrayList<>(); +} diff --git a/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java b/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java index 67021eb9..8c8fa8a8 100644 --- a/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java +++ b/system/src/main/java/com/sdm/system/dao/SimulationSystemMapper.java @@ -14,14 +14,14 @@ public interface SimulationSystemMapper { @Insert("INSERT INTO simulation_data_dictionary(uuid,dictName,dictValue,dictOrder,valueType,aliasName,dictClass,comment,tenantId,creator) VALUES (#{dict.uuid},#{dict.dictName},#{dict.dictValue},#{dict.dictOrder},#{dict.valueType},#{dict.aliasName},#{dict.dictClass},#{dict.comment},#{dict.tenantId},#{dict.creator})") int addDataDictionary(@Param("dict") DataDictionary dict); - @Select("SELECT * FROM simulation_data_dictionary WHERE dictClass=#{dictClass} ORDER BY dictOrder ASC") - List queryDictionaryClassData(@Param("dictClass")String dictClass); + @Select("SELECT * FROM simulation_data_dictionary WHERE dictClass=#{dictClass} AND tenantId=#{tenantId} ORDER BY dictOrder ASC") + List queryDictionaryClassData(@Param("dictClass")String dictClass,@Param("tenantId") long tenantId); - @Select("SELECT * FROM simulation_data_dictionary") - List getAllDictionaryData(); + @Select("SELECT * FROM simulation_data_dictionary WHERE tenantId=#{tenantId}") + List getAllDictionaryData(@Param("tenantId") long tenantId); - @Delete("DELETE FROM simulation_data_dictionary WHERE dictClass=#{dictClass}") - int deleteDictionaryClassItems(@Param("dictClass")String dictClass); + @Delete("DELETE FROM simulation_data_dictionary WHERE dictClass=#{dictClass} AND tenantId=#{tenantId}") + int deleteDictionaryClassItems(@Param("dictClass")String dictClass,@Param("tenantId") long tenantId); @Select("SELECT * FROM simulation_data_dictionary WHERE dictName=#{dictName} AND dictClass=#{dictClass} AND tenantId=#{tenantId} LIMIT 1") DataDictionary queryDataDictionary(@Param("dictName")String dictName,@Param("dictClass")String dictClass,@Param("tenantId")long tenantId); diff --git a/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java b/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java index 2085fa1c..de0dde40 100644 --- a/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java +++ b/system/src/main/java/com/sdm/system/service/impl/SimulationSystemConfigServiceImpl.java @@ -100,7 +100,8 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS public SdmResponse deleteDataDictionaryClass(String className) { SdmResponse response = SdmResponse.success(); - if(mapper.deleteDictionaryClassItems(className) <= 0) + long tenantId = ThreadLocalContext.getTenantId(); + if(mapper.deleteDictionaryClassItems(className,tenantId) <= 0) { response = SdmResponse.failed("删除数据字典分类下所有字典信息失败"); } @@ -114,7 +115,8 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS */ public SdmResponse> queryDictionaryData(String className) { - List dictionaries = mapper.queryDictionaryClassData(className); + long tenantId = ThreadLocalContext.getTenantId(); + List dictionaries = mapper.queryDictionaryClassData(className,tenantId); return SdmResponse.success(dictionaries); } @@ -123,7 +125,8 @@ public class SimulationSystemConfigServiceImpl extends BaseService implements IS * @return */ public SdmResponse> > getAllDictionaryData() { - List dictionaries = mapper.getAllDictionaryData(); + long tenantId = ThreadLocalContext.getTenantId(); + List dictionaries = mapper.getAllDictionaryData(tenantId); List newDictionaries = dictionaries.stream().filter(i -> StringUtils.isNotBlank(i.dictClass)).map(i -> new SimuDictionaryResp(i.dictValue, i.dictClass, i.dictName)).collect(Collectors.toList()); Map> dictionMap = newDictionaries.stream().collect(Collectors.groupingBy(SimuDictionaryResp::getDictClass)); return SdmResponse.success(dictionMap);