linwe
2024-08-09 8b7258c9427882bb1798f1502eaa35184c6e374e
src/main/java/org/springblade/modules/house/controller/HouseholdController.java
@@ -21,7 +21,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import liquibase.pro.packaged.S;
import liquibase.repackaged.org.apache.commons.lang3.StringUtils;
import lombok.AllArgsConstructor;
import org.springblade.common.node.TreeIntegerNode;
import org.springblade.core.boot.ctrl.BladeController;
@@ -35,9 +35,12 @@
import org.springblade.core.tool.jackson.JsonUtil;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.modules.house.entity.HouseholdEntity;
import org.springblade.modules.house.excel.HouseHoldExcel;
import org.springblade.modules.house.excel.HouseHoldImporter;
import org.springblade.modules.house.excel.ExportHouseholdExcel;
import org.springblade.modules.house.excel.HouseTenantExcel;
import org.springblade.modules.house.excel.ImportHouseholdExcel;
import org.springblade.modules.house.excel.ImportTenantHouseholdExcel;
import org.springblade.modules.house.service.IHouseholdService;
import org.springblade.modules.house.vo.AddHouseholdVO;
import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.house.wrapper.HouseholdWrapper;
import org.springframework.transaction.annotation.Transactional;
@@ -46,8 +49,8 @@
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * 住户 控制器
@@ -72,7 +75,7 @@
   @ApiLog("住户 详情")
   @ApiOperation(value = "详情", notes = "传入household")
   public R<HouseholdVO> detail(HouseholdEntity household) {
      bladeLogger.info("住户 详情", JsonUtil.toJson(household));
      bladeLogger.info("住户详情查询", JsonUtil.toJson(household));
      HouseholdEntity detail = householdService.getOne(Condition.getQueryWrapper(household).last("limit 1"));
      return R.data(HouseholdWrapper.build().entityVO(detail));
   }
@@ -87,7 +90,7 @@
   @ApiLog("住户 详情")
   @ApiOperation(value = "详情", notes = "传入household")
   public R getDetail(HouseholdEntity household) {
      bladeLogger.info("住户 详情", JsonUtil.toJson(household));
      bladeLogger.info("住户详情查询", JsonUtil.toJson(household));
      return R.data(householdService.getDetail(household));
   }
@@ -110,7 +113,7 @@
   @ApiLog("住户 自定义分页")
   @ApiOperation(value = "分页", notes = "传入household")
   public R<IPage<HouseholdVO>> page(HouseholdVO household, Query query) {
      bladeLogger.info("住户 自定义分页", JsonUtil.toJson(household));
      bladeLogger.info("住户列表信息查询", JsonUtil.toJson(household));
      IPage<HouseholdVO> pages = householdService.selectHouseholdPage(Condition.getPage(query), household);
      return R.data(pages);
   }
@@ -123,7 +126,7 @@
   @ApiLog("住户 自定义分页")
   @ApiOperation(value = "分页", notes = "传入household")
   public R<IPage<HouseholdVO>> getKeynotePersonnelPage(HouseholdVO household, Query query) {
      bladeLogger.info("住户 自定义分页", JsonUtil.toJson(household));
      bladeLogger.info("住户列表信息查询", JsonUtil.toJson(household));
      IPage<HouseholdVO> pages = householdService.getKeynotePersonnelPage(Condition.getPage(query), household);
      return R.data(pages);
   }
