完善表单

This commit is contained in:
wanggeng 2022-03-25 11:01:54 +08:00
parent 2f04c79eda
commit e26b4468e6
26 changed files with 773 additions and 42 deletions

View File

@ -7,13 +7,11 @@ import ink.wgink.module.activiti.pojo.dtos.ActivitiProcdefDTO;
import ink.wgink.module.activiti.service.activiti.IActivitiProcdefService; import ink.wgink.module.activiti.service.activiti.IActivitiProcdefService;
import ink.wgink.pojo.ListPage; import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.ErrorResult; import ink.wgink.pojo.result.ErrorResult;
import ink.wgink.pojo.result.SuccessResult;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List; import java.util.List;
@ -32,6 +30,17 @@ public class ActivitiProcdefController extends DefaultBaseController {
@Autowired @Autowired
private IActivitiProcdefService activitiProcdefService; 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 = "部署分页列表接口") @ApiOperation(value = "部署分页列表", notes = "部署分页列表接口")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "Integer", defaultValue = "1"), @ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "Integer", defaultValue = "1"),

View File

@ -2,6 +2,7 @@ package ink.wgink.module.activiti.controller.api.oa;
import ink.wgink.common.base.DefaultBaseController; import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant; 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.OaProcdefDTO;
import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO;
import ink.wgink.module.activiti.service.oa.IOaService; import ink.wgink.module.activiti.service.oa.IOaService;
@ -53,10 +54,38 @@ public class OaController extends DefaultBaseController {
return oaService.listPageProcdef(page.getPage(), page.getRows()); return oaService.listPageProcdef(page.getPage(), page.getRows());
} }
@ApiOperation(value = "我的任务(待办)", notes = "我的任务(待办)接口") @ApiOperation(value = "我的任务(待办)列表", notes = "我的任务(待办)列表接口")
@GetMapping("list-task-of-mine") @GetMapping("list-task-of-mine")
public List<OaTaskDTO> listTaskOfMine() { public List<OaTaskDTO> listTaskOfMine() {
return oaService.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<List<OaTaskDTO>> listPageTaskOfMine(ListPage page) {
return oaService.listPageTaskOfMine(page.getPage(), page.getRows());
}
@ApiOperation(value = "我的历史任务(已办)列表", notes = "我的历史任务(已办)列表接口")
@GetMapping("list-history-task-of-mine")
public List<OaHistoryTaskDTO> 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<List<OaHistoryTaskDTO>> listPageHistoryTaskOfMine(ListPage page) {
return oaService.listPageHistoryTaskOfMine(page.getPage(), page.getRows());
}
} }

View File

@ -45,6 +45,24 @@ public class OaFormReportController extends DefaultBaseController {
return new SuccessResult(); 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<String, Object> params) {
checkParams(params);
oaFormReportService.update(taskId, formCode, formVersion, uid, params);
return new SuccessResult();
}
private void checkParams(Map<String, Object> body) { private void checkParams(Map<String, Object> body) {
if (body.isEmpty()) { if (body.isEmpty()) {
throw new ParamsException("提交内容不能为空"); throw new ParamsException("提交内容不能为空");

View File

@ -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);
}
}

View File

@ -17,7 +17,7 @@ import org.springframework.web.servlet.ModelAndView;
*/ */
@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "oa管理") @Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "oa管理")
@Controller @Controller
@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa") @RequestMapping(ISystemConstant.ROUTE_PREFIX + "/oa")
public class OaRouteController extends DefaultBaseController { public class OaRouteController extends DefaultBaseController {
@GetMapping("list-procdef") @GetMapping("list-procdef")
@ -26,4 +26,10 @@ public class OaRouteController extends DefaultBaseController {
return mv; return mv;
} }
@GetMapping("list-task-of-mine")
public ModelAndView listTaskOfMine() {
ModelAndView mv = new ModelAndView("oa/list-task-of-mine");
return mv;
}
} }

View File

