| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import io.swagger.annotations.ApiParam; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springblade.common.node.TreeIntegerNode; |
| | | import org.springblade.core.boot.ctrl.BladeController; |
| | | import org.springblade.core.excel.util.ExcelUtil; |
| | | import org.springblade.core.log.annotation.ApiLog; |
| | | import org.springblade.core.log.logger.BladeLogger; |
| | | import org.springblade.core.mp.support.Condition; |
| | | import org.springblade.core.mp.support.Query; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.jackson.JsonUtil; |
| | | import org.springblade.core.tool.utils.DateUtil; |
| | | import org.springblade.core.tool.utils.Func; |
| | | import org.springblade.modules.house.entity.HouseholdEntity; |
| | | import org.springblade.modules.house.excel.HouseHoldExcel; |
| | | import org.springblade.modules.house.excel.ImportHouseholdExcel; |
| | | import org.springblade.modules.house.excel.HouseHoldImporter; |
| | | import org.springblade.modules.house.service.IHouseholdService; |
| | | import org.springblade.modules.house.vo.HouseholdVO; |
| | | import org.springblade.modules.house.wrapper.HouseholdWrapper; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import javax.validation.Valid; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | public class HouseholdController extends BladeController { |
| | | |
| | | private final IHouseholdService householdService; |
| | | private final BladeLogger bladeLogger; |
| | | |
| | | /** |
| | | * 住户 详情 |
| | | */ |
| | | @GetMapping("/detail") |
| | | @ApiOperationSupport(order = 1) |
| | | @ApiLog("住户 详情") |
| | | @ApiOperation(value = "详情", notes = "传入household") |
| | | public R<HouseholdVO> detail(HouseholdEntity household) { |
| | | HouseholdEntity detail = householdService.getOne(Condition.getQueryWrapper(household)); |
| | | bladeLogger.info("住户 详情", JsonUtil.toJson(household)); |
| | | HouseholdEntity detail = householdService.getOne(Condition.getQueryWrapper(household).last("limit 1")); |
| | | return R.data(HouseholdWrapper.build().entityVO(detail)); |
| | | } |
| | | |
| | | /** |
| | | * 住户 自定义查询详情 |
| | | * |
| | | * @param household |
| | | * @return |
| | | */ |
| | | @GetMapping("/getDetail") |
| | | @ApiLog("住户 详情") |
| | | @ApiOperation(value = "详情", notes = "传入household") |
| | | public R getDetail(HouseholdEntity household) { |
| | | bladeLogger.info("住户 详情", JsonUtil.toJson(household)); |
| | | return R.data(householdService.getDetail(household)); |
| | | } |
| | | |
| | | /** |
| | | * 住户 分页 |
| | | */ |
| | |
| | | */ |
| | | @GetMapping("/page") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiLog("住户 自定义分页") |
| | | @ApiOperation(value = "分页", notes = "传入household") |
| | | public R<IPage<HouseholdVO>> page(HouseholdVO household, Query query) { |
| | | bladeLogger.info("住户 自定义分页", JsonUtil.toJson(household)); |
| | | IPage<HouseholdVO> pages = householdService.selectHouseholdPage(Condition.getPage(query), household); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 住户 自定义分页 |
| | | */ |
| | | @GetMapping("/getKeynotePersonnelPage") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiLog("住户 自定义分页") |
| | | @ApiOperation(value = "分页", notes = "传入household") |
| | | public R<IPage<HouseholdVO>> getKeynotePersonnelPage(HouseholdVO household, Query query) { |
| | | bladeLogger.info("住户 自定义分页", JsonUtil.toJson(household)); |
| | | IPage<HouseholdVO> pages = householdService.getKeynotePersonnelPage(Condition.getPage(query), household); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | /** |
| | | * 住户标签统计 |
| | | */ |
| | | @GetMapping("/getlabelStatistics") |
| | | @ApiOperationSupport(order = 3) |
| | | @ApiLog("住户标签统计") |
| | | @ApiOperation(value = "住户标签统计", notes = "传入household") |
| | | public R<List<TreeIntegerNode>> getlabelStatistics(HouseholdVO household) { |
| | | bladeLogger.info("住户标签统计", JsonUtil.toJson(household)); |
| | | List<TreeIntegerNode> pages = householdService.getlabelStatistics(household); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 住户列表查询 |
| | | * |
| | | * @param household |
| | | * @return |
| | | */ |
| | | @GetMapping("/selectHouseholdList") |
| | | @ApiLog("住户列表查询") |
| | | public R selectHouseholdList(HouseholdVO household) { |
| | | bladeLogger.info("住户列表查询", JsonUtil.toJson(household)); |
| | | return R.data(householdService.selectHouseholdList(household)); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | /** |
| | | * 住户 自定义新增或修改 |
| | | * |
| | | * @param household |
| | | * @return |
| | | */ |
| | | @PostMapping("/saveOrUpdateHousehold") |
| | | @ApiLog("住户 自定义新增或修改") |
| | | @ApiOperation(value = "自定义新增或修改", notes = "传入household") |
| | | public R saveOrUpdateHousehold(@Valid @RequestBody HouseholdVO household) { |
| | | bladeLogger.info("住户 自定义新增或修改", JsonUtil.toJson(household)); |
| | | return R.status(householdService.saveOrUpdateHousehold(household)); |
| | | } |
| | | |
| | |
| | | */ |
| | | @PostMapping("/remove") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiLog("住户 删除") |
| | | @ApiOperation(value = "逻辑删除", notes = "传入ids") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
| | | return R.status(householdService.removeByIds(Func.toLongList(ids))); |
| | | bladeLogger.info("住户 删除", JsonUtil.toJson(ids)); |
| | | // 返回 |
| | | return R.status(householdService.removeHousehold(ids)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 住户审核统计 |
| | | */ |
| | | @PostMapping("/statistics") |
| | | @ApiOperationSupport(order = 7) |
| | | @ApiLog("住户审核统计") |
| | | @ApiOperation(value = "住户审核统计", notes = "网格员调用") |
| | | public R getStatistics() { |
| | | return R.data(householdService.statistics(AuthUtil.getUserId(), "")); |
| | | return R.data(householdService.statistics(AuthUtil.getUserId(), "",0)); |
| | | } |
| | | |
| | | /** |
| | | * 导入用户 |
| | | * 导入住户 |
| | | */ |
| | | @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("操作成功"); |
| | | String data = householdService.importUserHouseHold(ExcelUtil.read(file, ImportHouseholdExcel.class),isCovered==1); |
| | | return R.data(200,data,null); |
| | | } |
| | | |
| | | /** |
| | | * 导出用户 |
| | | * 导出住户 |
| | | */ |
| | | @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<ImportHouseholdExcel> list = householdService.export(household); |
| | | ExcelUtil.export(response, "住户户数据" + DateUtil.time(), "住户数据表", list, ImportHouseholdExcel.class); |
| | | } |
| | | |
| | | /** |
| | | * 模板下載 |
| | | */ |
| | | @GetMapping("/export-template") |
| | | @ApiOperationSupport(order = 15) |
| | | @ApiOperation(value = "模板下載", notes = "传入response") |
| | | public void exportUser(HttpServletResponse response) { |
| | | 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"); |
| | | houseHoldExcel.setRelationship("1"); |
| | | 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); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 住户对应物业,网格,公安负责人查询 |
| | | * |
| | | * @param household |
| | | * @return |
| | | */ |
| | | @GetMapping("/getHouseholdOtherInfo") |
| | | @ApiOperationSupport(order = 14) |
| | | @ApiLog("住户对应物业,网格,公安负责人查询") |
| | | @ApiOperation(value = "住户对应物业,网格,公安负责人查询", notes = "住户对应物业,网格,公安负责人查询") |
| | | public R getHouseholdOtherInfo(HouseholdVO household) { |
| | | bladeLogger.info("住户对应物业,网格,公安负责人查询", JsonUtil.toJson(household)); |
| | | return R.data(householdService.getHouseholdOtherInfo(household)); |
| | | } |
| | | |
| | | /** |
| | | * 用户信息统计 |
| | | * |
| | | * @param code |
| | | * @param roleType |
| | | * @return |
| | | */ |
| | | @GetMapping("/getHouseHoldStatistics") |
| | | @ApiOperationSupport(order = 14) |
| | | @ApiLog("e呼即办表 详情") |
| | | @ApiOperation(value = "用户信息统计", notes = " ") |
| | | public R getHouseHoldStatistics(@RequestParam("code") String code, @RequestParam("roleType") String roleType) { |
| | | return R.data(householdService.getHouseHoldStatistics(code,roleType)); |
| | | return R.data(householdService.getHouseHoldStatistics(code, roleType)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 住户业主信息处理,将业主人员插入到用户表 |
| | | * |
| | | * @return |
| | | */ |
| | | @GetMapping("/userHandle") |
| | |
| | | return R.data(householdService.userHandle()); |
| | | } |
| | | |
| | | /** |
| | | * 获取所有住户 |
| | | * |
| | | * @return |
| | | */ |
| | | @GetMapping("/getAllHouseHold") |
| | | public R getAllHouseHold(HouseholdVO household) { |
| | | return R.data(householdService.getAllHouseHold(household)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 通过小区id查询用户 |
| | | */ |
| | | @GetMapping("/getUserInfoByDistrictIds") |
| | | @ApiOperation(value = "通过小区id查询用户") |
| | | @ApiLog("通过小区id查询用户") |
| | | public R<IPage<HouseholdVO>> getUserInfoByDistrictIds(Query query,HouseholdVO householdVO) { |
| | | bladeLogger.info("通过小区id查询用户", JsonUtil.toJson(householdVO)); |
| | | IPage<HouseholdVO> pages = householdService.getUserInfoByDistrictIds(householdVO, Condition.getPage(query)); |
| | | return R.data(pages); |
| | | } |
| | | |
| | | } |