فهرست منبع

1、新增企业信息录入及其他信息录入;2、人员信息存储;3、企业与人员信息关联关系存储。

guanzi 3 سال پیش
والد
کامیت
d0c9020e12
17فایلهای تغییر یافته به همراه396 افزوده شده و 112 حذف شده
  1. 39 0
      saas-backen/src/main/java/com/pavis/app/saasbacken/common/IgnoreUtils.java
  2. 38 4
      saas-backen/src/main/java/com/pavis/app/saasbacken/controller/DataEntryController.java
  3. 2 0
      saas-backen/src/main/java/com/pavis/app/saasbacken/dao/EnterpriseOtherInfoMapper.java
  4. 2 0
      saas-backen/src/main/java/com/pavis/app/saasbacken/entity/Dic.java
  5. 18 15
      saas-backen/src/main/java/com/pavis/app/saasbacken/entity/EnterpriseBasicInfo.java
  6. 13 11
      saas-backen/src/main/java/com/pavis/app/saasbacken/entity/EnterpriseOtherInfo.java
  7. 0 1
      saas-backen/src/main/java/com/pavis/app/saasbacken/entity/HighSelfReport.java
  8. 9 12
      saas-backen/src/main/java/com/pavis/app/saasbacken/entity/PersonalInfo.java
  9. 4 1
      saas-backen/src/main/java/com/pavis/app/saasbacken/form/BasicInfo.java
  10. 103 0
      saas-backen/src/main/java/com/pavis/app/saasbacken/form/OrgInfo.java
  11. 8 0
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/EnterpriseOtherInfoService.java
  12. 16 15
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/CheckModuleServiceImpl.java
  13. 89 42
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/EnterpriseBasicInfoServiceImpl.java
  14. 35 0
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/EnterpriseOtherInfoServiceImpl.java
  15. 9 3
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/OrgRelPersonalServiceImpl.java
  16. 8 6
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/PersonalInfoServiceImpl.java
  17. 3 2
      saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/other/EsServiceImpl.java

+ 39 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/common/IgnoreUtils.java

@@ -0,0 +1,39 @@
+package com.pavis.app.saasbacken.common;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.BeanWrapper;
+import org.springframework.beans.BeanWrapperImpl;
+
+import java.beans.PropertyDescriptor;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * @program: push-saas
+ * @description:
+ * @author: Guanzi
+ * @created: 2021/12/02 09:40
+ */
+public class IgnoreUtils {
+
+    /**
+     * 忽略空值。
+     * @param source
+     * @return
+     */
+    public static String[] getNullPropertyNames(Object source) {
+        BeanWrapper src = new BeanWrapperImpl(source);
+        PropertyDescriptor[] pds = src.getPropertyDescriptors();
+        Set<String> emptyNames = new HashSet<>();
+        for (PropertyDescriptor pd : pds) {
+            Object srcValue = src.getPropertyValue(pd.getName());
+            if (srcValue == null)
+                emptyNames.add(pd.getName());
+        }
+        return emptyNames.toArray(new String[emptyNames.size()]);
+    }
+
+    public static void copyPropertiesIgnoreNull(Object src, Object target){
+        BeanUtils.copyProperties(src, target, getNullPropertyNames(src));
+    }
+}

+ 38 - 4
saas-backen/src/main/java/com/pavis/app/saasbacken/controller/DataEntryController.java

@@ -2,8 +2,10 @@ package com.pavis.app.saasbacken.controller;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.pavis.app.saasbacken.aop.PreSaveLog;
 import com.pavis.app.saasbacken.aop.PreSaveLog;
+import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.pavis.app.saasbacken.exception.GlobalExceptionHandler;
 import com.pavis.app.saasbacken.exception.GlobalExceptionHandler;
 import com.pavis.app.saasbacken.form.BasicInfo;
 import com.pavis.app.saasbacken.form.BasicInfo;
+import com.pavis.app.saasbacken.form.OrgInfo;
 import com.pavis.app.saasbacken.http.ResultBody;
 import com.pavis.app.saasbacken.http.ResultBody;
 import com.pavis.app.saasbacken.service.EnterpriseBasicInfoService;
 import com.pavis.app.saasbacken.service.EnterpriseBasicInfoService;
 import com.pavis.app.saasbacken.utils.HttpContextUtils;
 import com.pavis.app.saasbacken.utils.HttpContextUtils;
@@ -54,10 +56,10 @@ public class DataEntryController {
     }
     }
 
 
     // 使用object接收。
     // 使用object接收。
-    @PreSaveLog("data信息")
-    @ApiOperation(value = "data信息接口", notes = "data信息接口")
-    @PostMapping("/data")
-    public ResultBody data(@RequestBody List<BasicInfo> basicInfo) {
+    @PreSaveLog("data1信息")
+    @ApiOperation(value = "data1信息接口", notes = "data1信息接口")
+    @PostMapping("/data1")
+    public ResultBody data1(@RequestBody List<BasicInfo> basicInfo) {
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
         String uri = request.getRequestURI();
         String uri = request.getRequestURI();
         try {
         try {
@@ -67,4 +69,36 @@ public class DataEntryController {
             return GlobalExceptionHandler.resolveException(e, uri);
             return GlobalExceptionHandler.resolveException(e, uri);
         }
         }
     }
     }
+
+    // 使用object接收。
+    @PreSaveLog("data2信息")
+    @ApiOperation(value = "data2信息接口", notes = "data2信息接口")
+    @PostMapping("/data2")
+    public ResultBody data2(@RequestBody List<EnterpriseOtherInfo> otherInfos) {
+        HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+        String uri = request.getRequestURI();
+        try {
+            log.info("orgAdd:{}", JSON.toJSONString(otherInfos));
+            return ResultBody.ok().path(uri).data(null);
+        } catch (Exception e) {
+            return GlobalExceptionHandler.resolveException(e, uri);
+        }
+    }
+
+    // 使用object接收。
+    @PreSaveLog("data3信息")
+    @ApiOperation(value = "data3信息接口", notes = "data3信息接口")
+    @PostMapping("/data3")
+    public ResultBody data3(@RequestBody List<OrgInfo> orgInfos) {
+        OrgInfo orgInfo = OrgInfo.builder()
+                .build();
+        HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
+        String uri = request.getRequestURI();
+        try {
+            log.info("orgAdd:{}", JSON.toJSONString(orgInfos));
+            return ResultBody.ok().path(uri).data(null);
+        } catch (Exception e) {
+            return GlobalExceptionHandler.resolveException(e, uri);
+        }
+    }
 }
 }

+ 2 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/dao/EnterpriseOtherInfoMapper.java

@@ -2,6 +2,7 @@ package com.pavis.app.saasbacken.dao;
 
 
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Component;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @author guan
  * @author guan
  * @since 2021-10-29
  * @since 2021-10-29
  */
  */
+@Component
 public interface EnterpriseOtherInfoMapper extends BaseMapper<EnterpriseOtherInfo> {
 public interface EnterpriseOtherInfoMapper extends BaseMapper<EnterpriseOtherInfo> {
 
 
 }
 }

+ 2 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/entity/Dic.java

