浏览代码

更新计划数据是否超额

buzhanyi 2 年之前
父节点
当前提交
f42500124f

+ 1 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -251,6 +251,7 @@ public class PlanYearsController extends BaseController {
     @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
     public AjaxResult update(@RequestBody PlanYearsStandardVo yearsStandardVo, HttpServletRequest request) {
         LoginUser loginUser = tokenService.getLoginUser(request);
+        yearsStandardVo.setPurchaseDeptId(String.valueOf(loginUser.getDeptId()));
         yearsStandardVo.setUpdated(String.valueOf(loginUser.getUserId()));
         return planYearsService.update(yearsStandardVo);
     }

+ 2 - 1
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -72,7 +72,7 @@ public class ProvisionalPlanController extends BaseController {
         provisionalPlan.setPlanType("1");
         // 项目状态(0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
         provisionalPlan.setProjectStatus("0");
-        provisionalPlan.setIsExcess(planQuarterServiceImpl.isExcessOrNo(provisionalPlan.getProjectType(), provisionalPlan.getEvaluation()));
+        provisionalPlan.setIsExcess(iSysDeptService.isExcessOrNo(provisionalPlan.getProjectType(), provisionalPlan.getEvaluation(), Long.valueOf(provisionalPlan.getPurchaseDeptId())));
         return toAjax(provisionalPlanService.save(provisionalPlan));
     }
 
@@ -95,6 +95,7 @@ public class ProvisionalPlanController extends BaseController {
         if (StringUtils.isNull(provisionalPlan) || StringUtils.isNull(provisionalPlan.getPlanPracticalId())) {
             return error("临时计划id和修改数据不能为空");
         }
+        provisionalPlan.setIsExcess(iSysDeptService.isExcessOrNo(provisionalPlan.getProjectType(), provisionalPlan.getEvaluation(), Long.valueOf(provisionalPlan.getPurchaseDeptId())));
         return toAjax(provisionalPlanService.updateProvisionalPlanById(provisionalPlan));
     }
 

+ 3 - 3
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -242,7 +242,7 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
             e.printStackTrace();
         }
         //判断是否为超额计划
-        quarters.setIsExcess(isExcessOrNo(quarters.getProjectType(), quarters.getEvaluation()));
+        quarters.setIsExcess(deptService.isExcessOrNo(quarters.getProjectType(), quarters.getEvaluation(), Long.valueOf(quarters.getPurchaseDeptId())));
         quarters.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
         quarters.setCreateTime(new Date());
         planQuarterMapper.insertPlanQuarter(quarters);
@@ -312,7 +312,7 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
         } catch (Exception e) {
             e.printStackTrace();
         }
-        quarters.setIsExcess(isExcessOrNo(quarters.getProjectType(), quarters.getEvaluation()));
+        quarters.setIsExcess(deptService.isExcessOrNo(quarters.getProjectType(), quarters.getEvaluation(), Long.valueOf(quarters.getPurchaseDeptId())));
         quarters.setUpdateTime(new Date());
         planQuarterMapper.updateInfoById(quarters);
         List<SysFileRef> sysFileRefs = quarterStandardVo.getSysFileRefs();
@@ -389,7 +389,7 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
                     }
                     planQuarter.setProjectAttr(builder.toString());
                     planQuarter.setPurchaseServices(purchaseServices.get(planQuarter.getPurchaseServices()));
-                    planQuarter.setIsExcess(isExcessOrNo(planQuarter.getProjectType(), planQuarter.getEvaluation()));
+                    planQuarter.setIsExcess(deptService.isExcessOrNo(planQuarter.getProjectType(), planQuarter.getEvaluation(), Long.valueOf(planQuarter.getPurchaseDeptId())));
                     planQuarter.setCreated(String.valueOf(loginUser.getUserId()));
                     planQuarter.setCreateTime(new Date());
                     planQuarterMapper.insertPlanQuarter(planQuarter);

+ 3 - 33
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -47,8 +47,6 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
 import javax.validation.Validator;
 import java.math.BigDecimal;
 import java.text.ParseException;
@@ -280,7 +278,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
             e.printStackTrace();
         }
         //判断是否为超额计划
-        //ofYears.setIsExcess(isExcessOrNo(ofYears.getProjectType(), ofYears.getEvaluation()));
+        ofYears.setIsExcess(deptService.isExcessOrNo(ofYears.getProjectType(), ofYears.getEvaluation(), Long.valueOf(ofYears.getPurchaseDeptId())));
         ofYears.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
         ofYears.setCreateTime(new Date());
         planYearsMapper.insertPlanYears(ofYears);
@@ -351,7 +349,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         } catch (Exception e) {
             e.printStackTrace();
         }
-        //ofYears.setIsExcess(isExcessOrNo(ofYears.getProjectType(), ofYears.getEvaluation()));
+        ofYears.setIsExcess(deptService.isExcessOrNo(ofYears.getProjectType(), ofYears.getEvaluation(), Long.valueOf(ofYears.getPurchaseDeptId())));
         ofYears.setUpdateTime(new Date());
         planYearsMapper.updateInfoById(ofYears);
         List<SysFileRef> sysFileRefs = yearsStandardVo.getSysFileRefs();
