Ver código fonte

Merge remote-tracking branch 'origin/master'

LLL 1 ano atrás
pai
commit
a9fed06469
39 arquivos alterados com 2158 adições e 0 exclusões
  1. 199 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmFlowPathController.java
  2. 177 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmFlowPathStepController.java
  3. 215 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathController.java
  4. 177 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathLogController.java
  5. 176 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathStepController.java
  6. 37 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/convert/FlowPathConvert.java
  7. 21 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmCreateRunFlowPath.java
  8. 18 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmRejectDQRunFlowPath.java
  9. 22 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmRejectZDRunFlowPath.java
  10. 19 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmSaveRunFlowPath.java
  11. 64 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmFlowPath.java
  12. 79 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmFlowPathStep.java
  13. 91 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPath.java
  14. 93 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPathLog.java
  15. 92 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPathStep.java
  16. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmFlowPathMapper.java
  17. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmFlowPathStepMapper.java
  18. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmRunFlowPathLogMapper.java
  19. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmRunFlowPathMapper.java
  20. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmRunFlowPathStepMapper.java
  21. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmFlowPathMapper.xml
  22. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmFlowPathStepMapper.xml
  23. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmRunFlowPathLogMapper.xml
  24. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmRunFlowPathMapper.xml
  25. 5 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmRunFlowPathStepMapper.xml
  26. 18 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathService.java
  27. 14 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathStepService.java
  28. 14 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathLogService.java
  29. 17 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathService.java
  30. 35 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathStepService.java
  31. 60 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFZRunFlowPathLogService.java
  32. 38 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathServiceImpl.java
  33. 19 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathStepServiceImpl.java
  34. 19 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathLogServiceImpl.java
  35. 92 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathServiceImpl.java
  36. 162 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathStepServiceImpl.java
  37. 19 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/ItdmBuohuiRunFlowPathStepVO.java
  38. 23 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/ItdmRunFlowPathInfoVO.java
  39. 38 0
      itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/ItdmRunFlowPathStepVO.java

+ 199 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmFlowPathController.java

@@ -0,0 +1,199 @@
+package org.jeecg.modules.flowpath.controller;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.google.common.collect.Maps;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+/**
+ * @Description: 流程表
+ * @Author: jeecg-boot
+ * @Date: 2023-07-20
+ * @Version: V1.0
+ */
+@Api(tags = "流程表")
+@RestController
+@RequestMapping("/flowpath/itdmFlowPath")
+@Slf4j
+public class ItdmFlowPathController extends JeecgController<ItdmFlowPath, IItdmFlowPathService> {
+    @Autowired
+    private IItdmFlowPathService itdmFlowPathService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param itdmFlowPath
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "流程表-分页列表查询")
+    @ApiOperation(value = "流程表-分页列表查询", notes = "流程表-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<ItdmFlowPath>> queryPageList(ItdmFlowPath itdmFlowPath,
+                                                     @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                     HttpServletRequest req) {
+        QueryWrapper<ItdmFlowPath> queryWrapper = QueryGenerator.initQueryWrapper(itdmFlowPath, req.getParameterMap());
+        Page<ItdmFlowPath> page = new Page<ItdmFlowPath>(pageNo, pageSize);
+        IPage<ItdmFlowPath> pageList = itdmFlowPathService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    @GetMapping(value = "/querySelectList")
+    public Result<List<Map<String, String>>> queryList() {
+        LambdaQueryWrapper<ItdmFlowPath> queryWrapper = Wrappers.lambdaQuery(ItdmFlowPath.class).eq(ItdmFlowPath::getStatus, 0);
+        List<Map<String, String>> pageList = itdmFlowPathService.list(queryWrapper).stream().map(
+                i -> {
+                    Map<String, String> map = new HashMap<>();
+                    map.put("text", i.getName());
+                    map.put("value", i.getId());
+                    return map;
+                }
+        ).collect(Collectors.toList());
+        return Result.OK(pageList);
+    }
+
+
+    /**
+     * 添加
+     *
+     * @param itdmFlowPath
+     * @return
+     */
+    @AutoLog(value = "流程表-添加")
+    @ApiOperation(value = "流程表-添加", notes = "流程表-添加")
+    //@RequiresPermissions("org.jeecg.modules:itdm_flow_path:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody ItdmFlowPath itdmFlowPath) {
+        itdmFlowPathService.save(itdmFlowPath);
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param itdmFlowPath
+     * @return
+     */
+    @AutoLog(value = "流程表-编辑")
+    @ApiOperation(value = "流程表-编辑", notes = "流程表-编辑")
+    //@RequiresPermissions("org.jeecg.modules:itdm_flow_path:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody ItdmFlowPath itdmFlowPath) {
+        itdmFlowPathService.updateById(itdmFlowPath);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "流程表-通过id删除")
+    @ApiOperation(value = "流程表-通过id删除", notes = "流程表-通过id删除")
+    //@RequiresPermissions("org.jeecg.modules:itdm_flow_path:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        itdmFlowPathService.removeById(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "流程表-批量删除")
+    @ApiOperation(value = "流程表-批量删除", notes = "流程表-批量删除")
+    //@RequiresPermissions("org.jeecg.modules:itdm_flow_path:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.itdmFlowPathService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "流程表-通过id查询")
+    @ApiOperation(value = "流程表-通过id查询", notes = "流程表-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<ItdmFlowPath> queryById(@RequestParam(name = "id", required = true) String id) {
+        ItdmFlowPath itdmFlowPath = itdmFlowPathService.getById(id);
+        if (itdmFlowPath == null) {
+            return Result.error("未找到对应数据");
+        }
+        return Result.OK(itdmFlowPath);
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param itdmFlowPath
+     */
+    //@RequiresPermissions("org.jeecg.modules:itdm_flow_path:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmFlowPath itdmFlowPath) {
+        return super.exportXls(request, itdmFlowPath, ItdmFlowPath.class, "流程表");
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    //@RequiresPermissions("itdm_flow_path:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmFlowPath.class);
+    }
+
+
+}

+ 177 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmFlowPathStepController.java