@@ -24,6 +24,8 @@ import java.util.Date;
 @TableName("dic")
 @TableName("dic")
 @ApiModel(value="Dic对象", description="")
 @ApiModel(value="Dic对象", description="")
 @Builder
 @Builder
+@Getter
+@Setter
 @NoArgsConstructor
 @NoArgsConstructor
 @AllArgsConstructor
 @AllArgsConstructor
 public class Dic extends Model<Dic> {
 public class Dic extends Model<Dic> {

+ 18 - 15
saas-backen/src/main/java/com/pavis/app/saasbacken/entity/EnterpriseBasicInfo.java

@@ -1,13 +1,12 @@
 package com.pavis.app.saasbacken.entity;
 package com.pavis.app.saasbacken.entity;
 
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.annotation.*;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
 import lombok.*;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
+import lombok.experimental.SuperBuilder;
 
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
 
 
 /**
 /**
@@ -23,18 +22,25 @@ import java.util.Date;
 @Accessors(chain = true)
 @Accessors(chain = true)
 @TableName("enterprise_basic_info")
 @TableName("enterprise_basic_info")
 @ApiModel(value="EnterpriseBasicInfo对象", description="")
 @ApiModel(value="EnterpriseBasicInfo对象", description="")
+@SuperBuilder
 @Getter
 @Getter
 @Setter
 @Setter
 @AllArgsConstructor
 @AllArgsConstructor
 @NoArgsConstructor
 @NoArgsConstructor
-public class EnterpriseBasicInfo extends Model<EnterpriseBasicInfo> {
+public class EnterpriseBasicInfo{
 
 
-    private static final long serialVersionUID = 1L;
+    // private static final long serialVersionUID = 1L;
 
 
     @ApiModelProperty(value = "主键自增id")
     @ApiModelProperty(value = "主键自增id")
-    @TableId(value = "id", type = IdType.INPUT)
+    // @TableId(value = "id", type = IdType.INPUT)
+    // @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    @TableId(value = "id",type = IdType.ASSIGN_UUID)
+    // @GeneratedValue(strategy = GenerationType.AUTO)
     private String id;
     private String id;
 
 
+    @ApiModelProperty(value = "企业logo")
+    private String logo;
+
     // @MyCFBAnnotation(value = "企业名称")
     // @MyCFBAnnotation(value = "企业名称")
     @ApiModelProperty(value = "企业名称")
     @ApiModelProperty(value = "企业名称")
     private String name;
     private String name;
@@ -105,9 +111,6 @@ public class EnterpriseBasicInfo extends Model<EnterpriseBasicInfo> {
     @ApiModelProperty(value = "经营范围")
     @ApiModelProperty(value = "经营范围")
     private String businessScope;
     private String businessScope;
 
 
-    @ApiModelProperty(value = "经营状态")
-    private String businessStatus;
-
     @ApiModelProperty(value = "邮箱")
     @ApiModelProperty(value = "邮箱")
     private String email;
     private String email;
 
 
@@ -156,12 +159,12 @@ public class EnterpriseBasicInfo extends Model<EnterpriseBasicInfo> {
     @ApiModelProperty(value = "科技联络人信息关联id")
     @ApiModelProperty(value = "科技联络人信息关联id")
     private String technicalDirectorId;
     private String technicalDirectorId;
 
 
-    @ApiModelProperty(value = "图片")
-    private String img;
-
     @ApiModelProperty(value = "关键词")
     @ApiModelProperty(value = "关键词")
     private String keywords;
     private String keywords;
 
 
+    @ApiModelProperty(value = "图片")
+    private String img;
+
     @ApiModelProperty(value = "备注")
     @ApiModelProperty(value = "备注")
     private String remark;
     private String remark;
 
 
@@ -216,9 +219,9 @@ public class EnterpriseBasicInfo extends Model<EnterpriseBasicInfo> {
     private Integer tablecode;
     private Integer tablecode;
 
 
 
 
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
+    // @Override
+    // protected Serializable pkVal() {
+    //     return this.id;
+    // }
 
 
 }
 }

+ 13 - 11
saas-backen/src/main/java/com/pavis/app/saasbacken/entity/EnterpriseOtherInfo.java

@@ -4,11 +4,10 @@ import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
+import lombok.*;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
+import lombok.experimental.SuperBuilder;
 
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
 
 
 /**
 /**
@@ -24,12 +23,15 @@ import java.util.Date;
 @Accessors(chain = true)
 @Accessors(chain = true)
 @TableName("enterprise_other_info")
 @TableName("enterprise_other_info")
 @ApiModel(value="EnterpriseOtherInfo对象", description="")
 @ApiModel(value="EnterpriseOtherInfo对象", description="")
-public class EnterpriseOtherInfo extends Model<EnterpriseOtherInfo> {
-
-    private static final long serialVersionUID = 1L;
+@SuperBuilder
+@Getter
+@Setter
+@NoArgsConstructor
+@AllArgsConstructor
+public class EnterpriseOtherInfo{
 
 
     @ApiModelProperty(value = "主键自增id")
     @ApiModelProperty(value = "主键自增id")
-    @TableId(value = "id", type = IdType.INPUT)
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
     private String id;
     private String id;
 
 
     @ApiModelProperty(value = "企业基本信息关联id")
     @ApiModelProperty(value = "企业基本信息关联id")
@@ -164,9 +166,9 @@ public class EnterpriseOtherInfo extends Model<EnterpriseOtherInfo> {
     private Integer tablecode;
     private Integer tablecode;
 
 
 
 
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
+    // @Override
+    // protected Serializable pkVal() {
+    //     return this.id;
+    // }
 
 
 }
 }

+ 0 - 1
saas-backen/src/main/java/com/pavis/app/saasbacken/entity/HighSelfReport.java

@@ -104,7 +104,6 @@ public class HighSelfReport extends Model<HighSelfReport> {
     @TableField(exist = false)
     @TableField(exist = false)
     private Integer tablecode;
     private Integer tablecode;
 
 
-
     @Override
     @Override
     protected Serializable pkVal() {
     protected Serializable pkVal() {
         return this.id;
         return this.id;

+ 9 - 12
saas-backen/src/main/java/com/pavis/app/saasbacken/entity/PersonalInfo.java

@@ -1,13 +1,11 @@
 package com.pavis.app.saasbacken.entity;
 package com.pavis.app.saasbacken.entity;
 
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.annotation.*;
-import com.baomidou.mybatisplus.extension.activerecord.Model;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
 import lombok.*;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
-import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
 
 
 /**
 /**
@@ -28,12 +26,11 @@ import java.util.Date;
 @Setter
 @Setter
 @AllArgsConstructor
 @AllArgsConstructor
 @NoArgsConstructor
 @NoArgsConstructor
-public class PersonalInfo extends Model<PersonalInfo> {
-
-    private static final long serialVersionUID = 1L;
+// public class PersonalInfo extends Model<PersonalInfo> {68256301
+public class PersonalInfo {
 
 
     @ApiModelProperty(value = "主键自增id")
     @ApiModelProperty(value = "主键自增id")
-    @TableId(value = "id", type = IdType.INPUT)
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
     private String id;
     private String id;
 
 
     @ApiModelProperty(value = "企业/高校基本信息关联id")
     @ApiModelProperty(value = "企业/高校基本信息关联id")
@@ -116,7 +113,7 @@ public class PersonalInfo extends Model<PersonalInfo> {
     private String dutyJob;
     private String dutyJob;
 
 
     @ApiModelProperty(value = "联系方式")
     @ApiModelProperty(value = "联系方式")
-    private String contact;
+    private String contacts;
 
 
     @ApiModelProperty(value = "通讯地址")
     @ApiModelProperty(value = "通讯地址")
     private String address;
     private String address;
@@ -198,10 +195,10 @@ public class PersonalInfo extends Model<PersonalInfo> {
     @TableField(exist = false)
     @TableField(exist = false)
     private Integer tablecode;
     private Integer tablecode;
 
 
-
-    @Override
-    protected Serializable pkVal() {
-        return this.id;
-    }
+    //
+    // @Override
+    // protected Serializable pkVal() {
+    //     return this.id;
+    // }
 
 
 }
 }

+ 4 - 1
saas-backen/src/main/java/com/pavis/app/saasbacken/form/BasicInfo.java

@@ -3,6 +3,7 @@ package com.pavis.app.saasbacken.form;
 import com.pavis.app.saasbacken.entity.EnterpriseBasicInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseBasicInfo;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.*;
 import lombok.*;
+import lombok.experimental.SuperBuilder;
 
 
 /**
 /**
  * @program: push-saas
  * @program: push-saas
@@ -10,7 +11,8 @@ import lombok.*;
  * @author: Guanzi
  * @author: Guanzi
  * @created: 2021/11/24 15:50
  * @created: 2021/11/24 15:50
  */
  */
-@Builder
+// @Builder
+@SuperBuilder
 @NoArgsConstructor
 @NoArgsConstructor
 @AllArgsConstructor
 @AllArgsConstructor
 @Getter
 @Getter
@@ -44,4 +46,5 @@ public class BasicInfo extends EnterpriseBasicInfo {
     private String technicalName;
     private String technicalName;
     @ApiModelProperty(value = "科技联络人联系方式")
     @ApiModelProperty(value = "科技联络人联系方式")
     private String technicalWay;
     private String technicalWay;
+
 }
 }

+ 103 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/form/OrgInfo.java

@@ -0,0 +1,103 @@
+package com.pavis.app.saasbacken.form;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import lombok.experimental.SuperBuilder;
+
+/**
+ * @program: push-saas
+ * @description: BasicInfo
+ * @author: Guanzi
+ * @created: 2021/11/24 15:50
+ */
+// @Builder
+@SuperBuilder
+@NoArgsConstructor
+@AllArgsConstructor
+@Getter
+@Setter
+public class OrgInfo extends BasicInfo {
+
+    @ApiModelProperty(value = "企业基本信息关联id")
+    private String enterpriseId;
+
+    @ApiModelProperty(value = "是否国高")
+    private String isNationalHigh;
+
+    @ApiModelProperty(value = "认定年份")
+    private String highIdentifiedYear;
+
+    @ApiModelProperty(value = "国高八大领域")
+    private String highField;
+
+    @ApiModelProperty(value = "高企证书号")
+    private String highCertificateNum;
+
+    @ApiModelProperty(value = "高新领域代码")
+    private String highTechFieldCode;
+
+    @ApiModelProperty(value = "是否省级重点企业研究院")
+    private String isKeyProvincialResearch;
+
+    @ApiModelProperty(value = "认定年份")
+    private String keyProvincialIdentifiedYear;
+
+    @ApiModelProperty(value = "省级重点企业研究院名称")
+    private String keyProvincialIdentifiedName;
+
+    @ApiModelProperty(value = "是/否省级企业研究院")
+    private String isProvincialResearch;
+
+    @ApiModelProperty(value = "认定年份")
+    private String provincialIdentifiedYear;
+
+    @ApiModelProperty(value = "省级企业研究院名称")
+    private String provincialResearchName;
+
+    @ApiModelProperty(value = "是/否浙江省高新技术研究开发中心")
+    private String isHighTechResearchDevCenter;
+
+    @ApiModelProperty(value = "认定年份")
+    private String highTechIdentifiedYear;
+
+    @ApiModelProperty(value = "浙江省高新技术研究开发中心名称")
+    private String highTechResearchCenterName;
+
+    @ApiModelProperty(value = "是/否省科小")
+    private String isProvincialTechnologySmall;
+
+    @ApiModelProperty(value = "认定年份")
+    private String provincialTechSmallIdentifiedYear;
+
+    @ApiModelProperty(value = "是/否雏鹰计划企业")
+    private String isYoungEagles;
+
+    @ApiModelProperty(value = "认定年份")
+    private String youngEaglesIdentifiedYear;
+
+    @ApiModelProperty(value = "是/否市级研发中心")
+    private String isMunicipalResearchCenter;
+
+    @ApiModelProperty(value = "认定年份")
+    private String municipalResearchCenterIdentifiedYear;
+
+    @ApiModelProperty(value = "市级研发中心名称")
+    private String municipalResearchCenterName;
+
+    @ApiModelProperty(value = "是/否在建飞地研发中心")
+    private String isEnclaveResearchDevCenter;
+
+    @ApiModelProperty(value = "飞地研发中心专职研发人员数")
+    private Integer enclaveFulltimeStaffCount;
+
+    @ApiModelProperty(value = "飞地研发中心场地面积")
+    private Double areaOfEnclave;
+
+    @ApiModelProperty(value = "乡镇(街道)平台")
+    private String townshipStreetPlatform;
+
+
+}

+ 8 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/service/EnterpriseOtherInfoService.java

@@ -3,6 +3,8 @@ package com.pavis.app.saasbacken.service;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  企业其他信息
  *  企业其他信息
@@ -13,4 +15,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface EnterpriseOtherInfoService extends IService<EnterpriseOtherInfo> {
 public interface EnterpriseOtherInfoService extends IService<EnterpriseOtherInfo> {
 
 
+    /**
+     * 新增或更新企业其他信息。
+     * @param otherInfos
+     * @return
+     */
+    Boolean dealOtherInfos(List<EnterpriseOtherInfo> otherInfos);
 }
 }

+ 16 - 15
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/CheckModuleServiceImpl.java

@@ -3,6 +3,7 @@ package com.pavis.app.saasbacken.service.impl.base;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pavis.app.saasbacken.common.IgnoreUtils;
 import com.pavis.app.saasbacken.dao.*;
 import com.pavis.app.saasbacken.dao.*;
 import com.pavis.app.saasbacken.entity.*;
 import com.pavis.app.saasbacken.entity.*;
 import com.pavis.app.saasbacken.exception.IllegalArgumentException;
 import com.pavis.app.saasbacken.exception.IllegalArgumentException;
@@ -71,7 +72,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
         List<ModuleParam> moduleParams = new ArrayList<>();
         List<ModuleParam> moduleParams = new ArrayList<>();
         for (InitDataParent initDataParent : initDataParents) {
         for (InitDataParent initDataParent : initDataParents) {
             moduleParam = new ModuleParam();
             moduleParam = new ModuleParam();
-            BeanUtils.copyProperties(initDataParent, moduleParam);
+            IgnoreUtils.copyPropertiesIgnoreNull(initDataParent, moduleParam);
 
 
             // 二级目录
             // 二级目录
             List<InitDataChild> initDataChilds = initDataChildMapper.selectList(new QueryWrapper<InitDataChild>()
             List<InitDataChild> initDataChilds = initDataChildMapper.selectList(new QueryWrapper<InitDataChild>()
@@ -81,7 +82,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
             ModuleParam moduleParamChild;
             ModuleParam moduleParamChild;
             for (InitDataChild initDataChild : initDataChilds) {
             for (InitDataChild initDataChild : initDataChilds) {
                 moduleParamChild = new ModuleParam();
                 moduleParamChild = new ModuleParam();
-                BeanUtils.copyProperties(initDataChild, moduleParamChild);
+                IgnoreUtils.copyPropertiesIgnoreNull(initDataChild, moduleParamChild);
                 childs.add(moduleParamChild);
                 childs.add(moduleParamChild);
 
 
                 // 三级目录
                 // 三级目录
@@ -92,7 +93,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
                 List<ModuleData> thirds = new ArrayList<>();
                 List<ModuleData> thirds = new ArrayList<>();
                 for (InitDataThird initDataThird : initDataThirds) {
                 for (InitDataThird initDataThird : initDataThirds) {
                     moduleParamThird = new ModuleParam();
                     moduleParamThird = new ModuleParam();
-                    BeanUtils.copyProperties(initDataThird, moduleParamThird);
+                    IgnoreUtils.copyPropertiesIgnoreNull(initDataThird, moduleParamThird);
                     thirds.add(moduleParamThird);
                     thirds.add(moduleParamThird);
                 }
                 }
                 moduleParamChild.setTrees(thirds);
                 moduleParamChild.setTrees(thirds);
@@ -121,7 +122,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
         List<CheckModule> secCheckModules = new ArrayList<>();
         List<CheckModule> secCheckModules = new ArrayList<>();
         for (ModuleTree moduleTree : moduleTrees) {
         for (ModuleTree moduleTree : moduleTrees) {
             firstCheck = new CheckModule();
             firstCheck = new CheckModule();
-            BeanUtils.copyProperties(moduleTree, firstCheck);
+            IgnoreUtils.copyPropertiesIgnoreNull(moduleTree, firstCheck);
             firstCheck.setResType(moduleTree.getTitleCode());
             firstCheck.setResType(moduleTree.getTitleCode());
             firstCheck.setParentId("0");
             firstCheck.setParentId("0");
             firstCheckModules.add(firstCheck);
             firstCheckModules.add(firstCheck);
@@ -130,7 +131,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
             CheckModule secCheck;
             CheckModule secCheck;
             for (ModuleParam tree : moduleTree.getTrees()) {
             for (ModuleParam tree : moduleTree.getTrees()) {
                 secCheck = new CheckModule();
                 secCheck = new CheckModule();
-                BeanUtils.copyProperties(tree, secCheck);
+                IgnoreUtils.copyPropertiesIgnoreNull(tree, secCheck);
                 secCheck.setResType(tree.getId());
                 secCheck.setResType(tree.getId());
                 secCheckModules.add(secCheck);
                 secCheckModules.add(secCheck);
 
 
@@ -138,7 +139,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
                 CheckModule thirdCheck;
                 CheckModule thirdCheck;
                 for (ModuleData treeTree : tree.getTrees()) {
                 for (ModuleData treeTree : tree.getTrees()) {
                     thirdCheck = new CheckModule();
                     thirdCheck = new CheckModule();
-                    BeanUtils.copyProperties(treeTree, thirdCheck);
+                    IgnoreUtils.copyPropertiesIgnoreNull(treeTree, thirdCheck);
                     thirdCheck.setResType(treeTree.getId());
                     thirdCheck.setResType(treeTree.getId());
                     thirdCheckModules.add(thirdCheck);
                     thirdCheckModules.add(thirdCheck);
 
 
@@ -181,7 +182,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
         List<ModuleParam> moduleParams = new ArrayList<>();
         List<ModuleParam> moduleParams = new ArrayList<>();
         for (CheckModule module : checkModules1) {
         for (CheckModule module : checkModules1) {
             moduleParam = new ModuleParam();
             moduleParam = new ModuleParam();
-            BeanUtils.copyProperties(module, moduleParam);
+            IgnoreUtils.copyPropertiesIgnoreNull(module, moduleParam);
 
 
             // 二级
             // 二级
             List<ModuleData> childs = new ArrayList<>();
             List<ModuleData> childs = new ArrayList<>();
@@ -190,7 +191,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
                     .lambda().eq(CheckModule::getParentId, module.getId()));
                     .lambda().eq(CheckModule::getParentId, module.getId()));
             for (CheckModule checkModule1 : checkModules2) {
             for (CheckModule checkModule1 : checkModules2) {
                 moduleParamChild = new ModuleParam();
                 moduleParamChild = new ModuleParam();
-                BeanUtils.copyProperties(checkModule1, moduleParamChild);
+                IgnoreUtils.copyPropertiesIgnoreNull(checkModule1, moduleParamChild);
                 childs.add(moduleParamChild);
                 childs.add(moduleParamChild);
 
 
                 // 三级
                 // 三级
@@ -200,7 +201,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
                         .lambda().eq(CheckModule::getParentId, checkModule1.getId()));
                         .lambda().eq(CheckModule::getParentId, checkModule1.getId()));
                 for (CheckModule checkModule2 : checkModules3) {
                 for (CheckModule checkModule2 : checkModules3) {
                     moduleParamThird = new ModuleParam();
                     moduleParamThird = new ModuleParam();
-                    BeanUtils.copyProperties(checkModule2, moduleParamThird);
+                    IgnoreUtils.copyPropertiesIgnoreNull(checkModule2, moduleParamThird);
                     thirds.add(moduleParamThird);
                     thirds.add(moduleParamThird);
                 }
                 }
                 moduleParamChild.setTrees(thirds);
                 moduleParamChild.setTrees(thirds);
@@ -415,7 +416,7 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
             List<InitDataThird> initDataThirds = initDataThirdMapper.selectList(new QueryWrapper<InitDataThird>().lambda()
             List<InitDataThird> initDataThirds = initDataThirdMapper.selectList(new QueryWrapper<InitDataThird>().lambda()
                     .eq(InitDataThird::getId, category.getParentId()));
                     .eq(InitDataThird::getId, category.getParentId()));
             if (initDataThirds.size() > 0) {
             if (initDataThirds.size() > 0) {
-                BeanUtils.copyProperties(initDataThirds.get(0), allCategory);
+                IgnoreUtils.copyPropertiesIgnoreNull(initDataThirds.get(0), allCategory);
                 allCategory.setParentId(category.getParentId());
                 allCategory.setParentId(category.getParentId());
                 // 根据parentid查询列表。
                 // 根据parentid查询列表。
                 List<Category> selCategories = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
                 List<Category> selCategories = categoryMapper.selectList(new QueryWrapper<Category>().lambda()
@@ -425,19 +426,19 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
                 List<CategoryField> categoryFields = new ArrayList<>();
                 List<CategoryField> categoryFields = new ArrayList<>();
                 for (Category selCategory : selCategories) {
                 for (Category selCategory : selCategories) {
                     categoryField = new CategoryField();
                     categoryField = new CategoryField();
-                    BeanUtils.copyProperties(selCategory, categoryField);
+                    IgnoreUtils.copyPropertiesIgnoreNull(selCategory, categoryField);
                     categoryFields.add(categoryField);
                     categoryFields.add(categoryField);
                 }
                 }
                 allCategory.setFields(categoryFields);
                 allCategory.setFields(categoryFields);
                 allCategories.add(allCategory);
                 allCategories.add(allCategory);
             }else {
             }else {
                 // todo 用户自定义类目,暂时无法与数据进行关联。
                 // todo 用户自定义类目,暂时无法与数据进行关联。
-                BeanUtils.copyProperties(category, allCategory);
+                IgnoreUtils.copyPropertiesIgnoreNull(category, allCategory);
                 allCategory.setParentId(category.getParentId());
                 allCategory.setParentId(category.getParentId());
                 // 二级标签类目
                 // 二级标签类目
                 CategoryField categoryField = new CategoryField();
                 CategoryField categoryField = new CategoryField();
                 List<CategoryField> categoryFields = new ArrayList<>();
                 List<CategoryField> categoryFields = new ArrayList<>();
-                BeanUtils.copyProperties(category, categoryField);
+                IgnoreUtils.copyPropertiesIgnoreNull(category, categoryField);
                 categoryFields.add(categoryField);
                 categoryFields.add(categoryField);
                 allCategory.setFields(categoryFields);
                 allCategory.setFields(categoryFields);
                 allCategories.add(allCategory);
                 allCategories.add(allCategory);
@@ -527,14 +528,14 @@ public class CheckModuleServiceImpl extends ServiceImpl<CheckModuleMapper, Check
                 // 用户自定义:
                 // 用户自定义:
                 // 在原类目下新增
                 // 在原类目下新增
                 categoryField.setParentId(parentId);
                 categoryField.setParentId(parentId);
-                BeanUtils.copyProperties(categoryField, tmpCategory);
+                IgnoreUtils.copyPropertiesIgnoreNull(categoryField, tmpCategory);
                 tmpCategory.setCatCode("custom");
                 tmpCategory.setCatCode("custom");
                 tmpCategory.setModuleId("0");
                 tmpCategory.setModuleId("0");
                 tmpCategory.setCode(code);
                 tmpCategory.setCode(code);
             } else {
             } else {
                 // 在原类目下新增
                 // 在原类目下新增
                 categoryField.setParentId(parentId);
                 categoryField.setParentId(parentId);
-                BeanUtils.copyProperties(categoryField, tmpCategory);
+                IgnoreUtils.copyPropertiesIgnoreNull(categoryField, tmpCategory);
                 tmpCategory.setCode(code);
                 tmpCategory.setCode(code);
             }
             }
         } else {
         } else {

+ 89 - 42
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/EnterpriseBasicInfoServiceImpl.java

@@ -2,17 +2,19 @@ package com.pavis.app.saasbacken.service.impl.base;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pavis.app.saasbacken.common.IgnoreUtils;
 import com.pavis.app.saasbacken.dao.EnterpriseBasicInfoMapper;
 import com.pavis.app.saasbacken.dao.EnterpriseBasicInfoMapper;
 import com.pavis.app.saasbacken.entity.EnterpriseBasicInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseBasicInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
-import com.pavis.app.saasbacken.form.BasicInfo;
+import com.pavis.app.saasbacken.form.OrgInfo;
 import com.pavis.app.saasbacken.service.CategoryService;
 import com.pavis.app.saasbacken.service.CategoryService;
 import com.pavis.app.saasbacken.service.EnterpriseBasicInfoService;
 import com.pavis.app.saasbacken.service.EnterpriseBasicInfoService;
 import com.pavis.app.saasbacken.service.EnterpriseOtherInfoService;
 import com.pavis.app.saasbacken.service.EnterpriseOtherInfoService;
 import com.pavis.app.saasbacken.service.EsService;
 import com.pavis.app.saasbacken.service.EsService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
@@ -23,7 +25,7 @@ import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
- *  企业基本信息
+ * 企业基本信息
  * </p>
  * </p>
  *
  *
  * @author guan
  * @author guan
@@ -50,32 +52,50 @@ public class EnterpriseBasicInfoServiceImpl extends ServiceImpl<EnterpriseBasicI
 
 
     @Override
     @Override
     public List<EnterpriseBasicInfo> orgBasicAdd(List<Object> basicInfo) throws IOException {
     public List<EnterpriseBasicInfo> orgBasicAdd(List<Object> basicInfo) throws IOException {
-        List<BasicInfo> basicInfos = JSONObject.parseArray(JSONObject.toJSONString(basicInfo), BasicInfo.class);
+        List<OrgInfo> basicInfos = JSONObject.parseArray(JSONObject.toJSONString(basicInfo), OrgInfo.class);
         // 解析数据。
         // 解析数据。
         List<EnterpriseBasicInfo> addedBasicInfos = new ArrayList<>();
         List<EnterpriseBasicInfo> addedBasicInfos = new ArrayList<>();
         EnterpriseBasicInfo addBasicInfo;
         EnterpriseBasicInfo addBasicInfo;
         // 企业其他数据
         // 企业其他数据
         EnterpriseOtherInfo addOtherInfo;
         EnterpriseOtherInfo addOtherInfo;
         List<EnterpriseOtherInfo> addOtherInfos = new ArrayList<>();
         List<EnterpriseOtherInfo> addOtherInfos = new ArrayList<>();
-        for (BasicInfo info : basicInfos) {
+        for (OrgInfo info : basicInfos) {
+            // todo 根据企业id判断是新增或者更新。 企业名称和社会统一信用代码。
+            if (null == info.getId() && StringUtils.isEmpty(info.getId())) {
+                // id为空,进行新增操作。
+                log.info("新增操作", info.getId());
+                // 根据企业名称或者社会统一信用代码
+                List<EnterpriseBasicInfo> enterpriseBasicInfos = enterpriseBasicInfoMapper.selectList(new QueryWrapper<EnterpriseBasicInfo>().lambda()
+                        .eq(EnterpriseBasicInfo::getUnifySocialCreditCode, info.getUnifySocialCreditCode()));
+                if (enterpriseBasicInfos.size() > 0) {
+                    // 企业基本信息已存在,
+                    info.setId(enterpriseBasicInfos.get(0).getId());
+                }
+            }
+
             // 企业基本信息
             // 企业基本信息
             addBasicInfo = new EnterpriseBasicInfo();
             addBasicInfo = new EnterpriseBasicInfo();
-            BeanUtils.copyProperties(info,addBasicInfo);
-            
+            IgnoreUtils.copyPropertiesIgnoreNull(info, addBasicInfo);
+
+            // 企业其他信息:
+            addOtherInfo = new EnterpriseOtherInfo();
+            IgnoreUtils.copyPropertiesIgnoreNull(info, addOtherInfo);
+            addOtherInfo.setEnterpriseId(info.getId());
+            // todo 待处理字段如:国高八大领域。
+            addOtherInfos.add(addOtherInfo);
 
 
             // 所属行业 需要单独处理,做一下转换后进行存储。
             // 所属行业 需要单独处理,做一下转换后进行存储。
-            addBasicInfo.setIndustry(categoryService.dealCategory(info.getIndustry(),true));
+            addBasicInfo.setIndustry(categoryService.dealCategory(info.getIndustry(), true));
             // 企业类型:国有企业 集体所有制企业 私营企业 股份制企业 联营企业 外商投资企业 港澳台企业 股份合作企业 有限责任公司 其他企业。
             // 企业类型:国有企业 集体所有制企业 私营企业 股份制企业 联营企业 外商投资企业 港澳台企业 股份合作企业 有限责任公司 其他企业。
-            addBasicInfo.setEnterpriseType(categoryService.dealCategory(info.getEnterpriseType(),true));
+            addBasicInfo.setEnterpriseType(categoryService.dealCategory(info.getEnterpriseType(), true));
             // 机构类型:企业 高校 机构 园区 政府 其他。
             // 机构类型:企业 高校 机构 园区 政府 其他。
-            addBasicInfo.setResType(categoryService.dealCategory(info.getResType(),true));
+            addBasicInfo.setResType(categoryService.dealCategory(info.getResType(), true));
             // 研发机构等级:国家级、省级、市级、区级等。
             // 研发机构等级:国家级、省级、市级、区级等。
-            addBasicInfo.setDevOrgLevel(categoryService.dealCategory(info.getDevOrgLevel(),true));
+            addBasicInfo.setDevOrgLevel(categoryService.dealCategory(info.getDevOrgLevel(), true));
             // 是否规上: 前端传0 否 或 1 是。
             // 是否规上: 前端传0 否 或 1 是。
             // addBasicInfo.setIsGauge("");
             // addBasicInfo.setIsGauge("");
             // 企业资质:国高、市高、省科技型中小企业、高企培育、规上、科技型初创企业、高新潜力企业、创新引领企业。
             // 企业资质:国高、市高、省科技型中小企业、高企培育、规上、科技型初创企业、高新潜力企业、创新引领企业。
-            addBasicInfo.setQualifyInfo(categoryService.dealCategory(info.getQualifyInfo(),true));
-
+            addBasicInfo.setQualifyInfo(categoryService.dealCategory(info.getQualifyInfo(), true));
 
 
             // todo 需要保存企业信息,再处理人员信息。
             // todo 需要保存企业信息,再处理人员信息。
 
 
@@ -95,57 +115,84 @@ public class EnterpriseBasicInfoServiceImpl extends ServiceImpl<EnterpriseBasicI
         }
         }
         log.info("addedBasicInfos before:{}", JSON.toJSONString(addedBasicInfos));
         log.info("addedBasicInfos before:{}", JSON.toJSONString(addedBasicInfos));
         // 批量新增企业基本信息。
         // 批量新增企业基本信息。
-        boolean b = saveBatch(addedBasicInfos);
-        log.info("save basic-org info res:{}",b);
+        boolean b = saveOrUpdateBatch(addedBasicInfos);
+        log.info("save basic-org info res:{}", b);
         log.info("addedBasicInfos after:{}", JSON.toJSONString(addedBasicInfos));
         log.info("addedBasicInfos after:{}", JSON.toJSONString(addedBasicInfos));
+
+
+        List<EnterpriseOtherInfo> otherInfos = new ArrayList<>();
         // 处理人员信息关联关系。
         // 处理人员信息关联关系。
         for (int i = 0; i < addedBasicInfos.size(); i++) {
         for (int i = 0; i < addedBasicInfos.size(); i++) {
+
+            System.err.println("*****************orgId:" + addedBasicInfos.get(i).getId());
+
             // 1 企业联系人姓名及联系方式。
             // 1 企业联系人姓名及联系方式。
-            String s1 = personalInfoService.dealPersonal(basicInfos.get(i).getContacts(), basicInfos.get(i).getContacts(),
-                    addedBasicInfos.get(i).getId(), "6", "1");
-            addedBasicInfos.get(i).setContactsId(s1);
+            String contactsName = basicInfos.get(i).getContacts();
+            String contactsWay = basicInfos.get(i).getContactsWay();
+            String s1 = "";
+            if (StringUtils.isNotEmpty(contactsName) && StringUtils.isNotEmpty(contactsWay)) {
+                s1 = personalInfoService.dealPersonal(contactsName, contactsWay, addedBasicInfos.get(i).getId(), "6", "1");
+                addedBasicInfos.get(i).setContactsId(s1);
+            }
 
 
             // 2 企业负责人/法定代表人姓名及联系方式。
             // 2 企业负责人/法定代表人姓名及联系方式。
-            String s2 = personalInfoService.dealPersonal(basicInfos.get(i).getChargeDirectorName(), basicInfos.get(i).getContacts(),
-                    addedBasicInfos.get(i).getId(), "6", "2");
-            addedBasicInfos.get(i).setChargeDirectorId(s1);
+            String chargeDirectorName = basicInfos.get(i).getChargeDirectorName();
+            String chargeDirectorWay = basicInfos.get(i).getChargeDirectorWay();
+            String s2 = "";
+            if (StringUtils.isNotEmpty(chargeDirectorName) && StringUtils.isNotEmpty(chargeDirectorWay)) {
+                s2 = personalInfoService.dealPersonal(chargeDirectorName, chargeDirectorWay, addedBasicInfos.get(i).getId(), "6", "2");
+                addedBasicInfos.get(i).setChargeDirectorId(s2);
+            }
 
 
             // 3 研发负责人姓名及联系方式。
             // 3 研发负责人姓名及联系方式。
-            String s3 = personalInfoService.dealPersonal(basicInfos.get(i).getResearchDevName(), basicInfos.get(i).getContacts(),
-                    addedBasicInfos.get(i).getId(), "6", "3");
-            addedBasicInfos.get(i).setResearchDevDirectorId(s1);
+            String researchDevName = basicInfos.get(i).getResearchDevName();
+            String researchDevWay = basicInfos.get(i).getResearchDevWay();
+            String s3 = "";
+            if (StringUtils.isNotEmpty(researchDevName) && StringUtils.isNotEmpty(researchDevWay)) {
+                s3 = personalInfoService.dealPersonal(researchDevName, researchDevWay, addedBasicInfos.get(i).getId(), "6", "3");
+                addedBasicInfos.get(i).setResearchDevDirectorId(s3);
+            }
 
 
             // 4 财务负责人姓名及联系方式。
             // 4 财务负责人姓名及联系方式。
-            String s4 = personalInfoService.dealPersonal(basicInfos.get(i).getFinancialName(), basicInfos.get(i).getContacts(),
-                    addedBasicInfos.get(i).getId(), "6", "4");
-            addedBasicInfos.get(i).setFinancialDirectorId(s1);
+            String financialName = basicInfos.get(i).getFinancialName();
+            String financialWay = basicInfos.get(i).getFinancialWay();
+            String s4 = "";
+            if (StringUtils.isNotEmpty(financialName) && StringUtils.isNotEmpty(financialWay)) {
+                s4 = personalInfoService.dealPersonal(financialName, financialWay, addedBasicInfos.get(i).getId(), "6", "4");
+                addedBasicInfos.get(i).setFinancialDirectorId(s4);
+            }
 
 
             // 5 科技联络人姓名及联系方式。
             // 5 科技联络人姓名及联系方式。
-            String s5 = personalInfoService.dealPersonal(basicInfos.get(i).getTechnicalName(), basicInfos.get(i).getContacts(),
-                    addedBasicInfos.get(i).getId(), "6", "5");
-            addedBasicInfos.get(i).setTechnicalDirectorId(s1);
+            String technicalName = basicInfos.get(i).getTechnicalName();
+            String technicalWay = basicInfos.get(i).getTechnicalWay();
+            String s5 = "";
+            if (StringUtils.isNotEmpty(technicalName) && StringUtils.isNotEmpty(technicalWay)) {
+                s5 = personalInfoService.dealPersonal(technicalName, technicalWay, addedBasicInfos.get(i).getId(), "6", "5");
+                addedBasicInfos.get(i).setTechnicalDirectorId(s5);
+            }
 
 
-            log.info("update addedBasicInfos:{}",JSON.toJSONString(addedBasicInfos));
+            log.info("deal personal s1:{},s2:{},s3:{},s4:{},s5:{}", s1, s2, s3, s4, s5);
 
 
+            // 企业其他信息待新增或更新。
+            otherInfos.add(addOtherInfos.get(i).setEnterpriseId(addedBasicInfos.get(i).getId()));
 
 
-            // 企业其他信息:
-            // 企业其他信息
-            addOtherInfo = new EnterpriseOtherInfo();
-            BeanUtils.copyProperties(addedBasicInfos.get(i),addOtherInfo);
-            // todo 待处理字段如:国高八大领域。
-            addOtherInfos.add(addOtherInfo);
         }
         }
 
 
-        log.info("update addedBasicInfos:{}",JSON.toJSONString(addedBasicInfos));
+        log.info("update addedBasicInfos:{}", JSON.toJSONString(addedBasicInfos));
         // 更新企业人员信息:
         // 更新企业人员信息:
         boolean b1 = saveOrUpdateBatch(addedBasicInfos);
         boolean b1 = saveOrUpdateBatch(addedBasicInfos);
-        log.info("update basic-info res:{}",b1);
+        log.info("update basic-info res:{}", b1);
+        log.info("update basic-info:{}", JSON.toJSONString(addedBasicInfos));
 
 
-        log.info("other-info:{}",JSON.toJSONString(addOtherInfos));
 
 
+        // 处理企业库其他信息
+        log.info("update addOtherInfos:{}", JSON.toJSONString(otherInfos));
+        // todo 根据企业id判断是否已存在数据,
+        // List<EnterpriseOtherInfo> enterpriseOtherInfos =
         // 批量新增企业其他信息。
         // 批量新增企业其他信息。
-        boolean b2 = enterpriseOtherInfoService.saveOrUpdateBatch(addOtherInfos);
-        log.info("save other-info res:{}",b2);
+        boolean b2 = enterpriseOtherInfoService.dealOtherInfos(otherInfos);
+        log.info("save other-info res:{}", b2);
+        log.info("update other-info:{}", JSON.toJSONString(otherInfos));
 
 
         return esService.selEsByName(addedBasicInfos.get(0).getName());
         return esService.selEsByName(addedBasicInfos.get(0).getName());
     }
     }

+ 35 - 0
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/EnterpriseOtherInfoServiceImpl.java

@@ -1,11 +1,18 @@
 package com.pavis.app.saasbacken.service.impl.base;
 package com.pavis.app.saasbacken.service.impl.base;
 
 
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseOtherInfo;
 import com.pavis.app.saasbacken.dao.EnterpriseOtherInfoMapper;
 import com.pavis.app.saasbacken.dao.EnterpriseOtherInfoMapper;
 import com.pavis.app.saasbacken.service.EnterpriseOtherInfoService;
 import com.pavis.app.saasbacken.service.EnterpriseOtherInfoService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  企业其他信息
  *  企业其他信息
@@ -15,6 +22,34 @@ import org.springframework.stereotype.Service;
  * @since 2021-10-29
  * @since 2021-10-29
  */
  */
 @Service
 @Service
+@Slf4j
 public class EnterpriseOtherInfoServiceImpl extends ServiceImpl<EnterpriseOtherInfoMapper, EnterpriseOtherInfo> implements EnterpriseOtherInfoService {
 public class EnterpriseOtherInfoServiceImpl extends ServiceImpl<EnterpriseOtherInfoMapper, EnterpriseOtherInfo> implements EnterpriseOtherInfoService {
 
 
+    @Autowired
+    private EnterpriseOtherInfoMapper enterpriseOtherInfoMapper;
+
+    @Override
+    public Boolean dealOtherInfos(List<EnterpriseOtherInfo> otherInfos) {
+        // 处理企业库其他信息
+        log.info("update addOtherInfos:{}", JSON.toJSONString(otherInfos));
+        // todo 根据企业id判断是否已存在数据,
+        List<EnterpriseOtherInfo> dealOtherInfos = new ArrayList<>();
+        for (EnterpriseOtherInfo otherInfo : otherInfos) {
+            List<EnterpriseOtherInfo> enterpriseOtherInfos = enterpriseOtherInfoMapper.selectList(new QueryWrapper<EnterpriseOtherInfo>().lambda()
+                    .eq(EnterpriseOtherInfo::getEnterpriseId,otherInfo.getEnterpriseId()));
+            if (enterpriseOtherInfos.size() > 0){
+                otherInfo.setId(enterpriseOtherInfos.get(0).getId());
+                // 已存在该企业的其他信息。故更新操作。
+                dealOtherInfos.add(otherInfo);
+            }else {
+                // 不存在该企业信息,故新增操作。
+                dealOtherInfos.add(otherInfo);
+            }
+        }
+        // 批量新增企业其他信息。
+        boolean b2 = saveOrUpdateBatch(dealOtherInfos);
+        log.info("save other-info res:{}", b2);
+        log.info("update other-info:{}", JSON.toJSONString(dealOtherInfos));
+        return b2;
+    }
 }
 }

+ 9 - 3
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/OrgRelPersonalServiceImpl.java

@@ -34,10 +34,16 @@ public class OrgRelPersonalServiceImpl extends ServiceImpl<OrgRelPersonalMapper,
     public List<OrgRelPersonal> saveRels(List<PersonalInfo> personalInfos, String orgId,String resType, String relType) {
     public List<OrgRelPersonal> saveRels(List<PersonalInfo> personalInfos, String orgId,String resType, String relType) {
         // 人员信息存在,判断关联关系是否存在。
         // 人员信息存在,判断关联关系是否存在。
         List<OrgRelPersonal> orgRelPersonals = orgRelPersonalMapper.selectList(new QueryWrapper<OrgRelPersonal>().lambda()
         List<OrgRelPersonal> orgRelPersonals = orgRelPersonalMapper.selectList(new QueryWrapper<OrgRelPersonal>().lambda()
-                .eq(OrgRelPersonal::getPersonalId,personalInfos.get(0).getId())
+                .eq(OrgRelPersonal::getRelType,relType)
                 .eq(OrgRelPersonal::getEnterpriseId,orgId));
                 .eq(OrgRelPersonal::getEnterpriseId,orgId));
         if (orgRelPersonals.size() > 0){
         if (orgRelPersonals.size() > 0){
-            // 关联关系存在,直接返回id。
+            // 关联关系存在,更新信息后返回id。
+            for (OrgRelPersonal orgRelPersonal : orgRelPersonals) {
+                OrgRelPersonal tmpOrgRelPersonal = initRel(resType,relType,orgId,personalInfos);
+                tmpOrgRelPersonal.setId(orgRelPersonal.getId());
+                boolean b = updateById(tmpOrgRelPersonal);
+                log.info("update org-personal-rel res:{}",b);
+            }
             return orgRelPersonals;
             return orgRelPersonals;
         }else {
         }else {
             // 关联关系不存在,新增关联关系后,返回主键id。
             // 关联关系不存在,新增关联关系后,返回主键id。
@@ -65,7 +71,7 @@ public class OrgRelPersonalServiceImpl extends ServiceImpl<OrgRelPersonalMapper,
                 .enterpriseId(orgId)
                 .enterpriseId(orgId)
                 .personalId(personalInfos.get(0).getId())
                 .personalId(personalInfos.get(0).getId())
                 .name(personalInfos.get(0).getName())
                 .name(personalInfos.get(0).getName())
-                .contacts(personalInfos.get(0).getContact())
+                .contacts(personalInfos.get(0).getContacts())
                 .build();
                 .build();
         return orgRelPersonal;
         return orgRelPersonal;
     }
     }

+ 8 - 6
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/base/PersonalInfoServiceImpl.java

@@ -37,16 +37,16 @@ public class PersonalInfoServiceImpl extends ServiceImpl<PersonalInfoMapper, Per
         List<PersonalInfo> personalInfos = new ArrayList<>();
         List<PersonalInfo> personalInfos = new ArrayList<>();
         // todo relType:财务、科技、法定代表人?
         // todo relType:财务、科技、法定代表人?
         // 企业基本信息不存在。需要创建关联关系。
         // 企业基本信息不存在。需要创建关联关系。
-        personalInfos = personalInfoMapper.selectList(new QueryWrapper<PersonalInfo>()
-                .lambda().eq(PersonalInfo::getName,name)
-                .eq(PersonalInfo::getContact,contactsWay));
+        personalInfos = personalInfoMapper.selectList(new QueryWrapper<PersonalInfo>().lambda()
+                .eq(PersonalInfo::getName,name).eq(PersonalInfo::getEnterpriseId,orgId)
+                .eq(PersonalInfo::getContacts,contactsWay));
         // 判断人员信息是否存在。
         // 判断人员信息是否存在。
         if (personalInfos.size() > 0){
         if (personalInfos.size() > 0){
             List<OrgRelPersonal> orgRelPersonals = orgRelPersonalService.saveRels(personalInfos, orgId, resType, relType);
             List<OrgRelPersonal> orgRelPersonals = orgRelPersonalService.saveRels(personalInfos, orgId, resType, relType);
             return orgRelPersonals.size() > 0 ? orgRelPersonals.get(0).getId() : "0";
             return orgRelPersonals.size() > 0 ? orgRelPersonals.get(0).getId() : "0";
         }else {
         }else {
             // 人员信息不存在,新建人员信息。
             // 人员信息不存在,新建人员信息。
-            PersonalInfo personalInfo = initPersonalInfo(name, contactsWay);
+            PersonalInfo personalInfo = initPersonalInfo(orgId,name, contactsWay);
             int insert = personalInfoMapper.insert(personalInfo);
             int insert = personalInfoMapper.insert(personalInfo);
             log.info("save personal-info res:{}",insert);
             log.info("save personal-info res:{}",insert);
             List<PersonalInfo> infoLists = new ArrayList<>();
             List<PersonalInfo> infoLists = new ArrayList<>();
@@ -63,10 +63,12 @@ public class PersonalInfoServiceImpl extends ServiceImpl<PersonalInfoMapper, Per
      * @param contactsWay
      * @param contactsWay
      * @return
      * @return
      */
      */
-    public PersonalInfo initPersonalInfo(String name,String contactsWay){
+    public PersonalInfo initPersonalInfo(String orgId,String name,String contactsWay){
         PersonalInfo personalInfo = PersonalInfo.builder()
         PersonalInfo personalInfo = PersonalInfo.builder()
+                .enterpriseId(orgId)
+                // .orgName()
                 .name(name)
                 .name(name)
-                .contact(contactsWay)
+                .contacts(contactsWay)
                 .build();
                 .build();
         return personalInfo;
         return personalInfo;
     }
     }

+ 3 - 2
saas-backen/src/main/java/com/pavis/app/saasbacken/service/impl/other/EsServiceImpl.java

@@ -2,6 +2,7 @@ package com.pavis.app.saasbacken.service.impl.other;
 
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONArray;
+import com.pavis.app.saasbacken.common.IgnoreUtils;
 import com.pavis.app.saasbacken.dao.ResourceLibraryEntityMapper;
 import com.pavis.app.saasbacken.dao.ResourceLibraryEntityMapper;
 import com.pavis.app.saasbacken.dao.ResourceLibraryMapper;
 import com.pavis.app.saasbacken.dao.ResourceLibraryMapper;
 import com.pavis.app.saasbacken.entity.EnterpriseBasicInfo;
 import com.pavis.app.saasbacken.entity.EnterpriseBasicInfo;
@@ -131,7 +132,7 @@ public class EsServiceImpl implements EsService {
         for (ResourceLibraryEntity byName : byNames) {
         for (ResourceLibraryEntity byName : byNames) {
             System.err.println("***" + byName.getName());
             System.err.println("***" + byName.getName());
             enterpriseBasicInfo = new EnterpriseBasicInfo();
             enterpriseBasicInfo = new EnterpriseBasicInfo();
-            BeanUtils.copyProperties(byName,enterpriseBasicInfo);
+            IgnoreUtils.copyPropertiesIgnoreNull(byName,enterpriseBasicInfo);
             enterpriseBasicInfos.add(enterpriseBasicInfo);
             enterpriseBasicInfos.add(enterpriseBasicInfo);
         }
         }
 
 
@@ -156,7 +157,7 @@ public class EsServiceImpl implements EsService {
         // 批处理请求。
         // 批处理请求。
         for (int i = 0; i < resourceLibraryList.size(); i++) {
         for (int i = 0; i < resourceLibraryList.size(); i++) {
             ResourceLibraryEntity resourceLibraryEntity = new ResourceLibraryEntity();
             ResourceLibraryEntity resourceLibraryEntity = new ResourceLibraryEntity();
-            BeanUtils.copyProperties(resourceLibraryList.get(i),resourceLibraryEntity);
+            IgnoreUtils.copyPropertiesIgnoreNull(resourceLibraryList.get(i),resourceLibraryEntity);
             resourceLibraryEntity.setAnnualRevenue(JSONArray.parseArray
             resourceLibraryEntity.setAnnualRevenue(JSONArray.parseArray
                     (resourceLibraryList.get(i).getAnnualRevenue(), TaxParam.class));
                     (resourceLibraryList.get(i).getAnnualRevenue(), TaxParam.class));
             resourceLibraryEntity.setRdDeductible(JSONArray.parseArray
             resourceLibraryEntity.setRdDeductible(JSONArray.parseArray