抽查日志分页,综述查询,备注内容新增,修改删除,分页查询,防汛周期配置新增,修改,删除,分页查询

master
徐杰盟 2024-07-31 17:55:05 +08:00
parent d6b81339c2
commit 694b2defde
25 changed files with 456 additions and 181 deletions

View File

@ -11,6 +11,7 @@ import org.apache.ibatis.plugin.Signature;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Date;
import static com.whdc.model.MyConstant.REC;
@ -36,6 +37,11 @@ public class MybatisInterceptor implements Interceptor {
Field[] fields = parameter.getClass().getDeclaredFields();
// Field[] fields = oConvertUtils.getAllFields(parameter);
for (Field field : fields) {
if (Modifier.isFinal(field.getModifiers())) {
continue;
}
if (field.getType().equals(String.class)) {
field.setAccessible(true);
Object o = field.get(parameter);
@ -47,7 +53,7 @@ public class MybatisInterceptor implements Interceptor {
}
// 注入创建时间
if ("createtime".equals(field.getName())) {
if ("createtime".equals(field.getName()) || ("createTime".equals(field.getName()))) {
field.setAccessible(true);
Object local_createDate = field.get(parameter);
field.setAccessible(false);

View File

@ -1,16 +1,18 @@
package com.whdc.controller;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.exception.MyException;
import com.whdc.model.dto.ShAddressBookDto;
import com.whdc.model.entity.ShAddressBook;
import com.whdc.model.group.Update;
import com.whdc.model.dto.ShAddressBookDto;
import com.whdc.model.vo.AdcdTree;
import com.whdc.service.ShAddressBookService;
import com.whdc.utils.ExcelCommon;
import com.whdc.utils.ResultJson;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
@ -29,7 +31,7 @@ import java.util.Objects;
* author: xusan
* date: 2024-07-29 17:27:25
*/
@Tag(name = "山洪责任人通讯录")
@Api(tags = "山洪责任人通讯录")
@RestController
@RequestMapping(value = "/shAddressBook")
public class ShAddressBookController {
@ -38,11 +40,11 @@ public class ShAddressBookController {
private ShAddressBookService service;
@Operation(summary = "修改")
@ApiOperation(value = "修改")
@PostMapping("/update")
public ResultJson<ShAddressBook> update(@Validated(Update.class) @RequestBody ShAddressBook dto) {
if (Objects.isNull(service.getById(dto.getId()))){
throw new RuntimeException("当前数据不存在");
throw new MyException("当前数据不存在");
}
dto
@ -57,7 +59,7 @@ public class ShAddressBookController {
return ResultJson.ok(result ? dto : null);
}
@Operation(summary = "抽查")
@ApiOperation(value = "抽查")
@PostMapping("/setSpotCheck/{spotCheck}")
public ResultJson setSpotCheck(@RequestBody List<Integer> ids,
@PathVariable
@ -66,10 +68,10 @@ public class ShAddressBookController {
Integer spotCheck
) {
if (CollectionUtils.isEmpty(ids)){
throw new RuntimeException("当前选中数据为空");
throw new MyException("当前选中数据为空");
}
if (service.lambdaQuery().in(ShAddressBook::getId, ids).count() != ids.size()){
throw new RuntimeException("当前选中数据有误");
throw new MyException("当前选中数据有误");
}
boolean update = service.lambdaUpdate()
@ -82,82 +84,83 @@ public class ShAddressBookController {
@Operation(summary = "分页 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )")
@ApiOperation(value = "分页 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )")
@PostMapping("/page")
public ResultJson<Page<ShAddressBook>> page(@RequestBody ShAddressBookDto dto) {
LambdaQueryChainWrapper<ShAddressBook> query = service.lambdaQuery();
String type1 = dto.getType1();
if (StringUtils.isNotBlank(type1)) {
query.eq(ShAddressBook::getType1, type1);
}
String type2 = dto.getType2();
if (StringUtils.isNotBlank(type2)) {
query.eq(ShAddressBook::getType2, type2);
}
String isSpotCheck = dto.getIsSpotCheck();
if (StringUtils.isNotBlank(isSpotCheck)) {
query.eq(ShAddressBook::getIsSpotCheck, isSpotCheck);
}
String city = dto.getCity();
if (StringUtils.isNotBlank(city)) {
query.eq(ShAddressBook::getCity, city);
}
String county = dto.getCounty();
if (StringUtils.isNotBlank(county)) {
query.eq(ShAddressBook::getCounty, county);
}
String area = dto.getArea();
if (StringUtils.isNotBlank(area)) {
query.eq(ShAddressBook::getArea, area);
}
String village = dto.getVillage();
if (StringUtils.isNotBlank(village)) {
query.eq(ShAddressBook::getVillage, village);
}
String name = dto.getName();
if (StringUtils.isNotBlank(name)) {
query.like(ShAddressBook::getName, name);
}
String land = dto.getLand();
if (StringUtils.isNotBlank(land)) {
query.like(ShAddressBook::getLand, land);
}
String phone = dto.getPhone();
if (StringUtils.isNotBlank(phone)) {
query.like(ShAddressBook::getPhone, phone);
}
query.orderByAsc(ShAddressBook::getSort);
return ResultJson.ok(service.page(dto.getPage(), query));
public ResultJson<IPage<ShAddressBook>> page(@RequestBody ShAddressBookDto dto) {
//
// LambdaQueryChainWrapper<ShAddressBook> query = service.lambdaQuery();
//
// String type1 = dto.getType1();
// if (StringUtils.isNotBlank(type1)) {
// query.eq(ShAddressBook::getType1, type1);
// }
//
// String type2 = dto.getType2();
//
// if (StringUtils.isNotBlank(type2)) {
// query.eq(ShAddressBook::getType2, type2);
// }
//
// String isSpotCheck = dto.getIsSpotCheck();
//
// if (StringUtils.isNotBlank(isSpotCheck)) {
// query.eq(ShAddressBook::getIsSpotCheck, isSpotCheck);
// }
//
// String city = dto.getCity();
//
// if (StringUtils.isNotBlank(city)) {
// query.eq(ShAddressBook::getCity, city);
// }
//
// String county = dto.getCounty();
//
// if (StringUtils.isNotBlank(county)) {
// query.eq(ShAddressBook::getCounty, county);
// }
//
// String area = dto.getArea();
//
// if (StringUtils.isNotBlank(area)) {
// query.eq(ShAddressBook::getArea, area);
// }
//
// String village = dto.getVillage();
//
// if (StringUtils.isNotBlank(village)) {
// query.eq(ShAddressBook::getVillage, village);
// }
//
// String name = dto.getName();
//
// if (StringUtils.isNotBlank(name)) {
// query.like(ShAddressBook::getName, name);
// }
//
// String land = dto.getLand();
//
// if (StringUtils.isNotBlank(land)) {
// query.like(ShAddressBook::getLand, land);
// }
//
// String phone = dto.getPhone();
//
// if (StringUtils.isNotBlank(phone)) {
// query.like(ShAddressBook::getPhone, phone);
// }
//
// query.orderByAsc(ShAddressBook::getSort);
//
// return ResultJson.ok(service.page(dto.getPage(), query));
return ResultJson.ok(service.page(dto));
}
@Operation(summary = "导出 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )")
@ApiOperation(value = "导出 (行政责任人分页查询 type1:行政责任人,包保责任人分页查询 type1:包保责任人,今日抽查分页查询 isSpotCheck:1 )")
@PostMapping("/export")
public void export(@RequestBody ShAddressBookDto dto,HttpServletResponse response) {
LambdaQueryChainWrapper<ShAddressBook> query = service.lambdaQuery();
LambdaQueryWrapper<ShAddressBook> query = new LambdaQueryWrapper<>();
String type1 = dto.getType1();
if (StringUtils.isNotBlank(type1)) {
@ -229,7 +232,7 @@ public class ShAddressBookController {
@Operation(summary = "下载模板")
@ApiOperation(value = "下载模板")
@GetMapping("/downloadTemplate")
public void downloadTemplate(HttpServletResponse response) {
ExcelCommon.exportExcel(Lists.newArrayList(),
@ -237,17 +240,31 @@ public class ShAddressBookController {
response);
}
@Operation(summary = "上传")
@ApiOperation(value = "上传")
@PostMapping("/upload/{type1}")
public ResultJson upload(
@PathVariable("type1")
@ApiParam(name = "type1", value = "责任人类型, 0:行政责任人,1:包保责任人")
@Pattern(message = "仅支持 0 或者 1", regexp = "[01]")
String type1,
@RequestBody MultipartFile file) {
MultipartFile file) {
List<ShAddressBook> appends = ExcelCommon.importExcel(file, 0, 1, ShAddressBook.class);
service.updateAll(type1, appends);
return ResultJson.ok();
}
@GetMapping("/tree")
@ApiOperation(value = "树型查询")
public ResultJson<List<AdcdTree>> tree() {
List<AdcdTree> list = service.tree();
return ResultJson.ok(list);
}
}

View File

@ -1,7 +1,7 @@
package com.whdc.controller;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.exception.MyException;
import com.whdc.model.dto.ShCallWordDto;
import com.whdc.model.entity.ShCallWord;
import com.whdc.model.group.Insert;
@ -9,10 +9,9 @@ import com.whdc.model.group.Update;
import com.whdc.service.ShCallWordService;
import com.whdc.service.ShPeriodService;
import com.whdc.utils.ResultJson;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -26,7 +25,7 @@ import java.util.Objects;
* author: xusan
* date: 2024-07-29 17:27:25
*/
@Tag(name = "备注")
@Api(tags = "备注")
@RestController
@RequestMapping(value="/shCallWord")
public class ShCallWordController {
@ -38,57 +37,58 @@ public class ShCallWordController {
private ShPeriodService shPeriodService;
@Operation(summary = "新增")
@ApiOperation(value = "新增")
@PostMapping("/insert")
public ResultJson<ShCallWord> insert(@Validated(Insert.class) @RequestBody ShCallWord dto) {
if (Objects.nonNull(dto.getShPeriodId()) && Objects.isNull(shPeriodService.getById(dto.getShPeriodId()))){
throw new RuntimeException("当前防汛周期不存在");
throw new MyException("当前防汛周期不存在");
}
dto.setCreateTime(new Date());
boolean result = service.save(dto);
return ResultJson.ok(result ? dto : null);
}
@Operation(summary = "修改")
@ApiOperation(value = "修改")
@PostMapping("/update")
public ResultJson<ShCallWord> update(@Validated(Update.class) @RequestBody ShCallWord dto) {
if (Objects.isNull(service.getById(dto.getId()))){
throw new RuntimeException("当前数据不存在");
throw new MyException("当前数据不存在");
}
if (Objects.nonNull(dto.getShPeriodId()) && Objects.isNull(shPeriodService.getById(dto.getShPeriodId()))){
throw new RuntimeException("当前防汛周期不存在");
throw new MyException("当前防汛周期不存在");
}
boolean result = service.updateById(dto);
return ResultJson.ok(result ? dto : null);
}
@Operation(summary = "删除")
@ApiOperation(value = "删除")
@GetMapping("/del/{id}")
public ResultJson<Boolean> del(@Schema(name = "id") @PathVariable("id") Serializable id) {
return ResultJson.ok(service.removeById(id));
}
// @Operation(summary = "列表")
// @ApiOperation(value = "列表")
// @PostMapping("/list")
// public ResultJson<List<ShCallWord>> list() {
// return ResultJson.ok(service.lambdaQuery().list());
// }
@Operation(summary = "分页")
@ApiOperation(value = "分页")
@PostMapping("/page")
public ResultJson<Page<ShCallWord>> page(@RequestBody ShCallWordDto dto) {
LambdaQueryChainWrapper<ShCallWord> query = service.lambdaQuery();
if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){
query.between(ShCallWord::getCreateTime,dto.getStm(),dto.getEtm());
}
if (StringUtils.isNotBlank(dto.getShAbType1())){
query.eq(ShCallWord::getShAbType1,dto.getShAbType1());
}
query.orderByDesc(ShCallWord::getCreateTime);
return ResultJson.ok(service.page(dto.getPage(),query));
public ResultJson<IPage<ShCallWord>> page(@RequestBody ShCallWordDto dto) {
// LambdaQueryChainWrapper<ShCallWord> query = service.lambdaQuery();
// if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){
// query.between(ShCallWord::getCreateTime,dto.getStm(),dto.getEtm());
// }
//
// if (StringUtils.isNotBlank(dto.getShAbType1())){
// query.eq(ShCallWord::getShAbType1,dto.getShAbType1());
// }
//
// query.orderByDesc(ShCallWord::getCreateTime);
//
// return ResultJson.ok(service.page(dto.getPage(),query));
return ResultJson.ok(service.page(dto));
}
}

View File

@ -15,8 +15,8 @@ import com.whdc.service.ShCallsService;
import com.whdc.utils.DateUtils;
import com.whdc.utils.ExcelCommon;
import com.whdc.utils.ResultJson;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@ -37,7 +37,7 @@ import java.util.stream.Collectors;
* author: xusan
* date: 2024-07-29 17:27:25
*/
@Tag(name = "抽查日志")
@Api(tags = "抽查日志")
@RestController
@RequestMapping(value="/shCalls")
public class ShCallsController {
@ -49,14 +49,13 @@ public class ShCallsController {
private ShAddressBookService shAddressBookService;
@Operation(summary = "新增")
@ApiOperation(value = "新增")
@PostMapping("/insert")
public ResultJson<ShCallWord> insert(@Validated(Insert.class) @RequestBody ShCalls dto) {
if (shAddressBookService.lambdaQuery().eq(ShAddressBook::getId, dto.getShAbId()).count() != 1){
throw new MyException("当前通讯录不存在");
}
dto.setCallTime(new Date());
if (StringUtils.isNotBlank(dto.getStatus()) && "0".equals(dto.getCallType())){
boolean update = shAddressBookService.lambdaUpdate()
.set(ShAddressBook::getCallStatus, dto.getCallType())
@ -70,7 +69,7 @@ public class ShCallsController {
return ResultJson.ok(result ? dto : null);
}
@Operation(summary = "列表")
@ApiOperation(value = "列表")
@PostMapping("/list")
public ResultJson<List<ShCalls>> list(@RequestBody ShCallsDto dto) {
LambdaQueryChainWrapper<ShCalls> query = service.lambdaQuery();
@ -81,18 +80,18 @@ public class ShCallsController {
if (Objects.nonNull(dto.getShAbId())){
query.eq(ShCalls::getShAbId, dto.getShAbId());
}else{
throw new RuntimeException("山洪通讯录编号不能为空");
throw new MyException("山洪通讯录编号不能为空");
}
return ResultJson.ok(query.list());
}
@Operation(summary = "抽查日志分页")
@ApiOperation(value = "抽查日志分页")
@PostMapping("/page")
public ResultJson<IPage<ShCallsVo>> page(@RequestBody ShCallsDto dto) {
return ResultJson.ok(service.page(dto));
}
@Operation(summary = "综述")
@ApiOperation(value = "综述")
@PostMapping("/statistics")
public ResultJson<String> statistics(@RequestBody ShCallsDto dto) {
@ -114,7 +113,7 @@ public class ShCallsController {
@Operation(summary = "抽查日志导出(未完成)")
@ApiOperation(value = "抽查日志导出(未完成)")
@PostMapping("/export")
public void export(@RequestBody ShAddressBookDto dto, HttpServletResponse response) {

View File

@ -1,31 +1,29 @@
package com.whdc.controller;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.exception.MyException;
import com.whdc.model.dto.ShPeriodDto;
import com.whdc.model.entity.ShPeriod;
import com.whdc.model.group.Insert;
import com.whdc.model.group.Update;
import com.whdc.service.ShPeriodService;
import com.whdc.utils.ResultJson;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.io.Serializable;
import java.util.List;
import java.util.Objects;
/**
* :
* author: xusan
* date: 2024-07-29 17:27:25
*/
@Tag(name = "防汛周期")
@Api(tags = "防汛周期")
@RestController
@RequestMapping(value="/shPeriod")
public class ShPeriodController {
@ -34,56 +32,57 @@ public class ShPeriodController {
private ShPeriodService service;
@Operation(summary = "新增")
@ApiOperation(value = "新增")
@PostMapping("/insert")
public ResultJson<ShPeriod> insert(@Validated(Insert.class) @RequestBody ShPeriod dto) {
if (service.lambdaQuery().eq(ShPeriod::getName, dto.getName()).count() > 0){
throw new RuntimeException("名称重复");
throw new MyException("名称重复");
}
boolean result = service.save(dto);
return ResultJson.ok(result ? dto : null);
}
@Operation(summary = "修改")
@ApiOperation(value = "修改")
@PostMapping("/update")
public ResultJson<ShPeriod> update(@Validated(Update.class) @RequestBody ShPeriod dto) {
if (service.lambdaQuery()
.eq(ShPeriod::getName, dto.getName())
.ne(ShPeriod::getId, dto.getId())
.count() > 0){
throw new RuntimeException("名称重复");
throw new MyException("名称重复");
}
boolean result = service.updateById(dto);
return ResultJson.ok(result ? dto : null);
}
@Operation(summary = "删除")
@ApiOperation(value = "删除")
@GetMapping("/del/{id}")
public ResultJson<Boolean> del(@Schema(name = "id") @PathVariable("id") Serializable id) {
return ResultJson.ok(service.removeById(id));
}
@Operation(summary = "列表")
@PostMapping("/list")
// @ApiOperation(value = "列表")
// @PostMapping("/list")
public ResultJson<List<ShPeriod>> list() {
return ResultJson.ok(service.lambdaQuery().list());
}
@Operation(summary = "分页")
@ApiOperation(value = "分页")
@PostMapping("/page")
public ResultJson<Page<ShPeriod>> page(@RequestBody ShPeriodDto dto) {
LambdaQueryChainWrapper<ShPeriod> query = service.lambdaQuery();
if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){
query.between(ShPeriod::getCreateTime,dto.getStm(),dto.getEtm());
}
if (StringUtils.isNotBlank(dto.getName())){
query.eq(ShPeriod::getName,dto.getName());
}
query.orderByDesc(ShPeriod::getCreateTime);
return ResultJson.ok(service.page(dto.getPage(),query));
public ResultJson<IPage<ShPeriod>> page(@RequestBody ShPeriodDto dto) {
// LambdaQueryChainWrapper<ShPeriod> query = service.lambdaQuery();
// if (Objects.nonNull(dto.getStm()) && Objects.nonNull(dto.getEtm())){
// query.between(ShPeriod::getCreateTime,dto.getStm(),dto.getEtm());
// }
//
// if (StringUtils.isNotBlank(dto.getName())){
// query.eq(ShPeriod::getName,dto.getName());
// }
//
// query.orderByDesc(ShPeriod::getCreateTime);
//
// return ResultJson.ok(service.page(dto.getPage(),query));
return ResultJson.ok(service.page(dto));
}

View File

@ -1,8 +1,11 @@
package com.whdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.model.dto.ShAddressBookDto;
import com.whdc.model.entity.ShAddressBook;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* :
@ -11,5 +14,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ShAddressBookMapper extends BaseMapper<ShAddressBook> {
IPage<ShAddressBook> page(@Param("page") IPage<ShAddressBook> page, @Param("dto") ShAddressBookDto dto);
}

View File

@ -1,8 +1,11 @@
package com.whdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.model.dto.ShCallWordDto;
import com.whdc.model.entity.ShCallWord;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* :
@ -12,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ShCallWordMapper extends BaseMapper<ShCallWord> {
IPage<ShCallWord> page(@Param("page") IPage<ShCallWord> page, @Param("dto") ShCallWordDto dto);
}

View File

@ -1,8 +1,11 @@
package com.whdc.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.whdc.model.dto.ShPeriodDto;
import com.whdc.model.entity.ShPeriod;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* :
@ -12,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface ShPeriodMapper extends BaseMapper<ShPeriod> {
IPage<ShPeriod> page(@Param("page") IPage<ShPeriod> page, @Param("dto") ShPeriodDto dto);
}

View File

@ -23,7 +23,7 @@ import java.io.Serializable;
@Schema(description = "山洪责任人通讯录")
@Data
@Accessors(chain = true)
@TableName("public.SH_ADDRESS_BOOK")
@TableName("FXKH_TXL.SH_ADDRESS_BOOK")
public class ShAddressBook implements Serializable {
public final static String thisTableName = "ShAddressBook";
@ -81,7 +81,7 @@ public class ShAddressBook implements Serializable {
@TableField(value = "type2")
@Schema(description = "责任人类型2 县级,乡级,村级, 县干部,乡干部")
@Size(max = 50, message = "责任人类型2 县级,乡级,村级, 县干部,乡干部最大长度要小于 50")
@Excel(name = "责任人类型2", width = 20,orderNum = "5")
@Excel(name = "责任人类型", width = 20,orderNum = "5")
private String type2;
/**

View File

@ -22,7 +22,7 @@ import java.util.Date;
*/
@Schema(description="备注")
@Data
@TableName("public.SH_CALL_WORD")
@TableName("FXKH_TXL.SH_CALL_WORD")
public class ShCallWord implements Serializable {
public final static String thisTableName = "ShCallWord";

View File

@ -24,7 +24,7 @@ import java.util.Date;
*/
@Schema(description="抽查日志")
@Data
@TableName("public.SH_CALLS")
@TableName("FXKH_TXL.SH_CALLS")
public class ShCalls implements Serializable {
public final static String thisTableName = "ShCalls";

View File

@ -20,7 +20,7 @@ import java.util.Date;
*/
@Schema(description="防汛周期")
@Data
@TableName("public.SH_PERIOD")
@TableName("FXKH_TXL.SH_PERIOD")
public class ShPeriod implements Serializable {
public final static String thisTableName = "ShPeriod";

View File

@ -13,6 +13,8 @@ public class AdcdTree {
@ApiModelProperty(value = "行政区划代码")
private String adcd;
private Integer sort;
@ApiModelProperty(value = "行政区划名称")
private String adnm;

View File

@ -1,8 +1,11 @@
package com.whdc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whdc.model.dto.ShAddressBookDto;
import com.whdc.model.entity.ShAddressBook;
import com.whdc.model.vo.AdcdTree;
import java.util.List;
@ -14,8 +17,10 @@ import java.util.List;
public interface ShAddressBookService extends IService<ShAddressBook>
{
IPage<ShAddressBook> page(ShAddressBookDto dto);
void updateAll(String type1, List<ShAddressBook> appends);
List<AdcdTree> tree();
}

View File

@ -1,7 +1,9 @@
package com.whdc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whdc.model.dto.ShCallWordDto;
import com.whdc.model.entity.ShCallWord;
/**
@ -11,8 +13,7 @@ import com.whdc.model.entity.ShCallWord;
*/
public interface ShCallWordService extends IService<ShCallWord>
{
IPage<ShCallWord> page(ShCallWordDto dto);
}

View File

@ -1,7 +1,9 @@
package com.whdc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.whdc.model.dto.ShPeriodDto;
import com.whdc.model.entity.ShPeriod;
/**
@ -12,7 +14,7 @@ import com.whdc.model.entity.ShPeriod;
public interface ShPeriodService extends IService<ShPeriod>
{
IPage<ShPeriod> page(ShPeriodDto dto);
}

View File

@ -1,15 +1,23 @@
package com.whdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.exception.MyException;
import com.whdc.mapper.ShAddressBookMapper;
import com.whdc.model.dto.ShAddressBookDto;
import com.whdc.model.entity.ShAddressBook;
import com.whdc.model.vo.AdcdTree;
import com.whdc.service.ShAddressBookService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
import static com.whdc.model.MyConstant.REDIS_KEY;
@ -25,8 +33,14 @@ public class ShAddressBookServiceImpl extends ServiceImpl<ShAddressBookMapper, S
private static final String THIS_REDIS_KEY = REDIS_KEY + ShAddressBook.thisTableName + ":";
@Override
public IPage<ShAddressBook> page(ShAddressBookDto dto) {
return getBaseMapper().page(dto.getPage(), dto);
}
/**
*
*
* @param type1
* @param appends
*/
@ -49,21 +63,127 @@ public class ShAddressBookServiceImpl extends ServiceImpl<ShAddressBookMapper, S
throw new MyException("参数错误");
}
if (this.lambdaQuery().eq(ShAddressBook::getType1,type1Str).count() > 0) {
// 清空数据
boolean remove = this.remove(this.lambdaQuery());
boolean remove = this.remove(new LambdaQueryWrapper<ShAddressBook>().eq(ShAddressBook::getType1, type1Str));
if (!remove) {
throw new MyException("清空数据失败");
}
}
// 添加第一类型
String finalType1Str1 = type1Str;
appends.forEach(o -> o.setType1(finalType1Str1));
AtomicInteger sort = new AtomicInteger(0);
appends.forEach(o -> {
o.setType1(finalType1Str1);
if (Objects.isNull(o.getSort())) {
o.setSort(sort.getAndIncrement());
}
});
boolean b = this.saveBatch(appends);
if (!b) {
throw new MyException("保存数据失败");
}
}
@Override
public List<AdcdTree> tree() {
List<ShAddressBook> list = this.lambdaQuery().orderByAsc(ShAddressBook::getSort).list();
if (CollectionUtils.isEmpty(list)) {
return null;
}
Map<String, List<ShAddressBook>> cityMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getCity())).collect(Collectors.groupingBy(ShAddressBook::getCity, Collectors.toList()));
Map<String, List<ShAddressBook>> countyMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getCounty())).collect(Collectors.groupingBy(ShAddressBook::getCounty, Collectors.toList()));
Map<String, List<ShAddressBook>> areaMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getArea())).collect(Collectors.groupingBy(ShAddressBook::getArea, Collectors.toList()));
Map<String, List<ShAddressBook>> villageMap = list.stream().filter(o -> StringUtils.isNotBlank(o.getVillage())).collect(Collectors.groupingBy(ShAddressBook::getVillage, Collectors.toList()));
Map<String, List<AdcdTree>> city = new HashMap<>();
Map<String, List<AdcdTree>> county = new HashMap<>();
Map<String, List<AdcdTree>> area = new HashMap<>();
Map<String, List<AdcdTree>> village = new HashMap<>();
villageMap.forEach((k, v) -> {
v.forEach(o -> {
String data = o.getCity() + "_" + o.getCounty() + "_" + o.getArea();
if (StringUtils.isNotBlank(data)) {
List<AdcdTree> trees = village.get(data);
if (CollectionUtils.isEmpty(trees)) {
trees = Lists.newArrayList();
}
trees.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getVillage()).setAdnm(o.getVillage()).setAdlevel(4).setChildren(null));
village.put(data, trees);
}
});
});
areaMap.forEach((k, v) -> {
v.forEach(o -> {
String data = o.getCity() + "_" + o.getCounty();
if (StringUtils.isNotBlank(data)) {
List<AdcdTree> trees = area.get(data);
if (CollectionUtils.isEmpty(trees)) {
trees = Lists.newArrayList();
}
trees.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getArea()).setAdnm(o.getArea()).setAdlevel(3).setChildren(village.get( o.getCity() + "_" + o.getCounty() + "_" + o.getArea())));
area.put(data, trees);
}
});
});
countyMap.forEach((k, v) -> {
v.forEach(o -> {
String data = o.getCity();
if (StringUtils.isNotBlank(data)) {
List<AdcdTree> trees = county.get(data);
if (CollectionUtils.isEmpty(trees)) {
trees = Lists.newArrayList();
}
trees.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getCounty()).setAdnm(o.getCounty()).setAdlevel(2).setChildren(area.get(o.getCity() + "_" + o.getCounty())));
county.put(data, trees);
}
});
});
List<AdcdTree> cityList = Lists.newArrayList();
cityMap.forEach((k, v) -> {
if (CollectionUtils.isNotEmpty(v)){
ShAddressBook o = v.get(0);
cityList.add(new AdcdTree().setSort(o.getSort()).setAdcd(o.getCity()).setAdnm(o.getCity()).setAdlevel(1).setChildren(county.get(o.getCity())));
}
});
return sorted(cityList);
}
private List<AdcdTree> sorted(List<AdcdTree> tree) {
List<AdcdTree> sorteds = null;
if (CollectionUtils.isNotEmpty(tree)) {
sorteds = tree.stream().sorted(
Comparator.comparing(AdcdTree::getSort)
).collect(Collectors.toList());
sorteds.forEach(o -> {
o.setChildren(sorted(o.getChildren()));
});
}
return sorteds;
}
}

View File

@ -1,9 +1,9 @@
package com.whdc.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.mapper.ShCallWordMapper;
import com.whdc.model.dto.FindPageDto;
import com.whdc.model.dto.ShCallWordDto;
import com.whdc.model.entity.ShCallWord;
import com.whdc.service.ShCallWordService;
import org.springframework.stereotype.Service;
@ -21,4 +21,8 @@ public class ShCallWordServiceImpl extends ServiceImpl<ShCallWordMapper, ShCallW
private static final String THIS_REDIS_KEY = REDIS_KEY + ShCallWord.thisTableName + ":";
@Override
public IPage<ShCallWord> page(ShCallWordDto dto) {
return getBaseMapper().page(dto.getPage(), dto);
}
}

View File

@ -1,7 +1,9 @@
package com.whdc.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.whdc.mapper.ShPeriodMapper;
import com.whdc.model.dto.ShPeriodDto;
import com.whdc.model.entity.ShPeriod;
import com.whdc.service.ShPeriodService;
import org.springframework.stereotype.Service;
@ -19,4 +21,8 @@ public class ShPeriodServiceImpl extends ServiceImpl<ShPeriodMapper, ShPeriod> i
private static final String THIS_REDIS_KEY = REDIS_KEY + ShPeriod.thisTableName + ":";
@Override
public IPage<ShPeriod> page(ShPeriodDto dto) {
return getBaseMapper().page(dto.getPage(), dto);
}
}

View File

@ -1,5 +1,6 @@
package com.whdc.utils;
import com.whdc.exception.MyException;
import org.apache.commons.lang3.StringUtils;
import java.util.Objects;
@ -61,7 +62,7 @@ public class AdinfoUtils {
case 5:
return adcd;
default:
throw new RuntimeException("不支持该行政区划等级");
throw new MyException("不支持该行政区划等级");
}
}
@ -96,7 +97,7 @@ public class AdinfoUtils {
case 5:
return adcd;
default:
throw new RuntimeException("不支持该行政区划等级");
throw new MyException("不支持该行政区划等级");
}
}
@ -128,7 +129,7 @@ public class AdinfoUtils {
case 5:
return "";
default:
throw new RuntimeException("不支持该行政区划等级");
throw new MyException("不支持该行政区划等级");
}
}
@ -156,12 +157,12 @@ public class AdinfoUtils {
* @param adcd
* @param adlevel
* @param startIndex
* @throws RuntimeException
* @throws MyException
*/
private static void validateAdcd(String adcd, Integer adlevel, int startIndex) throws RuntimeException {
private static void validateAdcd(String adcd, Integer adlevel, int startIndex) throws MyException {
if (StringUtils.isBlank(adcd) || adcd.length() < startIndex) {
throw new RuntimeException("行政区划编码错误 " + adcd);
throw new MyException("行政区划编码错误 " + adcd);
}
// String subAdcd = adcd.substring(startIndex);
@ -169,7 +170,7 @@ public class AdinfoUtils {
int adlevelBySubAdcd = getAdlevelBySubAdcd(adcd,startIndex);
if (adlevel != adlevelBySubAdcd || adlevel+1 != adlevelBySubAdcd || adlevel-1 != adlevelBySubAdcd) {
throw new RuntimeException("行政区划编码和行政区划等级不匹配");
throw new MyException("行政区划编码和行政区划等级不匹配");
}
}
@ -182,7 +183,7 @@ public class AdinfoUtils {
public static int getAdlevel(String adcd) {
if (StringUtils.isBlank(adcd) || adcd.length() != 15) {
throw new RuntimeException("行政区划编码错误 " + adcd);
throw new MyException("行政区划编码错误 " + adcd);
}
// 避免重复代码,提取为私有方法

View File

@ -2,6 +2,7 @@ package com.whdc.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.whdc.exception.MyException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
@ -59,7 +60,7 @@ public class HttpUtil {
try {
return doGetThrEx(url, json);
} catch (Exception e) {
throw new RuntimeException("请求异常:" + e.getMessage(), e);
throw new MyException("请求异常:" + e.getMessage(), e);
}
}
@ -405,7 +406,7 @@ public class HttpUtil {
} catch (Exception e) {
log.error("发送请求异常", e);
throw new RuntimeException("发送请求异常", e);
throw new MyException("发送请求异常", e);
} finally {
try {
if (null != response) {

View File

@ -2,4 +2,57 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whdc.mapper.ShAddressBookMapper">
<select id="page" resultType="com.whdc.model.entity.ShAddressBook">
SELECT
T."ID",
T."CITY",
T."COUNTY",
T."AREA",
T."VILLAGE",
T."TYPE1",
T."TYPE2",
T."NAME",
T."POSITION",
T."PHONE",
T."SORT",
T."LAND",
T."IS_SPOT_CHECK",
T."CALL_STATUS"
FROM
"FXKH_TXL"."SH_ADDRESS_BOOK" T
WHERE
1 = 1
<if test="dto.type1 != null and dto.type1 != '' ">
AND T.TYPE1 = #{dto.type1}
</if>
<if test="dto.type2 != null and dto.type2 != '' ">
AND T.TYPE2 = #{dto.type2}
</if>
<if test="dto.isSpotCheck != null and dto.isSpotCheck != '' ">
AND T.IS_SPOT_CHECK = #{dto.isSpotCheck}
</if>
<if test="dto.city != null and dto.city != '' ">
AND T.CITY = #{dto.city}
</if>
<if test="dto.county != null and dto.county != '' ">
AND T.COUNTY = #{dto.county}
</if>
<if test="dto.area != null and dto.area != '' ">
AND T.AREA = #{dto.area}
</if>
<if test="dto.village != null and dto.village != '' ">
AND T.VILLAGE = #{dto.village}
</if>
<if test="dto.name != null and dto.name != '' ">
AND T.NAME LIKE CONCAT('%', #{dto.name}, '%')
</if>
<if test="dto.land != null and dto.land != '' ">
AND T.LAND = #{dto.land}
</if>
<if test="dto.phone != null and dto.phone != '' ">
AND T.PHONE CONCAT('%', #{dto.phone}, '%')
</if>
ORDER BY T.SORT DESC
</select>
</mapper>

View File

@ -2,4 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whdc.mapper.ShCallWordMapper">
<select id="page" resultType="com.whdc.model.entity.ShCallWord">
SELECT
T."ID",T."SH_AB_TYPE1",T."SH_PERIOD_ID",T."WORD",T."CREATE_TIME"
FROM
FXKH_TXL.SH_CALL_WORD T
WHERE
1 = 1
<if test="dto.stm != null and dto.stm != '' and dto.etm != null and dto.etm != ''">
AND T.CREATE_TIME BETWEEN #{dto.stm} AND #{dto.etm}
</if>
<if test="dto.shAbType1 != null and dto.shAbType1 != '' ">
AND T.SH_AB_TYPE1 = #{dto.shAbType1}
</if>
ORDER BY T.CREATE_TIME DESC
</select>
</mapper>

View File

@ -7,7 +7,20 @@
C.STATUS,
C.CALL_TIME,
C.SH_AB_ID,
AB.*
AB."ID",
AB."CITY",
AB."COUNTY",
AB."AREA",
AB."VILLAGE",
AB."TYPE1",
AB."TYPE2",
AB."NAME",
AB."POSITION",
AB."PHONE",
AB."SORT",
AB."LAND",
AB."IS_SPOT_CHECK",
AB."CALL_STATUS"
FROM
FXKH_TXL.SH_CALLS C
LEFT JOIN FXKH_TXL.SH_ADDRESS_BOOK AB ON C.SH_AB_ID = AB.ID

View File

@ -2,4 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whdc.mapper.ShPeriodMapper">
<select id="page" resultType="com.whdc.model.entity.ShPeriod">
SELECT
T."ID",T."NAME",T."CREATE_TIME"
FROM
FXKH_TXL.SH_PERIOD T
WHERE
1 = 1
<if test="dto.stm != null and dto.stm != '' and dto.etm != null and dto.etm != ''">
AND T.CREATE_TIME BETWEEN #{dto.stm} AND #{dto.etm}
</if>
<if test="dto.name != null and dto.name != '' ">
AND T.NAME = #{dto.name}
</if>
ORDER BY T.CREATE_TIME DESC
</select>
</mapper>