Compare commits

..

4 Commits

Author SHA1 Message Date
lml 0d9682bce2 Merge remote-tracking branch 'origin/dev-lml' into dev-lml 1 week ago
lml 5d9780a615 fix(botp): serialNumber字段类型修改避免排序错误 1 week ago
lml fcc47e46f6 fix(botp): ConvertRule 补分单字段名称并实现 Serializable 1 week ago
lml dd02faa3b9 feat(botp): 反写规则支持插件分录的保存、回显与删除 1 week ago
  1. 21
      common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java
  2. 3
      common/common-botp/src/main/java/apelet/common/botp/dto/ReverseWritingRulesDto.java
  3. 2
      common/common-botp/src/main/java/apelet/common/botp/model/ConvertPluginEntry.java
  4. 7
      common/common-botp/src/main/java/apelet/common/botp/model/ConvertRule.java
  5. 26
      common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingRulesServiceImpl.java

21
common/common-botp/src/main/java/apelet/common/botp/controller/ReverseWritingRulesController.java

@ -1,8 +1,11 @@
package apelet.common.botp.controller; package apelet.common.botp.controller;
import apelet.common.botp.dto.ReverseWritingRulesDto;
import apelet.common.botp.model.ConvertPluginEntry;
import apelet.common.botp.model.ReverseWritingBusiness; import apelet.common.botp.model.ReverseWritingBusiness;
import apelet.common.botp.model.ReverseWritingFormula; import apelet.common.botp.model.ReverseWritingFormula;
import apelet.common.botp.model.ReverseWritingRules; import apelet.common.botp.model.ReverseWritingRules;
import apelet.common.botp.service.IConvertPluginEntryService;
import apelet.common.botp.service.IReverseWritingBusinessService; import apelet.common.botp.service.IReverseWritingBusinessService;
import apelet.common.botp.service.IReverseWritingFormulaService; import apelet.common.botp.service.IReverseWritingFormulaService;
import apelet.common.botp.service.IReverseWritingRulesService; import apelet.common.botp.service.IReverseWritingRulesService;
@ -12,9 +15,8 @@ import apelet.common.core.object.MyPageData;
import apelet.common.core.object.MyPageParam; import apelet.common.core.object.MyPageParam;
import apelet.common.core.object.ResponseResult; import apelet.common.core.object.ResponseResult;
import apelet.common.core.util.MyPageUtil; import apelet.common.core.util.MyPageUtil;
import apelet.common.botp.dto.ReverseWritingRulesDto; import apelet.common.generator.model.OnlFormHead;
import apelet.common.generator.model.*; import apelet.common.generator.service.IOnlFormHeadService;
import apelet.common.generator.service.*;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
@ -26,7 +28,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -47,6 +51,8 @@ public class ReverseWritingRulesController {
IReverseWritingBusinessService businessService; IReverseWritingBusinessService businessService;
@Autowired @Autowired
IOnlFormHeadService onlFormHeadService; IOnlFormHeadService onlFormHeadService;
@Autowired
IConvertPluginEntryService convertPluginEntryService;
@PostMapping(value = "/page") @PostMapping(value = "/page")
@Schema(description = "分页查询") @Schema(description = "分页查询")
@ -106,6 +112,7 @@ public class ReverseWritingRulesController {
rulesService.removeById(id); rulesService.removeById(id);
formulaService.remove(new LambdaQueryWrapper<ReverseWritingFormula>().eq(ReverseWritingFormula::getRulesId, id)); formulaService.remove(new LambdaQueryWrapper<ReverseWritingFormula>().eq(ReverseWritingFormula::getRulesId, id));
businessService.remove(new LambdaQueryWrapper<ReverseWritingBusiness>().eq(ReverseWritingBusiness::getRulesId, id)); businessService.remove(new LambdaQueryWrapper<ReverseWritingBusiness>().eq(ReverseWritingBusiness::getRulesId, id));
convertPluginEntryService.remove(new LambdaQueryWrapper<ConvertPluginEntry>().eq(ConvertPluginEntry::getParentId, id.toString()));
return ResponseResult.success("删除成功"); return ResponseResult.success("删除成功");
} }
@ -121,6 +128,12 @@ public class ReverseWritingRulesController {
return ResponseResult.success(businessList); return ResponseResult.success(businessList);
} }
@GetMapping(value = "/getConvertPluginEntry")
public ResponseResult<List<ConvertPluginEntry>> getConvertPluginEntryByRuleId(@RequestParam Long id) {
List<ConvertPluginEntry> convertPluginEntryList = convertPluginEntryService.list(new LambdaQueryWrapper<ConvertPluginEntry>().eq(ConvertPluginEntry::getParentId, id.toString()));
return ResponseResult.success(convertPluginEntryList);
}
@GetMapping(value = "/getVersionList") @GetMapping(value = "/getVersionList")
@Schema(description = "反写规则版本快照列表") @Schema(description = "反写规则版本快照列表")
public ResponseResult<?> getVersionList(@RequestParam Long id) { public ResponseResult<?> getVersionList(@RequestParam Long id) {

3
common/common-botp/src/main/java/apelet/common/botp/dto/ReverseWritingRulesDto.java

@ -1,6 +1,7 @@
package apelet.common.botp.dto; package apelet.common.botp.dto;
import apelet.common.botp.model.ConvertPluginEntry;
import apelet.common.botp.model.ReverseWritingBusiness; import apelet.common.botp.model.ReverseWritingBusiness;
import apelet.common.botp.model.ReverseWritingFormula; import apelet.common.botp.model.ReverseWritingFormula;
import apelet.common.botp.model.ReverseWritingRules; import apelet.common.botp.model.ReverseWritingRules;
@ -30,6 +31,8 @@ public class ReverseWritingRulesDto extends ReverseWritingRules implements Seria
private List<ReverseWritingBusiness> businessList; private List<ReverseWritingBusiness> businessList;
private List<ConvertPluginEntry> convertPluginEntryList;
} }

