dev-lml #3

Merged
chencc merged 3 commits from dev-lml into main-stable 2 weeks ago
  1. 6
      common/common-botp/pom.xml
  2. 10
      common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java
  3. 5
      common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingBusinessMapper.java
  4. 4
      common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingFormulaMapper.java
  5. 4
      common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingRulesMapper.java
  6. 2
      common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingBusinessMapper.xml
  7. 2
      common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingFormulaMapper.xml
  8. 2
      common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingRulesMapper.xml
  9. 9
      common/common-botp/src/main/java/apelet/common/botp/dto/ReverseWritingRulesDto.java
  10. 12
      common/common-botp/src/main/java/apelet/common/botp/model/ConvertFieldmappingEntry.java
  11. 3
      common/common-botp/src/main/java/apelet/common/botp/model/ConvertRelation.java
  12. 21
      common/common-botp/src/main/java/apelet/common/botp/model/ConvertRule.java
  13. 2
      common/common-botp/src/main/java/apelet/common/botp/model/ReverseWritingBusiness.java
  14. 8
      common/common-botp/src/main/java/apelet/common/botp/model/ReverseWritingFormula.java
  15. 26
      common/common-botp/src/main/java/apelet/common/botp/model/ReverseWritingRules.java
  16. 8
      common/common-botp/src/main/java/apelet/common/botp/plugin/ReverseWritingPlugIn.java
  17. 4
      common/common-botp/src/main/java/apelet/common/botp/service/IReverseWritingBusinessService.java
  18. 4
      common/common-botp/src/main/java/apelet/common/botp/service/IReverseWritingFormulaService.java
  19. 6
      common/common-botp/src/main/java/apelet/common/botp/service/IReverseWritingRulesService.java
  20. 9
      common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingBusinessServiceImpl.java
  21. 9
      common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingFormulaServiceImpl.java
  22. 21
      common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingRulesServiceImpl.java
  23. 8
      common/common-online/src/main/java/apelet/common/online/dto/OnlinePluginExecuteDto.java
  24. 226
      common/common-online/src/main/java/apelet/common/online/plugin/pre/AuditOperationServicePlugIn.java
  25. 12
      common/common-online/src/main/java/apelet/common/online/plugin/pre/RevokeOperationServicePlugIn.java
  26. 208
      common/common-online/src/main/java/apelet/common/online/plugin/pre/SaveOperationServicePlugIn.java
  27. 40
      common/common-online/src/main/java/apelet/common/online/service/impl/OnlineOperationServiceImpl.java
  28. 1
      common/pom.xml

6
common/common-botp/pom.xml

@ -17,17 +17,17 @@ @@ -17,17 +17,17 @@
<dependency>
<groupId>apelet</groupId>
<artifactId>common-core</artifactId>
<version>1.0.0</version>
<version>${common-core.version}</version>
</dependency>
<dependency>
<groupId>apelet</groupId>
<artifactId>common-generator</artifactId>
<version>1.0.3</version>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>apelet</groupId>
<artifactId>common-online</artifactId>
<version>1.0.3</version>
<version>1.0.6</version>
<scope>compile</scope>
</dependency>
<dependency>

10
common/common-generator/src/main/java/apelet/common/generator/controller/ReverseWritingRulesController.java → common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java

@ -1,5 +1,11 @@ @@ -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; @@ -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;

5
common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingBusinessMapper.java → common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingBusinessMapper.java

@ -1,6 +1,7 @@ @@ -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<ReverseWritingBusiness> {

4
common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingFormulaMapper.java → common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingFormulaMapper.java

@ -1,6 +1,6 @@ @@ -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<ReverseWritingFormula> {

4
common/common-generator/src/main/java/apelet/common/generator/dao/ReverseWritingRulesMapper.java → common/common-botp/src/main/java/apelet/common/botp/dao/ReverseWritingRulesMapper.java

@ -1,6 +1,6 @@ @@ -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;

2
common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingBusinessMapper.xml → common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingBusinessMapper.xml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="apelet.common.generator.dao.ReverseWritingBusinessMapper">
<mapper namespace="apelet.common.botp.dao.ReverseWritingBusinessMapper">
</mapper>

2
common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingFormulaMapper.xml → common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingFormulaMapper.xml

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="apelet.common.generator.dao.ReverseWritingFormulaMapper">
<mapper namespace="apelet.common.botp.dao.ReverseWritingFormulaMapper">
</mapper>

2
common/common-generator/src/main/java/apelet/common/generator/dao/mapper/ReverseWritingRulesMapper.xml → common/common-botp/src/main/java/apelet/common/botp/dao/mapper/ReverseWritingRulesMapper.xml

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="apelet.common.generator.dao.ReverseWritingRulesMapper">
<mapper namespace="apelet.common.botp.dao.ReverseWritingRulesMapper">
<select id="getTableType" resultType="java.util.Map">
SELECT cr.source_entity_id id ,fh.table_name name , fh.tableTxt

9
common/common-generator/src/main/java/apelet/common/generator/dto/ReverseWritingRulesDto.java → common/common-botp/src/main/java/apelet/common/botp/dto/ReverseWritingRulesDto.java

@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
package apelet.common.generator.dto;
package apelet.common.botp.dto;
import apelet.common.generator.model.ReverseWritingBusiness;
import apelet.common.generator.model.ReverseWritingFormula;
import apelet.common.generator.model.ReverseWritingRules;
import apelet.common.botp.model.ReverseWritingBusiness;
import apelet.common.botp.model.ReverseWritingFormula;
import apelet.common.botp.model.ReverseWritingRules;
import lombok.Data;
import java.io.Serializable;

12
common/common-botp/src/main/java/apelet/common/botp/model/ConvertFieldmappingEntry.java

@ -65,6 +65,18 @@ public class ConvertFieldmappingEntry extends BaseModel { @@ -65,6 +65,18 @@ public class ConvertFieldmappingEntry extends BaseModel {
@Schema(description = "父表id")
private String parentId;
@Excel(name = "合并方式", width = 15)
@Schema(description = "合并方式(1:直接取 2:求和 3:拼接),默认为1")
private String mergeMethod;
@Excel(name = "目标分录", width = 15)
@Schema(description = "目标分录")
private String entryTarget;
@Excel(name = "执行顺序", width = 15)
@Schema(description = "执行顺序,数字越小越先执行")
private Integer serialNumber;
@RelationGlobalDict(
masterIdField = "parentId",
dictCode = "parent_id")

3
common/common-botp/src/main/java/apelet/common/botp/model/ConvertRelation.java

@ -44,4 +44,7 @@ public class ConvertRelation extends BaseModel { @@ -44,4 +44,7 @@ public class ConvertRelation extends BaseModel {
@Schema(description = "目标单id")
private String targetId;
@Excel(name = "`本次实际使用的规则版本", width = 15)
@Schema(description = "`本次实际使用的规则版本")
private Integer ruleVersion;
}

21
common/common-botp/src/main/java/apelet/common/botp/model/ConvertRule.java

@ -158,6 +158,27 @@ public class ConvertRule extends BaseModel { @@ -158,6 +158,27 @@ public class ConvertRule extends BaseModel {
@Schema(description = "下游在线编辑界面(关联在线表单界面(OnlineForm))")
private Long downEditInterface;
@Excel(name = "分单策略", width = 15)
@Schema(description = "分单策略(1:一对一 2:多对一 3:按规则分组合并),默认为1")
private String splitMergeStrategy;
@Excel(name = "分单字段", width = 15)
@Schema(description = "分单字段")
private String groupByField;
@Excel(name = "规则启用条件", width = 15)
@Schema(description = "规则启用条件,,留空 = 始终启用")
private String enableConditionJson;
@Excel(name = "选单过滤条件", width = 15)
@Schema(description = "选单过滤策略,留空 = 全部通过")
private String selectFilterJson;
@Excel(name = "规则版本", width = 15)
@Schema(description = "规则版本")
private Integer ruleVersion;
@RelationDict(
masterIdField = "downEditInterface",
equalOneToOneRelationField = "onlineForm",

2
common/common-generator/src/main/java/apelet/common/generator/model/ReverseWritingBusiness.java → common/common-botp/src/main/java/apelet/common/botp/model/ReverseWritingBusiness.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package apelet.common.generator.model;
package apelet.common.botp.model;
import apelet.common.core.base.model.BaseModel;
import com.baomidou.mybatisplus.annotation.TableId;

8
common/common-generator/src/main/java/apelet/common/generator/model/ReverseWritingFormula.java → common/common-botp/src/main/java/apelet/common/botp/model/ReverseWritingFormula.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package apelet.common.generator.model;
package apelet.common.botp.model;
import apelet.common.core.base.model.BaseModel;
import com.baomidou.mybatisplus.annotation.TableField;
@ -74,4 +74,10 @@ public class ReverseWritingFormula extends BaseModel implements Serializable { @@ -74,4 +74,10 @@ public class ReverseWritingFormula extends BaseModel implements Serializable {
*/
private int enable;
/**
* 执行顺序,数字越小越先执行
*/
private Integer execOrder;
}

26
common/common-generator/src/main/java/apelet/common/generator/model/ReverseWritingRules.java → common/common-botp/src/main/java/apelet/common/botp/model/ReverseWritingRules.java

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
package apelet.common.generator.model;
package apelet.common.botp.model;
import apelet.common.core.base.model.BaseModel;
import com.baomidou.mybatisplus.annotation.TableId;
@ -51,4 +51,28 @@ public class ReverseWritingRules extends BaseModel implements Serializable { @@ -51,4 +51,28 @@ public class ReverseWritingRules extends BaseModel implements Serializable {
*/
private int enable;
/**
* 超额检查公式,留空 = 不检查
*/
private String excessCheckJson;
/**
* 超额动作 1:拦截报错 2:仅告警
*/
private String excessAction;
/**
* 源单行关闭条件,留空=不关闭
*/
private String sourceCloseJson;
/**
* 撤销回滚 1:是 0:否 默认是
*/
private Integer rollbackOnRevoke;
/**
* 规则版本
*/
private Integer ruleVersion;
}

8
common/common-botp/src/main/java/apelet/common/botp/plugin/ReverseWritingPlugIn.java

@ -4,10 +4,10 @@ import apelet.common.core.exception.MyRuntimeException; @@ -4,10 +4,10 @@ import apelet.common.core.exception.MyRuntimeException;
import apelet.common.core.object.ObjectCollection;
import apelet.common.core.object.ObjectValue;
import apelet.common.core.util.ApplicationContextHolder;
import apelet.common.generator.dto.ReverseWritingRulesDto;
import apelet.common.generator.model.ReverseWritingBusiness;
import apelet.common.generator.model.ReverseWritingFormula;
import apelet.common.generator.service.impl.ReverseWritingRulesServiceImpl;
import apelet.common.botp.dto.ReverseWritingRulesDto;
import apelet.common.botp.model.ReverseWritingBusiness;
import apelet.common.botp.model.ReverseWritingFormula;
import apelet.common.botp.service.impl.ReverseWritingRulesServiceImpl;
import apelet.common.generator.utils.OrmGenDataSourceUtil;
import apelet.common.online.service.impl.OnlineFormServiceImpl;
import apelet.common.online.util.Jexl3Util;

4
common/common-generator/src/main/java/apelet/common/generator/service/IReverseWritingBusinessService.java → common/common-botp/src/main/java/apelet/common/botp/service/IReverseWritingBusinessService.java

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
package apelet.common.generator.service;
package apelet.common.botp.service;
import apelet.common.generator.model.ReverseWritingBusiness;
import apelet.common.botp.model.ReverseWritingBusiness;
import com.baomidou.mybatisplus.extension.service.IService;
public interface IReverseWritingBusinessService extends IService<ReverseWritingBusiness> {

4
common/common-generator/src/main/java/apelet/common/generator/service/IReverseWritingFormulaService.java → common/common-botp/src/main/java/apelet/common/botp/service/IReverseWritingFormulaService.java

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
package apelet.common.generator.service;
package apelet.common.botp.service;
import apelet.common.generator.model.ReverseWritingFormula;
import apelet.common.botp.model.ReverseWritingFormula;
import com.baomidou.mybatisplus.extension.service.IService;
public interface IReverseWritingFormulaService extends IService<ReverseWritingFormula> {

6
common/common-generator/src/main/java/apelet/common/generator/service/IReverseWritingRulesService.java → common/common-botp/src/main/java/apelet/common/botp/service/IReverseWritingRulesService.java

@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
package apelet.common.generator.service;
package apelet.common.botp.service;
import apelet.common.generator.dto.ReverseWritingRulesDto;
import apelet.common.generator.model.ReverseWritingRules;
import apelet.common.botp.dto.ReverseWritingRulesDto;
import apelet.common.botp.model.ReverseWritingRules;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;

9
common/common-generator/src/main/java/apelet/common/generator/service/impl/ReverseWritingBusinessServiceImpl.java → common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingBusinessServiceImpl.java

@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
package apelet.common.generator.service.impl;
package apelet.common.botp.service.impl;
import apelet.common.generator.dao.ReverseWritingBusinessMapper;
import apelet.common.generator.model.ReverseWritingBusiness;
import apelet.common.generator.service.IReverseWritingBusinessService;
import apelet.common.botp.dao.ReverseWritingBusinessMapper;
import apelet.common.botp.model.ReverseWritingBusiness;
import apelet.common.botp.service.IReverseWritingBusinessService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

9
common/common-generator/src/main/java/apelet/common/generator/service/impl/ReverseWritingFormulaServiceImpl.java → common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingFormulaServiceImpl.java

@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
package apelet.common.generator.service.impl;
package apelet.common.botp.service.impl;
import apelet.common.generator.dao.ReverseWritingFormulaMapper;
import apelet.common.generator.model.ReverseWritingFormula;
import apelet.common.generator.service.IReverseWritingFormulaService;
import apelet.common.botp.dao.ReverseWritingFormulaMapper;
import apelet.common.botp.model.ReverseWritingFormula;
import apelet.common.botp.service.IReverseWritingFormulaService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

21
common/common-generator/src/main/java/apelet/common/generator/service/impl/ReverseWritingRulesServiceImpl.java → common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingRulesServiceImpl.java

@ -1,13 +1,14 @@ @@ -1,13 +1,14 @@
package apelet.common.generator.service.impl;
import apelet.common.generator.dao.ReverseWritingRulesMapper;
import apelet.common.generator.dto.ReverseWritingRulesDto;
import apelet.common.generator.model.ReverseWritingBusiness;
import apelet.common.generator.model.ReverseWritingFormula;
import apelet.common.generator.model.ReverseWritingRules;
import apelet.common.generator.service.IReverseWritingBusinessService;
import apelet.common.generator.service.IReverseWritingFormulaService;
import apelet.common.generator.service.IReverseWritingRulesService;
package apelet.common.botp.service.impl;
import apelet.common.botp.dao.ReverseWritingRulesMapper;
import apelet.common.botp.dto.ReverseWritingRulesDto;
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;

8
common/common-online/src/main/java/apelet/common/online/dto/OnlinePluginExecuteDto.java

@ -6,6 +6,7 @@ import lombok.Data; @@ -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 { @@ -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<String, Object> queryParams;
}

226
common/common-online/src/main/java/apelet/common/online/plugin/pre/AuditOperationServicePlugIn.java

@ -1,26 +1,12 @@ @@ -1,26 +1,12 @@
package apelet.common.online.plugin.pre;
import apelet.common.core.exception.MyRuntimeException;
import apelet.common.core.object.ObjectCollection;
import apelet.common.core.object.ObjectValue;
import apelet.common.core.util.ApplicationContextHolder;
import apelet.common.generator.model.*;
import apelet.common.generator.service.*;
import apelet.common.generator.service.impl.ReverseWritingBusinessServiceImpl;
import apelet.common.generator.service.IOnlFormHeadService;
import apelet.common.generator.utils.OrmGenDataSourceUtil;
import apelet.common.online.plugin.BeginOperationTransactionArgs;
import apelet.common.online.plugin.OperationServicePlugIn;
import apelet.common.online.plugin.OperationServicePlugInArgs;
import apelet.common.online.service.OnlineFormService;
import apelet.common.online.service.OnlineOperationService;
import apelet.common.online.service.impl.OnlineFormServiceImpl;
import apelet.common.online.util.Jexl3Util;
import apelet.common.orm.impl.Selector;
import apelet.common.orm.impl.SelectorItem;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import java.util.*;
/**
* @author Soon
@ -30,9 +16,9 @@ import java.util.*; @@ -30,9 +16,9 @@ import java.util.*;
public class AuditOperationServicePlugIn extends OperationServicePlugIn {
private OnlineFormServiceImpl onlineFormService;
private IReverseWritingRulesService reverseWritingRulesService;
private IReverseWritingBusinessService businessService;
private IReverseWritingFormulaService formulaService;
// private IReverseWritingRulesService reverseWritingRulesService;
// private IReverseWritingBusinessService businessService;
// private IReverseWritingFormulaService formulaService;
private OrmGenDataSourceUtil ormGenDataSourceUtil;
private IOnlFormHeadService onlFormHeadService;
private Jexl3Util jexl3Util;
@ -40,9 +26,9 @@ public class AuditOperationServicePlugIn extends OperationServicePlugIn { @@ -40,9 +26,9 @@ public class AuditOperationServicePlugIn extends OperationServicePlugIn {
public AuditOperationServicePlugIn() {
onlineFormService = ApplicationContextHolder.getBean("onlineFormService");
reverseWritingRulesService = ApplicationContextHolder.getBean("reverseWritingRulesServiceImpl");
businessService = ApplicationContextHolder.getBean("reverseWritingBusinessServiceImpl");
formulaService = ApplicationContextHolder.getBean("reverseWritingFormulaServiceImpl");
// reverseWritingRulesService = ApplicationContextHolder.getBean("reverseWritingRulesServiceImpl");
// businessService = ApplicationContextHolder.getBean("reverseWritingBusinessServiceImpl");
// formulaService = ApplicationContextHolder.getBean("reverseWritingFormulaServiceImpl");
ormGenDataSourceUtil = ApplicationContextHolder.getBean("ormGenDataSourceUtil");
onlFormHeadService = ApplicationContextHolder.getBean("onlFormHeadServiceImpl");
jexl3Util = ApplicationContextHolder.getBean("jexl3Util");
@ -55,103 +41,103 @@ public class AuditOperationServicePlugIn extends OperationServicePlugIn { @@ -55,103 +41,103 @@ public class AuditOperationServicePlugIn extends OperationServicePlugIn {
e.addFiledKey("billstatus");
}
@Override
public void beginOperationTransaction(BeginOperationTransactionArgs e) {
ObjectValue objectValue = e.getModel();
if (!objectValue.get("billstatus").equals("B")) {
throw new RuntimeException("只有提交状态才能审核");
}
try {
objectValue.put("billstatus", "C");
Selector selector = new Selector();
selector.getList().add(new SelectorItem("billstatus"));
ormGenDataSourceUtil().update(objectValue.getTableName(), objectValue, selector);
OnlFormHead onlFormHead = onlFormHeadService.getOne(new LambdaQueryWrapper<OnlFormHead>().eq(OnlFormHead::getTableName, objectValue.getTableName()));
List<ReverseWritingRules> list = reverseWritingRulesService.list(
new LambdaQueryWrapper<ReverseWritingRules>()
.eq(ReverseWritingRules::getTargetDoc, onlFormHead.getId())
.eq(ReverseWritingRules::getTriggerTiming, 2)
.eq(ReverseWritingRules::getEnable, 1)
);
if (list.isEmpty()) {
return;
}
objectValue = ormGenDataSourceUtil.queryOne(objectValue.getTableName(), objectValue.getLong("id"));
for (ReverseWritingRules rules : list) {
List<ReverseWritingBusiness> businesses = businessService.list(
new LambdaQueryWrapper<ReverseWritingBusiness>()
.eq(ReverseWritingBusiness::getRulesId, rules.getId())
.eq(ReverseWritingBusiness::getEnable, 1)
);
List<ReverseWritingFormula> formulaList = formulaService.list(
new LambdaQueryWrapper<ReverseWritingFormula>()
.eq(ReverseWritingFormula::getRulesId, rules.getId())
.eq(ReverseWritingFormula::getEnable, 1)
);
OnlFormHead srcForm = onlFormHeadService.getOne(
new LambdaQueryWrapper<OnlFormHead>().eq(OnlFormHead::getId, rules.getSourceDocuments())
);
if (objectValue.getValues().containsKey("srcbillid")) {
} else {
Map map = objectValue.getValues();
for (Object key : map.keySet()) {
if (map.get(key) instanceof ObjectCollection) {
ObjectCollection entryList = (ObjectCollection) map.get(key);
Iterator iterator = entryList.iterator();
while (iterator.hasNext()) {
ObjectValue next = (ObjectValue) iterator.next();
if (next.containsKey("srcbillid")) {
ObjectValue srcObjectValue = ormGenDataSourceUtil.queryOne(srcForm.getTableName(), next.getLong("srcbillid"));
ObjectValue finalObjectValue = objectValue;
businesses.forEach(b -> {
try {
boolean bool = (boolean) onlineFormService.func(b.getPreconditionsEnglish(), JSON.parseObject(b.getPreconditionsJson()), finalObjectValue);
String expressionTransl = bool ? b.getEstablishedEnglish() : b.getNotEstablishedEnglish();
String jsonObj = bool ? b.getEstablishedJson() : b.getNotEstablishedJson();
List<String> split = Arrays.asList(expressionTransl.split("="));
String fun = "";
for (String s : split) {
s = s.trim();
if (s.startsWith("$") && s.endsWith("$")) {
fun = s;
}
}
fun = jexl3Util.getMySplit("\\$(.*?)\\$", fun);
List<String> funParam = Arrays.asList(jexl3Util.getMySplit("\\((.*?)\\)", fun).split(","));
Object[] objects = jexl3Util.getFunParam(funParam, finalObjectValue);
Object o = onlineFormService.executeFunction(JSON.parseObject(jsonObj), fun, objects);
ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
});
formulaList.forEach(f -> {
try {
ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
} catch (Exception ex) {
throw new RuntimeException(ex);
}
});
}
}
}
}
}
}
// 审核反写规则
} catch (Exception e1) {
throw new MyRuntimeException(e1);
}
}
// @Override
// public void beginOperationTransaction(BeginOperationTransactionArgs e) {
//
// ObjectValue objectValue = e.getModel();
// if (!objectValue.get("billstatus").equals("B")) {
// throw new RuntimeException("只有提交状态才能审核");
// }
// try {
// objectValue.put("billstatus", "C");
// Selector selector = new Selector();
// selector.getList().add(new SelectorItem("billstatus"));
// ormGenDataSourceUtil().update(objectValue.getTableName(), objectValue, selector);
//
// OnlFormHead onlFormHead = onlFormHeadService.getOne(new LambdaQueryWrapper<OnlFormHead>().eq(OnlFormHead::getTableName, objectValue.getTableName()));
// List<ReverseWritingRules> list = reverseWritingRulesService.list(
// new LambdaQueryWrapper<ReverseWritingRules>()
// .eq(ReverseWritingRules::getTargetDoc, onlFormHead.getId())
// .eq(ReverseWritingRules::getTriggerTiming, 2)
// .eq(ReverseWritingRules::getEnable, 1)
// );
// if (list.isEmpty()) {
// return;
// }
// objectValue = ormGenDataSourceUtil.queryOne(objectValue.getTableName(), objectValue.getLong("id"));
//
//
// for (ReverseWritingRules rules : list) {
// List<ReverseWritingBusiness> businesses = businessService.list(
// new LambdaQueryWrapper<ReverseWritingBusiness>()
// .eq(ReverseWritingBusiness::getRulesId, rules.getId())
// .eq(ReverseWritingBusiness::getEnable, 1)
// );
// List<ReverseWritingFormula> formulaList = formulaService.list(
// new LambdaQueryWrapper<ReverseWritingFormula>()
// .eq(ReverseWritingFormula::getRulesId, rules.getId())
// .eq(ReverseWritingFormula::getEnable, 1)
// );
// OnlFormHead srcForm = onlFormHeadService.getOne(
// new LambdaQueryWrapper<OnlFormHead>().eq(OnlFormHead::getId, rules.getSourceDocuments())
// );
// if (objectValue.getValues().containsKey("srcbillid")) {
//
// } else {
// Map map = objectValue.getValues();
// for (Object key : map.keySet()) {
// if (map.get(key) instanceof ObjectCollection) {
// ObjectCollection entryList = (ObjectCollection) map.get(key);
// Iterator iterator = entryList.iterator();
// while (iterator.hasNext()) {
// ObjectValue next = (ObjectValue) iterator.next();
// if (next.containsKey("srcbillid")) {
// ObjectValue srcObjectValue = ormGenDataSourceUtil.queryOne(srcForm.getTableName(), next.getLong("srcbillid"));
// ObjectValue finalObjectValue = objectValue;
// businesses.forEach(b -> {
// try {
// boolean bool = (boolean) onlineFormService.func(b.getPreconditionsEnglish(), JSON.parseObject(b.getPreconditionsJson()), finalObjectValue);
// String expressionTransl = bool ? b.getEstablishedEnglish() : b.getNotEstablishedEnglish();
// String jsonObj = bool ? b.getEstablishedJson() : b.getNotEstablishedJson();
// List<String> split = Arrays.asList(expressionTransl.split("="));
// String fun = "";
// for (String s : split) {
// s = s.trim();
// if (s.startsWith("$") && s.endsWith("$")) {
// fun = s;
// }
// }
// fun = jexl3Util.getMySplit("\\$(.*?)\\$", fun);
// List<String> funParam = Arrays.asList(jexl3Util.getMySplit("\\((.*?)\\)", fun).split(","));
// Object[] objects = jexl3Util.getFunParam(funParam, finalObjectValue);
// Object o = onlineFormService.executeFunction(JSON.parseObject(jsonObj), fun, objects);
// ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
// } catch (Exception ex) {
// throw new RuntimeException(ex);
// }
// });
// formulaList.forEach(f -> {
//
// try {
// ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
// } catch (Exception ex) {
// throw new RuntimeException(ex);
// }
// });
// }
// }
// }
// }
//
// }
// }
//
//
// // 审核反写规则
//
// } catch (Exception e1) {
// throw new MyRuntimeException(e1);
// }
//
// }
}

12
common/common-online/src/main/java/apelet/common/online/plugin/pre/RevokeOperationServicePlugIn.java

@ -10,9 +10,9 @@ import apelet.common.flow.model.FlowWorkOrder; @@ -10,9 +10,9 @@ import apelet.common.flow.model.FlowWorkOrder;
import apelet.common.flow.service.FlowApiService;
import apelet.common.generator.model.OnlFormHead;
import apelet.common.generator.service.IOnlFormHeadService;
import apelet.common.generator.service.IReverseWritingBusinessService;
import apelet.common.generator.service.IReverseWritingFormulaService;
import apelet.common.generator.service.IReverseWritingRulesService;
//import apelet.common.generator.service.IReverseWritingBusinessService;
//import apelet.common.generator.service.IReverseWritingFormulaService;
//import apelet.common.generator.service.IReverseWritingRulesService;
import apelet.common.generator.utils.OrmGenDataSourceUtil;
import apelet.common.online.plugin.BeginOperationTransactionArgs;
import apelet.common.online.plugin.OperationServicePlugIn;
@ -31,9 +31,9 @@ import java.util.HashMap; @@ -31,9 +31,9 @@ import java.util.HashMap;
*/
public class RevokeOperationServicePlugIn extends OperationServicePlugIn {
private IReverseWritingRulesService reverseWritingRulesService;
private IReverseWritingBusinessService businessService;
private IReverseWritingFormulaService formulaService;
// private IReverseWritingRulesService reverseWritingRulesService;
// private IReverseWritingBusinessService businessService;
// private IReverseWritingFormulaService formulaService;
private OnlineFormServiceImpl onlineFormService;
private OrmGenDataSourceUtil ormGenDataSourceUtil;
private IOnlFormHeadService onlFormHeadService;

208
common/common-online/src/main/java/apelet/common/online/plugin/pre/SaveOperationServicePlugIn.java

@ -50,18 +50,18 @@ public class SaveOperationServicePlugIn extends OperationServicePlugIn { @@ -50,18 +50,18 @@ public class SaveOperationServicePlugIn extends OperationServicePlugIn {
private CommonRedisUtil commonRedisUtil;
private IReverseWritingRulesService reverseWritingRulesService;
private IReverseWritingBusinessService businessService;
private IReverseWritingFormulaService formulaService;
// private IReverseWritingRulesService reverseWritingRulesService;
// private IReverseWritingBusinessService businessService;
// private IReverseWritingFormulaService formulaService;
public SaveOperationServicePlugIn() {
ormGenDataSourceUtil = ApplicationContextHolder.getBean("ormGenDataSourceUtil");
onlFormHeadService = ApplicationContextHolder.getBean("onlFormHeadServiceImpl");
onlineFormService = ApplicationContextHolder.getBean("onlineFormService");
reverseWritingRulesService = ApplicationContextHolder.getBean("reverseWritingRulesServiceImpl");
businessService = ApplicationContextHolder.getBean("reverseWritingBusinessServiceImpl");
formulaService = ApplicationContextHolder.getBean("reverseWritingFormulaServiceImpl");
// reverseWritingRulesService = ApplicationContextHolder.getBean("reverseWritingRulesServiceImpl");
// businessService = ApplicationContextHolder.getBean("reverseWritingBusinessServiceImpl");
// formulaService = ApplicationContextHolder.getBean("reverseWritingFormulaServiceImpl");
jexl3Util = ApplicationContextHolder.getBean("jexl3Util");
commonRedisUtil = ApplicationContextHolder.getBean("commonRedisUtil");
onlineTableService = ApplicationContextHolder.getBean("onlineTableService");
@ -121,109 +121,109 @@ public class SaveOperationServicePlugIn extends OperationServicePlugIn { @@ -121,109 +121,109 @@ public class SaveOperationServicePlugIn extends OperationServicePlugIn {
//objectValue.put("create_user_id", jsonObject);
objectValue = ormGenDataSourceUtil.addNew(objectValue.getTableName(), objectValue);
}
reverseWriting(objectValue, onlFormHead);
// reverseWriting(objectValue, onlFormHead);
return objectValue;
}
// 反写规则
void reverseWriting(ObjectValue objectValue, OnlFormHead onlFormHead) {
// 判断是否存在源单单据ID
if (StringUtils.isEmpty(objectValue.getString("srcbillid"))) {
return;
}
// 反写规则
List<ReverseWritingRules> rules = reverseWritingRulesService.list(
new LambdaQueryWrapper<ReverseWritingRules>()
.eq(ReverseWritingRules::getEnable, 1)
.eq(ReverseWritingRules::getTriggerTiming, 1)
.eq(ReverseWritingRules::getTargetDoc, onlFormHead.getId()));
ObjectValue finalObjectValue = objectValue;
rules.forEach(rule -> {
// 反写公式
List<ReverseWritingFormula> formulaList = formulaService.list(
new LambdaQueryWrapper<ReverseWritingFormula>()
.eq(ReverseWritingFormula::getEnable, 1)
.eq(ReverseWritingFormula::getRulesId, rule.getId()));
for (ReverseWritingFormula formula : formulaList) {
if (formula.getEnable() == 0) continue;
JSONObject conditionJson = JSON.parseObject(formula.getConditionJson());
String expressionTranslation = conditionJson.getString("expressionTranslation");
boolean funValue = (Boolean) onlineFormService.func(expressionTranslation, conditionJson, finalObjectValue);
if (funValue) {
String sourceSingleField = formula.getSourceSingleField();
String formulaField = formula.getFormulaEnglish();
String[] s = sourceSingleField.split("\\."); // 上游单据
String[] f = formulaField.split("\\."); // 下游单据
if (s[0].equals(s[1])) {
//修改表头
ObjectValue srcObjectValue = new ObjectValue(s[1]);
srcObjectValue.put("id", finalObjectValue.getLong("srcbillid"));
srcObjectValue.put(s[2], finalObjectValue.get(s[2]));
try {
ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
} else {
//修改分录
ObjectCollection collection = (ObjectCollection) finalObjectValue.get(f[1]);
Iterator iterator = collection.iterator();
while (iterator.hasNext()) {
ObjectValue next = (ObjectValue) iterator.next();
Object value = getValue(formula.getFormulaJson(), next);
// 反写原单据
ObjectValue srcObjectValue = new ObjectValue(s[1]);
srcObjectValue.put("id", next.getLong("srcbillentryid"));
srcObjectValue.put(s[2], value);
try {
ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
}
// 业务规则
List<ReverseWritingBusiness> businessList = businessService.list(
new LambdaQueryWrapper<ReverseWritingBusiness>()
.eq(ReverseWritingBusiness::getEnable, 1)
.eq(ReverseWritingBusiness::getRulesId, rule.getId()));
for (ReverseWritingBusiness business : businessList) {
if (business.getEnable() == 0) continue;
String preconditionsEnglish = business.getPreconditionsEnglish();
JSONObject jsonObject = JSONObject.parseObject(business.getPreconditionsJson());
boolean p = (Boolean) onlineFormService.func(preconditionsEnglish, jsonObject, finalObjectValue);
String expression;
JSONObject expressionJson;
if (p) {
expression = business.getEstablishedEnglish();
expressionJson = JSON.parseObject(business.getEstablishedJson());
} else {
expression = business.getNotEstablishedEnglish();
expressionJson = JSON.parseObject(business.getNotEstablishedJson());
}
List<String> split = Arrays.asList(expression.split("="));
String fun = "";
String tableName = "";
for (String s : split) {
s = s.trim();
tableName = s.split("\\.")[0];
if (s.startsWith("$") && s.endsWith("$")) {
fun = s;
}
}
ObjectValue srcObjectValue = ormGenDataSourceUtil.queryOne(tableName, objectValue.getLong("srcbillid"), null);
fun = jexl3Util.getMySplit("\\$(.*?)\\$", fun);
List<String> funParam = Arrays.asList(jexl3Util.getMySplit("\\((.*?)\\)", fun).split(","));
Object[] objects = jexl3Util.getFunParam(funParam, srcObjectValue);
Object o = onlineFormService.executeFunction(expressionJson, fun, objects);
System.out.println(o);
}
});
}
// void reverseWriting(ObjectValue objectValue, OnlFormHead onlFormHead) {
// // 判断是否存在源单单据ID
// if (StringUtils.isEmpty(objectValue.getString("srcbillid"))) {
// return;
// }
// // 反写规则
// List<ReverseWritingRules> rules = reverseWritingRulesService.list(
// new LambdaQueryWrapper<ReverseWritingRules>()
// .eq(ReverseWritingRules::getEnable, 1)
// .eq(ReverseWritingRules::getTriggerTiming, 1)
// .eq(ReverseWritingRules::getTargetDoc, onlFormHead.getId()));
// ObjectValue finalObjectValue = objectValue;
// rules.forEach(rule -> {
// // 反写公式
// List<ReverseWritingFormula> formulaList = formulaService.list(
// new LambdaQueryWrapper<ReverseWritingFormula>()
// .eq(ReverseWritingFormula::getEnable, 1)
// .eq(ReverseWritingFormula::getRulesId, rule.getId()));
// for (ReverseWritingFormula formula : formulaList) {
// if (formula.getEnable() == 0) continue;
// JSONObject conditionJson = JSON.parseObject(formula.getConditionJson());
// String expressionTranslation = conditionJson.getString("expressionTranslation");
// boolean funValue = (Boolean) onlineFormService.func(expressionTranslation, conditionJson, finalObjectValue);
// if (funValue) {
// String sourceSingleField = formula.getSourceSingleField();
// String formulaField = formula.getFormulaEnglish();
// String[] s = sourceSingleField.split("\\."); // 上游单据
// String[] f = formulaField.split("\\."); // 下游单据
// if (s[0].equals(s[1])) {
// //修改表头
// ObjectValue srcObjectValue = new ObjectValue(s[1]);
// srcObjectValue.put("id", finalObjectValue.getLong("srcbillid"));
// srcObjectValue.put(s[2], finalObjectValue.get(s[2]));
// try {
// ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// } else {
// //修改分录
// ObjectCollection collection = (ObjectCollection) finalObjectValue.get(f[1]);
// Iterator iterator = collection.iterator();
// while (iterator.hasNext()) {
// ObjectValue next = (ObjectValue) iterator.next();
// Object value = getValue(formula.getFormulaJson(), next);
// // 反写原单据
// ObjectValue srcObjectValue = new ObjectValue(s[1]);
// srcObjectValue.put("id", next.getLong("srcbillentryid"));
// srcObjectValue.put(s[2], value);
// try {
// ormGenDataSourceUtil.update(srcObjectValue.getTableName(), srcObjectValue, null);
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// }
// }
// }
// }
// // 业务规则
// List<ReverseWritingBusiness> businessList = businessService.list(
// new LambdaQueryWrapper<ReverseWritingBusiness>()
// .eq(ReverseWritingBusiness::getEnable, 1)
// .eq(ReverseWritingBusiness::getRulesId, rule.getId()));
// for (ReverseWritingBusiness business : businessList) {
// if (business.getEnable() == 0) continue;
// String preconditionsEnglish = business.getPreconditionsEnglish();
// JSONObject jsonObject = JSONObject.parseObject(business.getPreconditionsJson());
// boolean p = (Boolean) onlineFormService.func(preconditionsEnglish, jsonObject, finalObjectValue);
// String expression;
// JSONObject expressionJson;
// if (p) {
// expression = business.getEstablishedEnglish();
// expressionJson = JSON.parseObject(business.getEstablishedJson());
// } else {
// expression = business.getNotEstablishedEnglish();
// expressionJson = JSON.parseObject(business.getNotEstablishedJson());
// }
// List<String> split = Arrays.asList(expression.split("="));
// String fun = "";
// String tableName = "";
// for (String s : split) {
// s = s.trim();
// tableName = s.split("\\.")[0];
// if (s.startsWith("$") && s.endsWith("$")) {
// fun = s;
// }
// }
// ObjectValue srcObjectValue = ormGenDataSourceUtil.queryOne(tableName, objectValue.getLong("srcbillid"), null);
// fun = jexl3Util.getMySplit("\\$(.*?)\\$", fun);
// List<String> funParam = Arrays.asList(jexl3Util.getMySplit("\\((.*?)\\)", fun).split(","));
// Object[] objects = jexl3Util.getFunParam(funParam, srcObjectValue);
// Object o = onlineFormService.executeFunction(expressionJson, fun, objects);
// System.out.println(o);
// }
//
// });
// }
Object getValue(String json, ObjectValue objectValue) {
// 计算反写公式

40
common/common-online/src/main/java/apelet/common/online/service/impl/OnlineOperationServiceImpl.java

@ -53,6 +53,7 @@ import apelet.common.orm.impl.*; @@ -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 { @@ -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<String> 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 { @@ -1122,6 +1132,36 @@ public class OnlineOperationServiceImpl implements OnlineOperationService {
}
/**
* 按列表筛选条件查询主表全部主键,用于"选择全部按钮"。
* queryParams 为 {列名: 值} 的等值条件;为空表示无筛选(即整表)。
*/
private List<String> queryAllBillIds(OnlineTable masterTable, Map<String, Object> queryParams) {
List<String> 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;
}
/**
* 判断当前按钮绑定的插件中是否包含指定插件。
* <p>按钮与插件的绑定是 widgetJson 中 pluginList[].class 的全限定类名(见 QuickFormWidgetUtil#setSaveButtonEnabled),
* 用类名判断比用中文 buttonName 可靠。</p>

1
common/pom.xml

@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
<module>common-flow</module>
<module>common-flow-online</module>
<module>common-online</module>
<module>common-botp</module>
<module>common-tenant</module>
<module>common-tenant-online</module>

Loading…
Cancel
Save