Procházet zdrojové kódy

Merge branch 'master' into prod

buzhanyi před 1 rokem
rodič
revize
6e1f199dd2
29 změnil soubory, kde provedl 376 přidání a 160 odebrání
  1. 16 4
      purchase-admin/src/main/java/com/ozs/web/controller/base/BaseExpertController.java
  2. 15 6
      purchase-admin/src/main/java/com/ozs/web/controller/base/BaseSupplierController.java
  3. 2 2
      purchase-admin/src/main/java/com/ozs/web/controller/plan/PlanYearsController.java
  4. 1 21
      purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java
  5. 5 0
      purchase-common/src/main/java/com/ozs/common/constant/Constants.java
  6. 0 7
      purchase-system/src/main/java/com/ozs/base/domain/BaseExpert.java
  7. 0 4
      purchase-system/src/main/java/com/ozs/base/domain/BaseSupplier.java
  8. 0 6
      purchase-system/src/main/java/com/ozs/base/domain/BaseUnitInformation.java
  9. 12 12
      purchase-system/src/main/java/com/ozs/base/domain/vo/BaseExpertVo.java
  10. 11 3
      purchase-system/src/main/java/com/ozs/base/domain/vo/BaseSupplierVo.java
  11. 0 7
      purchase-system/src/main/java/com/ozs/base/mapper/BaseExpertMapper.java
  12. 2 1
      purchase-system/src/main/java/com/ozs/base/service/BaseExpertService.java
  13. 17 1
      purchase-system/src/main/java/com/ozs/base/service/BaseSupplierService.java
  14. 170 26
      purchase-system/src/main/java/com/ozs/base/service/impl/BaseExpertServiceImpl.java
  15. 66 4
      purchase-system/src/main/java/com/ozs/base/service/impl/BaseSupplierServiceImpl.java
  16. 1 1
      purchase-system/src/main/java/com/ozs/plan/service/PlanYearsService.java
  17. 1 6
      purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java
  18. 0 4
      purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmDemandResVo.java
  19. 1 8
      purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java
  20. 1 1
      purchase-system/src/main/java/com/ozs/system/domain/vo/SysRegionVO.java
  21. 2 0
      purchase-system/src/main/java/com/ozs/system/mapper/SysRegionMapper.java
  22. 7 0
      purchase-system/src/main/java/com/ozs/system/service/ISysDictTypeService.java
  23. 2 0
      purchase-system/src/main/java/com/ozs/system/service/ISysRegionService.java
  24. 4 0
      purchase-system/src/main/java/com/ozs/system/service/SysRegionService.java
  25. 22 0
      purchase-system/src/main/java/com/ozs/system/service/impl/SysDictTypeServiceImpl.java
  26. 5 0
      purchase-system/src/main/java/com/ozs/system/service/impl/SysRegionServiceImpl.java
  27. 1 23
      purchase-system/src/main/resources/mapper/base/BaseExpertMapper.xml
  28. 1 8
      purchase-system/src/main/resources/mapper/base/BaseSupplierMapper.xml
  29. 11 5
      purchase-system/src/main/resources/mapper/system/SysRegionMapper.xml

+ 16 - 4
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseExpertController.java

@@ -13,10 +13,12 @@ import com.ozs.common.annotation.Log;
 import com.ozs.common.constant.ModularConstans;
 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.enums.BusinessType;
 import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
+import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.system.domain.vo.SysRegionVO;
 import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.SysRegionService;
