소스 검색

fix 新增核酸检测列表页面

tjf 3 년 전
부모
커밋
8f07941521

+ 20 - 0
boman-common/boman-common-core/src/main/java/com/boman/common/core/utils/DateUtils.java

@@ -6,6 +6,8 @@ import java.text.ParseException;
 import java.text.ParsePosition;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.time.temporal.ChronoUnit;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -57,6 +59,12 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
         return null;
     }
 
+    /**
+     * 根据时间+多少天
+     * @param date
+     * @param i
+     * @return
+     */
     public static Date addDayOfDate(Date date,int i){
         Calendar c = Calendar.getInstance();
         c.setTime(date);
@@ -64,6 +72,18 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
         Date newDate = c.getTime();
         return newDate;
     }
+
+    /**
+     * 根据时间-日期
+     * @param i
+     * @return
+     */
+    public static String minusDayOfDate(int i){
+        LocalDateTime today = LocalDateTime.now();
+        LocalDateTime localDateTime = today.minusDays(i);
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        return localDateTime.format(formatter);
+    }
     /**
      * 当天的开始时间
      */

+ 17 - 12
boman-web-core/src/main/java/com/boman/web/core/controller/AccountingDataController.java

@@ -1,25 +1,17 @@
 package com.boman.web.core.controller;
-/**
- *
- * @author tjf
- * @Date: 2022/05/13/11:11
- */
-
 import com.boman.common.core.web.controller.BaseController;
 import com.boman.domain.TableDataInfo;
 import com.boman.web.core.domain.AccountingData;
 import com.boman.web.core.domain.vo.AccountingDataVo;
 import com.boman.web.core.service.accounting.IAccountingDataService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import java.util.List;
 
 /**
- * 常住人口Controller
+ * 潜山核酸数据Controller
  *
  * @author ruoyi
  * @date 2022-01-14
@@ -35,10 +27,23 @@ public class AccountingDataController extends BaseController {
      *  潜山核酸数据列表页(根据户籍地)
      * @return
      */
-    @GetMapping("/nucleicAcid/hj")
-    public TableDataInfo nucleicAcid(AccountingData accountingData) {
+    @PostMapping("/nucleicAcid/hj")
+    public TableDataInfo nucleicAcidHj(@RequestBody AccountingDataVo accountingData) {
+        startPage();
         List<AccountingDataVo> list = accountingDataService.nucleicAcidHJList(accountingData);
         return getDataTable(list);
     }
 
+    /***
+     *  潜山核酸数据列表页(根据居住地址)
+     * @return
+     */
+    @PostMapping("/nucleicAcid/jzdz")
+    public TableDataInfo nucleicAcidJzdz(@RequestBody AccountingDataVo accountingData) {
+        startPage();
+        List<AccountingDataVo> list = accountingDataService.nucleicAcidJzdzList(accountingData);
+        return getDataTable(list);
+    }
+
+
 }

+ 159 - 2
boman-web-core/src/main/java/com/boman/web/core/domain/vo/AccountingDataVo.java