@ -18,8 +18,12 @@ public class NodeFieldDTO {
private String formId; private String formId;
@ApiModelProperty(name = "deploymentId", value = "部署ID") @ApiModelProperty(name = "deploymentId", value = "部署ID")
private String deploymentId; private String deploymentId;
@ApiModelProperty(name = "flowNodeId", value = "节点") @ApiModelProperty(name = "flowNodeIndex", value = "节点下标")
private String flowNodeIndex;
@ApiModelProperty(name = "flowNodeId", value = "节点ID")
private String flowNodeId; private String flowNodeId;
@ApiModelProperty(name = "flowNodeName", value = "节点名称")
private String flowNodeName;
@ApiModelProperty(name = "fieldName", value = "字段名") @ApiModelProperty(name = "fieldName", value = "字段名")
private String fieldName; private String fieldName;
@ApiModelProperty(name = "isVisible", value = "是否可见") @ApiModelProperty(name = "isVisible", value = "是否可见")
@ -51,14 +55,30 @@ public class NodeFieldDTO {
this.deploymentId = deploymentId; this.deploymentId = deploymentId;
} }
public String getFlowNodeIndex() {
return flowNodeIndex == null ? "" : flowNodeIndex.trim();
}
public void setFlowNodeIndex(String flowNodeIndex) {
this.flowNodeIndex = flowNodeIndex;
}
public String getFlowNodeId() { public String getFlowNodeId() {
return flowNodeId; return flowNodeId == null ? "" : flowNodeId.trim();
} }
public void setFlowNodeId(String flowNodeId) { public void setFlowNodeId(String flowNodeId) {
this.flowNodeId = flowNodeId; this.flowNodeId = flowNodeId;
} }
public String getFlowNodeName() {
return flowNodeName == null ? "" : flowNodeName.trim();
}
public void setFlowNodeName(String flowNodeName) {
this.flowNodeName = flowNodeName;
}
public String getFieldName() { public String getFieldName() {
return fieldName; return fieldName;
} }

View File

@ -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;
}
}

View File