@@ -30,6 +32,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.validation.constraints.NotEmpty;
@@ -76,7 +79,7 @@ public class BaseExpertController extends BaseController {
         LambdaQueryWrapper<BaseProfessional> lw = new LambdaQueryWrapper();
         lw.eq(BaseProfessional::getProfessionalCode, baseExpertVo.getMajorType());
         List<BaseProfessional> list = baseProfessionalService.list(lw);
-        if (ObjectUtils.isEmpty(list) || list.size() < 1) {
+        if (ObjectUtils.isEmpty(list)) {
             return error("专业类型传值错误");
         }
         LambdaQueryWrapper<BaseExpert> l = new LambdaQueryWrapper();
@@ -92,6 +95,18 @@ public class BaseExpertController extends BaseController {
         return toAjax(baseExpertService.insertExpert(baseExpertVo));
     }
 
+    @ApiOperation(value = "导入专家数据")
+    @PostMapping("/importData")
+    @PreAuthorize("@ss.hasPermi('base:expert:importData')")
+    @Log(title = ModularConstans.expert, businessType = BusinessType.INSERT)
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        ExcelUtil<BaseExpertVo> util = new ExcelUtil<>(BaseExpertVo.class);
+        List<BaseExpertVo> expertVos = util.importExcel(file.getInputStream(), 1);
+        LoginUser loginUser = getLoginUser();
+        String message = baseExpertService.importBaseExpert(expertVos, loginUser);
+        return success(message);
+    }
+
     @ApiOperation(value = "删除专家库", notes = "必传 id")
     @PostMapping("/deleteExpert")
     @PreAuthorize("@ss.hasPermi('base:expert:deleteExpert')")
@@ -153,9 +168,6 @@ public class BaseExpertController extends BaseController {
         if (!ObjectUtils.isEmpty(baseExpertVo.getMajorGrade())) {
             lw.eq(BaseExpert::getMajorGrade, baseExpertVo.getMajorGrade());
         }
-        if (!ObjectUtils.isEmpty(baseExpertVo.getVarietyPurchase())) {
-            lw.eq(BaseExpert::getVarietyPurchase, baseExpertVo.getVarietyPurchase());
-        }
         lw.orderBy(true, false, BaseExpert::getCreateTime);
         List<BaseExpert> list = baseExpertService.list(lw);
         List<BaseExpertVo> listVo = BeanUtils.entityListToVOList(list, BaseExpertVo.class);

+ 15 - 6
purchase-admin/src/main/java/com/ozs/web/controller/base/BaseSupplierController.java

@@ -3,7 +3,6 @@ package com.ozs.web.controller.base;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ozs.base.domain.BaseExpert;
 import com.ozs.base.domain.vo.BaseSupplierVo;
 import com.ozs.common.annotation.Log;
 import com.ozs.common.constant.ModularConstans;
@@ -15,16 +14,17 @@ import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.base.domain.BaseSupplier;
 import com.ozs.base.service.BaseSupplierService;
+import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
@@ -61,7 +61,19 @@ public class BaseSupplierController extends BaseController {
         if (StringUtils.isNull(baseSupplier.getSupplierState())) {
             baseSupplier.setSupplierState("1");
         }
-        return toAjax(baseSupplierService.insertBaseSupplier(baseSupplier));
+        return baseSupplierService.insertBaseSupplier(baseSupplier);
+    }
+
+    @ApiOperation(value = "导入供应商数据")
+    @PostMapping("/importData")
+    @PreAuthorize("@ss.hasPermi('base:supplier:importData')")
+    @Log(title = ModularConstans.expert, businessType = BusinessType.INSERT)
+    public AjaxResult importData(MultipartFile file) throws Exception {
+        ExcelUtil<BaseSupplierVo> util = new ExcelUtil<>(BaseSupplierVo.class);
+        List<BaseSupplierVo> suppliers = util.importExcel(file.getInputStream(), 1);
+        LoginUser loginUser = getLoginUser();
+        String message = baseSupplierService.importBaseSuppliers(suppliers, loginUser);
+        return success(message);
     }
 
     @ApiOperation(value = "删除供应商户", notes = "必传ID")
@@ -126,9 +138,6 @@ public class BaseSupplierController extends BaseController {
         if (!StringUtils.isBlank(baseSupplierVo.getSupplierState())) {
             lw.eq(BaseSupplier::getSupplierState, baseSupplierVo.getSupplierState());
         }
-        if (!StringUtils.isBlank(baseSupplierVo.getSupplierType())) {
-            lw.eq(BaseSupplier::getSupplierType, baseSupplierVo.getSupplierType());
-        }
         if (!StringUtils.isBlank(baseSupplierVo.getSupplierAdvancePurchase())) {
             lw.eq(BaseSupplier::getSupplierAdvancePurchase, baseSupplierVo.getSupplierAdvancePurchase());
         }

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

@@ -340,12 +340,12 @@ public class PlanYearsController extends BaseController {
     @PostMapping("/importData")
     @PreAuthorize("@ss.hasPermi('plan:planYears:importData')")
     @Log(title = ModularConstans.planYear, businessType = BusinessType.INSERT)
-    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
+    public AjaxResult importData(MultipartFile file) throws Exception {
         ExcelUtil<PlanYearsStandardVo> util = new ExcelUtil<>(PlanYearsStandardVo.class);
         List<PlanYearsStandardVo> planYears = util.importExcel(file.getInputStream(), 2);
         //获取采购单位-
         LoginUser loginUser = getLoginUser();
-        String message = planYearsService.importPlanYears(planYears, updateSupport, loginUser);
+        String message = planYearsService.importPlanYears(planYears, loginUser);
         return success(message);
     }
 

+ 1 - 21
purchase-admin/src/main/java/com/ozs/web/controller/pm/PmPurchaseExecutionController.java

@@ -337,8 +337,7 @@ public class PmPurchaseExecutionController extends BaseController {
         }
 
         LambdaQueryWrapper<BaseExpert> lw = new LambdaQueryWrapper<BaseExpert>();
-        lw.eq(BaseExpert::getVarietyPurchase, pmDemand.getProjectType())
-                .eq(BaseExpert::getStatus, NameListType.WHITE.getCode());
+        lw.eq(BaseExpert::getStatus, NameListType.WHITE.getCode());
         List<BaseExpert> baseExpertList = baseExpertService.list(lw);
         List<String> idNumberList = new ArrayList<>();
         if (!ObjectUtils.isEmpty(baseExpertList)) {
@@ -368,9 +367,6 @@ public class PmPurchaseExecutionController extends BaseController {
             if (NameListType.BLACK.getCode().equals(baseExpert.getStatus())) {
                 return error("该专家属于黑名单");
             }
-            if (!ObjectUtils.isEmpty(pmDemand.getProjectType()) && !pmDemand.getProjectType().equals(baseExpert.getVarietyPurchase())) {
-                return error("该专家所属采购品种和项目类型不匹配");
-            }
         }
 
         return success(baseExpert);
@@ -424,20 +420,6 @@ public class PmPurchaseExecutionController extends BaseController {
         return success(set);
     }
 
-    @ApiOperation(value = "获取回避单位下拉列表(抽取专家时,显示与项目类型和专家类型相符的部门)", notes = "查询条件:采购品种")
-    @PostMapping("/getExpertUnitListBC")
-    @Log(title = ModularConstans.professional, businessType = BusinessType.QUERY)
-    public AjaxResult getExpertUnitListBC(@RequestBody BaseUnitInformation unitInformation) {
-        List<BaseUnitInformation> baseUnitInformationList = baseExpertService.getBaseUnitInformationListBC(unitInformation);
-        if (ObjectUtils.isEmpty(baseUnitInformationList)) {
-            return error("专家单位列表是空的");
-        }
-        Set<String> set = new HashSet<>();
-        for (BaseUnitInformation baseUnitInformation : baseUnitInformationList) {
-            set.add(baseUnitInformation.getUnitName());
-        }
-        return success(set);
-    }
 
     /**
      * 抽取专家
@@ -801,7 +783,6 @@ public class PmPurchaseExecutionController extends BaseController {
                     BeanUtils.copyProperties(baseExpert, baseExpertVo);
                     baseExpertVo.setMajorTypeName(getMajorTypeName(baseExpertVo.getMajorType()));
                     baseExpertVo.setExpertTypeName(ExpertType.getCodeToInfo(baseExpertVo.getExpertType()));
-                    baseExpertVo.setVarietyPurchaseName(PurchaseType.getCodeToInfo(baseExpertVo.getVarietyPurchase()));
                     baseExpertVoList.add(baseExpertVo);
                 }
             }
@@ -840,7 +821,6 @@ public class PmPurchaseExecutionController extends BaseController {
                     BeanUtils.copyProperties(baseExpert, baseExpertVo);
                     baseExpertVo.setMajorTypeName(getMajorTypeName(baseExpertVo.getMajorType()));
                     baseExpertVo.setExpertTypeName(ExpertType.getCodeToInfo(baseExpertVo.getExpertType()));
-                    baseExpertVo.setVarietyPurchaseName(PurchaseType.getCodeToInfo(baseExpertVo.getVarietyPurchase()));
                     baseExpertVoList.add(baseExpertVo);
                 }
             }

+ 5 - 0
purchase-common/src/main/java/com/ozs/common/constant/Constants.java

@@ -178,4 +178,9 @@ public class Constants {
     // 单位性质
     public static final String SYS_COMPANY_NATURE = "sys_company_nature";
 
+    // 专家类型
+    public static final String EXPERT_TYPE = "expert_type";
+    // 职称
+    public static final String PROFESSIONAL_TITLE = "professional_title";
+
 }

+ 0 - 7
purchase-system/src/main/java/com/ozs/base/domain/BaseExpert.java

@@ -81,13 +81,6 @@ public class BaseExpert extends BaseDto {
     @TableField("major_grade")
     private String majorGrade;
 
-    /**
-     * 采购品种
-     */
-    @ApiModelProperty(value = "采购品种,多个使用英文逗号分隔")
-    @TableField("variety_purchase")
-    private String varietyPurchase;
-
     /**
      * 职称
      */

+ 0 - 4
purchase-system/src/main/java/com/ozs/base/domain/BaseSupplier.java

@@ -37,10 +37,6 @@ public class BaseSupplier {
     @TableField("supplier_address")
     private String supplierAddress;
 
-    @ApiModelProperty(value = "供应商类型")
-    @TableField("supplier_type")
-    private String supplierType;
-
     @ApiModelProperty(value = "状态 黑名单0,白名单1")
     @TableField("supplier_state")
     private String supplierState;

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

@@ -29,12 +29,6 @@ public class BaseUnitInformation {
     @TableField("unit_name")
     private String unitName;
 
-    /**
-     * 采购品种
-     */
-    @ApiModelProperty(value = "采购品种")
-    private String varietyPurchase;
-
     /**
      * 创建人
      */

+ 12 - 12
purchase-system/src/main/java/com/ozs/base/domain/vo/BaseExpertVo.java

@@ -2,7 +2,7 @@ package com.ozs.base.domain.vo;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ozs.common.vo.PageVo;
+import com.ozs.common.annotation.Excel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -28,12 +28,14 @@ public class BaseExpertVo {
     /**
      * 专家名称
      */
+    @Excel(name = "专家名称")
     @ApiModelProperty(value = "专家名称")
     private String expertName;
 
     /**
      * 专家类型
      */
+    @Excel(name = "专家类型")
     @ApiModelProperty(value = "专家类型,多个使用英文逗号分隔")
     private String expertType;
 
@@ -46,12 +48,14 @@ public class BaseExpertVo {
     /**
      * 专家性别
      */
+    @Excel(name = "专家性别")
     @ApiModelProperty(value = "专家性别")
     private String expertGender;
 
     /**
      * 出生年月
      */
+    @Excel(name = "出生年月")
     @JsonFormat(pattern = "yyyy-MM")
     @ApiModelProperty(value = "出生年月")
     private String expertDateBirth;
@@ -59,6 +63,7 @@ public class BaseExpertVo {
     /**
      * 联系方式
      */
+    @Excel(name = "联系方式")
     @ApiModelProperty(value = "联系方式")
     private String expertTel;
 
@@ -71,12 +76,14 @@ public class BaseExpertVo {
     /**
      * 专业类型名
      */
+    @Excel(name = "专业类型")
     @ApiModelProperty(value = "专业类型名,多个使用英文逗号分隔")
     private String majorTypeName;
 
     /**
      * 单位信息
      */
+    @Excel(name = "单位信息")
     @ApiModelProperty(value = "单位信息")
     private String unitInformation;
 
@@ -86,21 +93,11 @@ public class BaseExpertVo {
     @ApiModelProperty(value = "专业等级")
     private String majorGrade;
 
-    /**
-     * 采购品种
-     */
-    @ApiModelProperty(value = "采购品种,多个使用英文逗号分隔")
-    private String varietyPurchase;
-
-    /**
-     * 采购品种名
-     */
-    @ApiModelProperty(value = "采购品种名,多个使用英文逗号分隔")
-    private String varietyPurchaseName;
 
     /**
      * 职称
      */
+    @Excel(name = "职称")
     @ApiModelProperty(value = "职称")
     private String professionalTitle;
 
@@ -113,8 +110,10 @@ public class BaseExpertVo {
     /**
      * 所在区域
      */
+    @Excel(name = "所在区域")
     @ApiModelProperty(value = "所在区域(行政区域表的code)")
     private String localArea;
+
     private List<String> localAreaList;
 
     /**
@@ -126,6 +125,7 @@ public class BaseExpertVo {
     /**
      * 身份证号
      */
+    @Excel(name = "身份证号")
     @ApiModelProperty(value = "身份证号")
     private String idNumber;
 

+ 11 - 3
purchase-system/src/main/java/com/ozs/base/domain/vo/BaseSupplierVo.java

@@ -1,6 +1,7 @@
 package com.ozs.base.domain.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
 import com.ozs.common.vo.PageVo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -10,39 +11,46 @@ import java.util.Date;
 @Data
 public class BaseSupplierVo extends PageVo {
 
+    @Excel(name = "单位名称")
     @ApiModelProperty("供应商名称")
     private String supplierName;
 
+    @Excel(name = "法定代表人")
     @ApiModelProperty("供应商负责人")
     private String supplierResponsiblePerson;
 
+    @Excel(name = "单位地址")
     @ApiModelProperty("供应商地址")
     private String supplierAddress;
 
-    @ApiModelProperty("供应商类型")
-    private String supplierType;
-
     @ApiModelProperty("状态 黑白名单")
     private String supplierState;
 
+    @Excel(name = "预先采购")
     @ApiModelProperty("预先采购")
     private String supplierAdvancePurchase;
 
+    @Excel(name = "邮政编码")
     @ApiModelProperty(value = "邮政编码")
     private String postalCode;
 
+    @Excel(name = "项目联系人")
     @ApiModelProperty(value = "项目联系人")
     private String projectPerson;
 
+    @Excel(name = "联系电话")
     @ApiModelProperty(value = "联系电话")
     private String telephone;
 
+    @Excel(name = "银行账户名称")
     @ApiModelProperty(value = "银行账户名称")
     private String bankAccountName;
 
+    @Excel(name = "开户银行")
     @ApiModelProperty(value = "开户银行")
     private String bankOfDeposit;
 
+    @Excel(name = "银行账号")
     @ApiModelProperty(value = "银行账号")
     private String bankAccountNumber;
 

+ 0 - 7
purchase-system/src/main/java/com/ozs/base/mapper/BaseExpertMapper.java

@@ -23,11 +23,4 @@ public interface BaseExpertMapper extends BaseMapper<BaseExpert> {
 
     List<PmDemandExpertRef> getExpertIdList(@Param("demandId") Long demandId);
 
-    /**
-     * 根据采购品种查询
-     *
-     * @param unitInformation
-     * @return
-     */
-    List<BaseUnitInformation> selectByUnitInformationBC(BaseUnitInformation unitInformation);
 }

+ 2 - 1
purchase-system/src/main/java/com/ozs/base/service/BaseExpertService.java

@@ -6,6 +6,7 @@ import com.ozs.base.domain.BaseExpert;
 import com.ozs.base.domain.BaseUnitInformation;
 import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.model.LoginUser;
 
 import java.util.List;
 
@@ -20,5 +21,5 @@ public interface BaseExpertService extends IService<BaseExpert> {
 
     List<BaseUnitInformation> getBaseUnitInformationList();
 
-    List<BaseUnitInformation> getBaseUnitInformationListBC(BaseUnitInformation unitInformation);
+    String importBaseExpert(List<BaseExpertVo> expertVos, LoginUser loginUser);
 }

+ 17 - 1
purchase-system/src/main/java/com/ozs/base/service/BaseSupplierService.java

@@ -3,6 +3,9 @@ package com.ozs.base.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.base.domain.BaseExpert;
 import com.ozs.base.domain.BaseSupplier;
+import com.ozs.base.domain.vo.BaseSupplierVo;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.model.LoginUser;
 
 import java.util.List;
 
@@ -15,25 +18,38 @@ public interface BaseSupplierService extends IService<BaseSupplier> {
 
     /**
      * 新增供应商
+     *
      * @param baseSupplier 供应商信息
      */
-    int insertBaseSupplier(BaseSupplier baseSupplier);
+    AjaxResult insertBaseSupplier(BaseSupplier baseSupplier);
 
     /**
      * 删除供应商
+     *
      * @param id 供应商ID
      */
     int deleteBaseSupplier(int id);
 
     /**
      * 修改供应商
+     *
      * @param baseSupplier 供应商信息
      */
     int updateBaseSupplier(BaseSupplier baseSupplier);
 
     /**
      * 查询供应商
+     *
      * @param baseSupplier 供应商信息
      */
     List<BaseSupplier> selectBaseSupplier(BaseSupplier baseSupplier);
+
+    /**
+     * 导入供应商信息
+     *
+     * @param suppliers
+     * @param loginUser
+     * @return
+     */
+    String importBaseSuppliers(List<BaseSupplierVo> suppliers, LoginUser loginUser);
 }

+ 170 - 26
purchase-system/src/main/java/com/ozs/base/service/impl/BaseExpertServiceImpl.java

@@ -2,20 +2,22 @@ package com.ozs.base.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ozs.base.domain.BaseExpert;
+import com.ozs.base.domain.BaseProfessional;
 import com.ozs.base.domain.BaseUnitInformation;
 import com.ozs.base.domain.vo.BaseExpertVo;
 import com.ozs.base.mapper.BaseExpertMapper;
 import com.ozs.base.service.BaseExpertService;
+import com.ozs.base.service.BaseProfessionalService;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.*;
+import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.PageUtils;
 import com.ozs.common.utils.SecurityUtils;
 import com.ozs.common.utils.StringUtils;
@@ -26,12 +28,15 @@ import com.ozs.pm.doman.vo.responseVo.PmDemandResVo;
 import com.ozs.pm.mapper.PmDemandExpertRefMapper;
 import com.ozs.pm.service.IPmDemandService;
 import com.ozs.pm.service.PmDemandExpertRefService;
+import com.ozs.system.domain.vo.SysRegionVO;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
 import com.ozs.system.service.ISysDictTypeService;
+import com.ozs.system.service.SysRegionService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import java.util.*;
@@ -54,6 +59,10 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
     private ISysDictDataService dictDataService;
     @Autowired
     private ISysDictTypeService dictTypeService;
+    @Autowired
+    private BaseProfessionalService baseProfessionalService;
+    @Autowired
+    private SysRegionService sysRegionService;
 
     @Override
     public int insertExpert(BaseExpertVo baseExpertVo) {
@@ -63,7 +72,6 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
             if (baseUnitInformationList.size() <= 0) {
                 BaseUnitInformation baseUnitInformation = new BaseUnitInformation();
                 baseUnitInformation.setUnitName(baseExpertVo.getUnitInformation());
-                baseUnitInformation.setVarietyPurchase(baseExpertVo.getVarietyPurchase());
                 baseUnitInformation.setCreated(baseExpertVo.getExpertName());
                 baseUnitInformation.setCreateTime(new Date());
                 Integer i = baseExpertMapper.insertBaseUnitInformation(baseUnitInformation);
@@ -131,22 +139,7 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
                     if (!ObjectUtils.isEmpty(map)) {
                         // 专家名称
                         String expertNameStr = map.get("expertName");
-                        // 采购品种
-                        String varietyPurchaseStr = map.get("varietyPurchase");
-                        List<String> list = Arrays.stream(varietyPurchaseStr.split(",")).map(s -> String.valueOf(s.trim())).collect(Collectors.toList());
-                        List<String> newList = method(list);
-                        // 查询采购品种 中文
-                        String varietyPurchaseName = "";
-                        for (String i : newList) {
-                            String name = PurchaseType.getCodeToInfo(i);
-                            if ("".equals(varietyPurchaseName)) {
-                                varietyPurchaseName = name;
-                            } else {
-                                varietyPurchaseName = "," + name;
-                            }
-                        }
                         pmDemandResVo.setExpertNameStr(expertNameStr);
-                        pmDemandResVo.setVarietyPurchaseStr(varietyPurchaseName);
                     }
                     pmDemandResVo.setAccessTime(accessTime);
                 }
@@ -187,18 +180,169 @@ public class BaseExpertServiceImpl extends ServiceImpl<BaseExpertMapper, BaseExp
         return baseUnitInformationList;
     }
 
-    /**
-     * 根据采购品种查询
-     *
-     * @param unitInformation
-     * @return
-     */
+    @Transactional
     @Override
-    public List<BaseUnitInformation> getBaseUnitInformationListBC(BaseUnitInformation unitInformation) {
-        List<BaseUnitInformation> baseUnitInformationList = baseExpertMapper.selectByUnitInformationBC(unitInformation);
-        return baseUnitInformationList;
+    public String importBaseExpert(List<BaseExpertVo> expertVos, LoginUser loginUser) {
+        //获取字典数据
+        HashMap<String, HashMap<String, String>> planEnums = dictTypeService.getAbouteExpertEnums();
+        //专家类型
+        HashMap<String, String> expertTypeMap = planEnums.get("expertTypes");
+        //职称
+        HashMap<String, String> professionalTitleMap = planEnums.get("professionalTitles");
+
+        if (ObjectUtils.isEmpty(expertVos) || expertVos.size() < 1) {
+            throw new ServiceException("导入专家信息不能为空!");
+        }
+        //转实体类
+        List<BaseExpert> experts = new ArrayList<>();
+        for (BaseExpertVo expertVo : expertVos) {
+            BaseExpert expert = new BaseExpert();
+            BeanUtils.copyProperties(expertVo, expert);
+            expert.setMajorType(expertVo.getMajorTypeName());
+            experts.add(expert);
+        }
+        int successNum = 0;
+        int failureNum = 0;
+        StringBuilder successMsg = new StringBuilder();
+        StringBuilder failureMsg = new StringBuilder();
+        ////deptService
+        for (BaseExpert expert : experts) {
+            try {
+                //专家类型,专家状态
+                if (!StringUtils.isEmpty(expertTypeMap.get(expert.getExpertType()))) {
+                    expert.setExpertType(expertTypeMap.get(expert.getExpertType()));
+                    expert.setStatus("0");
+                } else {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、专家类型“" + expert.getExpertType() + "”不存在");
+                }
+                //查询身份证号是否已使用
+                LambdaQueryWrapper<BaseExpert> baseExpertWrapper = new LambdaQueryWrapper<>();
+                baseExpertWrapper.eq(BaseExpert::getIdNumber, expert.getIdNumber());
+                List<BaseExpert> idNumberList = baseExpertMapper.selectList(baseExpertWrapper);
+                //身份证号已存在的不可添加
+                if (!ObjectUtils.isEmpty(idNumberList)) {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、身份证号“" + expert.getExpertType() + "”已被使用");
+                }
+                //专业类型
+                LambdaQueryWrapper<BaseProfessional> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(BaseProfessional::getProfessionalName, expert.getMajorType());
+                List<BaseProfessional> list = baseProfessionalService.list(wrapper);
+                //专家信息中存的是专业的code
+                if (!ObjectUtils.isEmpty(list)) {
+                    expert.setMajorType(list.get(0).getProfessionalCode());
+                } else {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、专业类型“" + expert.getExpertType() + "”不存在");
+                }
+                //职称
+                if (!StringUtils.isEmpty(professionalTitleMap.get(expert.getProfessionalTitle()))) {
+                    expert.setProfessionalTitle(professionalTitleMap.get(expert.getProfessionalTitle()));
+                } else {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、职称“" + expert.getProfessionalTitle() + "”不存在");
+                }
+                if (StringUtils.isNotNull(expert.getUnitInformation())) {
+                    List<BaseUnitInformation> baseUnitInformationList = baseExpertMapper.selectByUnitInformation(expert.getUnitInformation());
+                    if (baseUnitInformationList.size() <= 0) {
+                        BaseUnitInformation baseUnitInformation = new BaseUnitInformation();
+                        baseUnitInformation.setUnitName(expert.getUnitInformation());
+                        baseUnitInformation.setCreated(loginUser.getUserId().toString());
+                        baseUnitInformation.setCreateTime(new Date());
+                        Integer i = baseExpertMapper.insertBaseUnitInformation(baseUnitInformation);
+                        expert.setUnitInformation(i + "");
+                    }
+                }
+                //地区
+                if (StringUtils.isEmpty(expert.getLocalArea()) || expert.getLocalArea().split("/").length < 2) {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、地区“" + expert.getLocalArea() + "”不存在");
+                } else {
+                    //大部分地区是三级
+                    String[] localAreas = expert.getLocalArea().split("/");
+                    if (localAreas.length == 3) {
+                        List<SysRegionVO> sysRegionVO = sysRegionService.selectInfoByName(localAreas[0]);
+                        List<SysRegionVO> sysRegionVO1 = sysRegionService.selectInfoByName(localAreas[1]);
+                        List<SysRegionVO> sysRegionVO2 = sysRegionService.selectInfoByName(localAreas[2]);
+                        if (ObjectUtils.isEmpty(sysRegionVO2) || ObjectUtils.isEmpty(sysRegionVO1) || ObjectUtils.isEmpty(sysRegionVO)) {
+                            ++failureNum;
+                            failureMsg.append(failureNum + "、地区“" + expert.getLocalArea() + "”信息有误");
+                        } else {
+                            //是否成立上下级关系
+                            boolean isLea = false;
+                            for (SysRegionVO vo : sysRegionVO2) {
+                                for (SysRegionVO regionVO : sysRegionVO1) {
+                                    if (vo.getPid().equals(regionVO.getId())) {
+                                        for (SysRegionVO sysRegionVO3 : sysRegionVO) {
+                                            if (regionVO.getPid().equals(sysRegionVO3.getId())) {
+                                                //保存行政编码
+                                                isLea = true;
+                                                expert.setLocalArea(vo.getCode());
+                                                break;
+                                            }
+                                        }
+                                        break;
+                                    }
+                                }
+                            }
+                            if (isLea == false) {
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、地区“" + expert.getLocalArea() + "”非上下级关系");
+                            }
+                        }
+
+                        //香港等少数地区是二级
+                    } else if (localAreas.length == 2) {
+                        List<SysRegionVO> sysRegionVO = sysRegionService.selectInfoByName(localAreas[0]);
+                        List<SysRegionVO> sysRegionVO1 = sysRegionService.selectInfoByName(localAreas[1]);
+                        if (ObjectUtils.isEmpty(sysRegionVO1) || ObjectUtils.isEmpty(sysRegionVO)) {
+                            ++failureNum;
+                            failureMsg.append(failureNum + "、地区“" + expert.getLocalArea() + "”信息有误");
+                        } else {
+                            //是否成立上下级关系
+                            boolean isLea = false;
+                            for (SysRegionVO regionVO : sysRegionVO) {
+                                for (SysRegionVO vo : sysRegionVO1) {
+                                    if (vo.getPid().equals(regionVO.getId())) {
+                                        //保存行政编码
+                                        isLea = true;
+                                        expert.setLocalArea(vo.getCode());
+                                        break;
+                                    }
+                                }
+                            }
+                            if (isLea == false) {
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、地区“" + expert.getLocalArea() + "”非上下级关系");
+                            }
+                        }
+                    }
+                }
+                expert.setCreated(String.valueOf(loginUser.getUserId()));
+                expert.setCreateTime(new Date());
+                expert.setUpdated(String.valueOf(loginUser.getUserId()));
+                expert.setUpdateTime(new Date());
+                baseExpertMapper.insert(expert);
+                successNum++;
+                successMsg.append(successNum + "、专家【" + expert.getExpertName() + "】导入成功!");
+            } catch (Exception exc) {
+                failureNum++;
+                String msg = successNum + "、专家【" + expert.getExpertName() + "】导入失败";
+                failureMsg.append(msg + exc.getMessage());
+                log.error(msg, exc);
+            }
+        }
+        if (failureNum > 0) {
+            failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确:");
+            throw new ServiceException(failureMsg.toString());
+        } else {
+            successMsg.insert(0, "导入成功!共 " + successNum + " 条。");
+        }
+        return successMsg.toString();
     }
 
+
     private List<PmDemandResVo> changTo(List<PmDemand> pmDemandList) {
         List<PmDemandResVo> pmDemandResponseVoList = new ArrayList<>();
         //获取字典数据

+ 66 - 4
purchase-system/src/main/java/com/ozs/base/service/impl/BaseSupplierServiceImpl.java

@@ -1,14 +1,22 @@
 package com.ozs.base.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ozs.base.domain.BaseExpert;
 import com.ozs.base.domain.BaseSupplier;
-import com.ozs.base.mapper.BaseExpertMapper;
+import com.ozs.base.domain.vo.BaseSupplierVo;
 import com.ozs.base.mapper.BaseSupplierMapper;
 import com.ozs.base.service.BaseSupplierService;
+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.bean.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 
+import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -23,8 +31,16 @@ public class BaseSupplierServiceImpl extends ServiceImpl<BaseSupplierMapper, Bas
     private BaseSupplierMapper baseSupplierMapper;
 
     @Override
-    public int insertBaseSupplier(BaseSupplier baseSupplier) {
-        return baseSupplierMapper.insertBaseSupplier(baseSupplier);
+    public AjaxResult insertBaseSupplier(BaseSupplier baseSupplier) {
+        //查询供应商名称是否已使用
+        LambdaQueryWrapper<BaseSupplier> baseSupplierWrapper = new LambdaQueryWrapper<>();
+        baseSupplierWrapper.eq(BaseSupplier::getSupplierName, baseSupplier.getSupplierName());
+        List<BaseSupplier> supplierNameList = baseSupplierMapper.selectList(baseSupplierWrapper);
+        //供应商名称已存在的不可添加
+        if (!ObjectUtils.isEmpty(supplierNameList)) {
+            return AjaxResult.error("供应商名称“" + baseSupplier.getSupplierName() + "”已被使用");
+        }
+        return AjaxResult.success(baseSupplierMapper.insertBaseSupplier(baseSupplier));
     }
 
     @Override
@@ -41,4 +57,50 @@ public class BaseSupplierServiceImpl extends ServiceImpl<BaseSupplierMapper, Bas
     public List<BaseSupplier> selectBaseSupplier(BaseSupplier baseSupplier) {
         return baseSupplierMapper.selectBaseSupplier(baseSupplier);
     }
+
+    @Transactional
+    @Override
+    public String importBaseSuppliers(List<BaseSupplierVo> supplierVos, LoginUser loginUser) {
+        //操作成功和失败的标签
+        int successNum = 0;
+        int failureNum = 0;
+        StringBuilder successMsg = new StringBuilder();
+        StringBuilder failureMsg = new StringBuilder();
+        //转实体类
+        List<BaseSupplier> suppliers = new ArrayList<>();
+        for (BaseSupplierVo supplierVo : supplierVos) {
+            BaseSupplier supplier = new BaseSupplier();
+            BeanUtils.copyProperties(supplierVo, supplier);
+            //默认白名单
+            supplier.setSupplierState("1");
+            suppliers.add(supplier);
+        }
+        for (BaseSupplier supplier : suppliers) {
+            //查询供应商名称是否已使用
+            LambdaQueryWrapper<BaseSupplier> baseSupplierWrapper = new LambdaQueryWrapper<>();
+            baseSupplierWrapper.eq(BaseSupplier::getSupplierName, supplier.getSupplierName());
+            List<BaseSupplier> supplierNameList = baseSupplierMapper.selectList(baseSupplierWrapper);
+            //供应商名称已存在的不可添加
+            if (!ObjectUtils.isEmpty(supplierNameList)) {
+                ++failureNum;
+                failureMsg.append(failureNum + "、供应商名称“" + supplier.getSupplierName() + "”已被使用");
+            }
+            //是否预先采购
+            supplier.setSupplierAdvancePurchase(supplier.getSupplierAdvancePurchase().equals("是") ? "1" : "0");
+            supplier.setCreated(String.valueOf(loginUser.getUserId()));
+            supplier.setCreateTime(new Date());
+            supplier.setUpdated(String.valueOf(loginUser.getUserId()));
+            supplier.setUpdateTime(new Date());
+            baseSupplierMapper.insert(supplier);
+            successNum++;
+            successMsg.append(successNum + "、供应商【" + supplier.getSupplierName() + "】导入成功!");
+        }
+        if (failureNum > 0) {
+            failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确:");
+            throw new ServiceException(failureMsg.toString());
+        } else {
+            successMsg.insert(0, "导入成功!共 " + successNum + " 条。");
+        }
+        return successMsg.toString();
+    }
 }

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

@@ -92,7 +92,7 @@ public interface PlanYearsService extends IService<PlanYears> {
      *
      * @return 结果
      */
-    public String importPlanYears(List<PlanYearsStandardVo> planYears, boolean isUpdateSupport, LoginUser loginUser);
+    public String importPlanYears(List<PlanYearsStandardVo> planYears, LoginUser loginUser);
 
     /**
      * 提交年度计划

+ 1 - 6
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -206,11 +206,6 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         return planYearsList;
     }
 
-    public static void main(String[] args) {
-        int i = (int) Math.ceil(6.66);
-        System.err.println(i);
-    }
-
     @Override
     public AjaxResult deletePlanYearsByIds(Long[] planIds) {
         planYearsMapper.deletePlanYearsByIds(planIds);
@@ -357,7 +352,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
 
     @Transactional
     @Override
-    public String importPlanYears(List<PlanYearsStandardVo> planYears, boolean isUpdateSupport, LoginUser loginUser) {
+    public String importPlanYears(List<PlanYearsStandardVo> planYears, LoginUser loginUser) {
         //获取字典数据
         HashMap<String, HashMap<String, String>> planEnums = dictTypeService.getAboutEnums();
         //项目属性

+ 0 - 4
purchase-system/src/main/java/com/ozs/pm/doman/vo/responseVo/PmDemandResVo.java

@@ -325,10 +325,6 @@ public class PmDemandResVo extends BaseEntity
      * 抽取专家名称
      */
     private String expertNameStr;
-    /**
-     * 抽取专家的采购品种
-     */
-    private String varietyPurchaseStr;
     /**
      * 抽取时间
      */

+ 1 - 8
purchase-system/src/main/java/com/ozs/pm/service/impl/PmDemandServiceImpl.java

@@ -1266,11 +1266,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                     baseExpert.setStatus(NameListType.WHITE.getCode());
                 }
             }
-            if (!ObjectUtils.isEmpty(baseExpert.getVarietyPurchase()) && !baseExpert.getVarietyPurchase().contains(pmDemand.getProjectType())) {
-                throw new Exception("该专家(身份证号:" + baseExpert.getIdNumber() + ")所属采购品种和项目类型不匹配");
-            } else {
-                baseExpert.setVarietyPurchase(pmDemand.getProjectType());
-            }
 
             if (ObjectUtils.isEmpty(baseExpert.getCreated())) {
                 baseExpert.setCreated(pmBaseExpertFillReqVo.getCreateBy());
@@ -1313,7 +1308,6 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
                     if (baseUnitInformationList.size() <= 0) {
                         BaseUnitInformation baseUnitInformation = new BaseUnitInformation();
                         baseUnitInformation.setUnitName(baseExpert.getUnitInformation());
-                        baseUnitInformation.setVarietyPurchase(baseExpert.getVarietyPurchase());
                         baseUnitInformation.setCreated(baseExpert.getExpertName());
                         baseUnitInformation.setCreateTime(new Date());
                         Integer i = baseExpertMapper.insertBaseUnitInformation(baseUnitInformation);
@@ -1395,8 +1389,7 @@ public class PmDemandServiceImpl extends ServiceImpl<PmDemandMapper, PmDemand> i
 
         //从专家库中查询符合项目类型的以及是白名单的全部列表
         LambdaQueryWrapper<BaseExpert> lw = new LambdaQueryWrapper<>();
-        lw.eq(BaseExpert::getVarietyPurchase, pmDemand.getProjectType())
-                .eq(BaseExpert::getStatus, NameListType.WHITE.getCode())
+        lw.eq(BaseExpert::getStatus, NameListType.WHITE.getCode())
                 .notIn(!ObjectUtils.isEmpty(needAvoidUnitList), BaseExpert::getUnitInformation, needAvoidUnitList)
                 .in(!ObjectUtils.isEmpty(sysRegionCodeList), BaseExpert::getLocalArea, sysRegionCodeList); //地域
 

+ 1 - 1
purchase-system/src/main/java/com/ozs/system/domain/vo/SysRegionVO.java

@@ -30,7 +30,7 @@ public class SysRegionVO implements Serializable {
     private String administrativeDivision;
 
 
-    @ApiModelProperty("code")
+    @ApiModelProperty("code(行政区划编码)")
     private String code;
 
 

+ 2 - 0
purchase-system/src/main/java/com/ozs/system/mapper/SysRegionMapper.java

@@ -16,4 +16,6 @@ public interface SysRegionMapper extends BaseMapper<SysRegion> {
 
 
     SysRegionVO selectInfoByCode(@Param("code") String code);
+
+    List<SysRegionVO> selectInfoByName(@Param("name") String name);
 }

+ 7 - 0
purchase-system/src/main/java/com/ozs/system/service/ISysDictTypeService.java

@@ -104,4 +104,11 @@ public interface ISysDictTypeService {
      * @return 年度计划信息中的枚举类信息(下拉框数据)
      */
     public HashMap<String, HashMap<String, String>> getAboutEnums();
+
+    /**
+     * 导入专家信息时,需要的字段数据
+     *
+     * @return
+     */
+    public HashMap<String, HashMap<String, String>> getAbouteExpertEnums();
 }

+ 2 - 0
purchase-system/src/main/java/com/ozs/system/service/ISysRegionService.java

@@ -16,4 +16,6 @@ public interface ISysRegionService extends IService<SysRegion> {
     List<SysRegionVO> findChildDivisions(String pCode);
 
     SysRegionVO selectInfoByCode(String code);
+
+    List<SysRegionVO> selectInfoByName(String name);
 }

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

@@ -141,4 +141,8 @@ public class SysRegionService {
     public SysRegionVO selectInfoByCode(String code) {
         return gtAdministrativeDivisionService.selectInfoByCode(code);
     }
+
+    public List<SysRegionVO> selectInfoByName(String name) {
+        return gtAdministrativeDivisionService.selectInfoByName(name);
+    }
 }

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

@@ -264,4 +264,26 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService {
         hashMap.put("planPurchaseModes", planPurchaseModesMap);
         return hashMap;
     }
+
+    @Override
+    public HashMap<String, HashMap<String, String>> getAbouteExpertEnums() {
+        HashMap<String, HashMap<String, String>> hashMap = new HashMap<>();
+        //专家类型
+        HashMap<String, String> expertTypeMap = new LinkedHashMap<>();
+        //职称
+        HashMap<String, String> professionalTitleMap = new LinkedHashMap<>();
+        //专家类型
+        List<SysDictData> data = dictDataMapper.selectDictDataByType(Constants.EXPERT_TYPE);
+        //职称
+        List<SysDictData> data2 = dictDataMapper.selectDictDataByType(Constants.PROFESSIONAL_TITLE);
+        for (SysDictData dictData : data) {
+            expertTypeMap.put(dictData.getDictLabel(), dictData.getDictValue());
+        }
+        for (SysDictData dictData : data2) {
+            professionalTitleMap.put(dictData.getDictLabel(), dictData.getDictValue());
+        }
+        hashMap.put("expertTypes", expertTypeMap);
+        hashMap.put("professionalTitles", professionalTitleMap);
+        return hashMap;
+    }
 }

+ 5 - 0
purchase-system/src/main/java/com/ozs/system/service/impl/SysRegionServiceImpl.java

@@ -20,4 +20,9 @@ public class SysRegionServiceImpl extends ServiceImpl<SysRegionMapper, SysRegion
     public SysRegionVO selectInfoByCode(String code) {
         return this.baseMapper.selectInfoByCode(code);
     }
+
+    @Override
+    public List<SysRegionVO> selectInfoByName(String name) {
+        return this.baseMapper.selectInfoByName(name);
+    }
 }

+ 1 - 23
purchase-system/src/main/resources/mapper/base/BaseExpertMapper.xml

@@ -12,7 +12,6 @@
         <result property="majorType" column="major_type"/>
         <result property="unitInformation" column="unit_information"/>
         <result property="majorGrade" column="major_grade"/>
-        <result property="varietyPurchase" column="variety_purchase"/>
         <result property="professionalTitle" column="professional_title"/>
         <result property="status" column="status"/>
         <result property="localArea" column="local_area"/>
@@ -50,9 +49,6 @@
             <if test="majorGrade != null and majorGrade != '' ">
                 major_grade,
             </if>
-            <if test="varietyPurchase != null and varietyPurchase != '' ">
-                variety_purchase,
-            </if>
             <if test="professionalTitle != null and professionalTitle != ''">
                 professional_title,
             </if>
@@ -97,9 +93,6 @@
             <if test="majorGrade != null and majorGrade != ''">
                 #{majorGrade},
             </if>
-            <if test="varietyPurchase != null and varietyPurchase != ''">
-                #{varietyPurchase},
-            </if>
             <if test="professionalTitle != null and professionalTitle != ''">
                 #{professionalTitle},
             </if>
@@ -138,9 +131,6 @@
             <if test="unitName != null and unitName != '' ">
                 unit_name,
             </if>
-            <if test="varietyPurchase != null and varietyPurchase != '' ">
-                variety_purchase,
-            </if>
             <if test="created != null and created != '' ">
                 created,
             </if>
@@ -152,9 +142,6 @@
             <if test="unitName != null and unitName != ''">
                 #{unitName},
             </if>
-            <if test="varietyPurchase != null and varietyPurchase != '' ">
-                #{varietyPurchase},
-            </if>
             <if test="created != null and created != ''">
                 #{created},
             </if>
@@ -169,7 +156,7 @@
     </select>
 
     <select id="getExpertNameList" resultType="java.util.Map" parameterType="java.util.List">
-        select GROUP_CONCAT(variety_purchase) varietyPurchase, GROUP_CONCAT(expert_name) expertName from base_expert
+        select GROUP_CONCAT(expert_name) expertName from base_expert
         where id in
         <foreach collection="expertList" item="id" open="(" separator="," close=")">
             #{id}
@@ -177,13 +164,4 @@
 
     </select>
 
-    <select id="selectByUnitInformationBC" resultType="com.ozs.base.domain.BaseUnitInformation"
-            parameterType="com.ozs.base.domain.BaseUnitInformation">
-        select * from base_unit_information
-        <where>
-            <if test="varietyPurchase != null and varietyPurchase != ''">
-                variety_purchase = #{varietyPurchase}
-            </if>
-        </where>
-    </select>
 </mapper>

+ 1 - 8
purchase-system/src/main/resources/mapper/base/BaseSupplierMapper.xml

@@ -8,7 +8,6 @@
         <result property="supplierName" column="supplier_name"/>
         <result property="supplierResponsiblePerson" column="supplier_responsible_person"/>
         <result property="supplierAddress" column="supplier_address"/>
-        <result property="supplierType" column="supplier_type"/>
         <result property="supplierState" column="supplier_state"/>
         <result property="supplierAdvancePurchase" column="supplier_advance_purchase"/>
         <result property="postalCode" column="postal_code"/>
@@ -29,7 +28,6 @@
             <if test="supplierName != null">supplier_name,</if>
             <if test="supplierResponsiblePerson != null">supplier_responsible_person,</if>
             <if test="supplierAddress != null">supplier_address,</if>
-            <if test="supplierType != null">supplier_type,</if>
             <if test="supplierState != null">supplier_state,</if>
             <if test="supplierAdvancePurchase != null">supplier_advance_purchase,</if>
             <if test="postalCode != null">postal_code,</if>
@@ -47,7 +45,6 @@
             <if test="supplierName != null">#{supplierName},</if>
             <if test="supplierResponsiblePerson != null">#{supplierResponsiblePerson},</if>
             <if test="supplierAddress != null">#{supplierAddress},</if>
-            <if test="supplierType != null">#{supplierType},</if>
             <if test="supplierState != null">#{supplierState},</if>
             <if test="supplierAdvancePurchase != null">#{supplierAdvancePurchase},</if>
             <if test="postalCode != null">#{postalCode},</if>
@@ -75,7 +72,6 @@
             <if test="supplierName != null">supplier_name = #{supplierName},</if>
             <if test="supplierResponsiblePerson != null">supplier_responsible_person = #{supplierResponsiblePerson},</if>
             <if test="supplierAddress != null">supplier_address = #{supplierAddress},</if>
-            <if test="supplierType != null">supplier_type = #{supplierType},</if>
             <if test="supplierState != null">supplier_state = #{supplierState},</if>
             <if test="supplierAdvancePurchase != null">supplier_advance_purchase = #{supplierAdvancePurchase},</if>
             <if test="postalCode != null">postal_code = #{postalCode},</if>
@@ -107,9 +103,6 @@
             <if test="supplierAddress != null and supplierAddress != ''">
                 and supplier_address like '% +' #{supplierAddress} '+ %'
             </if>
-            <if test="supplierType != null and supplierType != ''">
-                and supplier_type = #{supplierType}
-            </if>
             <if test="supplierState != null and supplierState != ''">
                 and supplier_state = #{supplierState}
             </if>
@@ -148,4 +141,4 @@
             </if>
         </where>
     </select>
-</mapper>
+</mapper>

+ 11 - 5
purchase-system/src/main/resources/mapper/system/SysRegionMapper.xml

@@ -3,11 +3,11 @@
 <mapper namespace="com.ozs.system.mapper.SysRegionMapper">
 
     <resultMap type="com.ozs.system.domain.vo.SysRegionVO" id="divisionList">
-        <id property="id" column="id" />
-        <result property="administrativeDivision" column="administrative_division" />
-        <result property="pid" column="pid" />
-        <result property="code" column="code" />
-        <result property="level" column="level" />
+        <id property="id" column="id"/>
+        <result property="administrativeDivision" column="administrative_division"/>
+        <result property="pid" column="pid"/>
+        <result property="code" column="code"/>
+        <result property="level" column="level"/>
         <collection property="children"
                     ofType="com.ozs.system.domain.vo.SysRegionVO"
                     select="findChildDivisions"
@@ -26,4 +26,10 @@
         WHERE code = #{code}
     </select>
 
+    <select id="selectInfoByName" resultType="com.ozs.system.domain.vo.SysRegionVO" parameterType="java.lang.String">
+        SELECT m.id, m.administrative_division as administrativeDivision, m.pid, m.code, m.level
+        FROM sys_region m
+        WHERE m.administrative_division = #{name}
+    </select>
+
 </mapper>