From 192817f8e8e416db5e5303ed351193b80fbce831 Mon Sep 17 00:00:00 2001 From: lml <1297555865@qq.com> Date: Wed, 14 Oct 2026 09:01:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=E6=B7=BB=E5=8A=A0=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/online/dto/OnlinePluginExecuteDto.java | 8 +++++ .../service/impl/OnlineOperationServiceImpl.java | 40 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/common/common-online/src/main/java/apelet/common/online/dto/OnlinePluginExecuteDto.java b/common/common-online/src/main/java/apelet/common/online/dto/OnlinePluginExecuteDto.java index 7a369e3..ddf92a4 100644 --- a/common/common-online/src/main/java/apelet/common/online/dto/OnlinePluginExecuteDto.java +++ b/common/common-online/src/main/java/apelet/common/online/dto/OnlinePluginExecuteDto.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.util.Map; /** * 在线表单插件操作执行dto @@ -31,4 +32,11 @@ public class OnlinePluginExecuteDto { @Schema(description = "billId") @NotNull(message = "数据验证失败,formId不能为空!") private String billId; + + @Schema(description = "是否选择全部") + private Boolean isSelectAll; + + + @Schema(description = "列表筛选条件") + private Map queryParams; } diff --git a/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineOperationServiceImpl.java b/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineOperationServiceImpl.java index f4020b4..ed05370 100644 --- a/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineOperationServiceImpl.java +++ b/common/common-online/src/main/java/apelet/common/online/service/impl/OnlineOperationServiceImpl.java @@ -53,6 +53,7 @@ import apelet.common.orm.impl.*; import apelet.common.redis.util.CommonRedisUtil; import apelet.common.sequence.wrapper.IdGeneratorWrapper; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; @@ -1085,6 +1086,15 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { } OnlineTable onlineTable = onlineTableService.getOnlineTableFromCache(onlineForm.getMasterTableId()); OnlFormHead onlFormHead = onlFormHeadService.getHeadTableNameCache(onlineTable.getTableName()); + if (BooleanUtil.isTrue(onlinePluginExecuteDto.getIsSelectAll())) { + List allBillIds = this.queryAllBillIds(onlineTable, onlinePluginExecuteDto.getQueryParams()); + if (CollUtil.isEmpty(allBillIds)) { + OperationResult empty = new OperationResult(); + empty.setMessage("没有符合条件的数据!"); + return empty; + } + onlinePluginExecuteDto.setBillId(CollUtil.join(allBillIds, ",")); + } // executePlugin 是所有按钮的统一入口,附件的写入/清理必须按插件类型分别设闸, // 否则「审核」这类只提交部分字段的按钮会把附件全量覆盖掉,「删除」则不会清理附件。 boolean saveOperation = this.containsPlugin(sortDtoList, SaveOperationServicePlugIn.class); @@ -1122,6 +1132,36 @@ public class OnlineOperationServiceImpl implements OnlineOperationService { } /** + * 按列表筛选条件查询主表全部主键,用于"选择全部按钮"。 + * queryParams 为 {列名: 值} 的等值条件;为空表示无筛选(即整表)。 + */ + private List queryAllBillIds(OnlineTable masterTable, Map queryParams) { + List billIds = new ArrayList<>(); + Filter filter = new Filter(); + if (MapUtil.isNotEmpty(queryParams)) { + queryParams.forEach((column, value) -> { + if (value == null || "".equals(value)) { + return; // 空条件不过滤,与列表查询语义保持一致 + } + filter.add(new FilterItem(column, FilterItem.equals, value)); + }); + } + Selector selector = new Selector(); + selector.getList().add(new SelectorItem("id")); + ObjectCollection collection = ormGenDataSourceUtil.query(masterTable.getTableName(), filter, selector); + if (collection == null || collection.isEmpty()){ + return new ArrayList<>(); + } + for (int i = 0; i < collection.size(); i++) { + Object id = collection.getObject(i).get("id"); + if (id != null) { + billIds.add(id.toString()); + } + } + return billIds; + } + + /** * 判断当前按钮绑定的插件中是否包含指定插件。 *

按钮与插件的绑定是 widgetJson 中 pluginList[].class 的全限定类名(见 QuickFormWidgetUtil#setSaveButtonEnabled), * 用类名判断比用中文 buttonName 可靠。

-- 2.9.0.windows.1 From 845af296ec673897a630da7c599a1d4c08c1b9be Mon Sep 17 00:00:00 2001 From: lml <1297555865@qq.com> Date: Fri, 16 Oct 2026 18:01:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=E5=8F=8D=E5=86=99=E8=A7=84=E5=88=99?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=BF=81=E7=A7=BB=E4=BB=A5=E5=8F=8A=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E5=AD=97=E6=AE=B5=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/common-botp/pom.xml | 6 +- .../controller/ReverseWritingRulesController.java | 10 +- .../botp}/dao/ReverseWritingBusinessMapper.java | 5 +- .../botp}/dao/ReverseWritingFormulaMapper.java | 4 +- .../botp}/dao/ReverseWritingRulesMapper.java | 4 +- .../dao/mapper/ReverseWritingBusinessMapper.xml | 2 +- .../dao/mapper/ReverseWritingFormulaMapper.xml | 2 +- .../botp}/dao/mapper/ReverseWritingRulesMapper.xml | 2 +- .../common/botp}/dto/ReverseWritingRulesDto.java | 11 +- .../botp/model/ConvertFieldmappingEntry.java | 12 ++ .../apelet/common/botp/model/ConvertRelation.java | 3 + .../java/apelet/common/botp/model/ConvertRule.java | 21 ++ .../common/botp}/model/ReverseWritingBusiness.java | 2 +- .../common/botp}/model/ReverseWritingFormula.java | 8 +- .../common/botp}/model/ReverseWritingRules.java | 26 ++- .../common/botp/plugin/ReverseWritingPlugIn.java | 8 +- .../service/IReverseWritingBusinessService.java | 4 +- .../service/IReverseWritingFormulaService.java | 4 +- .../botp}/service/IReverseWritingRulesService.java | 6 +- .../impl/ReverseWritingBusinessServiceImpl.java | 9 +- .../impl/ReverseWritingFormulaServiceImpl.java | 9 +- .../impl/ReverseWritingRulesServiceImpl.java | 21 +- .../plugin/pre/AuditOperationServicePlugIn.java | 226 ++++++++++----------- .../plugin/pre/RevokeOperationServicePlugIn.java | 12 +- .../plugin/pre/SaveOperationServicePlugIn.java | 208 +++++++++---------- common/pom.xml | 1 + 26 files changed, 345 insertions(+), 281 deletions(-) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/controller/ReverseWritingRulesController.java (93%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dao/ReverseWritingBusinessMapper.java (60%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dao/ReverseWritingFormulaMapper.java (60%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dao/ReverseWritingRulesMapper.java (71%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dao/mapper/ReverseWritingBusinessMapper.xml (66%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dao/mapper/ReverseWritingFormulaMapper.xml (67%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dao/mapper/ReverseWritingRulesMapper.xml (84%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/dto/ReverseWritingRulesDto.java (66%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/model/ReverseWritingBusiness.java (97%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/model/ReverseWritingFormula.java (92%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/model/ReverseWritingRules.java (66%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/service/IReverseWritingBusinessService.java (60%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/service/IReverseWritingFormulaService.java (60%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/service/IReverseWritingRulesService.java (67%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/service/impl/ReverseWritingBusinessServiceImpl.java (60%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/service/impl/ReverseWritingFormulaServiceImpl.java (60%) rename common/{common-generator/src/main/java/apelet/common/generator => common-botp/src/main/java/apelet/common/botp}/service/impl/ReverseWritingRulesServiceImpl.java (80%) diff --git a/common/common-botp/pom.xml b/common/common-botp/pom.xml index 1fc7b12..f121380 100644 --- a/common/common-botp/pom.xml +++ b/common/common-botp/pom.xml @@ -17,17 +17,17 @@ apelet common-core - 1.0.0 + ${common-core.version} apelet common-generator - 1.0.3 + 1.0.5 apelet common-online - 1.0.3 + 1.0.6 compile diff --git a/common/common-generator/src/main/java/apelet/common/generator/controller/ReverseWritingRulesController.java b/common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java similarity index 93% rename from common/common-generator/src/main/java/apelet/common/generator/controller/ReverseWritingRulesController.java rename to common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java index 92a907e..8203af4 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/controller/ReverseWritingRulesController.java +++ b/common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java @@ -1,5 +1,11 @@ -package apelet.common.generator.controller; +package apelet.common.botp.controller; +import apelet.common.botp.model.ReverseWritingBusiness; +import apelet.common.botp.model.ReverseWritingFormula; +import apelet.common.botp.model.ReverseWritingRules; +import apelet.common.botp.service.IReverseWritingBusinessService; +import apelet.common.botp.service.IReverseWritingFormulaService; +import apelet.common.botp.service.IReverseWritingRulesService; import apelet.common.core.annotation.MyRequestBody; import apelet.common.core.constant.ErrorCodeEnum; import apelet.common.core.exception.MyRuntimeException; @@ -7,7 +13,7 @@ import apelet.common.core.object.MyPageData; import apelet.common.core.object.MyPageParam; import apelet.common.core.object.ResponseResult; import apelet.common.core.util.MyPageUtil; -import apelet.common.generator.dto.ReverseWritingRulesDto; +import apelet.common.botp.dto.ReverseWritingRulesDto; import apelet.common.generator.model.*; import apelet.common.generator.service.*; import cn.hutool.core.util.ObjectUtil; diff --git a/common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingBusinessMapper.java b/common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingBusinessMapper.java similarity index 60% rename from common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingBusinessMapper.java rename to common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingBusinessMapper.java index 2c4ce4c..60609fa 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingBusinessMapper.java +++ b/common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingBusinessMapper.java @@ -1,6 +1,7 @@ -package apelet.common.generator.dao; +package apelet.common.botp.dao; -import apelet.common.generator.model.ReverseWritingBusiness; + +import apelet.common.botp.model.ReverseWritingBusiness; import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface ReverseWritingBusinessMapper extends BaseMapper { diff --git a/common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingFormulaMapper.java b/common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingFormulaMapper.java similarity index 60% rename from common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingFormulaMapper.java rename to common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingFormulaMapper.java index 44955fc..63c70a2 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingFormulaMapper.java +++ b/common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingFormulaMapper.java @@ -1,6 +1,6 @@ -package apelet.common.generator.dao; +package apelet.common.botp.dao; -import apelet.common.generator.model.ReverseWritingFormula; +import apelet.common.botp.model.ReverseWritingFormula; import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface ReverseWritingFormulaMapper extends BaseMapper { diff --git a/common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingRulesMapper.java b/common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingRulesMapper.java similarity index 71% rename from common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingRulesMapper.java rename to common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingRulesMapper.java index de70d6d..c90b234 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingRulesMapper.java +++ b/common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingRulesMapper.java @@ -1,6 +1,6 @@ -package apelet.common.generator.dao; +package apelet.common.botp.dao; -import apelet.common.generator.model.ReverseWritingRules; +import apelet.common.botp.model.ReverseWritingRules; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; diff --git a/common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingBusinessMapper.xml b/common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingBusinessMapper.xml similarity index 66% rename from common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingBusinessMapper.xml rename to common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingBusinessMapper.xml index 3d436b5..8761d06 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingBusinessMapper.xml +++ b/common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingBusinessMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingFormulaMapper.xml b/common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingFormulaMapper.xml similarity index 67% rename from common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingFormulaMapper.xml rename to common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingFormulaMapper.xml index d70193b..f294e15 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingFormulaMapper.xml +++ b/common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingFormulaMapper.xml @@ -1,5 +1,5 @@ - + diff --git a/common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingRulesMapper.xml b/common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingRulesMapper.xml similarity index 84% rename from common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingRulesMapper.xml rename to common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingRulesMapper.xml index 96ac458..310468c 100644 --- a/common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingRulesMapper.xml +++ b/common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingRulesMapper.xml @@ -1,6 +1,6 @@ - +