流程模板需求

master
pengqiang 2023-01-12 16:43:46 +08:00
parent 148527eb3e
commit 2e6fba335d
6 changed files with 36 additions and 33 deletions

View File

@ -32,4 +32,10 @@ public interface ActTaskDefRepository extends JpaRepository<ActTaskDef, Integer>
@Transactional
@Query(value = "update ACT_HI_TASKINST a SET a.ASSIGNEE_=? WHERE PROC_INST_ID_=? AND ID_=?", nativeQuery = true)
int updateHiTaskAssign(String assign, String procInsId, String taskId);
@Modifying
@Transactional
@Query(value = "update act_re_procdef SET DESCRIPTION_=? WHERE ID_=?", nativeQuery = true)
int updateProcDefDesc(String des, String procDefId);
}

View File

@ -15,5 +15,6 @@ public class ActProcDef {
private String dgrmResourceName;
private Date deployTime;
private int suspensionState;
private String desc;
}

View File

@ -6,6 +6,9 @@ import cn.palmte.work.model.ActTaskDef;
import cn.palmte.work.model.ActTaskDefRepository;
import cn.palmte.work.pojo.ActModel;
import cn.palmte.work.utils.InterfaceUtil;
import cn.palmte.work.utils.StrKit;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.activiti.bpmn.converter.BpmnXMLConverter;
@ -52,7 +55,7 @@ public class ActModelService {
String select = "a.ID_ as id,a.REV_ as rev,a.NAME_ as modelName,a.KEY_ as procDefKey,a.CREATE_TIME_ as createdTime,a.LAST_UPDATE_TIME_ as lastUpdatedTime";
QueryHelper queryHelper = new QueryHelper(select, " act_re_model a");
String name = searchInfo.get("name");
queryHelper.addCondition(StringUtils.isNotEmpty(name), "(a.NAME_=? or a.KEY_=?)", name, name);
queryHelper.addCondition(StringUtils.isNotEmpty(name), "(a.NAME_ like ? or a.KEY_ like ?)", "'%" + name + "%'", "'%" + name + "%'");
queryHelper.addOrderProperty("a.LAST_UPDATE_TIME_", false);
return pagination.paginate(queryHelper.getSql(), ActModel.class, pageNumber, pageSize);
}
@ -115,6 +118,9 @@ public class ActModelService {
*/
public void deploy(String modelId) throws Exception {
Model modelData = repositoryService.getModel(modelId);
JSONObject metaInfo = JSON.parseObject(modelData.getMetaInfo());
String description = metaInfo.getString("description");
ObjectNode modelNode = (ObjectNode) new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));
byte[] bpmnBytes = null;
BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
@ -175,6 +181,11 @@ public class ActModelService {
actTaskDef.setLastUpdatedTime(new Date());
}
//更新流程定义的描述
if(StrKit.notBlank(description)){
actTaskDefRepository.updateProcDefDesc(description, processDefinition.getId());
}
actTaskDefRepository.save(taskList);
logger.info("deploy success: deploymentId:{}, procDefName:{}, procDefKey:{}", deployment.getId(), processDefinition.getName(), processDefinition.getKey());

View File

