Bladeren bron

信用人员导入导出

LIVE_YE 3 jaren geleden
bovenliggende
commit
fc6aecb20b

+ 7 - 0
pom.xml

@@ -199,6 +199,13 @@
                 <version>${ruoyi.version}</version>
             </dependency>
 
+            <!-- lombok-->
+            <dependency>
+                <groupId>org.projectlombok</groupId>
+                <artifactId>lombok</artifactId>
+                <version>1.18.4</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>
 

+ 7 - 0
ruoyi-admin/pom.xml

@@ -61,6 +61,13 @@
             <artifactId>ruoyi-generator</artifactId>
         </dependency>
 
+        <!-- lombok-->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.4</version>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 34 - 13
ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/CreditUserController.java

@@ -1,5 +1,6 @@
 package com.ruoyi.web.controller.business;
 
+import java.io.IOException;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -20,6 +21,7 @@ import com.ruoyi.system.domain.CreditUser;
 import com.ruoyi.system.service.ICreditUserService;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.multipart.MultipartFile;
 
 /**
  * 信用人员Controller
@@ -46,19 +48,6 @@ public class CreditUserController extends BaseController
         return getDataTable(list);
     }
 
-    /**
-     * 导出信用人员列表
-     */
-    @PreAuthorize("@ss.hasPermi('system:creditUser:export')")
-    @Log(title = "信用人员", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
-    public void export(HttpServletResponse response, CreditUser creditUser)
-    {
-        List<CreditUser> list = creditUserService.selectCreditUserList(creditUser);
-        ExcelUtil<CreditUser> util = new ExcelUtil<CreditUser>(CreditUser.class);
-        util.exportExcel(response, list, "信用人员数据");
-    }
-
     /**
      * 获取信用人员详细信息
      */
@@ -101,4 +90,36 @@ public class CreditUserController extends BaseController
     {
         return toAjax(creditUserService.deleteCreditUserByIds(ids));
     }
+
+    /***
+     * 信用平台匹配用户信息(导入)
+     */
+    @Log(title = "人员信息", businessType = BusinessType.IMPORT)
+    @PreAuthorize("@ss.hasPermi('system:creditUser:importCredit')")
+    @PostMapping("/importCredit")
+    public AjaxResult importCredit(MultipartFile file) throws Exception {
+
+        ExcelUtil<CreditUser> util = new ExcelUtil<CreditUser>(CreditUser.class);
+
+        List<CreditUser> creditUserList = util.importExcel(file.getInputStream());
+
+        String message = creditUserService.importCredit(creditUserList);
+        return AjaxResult.success(message);
+    }
+
+
+    /**
+     * 导出信用人员列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:creditUser:export')")
+    @Log(title = "信用人员", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, CreditUser creditUser)
+    {
+        List<CreditUser> creditUserList = creditUserService.getAllCreditUser(creditUser);
+        ExcelUtil<CreditUser> util = new ExcelUtil<>(CreditUser.class);
+        util.exportExcel(response, creditUserList, "信用人员数据");
+    }
+
+
 }

+ 7 - 0
ruoyi-system/pom.xml

@@ -23,6 +23,13 @@
             <artifactId>ruoyi-common</artifactId>
         </dependency>
 
+        <!-- lombok-->
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.4</version>
+        </dependency>
+
     </dependencies>
 
 </project>

+ 33 - 5
ruoyi-system/src/main/java/com/ruoyi/system/domain/CreditUser.java

@@ -19,15 +19,15 @@ public class CreditUser extends BaseEntity
     private Long id;
 
     /** 姓名 */
-    @Excel(name = "姓名")
+    @Excel(name = "用户名称")
     private String userName;
 
     /** 信用分数 */
-    @Excel(name = "信用分")
+    @Excel(name = "信用分")
     private String creditScore;
 
     /** 信用等级 */
-    @Excel(name = "信用级")
+    @Excel(name = "信用级")
     private String creditLevel;
 
     /** 性别 */
@@ -39,7 +39,7 @@ public class CreditUser extends BaseEntity
     private Integer age;
 
     /** 身份证号码 */
-    @Excel(name = "身份证号")
+    @Excel(name = "身份证号")
     private String idCard;
 
     /** 联系号码 */
@@ -92,7 +92,35 @@ public class CreditUser extends BaseEntity
     /** 删除原因 */
     private String deleteReason;
 
-    public void setId(Long id) 
+
+    /***
+     * 开始时间
+     */
+    private String startTime;
+
+
+    /***
+     * 结束时间
+     */
+    private String endTime;
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setId(Long id)
     {
         this.id = id;
     }

+ 286 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/shujuju/Czrk.java

@@ -0,0 +1,286 @@
+package com.ruoyi.system.domain.shujuju;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.*;
+
+
+import java.util.Date;
+
+/**
+ * 常住人口对象 czrk
+ *
+ * @author ruoyi
+ * @date 2022-01-14
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@ToString
+public class Czrk extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    public static final String IS_DEL_N = "N";
+    public static final String IS_DEL_Y = "Y";
+    public static final String CZ = "cz";
+    public static final String HJ = "hj";
+
+    /**
+     * 主键
+     */
+    private Long id;
+    /**
+     * 常驻人口居住地址id
+     */
+    private Long czrkJzdzId;
+
+    /**
+     * 姓名
+     */
+    private String userName;
+
+    /**
+     * 性别
+     */
+    private String gender;
+
+    /**
+     * 年龄
+     */
+    private Integer age;
+
+    /**
+     * 出生日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    //@Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private String birthday;
+
+    /**
+     * 身份证号码
+     */
+    private String idCard;
+
+    /**
+     * 联系号码
+     */
+    private String phoneNum;
+
+    /**
+     * 人员分类
+     */
+    private String keyIndustries;
+
+    /**
+     * 户籍号
+     */
+    private String code;
+
+    /**
+     * 是否是户主
+     */
+    private String houseType;
+
+    /**
+     * 认领人
+     */
+    //@Excel(name = "认领人")
+    private String rlr;
+    /**
+     * 认领人姓名
+     */
+    private String rlrNike;
+
+    /**
+     * 认领时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    //@Excel(name = "认领时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date rlTime;
+
+    /**
+     * 与户主关系
+     */
+    private String yhzgx;
+
+    /** 是否认领 “是”,“否”,判断标准:该人员是否有所属镇 */
+    private String isRl;
+
+    /**
+     * 当前人所在的最后一级的部门id
+     */
+    //@Excel(name = "当前人所在的最后一级的部门id")
+    private Long deptId;
+
+
+    /**
+     * 工作单位
+     */
+    //@Excel(name = "工作单位")
+    private String workUnit;
+
+    /**
+     * 户籍地的省份
+     */
+    //@Excel(name = "户籍地的省份")
+    private String provinceId;
+
+    /**
+     * 户籍地的省份
+     */
+    //@Excel(name = "户籍地的省份")
+    private String province;
+
+    /**
+     * 户籍地的城市
+     */
+    //@Excel(name = "户籍地的城市")
+    private String cityId;
+
+    /**
+     * 户籍地的城市
+     */
+    //@Excel(name = "户籍地的城市")
+    private String city;
+
+    /**
+     * 户籍地的区
+     */
+    //@Excel(name = "户籍地的区")
+    private String regionId;
+
+    /**
+     * 户籍地的区
+     */
+    //@Excel(name = "户籍地的区")
+    private String region;
+
+    /**
+     * 户籍地的镇
+     */
+    //@Excel(name = "户籍地的镇")
+    private String villageTownsId;
+
+    /**
+     * 户籍地的镇
+     */
+    //@Excel(name = "户籍地的镇")
+    private String villageTowns;
+
+    /**
+     * 户籍地的村
+     */
+    //@Excel(name = "户籍地的村")
+    private String villageId;
+
+    /**
+     * 户籍地的村
+     */
+    //@Excel(name = "户籍地的村")
+    private String village;
+
+    /**
+     * 户籍地的组
+     */
+    //@Excel(name = "户籍地的组")
+    private String villagerGroupId;
+
+    /**
+     * 户籍地的组
+     */
+    //@Excel(name = "户籍地的组")
+    private String villagerGroup;
+
+    /**
+     * 户籍地的详细地址
+     */
+    private String nowIn;
+
+    /**
+     * 状态
+     */
+    //@Excel(name = "状态")
+    private String status;
+    /**
+     * 变更人手机号
+     */
+    private String changUser;
+    /**
+     * 变更人姓名
+     */
+    private String changNikeUser;
+    /**
+     * 变更时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date changUserTime;
+
+    /**
+     * 网格id
+     */
+    private Long gridId;
+    /**
+     * 网格名称
+     */
+    private String gridName;
+    /**
+     * 是否确认
+     */
+    private String isConfirm;
+    /**
+     * 最后一次确认人
+     */
+    private String confirmInfoUser;
+    /**
+     * 最后一次确认人姓名
+     */
+    private String confirmInfoNikeUser;
+    /**
+     * 最后一次确认时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date confirmInfoUserTime;
+    /**
+     * 是否完成核酸
+     */
+    private String isNucleicAcid;
+    /**
+     * 最后一次核酸时间
+     */
+    private String nucleicAcidTime;
+
+    /**
+     * 来宜号码
+     */
+    private String toAppropriatePhone;
+    /**
+     * 来宜时间
+     */
+    private String toAppropriateTime;
+
+
+    /**
+     * 是否删除 默认为 "N"
+     */
+    //@Excel(name = "是否删除")
+    private String isDel = IS_DEL_N;
+
+    /**
+     * 删除原因
+     */
+    //@Excel(name = "删除原因")
+    private String deleteReason;
+    private String remark;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private java.sql.Timestamp createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private java.sql.Timestamp updateTime;
+    private String createBy;
+    private String updateBy;
+
+
+
+
+}

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/CreditUserMapper.java

@@ -65,4 +65,8 @@ public interface CreditUserMapper
      * @return 结果
      */
     public int deleteCreditUserByIds(Long[] ids);
+
+    public CreditUser selectCreditUserByIdCard(String idCard);
+
+    List<CreditUser> getAllCreditUser(CreditUser creditUser);
 }

+ 21 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/shujuju/CzrkMapper.java

@@ -0,0 +1,21 @@
+package com.ruoyi.system.mapper.shujuju;
+
+import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.system.domain.shujuju.Czrk;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+/**
+ * 常住人口Mapper接口
+ *
+ * @author ruoyi
+ * @date 2022-01-14
+ */
+public interface CzrkMapper {
+
+    String getHjhByIdCard(@Param("idCard")String idCard);
+
+    List<Czrk> getAllCzrkByHjh(@Param("hjh")String hjh);
+}

+ 4 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ICreditUserService.java

@@ -65,4 +65,8 @@ public interface ICreditUserService
      * @return 结果
      */
     public int deleteCreditUserById(Long id);
+
+    String importCredit(List<CreditUser> creditUserList);
+
+    List<CreditUser> getAllCreditUser(CreditUser creditUser);
 }

+ 72 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CreditUserServiceImpl.java

@@ -1,8 +1,18 @@
 package com.ruoyi.system.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