@@ -0,0 +1,177 @@
+package org.jeecg.modules.flowpath.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathStepService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Api(tags="流程步骤表")
+@RestController
+@RequestMapping("/flowpath/itdmFlowPathStep")
+@Slf4j
+public class ItdmFlowPathStepController extends JeecgController<ItdmFlowPathStep, IItdmFlowPathStepService> {
+	@Autowired
+	private IItdmFlowPathStepService itdmFlowPathStepService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param itdmFlowPathStep
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "流程步骤表-分页列表查询")
+	@ApiOperation(value="流程步骤表-分页列表查询", notes="流程步骤表-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<ItdmFlowPathStep>> queryPageList(ItdmFlowPathStep itdmFlowPathStep,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ItdmFlowPathStep> queryWrapper = QueryGenerator.initQueryWrapper(itdmFlowPathStep, req.getParameterMap());
+		Page<ItdmFlowPathStep> page = new Page<ItdmFlowPathStep>(pageNo, pageSize);
+		IPage<ItdmFlowPathStep> pageList = itdmFlowPathStepService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param itdmFlowPathStep
+	 * @return
+	 */
+	@AutoLog(value = "流程步骤表-添加")
+	@ApiOperation(value="流程步骤表-添加", notes="流程步骤表-添加")
+	//@RequiresPermissions("org.jeecg.modules:itdm_flow_path_step:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody ItdmFlowPathStep itdmFlowPathStep) {
+		itdmFlowPathStepService.save(itdmFlowPathStep);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param itdmFlowPathStep
+	 * @return
+	 */
+	@AutoLog(value = "流程步骤表-编辑")
+	@ApiOperation(value="流程步骤表-编辑", notes="流程步骤表-编辑")
+	//@RequiresPermissions("org.jeecg.modules:itdm_flow_path_step:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody ItdmFlowPathStep itdmFlowPathStep) {
+		itdmFlowPathStepService.updateById(itdmFlowPathStep);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "流程步骤表-通过id删除")
+	@ApiOperation(value="流程步骤表-通过id删除", notes="流程步骤表-通过id删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_flow_path_step:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		itdmFlowPathStepService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "流程步骤表-批量删除")
+	@ApiOperation(value="流程步骤表-批量删除", notes="流程步骤表-批量删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_flow_path_step:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.itdmFlowPathStepService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "流程步骤表-通过id查询")
+	@ApiOperation(value="流程步骤表-通过id查询", notes="流程步骤表-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<ItdmFlowPathStep> queryById(@RequestParam(name="id",required=true) String id) {
+		ItdmFlowPathStep itdmFlowPathStep = itdmFlowPathStepService.getById(id);
+		if(itdmFlowPathStep==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(itdmFlowPathStep);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param itdmFlowPathStep
+    */
+    //@RequiresPermissions("org.jeecg.modules:itdm_flow_path_step:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmFlowPathStep itdmFlowPathStep) {
+        return super.exportXls(request, itdmFlowPathStep, ItdmFlowPathStep.class, "流程步骤表");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("itdm_flow_path_step:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmFlowPathStep.class);
+    }
+
+}

+ 215 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathController.java

@@ -0,0 +1,215 @@
+package org.jeecg.modules.flowpath.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.flowpath.convert.FlowPathConvert;
+import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathService;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathStepService;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathService;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathStepService;
+import org.jeecg.modules.flowpath.vo.ItdmRunFlowPathInfoVO;
+import org.jeecg.modules.flowpath.vo.ItdmRunFlowPathStepVO;
+import org.jeecg.modules.system.service.impl.SysBaseApiImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 运行流程表
+ * @Author: jeecg-boot
+ * @Date: 2023-07-20
+ * @Version: V1.0
+ */
+@Api(tags = "运行流程表")
+@RestController
+@RequestMapping("/flowpath/itdmRunFlowPath")
+@Slf4j
+public class ItdmRunFlowPathController extends JeecgController<ItdmRunFlowPath, IItdmRunFlowPathService> {
+    @Autowired
+    private IItdmRunFlowPathService itdmRunFlowPathService;
+    @Autowired
+    private IItdmFlowPathService itdmFlowPathService;
+
+    @Autowired
+    private IItdmRunFlowPathStepService itdmRunFlowPathStepService;
+
+
+    @Autowired
+    private IItdmFlowPathStepService iItdmFlowPathStepService;
+
+
+    @Autowired
+    private SysBaseApiImpl sysBaseApi;
+
+
+    /**
+     * 分页列表查询
+     *
+     * @param itdmRunFlowPath
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    //@AutoLog(value = "运行流程表-分页列表查询")
+    @ApiOperation(value = "运行流程表-分页列表查询", notes = "运行流程表-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<ItdmRunFlowPath>> queryPageList(ItdmRunFlowPath itdmRunFlowPath,
+                                                        @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                        HttpServletRequest req) {
+        QueryWrapper<ItdmRunFlowPath> queryWrapper = QueryGenerator.initQueryWrapper(itdmRunFlowPath, req.getParameterMap());
+        Page<ItdmRunFlowPath> page = new Page<ItdmRunFlowPath>(pageNo, pageSize);
+        IPage<ItdmRunFlowPath> pageList = itdmRunFlowPathService.page(page, queryWrapper);
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 添加
+     *
+     * @param itdmRunFlowPath
+     * @return
+     */
+    @AutoLog(value = "运行流程表-添加")
+    @ApiOperation(value = "运行流程表-添加", notes = "运行流程表-添加")
+    //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path:add")
+    @PostMapping(value = "/add")
+    public Result<String> add(@RequestBody ItdmCreateRunFlowPath itdmRunFlowPath) {
+        itdmRunFlowPathService.createRunFlowPath(itdmRunFlowPath);
+        return Result.OK("添加成功!");
+    }
+
+    /**
+     * 编辑
+     *
+     * @param itdmRunFlowPath
+     * @return
+     */
+    @AutoLog(value = "运行流程表-编辑")
+    @ApiOperation(value = "运行流程表-编辑", notes = "运行流程表-编辑")
+    //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path:edit")
+    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> edit(@RequestBody ItdmRunFlowPath itdmRunFlowPath) {
+        itdmRunFlowPathService.updateById(itdmRunFlowPath);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "运行流程表-通过id删除")
+    @ApiOperation(value = "运行流程表-通过id删除", notes = "运行流程表-通过id删除")
+    //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path:delete")
+    @DeleteMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+        itdmRunFlowPathService.removeById(id);
+        return Result.OK("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "运行流程表-批量删除")
+    @ApiOperation(value = "运行流程表-批量删除", notes = "运行流程表-批量删除")
+    //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path:deleteBatch")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        this.itdmRunFlowPathService.removeByIds(Arrays.asList(ids.split(",")));
+        return Result.OK("批量删除成功!");
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    //@AutoLog(value = "运行流程表-通过id查询")
+    @ApiOperation(value = "运行流程表-通过id查询", notes = "运行流程表-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<ItdmRunFlowPathInfoVO> queryById(@RequestParam(name = "id", required = true) String id) {
+        ItdmRunFlowPath itdmRunFlowPath = itdmRunFlowPathService.getById(id);
+        if (itdmRunFlowPath == null) {
+            return Result.error("未找到对应数据");
+        }
+
+        List<ItdmRunFlowPathStep> list = itdmRunFlowPathStepService.
+                list(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class).eq(ItdmRunFlowPathStep::getRunFlowPath, id));
+
+
+        List<ItdmRunFlowPathStepVO> vos = new ArrayList<>();
+        for (ItdmRunFlowPathStep i : list) {
+            LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+            List<String> strings = StringUtils.isNotBlank(i.getUserIds()) ?
+                    Arrays.stream(i.getUserIds().split(",")).collect(Collectors.toList()) :
+                    new ArrayList<>();
+            List<String> roleIds = sysBaseApi.getRoleIdsByUsername(user.getUsername());
+            if (strings.contains(user.getUsername()) || roleIds.contains(i.getRoleId())) {
+                vos.add(FlowPathConvert.INSTANCE.to(i, true));
+            } else {
+                vos.add(FlowPathConvert.INSTANCE.to(i, false));
+            }
+
+        }
+
+        return Result.OK(new ItdmRunFlowPathInfoVO(itdmRunFlowPath, vos));
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param itdmRunFlowPath
+     */
+    //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmRunFlowPath itdmRunFlowPath) {
+        return super.exportXls(request, itdmRunFlowPath, ItdmRunFlowPath.class, "运行流程表");
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    //@RequiresPermissions("itdm_run_flow_path:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmRunFlowPath.class);
+    }
+
+
+
+
+}

+ 177 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathLogController.java

@@ -0,0 +1,177 @@
+package org.jeecg.modules.flowpath.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathLog;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathLogService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 运行流程步骤日志
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Api(tags="运行流程步骤日志")
+@RestController
+@RequestMapping("/flowpath/itdmRunFlowPathLog")
+@Slf4j
+public class ItdmRunFlowPathLogController extends JeecgController<ItdmRunFlowPathLog, IItdmRunFlowPathLogService> {
+	@Autowired
+	private IItdmRunFlowPathLogService itdmRunFlowPathLogService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param itdmRunFlowPathLog
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "运行流程步骤日志-分页列表查询")
+	@ApiOperation(value="运行流程步骤日志-分页列表查询", notes="运行流程步骤日志-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<ItdmRunFlowPathLog>> queryPageList(ItdmRunFlowPathLog itdmRunFlowPathLog,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ItdmRunFlowPathLog> queryWrapper = QueryGenerator.initQueryWrapper(itdmRunFlowPathLog, req.getParameterMap());
+		Page<ItdmRunFlowPathLog> page = new Page<ItdmRunFlowPathLog>(pageNo, pageSize);
+		IPage<ItdmRunFlowPathLog> pageList = itdmRunFlowPathLogService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param itdmRunFlowPathLog
+	 * @return
+	 */
+	@AutoLog(value = "运行流程步骤日志-添加")
+	@ApiOperation(value="运行流程步骤日志-添加", notes="运行流程步骤日志-添加")
+	//@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_log:add")
+	@PostMapping(value = "/add")
+	public Result<String> add(@RequestBody ItdmRunFlowPathLog itdmRunFlowPathLog) {
+		itdmRunFlowPathLogService.save(itdmRunFlowPathLog);
+		return Result.OK("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param itdmRunFlowPathLog
+	 * @return
+	 */
+	@AutoLog(value = "运行流程步骤日志-编辑")
+	@ApiOperation(value="运行流程步骤日志-编辑", notes="运行流程步骤日志-编辑")
+	//@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_log:edit")
+	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	public Result<String> edit(@RequestBody ItdmRunFlowPathLog itdmRunFlowPathLog) {
+		itdmRunFlowPathLogService.updateById(itdmRunFlowPathLog);
+		return Result.OK("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "运行流程步骤日志-通过id删除")
+	@ApiOperation(value="运行流程步骤日志-通过id删除", notes="运行流程步骤日志-通过id删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_log:delete")
+	@DeleteMapping(value = "/delete")
+	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+		itdmRunFlowPathLogService.removeById(id);
+		return Result.OK("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "运行流程步骤日志-批量删除")
+	@ApiOperation(value="运行流程步骤日志-批量删除", notes="运行流程步骤日志-批量删除")
+	//@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_log:deleteBatch")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.itdmRunFlowPathLogService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.OK("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	//@AutoLog(value = "运行流程步骤日志-通过id查询")
+	@ApiOperation(value="运行流程步骤日志-通过id查询", notes="运行流程步骤日志-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<ItdmRunFlowPathLog> queryById(@RequestParam(name="id",required=true) String id) {
+		ItdmRunFlowPathLog itdmRunFlowPathLog = itdmRunFlowPathLogService.getById(id);
+		if(itdmRunFlowPathLog==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.OK(itdmRunFlowPathLog);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param itdmRunFlowPathLog
+    */
+    //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_log:exportXls")
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, ItdmRunFlowPathLog itdmRunFlowPathLog) {
+        return super.exportXls(request, itdmRunFlowPathLog, ItdmRunFlowPathLog.class, "运行流程步骤日志");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    //@RequiresPermissions("itdm_run_flow_path_log:importExcel")
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, ItdmRunFlowPathLog.class);
+    }
+
+}

+ 176 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathStepController.java

@@ -0,0 +1,176 @@
+package org.jeecg.modules.flowpath.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import lombok.Getter;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.flowpath.dto.ItdmRejectDQRunFlowPath;
+import org.jeecg.modules.flowpath.dto.ItdmRejectZDRunFlowPath;
+import org.jeecg.modules.flowpath.dto.ItdmSaveRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathStepService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 运行流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Api(tags="运行流程步骤表")
+@RestController
+@RequestMapping("/flowpath/itdmRunFlowPathStep")
+@Slf4j
+public class ItdmRunFlowPathStepController extends JeecgController<ItdmRunFlowPathStep, IItdmRunFlowPathStepService> {
+	@Autowired
+	private IItdmRunFlowPathStepService itdmRunFlowPathStepService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param itdmRunFlowPathStep
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	//@AutoLog(value = "运行流程步骤表-分页列表查询")
+	@ApiOperation(value="运行流程步骤表-分页列表查询", notes="运行流程步骤表-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<IPage<ItdmRunFlowPathStep>> queryPageList(ItdmRunFlowPathStep itdmRunFlowPathStep,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<ItdmRunFlowPathStep> queryWrapper = QueryGenerator.initQueryWrapper(itdmRunFlowPathStep, req.getParameterMap());
+		Page<ItdmRunFlowPathStep> page = new Page<ItdmRunFlowPathStep>(pageNo, pageSize);
+		IPage<ItdmRunFlowPathStep> pageList = itdmRunFlowPathStepService.page(page, queryWrapper);
+		return Result.OK(pageList);
+	}
+	
+
+	
+	/**
+	 *  编辑
+	 *
+	 * @param itdmRunFlowPathStep
+	 * @return
+	 */
+	@AutoLog(value = "运行流程步骤表-保存")
+	@ApiOperation(value="运行流程步骤表-保存", notes="运行流程步骤表-保存")
+	//@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_step:edit")
+	@PostMapping(value = "/save")
+	public Result<String> saveData(@RequestBody ItdmSaveRunFlowPath itdmRunFlowPathStep) {
+		itdmRunFlowPathStepService.saveData(itdmRunFlowPathStep);
+		return Result.OK("编辑成功!");
+	}
+
+
+	 /**
+	  *  编辑
+	  *
+	  * @param itdmRunFlowPathStep
+	  * @return
+	  */
+	 @AutoLog(value = "运行流程步骤表-通过")
+	 @ApiOperation(value="运行流程步骤表-通过", notes="运行流程步骤表-通过")
+	 //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_step:edit")
+	 @PostMapping(value = "/pass")
+	 public Result<String> pass(@RequestBody ItdmSaveRunFlowPath itdmRunFlowPathStep) {
+		 itdmRunFlowPathStepService.pass(itdmRunFlowPathStep);
+		 return Result.OK("编辑成功!");
+	 }
+
+
+
+	 /**
+	  *  编辑
+	  *
+	  * @param itdmRunFlowPathStep
+	  * @return
+	  */
+	 @AutoLog(value = "运行流程步骤表-驳回到上一节点")
+	 @ApiOperation(value="运行流程步骤表-驳回到上一节点", notes="运行流程步骤表-驳回到上一节点")
+	 //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_step:edit")
+	 @PostMapping(value = "/rejectDQ")
+	 public Result<String> RejectDQ(@RequestBody ItdmRejectDQRunFlowPath itdmRunFlowPathStep) {
+		 itdmRunFlowPathStepService.rejectDQ(itdmRunFlowPathStep);
+		 return Result.OK("编辑成功!");
+	 }
+
+
+
+
+	 @AutoLog(value = "运行流程步骤表-当前流程当前执行中之前的节点")
+	 @ApiOperation(value="运行流程步骤表-当前流程当前执行中之前的节点", notes="运行流程步骤表-当前流程当前执行中之前的节点")
+	 @GetMapping("yrunList")
+	 public  Result<List<ItdmBuohuiRunFlowPathStepVO>> yrunList(String runFlowPath) {
+
+		 return Result.OK( itdmRunFlowPathStepService.yrunList(runFlowPath));
+	 }
+
+
+
+	 /**
+	  *  编辑
+	  *
+	  * @param itdmRunFlowPathStep
+	  * @return
+	  */
+	 @AutoLog(value = "运行流程步骤表-驳回到指定节点")
+	 @ApiOperation(value="运行流程步骤表-驳回到指定节点", notes="运行流程步骤表-驳回到指定节点")
+	 //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_step:edit")
+	 @PostMapping(value = "/rejectzd")
+	 public Result<String> rejectzd(@RequestBody ItdmRejectZDRunFlowPath itdmRunFlowPathStep) {
+		 itdmRunFlowPathStepService.rejectzd(itdmRunFlowPathStep);
+		 return Result.OK("编辑成功!");
+	 }
+
+
+	 /**
+	  * 编辑
+	  *
+	  * @return
+	  */
+	 @AutoLog(value = "运行流程步骤表-流程结束")
+	 @ApiOperation(value = "运行流程步骤表-流程结束", notes = "运行流程步骤表-流程结束")
+	 //@RequiresPermissions("org.jeecg.modules:itdm_run_flow_path_step:edit")
+	 @GetMapping(value = "/jieshu")
+	 public Result<String> jieshu(String runFlowPath) {
+
+		 itdmRunFlowPathStepService.jieshu(runFlowPath);
+		 return Result.OK("编辑成功!");
+	 }
+
+
+ }

+ 37 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/convert/FlowPathConvert.java

@@ -0,0 +1,37 @@
+package org.jeecg.modules.flowpath.convert;
+
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
+import org.jeecg.modules.flowpath.vo.ItdmRunFlowPathStepVO;
+import org.mapstruct.Mapper;
+import org.mapstruct.Mapping;
+import org.mapstruct.ReportingPolicy;
+import org.mapstruct.factory.Mappers;
+
+/**
+ * 敏感词 Convert
+ *
+ */
+@Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE)
+
+public interface FlowPathConvert {
+
+    FlowPathConvert INSTANCE = Mappers.getMapper(FlowPathConvert.class);
+
+    @Mapping(target = "flowPath", source = "step.flowPathId")
+    @Mapping(target = "flowPathSetp", source = "step.id")
+    @Mapping(target = "name", source = "step.name")
+    @Mapping(target = "sort", source = "step.sort")
+    @Mapping(target = "saveData", source = "saveData")
+    @Mapping(target = "id", ignore = true)
+    @Mapping(target = "userIds", source = "step.userIds")
+    @Mapping(target = "roleId", source = "step.roleId")
+    ItdmRunFlowPathStep to(ItdmFlowPathStep step, String saveData, String runFlowPath);
+
+
+    ItdmRunFlowPathStepVO to(ItdmRunFlowPathStep step, Boolean isUpdate);
+
+
+    ItdmBuohuiRunFlowPathStepVO to(ItdmRunFlowPathStep step);
+}

+ 21 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmCreateRunFlowPath.java

@@ -0,0 +1,21 @@
+package org.jeecg.modules.flowpath.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ItdmCreateRunFlowPath {
+    @ApiModelProperty(value = "主键id")
+    private java.lang.String flowPathId;
+
+    @ApiModelProperty(value = "委托编号")
+
+    private String weituoNo;
+
+//
+//    @ApiModelProperty(value = "保存数据")
+//    private java.lang.String saveData;
+
+}

+ 18 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmRejectDQRunFlowPath.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.flowpath.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ItdmRejectDQRunFlowPath {
+    @ApiModelProperty(value = "运行流程id")
+    private String runFlowPath;
+
+    @ApiModelProperty(value = "原因")
+
+    private String yuanyin;
+
+
+}

+ 22 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmRejectZDRunFlowPath.java

@@ -0,0 +1,22 @@
+package org.jeecg.modules.flowpath.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ItdmRejectZDRunFlowPath {
+    @ApiModelProperty(value = "运行流程id")
+    private String runFlowPath;
+
+
+    @ApiModelProperty(value = "运行流程步骤id")
+    private String runFlowPathSept;
+
+    @ApiModelProperty(value = "原因")
+
+    private String yuanyin;
+
+
+}

+ 19 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/dto/ItdmSaveRunFlowPath.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.flowpath.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+public class ItdmSaveRunFlowPath {
+    @ApiModelProperty(value = "需要保存或者需要通过的当前运行中步骤id")
+    private String runFlowPathStep;
+
+
+
+
+    @ApiModelProperty(value = "保存数据")
+    private java.lang.String saveData;
+
+}

+ 64 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmFlowPath.java

@@ -0,0 +1,64 @@
+package org.jeecg.modules.flowpath.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("itdm_flow_path")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="itdm_flow_path对象", description="流程表")
+public class ItdmFlowPath implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**名称*/
+	@Excel(name = "名称", width = 15)
+    @ApiModelProperty(value = "名称")
+    private java.lang.String name;
+	/**状态*/
+	@Excel(name = "状态", width = 15, dicCode = "flow_path_qidong_status")
+	@Dict(dicCode = "flow_path_qidong_status")
+    @ApiModelProperty(value = "状态")
+    private java.lang.String status;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+}

+ 79 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmFlowPathStep.java

@@ -0,0 +1,79 @@
+package org.jeecg.modules.flowpath.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("itdm_flow_path_step")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="itdm_flow_path_step对象", description="流程步骤表")
+public class ItdmFlowPathStep implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**流程id*/
+	@Excel(name = "流程id", width = 15)
+    @ApiModelProperty(value = "流程id")
+    @Dict(dictTable ="itdm_flow_path", dicCode = "id",dicText = "name")
+
+    private String flowPathId;
+	/**步骤名称*/
+	@Excel(name = "步骤名称", width = 15)
+    @ApiModelProperty(value = "步骤名称")
+    private String name;
+	/**所属用户*/
+	@Excel(name = "所属用户", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "所属用户")
+    private String userIds;
+	/**所属角色*/
+	@Excel(name = "所属角色", width = 15, dictTable = "sys_role", dicText = "role_name", dicCode = "id")
+	@Dict(dictTable = "sys_role", dicText = "role_name", dicCode = "id")
+    @ApiModelProperty(value = "所属角色")
+    private String roleId;
+	/**步骤顺序*/
+	@Excel(name = "步骤顺序", width = 15)
+    @ApiModelProperty(value = "步骤顺序")
+    private String sort;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+}

+ 91 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPath.java

@@ -0,0 +1,91 @@
+package org.jeecg.modules.flowpath.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 运行流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("itdm_run_flow_path")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="itdm_run_flow_path对象", description="运行流程表")
+public class ItdmRunFlowPath implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**流程id*/
+	@Excel(name = "流程id", width = 15)
+    @ApiModelProperty(value = "流程id")
+    @Dict(dictTable ="itdm_flow_path", dicCode = "id",dicText = "name")
+
+    private String flowPathId;
+	/**名称*/
+	@Excel(name = "名称", width = 15)
+    @ApiModelProperty(value = "名称")
+    private String name;
+	/**发起人*/
+	@Excel(name = "发起人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "发起人")
+    private String faqiUser;
+	/**委托编号*/
+	@Excel(name = "委托编号", width = 15)
+    @ApiModelProperty(value = "委托编号")
+    private String weituoNo;
+	/**当前步骤id*/
+	@Excel(name = "当前步骤id", width = 15, dictTable = "itdm_flow_path_step", dicText = "name", dicCode = "id")
+	@Dict(dictTable = "itdm_flow_path_step", dicText = "name", dicCode = "id")
+    @ApiModelProperty(value = "当前步骤id")
+    private String dqSetp;
+	/**当前步骤用户*/
+	@Excel(name = "当前步骤用户", width = 15)
+    @ApiModelProperty(value = "当前步骤用户")
+    private String dqSetpUserIds;
+	/**当前步骤角色*/
+	@Excel(name = "当前步骤角色", width = 15)
+    @ApiModelProperty(value = "当前步骤角色")
+    private String dqSetpRoleId;
+	/**状态*/
+	@Excel(name = "状态", width = 15)
+    @ApiModelProperty(value = "状态")
+    private String status;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+}

+ 93 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPathLog.java

@@ -0,0 +1,93 @@
+package org.jeecg.modules.flowpath.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 运行流程步骤日志
+ * @Author: jeecg-boot
+ * @Date:   2023-07-21
+ * @Version: V1.0
+ */
+@Data
+@TableName("itdm_run_flow_path_log")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="itdm_run_flow_path_log对象", description="运行流程步骤日志")
+public class ItdmRunFlowPathLog implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**流程id*/
+	@Excel(name = "流程id", width = 15)
+    @ApiModelProperty(value = "流程id")
+    @Dict(dictTable ="itdm_flow_path", dicCode = "id",dicText = "name")
+    private String runFlowPath;
+	/**当前步骤id*/
+	@Excel(name = "当前步骤id", width = 15)
+    @ApiModelProperty(value = "当前步骤id")
+    private String runFlowPathSetp;
+	/**当前步骤名称*/
+	@Excel(name = "当前步骤名称", width = 15)
+    @ApiModelProperty(value = "当前步骤名称")
+    private String runFlowPathSetpName;
+	/**描述*/
+	@Excel(name = "描述", width = 15)
+    @ApiModelProperty(value = "描述")
+    private String miaoshu;
+	/**顺序*/
+	@Excel(name = "顺序", width = 15)
+    @ApiModelProperty(value = "顺序")
+    private String sort;
+	/**执行人*/
+	@Excel(name = "执行人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "执行人")
+    private String fqUser;
+	/**下一个节点*/
+	@Excel(name = "下一个节点", width = 15)
+    @ApiModelProperty(value = "下一个节点")
+    private String xiaRunFlowPathSetp;
+	/**下一个节点名称*/
+	@Excel(name = "下一个节点名称", width = 15)
+    @ApiModelProperty(value = "下一个节点名称")
+    private String xiaRunFlowPathSetpName;
+	/**类型*/
+	@Excel(name = "类型", width = 15)
+    @ApiModelProperty(value = "类型")
+    private String type;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+}

+ 92 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/entity/ItdmRunFlowPathStep.java

@@ -0,0 +1,92 @@
+package org.jeecg.modules.flowpath.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 运行流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Data
+@TableName("itdm_run_flow_path_step")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="itdm_run_flow_path_step对象", description="运行流程步骤表")
+public class ItdmRunFlowPathStep implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+	/**流程id*/
+	@Excel(name = "流程id", width = 15)
+    @ApiModelProperty(value = "流程id")
+    private String flowPath;
+
+    @Excel(name = "运行流程id", width = 15)
+    @ApiModelProperty(value = "运行流程id")
+    private java.lang.String runFlowPath;
+	/**流程步骤id*/
+	@Excel(name = "流程步骤id", width = 15)
+    @ApiModelProperty(value = "流程步骤id")
+    private String flowPathSetp;
+	/**步骤名称*/
+	@Excel(name = "步骤名称", width = 15)
+    @ApiModelProperty(value = "步骤名称")
+    private String name;
+	/**最后修改人员*/
+	@Excel(name = "最后修改人员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
+	@Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
+    @ApiModelProperty(value = "最后修改人员")
+    private String fqUser;
+	/**所属用户*/
+	@Excel(name = "所属用户", width = 15)
+    @ApiModelProperty(value = "所属用户")
+    private String userIds;
+	/**所属角色*/
+	@Excel(name = "所属角色", width = 15)
+    @ApiModelProperty(value = "所属角色")
+    private String roleId;
+	/**步骤顺序*/
+	@Excel(name = "步骤顺序", width = 15)
+    @ApiModelProperty(value = "步骤顺序")
+    private String sort;
+	/**表单数据*/
+	@Excel(name = "表单数据", width = 15)
+    @ApiModelProperty(value = "表单数据")
+    private String saveData;
+	/**创建人*/
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+	/**创建日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private Date createTime;
+	/**更新人*/
+    @ApiModelProperty(value = "更新人")
+    private String updateBy;
+	/**更新日期*/
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private Date updateTime;
+}

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmFlowPathMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.flowpath.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface ItdmFlowPathMapper extends BaseMapper<ItdmFlowPath> {
+
+}

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmFlowPathStepMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.flowpath.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface ItdmFlowPathStepMapper extends BaseMapper<ItdmFlowPathStep> {
+
+}

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmRunFlowPathLogMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.flowpath.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathLog;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 运行流程步骤日志
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface ItdmRunFlowPathLogMapper extends BaseMapper<ItdmRunFlowPathLog> {
+
+}

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmRunFlowPathMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.flowpath.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 运行流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface ItdmRunFlowPathMapper extends BaseMapper<ItdmRunFlowPath> {
+
+}

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/ItdmRunFlowPathStepMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.flowpath.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 运行流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface ItdmRunFlowPathStepMapper extends BaseMapper<ItdmRunFlowPathStep> {
+
+}

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmFlowPathMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.flowpath.mapper.ItdmFlowPathMapper">
+
+</mapper>

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmFlowPathStepMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.flowpath.mapper.ItdmFlowPathStepMapper">
+
+</mapper>

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmRunFlowPathLogMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathLogMapper">
+
+</mapper>

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmRunFlowPathMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathMapper">
+
+</mapper>

