新增了连续字符串截断方法和组织部门编码统计

This commit is contained in:
wanggeng 2021-11-05 17:27:09 +08:00
parent dbf66cdb22
commit c7b98e87e7
6 changed files with 187 additions and 2 deletions

View File

@ -179,4 +179,20 @@ public interface IDepartmentBaseService {
* @return
*/
List<DepartmentPO> listPOByAreaCodeAndType(String departmentAreaCode, Integer departmentType);
/**
* 统计地区全部组织
*
* @param areaCode
* @return
*/
Integer countByAreaCode(String areaCode);
/**
* 统计地区全部组织
*
* @param areaCode
* @return
*/
Integer countAllByAreaCode(String areaCode);
}

View File

@ -7,6 +7,7 @@ import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
import java.util.Random;
@ -369,8 +370,8 @@ public class WStringUtil {
return null;
}
StringBuilder sb = new StringBuilder();
for(String str : strings) {
if(sb.length() > 0) {
for (String str : strings) {
if (sb.length() > 0) {
sb.append(separator);
}
sb.append(str);
@ -378,4 +379,23 @@ public class WStringUtil {
return sb.toString();
}
/**
* 倒序截断重复字符
*
* @return
*/
public static String cutContinuityRepeatCharDesc(String str, char repeatChar) {
if (StringUtils.isBlank(str)) {
return str;
}
int unRepeatCharIndex = 0;
for (int i = str.length() - 1; i >= 0; i--) {
if (str.charAt(i) != repeatChar) {
unRepeatCharIndex = i;
break;
}
}
return str.substring(0, unRepeatCharIndex + 1);
}
}

View File

@ -13,6 +13,7 @@ import ink.wgink.pojo.result.SuccessResultData;
import ink.wgink.pojo.result.SuccessResultList;
import ink.wgink.pojo.vos.IdsVO;
import ink.wgink.properties.ApiPathProperties;
import ink.wgink.util.string.WStringUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -172,4 +173,18 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart
public List<DepartmentPO> listPOByAreaCodeAndType(String departmentAreaCode, Integer departmentType) {
return departmentRemoteService.listPOByAreaCodeAndType(apiPathProperties.getUserCenter(), departmentAreaCode, departmentType, OAuth2ClientTokenManager.getInstance().getToken().getAccessToken());
}
@Override
public Integer countByAreaCode(String areaCode) {
Map<String, Object> params = getHashMap(2);
params.put("departmentAreaCode", areaCode);
return count(params);
}
@Override
public Integer countAllByAreaCode(String areaCode) {
Map<String, Object> params = getHashMap(2);
params.put("departmentAreaCodeLike", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0'));
return count(params);
}
}

View File

@ -0,0 +1,111 @@
package ink.wgink.module.map.controller.app.api.grid;
import ink.wgink.common.base.DefaultBaseController;
import ink.wgink.interfaces.consts.ISystemConstant;
import ink.wgink.module.map.pojo.dtos.grid.GridDTO;
import ink.wgink.module.map.service.grid.IGridService;
import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.result.ErrorResult;
import ink.wgink.pojo.result.SuccessResultList;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @ClassName: GridControler
* @Description: 网格管理
* @Author: wanggeng
* @Date: 2021/10/19 10:21 下午
* @Version: 1.0
*/
@Api(tags = ISystemConstant.API_TAGS_APP_PREFIX + "网格接口")
@RestController
@RequestMapping(ISystemConstant.APP_PREFIX + "/grid")
public class GridAppController extends DefaultBaseController {
@Autowired
private IGridService gridService;
@ApiOperation(value = "网格详情", notes = "网格详情接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
@ApiImplicitParam(name = "gridIdId", value = "网格ID", paramType = "path")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("get/{gridId}")
public GridDTO get(@RequestHeader("token") String token, @PathVariable("gridId") String gridId) {
return gridService.get(gridId, true, true);
}
@ApiOperation(value = "网格列表", notes = "网格列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list")
public List<GridDTO> list(@RequestHeader("token") String token) {
Map<String, Object> params = requestParams();
return gridService.list(params);
}
@ApiOperation(value = "网格列表", notes = "网格列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list/area-code/{areaCode}")
public List<GridDTO> listByAreaCode(@PathVariable("areaCode") String areaCode) {
Map<String, Object> params = requestParams();
return gridService.listByAreaCode(areaCode, params);
}
@ApiOperation(value = "网格(排除查询网格)列表", notes = "网格(排除查询网格)列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("list/except/{gridId}")
public List<GridDTO> listExcept(@RequestHeader("token") String token,
@PathVariable("gridId") String gridId) {
Map<String, Object> params = requestParams();
return gridService.listExcept(gridId, params);
}
@ApiOperation(value = "网格分页列表", notes = "网格分页列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("listpage")
public SuccessResultList<List<GridDTO>> listPage(@RequestHeader("token") String token, ListPage page) {
Map<String, Object> params = requestParams();
page.setParams(params);
return gridService.listPage(page);
}
@ApiOperation(value = "网格分页列表", notes = "网格分页列表接口")
@ApiImplicitParams({
@ApiImplicitParam(name = "token", value = "token", paramType = "header"),
@ApiImplicitParam(name = "page", value = "当前页码", paramType = "query", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "rows", value = "显示数量", paramType = "query", dataType = "int", defaultValue = "20"),
@ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query", dataType = "String")
})
@ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)})
@GetMapping("listpage/area-code/{areaCode}")
public SuccessResultList<List<GridDTO>> listPageByAreaCode(@RequestHeader("token") String token, @PathVariable("areaCode") String areaCode, ListPage page) {
Map<String, Object> params = requestParams();
page.setParams(params);
return gridService.listPageByAreaCode(areaCode, page);
}
}

View File

@ -30,6 +30,7 @@ import ink.wgink.service.department.service.IDepartmentService;
import ink.wgink.service.department.service.IDepartmentUserService;
import ink.wgink.util.UUIDUtil;
import ink.wgink.util.map.HashMapUtil;
import ink.wgink.util.string.WStringUtil;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -367,6 +368,20 @@ public class DepartmentServiceImpl extends DefaultBaseService implements IDepart
return listPO(params);
}
@Override
public Integer countByAreaCode(String areaCode) {
Map<String, Object> params = getHashMap(2);
params.put("departmentAreaCode", areaCode);
return count(params);
}
@Override
public Integer countAllByAreaCode(String areaCode) {
Map<String, Object> params = getHashMap(2);
params.put("departmentAreaCodeLike", WStringUtil.cutContinuityRepeatCharDesc(areaCode, '0'));
return count(params);
}
/**
* 通过上级ID和新增或修改日期获取组织列表简单模式
*

View File

@ -711,6 +711,14 @@
AND
department_state = #{departmentState}
</if>
<if test="departmentAreaCode != null and departmentAreaCode != ''">
AND
department_area_code = #{departmentAreaCode}
</if>
<if test="departmentAreaCodeLike != null and departmentAreaCodeLike != ''">
AND
department_area_code LIKE CONCAT(#{departmentAreaCodeLike}, '%')
</if>
</select>
<!-- 部门ID列表 -->