Merge remote-tracking branch 'origin/1.2.0' into 1.2.0

master
Harry Yang 2022-12-28 17:35:40 +08:00
commit dd2406d2b7
3 changed files with 122 additions and 3 deletions

View File

@ -105,11 +105,13 @@ public class ActListenerService {
ActTaskDef actTaskDef = actTaskDefService.findFirstByProcDefIdAndTaskKey(procDefId, taskDefKey);
//找到当前有效的用户
List<Integer> enableUsers = currentEnableUsers(candidateUsers);
boolean isFirstUserTask = actTaskDef != null && actTaskDef.getTaskIndex() != ActTaskIndexEnum.FIRST_USER_TASK.getIndex();
boolean notFirstUserTask = actTaskDef != null && actTaskDef.getTaskIndex() != ActTaskIndexEnum.FIRST_USER_TASK.getIndex();
logger.info("**** rwcjjt 更新审批人 procInsId:{}, projectId:{}, enableUsers:{}, notFirstUserTask:{} **** ",
processInstance.getProcessInstanceId(), businessKey, enableUsers, notFirstUserTask);
if (actUtil.isFourcalProcess(procDefId)) {
int adminId = 0;//默认审批人设置为空
if (!isFirstUserTask && !enableUsers.isEmpty()) {
if (notFirstUserTask && !enableUsers.isEmpty()) {
adminId = enableUsers.get(0);//四算项目只支持一个审批人
}
logger.info("**** rwcjjt 任务创建监听 更新审批人1 procInsId:{}, projectId:{}, adminId:{} **** ",
@ -119,7 +121,7 @@ public class ActListenerService {
if (!enableUsers.isEmpty()) {
projectProcessService.updateAudit(Integer.parseInt(businessKey), null, enableUsers);
}
logger.info("**** rwcjjt 任务创建监听 更新审批2 procInsId:{}, projectId:{}, enableUsers:{} **** ",
logger.info("**** rwcjjt 任务创建监听 更新审批2 procInsId:{}, projectId:{}, enableUsers:{} **** ",
processInstance.getProcessInstanceId(), businessKey, enableUsers);
}
}

View File

@ -9,6 +9,7 @@ import cn.palmte.work.model.ProjectTaskRecord;
import cn.palmte.work.pojo.ActProcIns;
import cn.palmte.work.utils.ActUtil;
import cn.palmte.work.utils.InterfaceUtil;
import cn.palmte.work.utils.StrKit;
import org.activiti.bpmn.model.BpmnModel;
import org.activiti.bpmn.model.FlowNode;
import org.activiti.bpmn.model.SequenceFlow;
@ -172,6 +173,20 @@ public class ActProcInsService {
"LEFT JOIN act_ru_task t on t.PROC_INST_ID_=h.proc_inst_id_ " +
"LEFT JOIN project pjct on pjct.id=h.BUSINESS_KEY_ " +
"LEFT JOIN project_process pp on pp.id=h.BUSINESS_KEY_ ");
String procDefKey = searchInfo.get("procDefKey");
queryHelper.addCondition(StrKit.notBlank(procDefKey), "p.key_=?", procDefKey);
String projectName = searchInfo.get("projectName");
String projectNameLike = "%" + projectName + "%";
queryHelper.addCondition(StrKit.notBlank(projectName), " (pjct.name like ? or pp.project_title like ?) ", projectNameLike, projectNameLike);
String projectId = searchInfo.get("projectId");
queryHelper.addCondition(StrKit.notBlank(projectId), "h.BUSINESS_KEY_ =? ", projectId);
String procInsId = searchInfo.get("procInsId");
queryHelper.addCondition(StrKit.notBlank(procInsId), "h.proc_inst_id_ =? ", procInsId);
queryHelper.addGroupProperty("h.PROC_INST_ID_");
queryHelper.addOrderProperty("h.start_time_", false);
Page<ActProcIns> paginate = pagination.paginate(queryHelper.getSql(), ActProcIns.class, pageNumber, pageSize);

View File

@ -10,6 +10,79 @@
</div>
</div>
<div class="am-g">
<div class="am-u-sm-12">
<form class="am-form" id="listForm" action="${base}/account/list" method="POST">
<input type="hidden" id="keywords" name="keywords" value='${keywords!""}'/>
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
<tbody>
<tr>
<th class="am-text-middle">流程名称</th>
<td>
<div class="am-u-sm-10">
<select data-am-selected id="procDefKey" name="procDefKey">
<option value=" ">全部</option>
<option value='estimate'
<#if procDefKey! =="estimate" >selected</#if> >
概算审批流程</option>
<option value='budget'
<#if procDefKey! =="budget" >selected</#if> >
预算审批流程</option>
<option value='settle'
<#if procDefKey! =="settle" >selected</#if> >
结算审批流程</option>
<option value='final'
<#if procDefKey! =="final" >selected</#if> >
决算审批流程</option>
<option value='saleContract'
<#if procDefKey! =="saleContract" >selected</#if> >
销售合同审批流程</option>
<option value='businessPurchase'
<#if procDefKey! =="businessPurchase" >selected</#if> >
业务采购审批流程</option>
</select>
</div>
</td>
<th class="am-text-middle">项目名称</th>
<td>
<div class="am-u-sm-10">
<input type="text" id="projectName" class="am-form-field am-input-sm" maxlength="50"
value="${projectName!}"/>
</div>
</td>
<th class="am-text-middle">项目ID</th>
<td>
<div class="am-u-sm-10">
<input type="text" id="projectId" class="am-form-field am-input-sm" maxlength="12"
value="${projectId!}"/>
</div>
</td>
<th class="am-text-middle">流程实例ID</th>
<td>
<div class="am-u-sm-10">
<input type="text" id="procInsId" class="am-form-field am-input-sm" maxlength="12"
value="${procInsId!}"/>
</div>
</td>
<td >
<div align='right'>
<button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary"
id="submit-btn" onclick="sub_function('query')">搜索
</button>
</div>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<div class="am-g">
<div class="am-u-sm-12 am-scrollable-horizontal">
<!-- padding:1px 2px 3px 4px;上、右、下,和左 -->
@ -19,6 +92,7 @@
<th class="table-title">流程名称</th>
<th class="table-title">流程标识</th>
<th class="table-title">流程版本</th>
<th class="table-title">流程实例id</th>
<th class="table-title">项目名称</th>
<th class="table-date">申请人</th>
<th class="table-date">申请时间</th>
@ -35,6 +109,7 @@
<td>${list.procName!}</td>
<td>${list.procKey!}</td>
<td>${list.version!}</td>
<td>${list.procInsId!}</td>
<td>${list.projectName!}${list.projectTitle!}</td>
<td>${list.user!}</td>
<td>${list.startTime?datetime}</td>
@ -203,4 +278,31 @@
});
}
function initSearch() {
var keywordsObj = {};
if ($("#procDefKey").val())
keywordsObj.procDefKey = $("#procDefKey").val();
if ($("#projectName").val())
keywordsObj.projectName = $("#projectName").val();
if ($("#projectId").val())
keywordsObj.projectId = $("#projectId").val();
if ($("#procInsId").val())
keywordsObj.procInsId = $("#procInsId").val();
var keywords = "";
if (!$.isEmptyObject(keywordsObj)) {
keywords = JSON.stringify(keywordsObj);
}
$("#keywords").val(keywords);
};
var sub_function = function (type) {
initSearch();
if(type == 'query'){
$("#listForm").attr("action", "${base}/actProcIns/list");
}
$("#listForm").submit();
};
</script>