@ -3,6 +3,7 @@ package ink.wgink.module.activiti.pojo.vos.oa;
import ink.wgink.annotation.CheckEmptyAnnotation; import ink.wgink.annotation.CheckEmptyAnnotation;
import ink.wgink.annotation.CheckListAnnotation; import ink.wgink.annotation.CheckListAnnotation;
import ink.wgink.annotation.CheckListBeanAnnotation; import ink.wgink.annotation.CheckListBeanAnnotation;
import ink.wgink.annotation.CheckNumberAnnotation;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -17,6 +18,9 @@ import java.util.List;
@ApiModel @ApiModel
public class NodeFieldUpdateVO { public class NodeFieldUpdateVO {
@ApiModelProperty(name = "flowNodeIndex", value = "流程节点下标")
@CheckNumberAnnotation(name = "流程节点下标")
private Integer flowNodeIndex;
@ApiModelProperty(name = "deploymentId", value = "部署ID") @ApiModelProperty(name = "deploymentId", value = "部署ID")
@CheckEmptyAnnotation(name = "部署ID") @CheckEmptyAnnotation(name = "部署ID")
private String deploymentId; private String deploymentId;
@ -26,10 +30,21 @@ public class NodeFieldUpdateVO {
@ApiModelProperty(name = "flowNodeId", value = "流程节点ID") @ApiModelProperty(name = "flowNodeId", value = "流程节点ID")
@CheckEmptyAnnotation(name = "流程节点ID") @CheckEmptyAnnotation(name = "流程节点ID")
private String flowNodeId; private String flowNodeId;
@ApiModelProperty(name = "flowNodeName", value = "流程节点名称")
@CheckEmptyAnnotation(name = "流程节点名称")
private String flowNodeName;
@CheckListAnnotation(name = "表单字段列表") @CheckListAnnotation(name = "表单字段列表")
@CheckListBeanAnnotation @CheckListBeanAnnotation
private List<NodeFieldVO> formFields; private List<NodeFieldVO> formFields;
public Integer getFlowNodeIndex() {
return flowNodeIndex == null ? 0 : flowNodeIndex;
}
public void setFlowNodeIndex(Integer flowNodeIndex) {
this.flowNodeIndex = flowNodeIndex;
}
public String getDeploymentId() { public String getDeploymentId() {
return deploymentId; return deploymentId;
} }
@ -54,6 +69,14 @@ public class NodeFieldUpdateVO {
this.flowNodeId = flowNodeId; this.flowNodeId = flowNodeId;
} }
public String getFlowNodeName() {
return flowNodeName == null ? "" : flowNodeName.trim();
}
public void setFlowNodeName(String flowNodeName) {
this.flowNodeName = flowNodeName;
}
public List<NodeFieldVO> getFormFields() { public List<NodeFieldVO> getFormFields() {
return formFields; return formFields;
} }

View File

@ -16,6 +16,8 @@ import java.util.List;
*/ */
public interface IActivitiProcdefService { public interface IActivitiProcdefService {
void delete(String deploymentId);
SuccessResultList<List<ActivitiProcdefDTO>> listPage(int page, int rows); SuccessResultList<List<ActivitiProcdefDTO>> listPage(int page, int rows);
List<ActivitiFlowNodeDTO> listFlowNodeByDeploymentId(String deploymentId); List<ActivitiFlowNodeDTO> listFlowNodeByDeploymentId(String deploymentId);

View File

@ -10,6 +10,7 @@ import ink.wgink.pojo.result.SuccessResultList;
import org.activiti.bpmn.model.Process; import org.activiti.bpmn.model.Process;
import org.activiti.bpmn.model.*; import org.activiti.bpmn.model.*;
import org.activiti.engine.RepositoryService; import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery; import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -31,6 +32,13 @@ public class ActivitiProcdefServiceImpl extends DefaultBaseService implements IA
@Autowired @Autowired
private RepositoryService repositoryService; private RepositoryService repositoryService;
@Autowired
private RuntimeService runtimeService;
@Override
public void delete(String deploymentId) {
repositoryService.deleteDeployment(deploymentId, true);
}
@Override @Override
public SuccessResultList<List<ActivitiProcdefDTO>> listPage(int page, int rows) { public SuccessResultList<List<ActivitiProcdefDTO>> listPage(int page, int rows) {

View File

@ -21,6 +21,7 @@ import ink.wgink.module.form.service.design.IFormFieldService;
import ink.wgink.module.form.service.design.IFormService; import ink.wgink.module.form.service.design.IFormService;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import org.activiti.bpmn.model.BpmnModel; import org.activiti.bpmn.model.BpmnModel;
import org.activiti.bpmn.model.EndEvent;
import org.activiti.bpmn.model.StartEvent; import org.activiti.bpmn.model.StartEvent;
import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.editor.constants.ModelDataJsonConstants;
import org.activiti.editor.language.json.converter.BpmnJsonConverter; import org.activiti.editor.language.json.converter.BpmnJsonConverter;
@ -143,22 +144,28 @@ public class ActivitiServiceImpl extends DefaultBaseService implements IActiviti
if (formFieldPOs.isEmpty()) { if (formFieldPOs.isEmpty()) {
throw new SystemException("表单字段为空"); 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 nodeFieldUpdateVO = new NodeFieldUpdateVO();
nodeFieldUpdateVO.setFlowNodeIndex(i);
nodeFieldUpdateVO.setFlowNodeId(activitiFlowNodeDTO.getId()); nodeFieldUpdateVO.setFlowNodeId(activitiFlowNodeDTO.getId());
nodeFieldUpdateVO.setFlowNodeName(activitiFlowNodeDTO.getName());
nodeFieldUpdateVO.setFormId(formPO.getFormId()); nodeFieldUpdateVO.setFormId(formPO.getFormId());
nodeFieldUpdateVO.setDeploymentId(deploymentId); nodeFieldUpdateVO.setDeploymentId(deploymentId);
List<NodeFieldVO> nodeFieldVOs = new ArrayList<>(); List<NodeFieldVO> nodeFieldVOs = new ArrayList<>();
formFieldPOs.forEach(formFieldPO -> { for (FormFieldPO formFieldPO : formFieldPOs) {
NodeFieldVO nodeFieldVO = new NodeFieldVO(); NodeFieldVO nodeFieldVO = new NodeFieldVO();
nodeFieldVO.setFieldName(formFieldPO.getFieldName()); nodeFieldVO.setFieldName(formFieldPO.getFieldName());
nodeFieldVO.setIsVisible(1); nodeFieldVO.setIsVisible(1);
nodeFieldVO.setIsEditable(1); nodeFieldVO.setIsEditable(1);
nodeFieldVOs.add(nodeFieldVO); nodeFieldVOs.add(nodeFieldVO);
}); }
nodeFieldUpdateVO.setFormFields(nodeFieldVOs); nodeFieldUpdateVO.setFormFields(nodeFieldVOs);
nodeFieldService.save(nodeFieldUpdateVO); nodeFieldService.save(nodeFieldUpdateVO);
}); }
} }
private String getFormIdByStartEvent(List<ActivitiFlowNodeDTO> activitiFlowNodeDTOs) { private String getFormIdByStartEvent(List<ActivitiFlowNodeDTO> activitiFlowNodeDTOs) {

View File

@ -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);
}

View File

@ -1,8 +1,5 @@
package ink.wgink.module.activiti.service.oa; package ink.wgink.module.activiti.service.oa;
import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -28,6 +25,14 @@ public interface IOaFormReportService {
*/ */
void save(String processDefinitionId, String formCode, Integer formVersion, Map<String, Object> params); void save(String processDefinitionId, String formCode, Integer formVersion, Map<String, Object> params);
/**
* 更新表单
* @param taskId
* @param formCode
* @param formVersion
* @param uid
* @param params
*/
void update(String taskId, String formCode, Integer formVersion, String uid, Map<String, Object> params);
} }

View File

@ -1,5 +1,6 @@
package ink.wgink.module.activiti.service.oa; 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.OaProcdefDTO;
import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
@ -38,4 +39,29 @@ public interface IOaService {
*/ */
List<OaTaskDTO> listTaskOfMine(); List<OaTaskDTO> listTaskOfMine();
/**
* 我的任务待办分页列表
*
* @param page
* @param rows
* @return
*/
SuccessResultList<List<OaTaskDTO>> listPageTaskOfMine(int page, int rows);
/**
* 我的历史已办列表
*
* @return
*/
List<OaHistoryTaskDTO> listHistoryTaskOfMine();
/**
* 我的历史已办分页列表
*
* @param page
* @param rows
* @return
*/
SuccessResultList<List<OaHistoryTaskDTO>> listPageHistoryTaskOfMine(int page, int rows);
} }

View File

@ -31,7 +31,12 @@ public class NodeFieldFieldServiceImpl extends DefaultBaseService implements INo
LOG.debug("删除原有配置"); LOG.debug("删除原有配置");
delete(nodeFieldUpdateVO.getDeploymentId(), nodeFieldUpdateVO.getFormId(), nodeFieldUpdateVO.getFlowNodeId()); delete(nodeFieldUpdateVO.getDeploymentId(), nodeFieldUpdateVO.getFormId(), nodeFieldUpdateVO.getFlowNodeId());
LOG.debug("新增现有配置"); 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 @Override
@ -73,13 +78,15 @@ public class NodeFieldFieldServiceImpl extends DefaultBaseService implements INo
* @param flowNodeId * @param flowNodeId
* @param formFields * @param formFields
*/ */
private void save(String deploymentId, String formId, String flowNodeId, List<NodeFieldVO> formFields) { private void save(String deploymentId, String formId, Integer flowNodeIndex, String flowNodeId, String flowNodeName, List<NodeFieldVO> formFields) {
formFields.forEach(nodeFieldVO -> { formFields.forEach(nodeFieldVO -> {
Map<String, Object> params = HashMapUtil.beanToMap(nodeFieldVO); Map<String, Object> params = HashMapUtil.beanToMap(nodeFieldVO);
params.put("nodeFieldId", UUIDUtil.getUUID()); params.put("nodeFieldId", UUIDUtil.getUUID());
params.put("deploymentId", deploymentId); params.put("deploymentId", deploymentId);
params.put("formId", formId); params.put("formId", formId);
params.put("flowNodeIndex", flowNodeIndex);
params.put("flowNodeId", flowNodeId); params.put("flowNodeId", flowNodeId);
params.put("flowNodeName", flowNodeName);
nodeFieldDao.save(params); nodeFieldDao.save(params);
}); });
} }

View File

@ -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<String, Object> 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<String, Object> 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) {
}
}