+
+import com.alibaba.fastjson.JSON;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.shujuju.Czrk;
+import com.ruoyi.system.mapper.shujuju.CzrkMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.CreditUserMapper;
@@ -16,9 +26,14 @@ import com.ruoyi.system.service.ICreditUserService;
  * @date 2022-06-10
  */
 @Service
+@Slf4j
 public class CreditUserServiceImpl implements ICreditUserService {
+
+
     @Autowired
     private CreditUserMapper creditUserMapper;
+    @Autowired
+    public CzrkMapper czrkMapper;
 
     /**
      * 查询信用人员
@@ -98,4 +113,61 @@ public class CreditUserServiceImpl implements ICreditUserService {
     public int deleteCreditUserById(Long id) {
         return creditUserMapper.deleteCreditUserById(id);
     }
+
+    @Override
+    public String importCredit(List<CreditUser> creditUserList) {
+
+        List<String> listName = new ArrayList<>();
+        List<CreditUser> creditUserListAll = new ArrayList<>();
+
+        for (CreditUser creditUser : creditUserList) {
+            //通过身份证号查出该人员户籍号
+            String hjh = czrkMapper.getHjhByIdCard(creditUser.getIdCard());
+            if(StringUtils.isNotEmpty(hjh)){
+                //通过户籍号查询所有户籍下人员
+                List<Czrk> czrkList = czrkMapper.getAllCzrkByHjh(hjh);
+                for (Czrk czrk : czrkList) {
+                    //通过身份证号查询库里存不存在
+                    CreditUser credit = creditUserMapper.selectCreditUserByIdCard(czrk.getIdCard());
+                    if(Objects.isNull(credit)){
+                        credit = new CreditUser();
+                        credit.setUserName(czrk.getUserName());
+                        credit.setIdCard(czrk.getIdCard());
+                        credit.setCreditLevel(creditUser.getCreditLevel());
+                        credit.setCreditScore(creditUser.getCreditScore());
+                        credit.setGender(czrk.getGender());
+                        credit.setAge(czrk.getAge());
+                        credit.setPhoneNum(czrk.getPhoneNum());
+                        credit.setProvinceId(czrk.getProvinceId());
+                        credit.setProvince(czrk.getProvince());
+                        credit.setCityId(czrk.getCity());
+                        credit.setCity(czrk.getCity());
+                        credit.setRegionId(czrk.getRegionId());
+                        credit.setRegion(czrk.getRegion());
+                        credit.setVillageTownsId(czrk.getVillageTownsId());
+                        credit.setVillageTowns(czrk.getVillageTowns());
+                        credit.setVillageId(czrk.getVillageId());
+                        credit.setVillage(czrk.getVillage());
+                        credit.setVillagerGroupId(czrk.getVillagerGroupId());
+                        credit.setVillagerGroup(czrk.getVillagerGroup());
+                        credit.setNowIn(czrk.getNowIn());
+                        creditUserMapper.insertCreditUser(credit);
+                        creditUserListAll.add(credit);
+                    }
+                }
+            }else{
+                listName.add(creditUser.getUserName()+"--"+creditUser.getIdCard());
+            }
+        }
+
+        log.info("未找到的人员信息:{}", listName.toString());
+
+        return "导入成功,以下人员未找到信息"+listName.toString();
+    }
+
+    @Override
+    public List<CreditUser> getAllCreditUser(CreditUser creditUser) {
+        List<CreditUser> creditUserList = creditUserMapper.selectCreditUserList(creditUser);
+        return creditUserList;
+    }
 }

+ 13 - 5
ruoyi-system/src/main/resources/mapper/system/CreditUserMapper.xml

@@ -62,7 +62,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="phoneNum != null  and phoneNum != ''"> and phone_num = #{phoneNum}</if>
         </where>
     </select>
-        
+    <select id="selectCreditUserByIdCard" resultMap="CreditUserResult">
+        <include refid="selectCreditUserVo"/>
+        where id_card = #{idCard} and is_del = 'N' limit 1
+    </select>
+    <select id="getAllCreditUser" resultMap="CreditUserResult">
+        <include refid="selectCreditUserVo"/>
+        where 1=1
+        and DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{startTime},'%Y-%m-%d %H:%i:%s')
+        and DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{endTime},'%Y-%m-%d %H:%i:%s')
+    </select>
+
     <insert id="insertCreditUser" parameterType="CreditUser" useGeneratedKeys="true" keyProperty="id">
         insert into credit_user
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -87,11 +97,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="villagerGroup != null">villager_group,</if>
             <if test="nowIn != null">now_in,</if>
             <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
-            <if test="updateTime != null">update_time,</if>
             <if test="isDel != null">is_del,</if>
             <if test="deleteReason != null">delete_reason,</if>
+            create_time,update_time
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="userName != null">#{userName},</if>
@@ -115,11 +124,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="villagerGroup != null">#{villagerGroup},</if>
             <if test="nowIn != null">#{nowIn},</if>
             <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
-            <if test="updateTime != null">#{updateTime},</if>
             <if test="isDel != null">#{isDel},</if>
             <if test="deleteReason != null">#{deleteReason},</if>
+            sysdate(),sysdate()
          </trim>
     </insert>
 

+ 83 - 0
ruoyi-system/src/main/resources/mapper/system/CzrkMapper.xml

@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.shujuju.CzrkMapper">
+
+    <resultMap type="Czrk" id="CzrkResult">
+        <result property="id" column="id"/>
+        <result property="czrkJzdzId" column="czrk_jzdz_id"/>
+        <result property="userName" column="user_name"/>
+        <result property="gender" column="gender"/>
+        <result property="age" column="age"/>
+        <result property="birthday" column="birthday"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="idCard" column="id_card"/>
+        <result property="phoneNum" column="phone_num"/>
+        <result property="code" column="code"/>
+        <result property="houseType" column="house_type"/>
+        <result property="rlr" column="rlr"/>
+        <result property="rlrNike" column="rlr_nike"/>
+        <result property="rlTime" column="rl_time"/>
+        <result property="keyIndustries" column="key_industries"/>
+        <result property="yhzgx" column="yhzgx"/>
+        <result property="workUnit" column="work_unit"/>
+        <result property="provinceId" column="province_id"/>
+        <result property="province" column="province"/>
+        <result property="cityId" column="city_id"/>
+        <result property="city" column="city"/>
+        <result property="regionId" column="region_id"/>
+        <result property="isRl" column="is_rl"/>
+        <result property="region" column="region"/>
+        <result property="villageTownsId" column="village_towns_id"/>
+        <result property="villageTowns" column="village_towns"/>
+        <result property="villageId" column="village_id"/>
+        <result property="village" column="village"/>
+        <result property="villagerGroupId" column="villager_group_id"/>
+        <result property="villagerGroup" column="villager_group"/>
+        <result property="nowIn" column="now_in"/>
+        <result property="remark" column="remark"/>
+        <result property="gridId" column="grid_id"/>
+        <result property="status" column="status"/>
+        <result property="changUser" column="chang_user"/>
+        <result property="changNikeUser" column="chang_nike_user"/>
+        <result property="changUserTime" column="chang_user_time"/>
+        <result property="isConfirm" column="is_confirm"/>
+        <result property="confirmInfoUser" column="confirm_info_user"/>
+        <result property="confirmInfoNikeUser" column="confirm_info_nike_user"/>
+        <result property="confirmInfoUserTime" column="confirm_info_user_time"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="isDel" column="is_del"/>
+        <result property="deleteReason" column="delete_reason"/>
+        <result property="isNucleicAcid" column="is_nucleicAcid"/>
+        <result property="nucleicAcidTime" column="nucleicAcid_time"/>
+
+        <result property="toAppropriatePhone" column="to_appropriate_phone"/>
+        <result property="toAppropriateTime" column="to_appropriate_time"/>
+
+    </resultMap>
+
+
+
+
+    <sql id="selectCzrkVo">
+        select id, user_name, gender, age, birthday,dept_id, id_card, phone_num, code, house_type, rlr,rlr_nike, rl_time, yhzgx
+             , work_unit, province_id, province, city_id, city, region_id, region, village_towns_id, village_towns
+             , village_id, village, villager_group_id, villager_group, now_in, remark,grid_id, status,is_confirm,confirm_info_user,confirm_info_nike_user,confirm_info_user_time, create_by, create_time
+             , update_by, update_time, is_del, delete_reason,  is_rl, key_industries from czrk
+    </sql>
+
+
+    <select id="getHjhByIdCard" resultType="java.lang.String" parameterType="java.lang.String">
+        select code from qianshan_data_bureau.czrk where id_card = #{idCard} and is_del = 'N' and  `status` = '1' limit 1
+    </select>
+
+    <select id="getAllCzrkByHjh" resultMap="CzrkResult">
+        select user_name,id_card,gender,age,phone_num,province_id,province,city_id,city,region_id,region,
+               village_towns_id,village_towns,village_id,village,villager_group_id,villager_group,now_in
+        from qianshan_data_bureau.czrk where code = #{hjh} and is_del = 'N' and  `status` = '1'
+    </select>
+</mapper>