From ba4cf8af7783c278dd9dda6c934dfd93497955af Mon Sep 17 00:00:00 2001 From: WenG <450292408@qq.com> Date: Wed, 4 May 2022 15:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84OA=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/oa/OaFormReportController.java | 7 +++-- .../oa/impl/OaFormReportRouteServiceImpl.java | 2 +- .../oa/impl/OaFormReportServiceImpl.java | 7 +++-- .../form/pojo/pos/design/FormFieldPO.java | 9 +++++++ .../form/pojo/vos/design/FormFieldVO.java | 10 +++++++ .../service/design/IFormFieldService.java | 9 +++++++ .../design/impl/FormFieldServiceImpl.java | 8 +++++- .../mapper/design/form-field-mapper.xml | 26 +++++++++++++++++++ .../resources/static/form/js/oa-form-util.js | 5 +++- .../templates/ftl/page/web/oa/form-save.ftl | 2 +- .../templates/ftl/page/web/oa/form-update.ftl | 3 +-- 11 files changed, 76 insertions(+), 12 deletions(-) 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 c2740a4b..183b66ac 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 @@ -4,6 +4,7 @@ import ink.wgink.common.base.DefaultBaseController; import ink.wgink.exceptions.ParamsException; import ink.wgink.interfaces.consts.ISystemConstant; import ink.wgink.module.activiti.service.oa.IOaFormReportService; +import ink.wgink.module.form.service.design.IFormFieldService; import ink.wgink.pojo.ListPage; import ink.wgink.pojo.result.SuccessResult; import ink.wgink.pojo.result.SuccessResultList; @@ -32,6 +33,8 @@ public class OaFormReportController extends DefaultBaseController { @Autowired private IOaFormReportService oaFormReportService; + @Autowired + private IFormFieldService formFieldService; @ApiOperation(value = "保存表单(发起流程)", notes = "保存表单(发起流程)接口") @ApiImplicitParams({ @@ -131,9 +134,5 @@ public class OaFormReportController extends DefaultBaseController { if (!isNextEndEvent && assignees.isEmpty()) { throw new ParamsException("未选择下节点代理人"); } - for (Map.Entry kv : body.entrySet()) { - String key = kv.getKey(); - Object value = kv.getValue(); - } } } 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 index b282b76d..88ce4a22 100644 --- 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 @@ -276,7 +276,7 @@ public class OaFormReportRouteServiceImpl extends DefaultBaseService implements confirmAssigneeVO.setNextEndEvent(nextUserTasks.isEmpty() ? true : false); confirmAssigneeVO.setBtnExc(getSequenceFlowExcCondition(sequenceFlow.getConditionExpression())); if (StringUtils.isBlank(name)) { - confirmAssigneeVO.setBtnText("提交" + (i + 1)); + confirmAssigneeVO.setBtnText("提交"); } else { confirmAssigneeVO.setBtnText(name); } 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 e0339647..6aa3c946 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 @@ -215,19 +215,22 @@ public class OaFormReportServiceImpl extends DefaultBaseService implements IOaFo LOG.debug("6.2 当前节点为会签节点(多实例)"); LOG.debug("6.2.1 删除未完成的任务(当前任务除外)"); for (HistoricTaskInstance historicTaskInstance : historicTaskInstances) { - if (!StringUtils.equals(historicTaskInstance.getId(), currentTaskId)) { + // 当前任务不处理 + if (StringUtils.equals(historicTaskInstance.getId(), currentTaskId)) { continue; } + // 已经完成的不处理 if (historicTaskInstance.getEndTime() != null) { continue; } + /// 未完成的 TaskCommentBO taskCommentBO = new TaskCommentBO(); taskCommentBO.setType(TaskCommentTypeEnum.GO_BACK); taskCommentBO.setContent("其他人回退(自动完成)"); taskCommentBO.setTime(DateUtil.getTime()); taskCommentBO.setUserId(userId); taskCommentBO.setUserName(userName); - taskService.addComment(currentTaskId, processInstanceId, TaskCommentTypeEnum.GO_BACK.getValue(), JSONObject.toJSONString(taskCommentBO)); + taskService.addComment(historicTaskInstance.getId(), processInstanceId, TaskCommentTypeEnum.GO_BACK.getValue(), JSONObject.toJSONString(taskCommentBO)); taskService.complete(historicTaskInstance.getId()); } } diff --git a/module-form/src/main/java/ink/wgink/module/form/pojo/pos/design/FormFieldPO.java b/module-form/src/main/java/ink/wgink/module/form/pojo/pos/design/FormFieldPO.java index e40995ac..c39ab061 100644 --- a/module-form/src/main/java/ink/wgink/module/form/pojo/pos/design/FormFieldPO.java +++ b/module-form/src/main/java/ink/wgink/module/form/pojo/pos/design/FormFieldPO.java @@ -14,6 +14,7 @@ public class FormFieldPO implements Serializable { private String fieldTag; private String fieldDefault; private Boolean listShow; + private String fieldRequired; public Long getId() { return id; @@ -86,4 +87,12 @@ public class FormFieldPO implements Serializable { public void setListShow(Boolean listShow) { this.listShow = listShow; } + + public String getFieldRequired() { + return fieldRequired; + } + + public void setFieldRequired(String fieldRequired) { + this.fieldRequired = fieldRequired; + } } diff --git a/module-form/src/main/java/ink/wgink/module/form/pojo/vos/design/FormFieldVO.java b/module-form/src/main/java/ink/wgink/module/form/pojo/vos/design/FormFieldVO.java index f93be863..2541314c 100644 --- a/module-form/src/main/java/ink/wgink/module/form/pojo/vos/design/FormFieldVO.java +++ b/module-form/src/main/java/ink/wgink/module/form/pojo/vos/design/FormFieldVO.java @@ -20,6 +20,8 @@ public class FormFieldVO { private String fieldDefault; @ApiModelProperty(name = "listShow", value = "列表显示") private String listShow; + @ApiModelProperty(name = "fieldRequired", value = "字段校验") + private String fieldRequired; public String getFormId() { return formId; @@ -76,4 +78,12 @@ public class FormFieldVO { public void setListShow(String listShow) { this.listShow = listShow; } + + public String getFieldRequired() { + return fieldRequired; + } + + public void setFieldRequired(String fieldRequired) { + this.fieldRequired = fieldRequired; + } } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormFieldService.java b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormFieldService.java index c9a43862..955333b6 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/IFormFieldService.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/IFormFieldService.java @@ -139,4 +139,13 @@ public interface IFormFieldService { */ List listFieldNameByFormIdAndListShow(String formId, Boolean isListShow); + /** + * 字段列表 + * + * @param formCode 表单编码 + * @param formVersion 表单版本 + * @return + */ + List listByFormCodeAndVersion(String formCode, Integer formVersion); + } diff --git a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormFieldServiceImpl.java b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormFieldServiceImpl.java index 355a5d53..a55d372e 100644 --- a/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormFieldServiceImpl.java +++ b/module-form/src/main/java/ink/wgink/module/form/service/design/impl/FormFieldServiceImpl.java @@ -136,5 +136,11 @@ public class FormFieldServiceImpl extends DefaultBaseService implements IFormFie return listFieldName(params); } - + @Override + public List listByFormCodeAndVersion(String formCode, Integer formVersion) { + Map params = getHashMap(4); + params.put("formCode", formCode); + params.put("formVersion", formVersion); + return list(params); + } } diff --git a/module-form/src/main/resources/mybatis/mapper/design/form-field-mapper.xml b/module-form/src/main/resources/mybatis/mapper/design/form-field-mapper.xml index 21288f98..533cf612 100644 --- a/module-form/src/main/resources/mybatis/mapper/design/form-field-mapper.xml +++ b/module-form/src/main/resources/mybatis/mapper/design/form-field-mapper.xml @@ -11,7 +11,9 @@ + + @@ -23,6 +25,7 @@ + @@ -36,6 +39,7 @@ `field_type` varchar(255) DEFAULT NULL COMMENT '字段类型', `field_tag` varchar(255) DEFAULT NULL COMMENT '标签类型', `field_default` varchar(255) DEFAULT NULL COMMENT '字段默认', + `field_required` varchar(255) DEFAULT 'none' COMMENT '字段校验', `list_show` varchar(10) DEFAULT 'false' COMMENT '是否列表显示', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='字段字段'; @@ -51,6 +55,7 @@ field_type, field_tag, field_default, + field_required, list_show ) VALUES( #{fieldId}, @@ -60,6 +65,7 @@ #{fieldType}, #{fieldTag}, #{fieldDefault}, + #{fieldRequired}, #{listShow} ) @@ -99,6 +105,7 @@ field_type = #{fieldType}, field_tag = #{fieldTag}, field_default = #{fieldDefault}, + field_required = #{fieldRequired}, list_show = #{listShow} WHERE field_id = #{fieldId} @@ -114,6 +121,7 @@ field_type, field_tag, field_default, + field_required, list_show FROM form_field @@ -131,6 +139,7 @@ field_type, field_tag, field_default, + field_required, list_show FROM form_field @@ -148,6 +157,7 @@ field_type, field_tag, field_default, + field_required, list_show FROM form_field @@ -156,6 +166,21 @@ AND form_id = #{formId} + + AND + form_id = ( + SELECT + form_id + FROM + form_form + WHERE + is_delete = 0 + AND + form_code = #{formCode} + AND + form_version = #{formVersion} + ) + @@ -169,6 +194,7 @@ field_type, field_tag, field_default, + field_required, list_show FROM form_field diff --git a/module-form/src/main/resources/static/form/js/oa-form-util.js b/module-form/src/main/resources/static/form/js/oa-form-util.js index 8a02e1ca..7a89ce5f 100644 --- a/module-form/src/main/resources/static/form/js/oa-form-util.js +++ b/module-form/src/main/resources/static/form/js/oa-form-util.js @@ -169,6 +169,9 @@ function OaFormUtil(layui) { textAlign: 'center' }) $('#processImage').append(html); + $('#runtimeProcessImageBox').css({ + height: '100%', + }); } initRuntimeProcessImage(); @@ -195,7 +198,7 @@ function OaFormUtil(layui) { * 初始化选择项 */ this.initTabItem = function (processInstanceId) { - $('.layui-tab-item, #runtimeProcessImageBox').css({ + $('.layui-tab-item').css({ height: (win.height() - 138) + 'px', overflow: 'auto' }); diff --git a/module-form/src/main/resources/templates/ftl/page/web/oa/form-save.ftl b/module-form/src/main/resources/templates/ftl/page/web/oa/form-save.ftl index 18ef9a18..20c87c7b 100644 --- a/module-form/src/main/resources/templates/ftl/page/web/oa/form-save.ftl +++ b/module-form/src/main/resources/templates/ftl/page/web/oa/form-save.ftl @@ -154,7 +154,7 @@ return false; } - formUtil.selectUsers({ + oaFormUtil.selectUsers({ selectType: selectType, users: confirmAssignees[index].assignees, selectedUserIds: [], diff --git a/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl b/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl index 4a577dfb..3f0ce5df 100644 --- a/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl +++ b/module-form/src/main/resources/templates/ftl/page/web/oa/form-update.ftl @@ -207,12 +207,11 @@ return false; } - formUtil.selectUsers({ + oaFormUtil.selectUsers({ selectType: selectType, users: confirmAssignees[index].assignees, selectedUserIds: [], onConfirm: function(selectedUsers) { - console.log(selectedUsers); var assignees = []; for(var j = 0, jItem; jItem = selectedUsers[j++];) { assignees.push(jItem.userId);