Browse Source

DeBugDeBugDeBug

buzhanyi 2 years ago
parent
commit
17a0430128

+ 21 - 4
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -156,8 +156,26 @@ public class PlanYearsController extends BaseController {
     public void exportPlan(HttpServletResponse response, @RequestBody PlanYearsStandardVo yearsStandardVo, HttpServletRequest request) throws Exception {
         LoginUser loginUser = tokenService.getLoginUser(request);
         List<PlanYearsResponseVo> list = planYearsService.selectPlanYearsListEXP(yearsStandardVo, loginUser);
-        ExcelUtil<PlanYearsResponseVo> util = new ExcelUtil<>(PlanYearsResponseVo.class);
-        util.exportExcel(response, list, "年度计划数据");
+        InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/plan_year.xlsx");
+        OutputStream outputStream = null;
+        try {
+            response.setContentType("application/vnd.ms-excel");
+            response.setCharacterEncoding("utf-8");
+            // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
+            String fileName = URLEncoder.encode("年度计划", "UTF-8").replaceAll("\\+", "%20");
+            response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
+            outputStream = response.getOutputStream();
+            ExcelWriter excelWriter = EasyExcel.write(outputStream)
+                    .withTemplate(resourceAsStream).autoCloseStream(true).build();
+            WriteSheet writeSheet = EasyExcel.writerSheet().build();
+            excelWriter.fill(list, writeSheet);
+            excelWriter.finish();
+            outputStream.flush();
+            outputStream.close();
+        } catch (Exception e) {
+            log.error(e.getMessage());
+            throw new BaseException("下载异常");
+        }
     }
 
     @ApiOperation(value = "导出年度计划数据(审核单位)")
@@ -169,7 +187,6 @@ public class PlanYearsController extends BaseController {
         List<PlanYearsResponseVo> list = planYearsService.selectPlanYearsExamineListEXP(yearsStandardVo, loginUser);
         InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/plan_year.xlsx");
         OutputStream outputStream = null;
-        InputStream inputStream = null;
         try {
             response.setContentType("application/vnd.ms-excel");
             response.setCharacterEncoding("utf-8");
@@ -335,7 +352,7 @@ public class PlanYearsController extends BaseController {
             response.setContentType("application/vnd.ms-excel");
             response.setCharacterEncoding("utf-8");
             // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
-            String fileName = URLEncoder.encode("年度计划(审核)", "UTF-8").replaceAll("\\+", "%20");
+            String fileName = URLEncoder.encode("年度计划(模板)", "UTF-8").replaceAll("\\+", "%20");
             response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");
             outputStream = response.getOutputStream();
             ExcelWriter excelWriter = EasyExcel.write(outputStream)

+ 17 - 5
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -338,7 +338,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         //项目属性
         HashMap<String, String> projectAttributes = planEnums.get("projectAttributes");
         //项目类型
-        HashMap<String, String> projectTypesMap = planEnums.get("projectTypes");
+        HashMap<String, String> projectTypesMap = planEnums.get("projectTypesAds");
         //预算科目
         HashMap<String, String> budgetAccountMap = planEnums.get("budgetAccount");
         //采购服务站
@@ -380,6 +380,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                         ++failureNum;
                         failureMsg.append("*" + failureNum + "*机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
                     }
+
                     ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
                     ofYear.setPurchaseServices(purchaseServicesMap.get(ofYear.getPurchaseServices()));
                     ofYear.setBudgetAccount(budgetAccountMap.get(ofYear.getBudgetAccount()));
@@ -1095,6 +1096,8 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         HashMap<String, String> projectStatusMap = planEnums.get("projectStatus");
         //项目类型
         HashMap<String, String> projectTypesMap = planEnums.get("projectTypes");
+        //项目类型
+        HashMap<String, String> projectTypesAdMap = planEnums.get("projectTypesAds");
         //预算科目
         HashMap<String, String> budgetAccountMap = planEnums.get("budgetAccount");
         //采购服务站
@@ -1128,10 +1131,19 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                 }
             }
             //项目类型
-            for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
-                if (!ObjectUtils.isEmpty(planYear.getProjectType()) && planYear.getProjectType().equals(entry.getValue())) {
-                    planYear.setProjectTypeStr(entry.getKey());
-                    break;
+            if (planYear.getProjectStatus().equals(ProjectStatus.PLANWAITCOMMIT)) {
+                for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
+                    if (!ObjectUtils.isEmpty(planYear.getProjectType()) && planYear.getProjectType().equals(entry.getValue())) {
+                        planYear.setProjectTypeStr(entry.getKey());
+                        break;
+                    }
+                }
+            } else {
+                for (Map.Entry<String, String> entry : projectTypesAdMap.entrySet()) {
+                    if (!ObjectUtils.isEmpty(planYear.getProjectType()) && planYear.getProjectType().equals(entry.getValue())) {
+                        planYear.setProjectTypeStr(entry.getKey());
+                        break;
+                    }
                 }
             }
             //项目属性为value拼接