2
common/common-botp/src/main/java/apelet/common/botp/model/ConvertPluginEntry.java

@ -53,7 +53,7 @@ public class ConvertPluginEntry extends BaseModel {
@Excel(name = "序号", width = 15) @Excel(name = "序号", width = 15)
@Schema(description = "序号") @Schema(description = "序号")
private String serialNumber; private Integer serialNumber;
@Excel(name = "父表id", width = 15) @Excel(name = "父表id", width = 15)
@Schema(description = "父表id") @Schema(description = "父表id")

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

@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -22,7 +23,7 @@ import java.util.Map;
@Data @Data
@Schema( description = "转换规则存值主表") @Schema( description = "转换规则存值主表")
@TableName("convert_rule") @TableName("convert_rule")
public class ConvertRule extends BaseModel { public class ConvertRule extends BaseModel implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -167,6 +168,10 @@ public class ConvertRule extends BaseModel {
@Schema(description = "分单字段") @Schema(description = "分单字段")
private String groupByField; private String groupByField;
@Excel(name = "分单字段名称", width = 15)
@Schema(description = "分单字段名称")
private String groupByFieldName;
@Excel(name = "规则启用条件", width = 15) @Excel(name = "规则启用条件", width = 15)
@Schema(description = "规则启用条件,,留空 = 始终启用") @Schema(description = "规则启用条件,,留空 = 始终启用")
private String enableConditionJson; private String enableConditionJson;

26
common/common-botp/src/main/java/apelet/common/botp/service/impl/ReverseWritingRulesServiceImpl.java

@ -1,14 +1,12 @@
package apelet.common.botp.service.impl; package apelet.common.botp.service.impl;
import apelet.common.botp.dao.ConvertPluginEntryMapper;
import apelet.common.botp.dao.ReverseWritingRulesMapper; import apelet.common.botp.dao.ReverseWritingRulesMapper;
import apelet.common.botp.dao.ReverseWritingRulesVerMapper; import apelet.common.botp.dao.ReverseWritingRulesVerMapper;
import apelet.common.botp.dto.ReverseWritingRulesDto; import apelet.common.botp.dto.ReverseWritingRulesDto;
import apelet.common.botp.dto.RuleVersionDiffDto; import apelet.common.botp.dto.RuleVersionDiffDto;
import apelet.common.botp.model.ReverseWritingBusiness; import apelet.common.botp.model.*;
import apelet.common.botp.model.ReverseWritingFormula;
import apelet.common.botp.model.ReverseWritingRules;
import apelet.common.botp.model.ReverseWritingRulesVer;
import apelet.common.botp.service.IReverseWritingBusinessService; import apelet.common.botp.service.IReverseWritingBusinessService;
import apelet.common.botp.service.IReverseWritingFormulaService; import apelet.common.botp.service.IReverseWritingFormulaService;
import apelet.common.botp.service.IReverseWritingRulesService; import apelet.common.botp.service.IReverseWritingRulesService;
@ -25,12 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service @Service
@ -45,6 +38,8 @@ public class ReverseWritingRulesServiceImpl extends ServiceImpl<ReverseWritingRu
ReverseWritingRulesMapper reverseWritingRulesMapper; ReverseWritingRulesMapper reverseWritingRulesMapper;
@Autowired @Autowired
ReverseWritingRulesVerMapper reverseWritingRulesVerMapper; ReverseWritingRulesVerMapper reverseWritingRulesVerMapper;
@Autowired
ConvertPluginEntryMapper convertPluginEntryMapper;
@ -59,11 +54,13 @@ public class ReverseWritingRulesServiceImpl extends ServiceImpl<ReverseWritingRu
} }
List<ReverseWritingBusiness> businessesList = businessService.list(new LambdaQueryWrapper<ReverseWritingBusiness>().in(ReverseWritingBusiness::getRulesId, ids)); List<ReverseWritingBusiness> businessesList = businessService.list(new LambdaQueryWrapper<ReverseWritingBusiness>().in(ReverseWritingBusiness::getRulesId, ids));
List<ReverseWritingFormula> formulaList = formulaService.list(new LambdaQueryWrapper<ReverseWritingFormula>().in(ReverseWritingFormula::getRulesId, ids)); List<ReverseWritingFormula> formulaList = formulaService.list(new LambdaQueryWrapper<ReverseWritingFormula>().in(ReverseWritingFormula::getRulesId, ids));
List<ConvertPluginEntry> convertPluginEntryList = convertPluginEntryMapper.selectList(new LambdaQueryWrapper<ConvertPluginEntry>().in(ConvertPluginEntry::getParentId, ids));
list.forEach(f -> { list.forEach(f -> {
ReverseWritingRulesDto dto = new ReverseWritingRulesDto(); ReverseWritingRulesDto dto = new ReverseWritingRulesDto();
BeanUtils.copyProperties(f, dto); BeanUtils.copyProperties(f, dto);
dto.setBusinessList(businessesList.stream().filter(b -> b.getRulesId().equals(f.getId())).collect(Collectors.toList())); dto.setBusinessList(businessesList.stream().filter(b -> b.getRulesId().equals(f.getId())).collect(Collectors.toList()));
dto.setFormulaList(formulaList.stream().filter(b -> b.getRulesId().equals(f.getId())).collect(Collectors.toList())); dto.setFormulaList(formulaList.stream().filter(b -> b.getRulesId().equals(f.getId())).collect(Collectors.toList()));
dto.setConvertPluginEntryList(convertPluginEntryList.stream().filter(b -> b.getParentId().equals(f.getId().toString())).collect(Collectors.toList()));
dtoList.add(dto); dtoList.add(dto);
}); });
return dtoList; return dtoList;
@ -105,6 +102,7 @@ public class ReverseWritingRulesServiceImpl extends ServiceImpl<ReverseWritingRu
// 分录按规则id全量覆盖 // 分录按规则id全量覆盖
formulaService.remove(new LambdaQueryWrapper<ReverseWritingFormula>().eq(ReverseWritingFormula::getRulesId, reverseWritingRules.getId())); formulaService.remove(new LambdaQueryWrapper<ReverseWritingFormula>().eq(ReverseWritingFormula::getRulesId, reverseWritingRules.getId()));
businessService.remove(new LambdaQueryWrapper<ReverseWritingBusiness>().eq(ReverseWritingBusiness::getRulesId, reverseWritingRules.getId())); businessService.remove(new LambdaQueryWrapper<ReverseWritingBusiness>().eq(ReverseWritingBusiness::getRulesId, reverseWritingRules.getId()));
convertPluginEntryMapper.delete(new LambdaQueryWrapper<ConvertPluginEntry>().eq(ConvertPluginEntry::getParentId, reverseWritingRules.getId().toString()));
remark = RuleSnapshotUtil.REMARK_UPDATE; remark = RuleSnapshotUtil.REMARK_UPDATE;
snapshotVersion = RuleVersionUtil.next(baseVersion); snapshotVersion = RuleVersionUtil.next(baseVersion);
} else { } else {
@ -130,6 +128,14 @@ public class ReverseWritingRulesServiceImpl extends ServiceImpl<ReverseWritingRu
businessList.forEach(f -> f.setRulesId(reverseWritingRules.getId())); businessList.forEach(f -> f.setRulesId(reverseWritingRules.getId()));
businessService.saveBatch(businessList); businessService.saveBatch(businessList);
} }
List<ConvertPluginEntry> convertPluginEntryList = dto.getConvertPluginEntryList();
if (ObjectUtil.isNotEmpty(convertPluginEntryList)) {
convertPluginEntryList.forEach(f -> {
f.setParentId(reverseWritingRules.getId().toString());
convertPluginEntryMapper.insert(f);
});
}
// 落全量快照 // 落全量快照
saveSnapshot(reverseWritingRules.getId(), snapshotVersion, remark); saveSnapshot(reverseWritingRules.getId(), snapshotVersion, remark);
return reverseWritingRules; return reverseWritingRules;

Loading…
Cancel
Save