完善流程部署
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.annotation.CheckRequestBodyAnnotation;
|
||||||
import com.cm.common.base.AbstractController;
|
import com.cm.common.base.AbstractController;
|
||||||
import com.cm.common.constants.ISystemConstant;
|
import com.cm.common.constants.ISystemConstant;
|
||||||
|
import com.cm.common.exception.ParamsException;
|
||||||
import com.cm.common.pojo.ListPage;
|
import com.cm.common.pojo.ListPage;
|
||||||
import com.cm.common.result.ErrorResult;
|
import com.cm.common.result.ErrorResult;
|
||||||
import com.cm.common.result.SuccessResult;
|
import com.cm.common.result.SuccessResult;
|
||||||
import com.cm.common.result.SuccessResultData;
|
import com.cm.common.result.SuccessResultData;
|
||||||
import com.cm.common.result.SuccessResultList;
|
import com.cm.common.result.SuccessResultList;
|
||||||
|
import com.cm.common.utils.RegexUtil;
|
||||||
import com.cm.inspection.pojo.vos.activiti.ActivitiVO;
|
import com.cm.inspection.pojo.vos.activiti.ActivitiVO;
|
||||||
import com.cm.inspection.service.activiti.IActivitiService;
|
import com.cm.inspection.service.activiti.IActivitiService;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
@ -42,6 +44,9 @@ public class ActivitiController extends AbstractController {
|
|||||||
@PostMapping("create")
|
@PostMapping("create")
|
||||||
@CheckRequestBodyAnnotation
|
@CheckRequestBodyAnnotation
|
||||||
public SuccessResultData create(@RequestBody ActivitiVO activitiVO) throws UnsupportedEncodingException {
|
public SuccessResultData create(@RequestBody ActivitiVO activitiVO) throws UnsupportedEncodingException {
|
||||||
|
if(!RegexUtil.isChinese(activitiVO.getModelKey())) {
|
||||||
|
throw new ParamsException("模型Key不能有中文");
|
||||||
|
}
|
||||||
return new SuccessResultData<>(activitiService.create(activitiVO));
|
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.CheckEmptyAnnotation;
|
||||||
import com.cm.common.annotation.CheckNumberAnnotation;
|
import com.cm.common.annotation.CheckNumberAnnotation;
|
||||||
import io.swagger.annotations.Api;
|
|
||||||
import io.swagger.annotations.ApiModel;
|
import io.swagger.annotations.ApiModel;
|
||||||
import io.swagger.annotations.ApiModelProperty;
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
@ -40,7 +39,7 @@ public class ActivitiVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getModelKey() {
|
public String getModelKey() {
|
||||||
return modelKey == null ? "" : modelKey.trim();
|
return modelKey == null ? "" : modelKey.trim().replaceAll("\\s", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setModelKey(String modelKey) {
|
public void setModelKey(String modelKey) {
|
||||||
|
@ -3,15 +3,12 @@ package com.cm.inspection.service.activiti.impl;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.cm.common.base.AbstractService;
|
import com.cm.common.base.AbstractService;
|
||||||
import com.cm.common.constants.ISystemConstant;
|
import com.cm.common.constants.ISystemConstant;
|
||||||
import com.cm.common.exception.RemoveException;
|
|
||||||
import com.cm.common.exception.SearchException;
|
import com.cm.common.exception.SearchException;
|
||||||
import com.cm.common.pojo.ListPage;
|
|
||||||
import com.cm.common.result.SuccessResultList;
|
import com.cm.common.result.SuccessResultList;
|
||||||
import com.cm.inspection.pojo.vos.activiti.ActivitiVO;
|
import com.cm.inspection.pojo.vos.activiti.ActivitiVO;
|
||||||
import com.cm.inspection.service.activiti.IActivitiService;
|
import com.cm.inspection.service.activiti.IActivitiService;
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
||||||
import org.activiti.bpmn.model.BpmnModel;
|
import org.activiti.bpmn.model.BpmnModel;
|
||||||
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;
|
||||||
@ -28,7 +25,6 @@ import org.springframework.stereotype.Service;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When you feel like quitting. Think about why you started
|
* When you feel like quitting. Think about why you started
|
||||||
@ -52,6 +48,10 @@ public class ActivitiServiceImpl extends AbstractService implements IActivitiSer
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String create(ActivitiVO activitiVO) throws UnsupportedEncodingException {
|
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 model = repositoryService.newModel();
|
||||||
model.setName(activitiVO.getModelName());
|
model.setName(activitiVO.getModelName());
|
||||||
model.setKey(activitiVO.getModelKey());
|
model.setKey(activitiVO.getModelKey());
|
||||||
|
@ -26,8 +26,8 @@
|
|||||||
"TOOLBAR.ACTION.COPY" : "复制 (在流程中选择一个或多个节点)",
|
"TOOLBAR.ACTION.COPY" : "复制 (在流程中选择一个或多个节点)",
|
||||||
"TOOLBAR.ACTION.PASTE" : "粘贴",
|
"TOOLBAR.ACTION.PASTE" : "粘贴",
|
||||||
"TOOLBAR.ACTION.DELETE" : "删除选择的元素",
|
"TOOLBAR.ACTION.DELETE" : "删除选择的元素",
|
||||||
"TOOLBAR.ACTION.UNDO" : "下一步",
|
"TOOLBAR.ACTION.UNDO" : "上一步",
|
||||||
"TOOLBAR.ACTION.REDO" : "上一步",
|
"TOOLBAR.ACTION.REDO" : "下一步",
|
||||||
"TOOLBAR.ACTION.ZOOMIN" : "放大",
|
"TOOLBAR.ACTION.ZOOMIN" : "放大",
|
||||||
"TOOLBAR.ACTION.ZOOMOUT" : "缩小",
|
"TOOLBAR.ACTION.ZOOMOUT" : "缩小",
|
||||||
"TOOLBAR.ACTION.ZOOMACTUAL" : "复原",
|
"TOOLBAR.ACTION.ZOOMACTUAL" : "复原",
|
||||||
|
@ -98,10 +98,22 @@
|
|||||||
return rowData;
|
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',
|
{field: 'option', width: 80, title: '操作', align:'center',
|
||||||
templet: function(row) {
|
templet: function(row) {
|
||||||
var rowData = row[this.field];
|
if(!row.deploymentId) {
|
||||||
return '<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="operationEvent">部署</button>';
|
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', []),
|
url: top.restAjax.path('route/activiti/save.html', []),
|
||||||
title: '新增流程图',
|
title: '新增流程图',
|
||||||
width: '400px',
|
width: '400px',
|
||||||
height: '300px',
|
height: '350px',
|
||||||
onClose: function() {
|
onClose: function() {
|
||||||
reloadTable();
|
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>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<input type="text" id="modelName" name="modelName" class="layui-input" value="" placeholder="请输入模型名称" lay-verify="required">
|
<input type="text" id="modelName" name="modelName" class="layui-input" value="" placeholder="请输入模型名称" lay-verify="required">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item" pane>
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">模型Key</label>
|
<label class="layui-form-label">模型Key</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="text" id="modelKey" name="modelKey" class="layui-input" value="" placeholder="请输入模型Key" lay-verify="required">
|
<input type="text" id="modelKey" name="modelKey" class="layui-input" value="" placeholder="请输入模型Key" lay-verify="required">
|
||||||
|
Loading…
Reference in New Issue
Block a user