@ -37,10 +37,10 @@ public class ActProcDefService {
public Page<ActProcDef> list(ConcurrentHashMap<String, String> searchInfo, int pageNumber, int pageSize) {
String select = "select p.ID_ as id,p.NAME_ as procName,p.KEY_ as procKey,p.VERSION_ as version,p.DEPLOYMENT_ID_ as deploymentId,p.RESOURCE_NAME_ as resourceName,\n" +
" p.DGRM_RESOURCE_NAME_ as dgrmResourceName,p.SUSPENSION_STATE_ as suspensionState, d.DEPLOY_TIME_ as deployTime ";
" p.DGRM_RESOURCE_NAME_ as dgrmResourceName,p.SUSPENSION_STATE_ as suspensionState, d.DEPLOY_TIME_ as deployTime, p.DESCRIPTION_ as `desc` ";
QueryHelper queryHelper = new QueryHelper(select, " act_re_procdef p LEFT JOIN act_re_deployment d on p.DEPLOYMENT_ID_ = d.ID_");
String name = searchInfo.get("name");
queryHelper.addCondition(StringUtils.isNotEmpty(name), "(p.NAME_=? or p.KEY_=?)", name, name);
queryHelper.addCondition(StringUtils.isNotEmpty(name), "(p.NAME_ like ? or p.KEY_ like ?)", "'%" + name + "%'", "'%" + name + "%'");
queryHelper.addOrderProperty("d.DEPLOY_TIME_", false);
return pagination.paginate(queryHelper.getSql(), ActProcDef.class, pageNumber, pageSize);
}
@ -83,7 +83,7 @@ public class ActProcDefService {
if (1 == status) {
repositoryService.activateProcessDefinitionById(procDefId, true, null);
} else {
repositoryService.suspendProcessDefinitionById(procDefId, true, null);
repositoryService.suspendProcessDefinitionById(procDefId, false, null);
}
}
}

View File

@ -74,9 +74,7 @@
<td>
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">
<#if list.procDefKey == 'saleContract'
|| list.procDefKey == 'businessPurchase'
>
<#if list.procDefKey! !='estimate' && list.procDefKey! !='budget' && list.procDefKey! !='settle' && list.procDefKey! !='final'>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="design(${list.id?c})" >

View File

@ -38,16 +38,7 @@
</div>
</div>
</form>
<#-- <div class="am-modal am-modal-no-btn" tabindex="-1" id="doc-modal-1">
<div class="am-modal-dialog">
<div class="am-modal-hd">Modal 标题
<a href="javascript: void(0)" class="am-close am-close-spin" data-am-modal-close>&times;</a>
</div>
<div class="am-modal-bd">
<img id="img" name="img" src="${base}/actProcDef/png/2501">
</div>
</div>
</div>-->
<div class="am-g">
<div class="am-u-sm-12 am-scrollable-horizontal">
<!-- padding:1px 2px 3px 4px;上、右、下,和左 -->
@ -59,10 +50,11 @@
<th class="table-title">流程id</th>
<th class="table-title">流程名称</th>
<th class="table-title">流程标识</th>
<th class="table-title">流程描述</th>
<th class="table-date">版本</th>
<th class="table-date">预览</th>
<#--<th class="table-date">激活/挂起</th>-->
<th class="table-date">部署时间</th>
<th class="table-date">预览</th>
<th class="table-date">状态</th>
<th class="table-set am-text-center">操作</th>
</tr>
</thead>
@ -71,12 +63,16 @@
<#list pager.list as list>
<tr>
<td>
<input type="checkbox" name="ids" value="${list.deploymentId}"/>
<#if list.procKey! !='estimate' && list.procKey! !='budget' && list.procKey! !='settle' && list.procKey! !='final'>
<input type="checkbox" name="ids" value="${list.deploymentId}"/>
</#if>
</td>
<td>${list.id!}</td>
<td>${list.procName!}</td>
<td>${list.procKey!}</td>
<td>${list.desc!}</td>
<td>${list.version!}</td>
<td><#if list.deployTime??>${list.deployTime?datetime}</#if></td>
<td>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
@ -85,24 +81,15 @@
流程图片
</button>
<button type="button"
class="am-btn am-btn-default am-btn-xs am-text-secondary"
onclick="xmlView('${list.deploymentId!}')">
<span class="am-icon-pencil-square-o"></span>
流程xml
</button>
</td>
<#--<td>
<td>
<div class="switch-button">
&lt;#&ndash;1激活 2挂起&ndash;&gt;
<#--1激活 2挂起-->
<input id="${list.id}" type="checkbox" data-size='xs'
data-am-switch data-on-text="已激活" data-off-text="已挂起"
data-am-switch data-on-text="已启用" data-off-text="已禁用"
<#if list.suspensionState==1 >checked</#if>/>
</div>
</td>-->
<td><#if list.deployTime??>${list.deployTime?datetime}</#if></td>
</td>
<td>
<div class="am-btn-toolbar">
<div class="am-btn-group am-btn-group-xs">