Commit 046d1549 authored by tianbo's avatar tianbo

```

refactor(JgUseRegistration): 优化日期范围处理逻辑在 `JgTableDataExportServiceImpl` 和 `JgUseRegistrationController` 中,改进了 `auditPassDateRange` 的处理逻辑。现在使用 `ValidationUtil` 来检查日期是否为空,并且从 `List<String>` 中提取开始和结束日期。同时,在 `JgUseRegistrationServiceImpl` 中,对分页参数进行了校验,确保 `pageNumber` 不小于 1,并增加了日志记录以方便调试。此外,还调整了 ES 查询中的字段映射和查询条件,使其更加准确。 - 在 `JgTableDataExportServiceImpl` 和 `JgUseRegistrationController` 中,更新了 `auditPassDateRange` 的处理逻辑。 - 在 `JgUseRegistrationServiceImpl` 中,修正了分页参数的默认值设置。 - 增加了 ES 查询的日志记录。 - 调整了 ES 查询中的字段映射和查询条件。 ```
parent a61b03b2
package com.yeejoin.amos.boot.module.jg.api.dto; package com.yeejoin.amos.boot.module.jg.api.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -62,7 +61,7 @@ public class JgUseRegistrationDto extends BaseDto { ...@@ -62,7 +61,7 @@ public class JgUseRegistrationDto extends BaseDto {
private Date auditPassDate; private Date auditPassDate;
@ApiModelProperty(value = "办理日期范围") @ApiModelProperty(value = "办理日期范围")
private String auditPassDateRange; private List<String> auditPassDateRange;
@ApiModelProperty(value = "办理日期起始日期") @ApiModelProperty(value = "办理日期起始日期")
private Date auditPassDateStart; private Date auditPassDateStart;
......
...@@ -125,25 +125,26 @@ public class JgUseRegistrationController extends BaseController { ...@@ -125,25 +125,26 @@ public class JgUseRegistrationController extends BaseController {
dto.setReceiveCompanyCode(info.getCompany().getCompanyCode()); dto.setReceiveCompanyCode(info.getCompany().getCompanyCode());
dto.setSupervisionOrgCode(info.getCompany().getOrgCode()); dto.setSupervisionOrgCode(info.getCompany().getOrgCode());
} }
if (dto.getAuditPassDateRange() != null && !dto.getAuditPassDateRange().isEmpty() && !dto.getAuditPassDateRange().equals("[, ]")) { if (dto.getAuditPassDateRange() != null && !dto.getAuditPassDateRange().isEmpty()) {
String dateRangeStr = dto.getAuditPassDateRange(); String startDate = dto.getAuditPassDateRange().get(0).substring(1);
String[] dates = dateRangeStr.replace("[", "").replace("]", "").split(", "); String endDate = dto.getAuditPassDateRange().get(1).substring(0, dto.getAuditPassDateRange().get(1).length() - 1);
if (!ValidationUtil.isEmpty(startDate) && !ValidationUtil.isEmpty(endDate)) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date start = null; Date start = null;
Date end = null; Date end = null;
try { try {
start = dateFormat.parse(dates[0]); start = dateFormat.parse(startDate);
end = dateFormat.parse(dates[1]); end = dateFormat.parse(endDate);
} catch (ParseException e) { } catch (ParseException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
calendar.add(Calendar.DAY_OF_MONTH, -1);
start = calendar.getTime();
dto.setAuditPassDateStart(start);
dto.setAuditPassDateEnd(end);
} }
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
calendar.add(Calendar.DAY_OF_MONTH, -1);
start = calendar.getTime();
dto.setAuditPassDateStart(start);
dto.setAuditPassDateEnd(end);
} }
Page<Map<String, Object>> list = jgUseRegistrationServiceImpl.getList(dto, sort, page, dto.getRoleIds(), client); Page<Map<String, Object>> list = jgUseRegistrationServiceImpl.getList(dto, sort, page, dto.getRoleIds(), client);
list.getRecords().forEach(x -> { list.getRecords().forEach(x -> {
......
...@@ -34,6 +34,7 @@ import org.springframework.util.StringUtils; ...@@ -34,6 +34,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.component.emq.EmqKeeper; import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -414,25 +415,26 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService { ...@@ -414,25 +415,26 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService {
*/ */
@Override @Override
public void registration(HttpServletResponse response, JgUseRegistrationDto dto, String client) { public void registration(HttpServletResponse response, JgUseRegistrationDto dto, String client) {
if (dto.getAuditPassDateRange() != null && !dto.getAuditPassDateRange().isEmpty() && !dto.getAuditPassDateRange().equals("[, ]")) { if (dto.getAuditPassDateRange() != null && !dto.getAuditPassDateRange().isEmpty()) {
String dateRangeStr = dto.getAuditPassDateRange(); String startDate = dto.getAuditPassDateRange().get(0).substring(1);
String[] dates = dateRangeStr.replace("[", "").replace("]", "").split(", "); String endDate = dto.getAuditPassDateRange().get(1).substring(0, dto.getAuditPassDateRange().get(1).length() - 1);
if (!ValidationUtil.isEmpty(startDate) && !ValidationUtil.isEmpty(endDate)) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date start = null; Date start = null;
Date end = null; Date end = null;
try { try {
start = dateFormat.parse(dates[0]); start = dateFormat.parse(startDate);
end = dateFormat.parse(dates[1]); end = dateFormat.parse(endDate);
} catch (ParseException e) { } catch (ParseException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
calendar.add(Calendar.DAY_OF_MONTH, -1); // 减去一天
start = calendar.getTime();
dto.setAuditPassDateStart(start);
dto.setAuditPassDateEnd(end);
} }
Calendar calendar = Calendar.getInstance();
calendar.setTime(start);
calendar.add(Calendar.DAY_OF_MONTH, -1); // 减去一天
start = calendar.getTime();
dto.setAuditPassDateStart(start);
dto.setAuditPassDateEnd(end);
} }
List<RegistrationVo> exportData = registrationMapper.queryRegistrationInIds(dto, client); List<RegistrationVo> exportData = registrationMapper.queryRegistrationInIds(dto, client);
for (RegistrationVo vo : exportData) { for (RegistrationVo vo : exportData) {
......
...@@ -5146,7 +5146,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -5146,7 +5146,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
public IPage<JSONObject> queryESForPage(ReginParams selectedOrgInfo, String current, String size, String sort, String client, JgUseRegistrationDto dto) { public IPage<JSONObject> queryESForPage(ReginParams selectedOrgInfo, String current, String size, String sort, String client, JgUseRegistrationDto dto) {
int pageNumber = ObjectUtils.isEmpty(current) ? 1 : Integer.parseInt(current); int pageNumber = ObjectUtils.isEmpty(current) ? 1 : Math.max(Integer.parseInt(current), 1);
int pageSize = ObjectUtils.isEmpty(size) ? 20 : Integer.parseInt(size); int pageSize = ObjectUtils.isEmpty(size) ? 20 : Integer.parseInt(size);
Page<JSONObject> result = new Page<>(pageNumber, pageSize); Page<JSONObject> result = new Page<>(pageNumber, pageSize);
...@@ -5182,6 +5182,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -5182,6 +5182,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
try { try {
request.source(builder); request.source(builder);
log.info("使用登记列表es查询参数:{}", builder);
response = restHighLevelClient.search(request, RequestOptions.DEFAULT); response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
result.setTotal(Objects.requireNonNull(response.getHits().getTotalHits()).value); result.setTotal(Objects.requireNonNull(response.getHits().getTotalHits()).value);
...@@ -5191,6 +5192,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -5191,6 +5192,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
Map<String, Object> sourceMap = hit.getSourceAsMap(); Map<String, Object> sourceMap = hit.getSourceAsMap();
JSONObject x = new JSONObject(); JSONObject x = new JSONObject();
for (Map.Entry<String, Object> entry : sourceMap.entrySet()) { for (Map.Entry<String, Object> entry : sourceMap.entrySet()) {
if (!UNDERSCORE_TO_CAMEL.containsKey(entry.getKey())) {
continue;
}
x.put(UNDERSCORE_TO_CAMEL.get(entry.getKey()), entry.getValue()); x.put(UNDERSCORE_TO_CAMEL.get(entry.getKey()), entry.getValue());
} }
x.put("companyType", selectedOrgInfo.getCompany().getCompanyType()); x.put("companyType", selectedOrgInfo.getCompany().getCompanyType());
...@@ -5277,7 +5281,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -5277,7 +5281,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 使用登记证号查询 // 使用登记证号查询
if (!ValidationUtil.isEmpty(dto.getUseRegistrationCode())) { if (!ValidationUtil.isEmpty(dto.getUseRegistrationCode())) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
meBuilder.must(QueryBuilders.termQuery("use_registration_code.keyword", dto.getUseRegistrationCode())); meBuilder.must(QueryBuilders.wildcardQuery("use_registration_code.keyword", "*" + dto.getUseRegistrationCode() + "*"));
boolMust.must(meBuilder); boolMust.must(meBuilder);
} }
...@@ -5296,15 +5300,16 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -5296,15 +5300,16 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
// 办理日期筛选 // 办理日期筛选
if (!ValidationUtil.isEmpty(dto.getAuditPassDateRange()) && !dto.getAuditPassDateRange().equals("[, ]")) { if (!ValidationUtil.isEmpty(dto.getAuditPassDateRange()) && dto.getAuditPassDateRange().size() == 2) {
String dateRangeStr = dto.getAuditPassDateRange(); String startDate = dto.getAuditPassDateRange().get(0).substring(1);
JSONArray jsonArray = JSONArray.parseArray(dateRangeStr); String endDate = dto.getAuditPassDateRange().get(1).substring(0, dto.getAuditPassDateRange().get(1).length() - 1);
if (!ValidationUtil.isEmpty(startDate) && !ValidationUtil.isEmpty(endDate)) {
RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("audit_pass_date") RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("audit_pass_date")
.gte(jsonArray.getString(0)) .gte(startDate)
.lte(jsonArray.getString(1)) .lte(endDate)
.timeZone("+08:00");// 明确指定时区(东八区)查询 .timeZone("+08:00");// 明确指定时区(东八区)查询
boolMust.must(rangeQuery); boolMust.must(rangeQuery);
}
} }
// 创建日期筛选 // 创建日期筛选
...@@ -5330,30 +5335,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -5330,30 +5335,22 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 设备品种筛选 // 设备品种筛选
if (!ValidationUtil.isEmpty(dto.getEquDefine())) { if (!ValidationUtil.isEmpty(dto.getEquDefine())) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery(); boolMust.must(QueryBuilders.termQuery("equ_define_code.keyword", dto.getEquDefine()));
meBuilder.must(QueryBuilders.termQuery("equ_define_code.keyword", dto.getEquDefine()));
boolMust.must(meBuilder);
} }
// 设备代码筛选 // 设备代码筛选
if (!ValidationUtil.isEmpty(dto.getEquCode())) { if (!ValidationUtil.isEmpty(dto.getEquCode())) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery(); boolMust.must(QueryBuilders.wildcardQuery("equ_code", "*" + dto.getEquCode().toLowerCase() + "*"));
meBuilder.must(QueryBuilders.wildcardQuery("equ_code", "*" + dto.getEquCode() + "*"));
boolMust.must(meBuilder);
} }
// 设备96333码筛选 // 设备96333码筛选
if (!ValidationUtil.isEmpty(dto.getCode96333())) { if (!ValidationUtil.isEmpty(dto.getCode96333())) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery(); boolMust.must(QueryBuilders.wildcardQuery("code96333.keyword", "*" + dto.getCode96333() + "*"));
meBuilder.must(QueryBuilders.wildcardQuery("code96333", "*" + dto.getCode96333() + "*"));
boolMust.must(meBuilder);
} }
// 设备监管码筛选 // 设备监管码筛选(使用supervisory_code_array字段匹配)
if (!ValidationUtil.isEmpty(dto.getSupervisoryCode())) { if (!ValidationUtil.isEmpty(dto.getSupervisoryCode())) {
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery(); boolMust.must(QueryBuilders.termQuery("supervisory_code_array", dto.getSupervisoryCode()));
meBuilder.must(QueryBuilders.wildcardQuery("supervisory_code", "*" + dto.getSupervisoryCode() + "*"));
boolMust.must(meBuilder);
} }
BoolQueryBuilder meBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder meBuilder = QueryBuilders.boolQuery();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment