代码优化

master
xxssyyyyssxx 2021-11-18 16:01:09 +08:00
parent f0b9ea1dc7
commit cd8f1ca02b
5 changed files with 156 additions and 133 deletions

View File

@ -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";
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);

View File

@ -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;
}
}