代码优化
parent
f0b9ea1dc7
commit
cd8f1ca02b
|
@ -117,7 +117,7 @@ public class ProjectController extends BaseController {
|
|||
*/
|
||||
@RequestMapping("/estimateAddSave")
|
||||
public String estimateAddSave(Project project, EstimateBean estimateBean, Map<String, Object> model) {
|
||||
projectService.estimateAddSave(project, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
projectEstimateService.estimateAddSave(project, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
@ -126,7 +126,7 @@ public class ProjectController extends BaseController {
|
|||
*/
|
||||
@RequestMapping("/estimateAddSaveAndApprove")
|
||||
public String estimateAddSaveAndApprove(Project project, EstimateBean estimateBean, Map<String, Object> model) throws Exception {
|
||||
projectService.estimateAddSaveAndApprove(project, estimateBean, InterfaceUtil.getAdmin());
|
||||
projectEstimateService.estimateAddSaveAndApprove(project, estimateBean, InterfaceUtil.getAdmin());
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
@ -158,7 +158,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/estimateEditSave")
|
||||
public String estimateEditSave(Project project, EstimateBean estimateBean, Map<String, Object> model) {
|
||||
Project projectInDb = projectService.getProject(project.getId());
|
||||
projectService.estimateEditSave(project, projectInDb, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
projectEstimateService.estimateEditSave(project, projectInDb, estimateBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
@ -173,7 +173,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/estimateEditSaveAndApprove")
|
||||
public String estimateEditSaveAndApprove(Project project, EstimateBean estimateBean, Map<String, Object> model) throws Exception {
|
||||
Project projectInDb = projectService.getProject(project.getId());
|
||||
projectService.estimateEditSaveAndApprove(project, projectInDb, estimateBean, InterfaceUtil.getAdmin());
|
||||
projectEstimateService.estimateEditSaveAndApprove(project, projectInDb, estimateBean, InterfaceUtil.getAdmin());
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
@ -213,7 +213,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/budgetEditSave")
|
||||
public String budgetEditSave(Project project, BudgetBean budgetBean, Map<String, Object> model) {
|
||||
Project projectInDb = projectService.getProject(project.getId());
|
||||
projectService.budgetEditSave(project, projectInDb, budgetBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
projectBudgetService.budgetEditSave(project, projectInDb, budgetBean, InterfaceUtil.getAdmin(), ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
@ -223,7 +223,7 @@ public class ProjectController extends BaseController {
|
|||
@RequestMapping("/budgetEditSaveAndApprove")
|
||||
public String budgetEditSaveAndApprove(Project project, BudgetBean budgetBean, Map<String, Object> model) throws Exception {
|
||||
Project projectInDb = projectService.getProject(project.getId());
|
||||
projectService.budgetEditSaveAndApprove(project, projectInDb, budgetBean, InterfaceUtil.getAdmin());
|
||||
projectBudgetService.budgetEditSaveAndApprove(project, projectInDb, budgetBean, InterfaceUtil.getAdmin());
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
package cn.palmte.work.service;
|
||||
|
||||
import cn.palmte.work.bean.BudgetBean;
|
||||
import cn.palmte.work.bean.CashFlowBean;
|
||||
import cn.palmte.work.bean.ProjectConfigBean;
|
||||
import cn.palmte.work.bean.ProjectUnderwrittenPlanStatisticBean;
|
||||
import cn.palmte.work.bean.*;
|
||||
import cn.palmte.work.model.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
@ -37,6 +34,14 @@ public class ProjectBudgetService {
|
|||
@Autowired
|
||||
private ProjectBudgetPlanDetailRepository projectBudgetPlanDetailRepository;
|
||||
@Autowired
|
||||
private ProjectInstanceService projectInstanceService;
|
||||
@Autowired
|
||||
private ActTaskDefService actTaskDefService;
|
||||
@Autowired
|
||||
private ProjectService projectService;
|
||||
@Autowired
|
||||
private ProjectRepository projectRepository;
|
||||
@Autowired
|
||||
private SysConfigService sysConfigService;
|
||||
|
||||
@Value("#{'${fourcal.fixedprojectmanagedetails}'.split('\\|')}")
|
||||
|
@ -575,4 +580,44 @@ public class ProjectBudgetService {
|
|||
cashFlowBean.setFinancingCapitalOutflow(detailTotal.getRepaymentPlan());
|
||||
return cashFlowBean;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 编辑预算保存项目并审核
|
||||
*/
|
||||
//@Transactional(rollbackFor = RuntimeException.class)
|
||||
public void budgetEditSaveAndApprove(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin) throws Exception {
|
||||
Integer approveStatusBudget = projectInDb.getApproveStatusBudget();
|
||||
|
||||
budgetEditSave(project, projectInDb, budgetBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
if(null != approveStatusBudget &&
|
||||
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusBudget){
|
||||
//审核不通过的情况下重新编辑后就完成当前任务
|
||||
List<String> budgetProcessInsIds = projectInstanceService.getBudgetProcessInsIds(projectInDb);
|
||||
if(CollectionUtil.isNotEmpty(budgetProcessInsIds)){
|
||||
actTaskDefService.completeTaskByProcInsId(budgetProcessInsIds.get(0),
|
||||
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
|
||||
"重新修改了预算表,请审批");
|
||||
}
|
||||
}else {
|
||||
//第一次或者重新发起一个流程实例
|
||||
projectInstanceService.startBudgetProcessInstance(projectInDb, admin);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 编辑预算保存项目
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||
Project p = projectService.editProject(project, projectInDb);
|
||||
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
|
||||
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
|
||||
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());
|
||||
p = projectRepository.saveAndFlush(p);
|
||||
//清空重新保存概算信息
|
||||
clearBudget(p);
|
||||
saveBudget(p, budgetBean);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
package cn.palmte.work.service;
|
||||
|
||||
import cn.palmte.work.bean.ApproveStatusEnum;
|
||||
import cn.palmte.work.bean.EstimateBean;
|
||||
import cn.palmte.work.bean.ProjectConfigBean;
|
||||
import cn.palmte.work.bean.StatusEnum;
|
||||
import cn.palmte.work.model.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import top.jfunc.common.utils.CollectionUtil;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -21,7 +25,16 @@ public class ProjectEstimateService {
|
|||
private ProjectEstimateCostRepository projectEstimateCostRepository;
|
||||
@Autowired
|
||||
private ProjectEstimateCostManageRepository projectEstimateCostManageRepository;
|
||||
|
||||
@Autowired
|
||||
private ProjectInstanceService projectInstanceService;
|
||||
@Autowired
|
||||
private ActTaskDefService actTaskDefService;
|
||||
@Autowired
|
||||
private ProjectService projectService;
|
||||
@Autowired
|
||||
private ProjectRepository projectRepository;
|
||||
@Autowired
|
||||
private SysConfigService sysConfigService;
|
||||
|
||||
public void clearEstimate(Project project){
|
||||
List<ProjectEstimateIncome> incomes = projectEstimateIncomeRepository.findAllByProjectIdEquals(project.getId());
|
||||
|
@ -197,4 +210,80 @@ public class ProjectEstimateService {
|
|||
|
||||
return estimateBean;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 新增概算保存项目并发起审核
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project estimateAddSaveAndApprove(Project project,
|
||||
EstimateBean estimateBean,
|
||||
Admin admin) throws Exception {
|
||||
Project p = estimateAddSave(project, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
projectInstanceService.startEstimateProcessInstance(p, admin);
|
||||
|
||||
return project;
|
||||
}
|
||||
/**
|
||||
* 新增概算保存项目
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project estimateAddSave(Project project,
|
||||
EstimateBean estimateBean,
|
||||
Admin admin,
|
||||
ApproveStatusEnum approveStatusEnum) {
|
||||
Project p = projectService.addProject(project, admin, approveStatusEnum);
|
||||
saveEstimate(p, estimateBean);
|
||||
|
||||
return project;
|
||||
}
|
||||
/**
|
||||
* 编辑概算保存项目并发起审核
|
||||
*/
|
||||
// @Transactional(rollbackFor = RuntimeException.class)
|
||||
public void estimateEditSaveAndApprove(Project project,
|
||||
Project projectInDb,
|
||||
EstimateBean estimateBean,
|
||||
Admin admin) throws Exception {
|
||||
|
||||
Integer approveStatusEstimate = projectInDb.getApproveStatusEstimate();
|
||||
|
||||
estimateEditSave(project, projectInDb, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
if(null != approveStatusEstimate &&
|
||||
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusEstimate){
|
||||
//审核不通过的情况下重新编辑后就完成当前任务【此时任务节点在第一个,也就是发起审批】
|
||||
List<String> estimateProcessInsIds = projectInstanceService.getEstimateProcessInsIds(projectInDb);
|
||||
if(CollectionUtil.isNotEmpty(estimateProcessInsIds)){
|
||||
actTaskDefService.completeTaskByProcInsId(estimateProcessInsIds.get(0),
|
||||
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
|
||||
"重新修改了概算表,请审批");
|
||||
}
|
||||
}else {
|
||||
//第一次或者重新发起一个流程实例【第一次或者以前的审批都已经过了】
|
||||
projectInstanceService.startEstimateProcessInstance(projectInDb, admin);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 编辑概算保存项目
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project estimateEditSave(Project project, Project projectInDb, EstimateBean estimateBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||
Project p = projectService.editProject(project, projectInDb);
|
||||
p.setStatus(StatusEnum.ESTIMATE_ACCOUNTS.getStatus());
|
||||
p.setStatusDesc(StatusEnum.ESTIMATE_ACCOUNTS.getStatusDesc());
|
||||
p.setApproveStatusEstimate(approveStatusEnum.getApproveStatus());
|
||||
p = projectRepository.saveAndFlush(p);
|
||||
|
||||
ProjectConfigBean projectConfigBeanConfig = sysConfigService.getProjectConfigBeanConfig();
|
||||
project.setProjectContributionProfitRateThreshold(projectConfigBeanConfig.getProjectContributionProfitRateThreshold());
|
||||
project.setUnderwrittenTaxRate(projectConfigBeanConfig.getUnderwrittenTaxRate());
|
||||
|
||||
//清空重新保存概算信息
|
||||
clearEstimate(p);
|
||||
saveEstimate(p, estimateBean);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -121,86 +121,8 @@ public class ProjectService {
|
|||
return projectRepository.findOne(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增概算保存项目并发起审核
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project estimateAddSaveAndApprove(Project project,
|
||||
EstimateBean estimateBean,
|
||||
Admin admin) throws Exception {
|
||||
Project p = estimateAddSave(project, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
projectInstanceService.startEstimateProcessInstance(p, admin);
|
||||
|
||||
return project;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增概算保存项目
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project estimateAddSave(Project project,
|
||||
EstimateBean estimateBean,
|
||||
Admin admin,
|
||||
ApproveStatusEnum approveStatusEnum) {
|
||||
Project p = addProject(project, admin, approveStatusEnum);
|
||||
projectEstimateService.saveEstimate(p, estimateBean);
|
||||
|
||||
return project;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑概算保存项目并发起审核
|
||||
*/
|
||||
// @Transactional(rollbackFor = RuntimeException.class)
|
||||
public void estimateEditSaveAndApprove(Project project,
|
||||
Project projectInDb,
|
||||
EstimateBean estimateBean,
|
||||
Admin admin) throws Exception {
|
||||
|
||||
Integer approveStatusEstimate = projectInDb.getApproveStatusEstimate();
|
||||
|
||||
estimateEditSave(project, projectInDb, estimateBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
if(null != approveStatusEstimate &&
|
||||
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusEstimate){
|
||||
//审核不通过的情况下重新编辑后就完成当前任务【此时任务节点在第一个,也就是发起审批】
|
||||
List<String> estimateProcessInsIds = projectInstanceService.getEstimateProcessInsIds(projectInDb);
|
||||
if(CollectionUtil.isNotEmpty(estimateProcessInsIds)){
|
||||
actTaskDefService.completeTaskByProcInsId(estimateProcessInsIds.get(0),
|
||||
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
|
||||
"重新修改了概算表,请审批");
|
||||
}
|
||||
}else {
|
||||
//第一次或者重新发起一个流程实例【第一次或者以前的审批都已经过了】
|
||||
projectInstanceService.startEstimateProcessInstance(projectInDb, admin);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 编辑概算保存项目
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project estimateEditSave(Project project, Project projectInDb, EstimateBean estimateBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||
Project p = editProject(project, projectInDb);
|
||||
p.setStatus(StatusEnum.ESTIMATE_ACCOUNTS.getStatus());
|
||||
p.setStatusDesc(StatusEnum.ESTIMATE_ACCOUNTS.getStatusDesc());
|
||||
p.setApproveStatusEstimate(approveStatusEnum.getApproveStatus());
|
||||
p = projectRepository.saveAndFlush(p);
|
||||
|
||||
ProjectConfigBean projectConfigBeanConfig = projectBudgetService.getProjectConfigBeanConfig();
|
||||
project.setProjectContributionProfitRateThreshold(projectConfigBeanConfig.getProjectContributionProfitRateThreshold());
|
||||
project.setUnderwrittenTaxRate(projectConfigBeanConfig.getUnderwrittenTaxRate());
|
||||
|
||||
//清空重新保存概算信息
|
||||
projectEstimateService.clearEstimate(p);
|
||||
projectEstimateService.saveEstimate(p, estimateBean);
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private Project addProject(Project project, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||
public Project addProject(Project project, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||
project.setTypeDesc(TypeEnum.parseType(project.getType()).getTypeDesc());
|
||||
project.setStatus(StatusEnum.ESTIMATE_ACCOUNTS.getStatus());
|
||||
project.setStatusDesc(StatusEnum.ESTIMATE_ACCOUNTS.getStatusDesc());
|
||||
|
@ -227,7 +149,7 @@ public class ProjectService {
|
|||
return project;
|
||||
}
|
||||
|
||||
private Project editProject(Project project, Project projectInDb) {
|
||||
public Project editProject(Project project, Project projectInDb) {
|
||||
|
||||
|
||||
//只有如下可以修改
|
||||
|
@ -247,44 +169,6 @@ public class ProjectService {
|
|||
return projectInDb;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑预算保存项目并审核
|
||||
*/
|
||||
//@Transactional(rollbackFor = RuntimeException.class)
|
||||
public void budgetEditSaveAndApprove(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin) throws Exception {
|
||||
Integer approveStatusBudget = projectInDb.getApproveStatusBudget();
|
||||
|
||||
budgetEditSave(project, projectInDb, budgetBean, admin, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
if(null != approveStatusBudget &&
|
||||
ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == approveStatusBudget){
|
||||
//审核不通过的情况下重新编辑后就完成当前任务
|
||||
List<String> budgetProcessInsIds = projectInstanceService.getBudgetProcessInsIds(projectInDb);
|
||||
if(CollectionUtil.isNotEmpty(budgetProcessInsIds)){
|
||||
actTaskDefService.completeTaskByProcInsId(budgetProcessInsIds.get(0),
|
||||
ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus(),
|
||||
"重新修改了预算表,请审批");
|
||||
}
|
||||
}else {
|
||||
//第一次或者重新发起一个流程实例
|
||||
projectInstanceService.startBudgetProcessInstance(projectInDb, admin);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 编辑预算保存项目
|
||||
*/
|
||||
@Transactional(rollbackFor = RuntimeException.class)
|
||||
public Project budgetEditSave(Project project, Project projectInDb, BudgetBean budgetBean, Admin admin, ApproveStatusEnum approveStatusEnum) {
|
||||
Project p = editProject(project, projectInDb);
|
||||
p.setStatus(StatusEnum.BUDGET_ACCOUNTS.getStatus());
|
||||
p.setStatusDesc(StatusEnum.BUDGET_ACCOUNTS.getStatusDesc());
|
||||
p.setApproveStatusBudget(approveStatusEnum.getApproveStatus());
|
||||
p = projectRepository.saveAndFlush(p);
|
||||
//清空重新保存概算信息
|
||||
projectBudgetService.clearBudget(p);
|
||||
projectBudgetService.saveBudget(p, budgetBean);
|
||||
return p;
|
||||
}
|
||||
|
||||
public ResponseMsg completeTask(int projectId, String json) {
|
||||
List<ProjectInstanceRelation> relationList = projectInstanceRelationRepository.findByProjectIdOrderByCreateTimeDesc(projectId);
|
||||
|
@ -302,10 +186,6 @@ public class ProjectService {
|
|||
|
||||
/**
|
||||
* 更新项目状态和审批状态
|
||||
*
|
||||
* @param projectId
|
||||
* @param statusEnum
|
||||
* @param approveStatusEnum
|
||||
*/
|
||||
public void updateStatusAndApproveStatus(int projectId, StatusEnum statusEnum, ApproveStatusEnum approveStatusEnum) {
|
||||
Project one = projectRepository.findOne(projectId);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package cn.palmte.work.service;
|
||||
|
||||
import cn.palmte.work.bean.ProjectConfigBean;
|
||||
import cn.palmte.work.model.SysConfig;
|
||||
import cn.palmte.work.model.SysConfigRepository;
|
||||
import cn.palmte.work.pojo.SysConfigRequest;
|
||||
|
@ -34,4 +35,12 @@ public class SysConfigService {
|
|||
public BigDecimal getProjectContributionProfitRateThreshold(){
|
||||
return new BigDecimal(sysConfigRepository.findByCodeEquals(SysConfig.KEY_PROJECTCONTRIBUTIONPROFITRATETHRESHOLD).getValue());
|
||||
}
|
||||
|
||||
|
||||
public ProjectConfigBean getProjectConfigBeanConfig(){
|
||||
ProjectConfigBean projectConfigBean = new ProjectConfigBean();
|
||||
projectConfigBean.setUnderwrittenTaxRate(getUnderwrittenTaxRate());
|
||||
projectConfigBean.setProjectContributionProfitRateThreshold(getProjectContributionProfitRateThreshold());
|
||||
return projectConfigBean;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue