新增记录审核记录 在已办流程需要
parent
f41c8ecf9c
commit
b10654376d
|
@ -31,6 +31,7 @@ import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -101,7 +102,6 @@ import lombok.RequiredArgsConstructor;
|
||||||
public class ProcessController {
|
public class ProcessController {
|
||||||
static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
static final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
|
||||||
private final DeptRepository deptRepository;
|
|
||||||
private final ProjectRepository projectRepository;
|
private final ProjectRepository projectRepository;
|
||||||
private final ProjectBudgetService projectBudgetService;
|
private final ProjectBudgetService projectBudgetService;
|
||||||
|
|
||||||
|
@ -177,6 +177,10 @@ public class ProcessController {
|
||||||
*/
|
*/
|
||||||
@GetMapping("/review")
|
@GetMapping("/review")
|
||||||
public String review(Model model) {
|
public String review(Model model) {
|
||||||
|
Admin admin = getLoginUser();
|
||||||
|
// 超级管理员,只有查看权限,不能编辑和删除除非是自己的
|
||||||
|
model.addAttribute("adminId", admin.getId());
|
||||||
|
model.addAttribute("isAdmin", isAdministrator(admin));
|
||||||
model.addAttribute("processTypes", ProcessType.values());
|
model.addAttribute("processTypes", ProcessType.values());
|
||||||
return "/admin/business/process-review";
|
return "/admin/business/process-review";
|
||||||
}
|
}
|
||||||
|
@ -673,7 +677,22 @@ public class ProcessController {
|
||||||
}, pageRequest);
|
}, pageRequest);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
projectProcess.setApplyPersonId(loginUserId);
|
// 已办流程
|
||||||
|
return repository.findAll((root, query, cb) -> {
|
||||||
|
Predicate predicate = QueryByExamplePredicateBuilder.getPredicate(root, cb, Example.of(projectProcess, exampleMatcher));
|
||||||
|
// 添加新的条件
|
||||||
|
Predicate applyPersonId = cb.equal(root.get("applyPersonId"), loginUserId);
|
||||||
|
|
||||||
|
// 待自己审的
|
||||||
|
Expression<Integer> findInSet = cb.function("find_in_set", Integer.class, cb.literal(loginUserId), root.get("currentAuditId"));
|
||||||
|
Expression<Integer> reviewedIdFindInSet = cb.function("find_in_set", Integer.class, cb.literal(loginUserId), root.get("reviewedId"));
|
||||||
|
|
||||||
|
Predicate or = cb.or(applyPersonId,
|
||||||
|
cb.greaterThan(reviewedIdFindInSet, 0),
|
||||||
|
cb.greaterThan(findInSet, 0));
|
||||||
|
|
||||||
|
return cb.and(predicate, or);
|
||||||
|
}, pageRequest);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -702,11 +721,27 @@ public class ProcessController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
@Transactional
|
||||||
@PostMapping("/audit")
|
@PostMapping("/audit")
|
||||||
public void audit(@RequestBody @Valid AuditForm form) {
|
public void audit(@RequestBody @Valid AuditForm form) {
|
||||||
ProjectProcess process = repository.findOne(form.processId);
|
ProjectProcess process = obtainProjectProcess(form.processId);
|
||||||
ActApproveTypeEnum approveType = form.processStatus == ProcessStatus.audit_passed ? ActApproveTypeEnum.APPROVAL_PASSED :
|
ActApproveTypeEnum approveType = form.processStatus == ProcessStatus.audit_passed ? ActApproveTypeEnum.APPROVAL_PASSED :
|
||||||
ActApproveTypeEnum.APPROVAL_UN_PASS;
|
ActApproveTypeEnum.APPROVAL_UN_PASS;
|
||||||
|
|
||||||
|
Admin admin = getLoginUser();
|
||||||
|
String reviewedId = process.getReviewedId();
|
||||||
|
|
||||||
|
ArrayList<String> reviewed = new ArrayList<>();
|
||||||
|
if (reviewedId != null) {
|
||||||
|
String[] split = reviewedId.split(",");
|
||||||
|
Collections.addAll(reviewed, split);
|
||||||
|
}
|
||||||
|
reviewed.add(String.valueOf(admin.getId()));
|
||||||
|
reviewedId = String.join(",", reviewed);
|
||||||
|
process.setReviewedId(reviewedId);
|
||||||
|
entityManager.merge(process);
|
||||||
|
// jdbcTemplate.update("update project_process set reviewed_id =? where id=?", reviewed, process.getId());
|
||||||
|
|
||||||
switch (process.getProcessType()) {
|
switch (process.getProcessType()) {
|
||||||
case procurement_contract:
|
case procurement_contract:
|
||||||
projectInstanceService.completeTaskByProjectId(process.getId(), ActProjectTypeEnum.BUSINESS_PURCHASE, approveType, form.auditOpinion);
|
projectInstanceService.completeTaskByProjectId(process.getId(), ActProjectTypeEnum.BUSINESS_PURCHASE, approveType, form.auditOpinion);
|
||||||
|
|
|
@ -96,6 +96,9 @@ public class ProjectProcess implements Serializable {
|
||||||
// 当前审核人ID
|
// 当前审核人ID
|
||||||
private String currentAuditId;
|
private String currentAuditId;
|
||||||
|
|
||||||
|
// 当前审核人ID (逗号分割) find_in_set
|
||||||
|
private String reviewedId;
|
||||||
|
|
||||||
// 最后更新时间
|
// 最后更新时间
|
||||||
|
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
|
|
@ -4,27 +4,28 @@
|
||||||
create table project_process
|
create table project_process
|
||||||
(
|
(
|
||||||
id int auto_increment primary key comment 'ID',
|
id int auto_increment primary key comment 'ID',
|
||||||
apply_date date null comment '申请时间',
|
apply_date date null comment '申请时间',
|
||||||
apply_dept varchar(255) null comment '申请部门(逗号分割)',
|
apply_dept varchar(255) null comment '申请部门(逗号分割)',
|
||||||
apply_dept_id varchar(255) null comment '申请部门ID(逗号分割)',
|
apply_dept_id varchar(255) null comment '申请部门ID(逗号分割)',
|
||||||
apply_dept_leader_id int null comment '申请部门领导ID',
|
apply_dept_leader_id int null comment '申请部门领导ID',
|
||||||
apply_dept_leader_name varchar(255) null comment '申请人领导',
|
apply_dept_leader_name varchar(255) null comment '申请人领导',
|
||||||
apply_person_name varchar(255) null comment '申请人姓名',
|
apply_person_name varchar(255) null comment '申请人姓名',
|
||||||
apply_person_id int null comment '申请人ID',
|
apply_person_id int null comment '申请人ID',
|
||||||
contract_name varchar(255) null comment '合同名称',
|
contract_name varchar(255) null comment '合同名称',
|
||||||
contract_no varchar(255) null comment '合同编号',
|
contract_no varchar(255) null comment '合同编号',
|
||||||
project_id int null comment '项目ID',
|
project_id int null comment '项目ID',
|
||||||
project_no varchar(255) null comment '项目编号',
|
project_no varchar(255) null comment '项目编号',
|
||||||
project_title varchar(255) null comment '标题',
|
project_title varchar(255) null comment '标题',
|
||||||
seal_types varchar(255) null comment '印章类型',
|
seal_types varchar(255) null comment '印章类型',
|
||||||
`status` varchar(255) null comment '流程状态',
|
`status` varchar(255) null comment '流程状态',
|
||||||
tax_rate varchar(255) null comment '税率',
|
tax_rate varchar(255) null comment '税率',
|
||||||
process_type varchar(255) null comment '流程类型',
|
process_type varchar(255) null comment '流程类型',
|
||||||
remark text null comment '备注',
|
remark text null comment '备注',
|
||||||
attachment_uri text null comment '附件 JSON Array',
|
attachment_uri text null comment '附件 JSON Array',
|
||||||
|
|
||||||
current_audit varchar(255) null comment '当前审核人',
|
reviewed_id varchar(1024) null comment '审核过的人的ID',
|
||||||
current_audit_id varchar(255) null comment '当前审核人ID逗号分割',
|
current_audit varchar(255) null comment '当前审核人',
|
||||||
|
current_audit_id varchar(255) null comment '当前审核人ID逗号分割',
|
||||||
|
|
||||||
create_at datetime default CURRENT_TIMESTAMP comment '创建时间',
|
create_at datetime default CURRENT_TIMESTAMP comment '创建时间',
|
||||||
last_update_at datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '最后更新时间'
|
last_update_at datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP comment '最后更新时间'
|
||||||
|
@ -32,7 +33,7 @@ create table project_process
|
||||||
) comment '项目对应的流程';
|
) comment '项目对应的流程';
|
||||||
|
|
||||||
alter table project_process
|
alter table project_process
|
||||||
add apply_dept_leader_id int null comment '申请部门领导ID';
|
add reviewed_id varchar(1024) null comment '审核过的人的ID';
|
||||||
|
|
||||||
# 采购合同
|
# 采购合同
|
||||||
create table procurement_contract
|
create table procurement_contract
|
||||||
|
|
|
@ -114,7 +114,11 @@
|
||||||
<el-table-column label="操作" fixed="right" width="140">
|
<el-table-column label="操作" fixed="right" width="140">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button type="text" @click="showDetail(scope.row, scope)">查看详情</el-button>
|
<el-button type="text" @click="showDetail(scope.row, scope)">查看详情</el-button>
|
||||||
<el-button type="text" @click="auditProcess(scope.row, scope)">审核</el-button>
|
<#if isAdmin>
|
||||||
|
<el-button type="text" @click="auditProcess(scope.row, scope)">审核</el-button>
|
||||||
|
<#else>
|
||||||
|
<el-button type="text" @click="auditProcess(scope.row, scope)">审核</el-button>
|
||||||
|
</#if>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue