From 8db95bf199ad24ae549e0454de0d87662af68adf Mon Sep 17 00:00:00 2001 From: liao Date: Wed, 27 Sep 2023 17:19:10 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=B3=95=E8=A7=84-=E5=A4=9A=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/service/impl/LawsCommonServiceImpl.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index b326ee14..19f039b7 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -1888,10 +1888,14 @@ public class LawsCommonServiceImpl implements ILawsCommonService { **/ private void processDateManyTypeCondition(StringBuilder selectCondition, String key, String value) { if (value.contains(",")) { - String startDate = value.split(",")[0]; - String endDate = value.split(",")[1]; - selectCondition.append(" and date_format(SUBSTRING_INDEX(").append(key).append(", ',', 1),'%Y-%m-%d') >= '").append(startDate) - .append("' and date_format(SUBSTRING_INDEX(").append(key).append(", ',', -1),'%Y-%m-%d') <= '").append(endDate).append("'"); + String startDate = "date_format('" + value.split(",")[0] + "', '%Y-%m-%d')"; + String endDate = "date_format('" + value.split(",")[1] + "', '%Y-%m-%d')"; + selectCondition.append(" and (( date_format(SUBSTRING_INDEX(").append(key).append(", ',', 1),'%Y-%m-%d') >= ").append(startDate) + .append(" and date_format(SUBSTRING_INDEX(").append(key).append(", ',', 1),'%Y-%m-%d') <= ").append(endDate).append(")"); + selectCondition.append(" or ( date_format(SUBSTRING_INDEX(").append(key).append(", ',', 1),'%Y-%m-%d') <= ").append(startDate) + .append(" and date_format(SUBSTRING_INDEX(").append(key).append(", ',', -1),'%Y-%m-%d') >= ").append(endDate).append(")"); + selectCondition.append(" or ( date_format(SUBSTRING_INDEX(").append(key).append(", ',', -1),'%Y-%m-%d') >= ").append(startDate) + .append(" and date_format(SUBSTRING_INDEX(").append(key).append(", ',', -1),'%Y-%m-%d') <= ").append(endDate).append("))"); } else { selectCondition.append(" and " + key + " like concat(concat('%','" + value + "'),'%')"); }