View File

@ -41,4 +41,10 @@ public class OaFormReportServiceImpl extends DefaultBaseService implements IOaFo
formReportService.updateProcessInstanceId(formCode, formVersion, uid, processInstance.getProcessInstanceId()); formReportService.updateProcessInstanceId(formCode, formVersion, uid, processInstance.getProcessInstanceId());
} }
@Override
public void update(String taskId, String formCode, Integer formVersion, String uid, Map<String, Object> params) {
formReportService.update(formCode, formVersion, uid, params);
taskService.complete(taskId, params);
}
} }

View File

@ -1,6 +1,7 @@
package ink.wgink.module.activiti.service.oa.impl; package ink.wgink.module.activiti.service.oa.impl;
import ink.wgink.common.base.DefaultBaseService; 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.OaProcdefDTO;
import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO; import ink.wgink.module.activiti.pojo.dtos.oa.OaTaskDTO;
import ink.wgink.module.activiti.service.oa.IOaFormReportService; 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.pojo.dtos.design.FormDTO;
import ink.wgink.module.form.service.design.IFormService; import ink.wgink.module.form.service.design.IFormService;
import ink.wgink.pojo.result.SuccessResultList; import ink.wgink.pojo.result.SuccessResultList;
import org.activiti.engine.FormService; import org.activiti.engine.*;
import org.activiti.engine.RepositoryService; import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.RuntimeService; import org.activiti.engine.history.HistoricTaskInstanceQuery;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.ProcessDefinition; import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery; import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.activiti.engine.task.Task; import org.activiti.engine.task.Task;
@ -43,6 +43,8 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService {
@Autowired @Autowired
private TaskService taskService; private TaskService taskService;
@Autowired @Autowired
private HistoryService historyService;
@Autowired
private IFormService iFormService; private IFormService iFormService;
@Override @Override
@ -104,6 +106,25 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService {
String userId = securityComponent.getCurrentUser().getUserId(); String userId = securityComponent.getCurrentUser().getUserId();
TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId); TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId);
List<Task> tasks = taskQuery.list(); List<Task> tasks = taskQuery.list();
return listOaTask(tasks);
}
@Override
public SuccessResultList<List<OaTaskDTO>> listPageTaskOfMine(int page, int rows) {
String userId = securityComponent.getCurrentUser().getUserId();
TaskQuery taskQuery = taskService.createTaskQuery().taskCandidateOrAssigned(userId);
List<Task> tasks = taskQuery.listPage(page - 1, rows);
List<OaTaskDTO> oaTaskDTOs = listOaTask(tasks);
return new SuccessResultList<>(oaTaskDTOs, page, taskQuery.count());
}
/**
* oa任务列表
*
* @param tasks
* @return
*/
private List<OaTaskDTO> listOaTask(List<Task> tasks) {
List<OaTaskDTO> oaTaskDTOs = new ArrayList<>(); List<OaTaskDTO> oaTaskDTOs = new ArrayList<>();
tasks.forEach(task -> { tasks.forEach(task -> {
OaTaskDTO oaTaskDTO = new OaTaskDTO(); OaTaskDTO oaTaskDTO = new OaTaskDTO();
@ -115,7 +136,7 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService {
oaTaskDTO.setOwner(task.getOwner()); oaTaskDTO.setOwner(task.getOwner());
Map<String, Object> variables = runtimeService.getVariables(task.getProcessInstanceId()); Map<String, Object> variables = runtimeService.getVariables(task.getProcessInstanceId());
if(variables.isEmpty()) { if (variables.isEmpty()) {
return; return;
} }
oaTaskDTO.setFormCode(variables.get(IOaFormReportService.KEY_FORM_CODE).toString()); oaTaskDTO.setFormCode(variables.get(IOaFormReportService.KEY_FORM_CODE).toString());
@ -124,4 +145,33 @@ public class OaServiceImpl extends DefaultBaseService implements IOaService {
}); });
return oaTaskDTOs; return oaTaskDTOs;
} }
@Override
public List<OaHistoryTaskDTO> listHistoryTaskOfMine() {
String userId = securityComponent.getCurrentUser().getUserId();
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery().taskAssignee(userId);
List<HistoricTaskInstance> historicTaskInstances = historicTaskInstanceQuery.list();
return listOaHistoryTask(historicTaskInstances);
}
@Override
public SuccessResultList<List<OaHistoryTaskDTO>> listPageHistoryTaskOfMine(int page, int rows) {
String userId = securityComponent.getCurrentUser().getUserId();
HistoricTaskInstanceQuery historicTaskInstanceQuery = historyService.createHistoricTaskInstanceQuery().taskAssignee(userId);
List<HistoricTaskInstance> historicTaskInstances = historicTaskInstanceQuery.listPage(page - 1, rows);
List<OaHistoryTaskDTO> oaHistoryTaskDTOs = listOaHistoryTask(historicTaskInstances);
return new SuccessResultList<>(oaHistoryTaskDTOs, page, historicTaskInstanceQuery.count());
}
private List<OaHistoryTaskDTO> listOaHistoryTask(List<HistoricTaskInstance> historicTaskInstances) {
List<OaHistoryTaskDTO> oaHistoryTaskDTOs = new ArrayList<>();
historicTaskInstances.forEach(historicTaskInstance -> {
OaHistoryTaskDTO oaHistoryTaskDTO = new OaHistoryTaskDTO();
oaHistoryTaskDTO.setTaskId(historicTaskInstance.getId());
oaHistoryTaskDTO.setTaskName(historicTaskInstance.getName());
});
return oaHistoryTaskDTOs;
}
} }

View File

@ -6,7 +6,9 @@
<id column="node_field_id" property="nodeFieldId"/> <id column="node_field_id" property="nodeFieldId"/>
<result column="deployment_id" property="deploymentId"/> <result column="deployment_id" property="deploymentId"/>
<result column="form_id" property="formId"/> <result column="form_id" property="formId"/>
<result column="flow_node_index" property="flowNodeIndex"/>
<result column="flow_node_id" property="flowNodeId"/> <result column="flow_node_id" property="flowNodeId"/>
<result column="flow_node_name" property="flowNodeName"/>
<result column="field_name" property="fieldName"/> <result column="field_name" property="fieldName"/>
<result column="is_visible" property="isVisible"/> <result column="is_visible" property="isVisible"/>
<result column="is_editable" property="isEditable"/> <result column="is_editable" property="isEditable"/>
@ -18,7 +20,9 @@
`node_field_id` char(36) DEFAULT NULL COMMENT '主键', `node_field_id` char(36) DEFAULT NULL COMMENT '主键',
`deployment_id` char(36) DEFAULT NULL COMMENT '流程部署ID', `deployment_id` char(36) DEFAULT NULL COMMENT '流程部署ID',
`form_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_id` char(60) DEFAULT NULL COMMENT '流程节点ID',
`flow_node_name` varchar(255) DEFAULT NULL COMMENT '流程节点名称',
`field_name` varchar(255) DEFAULT NULL COMMENT '字段名', `field_name` varchar(255) DEFAULT NULL COMMENT '字段名',
`is_visible` int(1) DEFAULT '1' COMMENT '是否可见', `is_visible` int(1) DEFAULT '1' COMMENT '是否可见',
`is_editable` int(1) DEFAULT '1' COMMENT '是否可编辑', `is_editable` int(1) DEFAULT '1' COMMENT '是否可编辑',
@ -32,7 +36,9 @@
node_field_id, node_field_id,
deployment_id, deployment_id,
form_id, form_id,
flow_node_index,
flow_node_id, flow_node_id,
flow_node_name,
field_name, field_name,
is_visible, is_visible,
is_editable is_editable
@ -40,7 +46,9 @@
#{nodeFieldId}, #{nodeFieldId},
#{deploymentId}, #{deploymentId},
#{formId}, #{formId},
#{flowNodeIndex},
#{flowNodeId}, #{flowNodeId},
#{flowNodeName},
#{fieldName}, #{fieldName},
#{isVisible}, #{isVisible},
#{isEditable} #{isEditable}
@ -84,7 +92,9 @@
SELECT SELECT
deployment_id, deployment_id,
form_id, form_id,
flow_node_id flow_node_index,
flow_node_id,
flow_node_name
FROM FROM
oa_node_field oa_node_field
<where> <where>
@ -100,9 +110,11 @@
GROUP BY GROUP BY
deployment_id, deployment_id,
form_id, form_id,
flow_node_id flow_node_index,
flow_node_id,
flow_node_name
ORDER BY ORDER BY
id flow_node_index
</select> </select>
<!-- 列表 --> <!-- 列表 -->
@ -111,7 +123,9 @@
node_field_id, node_field_id,
deployment_id, deployment_id,
form_id, form_id,
flow_node_index,
flow_node_id, flow_node_id,
flow_node_name,
field_name, field_name,
is_visible, is_visible,
is_editable is_editable
@ -132,7 +146,7 @@
</if> </if>
</where> </where>
ORDER BY ORDER BY
id flow_node_index
</select> </select>
</mapper> </mapper>

View File

@ -65,7 +65,6 @@
}, },
cols: [ cols: [
[ [
{type:'checkbox', fixed: 'left'},
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'}, {field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
{field:'name', width:150, title: '模型名称', align:'center', {field:'name', width:150, title: '模型名称', align:'center',
templet: function(row) { templet: function(row) {

View File

@ -132,10 +132,11 @@
return flowChatImg; return flowChatImg;
} }
}, },
{field: 'form', width: 100, title: '操作', align:'center', fixed: 'right', {field: 'form', width: 140, title: '操作', align:'center', fixed: 'right',
templet: function(row) { templet: function(row) {
return '<div class="layui-btn-group">' + return '<div class="layui-btn-group">' +
'<button class="layui-btn layui-btn-xs" lay-event="nodeEvent">节点管理</button>'+ '<button class="layui-btn layui-btn-xs" lay-event="nodeEvent">节点管理</button>'+
'<button class="layui-btn layui-btn-xs layui-btn-danger" lay-event="deleteEvent">删除</button>'+
'</div>'; '</div>';
} }
} }
@ -184,10 +185,30 @@
top.dialog.open({ top.dialog.open({
url: top.restAjax.path('route/oa/node-field/list-node?deploymentId={deploymentId}', [data.deploymentId]), url: top.restAjax.path('route/oa/node-field/list-node?deploymentId={deploymentId}', [data.deploymentId]),
title: '节点字段管理', title: '节点字段管理',
width: '400px', width: '800px',
height: '500px', height: '500px',
onClose: function() {} 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);
});
}
});
} }
}); });
}); });

View File

@ -20,12 +20,14 @@
<table class="layui-table"> <table class="layui-table">
<col width="60"> <col width="60">
<col> <col>
<col>
<col width="80"> <col width="80">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th>序号</th> <th>序号</th>
<th>节点ID</th> <th>节点ID</th>
<th>节点名称</th>
<th>表单管理</th> <th>表单管理</th>
</tr> </tr>
</thead> </thead>
@ -58,6 +60,7 @@
var tr = '<tr>' + var tr = '<tr>' +
'<td>'+ i +'</td>' + '<td>'+ i +'</td>' +
'<td>'+ item.flowNodeId +'</td>' + '<td>'+ item.flowNodeId +'</td>' +
'<td>'+ item.flowNodeName +'</td>' +
'<td><button type="button" class="layui-btn layui-btn-xs form-config" data-flow-node-id="'+ item.flowNodeId +'" data-form-id="'+ item.formId +'">表单配置</button></td>' + '<td><button type="button" class="layui-btn layui-btn-xs form-config" data-flow-node-id="'+ item.flowNodeId +'" data-form-id="'+ item.formId +'">表单配置</button></td>' +
'</tr>'; '</tr>';
trs += tr; trs += tr;