+ 5 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/mapper/xml/ItdmRunFlowPathStepMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathStepMapper">
+
+</mapper>

+ 18 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathService.java

@@ -0,0 +1,18 @@
+package org.jeecg.modules.flowpath.service;
+
+import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @Description: 流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface IItdmFlowPathService extends IService<ItdmFlowPath> {
+
+
+
+}

+ 14 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmFlowPathStepService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.flowpath.service;
+
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface IItdmFlowPathStepService extends IService<ItdmFlowPathStep> {
+
+}

+ 14 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathLogService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.flowpath.service;
+
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathLog;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 运行流程步骤日志
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface IItdmRunFlowPathLogService extends IService<ItdmRunFlowPathLog> {
+
+}

+ 17 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathService.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.flowpath.service;
+
+import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 运行流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface IItdmRunFlowPathService extends IService<ItdmRunFlowPath> {
+    void    createRunFlowPath( ItdmCreateRunFlowPath itdmCreateRunFlowPath);
+
+
+}

+ 35 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/IItdmRunFlowPathStepService.java

@@ -0,0 +1,35 @@
+package org.jeecg.modules.flowpath.service;
+
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.flowpath.dto.ItdmRejectDQRunFlowPath;
+import org.jeecg.modules.flowpath.dto.ItdmRejectZDRunFlowPath;
+import org.jeecg.modules.flowpath.dto.ItdmSaveRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
+
+import java.util.List;
+
+/**
+ * @Description: 运行流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+public interface IItdmRunFlowPathStepService extends IService<ItdmRunFlowPathStep> {
+
+
+    void saveData(ItdmSaveRunFlowPath saveRunFlowPath);
+
+
+    void pass(ItdmSaveRunFlowPath saveRunFlowPath);
+
+    void rejectDQ(ItdmRejectDQRunFlowPath itdmRejectDQRunFlowPath);
+
+    void rejectzd(ItdmRejectZDRunFlowPath zdRunFlowPath);
+
+    public List<ItdmBuohuiRunFlowPathStepVO> yrunList(String runFlowPath);
+
+
+    void jieshu(String s);
+}

+ 60 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFZRunFlowPathLogService.java

@@ -0,0 +1,60 @@
+package org.jeecg.modules.flowpath.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathLog;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathLogMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathStepMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description: 运行流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Service
+public class ItdmFZRunFlowPathLogService {
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmRunFlowPathLogMapper logMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmRunFlowPathStepMapper stepMapper;
+
+    public void insert(String runFlowPath, String dqRunflowpathSept, String nextstep, String type,String miaoshu) {
+
+        List<ItdmRunFlowPathLog> list = logMapper.selectList(Wrappers.lambdaQuery(ItdmRunFlowPathLog.class)
+                .eq(ItdmRunFlowPathLog::getRunFlowPath, runFlowPath));
+
+        int sort = CollectionUtils.isEmpty(list) ? 1 : list.stream().mapToInt(i -> Integer.parseInt(i.getSort())).max().orElse(1) + 1;
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        ItdmRunFlowPathLog itdmRunFlowPathLog = new ItdmRunFlowPathLog();
+
+
+        ItdmRunFlowPathStep dqSept = stepMapper.selectById(dqRunflowpathSept);
+        ItdmRunFlowPathStep nextSept = stepMapper.selectById(nextstep);
+
+        itdmRunFlowPathLog.setRunFlowPath(runFlowPath);
+        itdmRunFlowPathLog.setRunFlowPathSetp(dqRunflowpathSept);
+        itdmRunFlowPathLog.setRunFlowPathSetpName(dqSept.getName());
+        itdmRunFlowPathLog.setMiaoshu(miaoshu);
+        itdmRunFlowPathLog.setSort(sort + "");
+        itdmRunFlowPathLog.setFqUser(user.getUsername());
+        itdmRunFlowPathLog.setXiaRunFlowPathSetp(nextstep);
+        itdmRunFlowPathLog.setXiaRunFlowPathSetpName(nextSept.getName());
+        itdmRunFlowPathLog.setType(type);
+
+        logMapper.insert(itdmRunFlowPathLog);
+    }
+
+}

+ 38 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathServiceImpl.java

@@ -0,0 +1,38 @@
+package org.jeecg.modules.flowpath.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.flowpath.convert.FlowPathConvert;
+import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.mapper.ItdmFlowPathMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmFlowPathStepMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathStepMapper;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Description: 流程表
+ * @Author: jeecg-boot
+ * @Date: 2023-07-20
+ * @Version: V1.0
+ */
+@Service
+public class ItdmFlowPathServiceImpl extends ServiceImpl<ItdmFlowPathMapper, ItdmFlowPath> implements IItdmFlowPathService {
+
+
+}

