From 9ee54e6b54496b1d578fe73c3b4ea1e1ae994215 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 15 Aug 2023 10:16:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qs/serve/modules/exl/common/ExlConst.java | 20 ++++++ .../controller/ExlTableConfController.java | 10 +-- .../controller/ExlTableDataController.java | 62 +++++++++++++++++++ .../exl/entity/dto/ExlConditionDto.java | 18 ++++++ .../exl/mapper/ExlTableConfMapper.java | 9 +++ .../tbs/common/TbsBudgetCheckState.java | 3 +- .../bo/TbsBudgetUpdateAfterStartBo.java | 3 + .../modules/tbs/entity/so/TbsBudgetSo.java | 5 +- .../impl/TbsBudgetChangeServiceImpl.java | 7 +++ .../service/impl/TbsBudgetServiceImpl.java | 5 +- .../impl/VtbVerificationServiceImpl.java | 1 + .../mapper/exl/ExlTableConfMapper.xml | 62 +++++++++++++++++++ .../resources/mapper/tbs/TbsBudgetMapper.xml | 1 + 13 files changed, 199 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/exl/common/ExlConst.java create mode 100644 src/main/java/com/qs/serve/modules/exl/entity/dto/ExlConditionDto.java create mode 100644 src/main/resources/mapper/exl/ExlTableConfMapper.xml diff --git a/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java b/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java new file mode 100644 index 00000000..5e33d9cc --- /dev/null +++ b/src/main/java/com/qs/serve/modules/exl/common/ExlConst.java @@ -0,0 +1,20 @@ +package com.qs.serve.modules.exl.common; + +/** + * @author YenHex + * @since 2023/8/15 + */ +public interface ExlConst { + + String TABLE_NAME_PRE = "exd_"; + + String DATE_TYPE = "date"; + String TYPE_INT = "int"; + String TYPE_MONEY = "money"; + String TYPE_STRING = "string"; + + String PRE_COLUMN_START = "START--"; + + String PRE_COLUMN_END = "END--"; + +} diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java index 83d0c3eb..82a38a42 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableConfController.java @@ -10,6 +10,7 @@ import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.CopierUtil; import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.WordUtil; +import com.qs.serve.modules.exl.common.ExlConst; import com.qs.serve.modules.exl.common.QsSqlSessionUtil; import com.qs.serve.modules.exl.common.TableCreateSqlUtil; import com.qs.serve.modules.exl.entity.ExlColumnConf; @@ -98,14 +99,14 @@ public class ExlTableConfController { .filter(a->a.getConditionFlag().equals(1)).collect(Collectors.toList()); List queryFieldList = new ArrayList<>(); for (ExlColumnConf columnConf : queryColumn) { - if(columnConf.getColumnType().contains("date")){ + if(columnConf.getColumnType().contains(ExlConst.DATE_TYPE)){ ExlQueryFieldDto startDto = new ExlQueryFieldDto(); - startDto.setField("START--"+columnConf.getColumnName()); + startDto.setField(ExlConst.PRE_COLUMN_START + columnConf.getColumnName()); startDto.setType(columnConf.getColumnType()); startDto.setLabel(columnConf.getColumnHeader()); queryFieldList.add(startDto); ExlQueryFieldDto fieldDto = new ExlQueryFieldDto(); - fieldDto.setField("END--"+columnConf.getColumnName()); + fieldDto.setField(ExlConst.PRE_COLUMN_END + columnConf.getColumnName()); fieldDto.setType(columnConf.getColumnType()); fieldDto.setLabel(columnConf.getColumnHeader()); queryFieldList.add(fieldDto); @@ -166,7 +167,8 @@ public class ExlTableConfController { columnLqw.eq(ExlColumnConf::getTableConfId,tableId); List columnConfList = exlColumnConfService.list(columnLqw); if(tableConf.getEnableFlag().equals(0)){ - String sql = TableCreateSqlUtil.createMysqlTableSql(tableConf.getTableName(),columnConfList); + String sql = TableCreateSqlUtil.createMysqlTableSql(ExlConst.TABLE_NAME_PRE + + tableConf.getTableName(),columnConfList); boolean result = QsSqlSessionUtil.executeSql(sql,sqlSessionTemplate); if(result){ tableConf.setEnableFlag(1); diff --git a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java index ca79b409..7921c6b5 100644 --- a/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java +++ b/src/main/java/com/qs/serve/modules/exl/controller/ExlTableDataController.java @@ -8,10 +8,13 @@ import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.PageUtil; import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.exl.common.ExlConst; import com.qs.serve.modules.exl.entity.ExlColumnConf; import com.qs.serve.modules.exl.entity.ExlTableConf; +import com.qs.serve.modules.exl.entity.dto.ExlConditionDto; import com.qs.serve.modules.exl.entity.dto.ExlQueryFieldDto; import com.qs.serve.modules.exl.entity.dto.ExlTableBo; +import com.qs.serve.modules.exl.mapper.ExlTableConfMapper; import com.qs.serve.modules.exl.service.ExlColumnConfService; import com.qs.serve.modules.exl.service.ExlTableConfService; import lombok.AllArgsConstructor; @@ -21,6 +24,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -39,6 +43,64 @@ public class ExlTableDataController { private ExlTableConfService exlTableConfService; private ExlColumnConfService exlColumnConfService; + private ExlTableConfMapper exlTableConfMapper; + + /** + * test + * @return + */ + @GetMapping("/test/{tableConfigId}") + public R test(@PathVariable("tableConfigId") Long tableConfigId,@RequestParam Map map){ + // table + ExlTableConf tableConf = exlTableConfService.getById(tableConfigId); + // columns + LambdaQueryWrapper columnLqw = new LambdaQueryWrapper<>(); + columnLqw.eq(ExlColumnConf::getTableConfId,tableConfigId); + List columnList = exlColumnConfService.list(columnLqw); + // condition + List ge_conditions = new ArrayList<>(); + List le_conditions = new ArrayList<>(); + List eq_conditions = new ArrayList<>(); + List like_conditions = new ArrayList<>(); + if(!map.isEmpty()){ + for (String columnName : map.keySet()) { + String searchValue = map.get(columnName); + if(columnName.contains(ExlConst.PRE_COLUMN_START)){ + String orgColumn = columnName.replace(ExlConst.PRE_COLUMN_START,"").trim(); + ExlConditionDto conditionDto = new ExlConditionDto(orgColumn,searchValue); + ge_conditions.add(conditionDto); + }else if (columnName.contains(ExlConst.PRE_COLUMN_END)){ + String orgColumn = columnName.replace(ExlConst.PRE_COLUMN_END,"").trim(); + ExlConditionDto conditionDto = new ExlConditionDto(orgColumn,searchValue); + le_conditions.add(conditionDto); + }else { + for (ExlColumnConf columnConf : columnList) { + if(columnConf.getColumnName().equals(columnName)){ + ExlConditionDto conditionDto = new ExlConditionDto(columnName,searchValue); + if (columnConf.getColumnType().equals(ExlConst.TYPE_INT)){ + eq_conditions.add(conditionDto); + }else if (columnConf.getColumnType().equals(ExlConst.TYPE_STRING)){ + like_conditions.add(conditionDto); + } + } + } + } + } + } + // page + Integer pageSize = PageUtil.getPageSize(); + Integer startRow = PageUtil.getStartRow(); + // query + Map queryMap = new HashMap<>(10); + queryMap.put("startRow",startRow); + queryMap.put("pageSize",pageSize); + queryMap.put("leList",le_conditions); + queryMap.put("geList",ge_conditions); + queryMap.put("eqList",eq_conditions); + queryMap.put("likeList",like_conditions); + String targetTableName = ExlConst.TABLE_NAME_PRE + tableConf.getTableName(); + return R.ok(exlTableConfMapper.listData(targetTableName,queryMap)); + } /** diff --git a/src/main/java/com/qs/serve/modules/exl/entity/dto/ExlConditionDto.java b/src/main/java/com/qs/serve/modules/exl/entity/dto/ExlConditionDto.java new file mode 100644 index 00000000..74e75b53 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/exl/entity/dto/ExlConditionDto.java @@ -0,0 +1,18 @@ +package com.qs.serve.modules.exl.entity.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +/** + * @author YenHex + * @since 2023/8/15 + */ +@Data +@AllArgsConstructor +public class ExlConditionDto { + + String column; + + String value; + +} diff --git a/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java b/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java index 4c3e02eb..e498cef7 100644 --- a/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java +++ b/src/main/java/com/qs/serve/modules/exl/mapper/ExlTableConfMapper.java @@ -1,7 +1,12 @@ package com.qs.serve.modules.exl.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.exl.entity.ExlTableConf; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; /** * 表配置 Mapper @@ -10,5 +15,9 @@ import com.qs.serve.modules.exl.entity.ExlTableConf; */ public interface ExlTableConfMapper extends BaseMapper { + + @InterceptorIgnore(tenantLine = "1") + List> listData(@Param("tableName") String tableName,@Param("query")Map query); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java index bbcabcda..7c6b27b1 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java @@ -7,12 +7,13 @@ package com.qs.serve.modules.tbs.common; public interface TbsBudgetCheckState { /** - * 0=未发布;1=审批中;2=完成;3-被驳回;4-中止; + * 0=未发布;1=审批中;2=完成;3-被驳回;4-中止;5关闭 */ int State_0_unPublish = 0; int State_1_apply = 1; int State_2_finished = 2; int State_3_setback = 3; int State_4_stop = 4; + int State_5_close = 4; } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetUpdateAfterStartBo.java b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetUpdateAfterStartBo.java index 68398209..740656c7 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetUpdateAfterStartBo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsBudgetUpdateAfterStartBo.java @@ -24,6 +24,9 @@ public class TbsBudgetUpdateAfterStartBo implements Serializable { /** 预算编码 */ private String budgetCode; + /** 原来的更变记录id */ + private String orgChangeId; + /** * 成本中心类型: center, diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/so/TbsBudgetSo.java b/src/main/java/com/qs/serve/modules/tbs/entity/so/TbsBudgetSo.java index d5365a42..3d93f516 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/so/TbsBudgetSo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/so/TbsBudgetSo.java @@ -28,9 +28,12 @@ public class TbsBudgetSo implements Serializable { private Integer budgetState; - /** 预算编码 */ + /** 预算标题 */ private String budgetCode; + /** 预算编码 */ + private String budgetNumber; + /** 科目编码搜索值 */ private String subjectValue; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index 55ae2efc..32ede9e9 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -72,6 +72,13 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl String templateCode = TbsSeeYonConst.BudgetApplyConf.Code(); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); TbsBudget tbsBudget = this.getById(id); + if(tbsBudget.getBudgetState().equals(1)){ + Assert.throwEx(""); + } Map data = new HashMap<>(); data.put("exsp5", tbsBudget.getBudgetCode()); data.put("orgId", tbsBudget.getId().toString()); @@ -518,7 +521,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl List attachList = attachService.listByIds(attachIds); budgetVo.setAttachList(attachList); } - //有更变时,修改为审批状态 + //TODO 添加子状态码;有更变时,修改为审批状态 if(budgetVo.getBudgetState().equals(1)&&!budgetVo.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ LambdaQueryWrapper change_lqw = new LambdaQueryWrapper<>(); change_lqw.eq(TbsBudgetChange::getBudgetId,budgetVo.getId()); diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index d27215d7..db2f4dc2 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -247,6 +247,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl + + + + + + + + + + + + + + + + + + + + exl_table_conf.`id`, + exl_table_conf.`table_name`, + exl_table_conf.`excel_title`, + exl_table_conf.`enable_flag`, + exl_table_conf.`enable_time`, + exl_table_conf.`remark`, + exl_table_conf.`create_time`, + exl_table_conf.`update_time`, + exl_table_conf.`tenant_id`, + exl_table_conf.`create_by`, + exl_table_conf.`update_by`, + exl_table_conf.`del_flag` + + + + + diff --git a/src/main/resources/mapper/tbs/TbsBudgetMapper.xml b/src/main/resources/mapper/tbs/TbsBudgetMapper.xml index 3c5e6fc4..dc9545e4 100644 --- a/src/main/resources/mapper/tbs/TbsBudgetMapper.xml +++ b/src/main/resources/mapper/tbs/TbsBudgetMapper.xml @@ -73,6 +73,7 @@ FROM `tbs_budget` `tbs_budget` LEFT JOIN `tbs_budget_condition` `tbs_budget_condition` ON `tbs_budget`.`id` = `tbs_budget_condition`.`budget_id` + and `tbs_budget`.`budget_number` like concat('%',#{query.budgetNumber},'%') and `tbs_budget`.`budget_state` = #{query.budgetState} and `tbs_budget`.`budget_code` like concat('%',#{query.budgetCode},'%')