Переглянути джерело

Merge remote-tracking branch 'origin/master'

suntianwu 2 роки тому
батько
коміт
c2659ba725

+ 16 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanQuarterController.java

@@ -222,6 +222,22 @@ public class PlanQuarterController extends BaseController {
         return quarterService.appUpdate(quarterStandardVo);
         return quarterService.appUpdate(quarterStandardVo);
     }
     }
 
 
+    @ApiOperation(value = "申请撤销季度计划")
+    @PostMapping("/appDelete")
+    @PreAuthorize("@ss.hasPermi('plan:quarter:appDelete')")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
+    public AjaxResult appDelete(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
+        return quarterService.appDelete(quarterStandardVo);
+    }
+
+    @ApiOperation(value = "处理申请撤销季度计划")
+    @PostMapping("/handleApp")
+    @PreAuthorize("@ss.hasPermi('plan:quarter:handleApp')")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
+    public AjaxResult handleApp(@RequestBody PlanQuarterStandardVo quarterStandardVo) {
+        return quarterService.handleApp(quarterStandardVo);
+    }
+
     @ApiOperation(value = "发函催告")
     @ApiOperation(value = "发函催告")
     @PostMapping("/sendLetter")
     @PostMapping("/sendLetter")
     @PreAuthorize("@ss.hasPermi('plan:quarter:sendLetter')")
     @PreAuthorize("@ss.hasPermi('plan:quarter:sendLetter')")

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

@@ -234,6 +234,22 @@ public class PlanYearsController extends BaseController {
         return planYearsService.appUpdate(yearsStandardVo);
         return planYearsService.appUpdate(yearsStandardVo);
     }
     }
 
 
+    @ApiOperation(value = "申请撤销年度计划")
+    @PostMapping("/appDelete")
+    @PreAuthorize("@ss.hasPermi('plan:planYears:appDelete')")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
+    public AjaxResult appDelete(@RequestBody PlanYearsStandardVo yearsStandardVo) {
+        return planYearsService.appDelete(yearsStandardVo);
+    }
+
+    @ApiOperation(value = "处理申请撤销年度计划")
+    @PostMapping("/handleApp")
+    @PreAuthorize("@ss.hasPermi('plan:planYears:handleApp')")
+    @Log(title = ModularConstans.planYear, businessType = BusinessType.UPDATE)
+    public AjaxResult handleApp(@RequestBody PlanYearsStandardVo yearsStandardVo) {
+        return planYearsService.handleApp(yearsStandardVo);
+    }
+
     @ApiOperation(value = "发函催告")
     @ApiOperation(value = "发函催告")
     @PostMapping("/sendLetter")
     @PostMapping("/sendLetter")
 //    @PreAuthorize("@ss.hasPermi('plan:planYears:sendLetter')")   首页调用注释
 //    @PreAuthorize("@ss.hasPermi('plan:planYears:sendLetter')")   首页调用注释

BIN
purchase-admin/src/main/resources/template/planYears.xlsx


+ 5 - 0
purchase-system/src/main/java/com/ozs/plan/doman/PlanQuarter.java

@@ -131,6 +131,11 @@ public class PlanQuarter {
      * (0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
      * (0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
      */
      */
     private String projectStatus;
     private String projectStatus;
+    /**
+     * 处理申请撤销
+     * 请求根据字段 appDelete 判断,值是true就是已申请
+     */
+    private String appDelete;
     /**
     /**
      * 发函状态(0:未发函或已处理,1:确认发函)
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
      */

+ 5 - 0
purchase-system/src/main/java/com/ozs/plan/doman/PlanYears.java

@@ -123,6 +123,11 @@ public class PlanYears {
      * (0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
      * (0:计划待提交,1:计划待审核,2:计划已退回,3:计划已审核)
      */
      */
     private String projectStatus;
     private String projectStatus;
+    /**
+     * 处理申请撤销
+     * 请求根据字段 appDelete 判断,值是true就是已申请
+     */
+    private String appDelete;
     /**
     /**
      * 发函状态(0:未发函或已处理,1:确认发函)
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
      */

+ 5 - 1
purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanQuarterResponseVo.java

@@ -91,7 +91,11 @@ public class PlanQuarterResponseVo implements Serializable {
     private String projectAttr;
     private String projectAttr;
     @Excel(name = "项目属性")
     @Excel(name = "项目属性")
     private String projectAttrStr;
     private String projectAttrStr;
-
+    /**
+     * 处理申请撤销
+     * 请求根据字段 appDelete 判断,值是true就是已申请
+     */
+    private String appDelete;
     /**
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
      */
      */

+ 5 - 1
purchase-system/src/main/java/com/ozs/plan/doman/vo/responseVo/PlanYearsResponseVo.java

@@ -118,7 +118,11 @@ public class PlanYearsResponseVo implements Serializable {
      */
      */
     @Excel(name = "项目状态")
     @Excel(name = "项目状态")
     private String projectStatus;
     private String projectStatus;
-
+    /**
+     * 处理申请撤销
+     * 请求根据字段 appDelete 判断,值是true就是已申请
+     */
+    private String appDelete;
     /**
     /**
      * 发函状态(0:未发函或已处理,1:确认发函)
      * 发函状态(0:未发函或已处理,1:确认发函)
      */
      */

+ 16 - 0
purchase-system/src/main/java/com/ozs/plan/service/PlanQuarterService.java

@@ -156,4 +156,20 @@ public interface PlanQuarterService extends IService<PlanQuarter> {
      * @return
      * @return
      */
      */
     AjaxResult importPlanYearsData(List<Long> planYearIds);
     AjaxResult importPlanYearsData(List<Long> planYearIds);
+
+    /**
+     * 申请撤销年度计划
+     *
+     * @param
+     * @return
+     */
+    AjaxResult appDelete(PlanQuarterStandardVo quarterStandardVo);
+
+    /**
+     * 处理申请撤销季度计划
+     *
+     * @param quarterStandardVo
+     * @return
+     */
+    AjaxResult handleApp(PlanQuarterStandardVo quarterStandardVo);
 }
 }

+ 16 - 0
purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java

@@ -266,4 +266,20 @@ public interface PlanYearsService extends IService<PlanYears> {
      * @return
      * @return
      */
      */
     AjaxResult adPurchaseServices(PlanYearsStandardVo yearsStandardVo);
     AjaxResult adPurchaseServices(PlanYearsStandardVo yearsStandardVo);
+
+    /**
+     * 申请撤销年度计划
+     *
+     * @param yearsStandardVo
+     * @return
+     */
+    AjaxResult appDelete(PlanYearsStandardVo yearsStandardVo);
+
+    /**
+     * 处理申请撤销年度计划
+     *
+     * @param yearsStandardVo
+     * @return
+     */
+    AjaxResult handleApp(PlanYearsStandardVo yearsStandardVo);
 }
 }

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

@@ -3,11 +3,9 @@ package com.ozs.plan.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ozs.common.constant.Constants;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.domain.entity.SysDictData;
-import com.ozs.common.core.domain.entity.SysRole;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.DataIsDelete;
 import com.ozs.common.enums.DataIsDelete;
@@ -642,6 +640,33 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
         return AjaxResult.success();
         return AjaxResult.success();
     }
     }
 
 
+    @Override
+    public AjaxResult appDelete(PlanQuarterStandardVo quarterStandardVo) {
+        PmDemand demand = demandService.selectByPlanId(quarterStandardVo.getPlanPracticalId());
+        if (!ObjectUtils.isEmpty(demand) && !demand.getProjectStatus().equals(PmProjectStatus.DEMAND_WAIT_FILL.getCode())) {
+            return AjaxResult.error("需求已建档,不可撤销");
+        }
+        PlanQuarter planQuarter = new PlanQuarter();
+        BeanUtils.copyProperties(quarterStandardVo, planQuarter);
+        planQuarter.setAppDelete("true");
+        planQuarterMapper.updateById(planQuarter);
+        return AjaxResult.success("申请成功");
+    }
+
+    @Override
+    public AjaxResult handleApp(PlanQuarterStandardVo quarterStandardVo) {
+        //getProjectAttr传值1为同意。-1为拒绝
+        if ("1".equals(quarterStandardVo.getProjectAttr())) {
+            planQuarterMapper.deletePlanQuarterById(quarterStandardVo.getPlanPracticalId());
+            return AjaxResult.success("已成功进行撤销");
+        }
+        PlanQuarter planQuarter = new PlanQuarter();
+        BeanUtils.copyProperties(quarterStandardVo, planQuarter);
+        planQuarter.setAppDelete("false");
+        planQuarterMapper.updateById(planQuarter);
+        return AjaxResult.success("已拒绝改申请");
+    }
+
     //字段赋值对应的名称
     //字段赋值对应的名称
     public List<PlanQuarterResponseVo> changeTo(List<PlanQuarter> planQuarters) {
     public List<PlanQuarterResponseVo> changeTo(List<PlanQuarter> planQuarters) {
         //获取季度计划各个季度提报时间的阈值
         //获取季度计划各个季度提报时间的阈值

+ 38 - 4
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -96,8 +96,6 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     @Autowired
     @Autowired
     private ProvisionalPlanMapper provisionalPlanMapper;
     private ProvisionalPlanMapper provisionalPlanMapper;
     @Autowired
     @Autowired
-    private IPmDemandService pmDemandService;
-    @Autowired
     private ISysDictDataService dictDataService;
     private ISysDictDataService dictDataService;
     @Autowired
     @Autowired
     private BaseAgencyService baseAgencyService;
     private BaseAgencyService baseAgencyService;
@@ -775,7 +773,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         pmDemandReqVo.setIsAdmin(SysUser.isAdmin(SecurityUtils.getUserId()));
         pmDemandReqVo.setIsAdmin(SysUser.isAdmin(SecurityUtils.getUserId()));
         pmDemandReqVo.setDeptId(SecurityUtils.getDeptId());
         pmDemandReqVo.setDeptId(SecurityUtils.getDeptId());
         pmDemandReqVo.setPurchaseDeptId(Math.toIntExact(SecurityUtils.getDeptId()));
         pmDemandReqVo.setPurchaseDeptId(Math.toIntExact(SecurityUtils.getDeptId()));
-        IPage<PmDemandResVo> page = pmDemandService.selectPmDemandList(pmDemandReqVo, 3);
+        IPage<PmDemandResVo> page = demandService.selectPmDemandList(pmDemandReqVo, 3);
         return AjaxResult.success(page.getTotal());
         return AjaxResult.success(page.getTotal());
     }
     }
 
 
@@ -929,7 +927,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
             return AjaxResult.error("没有查到相关数据!");
             return AjaxResult.error("没有查到相关数据!");
         }
         }
         // 通过季度、临时计划ID查询项目数据
         // 通过季度、临时计划ID查询项目数据
-        PmDemand pmDemand = pmDemandService.selectByPlanId(provisionalPlan.getPlanPracticalId());
+        PmDemand pmDemand = demandService.selectByPlanId(provisionalPlan.getPlanPracticalId());
         if (StringUtils.isNotNull(pmDemand)) {
         if (StringUtils.isNotNull(pmDemand)) {
             String detailType = "";
             String detailType = "";
             if (StringUtils.isNotNull(yearsStandardVo.getDetailType())) {
             if (StringUtils.isNotNull(yearsStandardVo.getDetailType())) {
@@ -1355,6 +1353,42 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         return AjaxResult.success("成功");
         return AjaxResult.success("成功");
     }
     }
 
 
+    @Override
+    public AjaxResult appDelete(PlanYearsStandardVo yearsStandardVo) {
+        PlanQuarter byPlanYearId = planQuarterMapper.getByPlanYearId(yearsStandardVo.getPlanYearId());
+        //需求待填制可以申请,需求建档就不能申请
+        if (!ObjectUtils.isEmpty(byPlanYearId)) {
+            PmDemand demand = demandService.selectByPlanId(byPlanYearId.getPlanPracticalId());
+            if (!ObjectUtils.isEmpty(demand) && !demand.getProjectStatus().equals(PmProjectStatus.DEMAND_WAIT_FILL.getCode())) {
+                return AjaxResult.error("改需求已建档,不可进行撤销");
+            }
+        }
+        PlanYears years = new PlanYears();
+        BeanUtils.copyProperties(yearsStandardVo, years);
+        years.setAppDelete("true");
+        planYearsMapper.updateById(years);
+        return AjaxResult.success("申请成功");
+    }
+
+    @Override
+    public AjaxResult handleApp(PlanYearsStandardVo yearsStandardVo) {
+        //getProjectAttr传值1为同意。-1为拒绝
+        if ("1".equals(yearsStandardVo.getProjectAttr())) {
+            planYearsMapper.deletePlanYearsById(yearsStandardVo.getPlanYearId());
+            //年度计划撤销后季度计划也同步撤销
+            PlanQuarter byPlanYearId = planQuarterMapper.getByPlanYearId(yearsStandardVo.getPlanYearId());
+            if (!ObjectUtils.isEmpty(byPlanYearId)) {
+                planQuarterMapper.deletePlanQuarterById(byPlanYearId.getPlanPracticalId());
+            }
+            return AjaxResult.success("已成功进行撤销");
+        }
+        PlanYears years = new PlanYears();
+        BeanUtils.copyProperties(yearsStandardVo, years);
+        years.setAppDelete("false");
+        planYearsMapper.updateById(years);
+        return AjaxResult.success("已拒绝改申请");
+    }
+
     /**
     /**
      * 根据年度计划提报时间的阈值进行提示
      * 根据年度计划提报时间的阈值进行提示
      *
      *

+ 13 - 0
purchase-system/src/main/java/com/ozs/system/service/impl/SysDictTypeServiceImpl.java

@@ -208,11 +208,18 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
     @Override
     @Override
     public HashMap<String, HashMap<String, String>> getAboutEnums() {
     public HashMap<String, HashMap<String, String>> getAboutEnums() {
         HashMap<String, HashMap<String, String>> hashMap = new HashMap<>();
         HashMap<String, HashMap<String, String>> hashMap = new HashMap<>();
+        //项目类型(计划审核)
         HashMap<String, String> projectTypesMap = new LinkedHashMap<>();
         HashMap<String, String> projectTypesMap = new LinkedHashMap<>();
+        //项目类型(计划添加)
         HashMap<String, String> projectTypesAdMap = new LinkedHashMap<>();
         HashMap<String, String> projectTypesAdMap = new LinkedHashMap<>();
+        //项目审核状态
         HashMap<String, String> projectStatusMap = new LinkedHashMap<>();
         HashMap<String, String> projectStatusMap = new LinkedHashMap<>();
+        //项目属性
         HashMap<String, String> projectAttributes = new LinkedHashMap<>();
         HashMap<String, String> projectAttributes = new LinkedHashMap<>();
+        //预算科目
         HashMap<String, String> budgetAccountMap = new LinkedHashMap<>();
         HashMap<String, String> budgetAccountMap = new LinkedHashMap<>();
+        //采购服务站
+        HashMap<String, String> purchaseServicesMap = new LinkedHashMap<>();
 
 
         //项目审核状态
         //项目审核状态
         for (ProjectStatus value : ProjectStatus.values()) {
         for (ProjectStatus value : ProjectStatus.values()) {
@@ -238,12 +245,18 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
         for (SysDictData dictData : data4) {
         for (SysDictData dictData : data4) {
             budgetAccountMap.put(dictData.getDictLabel(), dictData.getDictValue());
             budgetAccountMap.put(dictData.getDictLabel(), dictData.getDictValue());
         }
         }
+        //采购服务站
+        List<SysDictData> data5 = dictDataMapper.selectDictDataByType(Constants.PURCHASE_SERVICES);
+        for (SysDictData dictData : data5) {
+            purchaseServicesMap.put(dictData.getDictLabel(), dictData.getDictValue());
+        }
 
 
         hashMap.put("projectTypes", projectTypesMap);
         hashMap.put("projectTypes", projectTypesMap);
         hashMap.put("projectTypesAds", projectTypesAdMap);
         hashMap.put("projectTypesAds", projectTypesAdMap);
         hashMap.put("projectStatus", projectStatusMap);
         hashMap.put("projectStatus", projectStatusMap);
         hashMap.put("projectAttributes", projectAttributes);
         hashMap.put("projectAttributes", projectAttributes);
         hashMap.put("budgetAccount", budgetAccountMap);
         hashMap.put("budgetAccount", budgetAccountMap);
+        hashMap.put("purchaseServices", purchaseServicesMap);
         return hashMap;
         return hashMap;
     }
     }
 }
 }