+ 19 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmFlowPathStepServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.flowpath.service.impl;
+
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import org.jeecg.modules.flowpath.mapper.ItdmFlowPathStepMapper;
+import org.jeecg.modules.flowpath.service.IItdmFlowPathStepService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 流程步骤表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Service
+public class ItdmFlowPathStepServiceImpl extends ServiceImpl<ItdmFlowPathStepMapper, ItdmFlowPathStep> implements IItdmFlowPathStepService {
+
+}

+ 19 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathLogServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.flowpath.service.impl;
+
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathLog;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathLogMapper;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathLogService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 运行流程步骤日志
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Service
+public class ItdmRunFlowPathLogServiceImpl extends ServiceImpl<ItdmRunFlowPathLogMapper, ItdmRunFlowPathLog> implements IItdmRunFlowPathLogService {
+
+}

+ 92 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathServiceImpl.java

@@ -0,0 +1,92 @@
+package org.jeecg.modules.flowpath.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.flowpath.convert.FlowPathConvert;
+import org.jeecg.modules.flowpath.dto.ItdmCreateRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmFlowPathStep;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.mapper.ItdmFlowPathMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmFlowPathStepMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathStepMapper;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * @Description: 运行流程表
+ * @Author: jeecg-boot
+ * @Date:   2023-07-20
+ * @Version: V1.0
+ */
+@Service
+public class ItdmRunFlowPathServiceImpl extends ServiceImpl<ItdmRunFlowPathMapper, ItdmRunFlowPath> implements IItdmRunFlowPathService {
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmFlowPathMapper itdmFlowPathMapper;
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmFlowPathStepMapper itdmFlowPathStepMapper;
+
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmRunFlowPathMapper itdmRunFlowPathMapper;
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmRunFlowPathStepMapper itdmRunFlowPathStepMapper;
+
+
+    @Override
+    @Transactional
+    public void createRunFlowPath(ItdmCreateRunFlowPath itdmCreateRunFlowPath) {
+        ItdmFlowPath itdmFlowPath = itdmFlowPathMapper.selectById(itdmCreateRunFlowPath.getFlowPathId());
+
+        if (itdmFlowPath == null || !Objects.equals(itdmFlowPath.getStatus(), "0")) {
+            throw new JeecgBootException("流程不存在/流程禁用, 发起失败");
+        }
+
+        List<ItdmFlowPathStep> list = itdmFlowPathStepMapper.selectList(Wrappers.lambdaQuery(ItdmFlowPathStep.class)
+                .eq(ItdmFlowPathStep::getFlowPathId, itdmCreateRunFlowPath.getFlowPathId()).orderByAsc(ItdmFlowPathStep::getSort));
+
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+
+
+        ItdmRunFlowPath itdmRunFlowPath = new ItdmRunFlowPath();
+        itdmRunFlowPath.setFlowPathId(itdmCreateRunFlowPath.getFlowPathId());
+        itdmRunFlowPath.setWeituoNo(itdmCreateRunFlowPath.getWeituoNo());
+        itdmRunFlowPath.setName(itdmFlowPath.getName());
+        itdmRunFlowPath.setFaqiUser(user.getUsername());
+        itdmRunFlowPath.setDqSetp(list.get(0).getId());
+        itdmRunFlowPath.setDqSetpUserIds(list.get(0).getUserIds());
+        itdmRunFlowPath.setDqSetpRoleId(list.get(0).getRoleId());
+
+
+
+        itdmRunFlowPath.setStatus("0");
+        itdmRunFlowPathMapper.insert(itdmRunFlowPath);
+
+
+        for (int i = 0; i < list.size(); i++) {
+            ItdmFlowPathStep itdmFlowPathStep = list.get(i);
+            // todo
+            ItdmRunFlowPathStep itdmRunFlowPathStep = FlowPathConvert.INSTANCE.to(itdmFlowPathStep, null,itdmRunFlowPath.getId());
+            itdmRunFlowPathStepMapper.insert(itdmRunFlowPathStep);
+        }
+
+
+    }
+}

