|
@@ -2,16 +2,29 @@ package com.ozs.plan.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
+import com.ozs.base.domain.BaseAgency;
|
|
|
+import com.ozs.base.domain.BaseNoticeType;
|
|
|
+import com.ozs.base.vo.BaseNoticeVo;
|
|
|
import com.ozs.common.core.domain.AjaxResult;
|
|
|
import com.ozs.common.core.domain.entity.SysDept;
|
|
|
import com.ozs.common.core.domain.entity.SysDictData;
|
|
|
+import com.ozs.common.core.domain.entity.SysProcurementStandard;
|
|
|
+import com.ozs.common.core.domain.entity.SysRole;
|
|
|
+import com.ozs.common.core.domain.entity.SysUser;
|
|
|
import com.ozs.common.core.domain.model.LoginUser;
|
|
|
+import com.ozs.common.enums.IsExcess;
|
|
|
+import com.ozs.common.enums.PmProjectStatus;
|
|
|
import com.ozs.common.enums.ProjectStatus;
|
|
|
import com.ozs.common.enums.ProjectTypes;
|
|
|
import com.ozs.common.enums.SysFileRefEnum;
|
|
|
import com.ozs.common.exception.ServiceException;
|
|
|
+import com.ozs.common.utils.SecurityUtils;
|
|
|
import com.ozs.common.utils.StringUtils;
|
|
|
import com.ozs.common.utils.bean.BeanUtils;
|
|
|
import com.ozs.plan.doman.PlanQuarter;
|
|
@@ -21,13 +34,23 @@ import com.ozs.plan.doman.vo.responseVo.PlanYearsResponseVo;
|
|
|
import com.ozs.plan.mapper.PlanQuarterMapper;
|
|
|
import com.ozs.plan.mapper.PlanYearsMapper;
|
|
|
import com.ozs.plan.service.PlanYearsService;
|
|
|
+import com.ozs.pm.doman.PmDemand;
|
|
|
+import com.ozs.pm.mapper.PmDemandMapper;
|
|
|
import com.ozs.system.domain.SysFileInfo;
|
|
|
import com.ozs.system.domain.SysFileRef;
|
|
|
+import com.ozs.system.domain.SysOperLog;
|
|
|
+import com.ozs.system.domain.SysUserRole;
|
|
|
import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
|
|
|
import com.ozs.system.mapper.SysDeptMapper;
|
|
|
import com.ozs.system.mapper.SysFileRefMapper;
|
|
|
+import com.ozs.system.mapper.SysOperLogMapper;
|
|
|
+import com.ozs.system.mapper.SysProcurementStandardMapper;
|
|
|
+import com.ozs.system.mapper.SysRoleMapper;
|
|
|
+import com.ozs.system.mapper.SysUserRoleMapper;
|
|
|
import com.ozs.system.service.ISysDeptService;
|
|
|
import com.ozs.system.service.ISysDictTypeService;
|
|
|
+import com.ozs.system.service.ISysRoleService;
|
|
|
+import com.ozs.system.service.ISysUserService;
|
|
|
import com.ozs.system.service.SysFileService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -43,13 +66,16 @@ import java.util.HashMap;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.function.Consumer;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author buzhanyi
|
|
|
*/
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
-public class PlanYearsServiceImpl implements PlanYearsService {
|
|
|
+public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears> implements PlanYearsService {
|
|
|
|
|
|
@Autowired
|
|
|
PlanYearsMapper planYearsMapper;
|
|
@@ -67,7 +93,14 @@ public class PlanYearsServiceImpl implements PlanYearsService {
|
|
|
private SysDeptMapper deptMapper;
|
|
|
@Autowired
|
|
|
private SysFileService fileService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private SysRoleMapper sysRoleMapper;
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService userService;
|
|
|
+ @Autowired
|
|
|
+ private SysProcurementStandardMapper sysProcurementStandardMapper;
|
|
|
+ @Autowired
|
|
|
+ private PmDemandMapper pmDemandMapper;
|
|
|
@Override
|
|
|
public PageInfo<PlanYears> selectPlanYearsList(PlanYearsStandardVo vo) {
|
|
|
PlanYears ofYears = new PlanYears();
|
|
@@ -491,6 +524,258 @@ public class PlanYearsServiceImpl implements PlanYearsService {
|
|
|
return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public AjaxResult demandUnitPlanManagementTotal() {
|
|
|
+ List<PlanYears> planYears = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ QueryWrapper<PlanYears> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("purchase_dept_id", sysDept.getDeptId());
|
|
|
+ planYears = planYearsMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(planYears.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult purchasingManagementPurchasingManagementTotal() {
|
|
|
+ List<PlanYears> planYears = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectChildrenDeptById(sysDept.getDeptId());
|
|
|
+ List<Long> collect = sysDepts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
|
|
+ if (collect.size()==0){
|
|
|
+ collect.add(-1L);
|
|
|
+ }
|
|
|
+ QueryWrapper<PlanYears> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .or(wrapper -> wrapper.lambda().eq(PlanYears::getPurchaseDeptId, sysDept.getDeptId())
|
|
|
+ .eq(PlanYears::getIsExcess, IsExcess.NO_EXCESS.getCode()))
|
|
|
+ .or(wrapper -> wrapper.lambda().in(PlanYears::getPurchaseDeptId, collect)
|
|
|
+ .eq(PlanYears::getIsExcess, IsExcess.EXCESS.getCode()))
|
|
|
+ .in("project_status",ProjectStatus.PLANWAIEXAMINE.getCode(),ProjectStatus.PLANTOEXAMINE.getCode());
|
|
|
+ planYears = planYearsMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(planYears.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult demandUnitDemandManagementTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("purchasing_management")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("purchase_dept_id", sysDept.getDeptId());
|
|
|
+ pmDemands =pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult purchasingManagementDemandManagementTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectChildrenDeptById(sysDept.getDeptId());
|
|
|
+ List<Long> collect = sysDepts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
|
|
+ if (collect.size()==0){
|
|
|
+ collect.add(-1L);
|
|
|
+ }
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .or(wrapper -> wrapper.lambda().eq(PmDemand::getPurchaseDeptId, sysDept.getDeptId())
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.NO_EXCESS.getCode()))
|
|
|
+ .or(wrapper -> wrapper.lambda().in(PmDemand::getPurchaseDeptId, sysDepts)
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.EXCESS.getCode()))
|
|
|
+ .in("project_status",PmProjectStatus.DEMAND_WAIT_AUDIT.getCode(),PmProjectStatus.DEMAND_AUDIT_RETURN.getCode());
|
|
|
+ pmDemands = pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult demandUnitContractManagementTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("purchasing_management")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("purchase_dept_id", sysDept.getDeptId());
|
|
|
+ queryWrapper.in("project_status",PmProjectStatus.CONTRACT_WAIT_FILL.getCode(),PmProjectStatus.UNDER_CONSTRUCTION.getCode());
|
|
|
+ pmDemands =pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult demandUnitConstructionManagementTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("purchasing_management")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("purchase_dept_id", sysDept.getDeptId());
|
|
|
+ queryWrapper.in("project_status",PmProjectStatus.UNDER_CONSTRUCTION.getCode(),PmProjectStatus.COMPLETION_CONSTRUCTION.getCode());
|
|
|
+ pmDemands =pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult purchasingManagementTaskReleaseTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectChildrenDeptById(sysDept.getDeptId());
|
|
|
+ List<Long> collect = sysDepts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
|
|
+ if (collect.size()==0){
|
|
|
+ collect.add(-1L);
|
|
|
+ }
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .or(wrapper -> wrapper.lambda().eq(PmDemand::getPurchaseDeptId, sysDept.getDeptId())
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.NO_EXCESS.getCode()))
|
|
|
+ .or(wrapper -> wrapper.lambda().in(PmDemand::getPurchaseDeptId, sysDepts)
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.EXCESS.getCode()))
|
|
|
+ .in("project_status",PmProjectStatus.TASK_WAIT_RELEASE.getCode(),PmProjectStatus.BID_INFO_WAIT_FILL.getCode());
|
|
|
+ pmDemands = pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult procurementOfficeProcurementExecutionTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectChildrenDeptById(sysDept.getDeptId());
|
|
|
+ List<Long> collect = sysDepts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
|
|
+ if (collect.size()==0){
|
|
|
+ collect.add(-1L);
|
|
|
+ }
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .or(wrapper -> wrapper.lambda().eq(PmDemand::getPurchaseDeptId, sysDept.getDeptId())
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.NO_EXCESS.getCode()))
|
|
|
+ .or(wrapper -> wrapper.lambda().in(PmDemand::getPurchaseDeptId, sysDepts)
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.EXCESS.getCode()))
|
|
|
+ .in("project_status",PmProjectStatus.BID_INFO_WAIT_FILL.getCode(),PmProjectStatus.CONTRACT_WAIT_FILL.getCode());
|
|
|
+ pmDemands = pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult procurementOfficeWinningTheBidTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectChildrenDeptById(sysDept.getDeptId());
|
|
|
+ List<Long> collect = sysDepts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
|
|
+ if (collect.size()==0){
|
|
|
+ collect.add(-1L);
|
|
|
+ }
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .or(wrapper -> wrapper.lambda().eq(PmDemand::getPurchaseDeptId, sysDept.getDeptId())
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.NO_EXCESS.getCode()))
|
|
|
+ .or(wrapper -> wrapper.lambda().in(PmDemand::getPurchaseDeptId, sysDepts)
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.EXCESS.getCode()))
|
|
|
+ .lt("project_status",PmProjectStatus.CONTRACT_WAIT_FILL.getCode());
|
|
|
+ pmDemands = pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public AjaxResult procurementOfficeFailureToWinTheBidTotal() {
|
|
|
+ List<PmDemand> pmDemands = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ List<SysRole> sysRoles = sysRoleMapper.selectRolePermissionByUserId(SecurityUtils.getUserId());
|
|
|
+ List<SysRole> sysRoleList = sysRoles.stream().filter(tdto -> tdto.getRoleKey().equals("demand_unit")).collect(Collectors.toList());
|
|
|
+ if (sysRoleList.size() > 0) {
|
|
|
+ SysUser sysUser = userService.selectUserById(SecurityUtils.getUserId());
|
|
|
+ SysDept sysDept = deptMapper.selectDeptById(sysUser.getDeptId());
|
|
|
+ List<SysDept> sysDepts = deptMapper.selectChildrenDeptById(sysDept.getDeptId());
|
|
|
+ List<Long> collect = sysDepts.stream().map(SysDept::getDeptId).collect(Collectors.toList());
|
|
|
+ if (collect.size()==0){
|
|
|
+ collect.add(-1L);
|
|
|
+ }
|
|
|
+ QueryWrapper<PmDemand> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper
|
|
|
+ .or(wrapper -> wrapper.lambda().eq(PmDemand::getPurchaseDeptId, sysDept.getDeptId())
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.NO_EXCESS.getCode()))
|
|
|
+ .or(wrapper -> wrapper.lambda().in(PmDemand::getPurchaseDeptId, sysDepts)
|
|
|
+ .eq(PmDemand::getIsExcess, IsExcess.EXCESS.getCode()))
|
|
|
+ .gt("project_status",PmProjectStatus.CONTRACT_WAIT_FILL.getCode());
|
|
|
+ pmDemands = pmDemandMapper.selectList(queryWrapper);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return AjaxResult.success(pmDemands.size());
|
|
|
+ }
|
|
|
+
|
|
|
//判断是否为超额计划
|
|
|
public String isExcessOrNo(String projectType, BigDecimal evaluation) {
|
|
|
BigDecimal threshold = new BigDecimal(0);
|