View File

@ -158,7 +158,7 @@
var layEvent = obj.event; var layEvent = obj.event;
if(layEvent === 'startProcess') { if(layEvent === 'startProcess') {
top.dialog.open({ 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: '发起流程', title: '发起流程',
width: '500px', width: '500px',
height: '80%', height: '80%',

View File

@ -0,0 +1,142 @@
<!doctype html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<base th:href="${#request.getContextPath() + '/'} ">
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
</head>
<body>
<div class="layui-fluid layui-anim layui-anim-fadein">
<div class="layui-row">
<div class="layui-col-md12">
<div class="layui-card">
<div class="layui-card-body">
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
</div>
</div>
</div>
</div>
</div>
<script src="assets/layuiadmin/layui/layui.js"></script>
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
<script>
layui.config({
base: 'assets/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'table', 'laydate', 'common'], function() {
var $ = layui.$;
var $win = $(window);
var table = layui.table;
var admin = layui.admin;
var laydate = layui.laydate;
var common = layui.common;
var resizeTimeout = null;
var tableUrl = 'api/oa/listpage-task-of-mine';
// 初始化表格
function initTable() {
table.render({
elem: '#dataTable',
id: 'dataTable',
url: top.restAjax.path(tableUrl, []),
width: admin.screen() > 1 ? '100%' : '',
height: $win.height() - 50,
limit: 20,
limits: [20, 40, 60, 80, 100, 200],
request: {
pageName: 'page',
limitName: 'rows'
},
cols: [
[
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
{field:'taskId', width:150, title: '主键', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field:'taskName', width:200, title: '任务名称', align:'center',
templet: function(row) {
var rowData = row[this.field];
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
return '-';
}
return rowData;
}
},
{field: 'form', width: 100, title: '操作', align:'center', fixed: 'right',
templet: function(row) {
if(!row.formCode || !row.formVersion) {
return '-';
}
return '<div class="layui-btn-group">' +
'<button class="layui-btn layui-btn-xs" lay-event="handleEvent">处理</button>'+
'</div>';
}
}
]
],
page: true,
parseData: function(data) {
return {
'code': 0,
'msg': '',
'count': data.total,
'data': data.rows
};
}
});
}
// 重载表格
function reloadTable(currentPage) {
table.reload('dataTable', {
url: top.restAjax.path(tableUrl, []),
where: {},
page: {
curr: currentPage
},
height: $win.height() - 50,
});
}
initTable();
// 事件 - 页面变化
$win.on('resize', function() {
clearTimeout(resizeTimeout);
resizeTimeout = setTimeout(function() {
reloadTable();
}, 500);
});
// 事件 - 搜索
$(document).on('click', '#search', function() {
reloadTable(1);
});
table.on('tool(dataTable)', function(obj) {
var data = obj.data;
var layEvent = obj.event;
if(layEvent === 'handleEvent') {
top.dialog.open({
url: top.restAjax.path('route/oa-form-report/update/task-id/{taskId}/code/{formCode}/version/{formVersion}?uid={reportUid}', [data.taskId, data.formCode, data.formVersion, data.reportUid]),
title: '编辑',
width: '500px',
height: '80%',
onClose: function() {}
});
}
});
});
</script>
</body>
</html>

View File

@ -3,6 +3,7 @@ package ink.wgink.module.form.service.report;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.util.Map;
/** /**
* @ClassName: IFormReportService * @ClassName: IFormReportService
@ -25,7 +26,7 @@ public interface IFormReportRouteService {
void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse);
/** /**
* 修改页面 * 新增页面
* *
* @param formCode * @param formCode
* @param formVersion * @param formVersion
@ -33,8 +34,32 @@ public interface IFormReportRouteService {
* @param httpServletRequest * @param httpServletRequest
* @param httpServletResponse * @param httpServletResponse
*/ */
void save(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Map<String, Object> 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); 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<String, Object> modal);
/** /**
* 详情页面 * 详情页面
* *
@ -46,6 +71,18 @@ public interface IFormReportRouteService {
*/ */
void show(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); 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<String, Object> modal);
/** /**
* APP新增页面 * APP新增页面
* *
@ -57,6 +94,18 @@ public interface IFormReportRouteService {
*/ */
void appSave(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); 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<String, Object> modal);
/** /**
* APP修改页面 * APP修改页面
* *
@ -68,6 +117,18 @@ public interface IFormReportRouteService {
*/ */
void appUpdate(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse); 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<String, Object> modal);
/** /**
* APP详情页面 * APP详情页面
* *
@ -78,4 +139,16 @@ public interface IFormReportRouteService {
* @param httpServletResponse * @param httpServletResponse
*/ */
void appShow(String formCode, Integer formVersion, HttpSession httpSession, HttpServletRequest httpServletRequest, HttpServletResponse 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<String, Object> modal);
} }

