buzhanyi 1 rok pred
rodič
commit
efeaf6c4b2

+ 101 - 68
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -101,6 +101,8 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     private PmAuditDeptRefService pmAuditDeptRefService;
     @Autowired
     private PmAuditDeptRefMapper pmAuditDeptRefMapper;
+    @Autowired
+    private PlanQuarterMapper quarterMapper;
 
     @Override
     public List<PlanYearsResponseVo> selectPlanYearsListEXP(PlanYearsStandardVo vo, LoginUser loginUser) {
@@ -211,8 +213,39 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     }
 
     @Override
-    public AjaxResult deletePlanYearsById(Long planId) {
-        planYearsMapper.deletePlanYearsById(planId);
+    public AjaxResult deletePlanYearsById(Long planYearId) {
+        //删除年度计划
+        //PlanYears byId = planYearsMapper.getById(planYearId);
+        planYearsMapper.deletePlanYearsById(planYearId);
+        //清除年度计划的审核记录
+        PmAuditDeptRef ref = new PmAuditDeptRef();
+        ref.setRefId(planYearId).setRefType("0");
+        PlanQuarterServiceImpl.refIsExist(ref, pmAuditDeptRefMapper);
+        //删除季度计划
+        LambdaQueryWrapper<PlanQuarter> quarterWrapper = new LambdaQueryWrapper<>();
+        quarterWrapper.eq(PlanQuarter::getPlanYearId, planYearId);
+        List<PlanQuarter> quarterList = quarterMapper.selectList(quarterWrapper);
+        quarterMapper.delete(quarterWrapper);
+        if (!ObjectUtils.isEmpty(quarterList)) {
+            //清除季度计划的审核记录
+            for (PlanQuarter quarter : quarterList) {
+                PmAuditDeptRef refT = new PmAuditDeptRef();
+                refT.setRefId(quarter.getPlanPracticalId()).setRefType("1");
+                PlanQuarterServiceImpl.refIsExist(refT, pmAuditDeptRefMapper);
+                //删除项目数据
+                LambdaQueryWrapper<PmDemand> demandWrapper = new LambdaQueryWrapper<>();
+                demandWrapper.eq(PmDemand::getPlanId, quarter.getPlanPracticalId());
+                List<PmDemand> demandList = demandService.list(demandWrapper);
+                demandService.remove(demandWrapper);
+                //清除项目数据的审核记录
+                for (PmDemand demand : demandList) {
+                    PmAuditDeptRef refTh = new PmAuditDeptRef();
+                    refTh.setRefId(demand.getDemandId()).setRefType("2");
+                    PlanQuarterServiceImpl.refIsExist(refTh, pmAuditDeptRefMapper);
+                }
+            }
+        }
+
         return AjaxResult.success();
     }
 
@@ -336,79 +369,79 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         for (PlanYears ofYear : plans) {
             try {
                 //将录入信息中的值更改为要保存的数据
-                    //采购单位
-                    SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
-                    if (!ObjectUtils.isEmpty(info)) {
-                        ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
-                    } else {
-                        ++failureNum;
-                        failureMsg.append(failureNum + "、采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
-                    }
-                    //机关业务指导处是多选字段
-                    StringBuilder zBuilder = new StringBuilder();
-                    if (ofYear.getOrganDivision().contains(",")) {
-                        String[] split = ofYear.getOrganDivision().split(",");
-                        for (String s : split) {
-                            SysDept infoTow = deptMapper.checkDeptNameOnlyOne(s);
-                            //不是最后一位就加‘,’,是就直接结尾
-                            if (!ofYear.getOrganDivision().endsWith(s)) {
-                                if (!ObjectUtils.isEmpty(infoTow)) {
-                                    zBuilder.append(infoTow.getDeptId() + ",");
-                                } else {
-                                    ++failureNum;
-                                    failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
-                                }
+                //采购单位
+                SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
+                if (!ObjectUtils.isEmpty(info)) {
+                    ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
+                } else {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
+                }
+                //机关业务指导处是多选字段
+                StringBuilder zBuilder = new StringBuilder();
+                if (ofYear.getOrganDivision().contains(",")) {
+                    String[] split = ofYear.getOrganDivision().split(",");
+                    for (String s : split) {
+                        SysDept infoTow = deptMapper.checkDeptNameOnlyOne(s);
+                        //不是最后一位就加‘,’,是就直接结尾
+                        if (!ofYear.getOrganDivision().endsWith(s)) {
+                            if (!ObjectUtils.isEmpty(infoTow)) {
+                                zBuilder.append(infoTow.getDeptId() + ",");
                             } else {
-                                if (!ObjectUtils.isEmpty(infoTow)) {
-                                    zBuilder.append(infoTow.getDeptId());
-                                } else {
-                                    ++failureNum;
-                                    failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
-                                }
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
                             }
-                        }
-                        //去掉末尾的标点符号
-                        String zs = zBuilder.toString();
-                        if (zs.endsWith(",")) {
-                            zBuilder.replace(0, zBuilder.length(), "");
-                            zBuilder.append(zs.substring(0, zs.length() - 1));
-                        }
-                    } else {
-                        //没有多选
-                        SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofYear.getOrganDivision());
-                        if (!ObjectUtils.isEmpty(infoTow)) {
-                            zBuilder.append(infoTow.getDeptId());
                         } else {
-                            ++failureNum;
-                            failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
-                        }
-                    }
-                    ofYear.setOrganDivision(zBuilder.toString());
-
-                    ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
-                    ofYear.setPurchaseServices(purchaseServicesMap.get(ofYear.getPurchaseServices()));
-                    ofYear.setBudgetAccount(budgetAccountMap.get(ofYear.getBudgetAccount()));
-                    ofYear.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
-                    //项目属性是多选字段
-                    StringBuilder builder = new StringBuilder();
-                    if (ofYear.getProjectAttr().contains(",")) {
-                        String[] split = ofYear.getProjectAttr().split(",");
-                        for (String s : split) {
-                            if (!ofYear.getProjectAttr().endsWith(s)) {
-                                builder.append(projectAttributes.get(s) + ",");
+                            if (!ObjectUtils.isEmpty(infoTow)) {
+                                zBuilder.append(infoTow.getDeptId());
                             } else {
-                                builder.append(projectAttributes.get(s));
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
                             }
                         }
+                    }
+                    //去掉末尾的标点符号
+                    String zs = zBuilder.toString();
+                    if (zs.endsWith(",")) {
+                        zBuilder.replace(0, zBuilder.length(), "");
+                        zBuilder.append(zs.substring(0, zs.length() - 1));
+                    }
+                } else {
+                    //没有多选
+                    SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofYear.getOrganDivision());
+                    if (!ObjectUtils.isEmpty(infoTow)) {
+                        zBuilder.append(infoTow.getDeptId());
                     } else {
-                        builder.append(projectAttributes.get(ofYear.getProjectAttr()));
+                        ++failureNum;
+                        failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
+                    }
+                }
+                ofYear.setOrganDivision(zBuilder.toString());
+
+                ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
+                ofYear.setPurchaseServices(purchaseServicesMap.get(ofYear.getPurchaseServices()));
+                ofYear.setBudgetAccount(budgetAccountMap.get(ofYear.getBudgetAccount()));
+                ofYear.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
+                //项目属性是多选字段
+                StringBuilder builder = new StringBuilder();
+                if (ofYear.getProjectAttr().contains(",")) {
+                    String[] split = ofYear.getProjectAttr().split(",");
+                    for (String s : split) {
+                        if (!ofYear.getProjectAttr().endsWith(s)) {
+                            builder.append(projectAttributes.get(s) + ",");
+                        } else {
+                            builder.append(projectAttributes.get(s));
+                        }
                     }
-                    ofYear.setProjectAttr(builder.toString());
-                    ofYear.setCreated(String.valueOf(loginUser.getUserId()));
-                    ofYear.setCreateTime(new Date());
-                    planYearsMapper.insertPlanYears(ofYear);
-                    successNum++;
-                    successMsg.append(successNum + "、项目【" + ofYear.getProjectName() + "】导入成功!");
+                } else {
+                    builder.append(projectAttributes.get(ofYear.getProjectAttr()));
+                }
+                ofYear.setProjectAttr(builder.toString());
+                ofYear.setCreated(String.valueOf(loginUser.getUserId()));
+                ofYear.setCreateTime(new Date());
+                planYearsMapper.insertPlanYears(ofYear);
+                successNum++;
+                successMsg.append(successNum + "、项目【" + ofYear.getProjectName() + "】导入成功!");
             } catch (Exception exc) {
                 failureNum++;
                 String msg = successNum + "、项目【" + ofYear.getProjectName() + "】导入失败";
@@ -434,7 +467,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         }
         //申请修改之后再次提交,先清除上一次提交后的审核记录
         PmAuditDeptRef ref = new PmAuditDeptRef();
-        ref.setRefId(byId.getPlanYearId()).setRefType("0").setProjectType(byId.getProjectType()).setEvaluation(byId.getEvaluation());
+        ref.setRefId(byId.getPlanYearId()).setRefType("0");
         PlanQuarterServiceImpl.refIsExist(ref, pmAuditDeptRefMapper);
         PlanQuarterServiceImpl.insertAuditDeptRef(userService, pmAuditDeptRefService, ref);