diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiProcdefController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiProcdefController.java index e4fa0ba7..c67b0605 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiProcdefController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/ActivitiProcdefController.java @@ -7,13 +7,11 @@ import ink.wgink.module.activiti.pojo.dtos.ActivitiProcdefDTO; import ink.wgink.module.activiti.service.activiti.IActivitiProcdefService; import ink.wgink.pojo.ListPage; import ink.wgink.pojo.result.ErrorResult; +import ink.wgink.pojo.result.SuccessResult; import ink.wgink.pojo.result.SuccessResultList; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -32,6 +30,17 @@ public class ActivitiProcdefController extends DefaultBaseController { @Autowired private IActivitiProcdefService activitiProcdefService; + @ApiOperation(value = "删除流程", notes = "删除流程接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deploymentId", value = "部署ID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @DeleteMapping("delete/{deploymentId}") + public SuccessResult delete(@PathVariable("deploymentId") String deploymentId) { + activitiProcdefService.delete(deploymentId); + return new SuccessResult(); + } + @ApiOperation(value = "部署分页列表", notes = "部署分页列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "Integer", defaultValue = "1"), diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java index c430d1b5..7392ebe2 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaController.java @@ -2,6 +2,7 @@ package ink.wgink.module.activiti.controller.api.oa; import ink.wgink.common.base.DefaultBaseController; import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.module.activiti.pojo.dtos.oa.OaHistoryTaskDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaProcdefDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.service.oa.IOaService; @@ -53,10 +54,38 @@ public class OaController extends DefaultBaseController { return oaService.listPageProcdef(page.getPage(), page.getRows()); } - @ApiOperation(value = "我的任务(待办)", notes = "我的任务(待办)接口") + @ApiOperation(value = "我的任务(待办)列表", notes = "我的任务(待办)列表接口") @GetMapping("list-task-of-mine") public List listTaskOfMine() { return oaService.listTaskOfMine(); } + + @ApiOperation(value = "我的任务(待办)分页列表", notes = "我的任务(待办)分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), + }) + @GetMapping("listpage-task-of-mine") + public SuccessResultList> listPageTaskOfMine(ListPage page) { + return oaService.listPageTaskOfMine(page.getPage(), page.getRows()); + } + + @ApiOperation(value = "我的历史任务(已办)列表", notes = "我的历史任务(已办)列表接口") + @GetMapping("list-history-task-of-mine") + public List listHistoryTaskOfMine() { + return oaService.listHistoryTaskOfMine(); + } + + + @ApiOperation(value = "我的历史任务(已办)分页列表", notes = "我的历史任务(已办)分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"), + }) + @GetMapping("listpage-history-task-of-mine") + public SuccessResultList> listPageHistoryTaskOfMine(ListPage page) { + return oaService.listPageHistoryTaskOfMine(page.getPage(), page.getRows()); + } + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java index 3bc5e60e..c0fd75b4 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/api/oa/OaFormReportController.java @@ -45,6 +45,24 @@ public class OaFormReportController extends DefaultBaseController { return new SuccessResult(); } + @ApiOperation(value = "更新表单", notes = "更新表单接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "taskId", value = "任务ID", paramType = "path"), + @ApiImplicitParam(name = "formCode", value = "表单编码", paramType = "path"), + @ApiImplicitParam(name = "formVersion", value = "表单版本", paramType = "path"), + @ApiImplicitParam(name = "uid", value = "表单主键", paramType = "path") + }) + @PutMapping("update/task-id/{taskId}/code/{formCode}/version/{formVersion}/uid/{uid}") + public SuccessResult update(@PathVariable("taskId") String taskId, + @PathVariable("formCode") String formCode, + @PathVariable("formVersion") Integer formVersion, + @PathVariable("uid") String uid, + @RequestBody Map params) { + checkParams(params); + oaFormReportService.update(taskId, formCode, formVersion, uid, params); + return new SuccessResult(); + } + private void checkParams(Map body) { if (body.isEmpty()) { throw new ParamsException("提交内容不能为空"); diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java new file mode 100644 index 00000000..da6da13c --- /dev/null +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaFormReportRouteController.java @@ -0,0 +1,61 @@ +package ink.wgink.module.activiti.controller.route.oa; + +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.module.activiti.service.oa.IOaFormReportRouteService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +/** + * @ClassName: OaController + * @Description: Oa管理 + * @Author: wanggeng + * @Date: 2022/3/23 09:54 + * @Version: 1.0 + */ +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "oa管理") +@Controller +@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa-form-report") +public class OaFormReportRouteController extends DefaultBaseController { + + @Autowired + private IOaFormReportRouteService oaFormReportRouteService; + + @GetMapping("save/definition-id/{processDefinitionId}/code/{formCode}/version/{formVersion}") + public void get(@PathVariable("processDefinitionId") String processDefinitionId, + @PathVariable("formCode") String formCode, + @PathVariable("formVersion") Integer formVersion, + HttpSession httpSession, + HttpServletRequest httpServletRequest, + HttpServletResponse httpServletResponse) { + oaFormReportRouteService.save(processDefinitionId, formCode, formVersion, httpSession, httpServletRequest, httpServletResponse); + } + + @GetMapping("update/task-id/{taskId}/code/{formCode}/version/{formVersion}") + public void update(@PathVariable("taskId") String taskId, + @PathVariable("formCode") String formCode, + @PathVariable("formVersion") Integer formVersion, + HttpSession httpSession, + HttpServletRequest httpServletRequest, + HttpServletResponse httpServletResponse) { + oaFormReportRouteService.update(taskId, formCode, formVersion, httpSession, httpServletRequest, httpServletResponse); + } + + @GetMapping("show/code/{formCode}/version/{formVersion}") + public void show(@PathVariable("formCode") String formCode, + @PathVariable("formVersion") Integer formVersion, + HttpSession httpSession, + HttpServletRequest httpServletRequest, + HttpServletResponse httpServletResponse) { + oaFormReportRouteService.show(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse); + } + +} diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java index 2c804cf2..35e51060 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/controller/route/oa/OaRouteController.java @@ -17,7 +17,7 @@ import org.springframework.web.servlet.ModelAndView; */ @Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "oa管理") @Controller -@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa") + @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa") public class OaRouteController extends DefaultBaseController { @GetMapping("list-procdef") @@ -26,4 +26,10 @@ public class OaRouteController extends DefaultBaseController { return mv; } + @GetMapping("list-task-of-mine") + public ModelAndView listTaskOfMine() { + ModelAndView mv = new ModelAndView("oa/list-task-of-mine"); + return mv; + } + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/NodeFieldDTO.java b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/NodeFieldDTO.java index e4342962..2479ab9c 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/NodeFieldDTO.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/NodeFieldDTO.java @@ -18,8 +18,12 @@ public class NodeFieldDTO { private String formId; @ApiModelProperty(name = "deploymentId", value = "部署ID") private String deploymentId; - @ApiModelProperty(name = "flowNodeId", value = "节点") + @ApiModelProperty(name = "flowNodeIndex", value = "节点下标") + private String flowNodeIndex; + @ApiModelProperty(name = "flowNodeId", value = "节点ID") private String flowNodeId; + @ApiModelProperty(name = "flowNodeName", value = "节点名称") + private String flowNodeName; @ApiModelProperty(name = "fieldName", value = "字段名") private String fieldName; @ApiModelProperty(name = "isVisible", value = "是否可见") @@ -51,14 +55,30 @@ public class NodeFieldDTO { this.deploymentId = deploymentId; } + public String getFlowNodeIndex() { + return flowNodeIndex == null ? "" : flowNodeIndex.trim(); + } + + public void setFlowNodeIndex(String flowNodeIndex) { + this.flowNodeIndex = flowNodeIndex; + } + public String getFlowNodeId() { - return flowNodeId; + return flowNodeId == null ? "" : flowNodeId.trim(); } public void setFlowNodeId(String flowNodeId) { this.flowNodeId = flowNodeId; } + public String getFlowNodeName() { + return flowNodeName == null ? "" : flowNodeName.trim(); + } + + public void setFlowNodeName(String flowNodeName) { + this.flowNodeName = flowNodeName; + } + public String getFieldName() { return fieldName; } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/OaHistoryTaskDTO.java b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/OaHistoryTaskDTO.java new file mode 100644 index 00000000..4e133eac --- /dev/null +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/dtos/oa/OaHistoryTaskDTO.java @@ -0,0 +1,69 @@ +package ink.wgink.module.activiti.pojo.dtos.oa; + +import io.swagger.annotations.ApiModel; + +/** + * @ClassName: OaTaskDTO + * @Description: oa任务 + * @Author: wanggeng + * @Date: 2022/3/23 09:33 + * @Version: 1.0 + */ +@ApiModel +public class OaHistoryTaskDTO { + + private String taskId; + private String taskName; + private String taskDescription; + private String formKey; + private String formCode; + private Integer formVersion; + + public String getTaskId() { + return taskId == null ? "" : taskId.trim(); + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + public String getTaskName() { + return taskName == null ? "" : taskName.trim(); + } + + public void setTaskName(String taskName) { + this.taskName = taskName; + } + + public String getTaskDescription() { + return taskDescription == null ? "" : taskDescription.trim(); + } + + public void setTaskDescription(String taskDescription) { + this.taskDescription = taskDescription; + } + + public String getFormKey() { + return formKey == null ? "" : formKey.trim(); + } + + public void setFormKey(String formKey) { + this.formKey = formKey; + } + + public String getFormCode() { + return formCode == null ? "" : formCode.trim(); + } + + public void setFormCode(String formCode) { + this.formCode = formCode; + } + + public Integer getFormVersion() { + return formVersion == null ? 0 : formVersion; + } + + public void setFormVersion(Integer formVersion) { + this.formVersion = formVersion; + } +} diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/NodeFieldUpdateVO.java b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/NodeFieldUpdateVO.java index 24141d25..23270a51 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/NodeFieldUpdateVO.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/pojo/vos/oa/NodeFieldUpdateVO.java @@ -3,6 +3,7 @@ package ink.wgink.module.activiti.pojo.vos.oa; import ink.wgink.annotation.CheckEmptyAnnotation; import ink.wgink.annotation.CheckListAnnotation; import ink.wgink.annotation.CheckListBeanAnnotation; +import ink.wgink.annotation.CheckNumberAnnotation; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -17,6 +18,9 @@ import java.util.List; @ApiModel public class NodeFieldUpdateVO { + @ApiModelProperty(name = "flowNodeIndex", value = "流程节点下标") + @CheckNumberAnnotation(name = "流程节点下标") + private Integer flowNodeIndex; @ApiModelProperty(name = "deploymentId", value = "部署ID") @CheckEmptyAnnotation(name = "部署ID") private String deploymentId; @@ -26,10 +30,21 @@ public class NodeFieldUpdateVO { @ApiModelProperty(name = "flowNodeId", value = "流程节点ID") @CheckEmptyAnnotation(name = "流程节点ID") private String flowNodeId; + @ApiModelProperty(name = "flowNodeName", value = "流程节点名称") + @CheckEmptyAnnotation(name = "流程节点名称") + private String flowNodeName; @CheckListAnnotation(name = "表单字段列表") @CheckListBeanAnnotation private List formFields; + public Integer getFlowNodeIndex() { + return flowNodeIndex == null ? 0 : flowNodeIndex; + } + + public void setFlowNodeIndex(Integer flowNodeIndex) { + this.flowNodeIndex = flowNodeIndex; + } + public String getDeploymentId() { return deploymentId; } @@ -54,6 +69,14 @@ public class NodeFieldUpdateVO { this.flowNodeId = flowNodeId; } + public String getFlowNodeName() { + return flowNodeName == null ? "" : flowNodeName.trim(); + } + + public void setFlowNodeName(String flowNodeName) { + this.flowNodeName = flowNodeName; + } + public List getFormFields() { return formFields; } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiProcdefService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiProcdefService.java index a5e65bf8..cbfeffe7 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiProcdefService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/IActivitiProcdefService.java @@ -16,6 +16,8 @@ import java.util.List; */ public interface IActivitiProcdefService { + void delete(String deploymentId); + SuccessResultList> listPage(int page, int rows); List listFlowNodeByDeploymentId(String deploymentId); diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiProcdefServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiProcdefServiceImpl.java index f548ffe2..d8d13c1e 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiProcdefServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiProcdefServiceImpl.java @@ -10,6 +10,7 @@ import ink.wgink.pojo.result.SuccessResultList; import org.activiti.bpmn.model.Process; import org.activiti.bpmn.model.*; import org.activiti.engine.RepositoryService; +import org.activiti.engine.RuntimeService; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinitionQuery; import org.springframework.beans.BeanUtils; @@ -31,6 +32,13 @@ public class ActivitiProcdefServiceImpl extends DefaultBaseService implements IA @Autowired private RepositoryService repositoryService; + @Autowired + private RuntimeService runtimeService; + + @Override + public void delete(String deploymentId) { + repositoryService.deleteDeployment(deploymentId, true); + } @Override public SuccessResultList> listPage(int page, int rows) { diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java index 41c04f32..da2df468 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/activiti/impl/ActivitiServiceImpl.java @@ -21,6 +21,7 @@ import ink.wgink.module.form.service.design.IFormFieldService; import ink.wgink.module.form.service.design.IFormService; import ink.wgink.pojo.result.SuccessResultList; import org.activiti.bpmn.model.BpmnModel; +import org.activiti.bpmn.model.EndEvent; import org.activiti.bpmn.model.StartEvent; import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.editor.language.json.converter.BpmnJsonConverter; @@ -143,22 +144,28 @@ public class ActivitiServiceImpl extends DefaultBaseService implements IActiviti if (formFieldPOs.isEmpty()) { throw new SystemException("表单字段为空"); } - activitiFlowNodeDTOs.forEach(activitiFlowNodeDTO -> { + for (int i = 0; i < activitiFlowNodeDTOs.size(); i++) { + ActivitiFlowNodeDTO activitiFlowNodeDTO = activitiFlowNodeDTOs.get(i); + if (StringUtils.equals(activitiFlowNodeDTO.getType(), EndEvent.class.getSimpleName())) { + return; + } NodeFieldUpdateVO nodeFieldUpdateVO = new NodeFieldUpdateVO(); + nodeFieldUpdateVO.setFlowNodeIndex(i); nodeFieldUpdateVO.setFlowNodeId(activitiFlowNodeDTO.getId()); + nodeFieldUpdateVO.setFlowNodeName(activitiFlowNodeDTO.getName()); nodeFieldUpdateVO.setFormId(formPO.getFormId()); nodeFieldUpdateVO.setDeploymentId(deploymentId); List nodeFieldVOs = new ArrayList<>(); - formFieldPOs.forEach(formFieldPO -> { + for (FormFieldPO formFieldPO : formFieldPOs) { NodeFieldVO nodeFieldVO = new NodeFieldVO(); nodeFieldVO.setFieldName(formFieldPO.getFieldName()); nodeFieldVO.setIsVisible(1); nodeFieldVO.setIsEditable(1); nodeFieldVOs.add(nodeFieldVO); - }); + } nodeFieldUpdateVO.setFormFields(nodeFieldVOs); nodeFieldService.save(nodeFieldUpdateVO); - }); + } } private String getFormIdByStartEvent(List activitiFlowNodeDTOs) { diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java new file mode 100644 index 00000000..b338f190 --- /dev/null +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportRouteService.java @@ -0,0 +1,22 @@ +package ink.wgink.module.activiti.service.oa; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +/** + * @ClassName: IOaFormReportRouteService + * @Description: oa表单提交 + * @Author: wanggeng + * @Date: 2022/3/24 09:31 + * @Version: 1.0 + */ +public interface IOaFormReportRouteService { + + void save(String processDefinitionId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + + void update(String taskId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + + void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + +} diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java index ff382cb0..b8ee407d 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaFormReportService.java @@ -1,8 +1,5 @@ package ink.wgink.module.activiti.service.oa; -import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; - -import java.util.List; import java.util.Map; /** @@ -28,6 +25,14 @@ public interface IOaFormReportService { */ void save(String processDefinitionId, String formCode, Integer formVersion, Map params); - + /** + * 更新表单 + * @param taskId + * @param formCode + * @param formVersion + * @param uid + * @param params + */ + void update(String taskId, String formCode, Integer formVersion, String uid, Map params); } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java index c4f35fcb..a241e9c5 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/IOaService.java @@ -1,5 +1,6 @@ package ink.wgink.module.activiti.service.oa; +import ink.wgink.module.activiti.pojo.dtos.oa.OaHistoryTaskDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaProcdefDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.pojo.result.SuccessResultList; @@ -38,4 +39,29 @@ public interface IOaService { */ List listTaskOfMine(); + /** + * 我的任务(待办)分页列表 + * + * @param page + * @param rows + * @return + */ + SuccessResultList> listPageTaskOfMine(int page, int rows); + + /** + * 我的历史(已办)列表 + * + * @return + */ + List listHistoryTaskOfMine(); + + /** + * 我的历史(已办)分页列表 + * + * @param page + * @param rows + * @return + */ + SuccessResultList> listPageHistoryTaskOfMine(int page, int rows); + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/NodeFieldFieldServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/NodeFieldFieldServiceImpl.java index b37b1d02..fdfa1976 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/NodeFieldFieldServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/NodeFieldFieldServiceImpl.java @@ -31,7 +31,12 @@ public class NodeFieldFieldServiceImpl extends DefaultBaseService implements INo LOG.debug("删除原有配置"); delete(nodeFieldUpdateVO.getDeploymentId(), nodeFieldUpdateVO.getFormId(), nodeFieldUpdateVO.getFlowNodeId()); LOG.debug("新增现有配置"); - save(nodeFieldUpdateVO.getDeploymentId(), nodeFieldUpdateVO.getFormId(), nodeFieldUpdateVO.getFlowNodeId(), nodeFieldUpdateVO.getFormFields()); + save(nodeFieldUpdateVO.getDeploymentId(), + nodeFieldUpdateVO.getFormId(), + nodeFieldUpdateVO.getFlowNodeIndex(), + nodeFieldUpdateVO.getFlowNodeId(), + nodeFieldUpdateVO.getFlowNodeName(), + nodeFieldUpdateVO.getFormFields()); } @Override @@ -73,13 +78,15 @@ public class NodeFieldFieldServiceImpl extends DefaultBaseService implements INo * @param flowNodeId * @param formFields */ - private void save(String deploymentId, String formId, String flowNodeId, List formFields) { + private void save(String deploymentId, String formId, Integer flowNodeIndex, String flowNodeId, String flowNodeName, List formFields) { formFields.forEach(nodeFieldVO -> { Map params = HashMapUtil.beanToMap(nodeFieldVO); params.put("nodeFieldId", UUIDUtil.getUUID()); params.put("deploymentId", deploymentId); params.put("formId", formId); + params.put("flowNodeIndex", flowNodeIndex); params.put("flowNodeId", flowNodeId); + params.put("flowNodeName", flowNodeName); nodeFieldDao.save(params); }); } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java new file mode 100644 index 00000000..6d83062c --- /dev/null +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportRouteServiceImpl.java @@ -0,0 +1,45 @@ +package ink.wgink.module.activiti.service.oa.impl; + +import ink.wgink.common.base.DefaultBaseService; +import ink.wgink.module.activiti.service.oa.IOaFormReportRouteService; +import ink.wgink.module.form.service.report.IFormReportRouteService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.util.Map; + +/** + * @ClassName: OaFormReportRouteServiceImpl + * @Description: oa表单提交 + * @Author: wanggeng + * @Date: 2022/3/24 09:31 + * @Version: 1.0 + */ +@Service +public class OaFormReportRouteServiceImpl extends DefaultBaseService implements IOaFormReportRouteService { + + @Autowired + private IFormReportRouteService formReportRouteService; + + @Override + public void save(String processDefinitionId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { + Map modal = getHashMap(10); + modal.put("processDefinitionId", processDefinitionId); + formReportRouteService.save(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse, modal); + } + + @Override + public void update(String taskId, String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { + Map modal = getHashMap(10); + modal.put("taskId", taskId); + formReportRouteService.update(formCode, formVersion, httpSession, httpServletRequest, httpServletResponse, modal); + } + + @Override + public void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { + + } +} diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java index 70d020bb..4417fc60 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaFormReportServiceImpl.java @@ -41,4 +41,10 @@ public class OaFormReportServiceImpl extends DefaultBaseService implements IOaFo formReportService.updateProcessInstanceId(formCode, formVersion, uid, processInstance.getProcessInstanceId()); } + @Override + public void update(String taskId, String formCode, Integer formVersion, String uid, Map params) { + formReportService.update(formCode, formVersion, uid, params); + taskService.complete(taskId, params); + } + } diff --git a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java index 9bfd2063..c1fe63b6 100644 --- a/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java +++ b/module-activiti/src/main/java/ink/wgink/module/activiti/service/oa/impl/OaServiceImpl.java @@ -1,6 +1,7 @@ package ink.wgink.module.activiti.service.oa.impl; import ink.wgink.common.base.DefaultBaseService; +import ink.wgink.module.activiti.pojo.dtos.oa.OaHistoryTaskDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaProcdefDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.service.oa.IOaFormReportService; @@ -8,10 +9,9 @@ import ink.wgink.module.activiti.service.oa.IOaService; import ink.wgink.module.form.pojo.dtos.design.FormDTO; import ink.wgink.module.form.service.design.IFormService; import ink.wgink.pojo.result.SuccessResultList; -import org.activiti.engine.FormService; -import org.activiti.engine.RepositoryService; -import org.activiti.engine.RuntimeService; -import org.activiti.engine.TaskService; +import org.activiti.engine.*; +import org.activiti.engine.history.HistoricTaskInstance; +import org.activiti.engine.history.HistoricTaskInstanceQuery; import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinitionQuery; import org.activiti.engine.task.Task; @@ -43,6 +43,8 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { @Autowired private TaskService taskService; @Autowired + private HistoryService historyService; + @Autowired private IFormService iFormService; @Override @@ -104,6 +106,25 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { String userId = securityComponent.getCurrentUser().getUserId(); TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId); List tasks = taskQuery.list(); + return listOaTask(tasks); + } + + @Override + public SuccessResultList> listPageTaskOfMine(int page, int rows) { + String userId = securityComponent.getCurrentUser().getUserId(); + TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId); + List tasks = taskQuery.listPage(page - 1, rows); + List oaTaskDTOs = listOaTask(tasks); + return new SuccessResultList<>(oaTaskDTOs, page, taskQuery.count()); + } + + /** + * oa任务列表 + * + * @param tasks + * @return + */ + private List listOaTask(List tasks) { List oaTaskDTOs = new ArrayList<>(); tasks.forEach(task -> { OaTaskDTO oaTaskDTO = new OaTaskDTO(); @@ -115,7 +136,7 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { oaTaskDTO.setOwner(task.getOwner()); Map variables = runtimeService.getVariables(task.getProcessInstanceId()); - if(variables.isEmpty()) { + if (variables.isEmpty()) { return; } oaTaskDTO.setFormCode(variables.get(IOaFormReportService.KEY_FORM_CODE).toString()); @@ -124,4 +145,33 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService { }); return oaTaskDTOs; } + + @Override + public List listHistoryTaskOfMine() { + String userId = securityComponent.getCurrentUser().getUserId(); + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery().taskAssignee(userId); + List historicTaskInstances = historicTaskInstanceQuery.list(); + return listOaHistoryTask(historicTaskInstances); + } + + @Override + public SuccessResultList> listPageHistoryTaskOfMine(int page, int rows) { + String userId = securityComponent.getCurrentUser().getUserId(); + HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery().taskAssignee(userId); + List historicTaskInstances = historicTaskInstanceQuery.listPage(page - 1, rows); + List oaHistoryTaskDTOs = listOaHistoryTask(historicTaskInstances); + return new SuccessResultList<>(oaHistoryTaskDTOs, page, historicTaskInstanceQuery.count()); + } + + private List listOaHistoryTask(List historicTaskInstances) { + List oaHistoryTaskDTOs = new ArrayList<>(); + historicTaskInstances.forEach(historicTaskInstance -> { + OaHistoryTaskDTO oaHistoryTaskDTO = new OaHistoryTaskDTO(); + oaHistoryTaskDTO.setTaskId(historicTaskInstance.getId()); + oaHistoryTaskDTO.setTaskName(historicTaskInstance.getName()); + + }); + return oaHistoryTaskDTOs; + } + } diff --git a/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml b/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml index 1e13902d..f4b2ad59 100644 --- a/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml +++ b/module-activiti/src/main/resources/mybatis/mapper/oa/node-field-mapper.xml @@ -6,7 +6,9 @@ + + @@ -18,7 +20,9 @@ `node_field_id` char(36) DEFAULT NULL COMMENT '主键', `deployment_id` char(36) DEFAULT NULL COMMENT '流程部署ID', `form_id` char(36) DEFAULT NULL COMMENT '表单ID', + `flow_node_index` int(11) DEFAULT '0' COMMENT '流程节点下标', `flow_node_id` char(60) DEFAULT NULL COMMENT '流程节点ID', + `flow_node_name` varchar(255) DEFAULT NULL COMMENT '流程节点名称', `field_name` varchar(255) DEFAULT NULL COMMENT '字段名', `is_visible` int(1) DEFAULT '1' COMMENT '是否可见', `is_editable` int(1) DEFAULT '1' COMMENT '是否可编辑', @@ -32,7 +36,9 @@ node_field_id, deployment_id, form_id, + flow_node_index, flow_node_id, + flow_node_name, field_name, is_visible, is_editable @@ -40,7 +46,9 @@ #{nodeFieldId}, #{deploymentId}, #{formId}, + #{flowNodeIndex}, #{flowNodeId}, + #{flowNodeName}, #{fieldName}, #{isVisible}, #{isEditable} @@ -84,7 +92,9 @@ SELECT deployment_id, form_id, - flow_node_id + flow_node_index, + flow_node_id, + flow_node_name FROM oa_node_field @@ -100,9 +110,11 @@ GROUP BY deployment_id, form_id, - flow_node_id + flow_node_index, + flow_node_id, + flow_node_name ORDER BY - id + flow_node_index @@ -111,7 +123,9 @@ node_field_id, deployment_id, form_id, + flow_node_index, flow_node_id, + flow_node_name, field_name, is_visible, is_editable @@ -132,7 +146,7 @@ ORDER BY - id + flow_node_index \ No newline at end of file diff --git a/module-activiti/src/main/resources/templates/activiti/list.html b/module-activiti/src/main/resources/templates/activiti/list.html index 2c4ab1b9..1b607c11 100644 --- a/module-activiti/src/main/resources/templates/activiti/list.html +++ b/module-activiti/src/main/resources/templates/activiti/list.html @@ -65,7 +65,6 @@ }, cols: [ [ - {type:'checkbox', fixed: 'left'}, {field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '{{d.LAY_INDEX}}'}, {field:'name', width:150, title: '模型名称', align:'center', templet: function(row) { diff --git a/module-activiti/src/main/resources/templates/activiti/procdef/list.html b/module-activiti/src/main/resources/templates/activiti/procdef/list.html index d22bab0c..b94e9120 100644 --- a/module-activiti/src/main/resources/templates/activiti/procdef/list.html +++ b/module-activiti/src/main/resources/templates/activiti/procdef/list.html @@ -132,10 +132,11 @@ return flowChatImg; } }, - {field: 'form', width: 100, title: '操作', align:'center', fixed: 'right', + {field: 'form', width: 140, title: '操作', align:'center', fixed: 'right', templet: function(row) { return '
' + ''+ + ''+ '
'; } } @@ -184,10 +185,30 @@ top.dialog.open({ url: top.restAjax.path('route/oa/node-field/list-node?deploymentId={deploymentId}', [data.deploymentId]), title: '节点字段管理', - width: '400px', + width: '800px', height: '500px', onClose: function() {} }); + } else if(layEvent === 'deleteEvent') { + top.dialog.msg('删除流程会删除与流程有关的所有数据,确定删除吗?', { + time: 0, + btn: [top.dataMessage.button.yes, top.dataMessage.button.no], + shade: 0.3, + yes: function (index) { + top.dialog.close(index); + var layIndex; + top.restAjax.delete(top.restAjax.path('api/activiti/procdef/delete/{deploymentId}', [data.deploymentId]), {}, null, function (code, data) { + top.dialog.msg(top.dataMessage.deleteSuccess, {time: 1000}); + reloadTable(); + }, function (code, data) { + top.dialog.msg(data.msg); + }, function () { + layIndex = top.dialog.msg(top.dataMessage.deleting, {icon: 16, time: 0, shade: 0.3}); + }, function () { + top.dialog.close(layIndex); + }); + } + }); } }); }); diff --git a/module-activiti/src/main/resources/templates/oa/list-node.html b/module-activiti/src/main/resources/templates/oa/list-node.html index 5aa175fd..a49eb10e 100644 --- a/module-activiti/src/main/resources/templates/oa/list-node.html +++ b/module-activiti/src/main/resources/templates/oa/list-node.html @@ -20,12 +20,14 @@ + + @@ -58,6 +60,7 @@ var tr = '' + '' + '' + + '' + '' + ''; trs += tr; diff --git a/module-activiti/src/main/resources/templates/oa/list-procdef.html b/module-activiti/src/main/resources/templates/oa/list-procdef.html index 692023c5..b5b2c014 100644 --- a/module-activiti/src/main/resources/templates/oa/list-procdef.html +++ b/module-activiti/src/main/resources/templates/oa/list-procdef.html @@ -158,7 +158,7 @@ var layEvent = obj.event; if(layEvent === 'startProcess') { top.dialog.open({ - url: top.restAjax.path('route/form-report/save/code/{formCode}/version/{formVersion}?processDefinitionId={processDefinitionId}', [data.formCode, data.formVersion, data.id]), + url: top.restAjax.path('route/oa-form-report/save/definition-id/{processDefinitionId}/code/{formCode}/version/{formVersion}', [data.id, data.formCode, data.formVersion]), title: '发起流程', width: '500px', height: '80%', diff --git a/module-activiti/src/main/resources/templates/oa/list-task-of-mine.html b/module-activiti/src/main/resources/templates/oa/list-task-of-mine.html new file mode 100644 index 00000000..c649d45c --- /dev/null +++ b/module-activiti/src/main/resources/templates/oa/list-task-of-mine.html @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + +
+
+
+
+
+
序号 节点ID节点名称 表单管理
'+ i +''+ item.flowNodeId +''+ item.flowNodeName +'
+ + + + + + + + + + \ No newline at end of file diff --git a/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java b/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java index e85a77b9..53f64933 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/report/IFormReportRouteService.java @@ -3,6 +3,7 @@ package ink.wgink.module.form.service.report; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import java.util.Map; /** * @ClassName: IFormReportService @@ -25,7 +26,7 @@ public interface IFormReportRouteService { void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); /** - * 修改页面 + * 新增页面 * * @param formCode * @param formVersion @@ -33,8 +34,32 @@ public interface IFormReportRouteService { * @param httpServletRequest * @param httpServletResponse */ + void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal); + + /** + * 修改页面 + * + * @param formCode + * @param formVersion + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + * @param modal + */ void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** + * 修改页面 + * + * @param formCode + * @param formVersion + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + * @param modal + */ + void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal); + /** * 详情页面 * @@ -46,6 +71,18 @@ public interface IFormReportRouteService { */ void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** + * 详情页面 + * + * @param formCode + * @param formVersion + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + * @param modal + */ + void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal); + /** * APP新增页面 * @@ -57,6 +94,18 @@ public interface IFormReportRouteService { */ void appSave(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** + * APP新增页面 + * + * @param formCode + * @param formVersion + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + * @param modal + */ + void appSave(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal); + /** * APP修改页面 * @@ -68,6 +117,18 @@ public interface IFormReportRouteService { */ void appUpdate(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + /** + * APP修改页面 + * + * @param formCode + * @param formVersion + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + * @param modal + */ + void appUpdate(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal); + /** * APP详情页面 * @@ -78,4 +139,16 @@ public interface IFormReportRouteService { * @param httpServletResponse */ void appShow(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); + + /** + * APP详情页面 + * + * @param formCode + * @param formVersion + * @param httpSession + * @param httpServletRequest + * @param httpServletResponse + * @param modal + */ + void appShow(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal); } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java index afab1a37..fbbc7188 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/report/impl/FormReportRouteServiceImpl.java @@ -45,7 +45,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF if (formPO == null) { return; } - Map modal = getModal(formPO); + Map modal = getHashMap(10); + setModal(formPO, modal); + showPage(modal, formCode, formPO.getSavePageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + @Override + public void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal) { + FormPO formPO = getFormPO(formCode, formVersion); + if (formPO == null) { + return; + } + setModal(formPO, modal); showPage(modal, formCode, formPO.getSavePageCode(), httpSession, httpServletRequest, httpServletResponse); } @@ -55,7 +66,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF if (formPO == null) { return; } - Map modal = getModal(formPO); + Map modal = getHashMap(10); + setModal(formPO, modal); + showPage(modal, formCode, formPO.getUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + @Override + public void update(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal) { + FormPO formPO = getFormPO(formCode, formVersion); + if (formPO == null) { + return; + } + setModal(formPO, modal); showPage(modal, formCode, formPO.getUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse); } @@ -65,7 +87,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF if (formPO == null) { return; } - Map modal = getModal(formPO); + Map modal = getHashMap(10); + setModal(formPO, modal); + showPage(modal, formCode, formPO.getShowPageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + @Override + public void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal) { + FormPO formPO = getFormPO(formCode, formVersion); + if (formPO == null) { + return; + } + setModal(formPO, modal); showPage(modal, formCode, formPO.getShowPageCode(), httpSession, httpServletRequest, httpServletResponse); } @@ -75,7 +108,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF if (formPO == null) { return; } - Map modal = getModal(formPO); + Map modal = getHashMap(10); + setModal(formPO, modal); + showPage(modal, formCode, formPO.getAppSavePageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + @Override + public void appSave(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal) { + FormPO formPO = getFormPO(formCode, formVersion); + if (formPO == null) { + return; + } + setModal(formPO, modal); showPage(modal, formCode, formPO.getAppSavePageCode(), httpSession, httpServletRequest, httpServletResponse); } @@ -85,7 +129,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF if (formPO == null) { return; } - Map modal = getModal(formPO); + Map modal = getHashMap(10); + setModal(formPO, modal); + showPage(modal, formCode, formPO.getAppUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + @Override + public void appUpdate(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal) { + FormPO formPO = getFormPO(formCode, formVersion); + if (formPO == null) { + return; + } + setModal(formPO, modal); showPage(modal, formCode, formPO.getAppUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse); } @@ -95,7 +150,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF if (formPO == null) { return; } - Map modal = getModal(formPO); + Map modal = getHashMap(10); + setModal(formPO, modal); + showPage(modal, formCode, formPO.getAppShowPageCode(), httpSession, httpServletRequest, httpServletResponse); + } + + @Override + public void appShow(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map modal) { + FormPO formPO = getFormPO(formCode, formVersion); + if (formPO == null) { + return; + } + setModal(formPO, modal); showPage(modal, formCode, formPO.getAppShowPageCode(), httpSession, httpServletRequest, httpServletResponse); } @@ -124,17 +190,17 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF } /** - * 获取模型 + * 设置模型 * + * @param formPO + * @param modal * @return */ - private Map getModal(FormPO formPO) { - Map modal = getHashMap(10); + private void setModal(FormPO formPO, Map modal) { modal.put("contextPath", httpServletRequest.getContextPath() + "/"); modal.put("formName", formPO.getFormName()); modal.put("formCode", formPO.getFormCode()); modal.put("formVersion", formPO.getFormVersion()); - return modal; } /**