Ver código fonte

临时计划 导入导出 专业库导入导出

sunhh 2 anos atrás
pai
commit
5066edd7e4

+ 14 - 10
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseProfessionalController.java

@@ -5,9 +5,12 @@ import com.ozs.base.domain.vo.BaseProfessionalVo;
 import com.ozs.base.service.BaseProfessionalService;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
+import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,8 +39,9 @@ public class BaseProfessionalController extends BaseController {
         if (StringUtils.isNull(baseProfessional)
                 || StringUtils.isNull(baseProfessional.getProfessionalName())
                 || StringUtils.isNull(baseProfessional.getProfessionalCode())
-                || StringUtils.isNull(baseProfessional.getProfessionalGrade())) {
-            return error("专业库名称、编码、一级分类不能为空");
+                || StringUtils.isNull(baseProfessional.getProfessionalGrade())
+                || StringUtils.isNull(baseProfessional.getParentCode())) {
+            return error("专业库名称、编码、一级分类、父级ID 不能为空");
         }
         return toAjax(baseProfessionalService.save(baseProfessional));
     }
@@ -70,28 +74,28 @@ public class BaseProfessionalController extends BaseController {
     @ApiOperation(value = "查询专业库树结构", notes = "非必传 查询条件:品目名称")
     @PostMapping("/selectBaseProfessional")
     public AjaxResult selectBaseProfessional(@RequestBody BaseProfessionalVo baseProfessionalVo) {
-        List<BaseProfessionalVo> baseSupplierList = baseProfessionalService.selectBaseProfessional(baseProfessionalVo);
+        List<BaseProfessionalVo> baseSupplierList = baseProfessionalService.selectBaseProfessionalVo(baseProfessionalVo);
         return success(baseSupplierList);
     }
 
     @ApiOperation(value = "导入专业库", notes = "导入表格")
     @PostMapping("/importBaseProfessional")
-    public AjaxResult importBaseProfessional(@RequestBody MultipartFile file) throws Exception {
-        ExcelUtil<BaseProfessional> util = new ExcelUtil<BaseProfessional>(BaseProfessional.class);
+    public AjaxResult importBaseProfessional(MultipartFile file, boolean updateSupport) throws Exception {
+        ExcelUtil<BaseProfessional> util = new ExcelUtil<>(BaseProfessional.class);
         List<BaseProfessional> baseProfessionalList = util.importExcel(file.getInputStream());
         if (StringUtils.isNull(baseProfessionalList) || baseProfessionalList.size() == 0) {
             throw new ServiceException("导入专业库数据不能为空!");
         }
         // String operName = getUsername();
-        String message = baseProfessionalService.importBaseProfessional(baseProfessionalList);
+        String message = baseProfessionalService.importBaseProfessional(baseProfessionalList, updateSupport);
         return success(message);
     }
 
     @ApiOperation("导出专业库")
     @PostMapping("/exportBaseProfessional")
-    public void exportBaseProfessional(HttpServletResponse response, BaseProfessional baseProfessional) {
-        List<BaseProfessional> list = baseProfessionalService.selectBaseProfessional(baseProfessional);
-        ExcelUtil<BaseProfessional> util = new ExcelUtil<BaseProfessional>(BaseProfessional.class);
-        util.exportExcel(response, list, "参数数据");
+    public void exportBaseProfessional(HttpServletResponse response, @RequestBody BaseProfessionalVo baseProfessionalVo) {
+        List<BaseProfessional> list = baseProfessionalService.selectBaseProfessional(baseProfessionalVo);
+        ExcelUtil<BaseProfessional> util = new ExcelUtil<>(BaseProfessional.class);
+        util.exportExcel(response, list, "专业库数据");
     }
 }

+ 10 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -15,6 +15,7 @@ import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import com.ozs.plan.service.ProvisionalPlanService;
 import io.swagger.annotations.Api;
@@ -29,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
 import java.util.List;
 
@@ -116,4 +118,12 @@ public class ProvisionalPlanController extends BaseController {
         String message = provisionalPlanService.importProvisionalPlan(provisionalPlans, updateSupport, loginUser);
         return success(message);
     }
+
+    @ApiOperation(value = "导出临时计划")
+    @PostMapping("/exportProvisionalPlan")
+    public void exportProvisionalPlan(HttpServletResponse response, @RequestBody ProvisionalPlanVo provisionalPlanVo) throws Exception {
+        List<ProvisionalPlan> list = provisionalPlanService.selectProvisionalPlanExport(provisionalPlanVo);
+        ExcelUtil<ProvisionalPlan> util = new ExcelUtil<>(ProvisionalPlan.class);
+        util.exportExcel(response, list, "临时计划数据");
+    }
 }

+ 6 - 0
purchase-system/src/main/java/com/ozs/base/domain/BaseProfessional.java

@@ -2,6 +2,7 @@ package com.ozs.base.domain;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.ozs.common.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -19,6 +20,7 @@ public class BaseProfessional {
     /**
      * 品目名称
      */
+    @Excel(name = "品目名称")
     @ApiModelProperty(value = "品目名称")
     @TableField("professional_name")
     private String professionalName;
@@ -26,6 +28,7 @@ public class BaseProfessional {
     /**
      * 编码
      */
+    @Excel(name = "编码")
     @ApiModelProperty(value = "编码")
     @TableField("professional_code")
     private String professionalCode;
@@ -33,6 +36,7 @@ public class BaseProfessional {
     /**
      * 说明
      */
+    @Excel(name = "说明")
     @ApiModelProperty(value = "说明")
     @TableField("purchase_state")
     private String purchaseState;
@@ -40,6 +44,7 @@ public class BaseProfessional {
     /**
      * 一级分类
      */
+    @Excel(name = "一级分类")
     @ApiModelProperty(value = "一级分类")
     @TableField("professional_grade")
     private String professionalGrade;
@@ -47,6 +52,7 @@ public class BaseProfessional {
     /**
      * 父级编码
      */
+    @Excel(name = "父级编码")
     @ApiModelProperty(value = "父级编码")
     @TableField("parent_code")
     private String parentCode;

+ 44 - 6
purchase-system/src/main/java/com/ozs/base/domain/vo/BaseProfessionalVo.java

@@ -1,6 +1,9 @@
 package com.ozs.base.domain.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ozs.base.domain.BaseProfessional;
+import com.ozs.common.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -8,12 +11,47 @@ import java.util.List;
 
 @Data
 public class BaseProfessionalVo extends BaseProfessional {
-//    private Integer id;
-//    private String professionalName;
-//    private String professionalCode;
-//    private String purchaseState;
-//    private String professionalGrade;
-//    private String parentCode;
+    /**
+     * 主键ID
+     */
+    @ApiModelProperty(value = "id")
+    private Integer id;
+
+    /**
+     * 品目名称
+     */
+    @Excel(name = "品目名称")
+    @ApiModelProperty(value = "品目名称")
+    private String professionalName;
+
+    /**
+     * 编码
+     */
+    @Excel(name = "编码")
+    @ApiModelProperty(value = "编码")
+    private String professionalCode;
+
+    /**
+     * 说明
+     */
+    @Excel(name = "说明")
+    @ApiModelProperty(value = "说明")
+    private String purchaseState;
+
+    /**
+     * 一级分类
+     */
+    @Excel(name = "一级分类")
+    @ApiModelProperty(value = "一级分类")
+    private String professionalGrade;
+
+    /**
+     * 父级编码
+     */
+    @Excel(name = "父级编码")
+    @ApiModelProperty(value = "父级编码")
+    private String parentCode;
+
     private List<BaseProfessionalVo> baseProfessionalVoList;
     private List<Integer> deleteIds;
 }

+ 3 - 3
purchase-system/src/main/java/com/ozs/base/service/BaseProfessionalService.java

@@ -7,10 +7,10 @@ import com.ozs.base.domain.vo.BaseProfessionalVo;
 import java.util.List;
 
 public interface BaseProfessionalService extends IService<BaseProfessional> {
-    List<BaseProfessionalVo> selectBaseProfessional(BaseProfessionalVo baseProfessional);
-    List<BaseProfessional> selectBaseProfessional(BaseProfessional baseProfessional);
+    List<BaseProfessionalVo> selectBaseProfessionalVo(BaseProfessionalVo baseProfessional);
+    List<BaseProfessional> selectBaseProfessional(BaseProfessionalVo baseProfessionalVo);
 
     void deleteIds(List<Integer> deleteIds);
 
-    String importBaseProfessional(List<BaseProfessional> userList);
+    String importBaseProfessional(List<BaseProfessional> userList, boolean updateSupport);
 }

+ 7 - 7
purchase-system/src/main/java/com/ozs/base/service/impl/BaseProfessionalServiceImpl.java

@@ -40,12 +40,12 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
     }
 
     @Override
-    public String importBaseProfessional(List<BaseProfessional> userList) {
+    public String importBaseProfessional(List<BaseProfessional> baseProfessionalList, boolean updateSupport) {
         int successNum = 0;
         int failureNum = 0;
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
-        for (BaseProfessional baseProfessional : userList) {
+        for (BaseProfessional baseProfessional : baseProfessionalList) {
             try {
                 // 判断编码是否存在
                 List<BaseProfessional> professionalCode = baseProfessionalMapper.selectByProfessionalCode(baseProfessional);
@@ -59,7 +59,7 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
                     BeanValidators.validateWithException(validator, baseProfessional);
                     baseProfessionalMapper.insert(baseProfessional);
                     successNum++;
-                    successMsg.append("<br/>" + successNum + "、专业名称 " + baseProfessional.getProfessionalName() + " 导入成功");
+                    // successMsg.append("<br/>" + successNum + "、专业名称 " + baseProfessional.getProfessionalName() + " 导入成功");
                 }
             } catch (Exception e) {
                 failureNum++;
@@ -72,13 +72,13 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
             failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
             throw new ServiceException(failureMsg.toString());
         } else {
-            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条");
         }
         return successMsg.toString();
     }
 
     @Override
-    public List<BaseProfessionalVo> selectBaseProfessional(BaseProfessionalVo baseProfessionalVo) {
+    public List<BaseProfessionalVo> selectBaseProfessionalVo(BaseProfessionalVo baseProfessionalVo) {
         List<BaseProfessional> allList = baseProfessionalMapper.selectBaseProfessional(baseProfessionalVo);
         // 将实体类转换为Vo类
         List<BaseProfessionalVo> allListVo = BeanUtils.entityListToVOList(allList, BaseProfessionalVo.class);
@@ -87,8 +87,8 @@ public class BaseProfessionalServiceImpl extends ServiceImpl<BaseProfessionalMap
     }
 
     @Override
-    public List<BaseProfessional> selectBaseProfessional(BaseProfessional baseProfessional) {
-        List<BaseProfessional> allList = baseProfessionalMapper.selectBaseProfessional(baseProfessional);
+    public List<BaseProfessional> selectBaseProfessional(BaseProfessionalVo baseProfessionalVo) {
+        List<BaseProfessional> allList = baseProfessionalMapper.selectBaseProfessional(baseProfessionalVo);
         return allList;
     }
 

+ 11 - 3
purchase-system/src/main/java/com/ozs/plan/doman/ProvisionalPlan.java

@@ -38,6 +38,8 @@ public class ProvisionalPlan {
     @ApiModelProperty(value = "项目类型(0:装备类;1:物资类;2:服务类;3:工程类)")
     @TableField("project_type")
     private String projectType;
+    @TableField(exist = false)
+    private String projectTypeStr;
 
     @Excel(name = "需求概况")
     @ApiModelProperty(value = "需求概况")
@@ -53,15 +55,19 @@ public class ProvisionalPlan {
     @TableField("is_excess")
     private String isExcess;
 
-    @Excel(name = "采购服务站")
     @ApiModelProperty(value = "采购服务站")
     @TableField("purchase_services")
-    private String purchaseServices;
+    private String  purchaseServices;
+    @Excel(name = "采购服务站")
+    @TableField(exist = false)
+    private String purchaseServicesStr;
 
     @Excel(name = "采购方式")
     @ApiModelProperty(value = "采购方式  (0:公开招标, 1:单一来源,2:邀请招标,3:竞争式谈判,4:询价)")
     @TableField("purchase_mode")
     private String purchaseMode;
+    @TableField(exist = false)
+    private String purchaseModeStr;
 
     @Excel(name = "提报需求时间")
     @JsonFormat(pattern = "yyyy-MM-dd")
@@ -81,10 +87,12 @@ public class ProvisionalPlan {
     @TableField("plan_deliver_time")
     private Date planDeliverTime;
 
-    @Excel(name = "项目属性")
     @ApiModelProperty(value = "项目属性(0:应急应战项目, 1:重大规划任务项目, 2:规划任务项目, 3:一般项目)")
     @TableField("project_attr")
     private String projectAttr;
+    @Excel(name = "项目属性")
+    @TableField(exist = false)
+    private String projectAttrStr;
 
     @Excel(name = "计划调整情况及理由")
     @ApiModelProperty(value = "计划调整情况及理由--->如计划需要变更,在填写申请修改时需填写调整情况及理由,审核单位审核通过后显示该信息")

+ 4 - 0
purchase-system/src/main/java/com/ozs/plan/service/ProvisionalPlanService.java

@@ -2,7 +2,9 @@ package com.ozs.plan.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.common.core.domain.model.LoginUser;
+import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 
 import java.util.List;
 
@@ -12,4 +14,6 @@ public interface ProvisionalPlanService extends IService<ProvisionalPlan> {
     int updateProvisionalPlanById(ProvisionalPlan provisionalPlan);
 
     String importProvisionalPlan(List<ProvisionalPlan> provisionalPlans, boolean updateSupport, LoginUser loginUser);
+
+    List<ProvisionalPlan> selectProvisionalPlanExport(ProvisionalPlanVo provisionalPlanVo);
 }

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

@@ -1,5 +1,7 @@
 package com.ozs.plan.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDictData;
@@ -10,19 +12,20 @@ import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import com.ozs.plan.mapper.PlanYearsMapper;
 import com.ozs.plan.mapper.ProvisionalPlanMapper;
 import com.ozs.plan.service.ProvisionalPlanService;
+import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
+import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictTypeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
+import java.util.*;
 
 @Service
 public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMapper, ProvisionalPlan> implements ProvisionalPlanService {
@@ -33,6 +36,8 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
     private ISysDictTypeService dictTypeService;
     @Autowired
     private SysDeptMapper deptMapper;
+    @Autowired
+    private ISysDeptService deptService;
 
     @Override
     public int deleteProvisionalPlanById(Integer planYearId) {
@@ -87,17 +92,10 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                     ofProvisionalPlan.setIsExcess(isExcessOrNo(ofProvisionalPlan.getProjectType(), ofProvisionalPlan.getEvaluation()));
                     ofProvisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
                     ofProvisionalPlan.setCreateTime(new Date());
+                    ofProvisionalPlan.setPlanType("1");
                     provisionalPlanMapper.insert(ofProvisionalPlan);
                     successNum++;
                     successMsg.append("*" + successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 导入成功!");
-                    //} else if (isUpdateSupport) {
-                    //    PlanYears years = plan.get(0);
-                    //    BeanValidators.validateWithException(validator, ofYear);
-                    //    years.setCreateTime(new Date());
-                    //    years.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
-                    //    planYearsMapper.updateById(years);
-                    //    successNum++;
-                    //    successMsg.append("<br/>" + successNum + "、项目 " + ofYear.getProjectName() + " 更新成功");
                 } else {
                     failureNum++;
                     failureMsg.append("*" + successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 已存在");
@@ -118,6 +116,45 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         return successMsg.toString();
     }
 
+    @Override
+    public List<ProvisionalPlan> selectProvisionalPlanExport(ProvisionalPlanVo vo) {
+        List<ProvisionalPlan> list = new ArrayList<>();
+        List<ProvisionalPlan> provisionalPlanList = new ArrayList<>();
+        try {
+            int num = 1;
+            int size = 200;
+            while (size == 200) {
+                LambdaQueryWrapper<ProvisionalPlan> lw = new LambdaQueryWrapper<ProvisionalPlan>();
+                if (!ObjectUtils.isEmpty(vo.getProjectName())) {
+                    lw.like(ProvisionalPlan::getProjectName, vo.getProjectName());
+                }
+                if (!ObjectUtils.isEmpty(vo.getPurchaseServices())) {
+                    lw.eq(ProvisionalPlan::getPurchaseServices, vo.getPurchaseServices());
+                }
+                if (!ObjectUtils.isEmpty(vo.getIsExcess())) {
+                    lw.eq(ProvisionalPlan::getIsExcess, vo.getIsExcess());
+                }
+                if (!ObjectUtils.isEmpty(vo.getProjectStatus())) {
+                    lw.eq(ProvisionalPlan::getProjectStatus, vo.getProjectStatus());
+                }
+                if (!ObjectUtils.isEmpty(vo.getStartTime())) {
+                    lw.ge(ProvisionalPlan::getPlanDemandSubTime, vo.getStartTime());
+                }
+                if (!ObjectUtils.isEmpty(vo.getEndTime())) {
+                    lw.le(ProvisionalPlan::getPlanDemandSubTime, vo.getEndTime());
+                }
+                Page<ProvisionalPlan> page = provisionalPlanMapper.selectPage(new Page<ProvisionalPlan>(num, size, false), lw);
+                list.addAll(page.getRecords());
+                size = page.getRecords().size();
+                num++;
+            }
+            provisionalPlanList = changeTo(list);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return provisionalPlanList;
+    }
+
     //判断是否为超额计划
     public String isExcessOrNo(String projectType, BigDecimal evaluation) {
         BigDecimal threshold = new BigDecimal(0);
@@ -143,4 +180,62 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
             return ("0");
         }
     }
+
+    //字段赋值对应的名称
+    public List<ProvisionalPlan> changeTo(List<ProvisionalPlan> provisionalPlans) {
+        HashMap<String, HashMap<String, String>> planEnums = dictTypeService.getAboutEnums();
+        HashMap<String, String> projectTypesMap = planEnums.get("projectTypes");
+        HashMap<String, String> planPurchaseModesMap = planEnums.get("planPurchaseModes");
+        HashMap<String, String> projectAttributes = planEnums.get("projectAttributes");
+        HashMap<String, String> purchaseServices = planEnums.get("purchaseServices");
+        List<ProvisionalPlan> list = new ArrayList<ProvisionalPlan>();
+        for (ProvisionalPlan provisionalPlan : provisionalPlans) {
+            if (provisionalPlan.getPurchaseDeptId() != null) {
+                SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(provisionalPlan.getPurchaseDeptId()).get("sysDept");
+                provisionalPlan.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
+            }
+            for (Map.Entry<String, String> entry : projectTypesMap.entrySet()) {
+                if (provisionalPlan.getProjectType() != null && provisionalPlan.getProjectType().equals(entry.getValue())) {
+                    provisionalPlan.setProjectTypeStr(entry.getKey());
+                    break;
+                }
+            }
+            for (Map.Entry<String, String> entry : planPurchaseModesMap.entrySet()) {
+                if (provisionalPlan.getPurchaseMode() != null && provisionalPlan.getPurchaseMode().equals(entry.getValue())) {
+                    provisionalPlan.setPurchaseModeStr(entry.getKey());
+                    break;
+                }
+            }
+            //项目属性是拼接的
+            if (provisionalPlan.getProjectAttr().length() > 1) {
+                StringBuilder builder = new StringBuilder();
+                String[] split = provisionalPlan.getProjectAttr().split(",");
+                for (String s : split) {
+                    for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
+                        if (s.equals(entry.getValue())) {
+                            builder.append(entry.getKey() + ",");
+                            break;
+                        }
+                    }
+                }
+                provisionalPlan.setProjectAttrStr(builder.toString());
+            } else {
+                for (Map.Entry<String, String> entry : projectAttributes.entrySet()) {
+                    if (provisionalPlan.getProjectAttr() != null && provisionalPlan.getProjectAttr().equals(entry.getValue())) {
+                        provisionalPlan.setProjectAttrStr(entry.getKey());
+                        break;
+                    }
+                }
+            }
+            for (Map.Entry<String, String> entry : purchaseServices.entrySet()) {
+                if (provisionalPlan.getPurchaseServices() != null && provisionalPlan.getPurchaseServices().equals(entry.getValue())) {
+                    provisionalPlan.setPurchaseServicesStr(entry.getKey());
+                    break;
+                }
+            }
+
+            list.add(provisionalPlan);
+        }
+        return list;
+    }
 }

+ 1 - 1
purchase-system/src/main/resources/mapper/plan/ProvisionalPlanMapper.xml

@@ -102,6 +102,6 @@
 	</update>
 
 	<select id="selectProjectName" resultType="com.ozs.plan.doman.ProvisionalPlan" parameterType="java.lang.String">
-		select * from plan_practical where project_name = #{projectName} and del_flay = 0 and plan_type = 1
+		select * from plan_practical where project_name = #{projectName} and del_flay = 0 and plan_type = "1"
 	</select>
 </mapper>