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 + "'),'%')"); }