流程审批变量
parent
e8d0a3c77a
commit
ba4675994d
|
@ -121,6 +121,7 @@ public class ProcessController {
|
|||
@GetMapping("/new")
|
||||
public String newProcess(Model model) {
|
||||
model.addAttribute("sealTypes", SealType.values());
|
||||
model.addAttribute("procurementMode", ProcurementMode.values());
|
||||
model.addAttribute("taxRate", Arrays.asList(0, 1, 3, 4, 5, 6, 9, 10, 13));
|
||||
return "/admin/business/process-new";
|
||||
}
|
||||
|
@ -198,9 +199,7 @@ public class ProcessController {
|
|||
}
|
||||
|
||||
private BigDecimal getRepaidAmount(int id) {
|
||||
Map<String, Object> map = jdbcTemplate.queryForMap(
|
||||
"select ifnull(sum(underwritten_plan), 0) repaidAmount from project_budget_plan_detail where project_id = ?", id);
|
||||
return (BigDecimal) map.values().iterator().next();
|
||||
return processService.getProjectRepaidAmount(id);
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
|
@ -281,8 +280,8 @@ public class ProcessController {
|
|||
.build();
|
||||
}
|
||||
|
||||
private static String isPrepaid(Project project) {
|
||||
return project.getUnderwrittenMode() == 2 || project.getUnderwrittenMode() == 3 ? "是" : "否";
|
||||
private String isPrepaid(Project project) {
|
||||
return processService.isProjectPrepaid(project) ? "是" : "否";
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
|
@ -342,20 +341,17 @@ public class ProcessController {
|
|||
|
||||
entityManager.persist(entity);
|
||||
|
||||
HashMap<String, Object> variables = new HashMap<>();
|
||||
if (entity.getProcessType() != null) {
|
||||
switch (entity.getProcessType()) {
|
||||
case sale_contract:
|
||||
SaleContract saleContract = SaleContract.from(form);
|
||||
saleContract.setProcessId(entity.getId());
|
||||
entityManager.persist(saleContract);
|
||||
variables.put("contract", saleContract);
|
||||
break;
|
||||
case business_procurement:
|
||||
ProcurementContract procurementContract = ProcurementContract.from(form);
|
||||
procurementContract.setProcessId(entity.getId());
|
||||
entityManager.persist(procurementContract);
|
||||
variables.put("contract", procurementContract);
|
||||
break;
|
||||
default:
|
||||
throw new UnsupportedOperationException("还不支持");
|
||||
|
@ -365,7 +361,8 @@ public class ProcessController {
|
|||
processService.updateIncomeDetails(form.getIncomeDetails());
|
||||
|
||||
if (form.getStatus() == ProcessStatus.to_be_audit) {
|
||||
processService.startAuditProgress(entity, variables);
|
||||
// 发起流程
|
||||
processService.startAuditProgress(entity);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -385,16 +382,13 @@ public class ProcessController {
|
|||
|
||||
entityManager.merge(entity);
|
||||
|
||||
HashMap<String, Object> variables = new HashMap<>();
|
||||
switch (entity.getProcessType()) {
|
||||
case sale_contract: {
|
||||
SaleContract contract = processService.findSaleContract(form.getId());
|
||||
contract.setClientName(form.getClientName());
|
||||
contract.setPaymentTerms(form.getPaymentTerms());
|
||||
contract.setApplyPersonPhone(form.getApplyPersonPhone());
|
||||
|
||||
entityManager.merge(contract);
|
||||
variables.put("contract", contract);
|
||||
break;
|
||||
}
|
||||
case business_procurement: {
|
||||
|
@ -402,9 +396,7 @@ public class ProcessController {
|
|||
contract.setMode(form.getProcurementMode());
|
||||
contract.setPaymentTerms(form.getPaymentTerms());
|
||||
contract.setSupplierName(form.getSupplierName());
|
||||
|
||||
entityManager.merge(contract);
|
||||
variables.put("contract", contract);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -414,7 +406,7 @@ public class ProcessController {
|
|||
processService.updateIncomeDetails(form.getIncomeDetails());
|
||||
|
||||
if (form.getStatus() == ProcessStatus.to_be_audit) {
|
||||
processService.startAuditProgress(entity, variables);
|
||||
processService.startAuditProgress(entity);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package cn.palmte.work.service;
|
||||
|
||||
import cn.palmte.work.config.activiti.ActProjectTypeEnum;
|
||||
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
|
@ -16,8 +16,14 @@ import java.util.stream.Collectors;
|
|||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.TypedQuery;
|
||||
|
||||
import cn.palmte.work.config.activiti.ActProjectTypeEnum;
|
||||
import cn.palmte.work.model.Admin;
|
||||
import cn.palmte.work.model.Project;
|
||||
import cn.palmte.work.model.ProjectRepository;
|
||||
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.ProjectType;
|
||||
import cn.palmte.work.model.process.ProcurementContract;
|
||||
import cn.palmte.work.model.process.ProjectProcess;
|
||||
import cn.palmte.work.model.process.SaleContract;
|
||||
|
@ -36,6 +42,7 @@ public class ProjectProcessService {
|
|||
private final JdbcTemplate jdbcTemplate;
|
||||
private final EntityManager entityManager;
|
||||
private final ProjectInstanceService projectInstanceService;
|
||||
private final ProjectRepository projectRepository;
|
||||
|
||||
/**
|
||||
* 更新流程 审批人,和状态
|
||||
|
@ -126,21 +133,46 @@ public class ProjectProcessService {
|
|||
}
|
||||
}
|
||||
|
||||
public BigDecimal getProjectRepaidAmount(int projectId) {
|
||||
Map<String, Object> map = jdbcTemplate.queryForMap(
|
||||
"select ifnull(sum(underwritten_plan), 0) repaidAmount from project_budget_plan_detail where project_id = ?", projectId);
|
||||
return (BigDecimal) map.values().iterator().next();
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起流程审批
|
||||
*/
|
||||
public void startAuditProgress(ProjectProcess entity) {
|
||||
HashMap<String, Object> variables = new HashMap<>();
|
||||
Project project = projectRepository.findById(entity.getProjectId());
|
||||
// 是否垫资
|
||||
variables.put("isPrepaid", isProjectPrepaid(project));
|
||||
// 垫资金额
|
||||
BigDecimal repaidAmount = getProjectRepaidAmount(entity.getProjectId());
|
||||
variables.put("repaidAmount", repaidAmount);
|
||||
// 合同金额
|
||||
variables.put("contractAmount", project.getContractAmount());
|
||||
// 项目类型
|
||||
variables.put("projectType", Enumerable.of(ProjectType.class, project.getType()));
|
||||
// 合作类型
|
||||
variables.put("cooperationType", Enumerable.of(CooperationType.class, project.getCooperateType()));
|
||||
|
||||
startAuditProgress(entity, variables);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否垫资
|
||||
*/
|
||||
public boolean isProjectPrepaid(Project project) {
|
||||
return project.getUnderwrittenMode() == 2 || project.getUnderwrittenMode() == 3;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起流程审批
|
||||
*/
|
||||
@SneakyThrows
|
||||
public void startAuditProgress(ProjectProcess entity, Map<String, Object> variables) {
|
||||
if (entity.getStatus() == ProcessStatus.to_be_audit) {
|
||||
variables.put("process", entity);
|
||||
switch (entity.getProcessType()) {
|
||||
case sale_contract:
|
||||
projectInstanceService.startProcessByProjectId(entity.getId(), ActProjectTypeEnum.SALE_CONTRACT, variables);
|
||||
|
|
Loading…
Reference in New Issue