+ 162 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathStepServiceImpl.java

@@ -0,0 +1,162 @@
+package org.jeecg.modules.flowpath.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.modules.flowpath.convert.FlowPathConvert;
+import org.jeecg.modules.flowpath.dto.ItdmRejectDQRunFlowPath;
+import org.jeecg.modules.flowpath.dto.ItdmRejectZDRunFlowPath;
+import org.jeecg.modules.flowpath.dto.ItdmSaveRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPathStep;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathLogMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathMapper;
+import org.jeecg.modules.flowpath.mapper.ItdmRunFlowPathStepMapper;
+import org.jeecg.modules.flowpath.service.IItdmRunFlowPathStepService;
+import org.jeecg.modules.flowpath.vo.ItdmBuohuiRunFlowPathStepVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 运行流程步骤表
+ * @Author: jeecg-boot
+ * @Date: 2023-07-20
+ * @Version: V1.0
+ */
+@Service
+public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathStepMapper, ItdmRunFlowPathStep> implements IItdmRunFlowPathStepService {
+
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmRunFlowPathMapper itdmRunFlowPathMapper;
+
+    @Autowired
+    @SuppressWarnings("all")
+    private ItdmRunFlowPathLogMapper logMapper;
+
+    @Autowired
+    private ItdmFZRunFlowPathLogService logService;
+
+    @Override
+    public void saveData(ItdmSaveRunFlowPath saveRunFlowPath) {
+        ItdmRunFlowPathStep select = this.baseMapper.selectById(saveRunFlowPath.getRunFlowPathStep());
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(select.getRunFlowPath());
+        if (!itdmRunFlowPath.getDqSetp().equals(select.getFlowPathSetp())) {
+            throw new JeecgBootException("当前节点不是在进行中");
+        }
+        ItdmRunFlowPathStep itdmRunFlowPathStep = new ItdmRunFlowPathStep();
+        itdmRunFlowPathStep.setId(saveRunFlowPath.getRunFlowPathStep());
+        itdmRunFlowPathStep.setSaveData(saveRunFlowPath.getSaveData());
+
+        this.baseMapper.updateById(itdmRunFlowPathStep);
+
+    }
+
+    @Override
+    @Transactional
+    public void pass(ItdmSaveRunFlowPath saveRunFlowPath) {
+
+        ItdmRunFlowPathStep select = this.baseMapper.selectById(saveRunFlowPath.getRunFlowPathStep());
+        select.setSaveData(saveRunFlowPath.getSaveData());
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        select.setFqUser(user.getUsername());
+        this.baseMapper.updateById(select);
+        ItdmRunFlowPathStep nextstep = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, select.getRunFlowPath())
+                .eq(ItdmRunFlowPathStep::getSort, Integer.parseInt(select.getSort()) + 1)
+
+        );
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(select.getRunFlowPath());
+        if (!itdmRunFlowPath.getDqSetp().equals(select.getFlowPathSetp())) {
+            throw new JeecgBootException("当前节点不是在进行中");
+        }
+
+        itdmRunFlowPath.setId(select.getRunFlowPath());
+        itdmRunFlowPath.setDqSetp(nextstep.getFlowPathSetp());
+        itdmRunFlowPath.setDqSetpUserIds(nextstep.getUserIds());
+        itdmRunFlowPath.setDqSetpRoleId(nextstep.getRoleId());
+        itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
+
+        logService.insert(select.getRunFlowPath(), select.getId(), nextstep.getId(), "通过", "");
+
+    }
+
+
+    @Override
+    public void rejectDQ(ItdmRejectDQRunFlowPath itdmRejectDQRunFlowPath) {
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(itdmRejectDQRunFlowPath.getRunFlowPath());
+        ItdmRunFlowPathStep select = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, itdmRunFlowPath.getId())
+                .eq(ItdmRunFlowPathStep::getFlowPathSetp, itdmRunFlowPath.getDqSetp())
+
+        );
+
+
+        ItdmRunFlowPathStep prvestep = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, select.getRunFlowPath())
+                .eq(ItdmRunFlowPathStep::getSort, Integer.parseInt(select.getSort()) - 1)
+
+        );
+
+        itdmRunFlowPath.setDqSetp(prvestep.getFlowPathSetp());
+        itdmRunFlowPath.setDqSetpUserIds(prvestep.getUserIds());
+        itdmRunFlowPath.setDqSetpRoleId(prvestep.getRoleId());
+
+        itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
+        logService.insert(select.getRunFlowPath(), select.getId(), prvestep.getId(), "驳回上一节点", itdmRejectDQRunFlowPath.getYuanyin());
+
+    }
+
+
+    @Override
+    public List<ItdmBuohuiRunFlowPathStepVO> yrunList(String runFlowPath) {
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(runFlowPath);
+        ItdmRunFlowPathStep select = this.baseMapper.selectOne(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, itdmRunFlowPath.getId())
+                .eq(ItdmRunFlowPathStep::getFlowPathSetp, itdmRunFlowPath.getDqSetp())
+
+        );
+        List<ItdmRunFlowPathStep> prvestep = this.baseMapper.selectList(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class)
+                .eq(ItdmRunFlowPathStep::getRunFlowPath, select.getRunFlowPath())
+                .lt(ItdmRunFlowPathStep::getSort, Integer.parseInt(select.getSort()))
+
+        );
+
+        return prvestep.stream().map(FlowPathConvert.INSTANCE::to).collect(Collectors.toList());
+    }
+
+
+    @Override
+    public void rejectzd(ItdmRejectZDRunFlowPath zdRunFlowPath) {
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(zdRunFlowPath.getRunFlowPath());
+        ItdmRunFlowPathStep prvestep = this.baseMapper.selectById(zdRunFlowPath.getRunFlowPathSept());
+        itdmRunFlowPath.setDqSetp(prvestep.getFlowPathSetp());
+        itdmRunFlowPath.setDqSetpUserIds(prvestep.getUserIds());
+        itdmRunFlowPath.setDqSetpRoleId(prvestep.getRoleId());
+        itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
+        logService.insert(prvestep.getRunFlowPath(), itdmRunFlowPath.getDqSetp(), prvestep.getId(), "驳回指定节点", zdRunFlowPath.getYuanyin());
+
+
+    }
+
+
+    @Override
+    public void jieshu(String s) {
+        ItdmRunFlowPath itdmRunFlowPath = this.itdmRunFlowPathMapper.selectById(entityClass);
+        itdmRunFlowPath.setStatus("1");
+
+        itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
+
+
+
+
+    }
+}

+ 19 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/ItdmBuohuiRunFlowPathStepVO.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.flowpath.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ItdmBuohuiRunFlowPathStepVO {
+
+
+    /**主键*/
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+
+    private String name;
+
+}

+ 23 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/ItdmRunFlowPathInfoVO.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.flowpath.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.jeecg.modules.flowpath.entity.ItdmRunFlowPath;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ItdmRunFlowPathInfoVO {
+
+
+
+    private ItdmRunFlowPath flowpahData;
+
+    private List<ItdmRunFlowPathStepVO> stepList;
+}

+ 38 - 0
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/vo/ItdmRunFlowPathStepVO.java

@@ -0,0 +1,38 @@
+package org.jeecg.modules.flowpath.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.jeecg.common.aspect.annotation.Dict;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+@Data
+public class ItdmRunFlowPathStepVO {
+
+
+    /**主键*/
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+    /**流程id*/
+    @ApiModelProperty(value = "流程id")
+    private String flowPath;
+    /**流程步骤id*/
+    @ApiModelProperty(value = "流程步骤id")
+    private String flowPathSetp;
+    /**步骤名称*/
+    @ApiModelProperty(value = "步骤名称")
+    private String name;
+    /**最后修改人员*/
+    @ApiModelProperty(value = "最后修改人员")
+    private String fqUser;
+    /**表单数据*/
+    @ApiModelProperty(value = "表单数据")
+    private String saveData;
+
+    private  Boolean isUpdate;
+}