diff --git a/src/main/java/com/cm/inspection/controller/apis/activiti/ActivitiController.java b/src/main/java/com/cm/inspection/controller/apis/activiti/ActivitiController.java index f26fc72..0e23c52 100644 --- a/src/main/java/com/cm/inspection/controller/apis/activiti/ActivitiController.java +++ b/src/main/java/com/cm/inspection/controller/apis/activiti/ActivitiController.java @@ -3,11 +3,13 @@ package com.cm.inspection.controller.apis.activiti; import com.cm.common.annotation.CheckRequestBodyAnnotation; import com.cm.common.base.AbstractController; import com.cm.common.constants.ISystemConstant; +import com.cm.common.exception.ParamsException; import com.cm.common.pojo.ListPage; import com.cm.common.result.ErrorResult; import com.cm.common.result.SuccessResult; import com.cm.common.result.SuccessResultData; import com.cm.common.result.SuccessResultList; +import com.cm.common.utils.RegexUtil; import com.cm.inspection.pojo.vos.activiti.ActivitiVO; import com.cm.inspection.service.activiti.IActivitiService; import io.swagger.annotations.*; @@ -42,6 +44,9 @@ public class ActivitiController extends AbstractController { @PostMapping("create") @CheckRequestBodyAnnotation public SuccessResultData create(@RequestBody ActivitiVO activitiVO) throws UnsupportedEncodingException { + if(!RegexUtil.isChinese(activitiVO.getModelKey())) { + throw new ParamsException("模型Key不能有中文"); + } return new SuccessResultData<>(activitiService.create(activitiVO)); } diff --git a/src/main/java/com/cm/inspection/pojo/vos/activiti/ActivitiVO.java b/src/main/java/com/cm/inspection/pojo/vos/activiti/ActivitiVO.java index 6fefcab..cfa4fae 100644 --- a/src/main/java/com/cm/inspection/pojo/vos/activiti/ActivitiVO.java +++ b/src/main/java/com/cm/inspection/pojo/vos/activiti/ActivitiVO.java @@ -2,7 +2,6 @@ package com.cm.inspection.pojo.vos.activiti; import com.cm.common.annotation.CheckEmptyAnnotation; import com.cm.common.annotation.CheckNumberAnnotation; -import io.swagger.annotations.Api; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -40,7 +39,7 @@ public class ActivitiVO { } public String getModelKey() { - return modelKey == null ? "" : modelKey.trim(); + return modelKey == null ? "" : modelKey.trim().replaceAll("\\s", ""); } public void setModelKey(String modelKey) { diff --git a/src/main/java/com/cm/inspection/service/activiti/impl/ActivitiServiceImpl.java b/src/main/java/com/cm/inspection/service/activiti/impl/ActivitiServiceImpl.java index 1fd2b88..c1a5ed7 100644 --- a/src/main/java/com/cm/inspection/service/activiti/impl/ActivitiServiceImpl.java +++ b/src/main/java/com/cm/inspection/service/activiti/impl/ActivitiServiceImpl.java @@ -3,15 +3,12 @@ package com.cm.inspection.service.activiti.impl; import com.alibaba.fastjson.JSONObject; import com.cm.common.base.AbstractService; import com.cm.common.constants.ISystemConstant; -import com.cm.common.exception.RemoveException; import com.cm.common.exception.SearchException; -import com.cm.common.pojo.ListPage; import com.cm.common.result.SuccessResultList; import com.cm.inspection.pojo.vos.activiti.ActivitiVO; import com.cm.inspection.service.activiti.IActivitiService; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.ObjectNode; import org.activiti.bpmn.model.BpmnModel; import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.editor.language.json.converter.BpmnJsonConverter; @@ -28,7 +25,6 @@ import org.springframework.stereotype.Service; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.List; -import java.util.Map; /** * When you feel like quitting. Think about why you started @@ -52,6 +48,10 @@ public class ActivitiServiceImpl extends AbstractService implements IActivitiSer @Override public String create(ActivitiVO activitiVO) throws UnsupportedEncodingException { + long count = repositoryService.createModelQuery().modelName(activitiVO.getModelName()).modelKey(activitiVO.getModelKey()).modelVersion(activitiVO.getModelVersion()).count(); + if (count >= 1) { + throw new SearchException("模型已经存在"); + } Model model = repositoryService.newModel(); model.setName(activitiVO.getModelName()); model.setKey(activitiVO.getModelKey()); diff --git a/src/main/resources/static/editor-app/i18n/en.json b/src/main/resources/static/editor-app/i18n/en.json index a35ea88..aa3e40e 100644 --- a/src/main/resources/static/editor-app/i18n/en.json +++ b/src/main/resources/static/editor-app/i18n/en.json @@ -26,8 +26,8 @@ "TOOLBAR.ACTION.COPY" : "复制 (在流程中选择一个或多个节点)", "TOOLBAR.ACTION.PASTE" : "粘贴", "TOOLBAR.ACTION.DELETE" : "删除选择的元素", - "TOOLBAR.ACTION.UNDO" : "下一步", - "TOOLBAR.ACTION.REDO" : "上一步", + "TOOLBAR.ACTION.UNDO" : "上一步", + "TOOLBAR.ACTION.REDO" : "下一步", "TOOLBAR.ACTION.ZOOMIN" : "放大", "TOOLBAR.ACTION.ZOOMOUT" : "缩小", "TOOLBAR.ACTION.ZOOMACTUAL" : "复原", diff --git a/src/main/resources/static/route/activiti/list.html b/src/main/resources/static/route/activiti/list.html index 8717701..352aead 100644 --- a/src/main/resources/static/route/activiti/list.html +++ b/src/main/resources/static/route/activiti/list.html @@ -98,10 +98,22 @@ return rowData; } }, + {field:'deploymentStatus', width:80, title: '状态', align:'center', + templet: function(row) { + if(!row.deploymentId) { + return '未部署'; + } else { + return '已部署'; + } + } + }, {field: 'option', width: 80, title: '操作', align:'center', templet: function(row) { - var rowData = row[this.field]; - return ''; + if(!row.deploymentId) { + return ''; + } else { + return ''; + } } }, ]], @@ -171,7 +183,7 @@ url: top.restAjax.path('route/activiti/save.html', []), title: '新增流程图', width: '400px', - height: '300px', + height: '350px', onClose: function() { reloadTable(); } @@ -202,6 +214,42 @@ } } }); + + table.on('tool(dataTable)', function(obj) { + var data = obj.data; + var layEvent = obj.event; + if(layEvent === 'publishEvent') { + top.dialog.confirm('确定 部署 流程?', function(index) { + top.dialog.close(index); + var loadLayerIndex; + top.restAjax.put(top.restAjax.path('api/activiti/publish/{modelId}', [data.id]), {}, null, function(code, data) { + top.dialog.msg('操作成功'); + reloadTable(); + }, function(code, data) { + top.dialog.msg(data.msg); + }, function() { + loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3}); + }, function() { + top.dialog.close(loadLayerIndex); + }); + }); + } else if(layEvent === 'revokePublishEvent') { + top.dialog.confirm('确定 撤销 部署流程?', function(index) { + top.dialog.close(index); + var loadLayerIndex; + top.restAjax.put(top.restAjax.path('api/activiti/revoke-publish/{modelId}', [data.id]), {}, null, function(code, data) { + top.dialog.msg('操作成功'); + reloadTable(); + }, function(code, data) { + top.dialog.msg(data.msg); + }, function() { + loadLayerIndex = top.dialog.msg(top.dataMessage.committing, {icon: 16, time: 0, shade: 0.3}); + }, function() { + top.dialog.close(loadLayerIndex); + }); + }); + } + }); }); diff --git a/src/main/resources/static/route/activiti/save.html b/src/main/resources/static/route/activiti/save.html index 0023672..2f6bc11 100644 --- a/src/main/resources/static/route/activiti/save.html +++ b/src/main/resources/static/route/activiti/save.html @@ -21,7 +21,7 @@ -
+