@@ -429,7 +427,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     }
                     ofYear.setProjectAttr(builder.toString());
                     ofYear.setPurchaseServices(purchaseServices.get(ofYear.getPurchaseServices()));
-                    //ofYear.setIsExcess(isExcessOrNo(ofYear.getProjectType(), ofYear.getEvaluation()));
+                    ofYear.setIsExcess(deptService.isExcessOrNo(ofYear.getProjectType(), ofYear.getEvaluation(), Long.valueOf(ofYear.getPurchaseDeptId())));
                     ofYear.setCreated(String.valueOf(loginUser.getUserId()));
                     ofYear.setCreateTime(new Date());
                     planYearsMapper.insertPlanYears(ofYear);
@@ -1267,32 +1265,6 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         return quarterRes;
     }
 
-    ////判断是否为超额计划
-    //public String isExcessOrNo(String projectType, BigDecimal evaluation) {
-    //    BigDecimal threshold = new BigDecimal(0);
-    //    //获取各个项目类型设定的概算金额阈值
-    //    List<SysDictData> data = dictTypeService.selectDictDataByType("sys_over_limit_threshold");
-    //    HashMap<String, String> thresholdMap = new LinkedHashMap<>();
-    //    //各个类型的概算金额阈值
-    //    for (SysDictData dictData : data) {
-    //        //    类型----阈值
-    //        thresholdMap.put(dictData.getDictLabel(), dictData.getDictValue());
-    //    }
-    //    //项目类型
-    //    for (ProjectTypes value : ProjectTypes.values()) {
-    //        if (projectType.equals(value.getCode())) {
-    //            threshold = BigDecimal.valueOf(Long.parseLong(thresholdMap.get(value.getInfo())));
-    //        }
-    //        break;
-    //    }
-    //    if (evaluation.compareTo(threshold) == 1) {
-    //        //是超额计划
-    //        return ("1");
-    //    } else {
-    //        return ("0");
-    //    }
-    //}
-
     //字段赋值对应的名称
     public List<PlanYearsResponseVo> changeTo(List<PlanYears> planYears) {
         //获取年度计划提报时间的阈值
@@ -1416,7 +1388,5 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
 
         return "";
     }
-    //判断是否为超额计划
-
 
 }

+ 1 - 1
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -116,7 +116,7 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                     }
                     ofProvisionalPlan.setProjectAttr(builder.toString());
                     ofProvisionalPlan.setPurchaseServices(purchaseServices.get(ofProvisionalPlan.getPurchaseServices()));
-                    ofProvisionalPlan.setIsExcess(isExcessOrNo(ofProvisionalPlan.getProjectType(), ofProvisionalPlan.getEvaluation()));
+                    ofProvisionalPlan.setIsExcess(deptService.isExcessOrNo(ofProvisionalPlan.getProjectType(), ofProvisionalPlan.getEvaluation(), info.getDeptId()));
                     ofProvisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
                     ofProvisionalPlan.setCreateTime(new Date());
                     ofProvisionalPlan.setPlanType("1");

+ 2 - 0
purchase-system/src/main/java/com/ozs/system/service/ISysDeptService.java

@@ -1,5 +1,6 @@
 package com.ozs.system.service;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -124,4 +125,5 @@ public interface ISysDeptService
      */
     public int deleteDeptById(Long deptId);
 
+    public String isExcessOrNo(String projectType, BigDecimal evaluation, Long deptId);
 }

+ 27 - 2
purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptServiceImpl.java

@@ -1,5 +1,6 @@
 package com.ozs.system.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -8,7 +9,9 @@ import java.util.Map;
 import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.domain.entity.SysProcurementStandard;
+import com.ozs.common.enums.ProjectTypes;
 import com.ozs.common.exception.base.BaseException;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
@@ -359,8 +362,30 @@ public class SysDeptServiceImpl implements ISysDeptService
     /**
      * 判断是否有子节点
      */
-    private boolean hasChild(List<SysDept> list, SysDept t)
-    {
+    private boolean hasChild(List<SysDept> list, SysDept t) {
         return getChildList(list, t).size() > 0;
     }
+
+    //判断是否为超额计划
+    @Override
+    public String isExcessOrNo(String projectType, BigDecimal evaluation, Long deptId) {
+        String result = "0";
+        BigDecimal threshold = new BigDecimal(0);
+        //获取各个项目类型设定的概算金额阈值
+        QueryWrapper<SysProcurementStandard> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("dept_id", deptId);
+        queryWrapper.eq("category", projectType.equals("2") ? "1" : projectType.equals("1") ? "2" : projectType);
+        List<SysProcurementStandard> sysProcurementStandardsList = sysProcurementStandardMapper.selectList(queryWrapper);
+        if (!ObjectUtils.isEmpty(sysProcurementStandardsList)) {
+            BigDecimal maximum = sysProcurementStandardsList.get(0).getMaximum();
+            if (evaluation.compareTo(maximum) == 1) {
+                //是超额计划
+                result = "1";
+            } else {
+                result = "0";
+            }
+        }
+        return result;
+
+    }
 }