Browse Source

年度计划导出

buzhanyi 2 years ago
parent
commit
bafd97a3d6

+ 2 - 3
purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java

@@ -52,9 +52,8 @@ public class PlanYearsController extends BaseController {
     @ApiOperation(value = "导出年度计划数据")
     @PostMapping("/exportPlan")
     public void exportPlan(HttpServletResponse response, @RequestBody PlanYearsStandardVo yearsStandardVo) throws Exception {
-        PageInfo<PlanYears> page = planYearsService.selectPlanYearsList(yearsStandardVo);
-        List<PlanYears> list = page.getList();
-        ExcelUtil<PlanYears> util = new ExcelUtil<PlanYears>(PlanYears.class);
+        List<PlanYears> list = planYearsService.selectPlanYearsListEXP(yearsStandardVo);
+        ExcelUtil<PlanYears> util = new ExcelUtil<>(PlanYears.class);
         util.exportExcel(response, list, "年度计划数据");
     }
 

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

@@ -2,6 +2,7 @@ package com.ozs.plan.doman;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.annotation.Excel;
@@ -32,6 +33,7 @@ public class PlanYears {
     private Long purchaseDeptId;
 
     @Excel(name = "采购单位")
+    @TableField(exist = false)
     private String purchaseDeptName;
     /**
      * 项目名称
@@ -45,6 +47,7 @@ public class PlanYears {
     @Excel(name = "项目类型")
     @NotNull(message = "项目类型不能为空")
     private String projectType;
+    @TableField(exist = false)
     private String projectTypeStr;
     /**
      * 需求概况
@@ -69,6 +72,7 @@ public class PlanYears {
     @Excel(name = "采购服务站")
     @NotNull(message = "采购服务站不能为空")
     private String purchaseServices;
+    @TableField(exist = false)
     private String purchaseServicesStr;
     /**
      * 采购方式 (0:公开招标, 1:单一来源,2:邀请招标,3:竞争式谈判,4:询价)
@@ -76,6 +80,7 @@ public class PlanYears {
     @Excel(name = "采购方式")
     @NotNull(message = "采购方式不能为空")
     private String purchaseMode;
+    @TableField(exist = false)
     private String purchaseModeStr;
     /**
      * 计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)
@@ -104,6 +109,7 @@ public class PlanYears {
     @Excel(name = "项目属性")
     @NotNull(message = "项目属性不能为空")
     private String projectAttr;
+    @TableField(exist = false)
     private String projectAttrStr;
     /**
      * 计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示
@@ -158,8 +164,10 @@ public class PlanYears {
      * 查询参数开始时间和结束时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
     private Date beginTime;
     @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
     private Date endTime;
 
 }

+ 0 - 1
purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/PlanYearsStandardVo.java

@@ -7,7 +7,6 @@ import com.ozs.system.domain.SysFileRef;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;

+ 9 - 2
purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java

@@ -1,7 +1,6 @@
 package com.ozs.plan.service;
 
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.pagehelper.PageInfo;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.model.LoginUser;
@@ -26,7 +25,15 @@ public interface PlanYearsService {
     public PageInfo<PlanYears> selectPlanYearsList(PlanYearsStandardVo vo);
 
     /**
-     * 查询年度计划记录集合
+     * 查询年度计划记录集合(导出)
+     *
+     * @param vo 年度计划请求对象
+     * @return 年度计划记录集合
+     */
+    public List<PlanYears> selectPlanYearsListEXP(PlanYearsStandardVo vo);
+
+    /**
+     * 查询年度计划记录集合(审核单位)
      *
      * @param vo 年度计划请求对象
      * @return 年度计划记录集合

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

@@ -1,7 +1,7 @@
 package com.ozs.plan.service.impl;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.github.pagehelper.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ozs.common.core.domain.AjaxResult;
@@ -67,16 +67,12 @@ public class PlanYearsServiceImpl implements PlanYearsService {
     @Override
     public PageInfo<PlanYears> selectPlanYearsList(PlanYearsStandardVo vo) {
         PlanYears ofYears = new PlanYears();
-        List<PlanYears> planYears = new ArrayList<>();
+        List<PlanYears> planYears;
         List<PlanYears> planYearsList = new ArrayList<>();
         PageHelper.startPage(vo.getPageNum().intValue(), vo.getPageSize().intValue());
         try {
             BeanUtils.copyProperties(vo, ofYears);
             planYears = planYearsMapper.selectPlanYearsList(ofYears);
-            for (PlanYears planYear : planYears) {
-                SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(planYear.getPurchaseDeptId()).get("sysDept");
-                planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
-            }
             planYearsList = changeTo(planYears);
         } catch (Exception e) {
             e.printStackTrace();
@@ -85,22 +81,47 @@ public class PlanYearsServiceImpl implements PlanYearsService {
         return pageInfo;
     }
 
+    @Override
+    public List<PlanYears> selectPlanYearsListEXP(PlanYearsStandardVo vo) {
+        List<PlanYears> list = new ArrayList<>();
+        List<PlanYears> planYearsList = new ArrayList<>();
+        try {
+            int num = 1;
+            int size = 200;
+            while (size == 200) {
+                LambdaQueryWrapper<PlanYears> lw = new LambdaQueryWrapper<PlanYears>();
+                lw.like(PlanYears::getProjectName, vo.getProjectName());
+                lw.eq(PlanYears::getPurchaseServices, vo.getPurchaseServices());
+                lw.eq(PlanYears::getIsExcess, vo.getIsExcess());
+                lw.eq(PlanYears::getProjectStatus, vo.getProjectStatus());
+                lw.ge(PlanYears::getPlanDemandSubTime, vo.getBeginTime());
+                lw.le(PlanYears::getPlanDemandSubTime, vo.getEndTime());
+                Page<PlanYears> page = planYearsMapper.selectPage(new Page<PlanYears>(num, size, false), lw);
+                list.addAll(page.getRecords());
+                size = page.getRecords().size();
+                num++;
+            }
+            planYearsList = changeTo(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return planYearsList;
+    }
+
     @Override
     public PageInfo<PlanYears> selectPlanYearsExamineList(PlanYearsStandardVo vo) {
         PlanYears ofYears = new PlanYears();
         PageHelper.startPage(vo.getPageNum().intValue(), vo.getPageSize().intValue());
-        List<PlanYears> planYears = new ArrayList<>();
+        List<PlanYears> planYears;
+        List<PlanYears> planYearsList = new ArrayList<>();
         try {
             BeanUtils.copyProperties(vo, ofYears);
             planYears = planYearsMapper.selectPlanYearsExamineList(ofYears);
-            for (PlanYears planYear : planYears) {
-                SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(planYear.getPurchaseDeptId()).get("sysDept");
-                planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
-            }
+            planYearsList = changeTo(planYears);
         } catch (Exception e) {
             e.printStackTrace();
         }
-        PageInfo<PlanYears> pageInfo = new PageInfo<PlanYears>(planYears);
+        PageInfo<PlanYears> pageInfo = new PageInfo<PlanYears>(planYearsList);
         return pageInfo;
     }
 
@@ -284,7 +305,7 @@ public class PlanYearsServiceImpl implements PlanYearsService {
             failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确:");
             throw new ServiceException(failureMsg.toString());
         } else {
-            successMsg.insert(0, "导入成功!共 " + successNum + " 条,数据如下:");
+            successMsg.insert(0, "导入成功!共 " + successNum + " 条");
         }
         return successMsg.toString();
     }
@@ -437,6 +458,9 @@ public class PlanYearsServiceImpl implements PlanYearsService {
         HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
         List<PlanYears> list = new ArrayList<PlanYears>();
         for (PlanYears planYear : planYears) {
+            SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(planYear.getPurchaseDeptId()).get("sysDept");
+            planYear.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
+
             for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
                 if (planYear.getProjectType().equals(entry.getValue())) {
                     planYear.setProjectTypeStr(entry.getKey());

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

@@ -8,11 +8,9 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import javax.annotation.PostConstruct;
 
-import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.constant.Constants;
 import com.ozs.common.enums.PlanPurchaseMode;
-import com.ozs.common.enums.ProjectAttribute;
 import com.ozs.common.enums.ProjectStatus;
-import com.ozs.common.enums.ProjectTypes;
 import com.ozs.system.service.ISysDictTypeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -215,10 +213,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
         HashMap<String, String> planPurchaseModesMap = new LinkedHashMap<>();
         HashMap<String, String> projectAttributes = new LinkedHashMap<>();
         HashMap<String, String> purchaseServices = new LinkedHashMap<>();
-        //项目类型
-        for (ProjectTypes value : ProjectTypes.values()) {
-            projectTypesMap.put(value.getInfo(), value.getCode());
-        }
+
         //项目审核状态
         for (ProjectStatus value : ProjectStatus.values()) {
             projectStatusMap.put(value.getInfo(), value.getCode());
@@ -227,15 +222,21 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
         for (PlanPurchaseMode value : PlanPurchaseMode.values()) {
             planPurchaseModesMap.put(value.getInfo(), value.getCode());
         }
-        //项目属性
-        for (ProjectAttribute value : ProjectAttribute.values()) {
-            projectAttributes.put(value.getInfo(), value.getCode());
-        }
-        List<SysDictData> data = dictDataMapper.selectDictDataByType("purchase_services");
         //采购服务站
+        List<SysDictData> data = dictDataMapper.selectDictDataByType(Constants.PURCHASE_SERVICES);
         for (SysDictData dictData : data) {
             purchaseServices.put(dictData.getDictLabel(), dictData.getDictValue());
         }
+        //项目属性
+        List<SysDictData> data1 = dictDataMapper.selectDictDataByType(Constants.SYS_PROJECT_ATTR);
+        for (SysDictData dictData : data1) {
+            projectAttributes.put(dictData.getDictLabel(), dictData.getDictValue());
+        }
+        //项目类型
+        List<SysDictData> data2 = dictDataMapper.selectDictDataByType(Constants.SYS_PROJECT_TYPE);
+        for (SysDictData dictData : data2) {
+            projectTypesMap.put(dictData.getDictLabel(), dictData.getDictValue());
+        }
 
         hashMap.put("projectTypes", projectTypesMap);
         hashMap.put("projectStatus", projectStatusMap);

+ 4 - 4
purchase-system/src/main/resources/mapper/plan/PlanYearsMapper.xml

@@ -65,10 +65,10 @@
 			<if test="projectStatus != null and projectStatus != ''">
 				AND project_status = #{projectStatus}
 			</if>
-			<if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
+			<if test="beginTime != null  "><!-- 开始时间检索 -->
 				and date_format(plan_demand_sub_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
 			</if>
-			<if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
+			<if test="endTime != null  "><!-- 结束时间检索 -->
 				and date_format(plan_demand_sub_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
 			</if>
 			and del_flay=0
@@ -94,10 +94,10 @@
 			<if test="projectStatus != null and projectStatus != ''">
 				AND project_status = #{projectStatus}
 			</if>
-			<if test="beginTime != null and beginTime != ''"><!-- 开始时间检索 -->
+			<if test="beginTime != null "><!-- 开始时间检索 -->
 				and date_format(plan_demand_sub_time,'%y%m%d') &gt;= date_format(#{beginTime},'%y%m%d')
 			</if>
-			<if test="endTime != null and endTime != ''"><!-- 结束时间检索 -->
+			<if test="endTime != null "><!-- 结束时间检索 -->
 				and date_format(plan_demand_sub_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
 			</if>
 			and del_flay=0