From 801cea737e5e494b5e7cb1f1fb15548016418a48 Mon Sep 17 00:00:00 2001
From: Pancaihua <75729660@qq.com>
Date: Tue, 12 Nov 2024 22:03:06 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=A1=E6=89=B9=E4=BA=BA=E8=8C=83=E5=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
yudao-framework/yudao-common/pom.xml | 6 ++
.../util/elasticsearch/EsearchUtils.java | 20 +++-
.../module/bpm/enums/ErrorCodeConstants.java | 3 +
yudao-module-bpm/yudao-module-bpm-biz/pom.xml | 12 +++
.../FormProcessMappingController.java | 95 +++++++++++++++++++
.../vo/FormProcessMappingPageReqVO.java | 37 ++++++++
.../vo/FormProcessMappingRespVO.java | 46 +++++++++
.../vo/FormProcessMappingSaveReqVO.java | 32 +++++++
.../admin/knows/vo/KnowledgeSaveReqVO.java | 6 +-
.../FormProcessMappingDO.java | 53 +++++++++++
.../FormProcessMappingMapper.java | 31 ++++++
.../FormProcessMappingService.java | 55 +++++++++++
.../FormProcessMappingServiceImpl.java | 74 +++++++++++++++
.../service/knows/KnowledgeServiceImpl.java | 12 ++-
14 files changed, 473 insertions(+), 9 deletions(-)
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/FormProcessMappingController.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingPageReqVO.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingRespVO.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingSaveReqVO.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/formprocessmapping/FormProcessMappingDO.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/formprocessmapping/FormProcessMappingMapper.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingService.java
create mode 100644 yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingServiceImpl.java
diff --git a/yudao-framework/yudao-common/pom.xml b/yudao-framework/yudao-common/pom.xml
index 8196583..832d2ba 100644
--- a/yudao-framework/yudao-common/pom.xml
+++ b/yudao-framework/yudao-common/pom.xml
@@ -171,6 +171,12 @@
1.6.2
compile
+
+
+
+
+
+
diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java
index 7c91a7e..f7a667c 100644
--- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java
+++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/elasticsearch/EsearchUtils.java
@@ -1,4 +1,5 @@
package cn.iocoder.yudao.framework.common.util.elasticsearch;
+
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
@@ -41,10 +42,21 @@ import java.util.Map;
* @author pch
*/
public class EsearchUtils {
- private static String ipStr = "192.168.1.28";
+// private static String ipStr = "192.168.1.28";
+ private static String ipStr;
private static int port = 9200;
private static String modeStr = "http";
- private static RestHighLevelClient esClient = new RestHighLevelClient(RestClient.builder(new HttpHost(ipStr,port,modeStr)));
+ private static RestHighLevelClient esClient;
+
+ public static void initialize(String ip) {
+ ipStr = ip;
+// this.port = port;
+// modeStr = mode;
+ esClient = new RestHighLevelClient(RestClient.builder(new HttpHost(ipStr,port,modeStr)));
+ }
+
+
+// private static RestHighLevelClient esClient = new RestHighLevelClient(RestClient.builder(new HttpHost(ipStr,port,modeStr)));
public static void saveIndex(long id,T createReqVO, String indexName) throws IOException {
//String indexStatus = null;
@@ -62,9 +74,9 @@ public class EsearchUtils {
esRequest.id(String.valueOf(id));
esRequest.source(knowObj.toJSONString(), XContentType.JSON);
- //System.out.println("========保存数据:" + knowObj.toJSONString());
+// System.out.println("========保存数据:" + knowObj.toJSONString());
esRequest.setRefreshPolicy(WriteRequest.RefreshPolicy.WAIT_UNTIL);
- //System.out.println("========保存结果:" + indexResult);
+// System.out.println("========保存结果:" + indexResult);
try {
IndexResponse indexResult = esClient.index(esRequest, RequestOptions.DEFAULT);
//indexStatus = indexResult.status().toString();
diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
index de1cba7..e8bd62d 100644
--- a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
+++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/ErrorCodeConstants.java
@@ -93,4 +93,7 @@ public interface ErrorCodeConstants {
ErrorCode ONLYOF_NOT_EXISTS = new ErrorCode(1_009_020_000 , "文件编辑不存在");
// ========== 公共知识 1_009_021_000 ==========
ErrorCode KNOWLEDGE_PUBLIC_NOT_EXISTS = new ErrorCode(1_009_021_000, "公共知识不存在");
+
+ // ========== BPM 表单工作流对应 1_009_022_000 ==========
+ ErrorCode FORM_PROCESS_MAPPING_NOT_EXISTS = new ErrorCode(1_009_022_000, "BPM 表单工作流对应不存在");
}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/pom.xml b/yudao-module-bpm/yudao-module-bpm-biz/pom.xml
index f7ed123..4729cfb 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/pom.xml
+++ b/yudao-module-bpm/yudao-module-bpm-biz/pom.xml
@@ -101,5 +101,17 @@
org.thymeleaf
thymeleaf-spring5
+
+ cn.iocoder.boot
+ yudao-module-infra-biz
+ 2.1.0-jdk8-snapshot
+ compile
+
+
+ cn.iocoder.boot
+ yudao-module-infra-biz
+ 2.1.0-jdk8-snapshot
+ compile
+
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/FormProcessMappingController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/FormProcessMappingController.java
new file mode 100644
index 0000000..c8f2a51
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/FormProcessMappingController.java
@@ -0,0 +1,95 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping;
+
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import javax.validation.constraints.*;
+import javax.validation.*;
+import javax.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo.*;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.formprocessmapping.FormProcessMappingDO;
+import cn.iocoder.yudao.module.bpm.service.formprocessmapping.FormProcessMappingService;
+
+@Tag(name = "管理后台 - BPM 表单工作流对应")
+@RestController
+@RequestMapping("/bpm/form-process-mapping")
+@Validated
+public class FormProcessMappingController {
+
+ @Resource
+ private FormProcessMappingService formProcessMappingService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建BPM 表单工作流对应")
+ @PreAuthorize("@ss.hasPermission('bpm:form-process-mapping:create')")
+ public CommonResult createFormProcessMapping(@Valid @RequestBody FormProcessMappingSaveReqVO createReqVO) {
+ return success(formProcessMappingService.createFormProcessMapping(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新BPM 表单工作流对应")
+ @PreAuthorize("@ss.hasPermission('bpm:form-process-mapping:update')")
+ public CommonResult updateFormProcessMapping(@Valid @RequestBody FormProcessMappingSaveReqVO updateReqVO) {
+ formProcessMappingService.updateFormProcessMapping(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除BPM 表单工作流对应")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('bpm:form-process-mapping:delete')")
+ public CommonResult deleteFormProcessMapping(@RequestParam("id") Long id) {
+ formProcessMappingService.deleteFormProcessMapping(id);
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得BPM 表单工作流对应")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('bpm:form-process-mapping:query')")
+ public CommonResult getFormProcessMapping(@RequestParam("id") Long id) {
+ FormProcessMappingDO formProcessMapping = formProcessMappingService.getFormProcessMapping(id);
+ return success(BeanUtils.toBean(formProcessMapping, FormProcessMappingRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得BPM 表单工作流对应分页")
+ @PreAuthorize("@ss.hasPermission('bpm:form-process-mapping:query')")
+ public CommonResult> getFormProcessMappingPage(@Valid FormProcessMappingPageReqVO pageReqVO) {
+ PageResult pageResult = formProcessMappingService.getFormProcessMappingPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, FormProcessMappingRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出BPM 表单工作流对应 Excel")
+ @PreAuthorize("@ss.hasPermission('bpm:form-process-mapping:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportFormProcessMappingExcel(@Valid FormProcessMappingPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = formProcessMappingService.getFormProcessMappingPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "BPM 表单工作流对应.xls", "数据", FormProcessMappingRespVO.class,
+ BeanUtils.toBean(list, FormProcessMappingRespVO.class));
+ }
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingPageReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingPageReqVO.java
new file mode 100644
index 0000000..2b9214c
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingPageReqVO.java
@@ -0,0 +1,37 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - BPM 表单工作流对应分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class FormProcessMappingPageReqVO extends PageParam {
+
+ @Schema(description = "映射名", example = "张三")
+ private String name;
+
+ @Schema(description = "流程信息")
+ private String processKey;
+
+ @Schema(description = "表单的提交路径")
+ private String formCustomCreatePath;
+
+ @Schema(description = "表单的查看路径")
+ private String formCustomViewPath;
+
+ @Schema(description = "状态(0正常 1停用)", example = "1")
+ private Integer status;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingRespVO.java
new file mode 100644
index 0000000..cde4c4c
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingRespVO.java
@@ -0,0 +1,46 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
+import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
+
+@Schema(description = "管理后台 - BPM 表单工作流对应 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class FormProcessMappingRespVO {
+
+ @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7811")
+ @ExcelProperty("编号")
+ private Long id;
+
+ @Schema(description = "映射名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
+ @ExcelProperty("映射名")
+ private String name;
+
+ @Schema(description = "流程信息")
+ @ExcelProperty("流程信息")
+ private String processKey;
+
+ @Schema(description = "表单的提交路径")
+ @ExcelProperty("表单的提交路径")
+ private String formCustomCreatePath;
+
+ @Schema(description = "表单的查看路径")
+ @ExcelProperty("表单的查看路径")
+ private String formCustomViewPath;
+
+ @Schema(description = "状态(0正常 1停用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+ @ExcelProperty(value = "状态(0正常 1停用)", converter = DictConvert.class)
+ @DictFormat("common_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
+ private Integer status;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingSaveReqVO.java
new file mode 100644
index 0000000..5ec3e1a
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/formprocessmapping/vo/FormProcessMappingSaveReqVO.java
@@ -0,0 +1,32 @@
+package cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+
+@Schema(description = "管理后台 - BPM 表单工作流对应新增/修改 Request VO")
+@Data
+public class FormProcessMappingSaveReqVO {
+
+ @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7811")
+ private Long id;
+
+ @Schema(description = "映射名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
+ @NotEmpty(message = "映射名不能为空")
+ private String name;
+
+ @Schema(description = "流程信息")
+ private String processKey;
+
+ @Schema(description = "表单的提交路径")
+ private String formCustomCreatePath;
+
+ @Schema(description = "表单的查看路径")
+ private String formCustomViewPath;
+
+ @Schema(description = "状态(0正常 1停用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+ @NotNull(message = "状态(0正常 1停用)不能为空")
+ private Integer status;
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java
index 3c8612d..c16c68b 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/knows/vo/KnowledgeSaveReqVO.java
@@ -40,9 +40,6 @@ public class KnowledgeSaveReqVO {
@Schema(description = "文件路径")
private String[] filePath;
-// private List filePath;
-// private List filePath;
-
@Schema(description = "评论列表")
private List comments;
@@ -53,4 +50,7 @@ public class KnowledgeSaveReqVO {
@Schema(description = "发起人自选审批人 Map", example = "{taskKey1: [1, 2]}")
private Map> startUserSelectAssignees;
+
+ @Schema(description = "流程定义key")
+ private String processDefinitionKey;
}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/formprocessmapping/FormProcessMappingDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/formprocessmapping/FormProcessMappingDO.java
new file mode 100644
index 0000000..384bf5f
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/formprocessmapping/FormProcessMappingDO.java
@@ -0,0 +1,53 @@
+package cn.iocoder.yudao.module.bpm.dal.dataobject.formprocessmapping;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * BPM 表单工作流对应 DO
+ *
+ * @author 君风
+ */
+@TableName("bpm_form_process_mapping")
+@KeySequence("bpm_form_process_mapping_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FormProcessMappingDO extends BaseDO {
+
+ /**
+ * 编号
+ */
+ @TableId
+ private Long id;
+ /**
+ * 映射名
+ */
+ private String name;
+ /**
+ * 流程信息
+ */
+ private String processKey;
+ /**
+ * 表单的提交路径
+ */
+ private String formCustomCreatePath;
+ /**
+ * 表单的查看路径
+ */
+ private String formCustomViewPath;
+ /**
+ * 状态(0正常 1停用)
+ *
+ * 枚举 {@link TODO common_status 对应的类}
+ */
+ private Integer status;
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/formprocessmapping/FormProcessMappingMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/formprocessmapping/FormProcessMappingMapper.java
new file mode 100644
index 0000000..115d616
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/formprocessmapping/FormProcessMappingMapper.java
@@ -0,0 +1,31 @@
+package cn.iocoder.yudao.module.bpm.dal.mysql.formprocessmapping;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.formprocessmapping.FormProcessMappingDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo.*;
+
+/**
+ * BPM 表单工作流对应 Mapper
+ *
+ * @author 君风
+ */
+@Mapper
+public interface FormProcessMappingMapper extends BaseMapperX {
+
+ default PageResult selectPage(FormProcessMappingPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .likeIfPresent(FormProcessMappingDO::getName, reqVO.getName())
+ .eqIfPresent(FormProcessMappingDO::getProcessKey, reqVO.getProcessKey())
+ .eqIfPresent(FormProcessMappingDO::getFormCustomCreatePath, reqVO.getFormCustomCreatePath())
+ .eqIfPresent(FormProcessMappingDO::getFormCustomViewPath, reqVO.getFormCustomViewPath())
+ .eqIfPresent(FormProcessMappingDO::getStatus, reqVO.getStatus())
+ .betweenIfPresent(FormProcessMappingDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(FormProcessMappingDO::getId));
+ }
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingService.java
new file mode 100644
index 0000000..44880b4
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingService.java
@@ -0,0 +1,55 @@
+package cn.iocoder.yudao.module.bpm.service.formprocessmapping;
+
+import java.util.*;
+import javax.validation.*;
+import cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo.*;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.formprocessmapping.FormProcessMappingDO;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+
+/**
+ * BPM 表单工作流对应 Service 接口
+ *
+ * @author 君风
+ */
+public interface FormProcessMappingService {
+
+ /**
+ * 创建BPM 表单工作流对应
+ *
+ * @param createReqVO 创建信息
+ * @return 编号
+ */
+ Long createFormProcessMapping(@Valid FormProcessMappingSaveReqVO createReqVO);
+
+ /**
+ * 更新BPM 表单工作流对应
+ *
+ * @param updateReqVO 更新信息
+ */
+ void updateFormProcessMapping(@Valid FormProcessMappingSaveReqVO updateReqVO);
+
+ /**
+ * 删除BPM 表单工作流对应
+ *
+ * @param id 编号
+ */
+ void deleteFormProcessMapping(Long id);
+
+ /**
+ * 获得BPM 表单工作流对应
+ *
+ * @param id 编号
+ * @return BPM 表单工作流对应
+ */
+ FormProcessMappingDO getFormProcessMapping(Long id);
+
+ /**
+ * 获得BPM 表单工作流对应分页
+ *
+ * @param pageReqVO 分页查询
+ * @return BPM 表单工作流对应分页
+ */
+ PageResult getFormProcessMappingPage(FormProcessMappingPageReqVO pageReqVO);
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingServiceImpl.java
new file mode 100644
index 0000000..24bc4df
--- /dev/null
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/formprocessmapping/FormProcessMappingServiceImpl.java
@@ -0,0 +1,74 @@
+package cn.iocoder.yudao.module.bpm.service.formprocessmapping;
+
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import cn.iocoder.yudao.module.bpm.controller.admin.formprocessmapping.vo.*;
+import cn.iocoder.yudao.module.bpm.dal.dataobject.formprocessmapping.FormProcessMappingDO;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+import cn.iocoder.yudao.module.bpm.dal.mysql.formprocessmapping.FormProcessMappingMapper;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.bpm.enums.ErrorCodeConstants.*;
+
+/**
+ * BPM 表单工作流对应 Service 实现类
+ *
+ * @author 君风
+ */
+@Service
+@Validated
+public class FormProcessMappingServiceImpl implements FormProcessMappingService {
+
+ @Resource
+ private FormProcessMappingMapper formProcessMappingMapper;
+
+ @Override
+ public Long createFormProcessMapping(FormProcessMappingSaveReqVO createReqVO) {
+ // 插入
+ FormProcessMappingDO formProcessMapping = BeanUtils.toBean(createReqVO, FormProcessMappingDO.class);
+ formProcessMappingMapper.insert(formProcessMapping);
+ // 返回
+ return formProcessMapping.getId();
+ }
+
+ @Override
+ public void updateFormProcessMapping(FormProcessMappingSaveReqVO updateReqVO) {
+ // 校验存在
+ validateFormProcessMappingExists(updateReqVO.getId());
+ // 更新
+ FormProcessMappingDO updateObj = BeanUtils.toBean(updateReqVO, FormProcessMappingDO.class);
+ formProcessMappingMapper.updateById(updateObj);
+ }
+
+ @Override
+ public void deleteFormProcessMapping(Long id) {
+ // 校验存在
+ validateFormProcessMappingExists(id);
+ // 删除
+ formProcessMappingMapper.deleteById(id);
+ }
+
+ private void validateFormProcessMappingExists(Long id) {
+ if (formProcessMappingMapper.selectById(id) == null) {
+ throw exception(FORM_PROCESS_MAPPING_NOT_EXISTS);
+ }
+ }
+
+ @Override
+ public FormProcessMappingDO getFormProcessMapping(Long id) {
+ return formProcessMappingMapper.selectById(id);
+ }
+
+ @Override
+ public PageResult getFormProcessMappingPage(FormProcessMappingPageReqVO pageReqVO) {
+ return formProcessMappingMapper.selectPage(pageReqVO);
+ }
+
+}
diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java
index 8b9a65b..a631586 100644
--- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java
+++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/knows/KnowledgeServiceImpl.java
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
+import cn.iocoder.yudao.module.infra.service.config.ConfigService;
import com.alibaba.fastjson.JSON;
import org.apache.commons.compress.utils.Lists;
import org.elasticsearch.action.search.SearchRequest;
@@ -46,7 +47,8 @@ import cn.iocoder.yudao.framework.common.util.elasticsearch.EsearchUtils;
@Service
@Validated
public class KnowledgeServiceImpl implements KnowledgeService {
- public static final String PROCESS_KEY = "my-test-flow03";
+// public static final String PROCESS_KEY = "pch-qjgl-001";
+ public static String PROCESS_KEY ="";
@Resource
private KnowledgeMapper knowledgeMapper;
@Resource
@@ -58,14 +60,17 @@ public class KnowledgeServiceImpl implements KnowledgeService {
private String indexName = "knows_index";
@Resource
- private RestHighLevelClient esClient;
+ private ConfigService configService;
+
@Override
@Transactional(rollbackFor = Exception.class)
public Long createKnowledge(Long userId,KnowledgeSaveReqVO createReqVO){
+ PROCESS_KEY = createReqVO.getProcessDefinitionKey();
// 插入
KnowledgeDO knowledge = BeanUtils.toBean(createReqVO, KnowledgeDO.class)
.setUserId(userId).setFlowStatus(BpmTaskStatusEnum.RUNNING.getStatus());
knowledgeMapper.insert(knowledge);
+
// 插入子表
createCommentList(knowledge.getId(), createReqVO.getComments());
// 发起 BPM 流程
@@ -79,6 +84,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
knowledgeMapper.updateById(new KnowledgeDO().setId(knowledge.getId()).setProcessInstanceId(processInstanceId));
try {
if (isEsFlag){
+ EsearchUtils.initialize(configService.getConfigByKey("esearch.ip").getValue() );
EsearchUtils.saveIndex(knowledge.getId(),createReqVO,indexName);
}
//saveIndex(createReqVO);
@@ -98,6 +104,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
KnowledgeDO updateObj = BeanUtils.toBean(updateReqVO, KnowledgeDO.class);
knowledgeMapper.updateById(updateObj);
if (isEsFlag){
+ EsearchUtils.initialize(configService.getConfigByKey("esearch.ip").getValue() );
EsearchUtils.updateIndex(updateReqVO.getId(),updateReqVO,indexName);
}
// 更新子表
@@ -112,6 +119,7 @@ public class KnowledgeServiceImpl implements KnowledgeService {
// 删除
knowledgeMapper.deleteById(id);
if (isEsFlag){
+ EsearchUtils.initialize(configService.getConfigByKey("esearch.ip").getValue() );
EsearchUtils.deleteKmsMainById(id,indexName);
}
// 删除子表