决算审批
parent
3f31cc5986
commit
f1670578cc
|
@ -1,15 +1,10 @@
|
|||
package cn.palmte.work.controller.backend;
|
||||
|
||||
import cn.palmte.work.bean.ApproveStatusEnum;
|
||||
import cn.palmte.work.bean.BudgetBean;
|
||||
import cn.palmte.work.bean.EstimateBean;
|
||||
import cn.palmte.work.bean.FinalBean;
|
||||
import cn.palmte.work.bean.*;
|
||||
import cn.palmte.work.model.Project;
|
||||
import cn.palmte.work.model.ProjectBudgetPlanDetail;
|
||||
import cn.palmte.work.service.ProjectBudgetService;
|
||||
import cn.palmte.work.service.ProjectEstimateService;
|
||||
import cn.palmte.work.service.ProjectFinalSevice;
|
||||
import cn.palmte.work.service.ProjectService;
|
||||
import cn.palmte.work.model.ProjectRepository;
|
||||
import cn.palmte.work.service.*;
|
||||
import cn.palmte.work.utils.FreeMarkerUtil;
|
||||
import cn.palmte.work.utils.InterfaceUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -17,6 +12,7 @@ import org.springframework.stereotype.Controller;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
@ -36,6 +32,9 @@ public class ProjectFinalController extends BaseController{
|
|||
@Autowired
|
||||
private ProjectBudgetService projectBudgetService;
|
||||
|
||||
@Autowired
|
||||
private ProjectInstanceService projectInstanceService;
|
||||
|
||||
@RequestMapping("/edit")
|
||||
public String budget(@RequestParam("id") int id, Map<String, Object> model) {
|
||||
Project project = projectService.getProject(id);
|
||||
|
@ -54,6 +53,27 @@ public class ProjectFinalController extends BaseController{
|
|||
@RequestMapping("/save")
|
||||
public String estimateAddSave(Project project, FinalBean finalBean, Map<String, Object> model) {
|
||||
projectFinalSevice.save(project,finalBean);
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存并提交审批
|
||||
*
|
||||
* @param project
|
||||
* @param finalBean
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/saveAndApprove")
|
||||
public String saveAndApprove(Project project, FinalBean finalBean, Map<String, Object> model) throws Exception{
|
||||
//保存
|
||||
projectFinalSevice.save(project,finalBean);
|
||||
//更新项目和审批状态
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
//发起流程
|
||||
projectInstanceService.startFinalProcessInstance(project.getId(), InterfaceUtil.getAdmin());
|
||||
return "redirect:/project/list";
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,8 @@ public class ProjectInstanceService {
|
|||
/**
|
||||
* 开启一个决算流程实例
|
||||
*/
|
||||
public void startFinalProcessInstance(Project project, Admin admin) throws Exception {
|
||||
public void startFinalProcessInstance(int projectId, Admin admin) throws Exception {
|
||||
Project project = projectRepository.findOne(projectId);
|
||||
startProcess(project, admin, ActConstant.PROCESS_DEFKEY_FINAL);
|
||||
}
|
||||
/**
|
||||
|
|
|
@ -298,4 +298,38 @@ public class ProjectService {
|
|||
|
||||
return ResponseMsg.buildSuccessMsg("审核成功");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新项目状态和审批状态
|
||||
*
|
||||
* @param projectId
|
||||
* @param statusEnum
|
||||
* @param approveStatusEnum
|
||||
*/
|
||||
public void updateStatusAndApproveStatus(int projectId, StatusEnum statusEnum, ApproveStatusEnum approveStatusEnum) {
|
||||
Project one = projectRepository.findOne(projectId);
|
||||
one.setStatus(statusEnum.getStatus());
|
||||
one.setStatusDesc(statusEnum.getStatusDesc());
|
||||
|
||||
int approveStatus = approveStatusEnum.getApproveStatus();
|
||||
switch (statusEnum) {
|
||||
case ESTIMATE_ACCOUNTS:
|
||||
one.setApproveStatusEstimate(approveStatus);
|
||||
break;
|
||||
case BUDGET_ACCOUNTS:
|
||||
one.setApproveStatusBudget(approveStatus);
|
||||
break;
|
||||
case SETTLE_ACCOUNTS:
|
||||
one.setApproveStatusSettle(approveStatus);
|
||||
break;
|
||||
case FINAL_ACCOUNTS:
|
||||
one.setApproveStatusFinal(approveStatus);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
one.setLastUpdateTime(new Date());
|
||||
projectRepository.saveAndFlush(one);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public class ProjectSettleService {
|
|||
private ProjectInstanceService projectInstanceService;
|
||||
|
||||
@Autowired
|
||||
private ProjectRepository projectRepository;
|
||||
private ProjectService projectService;
|
||||
|
||||
|
||||
public void save(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) {
|
||||
|
@ -55,13 +55,7 @@ public class ProjectSettleService {
|
|||
//资金流量记录
|
||||
cashFlow(project, settleBean, budgetBean, time);
|
||||
|
||||
|
||||
Project one = projectRepository.findOne(project.getId());
|
||||
one.setStatus(StatusEnum.SETTLE_ACCOUNTS.getStatus());
|
||||
one.setStatusDesc(StatusEnum.SETTLE_ACCOUNTS.getStatusDesc());
|
||||
one.setApproveStatusSettle(ApproveStatusEnum.APPROVAL_UNCOMMIT.getApproveStatus());
|
||||
one.setLastUpdateTime(new Date());
|
||||
projectRepository.saveAndFlush(one);
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.SETTLE_ACCOUNTS, ApproveStatusEnum.APPROVAL_UNCOMMIT);
|
||||
}
|
||||
|
||||
public void saveAndApprove(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) throws Exception{
|
||||
|
@ -76,12 +70,7 @@ public class ProjectSettleService {
|
|||
//资金流量记录
|
||||
cashFlow(project, settleBean, budgetBean, time);
|
||||
|
||||
Project one = projectRepository.findOne(project.getId());
|
||||
one.setStatus(StatusEnum.SETTLE_ACCOUNTS.getStatus());
|
||||
one.setStatusDesc(StatusEnum.SETTLE_ACCOUNTS.getStatusDesc());
|
||||
one.setApproveStatusSettle(ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus());
|
||||
one.setLastUpdateTime(new Date());
|
||||
projectRepository.saveAndFlush(one);
|
||||
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.SETTLE_ACCOUNTS, ApproveStatusEnum.APPROVAL_PENDING);
|
||||
|
||||
//发起结算流程
|
||||
projectInstanceService.startSettleProcessInstance(project, InterfaceUtil.getAdmin());
|
||||
|
|
|
@ -350,6 +350,7 @@
|
|||
<div class="am-margin">
|
||||
<button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);">返回上一级</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs" id="saveFinal">保存</button>
|
||||
<button type="submit" class="am-btn am-btn-primary am-btn-xs" id="saveApprove">提交审核</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
@ -367,6 +368,11 @@
|
|||
$("#pmsForm").attr("action","${base}/project/final/save");
|
||||
$("#pmsForm").submit();
|
||||
});
|
||||
|
||||
$("#saveApprove").click(function () {
|
||||
$("#pmsForm").attr("action",base+"/project/final/saveAndApprove");
|
||||
$("#pmsForm").submit();
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -200,6 +200,7 @@
|
|||
<div class="am-btn-toolbar">
|
||||
<div class="am-btn-group am-btn-group-xs">
|
||||
<#--<@shiro.hasPermission name="PROJECT_EDIT">-->
|
||||
<#--概算状态 并且概算审批状态为草稿和不通过-->
|
||||
<#if list.status==1 && (list.approveStatusEstimate==0 || list.approveStatusEstimate==3)>
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
|
@ -210,7 +211,7 @@
|
|||
|
||||
<#-- </@shiro.hasPermission>
|
||||
<@shiro.hasPermission name="PROJECT_EDIT">-->
|
||||
<#--概算审核通过 才可以发起预算-->
|
||||
<#-- 概算审核通过 并且预算审批状态为草稿和不通过 -->
|
||||
<#if list.approveStatusEstimate=2 && (list.approveStatusBudget==0 || list.approveStatusBudget==3) >
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
|
@ -220,8 +221,8 @@
|
|||
</#if>
|
||||
<#-- </@shiro.hasPermission>-->
|
||||
|
||||
<#--预算审核通过 才可以发起结算-->
|
||||
<#if list.approveStatusBudget=2 >
|
||||
<#-- 预算审核通过 并且结算审核不等于审批状态 决算审批未通过 才可以发起结算-->
|
||||
<#if list.approveStatusBudget=2 && list.approveStatusSettle!=1 && list.approveStatusFinal !=2>
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
onclick="location.href='${base}/project/settle/add?id=${list.id}'"><span
|
||||
|
@ -229,11 +230,14 @@
|
|||
</button>
|
||||
</#if>
|
||||
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
onclick="location.href='${base}/project/final/edit?id=${list.id}'"><span
|
||||
class="am-icon-pencil-square-o"></span>发起决算
|
||||
</button>
|
||||
<#-- 项目为结算状态 并且结算审批通过 才能发起决算-->
|
||||
<#if list.status== 10 && list.approveStatusSettle== 2 >
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
onclick="location.href='${base}/project/final/edit?id=${list.id}'"><span
|
||||
class="am-icon-pencil-square-o"></span>发起决算
|
||||
</button>
|
||||
</#if>
|
||||
|
||||
<button type="button"
|
||||
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||
|
|
Loading…
Reference in New Issue