@@ -195,8 +198,25 @@
   @ApiLog("住户 自定义新增或修改")
   @ApiOperation(value = "自定义新增或修改", notes = "传入household")
   public R saveOrUpdateHousehold(@Valid @RequestBody HouseholdVO household) {
      bladeLogger.info("住户 自定义新增或修改", JsonUtil.toJson(household));
      bladeLogger.info("住户信息新增或修改", JsonUtil.toJson(household));
      return R.status(householdService.saveOrUpdateHousehold(household));
   }
   /**
    * 批量自定义新增或修改
    *
    * @param addHouseholdVO
    * @return
    */
   @PostMapping("/saveOrUpdateHouseholdBatch")
   @ApiLog("批量自定义新增或修改")
   @ApiOperation(value = "批量自定义新增或修改", notes = "传入household")
   public R saveOrUpdateHouseholdBatch(@Valid @RequestBody AddHouseholdVO addHouseholdVO) {
      bladeLogger.info("住户信息新增或修改", JsonUtil.toJson(addHouseholdVO));
      List<HouseholdVO> householdVOList = addHouseholdVO.getHouseholdVOList();
      boolean result = householdService.saveOrUpdateHouseholdBatch(householdVOList);
      return R.status(result);
   }
   /**
@@ -208,7 +228,7 @@
   @ApiOperation(value = "逻辑删除", notes = "传入ids")
   @Transactional(rollbackFor = Exception.class)
   public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
      bladeLogger.info("住户 删除", JsonUtil.toJson(ids));
      bladeLogger.info("住户信息删除", JsonUtil.toJson(ids));
      // 返回
      return R.status(householdService.removeHousehold(ids));
   }
@@ -226,28 +246,114 @@
   }
   /**
    * 导入用户
    * 导入住户
    */
   @PostMapping("import-household")
   @ApiOperationSupport(order = 12)
   @ApiOperation(value = "导入住户", notes = "传入excel")
   public R importUser(MultipartFile file, Integer isCovered) {
      HouseHoldImporter houseHoldImporter = new HouseHoldImporter(householdService, isCovered == 1);
      ExcelUtil.save(file, houseHoldImporter, HouseHoldExcel.class);
      return R.success("操作成功");
   public R importUser(MultipartFile file, Integer isCovered, @RequestParam(value = "isTenant", required = false) String isTenant) {
      bladeLogger.info("住户信息导入", JsonUtil.toJson(isCovered));
      String data = householdService.importUserHouseHold(ExcelUtil.read(file, ImportHouseholdExcel.class), isCovered == 1, isTenant);
      return R.data(200, data, data);
   }
   /**
    * 导出用户
    * 导出住户
    */
   @GetMapping("export-household")
   @ApiOperationSupport(order = 13)
   @ApiOperation(value = "导出住户", notes = "传入user")
   public void exportUser(HouseholdVO household, HttpServletResponse response) {
      List<HouseHoldExcel> list = householdService.export(household);
      ExcelUtil.export(response, "住户户数据" + DateUtil.time(), "住户数据表", list, HouseHoldExcel.class);
      List<ExportHouseholdExcel> list = householdService.export(household);
      ExcelUtil.export(response, "租户户数据" + DateUtil.time(), "住户数据表", list, ExportHouseholdExcel.class);
   }
   /**
    * 模板下載
    */
   @GetMapping("/export-template")
   @ApiOperationSupport(order = 15)
   @ApiOperation(value = "模板下載", notes = "传入response")
   public void exportUser(HttpServletResponse response, @RequestParam(value = "isTenant", required = false) String isTenant) {
      List<ImportHouseholdExcel> list = new ArrayList<>();
      ImportHouseholdExcel houseHoldExcel = new ImportHouseholdExcel();
      // 设置模板数据
      houseHoldExcel.setHouseCode("Afdsfdasf5421********411214");
      houseHoldExcel.setName("张三");
      houseHoldExcel.setGender("1");
      houseHoldExcel.setPhoneNumber("13112341234");
      houseHoldExcel.setBirthday("2001-01-01");
      houseHoldExcel.setIdCard("360*************0001");
      houseHoldExcel.setOtherContact("13112341234");
      if (StringUtils.isBlank(isTenant)) {
         houseHoldExcel.setRelationship("1");
      } else {
         houseHoldExcel.setRelationship("18");
      }
      houseHoldExcel.setIsPrimaryContact("1");
      houseHoldExcel.setResidentialStatus("1");
      houseHoldExcel.setEthnicity("1");
      houseHoldExcel.setHukouRegistration("江西上饶****");
      houseHoldExcel.setCurrentAddress("江西上饶****");
      houseHoldExcel.setPartyEmber("2");
      houseHoldExcel.setEducation("21");
      houseHoldExcel.setOccupation("***");
      houseHoldExcel.setEmployer("***单位");
      houseHoldExcel.setCmpyRegAddr("江西上饶****");
      houseHoldExcel.setWorkStatus("1");
      houseHoldExcel.setMaritalStatus("1");
      houseHoldExcel.setReligiousBelief("***");
      houseHoldExcel.setHealthStatus("1");
      houseHoldExcel.setGoOutWhere("去***");
      houseHoldExcel.setGoOutAddr("回老家");
      houseHoldExcel.setGoOutTime("2024-01-01");
      houseHoldExcel.setGoOutAddr("江西上饶********");
      houseHoldExcel.setCardNumber("赣*****");
      houseHoldExcel.setVolunteerOrg("信州义警");
      houseHoldExcel.setRemark("*****");
      houseHoldExcel.setLabelName("普通群众");
      list.add(houseHoldExcel);
      ExcelUtil.export(response, "住户数据模板", "住户数据表", list, ImportHouseholdExcel.class);
   }
   /**
    * 导出住户
    */
   @GetMapping("export-tenant-household")
   @ApiOperationSupport(order = 13)
   @ApiOperation(value = "导出住户", notes = "传入user")
   public void exporttenantUser(HouseholdVO household, HttpServletResponse response) {
      List<HouseTenantExcel> list = householdService.exportTenant(household);
      ExcelUtil.export(response, "住户户数据" + DateUtil.time(), "住户数据表", list, HouseTenantExcel.class);
   }
   /**
    * 模板下載
    */
   @GetMapping("/export-tenant-template")
   @ApiOperationSupport(order = 15)
   @ApiOperation(value = "模板下載", notes = "传入response")
   public void exportTenantUser(HttpServletResponse response, @RequestParam(value = "isTenant", required = false) String isTenant) {
      List<ImportTenantHouseholdExcel> list = new ArrayList<>();
      ImportTenantHouseholdExcel houseHoldExcel = new ImportTenantHouseholdExcel();
      // 设置模板数据
      houseHoldExcel.setHouseCode("Afdsfdasf5421********411214");
      houseHoldExcel.setName("张三");
      houseHoldExcel.setGender("1");
      houseHoldExcel.setPhoneNumber("13112341234");
      houseHoldExcel.setBirthday("2001-01-01");
      houseHoldExcel.setIdCard("360*************0001");
      if (StringUtils.isBlank(isTenant)) {
         houseHoldExcel.setRelationship("1");
      } else {
         houseHoldExcel.setRelationship("18");
      }
      houseHoldExcel.setEthnicity("1");
      houseHoldExcel.setHukouRegistration("江西上饶****");
      list.add(houseHoldExcel);
      ExcelUtil.export(response, "租户数据模板", "租户数据表", list, ImportTenantHouseholdExcel.class);
   }
   /**
    * 住户对应物业,网格,公安负责人查询