@@ -129,7 +129,11 @@ public class AccountingDataVo extends BaseEntity {
     //@Excel(name = "户籍地的省份")
     private String province;
 
-
+    /**
+     * 户籍地的省份
+     */
+    //@Excel(name = "户籍地的省份")
+    private String provinceId;
 
     /**
      * 户籍地的城市
@@ -137,7 +141,11 @@ public class AccountingDataVo extends BaseEntity {
     //@Excel(name = "户籍地的城市")
     private String city;
 
-
+    /**
+     * 户籍地的城市
+     */
+    //@Excel(name = "户籍地的城市")
+    private String cityId;
 
     /**
      * 户籍地的区
@@ -145,6 +153,12 @@ public class AccountingDataVo extends BaseEntity {
     //@Excel(name = "户籍地的区")
     private String region;
 
+    /**
+     * 户籍地的区
+     */
+    //@Excel(name = "户籍地的区")
+    private String regionId;
+
 
     /**
      * 户籍地的镇
@@ -152,12 +166,24 @@ public class AccountingDataVo extends BaseEntity {
     //@Excel(name = "户籍地的镇")
     private String villageTowns;
 
+    /**
+     * 户籍地的镇
+     */
+    //@Excel(name = "户籍地的镇")
+    private String villageTownsId;
+
     /**
      * 户籍地的村
      */
     //@Excel(name = "户籍地的村")
     private String village;
 
+    /**
+     * 户籍地的村
+     */
+    //@Excel(name = "户籍地的村")
+    private String villageId;
+
     /**
      * 户籍地的详细地址
      */
@@ -170,6 +196,137 @@ public class AccountingDataVo extends BaseEntity {
     @Excel(name = "户籍地址")
     private String domicileSelect;
 
+    private String provinceIdXjd;
+    private String cityIdXjd;
+    private String regionIdXjd;
+    private String villageTownsIdXjd;
+    private String villageIdXjd;
+
+    private String provinceXjd;
+    private String cityXjd;
+    private String regionXjd;
+    private String villageTownsXjd;
+    private String villageXjd;
+
+    public String getCityXjd() {
+        return cityXjd;
+    }
+
+    public void setCityXjd(String cityXjd) {
+        this.cityXjd = cityXjd;
+    }
+
+    public String getProvinceXjd() {
+        return provinceXjd;
+    }
+
+    public void setProvinceXjd(String provinceXjd) {
+        this.provinceXjd = provinceXjd;
+    }
+
+    public String getRegionXjd() {
+        return regionXjd;
+    }
+
+    public void setRegionXjd(String regionXjd) {
+        this.regionXjd = regionXjd;
+    }
+
+    public String getVillageTownsXjd() {
+        return villageTownsXjd;
+    }
+
+    public void setVillageTownsXjd(String villageTownsXjd) {
+        this.villageTownsXjd = villageTownsXjd;
+    }
+
+    public String getVillageXjd() {
+        return villageXjd;
+    }
+
+    public void setVillageXjd(String villageXjd) {
+        this.villageXjd = villageXjd;
+    }
+
+    public String getProvinceId() {
+        return provinceId;
+    }
+
+    public void setProvinceId(String provinceId) {
+        this.provinceId = provinceId;
+    }
+
+    public String getCityId() {
+        return cityId;
+    }
+
+    public void setCityId(String cityId) {
+        this.cityId = cityId;
+    }
+
+    public String getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(String regionId) {
+        this.regionId = regionId;
+    }
+
+    public String getVillageTownsId() {
+        return villageTownsId;
+    }
+
+    public void setVillageTownsId(String villageTownsId) {
+        this.villageTownsId = villageTownsId;
+    }
+
+    public String getVillageId() {
+        return villageId;
+    }
+
+    public void setVillageId(String villageId) {
+        this.villageId = villageId;
+    }
+
+    public String getProvinceIdXjd() {
+        return provinceIdXjd;
+    }
+
+    public void setProvinceIdXjd(String provinceIdXjd) {
+        this.provinceIdXjd = provinceIdXjd;
+    }
+
+    public String getCityIdXjd() {
+        return cityIdXjd;
+    }
+
+    public void setCityIdXjd(String cityIdXjd) {
+        this.cityIdXjd = cityIdXjd;
+    }
+
+    public String getRegionIdXjd() {
+        return regionIdXjd;
+    }
+
+    public void setRegionIdXjd(String regionIdXjd) {
+        this.regionIdXjd = regionIdXjd;
+    }
+
+    public String getVillageTownsIdXjd() {
+        return villageTownsIdXjd;
+    }
+
+    public void setVillageTownsIdXjd(String villageTownsIdXjd) {
+        this.villageTownsIdXjd = villageTownsIdXjd;
+    }
+
+    public String getVillageIdXjd() {
+        return villageIdXjd;
+    }
+
+    public void setVillageIdXjd(String villageIdXjd) {
+        this.villageIdXjd = villageIdXjd;
+    }
 
     public String getProvince() {
         return province;

+ 9 - 2
boman-web-core/src/main/java/com/boman/web/core/mapper/AccountingDataMapper.java

@@ -18,9 +18,16 @@ import java.util.List;
 @Mapper
 public interface AccountingDataMapper {
     /**
-     *
+     *潜山核酸数据列表页(根据户籍地)
      * @param accountingData
      * @return
      */
-   List<AccountingDataVo> selectAccountingDataList(AccountingData accountingData);
+   List<AccountingDataVo> selectAccountingDataHjList(AccountingDataVo accountingData);
+
+    /**
+     * 潜山核酸数据列表页(根据居住地址)
+     * @param accountingData
+     * @return
+     */
+   List<AccountingDataVo> selectAccountingDataJzdzList(AccountingDataVo accountingData);
 }

+ 72 - 3
boman-web-core/src/main/java/com/boman/web/core/service/accounting/AccountingDataServiceImpl.java

@@ -4,32 +4,101 @@ package com.boman.web.core.service.accounting;
  * @Date: 2022/05/13/11:14
  */
 
+import com.alibaba.fastjson.JSON;
+import com.boman.common.core.utils.DateUtils;
+import com.boman.common.core.utils.StringUtils;
+import com.boman.domain.Czrk;
+import com.boman.domain.SysUser;
 import com.boman.web.core.domain.AccountingData;
 import com.boman.web.core.domain.vo.AccountingDataVo;
 import com.boman.web.core.mapper.AccountingDataMapper;
+import com.boman.web.core.utils.AuthUtils;
+import com.boman.web.core.utils.CzrkUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
+import static com.boman.web.core.utils.CzrkUtils.setQueryRole;
 
 /**
  * @author tjf
  * @Date: 2022/05/13/11:14
  */
 @Service
+@Slf4j
 public class AccountingDataServiceImpl implements IAccountingDataService{
 
     @Resource
     private AccountingDataMapper accountingDataMapper;
 
     /**
-     * 潜山核酸数据列表页
+     * 潜山核酸数据列表页(户籍地址)
+     * @param accountingData
+     * @return
+     */
+    @Override
+    public List<AccountingDataVo> nucleicAcidHJList(AccountingDataVo accountingData) {
+        SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
+        log.info("{}于{}查询核酸户籍人口列表,查询条件:{}"
+                , sysUser.getUserName(), DateUtils.dateTimeNow(), JSON.toJSONString(accountingData));
+        //获取时段
+        String timeSlot = accountingData.getTimeSlot();
+        if (StringUtils.isNotBlank(timeSlot)){
+            //开始时间
+            String startTime = DateUtils.minusDayOfDate(Integer.parseInt(timeSlot));
+            Date endTime = DateUtils.getNowDate();
+            Map<String,Object> map = new HashMap<>();
+            map.put("startTime",startTime);
+            map.put("endTime",endTime);
+            accountingData.setParams(map);
+        }
+        //设置查询列表权限
+        setQueryRole(accountingData, sysUser, Czrk.HJ);
+        List<AccountingDataVo> list = accountingDataMapper.selectAccountingDataHjList(accountingData);
+        list.forEach(e ->{
+            if (StringUtils.isNotBlank(e.getJcsj())){
+                e.setIsNucleicAcid("Y");
+            }
+        });
+        CzrkUtils.packAddrNucleicAcid(list);
+        return list;
+    }
+
+    /**
+     * 潜山核酸数据列表页(居住地址)
      * @param accountingData
      * @return
      */
     @Override
-    public List<AccountingDataVo> nucleicAcidHJList(AccountingData accountingData) {
-        List<AccountingDataVo> list = accountingDataMapper.selectAccountingDataList(accountingData);
+    public List<AccountingDataVo> nucleicAcidJzdzList(AccountingDataVo accountingData) {
+        SysUser sysUser = AuthUtils.getLoginUser().getSysUser();
+        log.info("{}于{}查询核酸居住人口列表,查询条件:{}"
+                , sysUser.getUserName(), DateUtils.dateTimeNow(), JSON.toJSONString(accountingData));
+        //获取时段
+        String timeSlot = accountingData.getTimeSlot();
+        if (StringUtils.isNotBlank(timeSlot)){
+            //开始时间
+            String startTime = DateUtils.minusDayOfDate(Integer.parseInt(timeSlot));
+            Date endTime = DateUtils.getNowDate();
+            Map<String,Object> map = new HashMap<>();
+            map.put("startTime",startTime);
+            map.put("endTime",endTime);
+            accountingData.setParams(map);
+        }
+        //设置查询列表权限
+        setQueryRole(accountingData, sysUser, Czrk.CZ);
+        List<AccountingDataVo> list = accountingDataMapper.selectAccountingDataJzdzList(accountingData);
+        list.forEach(e ->{
+            if (StringUtils.isNotBlank(e.getJcsj())){
+                e.setIsNucleicAcid("Y");
+            }
+        });
+        CzrkUtils.packAddrNucleicAcid(list);
         return list;
     }
 }

+ 9 - 2
boman-web-core/src/main/java/com/boman/web/core/service/accounting/IAccountingDataService.java

@@ -11,9 +11,16 @@ import java.util.List;
  */
 public interface IAccountingDataService {
     /**
-     * 核酸检测列表
+     * 核酸检测列表(户籍地址)
      * @param accountingData
      * @return
      */
-    List<AccountingDataVo> nucleicAcidHJList(AccountingData accountingData);
+    List<AccountingDataVo> nucleicAcidHJList(AccountingDataVo accountingData);
+
+    /**
+     * 核酸检测列表(居住地址)
+     * @param accountingData
+     * @return
+     */
+    List<AccountingDataVo> nucleicAcidJzdzList(AccountingDataVo accountingData);
 }

+ 91 - 0
boman-web-core/src/main/java/com/boman/web/core/utils/CzrkUtils.java

@@ -3,6 +3,7 @@ package com.boman.web.core.utils;
 import com.boman.common.core.exception.BaseException;
 import com.boman.common.core.utils.StringUtils;
 import com.boman.domain.*;
+import com.boman.web.core.domain.vo.AccountingDataVo;
 
 import java.util.List;
 import java.util.Map;
@@ -32,6 +33,22 @@ public class CzrkUtils {
         }
     }
 
+    /**
+     * 拼接出前端需要的户籍地或者现居住地(核酸检测使用)
+     */
+    public static void packAddrNucleicAcid(List<AccountingDataVo> accountingDataVos) {
+        if (isEmpty(accountingDataVos)) return;
+        for (AccountingDataVo accountingDataVo : accountingDataVos) {
+            // 户籍地
+            String province = nullToEmpty(accountingDataVo.getProvince()), city = nullToEmpty(accountingDataVo.getCity()), region = nullToEmpty(accountingDataVo.getRegion()), villageTowns = nullToEmpty(accountingDataVo.getVillageTowns()), village = nullToEmpty(accountingDataVo.getVillage());
+            accountingDataVo.setDomicileSelect(province + city + region + villageTowns + village);
+
+            // 现居住地
+            String provinceCz = nullToEmpty(accountingDataVo.getProvinceXjd()), cityCz = nullToEmpty(accountingDataVo.getCityXjd()), regionCz = nullToEmpty(accountingDataVo.getRegionXjd()), villageTownsCz = nullToEmpty(accountingDataVo.getVillageTownsXjd()), villageCz = nullToEmpty(accountingDataVo.getVillageXjd());
+            accountingDataVo.setNowInSelect(provinceCz + cityCz + regionCz + villageTownsCz + villageCz);
+        }
+    }
+
 
     /**
      * 人员信息拆分查询参数年龄
@@ -125,6 +142,80 @@ public class CzrkUtils {
     }
 
 
+
+    /**
+     * 查询使用(核酸检测)
+     * 根据当前登录人判断该用户是什么角色权限字符,来进行判断该用户能查询到什么层级的数据
+     *
+     * @param accountingDataVo
+     * @param sysUser
+     * @param type    查询常住还是户籍
+     */
+    public static void setQueryRole(AccountingDataVo accountingDataVo, SysUser sysUser, String type) {
+        SysDept dept = sysUser.getDept();
+        if (dept == null) {
+            throw new BaseException("对不起,未获相关部门信息");
+        }
+        // 从部门中获取行政区域规划id
+        String areaId = dept.getAreaId();
+        if (StringUtils.isBlank(areaId)) {
+            throw new BaseException(dept.getDeptName() + "当前未获取到部门下行政区域id");
+        }
+        //判断该用户是什么角色权限字符
+        List<SysRole> roles = sysUser.getRoles();
+        if (roles != null && roles.size() > 0) {
+            for (SysRole role : roles) {
+                if (role != null) {
+                    String roleKey = role.getRoleKey();
+                    if (StringUtils.isNotBlank(roleKey)) {
+                        if ("province".equals(roleKey)) {
+                            if (type.equals(Czrk.HJ)) {
+                                accountingDataVo.setProvinceId(areaId);
+                                break;
+                            } else {
+                                accountingDataVo.setProvinceIdXjd(areaId);
+                                break;
+                            }
+                        } else if ("city".equals(roleKey)) {
+                            if (type.equals(Czrk.HJ)) {
+                                accountingDataVo.setCityId(areaId);
+                                break;
+                            } else {
+                                accountingDataVo.setCityIdXjd(areaId);
+                                break;
+                            }
+                        } else if ("region".equals(roleKey)) {
+                            if (type.equals(Czrk.HJ)) {
+                                accountingDataVo.setRegionId(areaId);
+                                break;
+                            } else {
+                                accountingDataVo.setRegionIdXjd(areaId);
+                                break;
+                            }
+                        } else if ("villageTowns".equals(roleKey)) {
+                            if (type.equals(Czrk.HJ)) {
+                                accountingDataVo.setVillageTownsId(areaId);
+                                break;
+                            } else {
+                                accountingDataVo.setVillageTownsIdXjd(areaId);
+                                break;
+                            }
+                        } else if ("village".equals(roleKey)) {
+                            if (type.equals(Czrk.HJ)) {
+                                accountingDataVo.setVillageId(areaId);
+                                break;
+                            } else {
+                                accountingDataVo.setVillageIdXjd(areaId);
+                                break;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+
     /**
      * 查询使用(死亡导入人员权限)
      * 根据当前登录人判断该用户是什么角色权限字符,来进行判断该用户能查询到什么层级的数据

+ 88 - 39
boman-web-core/src/main/resources/mapper/AccountingDateMapper.xml

@@ -1,55 +1,104 @@
 <?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">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.boman.web.core.mapper.AccountingDataMapper">
 
     <resultMap type="AccountingData" id="AccountingDataResult">
-        <result property="id"    column="id"    />
-        <result property="jcsj"    column="jcsj"    />
-        <result property="lxdh"    column="lxdh"    />
-        <result property="address"    column="address"    />
-        <result property="batcNumber"    column="batch_number"    />
-        <result property="focusPerson"    column="focus_person"    />
-        <result property="jcjg"    column="jcjg"    />
-        <result property="fromCity"    column="from_city"    />
-        <result property="jcdd"    column="jcdd"    />
-        <result property="cjdd"    column="cjdd"    />
-        <result property="toCity"    column="to_city"    />
-        <result property="source"    column="source"    />
-        <result property="zjhm"    column="zjhm"    />
-        <result property="cjsj"    column="cjsj"    />
-        <result property="certificateNoType"    column="certificate_no_type"    />
-        <result property="xm"    column="xm"    />
-        <result property="transit"    column="transit"    />
-        <result property="collectorName"    column="collector_name"    />
-        <result property="cjssxq"    column="cjssxq"    />
-        <result property="mainKey"    column="main_key"    />
-        <result property="modifyDate"    column="modify_date"    />
-        <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="id" column="id"/>
+        <result property="jcsj" column="jcsj"/>
+        <result property="lxdh" column="lxdh"/>
+        <result property="address" column="address"/>
+        <result property="batcNumber" column="batch_number"/>
+        <result property="focusPerson" column="focus_person"/>
+        <result property="jcjg" column="jcjg"/>
+        <result property="fromCity" column="from_city"/>
+        <result property="jcdd" column="jcdd"/>
+        <result property="cjdd" column="cjdd"/>
+        <result property="toCity" column="to_city"/>
+        <result property="source" column="source"/>
+        <result property="zjhm" column="zjhm"/>
+        <result property="cjsj" column="cjsj"/>
+        <result property="certificateNoType" column="certificate_no_type"/>
+        <result property="xm" column="xm"/>
+        <result property="transit" column="transit"/>
+        <result property="collectorName" column="collector_name"/>
+        <result property="cjssxq" column="cjssxq"/>
+        <result property="mainKey" column="main_key"/>
+        <result property="modifyDate" column="modify_date"/>
+        <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="phoneNum"    column="phoneNum"    />
-        <result property="province"    column="province"    />
-        <result property="city"    column="city"    />
-        <result property="region"    column="region"    />
-        <result property="villageTowns"    column="villageTowns"    />
-        <result property="village"    column="village"    />
-        <result property="nowIn"    column="nowIn"    />
-        <result property="nowInSelect"    column="nowInSelect"    />
-        <result property="domicileSelect"    column="domicileSelect"    />
-        <result property="isNucleicAcid"    column="isNucleicAcid"    />
+        <result property="phoneNum" column="phone_num"/>
+        <result property="province" column="province"/>
+        <result property="city" column="city"/>
+        <result property="region" column="region"/>
+        <result property="villageTowns" column="village_towns"/>
+        <result property="village" column="village"/>
+        <result property="nowIn" column="now_in"/>
+        <result property="nowInSelect" column="nowInSelect"/>
+        <result property="domicileSelect" column="domicileSelect"/>
+        <result property="isNucleicAcid" column="isNucleicAcid"/>
+
+
+        <result property="provinceXjd" column="provinceXjd"/>
+        <result property="cityXjd" column="cityXjd"/>
+        <result property="regionXjd" column="regionXjd"/>
+        <result property="villageTownsXjd" column="villageTownsXjd"/>
+        <result property="villageXjd" column="villageXjd"/>
+        <result property="nowXjd" column="nowXjd"/>
     </resultMap>
 
     <sql id="selectAccountingDataVo">
         select d.id,d.jcsj, d.lxdh ,d.address, d.batch_number,d.focus_person,d.jcjg,d.from_city,d.jcdd,d.cjdd,d.to_city,d.source,d.zjhm,d.cjsj,d.certificate_no_type,d.xm,d.transit,d.collector_name,d.cjssxq,d.main_key,d.modify_date, d.create_by, d.create_time, d.update_by, d.update_time from accounting_data d
     </sql>
 
-    <select id="selectAccountingDataList" parameterType="com.boman.web.core.domain.AccountingData" resultMap="AccountingDataResult">
+    <select id="selectAccountingDataHjList" parameterType="com.boman.web.core.domain.vo.AccountingDataVo"
+            resultMap="AccountingDataResult">
+        SELECT
+        r.id,r.user_name,r.id_card as zjhm,r.province,r.city,r.region,r.village_towns,r.village,r.now_in,r.phone_num,d.lxdh,d.jcsj,d.jcdd
+        FROM czrk r left join `accounting_data` d on r.id_card = d.zjhm
+        <where>
+            r.is_del = 'N'
+            and r.status = '1'
+            and d.is_del = 'N'
+            <if test="idCard != null  and idCard != ''">and r.id_card = #{idCard}</if>
+            <if test="userName != null  and userName != ''">and r.user_name like concat(#{userName}, '%')</if>
+            <if test="params.startTime != null  and params.startTime != ''">and DATE_FORMAT(d.jcsj,'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{params.startTime},'%Y-%m-%d %H:%i:%s')</if>
+            <if test="params.endTime != null  and params.endTime != ''">and DATE_FORMAT(d.jcsj,'%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{params.endTime},'%Y-%m-%d %H:%i:%s')</if>
+            <if test="isNucleicAcid != null  and isNucleicAcid != '' and isNucleicAcid == 'N'">and DATE_FORMAT(d.jcsj,'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT('1900-01-01 00:00:00','%Y-%m-%d %H:%i:%s')</if>
+            <if test="provinceId != null  and provinceId != ''">and r.province_id = #{provinceId}</if>
+            <if test="cityId != null  and cityId != ''">and r.city_id = #{cityId}</if>
+            <if test="regionId != null  and regionId != ''">and r.region_id = #{regionId}</if>
+            <if test="villageTownsId != null  and villageTownsId != ''">and r.village_towns_id = #{villageTownsId}</if>
+            <if test="villageId != null  and villageId != ''">and r.village_id = #{villageId}</if>
+        </where>
+    </select>
 
+    <select id="selectAccountingDataJzdzList" parameterType="com.boman.web.core.domain.vo.AccountingDataVo"
+            resultMap="AccountingDataResult">
+        select r.user_name, r.phone_num, r.id_card as zjhm,
+        z.province as provinceXjd , z.city as cityXjd,z.region as regionXjd , z.town as villageTownsXjd, z.village as villageXjd,z.now_in as nowXjd,d.lxdh,d.jcsj,d.jcdd
+        from czrk r left join czrk_jzdz z on r.id =z.czrk_id
+        left join `accounting_data` d on r.id_card = d.zjhm
+        <where>
+            r.is_del = 'N'
+            and r.status = '1'
+            and d.is_del = 'N'
+            <if test="idCard != null  and idCard != ''">and r.id_card = #{idCard}</if>
+            <if test="userName != null  and userName != ''">and r.user_name like concat(#{userName}, '%')</if>
+            <if test="params.startTime != null  and params.startTime != ''">and DATE_FORMAT(d.jcsj,'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{params.startTime},'%Y-%m-%d %H:%i:%s')</if>
+            <if test="params.endTime != null  and params.endTime != ''">and DATE_FORMAT(d.jcsj,'%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{params.endTime},'%Y-%m-%d %H:%i:%s')</if>
+            <if test="isNucleicAcid != null  and isNucleicAcid != ''">and DATE_FORMAT(d.jcsj,'%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT('1900-01-01 00:00:00','%Y-%m-%d %H:%i:%s')</if>
+            <if test="provinceIdXjd != null and provinceIdXjd != ''">and z.province_id = #{provinceIdXjd}</if>
+            <if test="cityIdXjd != null and cityIdXjd != ''">and z.city_id = #{cityIdXjd}</if>
+            <if test="regionIdXjd != null and regionIdXjd != ''">and z.region_id = #{regionIdXjd}</if>
+            <if test="villageTownsIdXjd != null and villageTownsIdXjd != ''">and z.town_id = #{villageTownsIdXjd}</if>
+            <if test="villageIdXjd != null and villageIdXjd != ''">and z.village_id = #{villageIdXjd}</if>
+        </where>
     </select>
 </mapper>