对接获取流程审批详情

master
Harry Yang 2022-12-23 17:56:48 +08:00
parent 748b26144c
commit 8f33b4cd90
1 changed files with 25 additions and 8 deletions

View File

@ -2,6 +2,7 @@ package cn.palmte.work.controller.backend;
import cn.palmte.work.config.activiti.ActApproveTypeEnum;
import cn.palmte.work.config.activiti.ActProjectTypeEnum;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
@ -26,10 +27,12 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -45,10 +48,12 @@ import cn.palmte.work.model.DeptRepository;
import cn.palmte.work.model.Project;
import cn.palmte.work.model.ProjectBudgetIncomeDetail;
import cn.palmte.work.model.ProjectRepository;
import cn.palmte.work.model.ProjectTaskRecord;
import cn.palmte.work.model.enums.CooperationType;
import cn.palmte.work.model.enums.Enumerable;
import cn.palmte.work.model.enums.ProcessStatus;
import cn.palmte.work.model.enums.ProcessType;
import cn.palmte.work.model.enums.ProcurementMode;
import cn.palmte.work.model.enums.ProjectType;
import cn.palmte.work.model.enums.SealType;
import cn.palmte.work.model.process.ProcessAttachment;
@ -63,10 +68,12 @@ import cn.palmte.work.model.process.form.SaleContractProcessForm;
import cn.palmte.work.service.ProjectBudgetService;
import cn.palmte.work.service.ProjectInstanceService;
import cn.palmte.work.service.ProjectProcessService;
import cn.palmte.work.service.ProjectTaskRecordService;
import cn.palmte.work.utils.InterfaceUtil;
import lombok.Builder;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import sun.java2d.pipe.SpanShapeRenderer;
/**
* @author <a href="https://github.com/TAKETODAY">Harry Yang</a>
@ -88,6 +95,7 @@ public class ProcessController {
private final ProjectProcessRepository repository;
private final ProjectInstanceService projectInstanceService;
private final ProjectProcessService processService;
private final ProjectTaskRecordService projectTaskRecordService;
static class FormMetadata {
// 部门
@ -125,6 +133,7 @@ public class ProcessController {
@GetMapping("/edit/{id}")
public String editProcess(Model model, @PathVariable int id) {
model.addAttribute("sealTypes", SealType.values());
model.addAttribute("procurementMode", ProcurementMode.values());
model.addAttribute("taxRate", Arrays.asList(0, 1, 3, 4, 5, 6, 9, 10, 13));
model.addAttribute("processId", id);
return "/admin/business/process-edit";
@ -449,7 +458,7 @@ public class ProcessController {
public void audit(@RequestBody @Valid AuditForm form) {
ProjectProcess process = repository.findOne(form.processId);
ActApproveTypeEnum approveType = form.processStatus == ProcessStatus.audit_passed ? ActApproveTypeEnum.APPROVAL_PASSED :
ActApproveTypeEnum.APPROVAL_UN_PASS;
ActApproveTypeEnum.APPROVAL_UN_PASS;
switch (process.getProcessType()) {
case business_procurement:
projectInstanceService.completeTaskByProjectId(process.getId(), ActProjectTypeEnum.BUSINESS_PURCHASE, approveType, form.auditOpinion);
@ -484,14 +493,22 @@ public class ProcessController {
@ResponseBody
@GetMapping("/audits/{id}")
public List<Map<String, String>> showAudits(@PathVariable("id") int id) {
ArrayList<Map<String, String>> ret = new ArrayList<>();
// ArrayList<Map<String, String>> ret = new ArrayList<>();
// ret.add(create("2021-01-03 12:07:45", "提交审核"));
// ret.add(create("2021-01-28 12:15:05", "工程运维管理部孙果审核已通过"));
// ret.add(create("2021-02-03 22:01:12", "系统产品集成部尹浩审核已通过"));
// ret.add(create("2021-03-03 22:05:12", "财务部主管何丹审核已通过"));
ret.add(create("2021-01-03 12:07:45", "提交审核"));
ret.add(create("2021-01-28 12:15:05", "工程运维管理部孙果审核已通过"));
ret.add(create("2021-02-03 22:01:12", "系统产品集成部尹浩审核已通过"));
ret.add(create("2021-03-03 22:05:12", "财务部主管何丹审核已通过"));
return ret;
ProjectProcess process = processService.getById(id);
ProcessType processType = process.getProcessType();
List<ProjectTaskRecord> projectTaskRecords = projectTaskRecordService.listV2(id,
processType == ProcessType.sale_contract ? ActProjectTypeEnum.SALE_CONTRACT : ActProjectTypeEnum.BUSINESS_PURCHASE);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return projectTaskRecords.stream()
.map(item -> {
Date createTime = item.getCreateTime();
return create(format.format(createTime), item.getTaskName() + item.getTaskComment());
}).collect(Collectors.toList());
}
private Map<String, String> create(String timestamp, String content) {