完善流程部署
This commit is contained in:
parent
1d585f0ead
commit
3a9b060914
@ -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));
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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());
|
||||
|
@ -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" : "复原",
|
||||
|
@ -98,10 +98,22 @@
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field:'deploymentStatus', width:80, title: '状态', align:'center',
|
||||
templet: function(row) {
|
||||
if(!row.deploymentId) {
|
||||
return '<span class="layui-badge layui-bg-gray">未部署</span>';
|
||||
} else {
|
||||
return '<span class="layui-badge layui-bg-green">已部署</span>';
|
||||
}
|
||||
}
|
||||
},
|
||||
{field: 'option', width: 80, title: '操作', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
return '<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="operationEvent">部署</button>';
|
||||
if(!row.deploymentId) {
|
||||
return '<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="publishEvent">部署</button>';
|
||||
} else {
|
||||
return '<button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="revokePublishEvent">撤销</button>';
|
||||
}
|
||||
}
|
||||
},
|
||||
]],
|
||||
@ -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);
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
@ -21,7 +21,7 @@
|
||||
<input type="text" id="modelName" name="modelName" class="layui-input" value="" placeholder="请输入模型名称" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">模型Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="modelKey" name="modelKey" class="layui-input" value="" placeholder="请输入模型Key" lay-verify="required">
|
||||
|
Loading…
Reference in New Issue
Block a user