View File

@ -45,7 +45,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
if (formPO == null) { if (formPO == null) {
return; return;
} }
Map<String, Object> modal = getModal(formPO); Map<String, Object> 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<String, Object> modal) {
FormPO formPO = getFormPO(formCode, formVersion);
if (formPO == null) {
return;
}
setModal(formPO, modal);
showPage(modal, formCode, formPO.getSavePageCode(), httpSession, httpServletRequest, httpServletResponse); showPage(modal, formCode, formPO.getSavePageCode(), httpSession, httpServletRequest, httpServletResponse);
} }
@ -55,7 +66,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
if (formPO == null) { if (formPO == null) {
return; return;
} }
Map<String, Object> modal = getModal(formPO); Map<String, Object> 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<String, Object> modal) {
FormPO formPO = getFormPO(formCode, formVersion);
if (formPO == null) {
return;
}
setModal(formPO, modal);
showPage(modal, formCode, formPO.getUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse); showPage(modal, formCode, formPO.getUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse);
} }
@ -65,7 +87,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
if (formPO == null) { if (formPO == null) {
return; return;
} }
Map<String, Object> modal = getModal(formPO); Map<String, Object> 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<String, Object> modal) {
FormPO formPO = getFormPO(formCode, formVersion);
if (formPO == null) {
return;
}
setModal(formPO, modal);
showPage(modal, formCode, formPO.getShowPageCode(), httpSession, httpServletRequest, httpServletResponse); showPage(modal, formCode, formPO.getShowPageCode(), httpSession, httpServletRequest, httpServletResponse);
} }
@ -75,7 +108,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
if (formPO == null) { if (formPO == null) {
return; return;
} }
Map<String, Object> modal = getModal(formPO); Map<String, Object> 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<String, Object> modal) {
FormPO formPO = getFormPO(formCode, formVersion);
if (formPO == null) {
return;
}
setModal(formPO, modal);
showPage(modal, formCode, formPO.getAppSavePageCode(), httpSession, httpServletRequest, httpServletResponse); showPage(modal, formCode, formPO.getAppSavePageCode(), httpSession, httpServletRequest, httpServletResponse);
} }
@ -85,7 +129,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
if (formPO == null) { if (formPO == null) {
return; return;
} }
Map<String, Object> modal = getModal(formPO); Map<String, Object> 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<String, Object> modal) {
FormPO formPO = getFormPO(formCode, formVersion);
if (formPO == null) {
return;
}
setModal(formPO, modal);
showPage(modal, formCode, formPO.getAppUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse); showPage(modal, formCode, formPO.getAppUpdatePageCode(), httpSession, httpServletRequest, httpServletResponse);
} }
@ -95,7 +150,18 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
if (formPO == null) { if (formPO == null) {
return; return;
} }
Map<String, Object> modal = getModal(formPO); Map<String, Object> 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<String, Object> modal) {
FormPO formPO = getFormPO(formCode, formVersion);
if (formPO == null) {
return;
}
setModal(formPO, modal);
showPage(modal, formCode, formPO.getAppShowPageCode(), httpSession, httpServletRequest, httpServletResponse); showPage(modal, formCode, formPO.getAppShowPageCode(), httpSession, httpServletRequest, httpServletResponse);
} }
@ -124,17 +190,17 @@ public class FormReportRouteServiceImpl extends DefaultBaseService implements IF
} }
/** /**
* 获取模型 * 设置模型
* *
* @param formPO
* @param modal
* @return * @return
*/ */
private Map<String, Object> getModal(FormPO formPO) { private void setModal(FormPO formPO, Map<String, Object> modal) {
Map<String, Object> modal = getHashMap(10);
modal.put("contextPath", httpServletRequest.getContextPath() + "/"); modal.put("contextPath", httpServletRequest.getContextPath() + "/");
modal.put("formName", formPO.getFormName()); modal.put("formName", formPO.getFormName());
modal.put("formCode", formPO.getFormCode()); modal.put("formCode", formPO.getFormCode());
modal.put("formVersion", formPO.getFormVersion()); modal.put("formVersion", formPO.getFormVersion());
return modal;
} }
/** /**