diff --git a/base-server/src/main/resources/application-dev.yml b/base-server/src/main/resources/application-dev.yml
index 5203b43..9a9d579 100644
--- a/base-server/src/main/resources/application-dev.yml
+++ b/base-server/src/main/resources/application-dev.yml
@@ -105,7 +105,3 @@ justauth:
prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE::
timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟
-erp:
- address: hana-dev.yncic.com
- sapsys: ZTDEV203
-
diff --git a/base-server/src/main/resources/application.yml b/base-server/src/main/resources/application.yml
index adccaac..7eb362a 100644
--- a/base-server/src/main/resources/application.yml
+++ b/base-server/src/main/resources/application.yml
@@ -114,8 +114,8 @@ zt:
- ${spring.boot.admin.context-path}/** # 不处理 Spring Boot Admin 的请求
- ${management.endpoints.web.base-path}/** # 不处理 Actuator 的请求
swagger:
- title: 管理后台
- description: 提供管理员管理的所有功能
+ title: Base 模块
+ description: 提供基础管理模块的所有功能
version: ${zt.info.version}
tenant: # 多租户相关配置项
enable: true
diff --git a/deployment.yaml b/deployment.yaml
index 59cad93..1da2c08 100644
--- a/deployment.yaml
+++ b/deployment.yaml
@@ -61,7 +61,13 @@ spec:
selector:
app: base-server
ports:
- - protocol: TCP
+ - name: http
+ protocol: TCP
port: 48100
targetPort: 48100
nodePort: 30097
+ - name: xxl-job
+ protocol: TCP
+ port: 9999
+ targetPort: 9999
+ nodePort: 30197
diff --git a/pom.xml b/pom.xml
index 0dc64ad..39e73ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
https://github.com/YunaiV/ruoyi-vue-pro
- 3.0.39
+ 3.0.42
17
${java.version}
@@ -212,6 +212,12 @@
liss
+
+ qsj
+
+ qsj
+
+
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/BaseApi.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/BaseApi.java
new file mode 100644
index 0000000..95f2e30
--- /dev/null
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/BaseApi.java
@@ -0,0 +1,26 @@
+package com.zt.plat.module.api;
+
+import com.zt.plat.module.api.dto.AccountDTO;
+import com.zt.plat.module.api.dto.MaterialOtherDTO;
+import com.zt.plat.module.base.enums.ApiConstants;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import java.util.List;
+
+@FeignClient(name = ApiConstants.NAME)
+@Tag(name = "RPC 服务 - base")
+public interface BaseApi {
+
+ String PREFIX = ApiConstants.PREFIX + "/base";
+
+ @GetMapping(PREFIX + "/getAccountNoPage")
+ @Operation(summary = "账户条款数据不分页查询")
+ List getAccountNoPage(AccountDTO respVO);
+
+ @GetMapping(PREFIX + "/getMaterialOtherNoPage")
+ @Operation(summary = "物料拓展关系数据不分页查询")
+ List getMaterialOtherNoPage(MaterialOtherDTO respVO);
+}
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/dto/AccountDTO.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/dto/AccountDTO.java
new file mode 100644
index 0000000..b013489
--- /dev/null
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/dto/AccountDTO.java
@@ -0,0 +1,35 @@
+package com.zt.plat.module.api.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "RPC 服务 DTO")
+@Data
+public class AccountDTO {
+ private Long id;
+
+ private String type;
+
+ private String accountName;
+
+ private String bankAccount;
+
+ private String accountNumber;
+
+ private String taxNumber;
+
+ private LocalDateTime createTime;
+
+ private String isEnable;
+
+ private String customerNumber;
+
+ private String customerName;
+
+ private String address;
+
+ private String phone;
+
+}
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/dto/MaterialOtherDTO.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/dto/MaterialOtherDTO.java
new file mode 100644
index 0000000..6e7e024
--- /dev/null
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/api/dto/MaterialOtherDTO.java
@@ -0,0 +1,53 @@
+package com.zt.plat.module.api.dto;
+
+import com.zt.plat.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 物料拓展数据分页 Request VO")
+@Data
+public class MaterialOtherDTO extends PageParam {
+
+ @Schema(description = "物料编码")
+ private String materialNumber;
+
+ @Schema(description = "物料名称", example = "王五")
+ private String materialName;
+
+ @Schema(description = "ERP物料编码")
+ private String erpMaterialNumber;
+
+ @Schema(description = "ERP物料名称", example = "李四")
+ private String erpMaterialName;
+
+ @Schema(description = "ERP物料计量单位")
+ private String unit;
+
+ @Schema(description = "金属元素缩写")
+ private String abbreviation;
+
+ @Schema(description = "金属元素名称", example = "赵六")
+ private String name;
+
+ @Schema(description = "金属元素编码")
+ private String coding;
+
+ @Schema(description = "品位单位")
+ private String gradeUnit;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+ @Schema(description = "小数位数")
+ private Long decimalValue;
+
+ @Schema(description = "是否启用")
+ private String isEnable;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ApiConstants.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ApiConstants.java
new file mode 100644
index 0000000..7fe892b
--- /dev/null
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ApiConstants.java
@@ -0,0 +1,24 @@
+package com.zt.plat.module.base.enums;
+
+import com.zt.plat.framework.common.enums.RpcConstants;
+
+/**
+ * API 相关的枚举
+ *
+ * @author ZT
+ */
+public class ApiConstants {
+
+ /**
+ * 服务名
+ *
+ * 注意,需要保证和 spring.application.name 保持一致
+ */
+ public static final String NAME = "base-server";
+
+ public static final String PREFIX = RpcConstants.RPC_API_PREFIX + "/base";
+
+ public static final String VERSION = "1.0.0";
+
+ public static final String TABLE_FIELD_SPLY_ERP_CPN_NUM = "NUM";
+}
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java
index 98e530d..c36bd6e 100644
--- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/base/enums/ErrorCodeConstants.java
@@ -4,9 +4,7 @@ import com.zt.plat.framework.common.exception.ErrorCode;
/**
* base 错误码枚举类
- *
* base 系统,使用 1-xxx-xxx-xxx 段
- *
* @author ZT
*/
public interface ErrorCodeConstants {
@@ -21,5 +19,14 @@ public interface ErrorCodeConstants {
ErrorCode COMPANY_RELATIVITY_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在");
ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在");
ErrorCode FACTORY_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在");
+ ErrorCode TAX_NOT_EXISTS = new ErrorCode(1_001_000_001, "示例不存在");
+
+
+ ErrorCode BUSINESS_RULE_NOT_EXISTS = new ErrorCode(1_027_100_001, "规则模型不存在");
+ ErrorCode BUSINESS_ALGORITHM_NOT_EXISTS = new ErrorCode(1_027_100_002, "算法模型不存在");
+ ErrorCode BUSINESS_DIMENSION_NOT_EXISTS = new ErrorCode(1_027_200_001, "经营指标维度不存在");
+ ErrorCode BUSINESS_INDICATOR_NOT_EXISTS = new ErrorCode(1_027_200_002, "经营指标不存在");
+ ErrorCode BUSINESS_DICTIONARY_TYPE_NOT_EXISTS = new ErrorCode(1_027_200_003, "业务字典类型不存在");
+ ErrorCode BUSINESS_DEPARTMENT_INDICATOR_NOT_EXISTS = new ErrorCode(1_027_200_004, "部门持有指标不存在");
}
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java
index 9ad986a..0bbd92f 100644
--- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/DeleteStatusEnum.java
@@ -7,7 +7,8 @@ public enum DeleteStatusEnum {
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
- STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>());
+ STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}}),
+ STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>());
private final String code;
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/ErrorCodeConstants.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/ErrorCodeConstants.java
index 6b9efff..c2d0a63 100644
--- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/ErrorCodeConstants.java
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/ErrorCodeConstants.java
@@ -5,10 +5,12 @@ import com.zt.plat.framework.common.exception.ErrorCode;
public interface ErrorCodeConstants {
// ========== 示例模块 1-001-000-000 ==========
+ //模块 base 错误码区间[1-027-000-000 ~1-028-000-000)
ErrorCode TMPL_TP_NOT_EXISTS = new ErrorCode(1_027_000_500, "模板分类不存在");
ErrorCode TMPL_FLD_NOT_EXISTS = new ErrorCode(1_027_000_501, "模板字段不存在");
ErrorCode TMPL_FLD_CODE_EXISTS = new ErrorCode(1_027_000_502, "字段编码已存在");
ErrorCode TMPL_ITM_NOT_EXISTS = new ErrorCode(1_027_000_503, "模板条款不存在");
+ ErrorCode TMPL_ITM_NAME_EXISTS = new ErrorCode(1_027_000_503, "模板条款名字已存在");
ErrorCode TEMPLATE_INSTANCE_NOT_EXISTS = new ErrorCode(1_027_000_504, "模板实例不存在");
ErrorCode TMPL_TP_SATUS_ERROR = new ErrorCode(1_027_000_506, "状态变更失败");
ErrorCode TMPL_TP_DEl_ERROR = new ErrorCode(1_027_000_507, "模版分类删除失败");
@@ -23,6 +25,13 @@ public interface ErrorCodeConstants {
ErrorCode NOT_FOUND_CLASS= new ErrorCode(1_027_000_516, "找不到对应的类");
ErrorCode UTIL_NOT_INIT= new ErrorCode(1_027_000_517, "工具类为未初始化");
ErrorCode TMPL_INS_FLD_CODE_EXISTS = new ErrorCode(1_027_000_518, "字段已存在");
+ ErrorCode TMPL_ITM_EXISTS = new ErrorCode(1_027_000_519, "模板条款已存在");
+ ErrorCode TMPL_INSC_BSN_REL_NOT_EXISTS = new ErrorCode(1_027_000_539, "模板实例与业务中间不存在");
+ ErrorCode TEMPLATE_INSTANCE_FILE_NOT_EXISTS = new ErrorCode(1_027_000_520, "模板实例文件不存在");
+ ErrorCode FILE_PULL_EER = new ErrorCode(1_027_000_521, "文件获取失败");
+ ErrorCode FILE_UPLOAD_EER = new ErrorCode(1_027_000_523, "文件上传失败");
+ ErrorCode TMPL_INSC_ITM_BSN_NOT_EXISTS = new ErrorCode(1_027_000_524, "业务实例条款不存在");
+ ErrorCode TMPL_INSC_DAT_BSN_NOT_EXISTS = new ErrorCode(1_027_000_530, "业务实例字段不存在");
//Illegal operation type
}
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java
index 42532de..338e970 100644
--- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/PublishStatusEnum.java
@@ -10,7 +10,8 @@ public enum PublishStatusEnum {
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
- STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() );
+ STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() ),
+ STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>() {{add(TmplStsEnum.START.getCode());}});
private final String code;
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java
index 04d6407..3f9ce64 100644
--- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/TmplStsEnum.java
@@ -9,7 +9,8 @@ public enum TmplStsEnum {
// 已发布状态
PUBLISHED("PUB", "已发布"),
// 已停用状态
- STOPPED("STOP", "已停用");
+ STOPPED("STOP", "已停用"),
+ START("START", "已启用");
// 获取状态编码
private final String code;
diff --git a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java
index 2e34ef0..c2cd5bb 100644
--- a/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java
+++ b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java
@@ -10,10 +10,11 @@ public enum UpdateStatusEnum {
add(TmplStsEnum.STOPPED.getCode());
}}),
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
- STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{
+ STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>() {{
add(TmplStsEnum.DRAFT.getCode());
add(TmplStsEnum.STOPPED.getCode());
- }});
+ }}),
+ STATUS_START(TmplStsEnum.START.getCode(), new HashSet<>());
private final String code;
diff --git a/zt-module-base/zt-module-base-server/pom.xml b/zt-module-base/zt-module-base-server/pom.xml
index 44d9d4e..acd97ea 100644
--- a/zt-module-base/zt-module-base-server/pom.xml
+++ b/zt-module-base/zt-module-base-server/pom.xml
@@ -42,6 +42,12 @@
${revision}
+
+ com.zt.plat
+ zt-module-erp-api
+ ${revision}
+
+
com.zt.plat
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/api/BaseApiImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/api/BaseApiImpl.java
new file mode 100644
index 0000000..62591c3
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/api/BaseApiImpl.java
@@ -0,0 +1,39 @@
+package com.zt.plat.module.base.api;
+
+import com.zt.plat.module.api.BaseApi;
+import com.zt.plat.module.api.dto.AccountDTO;
+import com.zt.plat.module.api.dto.MaterialOtherDTO;
+import com.zt.plat.module.base.service.base.AccountService;
+import com.zt.plat.module.base.service.base.MaterialOtherService;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * ERP Api 实现类
+ *
+ * @author ZT
+ * @author jason
+ */
+@RestController
+@Validated
+public class BaseApiImpl implements BaseApi {
+
+ @Resource
+ private AccountService accountService;
+
+ @Resource
+ private MaterialOtherService materialOtherService;
+
+ @Override
+ public List getAccountNoPage(AccountDTO respVO) {
+ return accountService.getAccountNoPage(respVO);
+ }
+
+ @Override
+ public List getMaterialOtherNoPage(MaterialOtherDTO respVO) {
+ return materialOtherService.getMaterialOtherNoPage(respVO);
+ }
+}
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java
index d45b7a5..12abb3d 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/MaterialInfomationController.java
@@ -101,4 +101,12 @@ public class MaterialInfomationController {
BeanUtils.toBean(list, MaterialInfomationRespVO.class));
}
+ @GetMapping("/getOneTest")
+ @Operation(summary = "测试获取生产版本")
+ @PreAuthorize("@ss.hasPermission('base:material-infomation:query')")
+ public CommonResult getTest() {
+ String getOneTest = materialInfomationService.getOneTest();
+ return success(getOneTest);
+ }
+
}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/TaxController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/TaxController.java
new file mode 100644
index 0000000..0e8ff36
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/TaxController.java
@@ -0,0 +1,105 @@
+package com.zt.plat.module.base.controller.admin.base;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+import com.zt.plat.module.base.controller.admin.base.vo.TaxPageReqVO;
+import com.zt.plat.module.base.controller.admin.base.vo.TaxRespVO;
+import com.zt.plat.module.base.controller.admin.base.vo.TaxSaveReqVO;
+import com.zt.plat.module.base.dal.dataobject.base.TaxDO;
+import com.zt.plat.module.base.service.base.TaxService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 税码信息")
+@RestController
+@RequestMapping("/base/tax")
+@Validated
+public class TaxController implements BusinessControllerMarker {
+
+
+ @Resource
+ private TaxService taxService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建税码信息")
+ @PreAuthorize("@ss.hasPermission('base:tax:create')")
+ public CommonResult createTax(@Valid @RequestBody TaxSaveReqVO createReqVO) {
+ return success(taxService.createTax(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新税码信息")
+ @PreAuthorize("@ss.hasPermission('base:tax:update')")
+ public CommonResult updateTax(@Valid @RequestBody TaxSaveReqVO updateReqVO) {
+ taxService.updateTax(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除税码信息")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:tax:delete')")
+ public CommonResult deleteTax(@RequestParam("id") Long id) {
+ taxService.deleteTax(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除税码信息")
+ @PreAuthorize("@ss.hasPermission('base:tax:delete')")
+ public CommonResult deleteTaxList(@RequestBody BatchDeleteReqVO req) {
+ taxService.deleteTaxListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得税码信息")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:tax:query')")
+ public CommonResult getTax(@RequestParam("id") Long id) {
+ TaxDO tax = taxService.getTax(id);
+ return success(BeanUtils.toBean(tax, TaxRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得税码信息分页")
+ @PreAuthorize("@ss.hasPermission('base:tax:query')")
+ public CommonResult> getTaxPage(@Valid TaxPageReqVO pageReqVO) {
+ PageResult pageResult = taxService.getTaxPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, TaxRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出税码信息 Excel")
+ @PreAuthorize("@ss.hasPermission('base:tax:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportTaxExcel(@Valid TaxPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = taxService.getTaxPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "税码信息.xls", "数据", TaxRespVO.class,
+ BeanUtils.toBean(list, TaxRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountPageReqVO.java
index bea67e2..3ac1d8b 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountPageReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountPageReqVO.java
@@ -1,7 +1,9 @@
package com.zt.plat.module.base.controller.admin.base.vo;
+import com.alibaba.excel.annotation.ExcelProperty;
import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -41,4 +43,10 @@ public class AccountPageReqVO extends PageParam {
@Schema(description = "客商公司名称")
private String customerName;
+ @Schema(description = "地址")
+ private String address;
+
+ @Schema(description = "电话")
+ private String phone;
+
}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountRespVO.java
index 2a18a62..67640d1 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountRespVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountRespVO.java
@@ -52,4 +52,12 @@ public class AccountRespVO {
@ExcelProperty("客商公司名称")
private String customerName;
+ @Schema(description = "地址")
+ @ExcelProperty("地址")
+ private String address;
+
+ @Schema(description = "电话")
+ @ExcelProperty("电话")
+ private String phone;
+
}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountSaveReqVO.java
index c0065ed..f1ab15c 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountSaveReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/AccountSaveReqVO.java
@@ -33,7 +33,6 @@ public class AccountSaveReqVO {
private String taxNumber;
@Schema(description = "是否启用")
- @ExcelProperty("是否启用")
private String isEnable;
@Schema(description = "客商公司编码", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -43,4 +42,10 @@ public class AccountSaveReqVO {
@Schema(description = "客商公司名称", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "客商公司名称不能为空")
private String customerName;
+
+ @Schema(description = "地址")
+ private String address;
+
+ @Schema(description = "电话")
+ private String phone;
}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/CompanyRelativityPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/CompanyRelativityPageReqVO.java
index c652096..e7fe4d2 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/CompanyRelativityPageReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/CompanyRelativityPageReqVO.java
@@ -32,7 +32,7 @@ public class CompanyRelativityPageReqVO extends PageParam {
@Schema(description = "负责人")
private String manager;
- @Schema(description = "部门来源")
+ @Schema(description = "部门来源(字典编码:sply_cpn_rel_sts)(1:外部部门;2:同步部门;)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private String departmentSource;
}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryPageReqVO.java
index b1ec876..b775e07 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryPageReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryPageReqVO.java
@@ -16,6 +16,15 @@ public class FactoryPageReqVO extends PageParam {
@Schema(description = "公司编码")
private String companyNumber;
+ @Schema(description = "公司名称")
+ private String cpnName;
+
+ @Schema(description = "ERP公司名称", example = "张三")
+ private String erpCompanyName;
+
+ @Schema(description = "ERP公司编码")
+ private String erpCompanyNumber;
+
@Schema(description = "工厂名称", example = "赵六")
private String name;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryRespVO.java
index 4777ca6..1412d51 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryRespVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactoryRespVO.java
@@ -20,6 +20,18 @@ public class FactoryRespVO {
@ExcelProperty("公司编码")
private String companyNumber;
+ @Schema(description = "公司名称")
+ @ExcelProperty("公司名称")
+ private String cpnName;
+
+ @Schema(description = "ERP公司名称", example = "张三")
+ @ExcelProperty("ERP公司名称")
+ private String erpCompanyName;
+
+ @Schema(description = "ERP公司编码")
+ @ExcelProperty("ERP公司编码")
+ private String erpCompanyNumber;
+
@Schema(description = "工厂名称", example = "赵六")
@ExcelProperty("工厂名称")
private String name;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactorySaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactorySaveReqVO.java
index df8598f..a5feb30 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactorySaveReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/FactorySaveReqVO.java
@@ -13,6 +13,15 @@ public class FactorySaveReqVO {
@Schema(description = "公司编码")
private String companyNumber;
+ @Schema(description = "公司名称")
+ private String cpnName;
+
+ @Schema(description = "ERP公司名称", example = "张三")
+ private String erpCompanyName;
+
+ @Schema(description = "ERP公司编码")
+ private String erpCompanyNumber;
+
@Schema(description = "工厂名称", example = "赵六")
private String name;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherPageReqVO.java
index 73e49a5..a2c4584 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherPageReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherPageReqVO.java
@@ -45,7 +45,7 @@ public class MaterialOtherPageReqVO extends PageParam {
private LocalDateTime[] createTime;
@Schema(description = "小数位数")
- private Long decimal;
+ private Long decimalValue;
@Schema(description = "是否启用")
private String isEnable;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherRespVO.java
index ec43586..1903f28 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherRespVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherRespVO.java
@@ -58,7 +58,7 @@ public class MaterialOtherRespVO {
@Schema(description = "小数位数")
@ExcelProperty("小数位数")
- private Long decimal;
+ private Long decimalValue;
@Schema(description = "是否启用")
@ExcelProperty("是否启用")
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherSaveReqVO.java
index 3c86e30..938f5ea 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherSaveReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/MaterialOtherSaveReqVO.java
@@ -38,7 +38,7 @@ public class MaterialOtherSaveReqVO {
private String gradeUnit;
@Schema(description = "小数位数")
- private Long decimal;
+ private Long decimalValue;
@Schema(description = "是否启用")
private String isEnable;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxPageReqVO.java
new file mode 100644
index 0000000..49acb7c
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxPageReqVO.java
@@ -0,0 +1,45 @@
+package com.zt.plat.module.base.controller.admin.base.vo;
+
+import com.zt.plat.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 税码信息分页 Request VO")
+@Data
+public class TaxPageReqVO extends PageParam {
+
+ @Schema(description = "类型(字典: SPLY_BSN_TP)", example = "2")
+ private String type;
+
+ @Schema(description = "类别")
+ private String category;
+
+ @Schema(description = "税码")
+ private String taxCoding;
+
+ @Schema(description = "税码描述")
+ private String remark;
+
+ @Schema(description = "税率")
+ private BigDecimal tax;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+ @Schema(description = "是否启用")
+ private String isEnable;
+
+ @Schema(description = "公司编码")
+ private String customerNumber;
+
+ @Schema(description = "公司名称", example = "王五")
+ private String customerName;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxRespVO.java
new file mode 100644
index 0000000..dfc4b67
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxRespVO.java
@@ -0,0 +1,56 @@
+package com.zt.plat.module.base.controller.admin.base.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 税码信息 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class TaxRespVO {
+
+ @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "26656")
+ @ExcelProperty("主键")
+ private Long id;
+
+ @Schema(description = "类型(字典: SPLY_BSN_TP)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+ @ExcelProperty("类型(字典: SPLY_BSN_TP)")
+ private String type;
+
+ @Schema(description = "类别", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("类别")
+ private String category;
+
+ @Schema(description = "税码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("税码")
+ private String taxCoding;
+
+ @Schema(description = "税码描述")
+ @ExcelProperty("税码描述")
+ private String remark;
+
+ @Schema(description = "税率")
+ @ExcelProperty("税率")
+ private BigDecimal tax;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(description = "是否启用")
+ @ExcelProperty("是否启用")
+ private String isEnable;
+
+ @Schema(description = "公司编码")
+ @ExcelProperty("公司编码")
+ private String customerNumber;
+
+ @Schema(description = "公司名称", example = "王五")
+ @ExcelProperty("公司名称")
+ private String customerName;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxSaveReqVO.java
new file mode 100644
index 0000000..3d3ba94
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/TaxSaveReqVO.java
@@ -0,0 +1,43 @@
+package com.zt.plat.module.base.controller.admin.base.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Schema(description = "管理后台 - 税码信息新增/修改 Request VO")
+@Data
+public class TaxSaveReqVO {
+
+ @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "26656")
+ private Long id;
+
+ @Schema(description = "类型(字典: SPLY_BSN_TP)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+ @NotEmpty(message = "类型(字典: SPLY_BSN_TP)不能为空")
+ private String type;
+
+ @Schema(description = "类别", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "类别不能为空")
+ private String category;
+
+ @Schema(description = "税码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "税码不能为空")
+ private String taxCoding;
+
+ @Schema(description = "税码描述")
+ private String remark;
+
+ @Schema(description = "税率")
+ private BigDecimal tax;
+
+ @Schema(description = "是否启用")
+ private String isEnable;
+
+ @Schema(description = "公司编码")
+ private String customerNumber;
+
+ @Schema(description = "公司名称", example = "王五")
+ private String customerName;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehousePageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehousePageReqVO.java
index 2d3d802..b7fea5c 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehousePageReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehousePageReqVO.java
@@ -22,6 +22,13 @@ public class WarehousePageReqVO extends PageParam {
@Schema(description = "仓库编码")
private String coding;
+ @Schema(description = "公司编码")
+ private String cpnName;
+ @Schema(description = "erp工厂名称")
+ private String erpFactoryName;
+ @Schema(description = "erp工厂编码")
+ private String erpFactoryNumber;
+
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseRespVO.java
index bf2852b..d12fd74 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseRespVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseRespVO.java
@@ -20,6 +20,13 @@ public class WarehouseRespVO {
@ExcelProperty("工厂编码")
private String factoryNumber;
+ @Schema(description = "公司编码")
+ private String cpnName;
+ @Schema(description = "erp工厂名称")
+ private String erpFactoryName;
+ @Schema(description = "erp工厂编码")
+ private String erpFactoryNumber;
+
@Schema(description = "仓库名称", example = "李四")
@ExcelProperty("仓库名称")
private String name;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseSaveReqVO.java
index 482b0b9..439ff67 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseSaveReqVO.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/base/vo/WarehouseSaveReqVO.java
@@ -13,6 +13,13 @@ public class WarehouseSaveReqVO {
@Schema(description = "工厂编码")
private String factoryNumber;
+ @Schema(description = "公司编码")
+ private String cpnName;
+ @Schema(description = "erp工厂名称")
+ private String erpFactoryName;
+ @Schema(description = "erp工厂编码")
+ private String erpFactoryNumber;
+
@Schema(description = "仓库名称", example = "李四")
private String name;
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/BusinessAlgorithmController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/BusinessAlgorithmController.java
new file mode 100644
index 0000000..bcf4127
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/BusinessAlgorithmController.java
@@ -0,0 +1,106 @@
+package com.zt.plat.module.base.controller.admin.businessalgorithm;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.base.controller.admin.businessalgorithm.vo.*;
+import com.zt.plat.module.base.dal.dataobject.businessalgorithm.BusinessAlgorithmDO;
+import com.zt.plat.module.base.service.businessalgorithm.BusinessAlgorithmService;
+
+@Tag(name = "管理后台 - 业务算法")
+@RestController
+@RequestMapping("/base/business-algorithm")
+@Validated
+public class BusinessAlgorithmController implements BusinessControllerMarker {
+
+
+ @Resource
+ private BusinessAlgorithmService businessAlgorithmService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建业务算法")
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:create')")
+ public CommonResult createBusinessAlgorithm(@Valid @RequestBody BusinessAlgorithmSaveReqVO createReqVO) {
+ return success(businessAlgorithmService.createBusinessAlgorithm(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新业务算法")
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:update')")
+ public CommonResult updateBusinessAlgorithm(@Valid @RequestBody BusinessAlgorithmSaveReqVO updateReqVO) {
+ businessAlgorithmService.updateBusinessAlgorithm(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除业务算法")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:delete')")
+ public CommonResult deleteBusinessAlgorithm(@RequestParam("id") Long id) {
+ businessAlgorithmService.deleteBusinessAlgorithm(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除业务算法")
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:delete')")
+ public CommonResult deleteBusinessAlgorithmList(@RequestBody BatchDeleteReqVO req) {
+ businessAlgorithmService.deleteBusinessAlgorithmListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得业务算法")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:query')")
+ public CommonResult getBusinessAlgorithm(@RequestParam("id") Long id) {
+ BusinessAlgorithmDO businessAlgorithm = businessAlgorithmService.getBusinessAlgorithm(id);
+ return success(BeanUtils.toBean(businessAlgorithm, BusinessAlgorithmRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得业务算法分页")
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:query')")
+ public CommonResult> getBusinessAlgorithmPage(@Valid BusinessAlgorithmPageReqVO pageReqVO) {
+ PageResult pageResult = businessAlgorithmService.getBusinessAlgorithmPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, BusinessAlgorithmRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出业务算法 Excel")
+ @PreAuthorize("@ss.hasPermission('base:business-algorithm:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportBusinessAlgorithmExcel(@Valid BusinessAlgorithmPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = businessAlgorithmService.getBusinessAlgorithmPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "业务算法.xls", "数据", BusinessAlgorithmRespVO.class,
+ BeanUtils.toBean(list, BusinessAlgorithmRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmPageReqVO.java
new file mode 100644
index 0000000..16ed9f4
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmPageReqVO.java
@@ -0,0 +1,23 @@
+package com.zt.plat.module.base.controller.admin.businessalgorithm.vo;
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+@Schema(description = "管理后台 - 业务算法分页 Request VO")
+@Data
+public class BusinessAlgorithmPageReqVO extends PageParam {
+
+ @Schema(description = "类型")
+ private String typeValue;
+
+ @Schema(description = "状态")
+ private String statusValue;
+
+ @Schema(description = "算法编码")
+ private String code;
+
+ @Schema(description = "算法名称", example = "王五")
+ private String name;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmRespVO.java
new file mode 100644
index 0000000..04fa450
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmRespVO.java
@@ -0,0 +1,45 @@
+package com.zt.plat.module.base.controller.admin.businessalgorithm.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 业务算法 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class BusinessAlgorithmRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24454")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("类型")
+ private String typeValue;
+
+ @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("状态")
+ private String statusValue;
+
+ @Schema(description = "算法编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("算法编码")
+ private String code;
+
+ @Schema(description = "算法名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @ExcelProperty("算法名称")
+ private String name;
+
+ @Schema(description = "算法描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("算法描述")
+ private String description;
+
+ @Schema(description = "算法代码")
+ @ExcelProperty("算法代码")
+ private String coding;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmSaveReqVO.java
new file mode 100644
index 0000000..4f9863e
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessalgorithm/vo/BusinessAlgorithmSaveReqVO.java
@@ -0,0 +1,37 @@
+package com.zt.plat.module.base.controller.admin.businessalgorithm.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 业务算法新增/修改 Request VO")
+@Data
+public class BusinessAlgorithmSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24454")
+ private Long id;
+
+ @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "类型不能为空")
+ private String typeValue;
+
+ @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "状态不能为空")
+ private String statusValue;
+
+ @Schema(description = "算法编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "算法编码不能为空")
+ private String code;
+
+ @Schema(description = "算法名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @NotEmpty(message = "算法名称不能为空")
+ private String name;
+
+ @Schema(description = "算法描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "算法描述不能为空")
+ private String description;
+
+ @Schema(description = "算法代码")
+ private String coding;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/BusinessDepartmentIndicatorController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/BusinessDepartmentIndicatorController.java
new file mode 100644
index 0000000..ff8185a
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/BusinessDepartmentIndicatorController.java
@@ -0,0 +1,107 @@
+package com.zt.plat.module.base.controller.admin.businessdepartmentindicator;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.base.controller.admin.businessdepartmentindicator.vo.*;
+import com.zt.plat.module.base.dal.dataobject.businessdepartmentindicator.BusinessDepartmentIndicatorDO;
+import com.zt.plat.module.base.service.businessdepartmentindicator.BusinessDepartmentIndicatorService;
+
+@Tag(name = "管理后台 - 部门持有指标")
+@RestController
+@RequestMapping("/base/business-department-indicator")
+@Validated
+public class BusinessDepartmentIndicatorController implements BusinessControllerMarker {
+
+
+ @Resource
+ private BusinessDepartmentIndicatorService businessDepartmentIndicatorService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建部门持有指标")
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:create')")
+ public CommonResult createBusinessDepartmentIndicator(@Valid @RequestBody BusinessDepartmentIndicatorSaveReqVO createReqVO) {
+ return success(businessDepartmentIndicatorService.createBusinessDepartmentIndicator(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新部门持有指标")
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:update')")
+ public CommonResult updateBusinessDepartmentIndicator(@Valid @RequestBody BusinessDepartmentIndicatorSaveReqVO updateReqVO) {
+ businessDepartmentIndicatorService.updateBusinessDepartmentIndicator(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除部门持有指标")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:delete')")
+ public CommonResult deleteBusinessDepartmentIndicator(@RequestParam("id") Long id) {
+ businessDepartmentIndicatorService.deleteBusinessDepartmentIndicator(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除部门持有指标")
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:delete')")
+ public CommonResult deleteBusinessDepartmentIndicatorList(@RequestBody BatchDeleteReqVO req) {
+ businessDepartmentIndicatorService.deleteBusinessDepartmentIndicatorListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得部门持有指标")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:query')")
+ public CommonResult getBusinessDepartmentIndicator(@RequestParam("id") Long id) {
+ BusinessDepartmentIndicatorDO businessDepartmentIndicator = businessDepartmentIndicatorService.getBusinessDepartmentIndicator(id);
+ return success(BeanUtils.toBean(businessDepartmentIndicator, BusinessDepartmentIndicatorRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得部门持有指标分页")
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:query')")
+ public CommonResult> getBusinessDepartmentIndicatorPage(@Valid BusinessDepartmentIndicatorPageReqVO pageReqVO) {
+ PageResult pageResult = businessDepartmentIndicatorService.getBusinessDepartmentIndicatorPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, BusinessDepartmentIndicatorRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出部门持有指标 Excel")
+ @PreAuthorize("@ss.hasPermission('base:business-department-indicator:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportBusinessDepartmentIndicatorExcel(@Valid BusinessDepartmentIndicatorPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = businessDepartmentIndicatorService.getBusinessDepartmentIndicatorPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "部门持有指标.xls", "数据", BusinessDepartmentIndicatorRespVO.class,
+ BeanUtils.toBean(list, BusinessDepartmentIndicatorRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorPageReqVO.java
new file mode 100644
index 0000000..4c3693b
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorPageReqVO.java
@@ -0,0 +1,17 @@
+package com.zt.plat.module.base.controller.admin.businessdepartmentindicator.vo;
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+@Schema(description = "管理后台 - 部门持有指标分页 Request VO")
+@Data
+public class BusinessDepartmentIndicatorPageReqVO extends PageParam {
+
+ @Schema(description = "指标ID", example = "11268")
+ private Long indicatorId;
+
+ @Schema(description = "是否关键指标")
+ private Integer isKey;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorRespVO.java
new file mode 100644
index 0000000..5f517dc
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorRespVO.java
@@ -0,0 +1,59 @@
+package com.zt.plat.module.base.controller.admin.businessdepartmentindicator.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 部门持有指标 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class BusinessDepartmentIndicatorRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32066")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "指标ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11268")
+ @ExcelProperty("指标ID")
+ private Long indicatorId;
+
+ @Schema(description = "计量单位ID", example = "16200")
+ @ExcelProperty("计量单位ID")
+ private Long unitId;
+
+ @Schema(description = "规则ID", example = "11174")
+ @ExcelProperty("规则ID")
+ private Long ruleId;
+
+ @Schema(description = "算法ID", example = "20986")
+ @ExcelProperty("算法ID")
+ private Long algorithmId;
+
+ @Schema(description = "实体ID", example = "2678")
+ @ExcelProperty("实体ID")
+ private Long entityId;
+
+ @Schema(description = "值")
+ @ExcelProperty("值")
+ private String value;
+
+ @Schema(description = "是否关键指标")
+ @ExcelProperty("是否关键指标")
+ private Integer isKey;
+
+ @Schema(description = "排序号")
+ @ExcelProperty("排序号")
+ private Long sort;
+
+ @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("备注")
+ private String remark;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorSaveReqVO.java
new file mode 100644
index 0000000..8598898
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdepartmentindicator/vo/BusinessDepartmentIndicatorSaveReqVO.java
@@ -0,0 +1,43 @@
+package com.zt.plat.module.base.controller.admin.businessdepartmentindicator.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 部门持有指标新增/修改 Request VO")
+@Data
+public class BusinessDepartmentIndicatorSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32066")
+ private Long id;
+
+ @Schema(description = "指标ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11268")
+ @NotNull(message = "指标ID不能为空")
+ private Long indicatorId;
+
+ @Schema(description = "计量单位ID", example = "16200")
+ private Long unitId;
+
+ @Schema(description = "规则ID", example = "11174")
+ private Long ruleId;
+
+ @Schema(description = "算法ID", example = "20986")
+ private Long algorithmId;
+
+ @Schema(description = "实体ID", example = "2678")
+ private Long entityId;
+
+ @Schema(description = "值")
+ private String value;
+
+ @Schema(description = "是否关键指标")
+ private Integer isKey;
+
+ @Schema(description = "排序号")
+ private Long sort;
+
+ @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "备注不能为空")
+ private String remark;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/BusinessDictionaryTypeController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/BusinessDictionaryTypeController.java
new file mode 100644
index 0000000..bb57c1d
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/BusinessDictionaryTypeController.java
@@ -0,0 +1,119 @@
+package com.zt.plat.module.base.controller.admin.businessdictionarytype;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.base.controller.admin.businessdictionarytype.vo.*;
+import com.zt.plat.module.base.dal.dataobject.businessdictionarytype.BusinessDictionaryTypeDO;
+import com.zt.plat.module.base.dal.dataobject.businessdictionarytype.BusinessDictionaryDataDO;
+import com.zt.plat.module.base.service.businessdictionarytype.BusinessDictionaryTypeService;
+
+@Tag(name = "管理后台 - 业务字典类型")
+@RestController
+@RequestMapping("/base/business-dictionary-type")
+@Validated
+public class BusinessDictionaryTypeController implements BusinessControllerMarker {
+
+
+ @Resource
+ private BusinessDictionaryTypeService businessDictionaryTypeService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建业务字典类型")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:create')")
+ public CommonResult createBusinessDictionaryType(@Valid @RequestBody BusinessDictionaryTypeSaveReqVO createReqVO) {
+ return success(businessDictionaryTypeService.createBusinessDictionaryType(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新业务字典类型")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:update')")
+ public CommonResult updateBusinessDictionaryType(@Valid @RequestBody BusinessDictionaryTypeSaveReqVO updateReqVO) {
+ businessDictionaryTypeService.updateBusinessDictionaryType(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除业务字典类型")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:delete')")
+ public CommonResult deleteBusinessDictionaryType(@RequestParam("id") Long id) {
+ businessDictionaryTypeService.deleteBusinessDictionaryType(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除业务字典类型")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:delete')")
+ public CommonResult deleteBusinessDictionaryTypeList(@RequestBody BatchDeleteReqVO req) {
+ businessDictionaryTypeService.deleteBusinessDictionaryTypeListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得业务字典类型")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:query')")
+ public CommonResult getBusinessDictionaryType(@RequestParam("id") Long id) {
+ BusinessDictionaryTypeDO businessDictionaryType = businessDictionaryTypeService.getBusinessDictionaryType(id);
+ return success(BeanUtils.toBean(businessDictionaryType, BusinessDictionaryTypeRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得业务字典类型分页")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:query')")
+ public CommonResult> getBusinessDictionaryTypePage(@Valid BusinessDictionaryTypePageReqVO pageReqVO) {
+ PageResult pageResult = businessDictionaryTypeService.getBusinessDictionaryTypePage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, BusinessDictionaryTypeRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出业务字典类型 Excel")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportBusinessDictionaryTypeExcel(@Valid BusinessDictionaryTypePageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = businessDictionaryTypeService.getBusinessDictionaryTypePage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "业务字典类型.xls", "数据", BusinessDictionaryTypeRespVO.class,
+ BeanUtils.toBean(list, BusinessDictionaryTypeRespVO.class));
+ }
+
+ // ==================== 子表(业务字典数据) ====================
+
+ @GetMapping("/business-dictionary-data/list-by-dictionary-type-id")
+ @Operation(summary = "获得业务字典数据列表")
+ @Parameter(name = "dictionaryTypeId", description = "字典类型")
+ @PreAuthorize("@ss.hasPermission('base:business-dictionary-type:query')")
+ public CommonResult> getBusinessDictionaryDataListByDictionaryTypeId(@RequestParam("dictionaryTypeId") Long dictionaryTypeId) {
+ return success(businessDictionaryTypeService.getBusinessDictionaryDataListByDictionaryTypeId(dictionaryTypeId));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypePageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypePageReqVO.java
new file mode 100644
index 0000000..63fa72a
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypePageReqVO.java
@@ -0,0 +1,20 @@
+package com.zt.plat.module.base.controller.admin.businessdictionarytype.vo;
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+@Schema(description = "管理后台 - 业务字典类型分页 Request VO")
+@Data
+public class BusinessDictionaryTypePageReqVO extends PageParam {
+
+ @Schema(description = "字典名称", example = "王五")
+ private String name;
+
+ @Schema(description = "字典类型", example = "1")
+ private String type;
+
+ @Schema(description = "状态(0正常 1停用)", example = "2")
+ private Long status;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypeRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypeRespVO.java
new file mode 100644
index 0000000..e4ff58d
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypeRespVO.java
@@ -0,0 +1,37 @@
+package com.zt.plat.module.base.controller.admin.businessdictionarytype.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 业务字典类型 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class BusinessDictionaryTypeRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11771")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "字典名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @ExcelProperty("字典名称")
+ private String name;
+
+ @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+ @ExcelProperty("字典类型")
+ private String type;
+
+ @Schema(description = "状态(0正常 1停用)", example = "2")
+ @ExcelProperty("状态(0正常 1停用)")
+ private Long status;
+
+ @Schema(description = "备注")
+ @ExcelProperty("备注")
+ private String remark;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypeSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypeSaveReqVO.java
new file mode 100644
index 0000000..84217f0
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdictionarytype/vo/BusinessDictionaryTypeSaveReqVO.java
@@ -0,0 +1,37 @@
+package com.zt.plat.module.base.controller.admin.businessdictionarytype.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+import java.time.LocalDateTime;
+import com.zt.plat.module.base.dal.dataobject.businessdictionarytype.BusinessDictionaryDataDO;
+
+@Schema(description = "管理后台 - 业务字典类型新增/修改 Request VO")
+@Data
+public class BusinessDictionaryTypeSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11771")
+ private Long id;
+
+ @Schema(description = "字典名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @NotEmpty(message = "字典名称不能为空")
+ private String name;
+
+ @Schema(description = "字典类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+ @NotEmpty(message = "字典类型不能为空")
+ private String type;
+
+ @Schema(description = "状态(0正常 1停用)", example = "2")
+ private Long status;
+
+ @Schema(description = "备注")
+ private String remark;
+
+ @Schema(description = "删除时间")
+ private LocalDateTime delTime;
+
+ @Schema(description = "业务字典数据列表")
+ private List businessDictionaryDatas;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/BusinessDimensionController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/BusinessDimensionController.java
new file mode 100644
index 0000000..f7ef5f2
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/BusinessDimensionController.java
@@ -0,0 +1,118 @@
+package com.zt.plat.module.base.controller.admin.businessdimension;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.base.controller.admin.businessdimension.vo.*;
+import com.zt.plat.module.base.dal.dataobject.businessdimension.BusinessDimensionDO;
+import com.zt.plat.module.base.service.businessdimension.BusinessDimensionService;
+
+@Tag(name = "管理后台 - 经营指标维度")
+@RestController
+@RequestMapping("/base/business-dimension")
+@Validated
+public class BusinessDimensionController implements BusinessControllerMarker {
+
+
+ @Resource
+ private BusinessDimensionService businessDimensionService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建经营指标维度")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:create')")
+ public CommonResult createBusinessDimension(@Valid @RequestBody BusinessDimensionSaveReqVO createReqVO) {
+ return success(businessDimensionService.createBusinessDimension(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新经营指标维度")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:update')")
+ public CommonResult updateBusinessDimension(@Valid @RequestBody BusinessDimensionSaveReqVO updateReqVO) {
+ businessDimensionService.updateBusinessDimension(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除经营指标维度")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:delete')")
+ public CommonResult deleteBusinessDimension(@RequestParam("id") Long id) {
+ businessDimensionService.deleteBusinessDimension(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除经营指标维度")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:delete')")
+ public CommonResult deleteBusinessDimensionList(@RequestBody BatchDeleteReqVO req) {
+ businessDimensionService.deleteBusinessDimensionListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得经营指标维度")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:query')")
+ public CommonResult getBusinessDimension(@RequestParam("id") Long id) {
+ BusinessDimensionDO businessDimension = businessDimensionService.getBusinessDimension(id);
+ return success(BeanUtils.toBean(businessDimension, BusinessDimensionRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得经营指标维度分页")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:query')")
+ public CommonResult> getBusinessDimensionPage(@Valid BusinessDimensionPageReqVO pageReqVO) {
+ PageResult pageResult = businessDimensionService.getBusinessDimensionPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, BusinessDimensionRespVO.class));
+ }
+
+ @GetMapping("/list-by-parent-id")
+ @Operation(summary = "获得经营指标维度列表通过父级ID")
+ @Parameter(name = "parentId", description = "父级ID", example = "0")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:query')")
+ public CommonResult> getBusinessDimensionListByParentId(@RequestParam(value = "parentId", required = false) Long parentId,
+ @RequestParam(value = "level", required = false) Integer level) {
+ List list = businessDimensionService.getBusinessDimensionListByParentId(parentId, level);
+ return success(BeanUtils.toBean(list, BusinessDimensionRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出经营指标维度 Excel")
+ @PreAuthorize("@ss.hasPermission('base:business-dimension:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportBusinessDimensionExcel(@Valid BusinessDimensionPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = businessDimensionService.getBusinessDimensionPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "经营指标维度.xls", "数据", BusinessDimensionRespVO.class,
+ BeanUtils.toBean(list, BusinessDimensionRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionPageReqVO.java
new file mode 100644
index 0000000..45b7db1
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionPageReqVO.java
@@ -0,0 +1,28 @@
+package com.zt.plat.module.base.controller.admin.businessdimension.vo;
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 经营指标维度分页 Request VO")
+@Data
+public class BusinessDimensionPageReqVO extends PageParam {
+
+ @Schema(description = "维度类型")
+ private String typeValue;
+
+ @Schema(description = "维度编码")
+ private String code;
+
+ @Schema(description = "维度名称", example = "王五")
+ private String name;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionRespVO.java
new file mode 100644
index 0000000..57b0b36
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionRespVO.java
@@ -0,0 +1,44 @@
+package com.zt.plat.module.base.controller.admin.businessdimension.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+import com.zt.plat.framework.excel.core.annotations.DictFormat;
+import com.zt.plat.framework.excel.core.convert.DictConvert;
+
+@Schema(description = "管理后台 - 经营指标维度 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class BusinessDimensionRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5174")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "父级ID", example = "29218")
+ @ExcelProperty("父级ID")
+ private Long parentId;
+
+ @Schema(description = "维度类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty(value = "维度类型", converter = DictConvert.class)
+ @DictFormat("demo_contract") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
+ private String typeValue;
+
+ @Schema(description = "维度编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("维度编码")
+ private String code;
+
+ @Schema(description = "维度名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @ExcelProperty("维度名称")
+ private String name;
+
+ @Schema(description = "备注")
+ @ExcelProperty("备注")
+ private String remark;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionSaveReqVO.java
new file mode 100644
index 0000000..52d9b41
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessdimension/vo/BusinessDimensionSaveReqVO.java
@@ -0,0 +1,32 @@
+package com.zt.plat.module.base.controller.admin.businessdimension.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 经营指标维度新增/修改 Request VO")
+@Data
+public class BusinessDimensionSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5174")
+ private Long id;
+
+ @Schema(description = "父级ID", example = "29218")
+ private Long parentId;
+
+ @Schema(description = "维度类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "维度类型不能为空")
+ private String typeValue;
+
+ @Schema(description = "维度编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "维度编码不能为空")
+ private String code;
+
+ @Schema(description = "维度名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+ @NotEmpty(message = "维度名称不能为空")
+ private String name;
+
+ @Schema(description = "备注")
+ private String remark;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/BusinessIndicatorController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/BusinessIndicatorController.java
new file mode 100644
index 0000000..41febaf
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/BusinessIndicatorController.java
@@ -0,0 +1,128 @@
+package com.zt.plat.module.base.controller.admin.businessindicator;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+import com.zt.plat.framework.business.annotation.FileUploadController;
+import com.zt.plat.framework.business.controller.AbstractFileUploadController;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.base.controller.admin.businessindicator.vo.*;
+import com.zt.plat.module.base.dal.dataobject.businessindicator.BusinessIndicatorDO;
+import com.zt.plat.module.base.service.businessindicator.BusinessIndicatorService;
+
+@Tag(name = "管理后台 - 经营指标")
+@RestController
+@RequestMapping("/base/business-indicator")
+@Validated
+@FileUploadController(source = "base.businessindicator")
+public class BusinessIndicatorController extends AbstractFileUploadController implements BusinessControllerMarker{
+
+ static {
+ FileUploadController annotation = BusinessIndicatorController.class.getAnnotation(FileUploadController.class);
+ if (annotation != null) {
+ setFileUploadInfo(annotation);
+ }
+ }
+
+ @Resource
+ private BusinessIndicatorService businessIndicatorService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建经营指标")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:create')")
+ public CommonResult createBusinessIndicator(@Valid @RequestBody BusinessIndicatorSaveReqVO createReqVO) {
+ return success(businessIndicatorService.createBusinessIndicator(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新经营指标")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:update')")
+ public CommonResult updateBusinessIndicator(@Valid @RequestBody BusinessIndicatorSaveReqVO updateReqVO) {
+ businessIndicatorService.updateBusinessIndicator(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除经营指标")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:delete')")
+ public CommonResult deleteBusinessIndicator(@RequestParam("id") Long id) {
+ businessIndicatorService.deleteBusinessIndicator(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除经营指标")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:delete')")
+ public CommonResult deleteBusinessIndicatorList(@RequestBody BatchDeleteReqVO req) {
+ businessIndicatorService.deleteBusinessIndicatorListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得经营指标")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:query')")
+ public CommonResult getBusinessIndicator(@RequestParam("id") Long id) {
+// BusinessIndicatorDO businessIndicator = businessIndicatorService.getBusinessIndicator(id);
+// 使用getBusinessIndicatorPageWithRelations方法
+ BusinessIndicatorPageReqVO pageReqVO = new BusinessIndicatorPageReqVO();
+ pageReqVO.setId(id);
+ BusinessIndicatorRespVO businessIndicator = businessIndicatorService.getBusinessIndicatorPageWithRelations(pageReqVO).getList().get(0);
+ return success(BeanUtils.toBean(businessIndicator, BusinessIndicatorRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得经营指标分页")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:query')")
+ public CommonResult> getBusinessIndicatorPage(@Valid BusinessIndicatorPageReqVO pageReqVO) {
+ PageResult pageResult = businessIndicatorService.getBusinessIndicatorPageWithRelations(pageReqVO);
+ return success(pageResult);
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出经营指标 Excel")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportBusinessIndicatorExcel(@Valid BusinessIndicatorPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = businessIndicatorService.getBusinessIndicatorPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "经营指标.xls", "数据", BusinessIndicatorRespVO.class,
+ BeanUtils.toBean(list, BusinessIndicatorRespVO.class));
+ }
+
+ @GetMapping("/list-by-parent-id")
+ @Operation(summary = "获得经营指标列表通过父级ID")
+ @Parameter(name = "parentId", description = "父级ID", example = "0")
+ @PreAuthorize("@ss.hasPermission('base:business-indicator:query')")
+ public CommonResult> getBusinessIndicatorListByParentId(@RequestParam(value = "parentId", required = false) Long parentId) {
+ List list = businessIndicatorService.getBusinessIndicatorListByParentId(parentId);
+ return success(BeanUtils.toBean(list, BusinessIndicatorRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorPageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorPageReqVO.java
new file mode 100644
index 0000000..c8aed6b
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorPageReqVO.java
@@ -0,0 +1,23 @@
+package com.zt.plat.module.base.controller.admin.businessindicator.vo;
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+@Schema(description = "管理后台 - 经营指标分页 Request VO")
+@Data
+public class BusinessIndicatorPageReqVO extends PageParam {
+
+ @Schema(description = "指标编码")
+ private String code;
+
+ @Schema(description = "指标名称", example = "芋艿")
+ private String name;
+
+ @Schema(description = "指标ID")
+ private Long id;
+
+ @Schema(description = "维度ID")
+ private Long dimensionId;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorRespVO.java
new file mode 100644
index 0000000..023fa70
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorRespVO.java
@@ -0,0 +1,93 @@
+package com.zt.plat.module.base.controller.admin.businessindicator.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 经营指标 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class BusinessIndicatorRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3512")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "父级ID", example = "12917")
+ @ExcelProperty("父级ID")
+ private Long parentId;
+
+ @Schema(description = "指标编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("指标编码")
+ private String code;
+
+ @Schema(description = "指标名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
+ @ExcelProperty("指标名称")
+ private String name;
+
+ @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("数据类型")
+ private String dataValue;
+
+ @Schema(description = "计量单位量ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17208")
+ @ExcelProperty("计量单位量ID")
+ private Long quantityId;
+
+ @Schema(description = "计量单位ID", example = "31355")
+ @ExcelProperty("计量单位ID")
+ private Long unitId;
+
+ @Schema(description = "算法ID", example = "2240")
+ @ExcelProperty("算法ID")
+ private Long algorithmId;
+
+ @Schema(description = "规则ID", example = "32155")
+ @ExcelProperty("规则ID")
+ private Long ruleId;
+
+ @Schema(description = "维度ID", example = "7598")
+ @ExcelProperty("维度ID")
+ private Long dimensionId;
+
+ @Schema(description = "周期类型值", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("周期类型值")
+ private String cycleValue;
+
+ @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("状态")
+ private String statusValue;
+
+ @Schema(description = "是否可修改")
+ @ExcelProperty("是否可修改")
+ private Integer isModify;
+
+ @Schema(description = "用户ID", example = "13550")
+ @ExcelProperty("用户ID")
+ private Long userId;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+ // 新增关联名称字段
+ @Schema(description = "算法模型名称")
+ private String algorithmName;
+
+ @Schema(description = "算法类型值")
+ private String algorithmTypeValue;
+
+ @Schema(description = "规则模型名称")
+ private String ruleName;
+
+ @Schema(description = "规则类型值")
+ private String ruleTypeValue;
+
+ @Schema(description = "负责人名称")
+ private String userName;
+
+ @Schema(description = "指标描述")
+ private String description;
+
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorSaveReqVO.java
new file mode 100644
index 0000000..3affba4
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessindicator/vo/BusinessIndicatorSaveReqVO.java
@@ -0,0 +1,63 @@
+package com.zt.plat.module.base.controller.admin.businessindicator.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 经营指标新增/修改 Request VO")
+@Data
+public class BusinessIndicatorSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3512")
+ private Long id;
+
+ @Schema(description = "父级ID", example = "12917")
+ private Long parentId;
+
+ @Schema(description = "指标编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "指标编码不能为空")
+ private String code;
+
+ @Schema(description = "指标名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
+ @NotEmpty(message = "指标名称不能为空")
+ private String name;
+
+ @Schema(description = "指标描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "指标描述不能为空")
+ private String description;
+
+ @Schema(description = "数据类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "数据类型不能为空")
+ private String dataValue;
+
+ @Schema(description = "计量单位量ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17208")
+ private Long quantityId;
+
+ @Schema(description = "计量单位ID", example = "31355")
+ private Long unitId;
+
+ @Schema(description = "算法ID", example = "2240")
+ private Long algorithmId;
+
+ @Schema(description = "规则ID", example = "32155")
+ private Long ruleId;
+
+ @Schema(description = "维度ID", example = "7598")
+ private Long dimensionId;
+
+ @Schema(description = "周期类型值", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String cycleValue;
+
+ @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "状态不能为空")
+ private String statusValue;
+
+ @Schema(description = "是否可修改")
+ private boolean isModify;
+
+ @Schema(description = "负责人ID", example = "13550")
+ private Long userId;
+
+ @Schema(description = "负责部门")
+ private String departmentId;
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/BusinessRuleController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/BusinessRuleController.java
new file mode 100644
index 0000000..7b62990
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/BusinessRuleController.java
@@ -0,0 +1,105 @@
+package com.zt.plat.module.base.controller.admin.businessrule;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO;
+import com.zt.plat.framework.common.pojo.PageParam;
+import com.zt.plat.framework.common.pojo.PageResult;
+import com.zt.plat.framework.common.pojo.CommonResult;
+import com.zt.plat.framework.common.util.object.BeanUtils;
+import static com.zt.plat.framework.common.pojo.CommonResult.success;
+
+import com.zt.plat.framework.excel.core.util.ExcelUtils;
+
+import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
+import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import com.zt.plat.module.base.controller.admin.businessrule.vo.*;
+import com.zt.plat.module.base.dal.dataobject.businessrule.BusinessRuleDO;
+import com.zt.plat.module.base.service.businessrule.BusinessRuleService;
+
+@Tag(name = "管理后台 - 业务规则")
+@RestController
+@RequestMapping("/base/business-rule")
+@Validated
+public class BusinessRuleController implements BusinessControllerMarker {
+
+
+ @Resource
+ private BusinessRuleService businessRuleService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建业务规则")
+ @PreAuthorize("@ss.hasPermission('base:business-rule:create')")
+ public CommonResult createBusinessRule(@Valid @RequestBody BusinessRuleSaveReqVO createReqVO) {
+ return success(businessRuleService.createBusinessRule(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新业务规则")
+ @PreAuthorize("@ss.hasPermission('base:business-rule:update')")
+ public CommonResult updateBusinessRule(@Valid @RequestBody BusinessRuleSaveReqVO updateReqVO) {
+ businessRuleService.updateBusinessRule(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除业务规则")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:business-rule:delete')")
+ public CommonResult deleteBusinessRule(@RequestParam("id") Long id) {
+ businessRuleService.deleteBusinessRule(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除业务规则")
+ @PreAuthorize("@ss.hasPermission('base:business-rule:delete')")
+ public CommonResult deleteBusinessRuleList(@RequestBody BatchDeleteReqVO req) {
+ businessRuleService.deleteBusinessRuleListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得业务规则")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:business-rule:query')")
+ public CommonResult getBusinessRule(@RequestParam("id") Long id) {
+ BusinessRuleDO businessRule = businessRuleService.getBusinessRule(id);
+ return success(BeanUtils.toBean(businessRule, BusinessRuleRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得业务规则分页")
+ @PreAuthorize("@ss.hasPermission('base:business-rule:query')")
+ public CommonResult> getBusinessRulePage(@Valid BusinessRulePageReqVO pageReqVO) {
+ PageResult pageResult = businessRuleService.getBusinessRulePage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, BusinessRuleRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出业务规则 Excel")
+ @PreAuthorize("@ss.hasPermission('base:business-rule:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportBusinessRuleExcel(@Valid BusinessRulePageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = businessRuleService.getBusinessRulePage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "业务规则.xls", "数据", BusinessRuleRespVO.class,
+ BeanUtils.toBean(list, BusinessRuleRespVO.class));
+ }
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRulePageReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRulePageReqVO.java
new file mode 100644
index 0000000..6253332
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRulePageReqVO.java
@@ -0,0 +1,23 @@
+package com.zt.plat.module.base.controller.admin.businessrule.vo;
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.zt.plat.framework.common.pojo.PageParam;
+
+@Schema(description = "管理后台 - 业务规则分页 Request VO")
+@Data
+public class BusinessRulePageReqVO extends PageParam {
+
+ @Schema(description = "状态")
+ private String statusValue;
+
+ @Schema(description = "类型")
+ private String typeValue;
+
+ @Schema(description = "规则编码")
+ private String code;
+
+ @Schema(description = "规则名称", example = "李四")
+ private String name;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRuleRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRuleRespVO.java
new file mode 100644
index 0000000..e6409f4
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRuleRespVO.java
@@ -0,0 +1,45 @@
+package com.zt.plat.module.base.controller.admin.businessrule.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 业务规则 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class BusinessRuleRespVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32088")
+ @ExcelProperty("主键ID")
+ private Long id;
+
+ @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("状态")
+ private String statusValue;
+
+ @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("类型")
+ private String typeValue;
+
+ @Schema(description = "规则编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("规则编码")
+ private String code;
+
+ @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
+ @ExcelProperty("规则名称")
+ private String name;
+
+ @Schema(description = "规则描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("规则描述")
+ private String description;
+
+ @Schema(description = "规则表达式")
+ @ExcelProperty("规则表达式")
+ private String expression;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRuleSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRuleSaveReqVO.java
new file mode 100644
index 0000000..1025c8e
--- /dev/null
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/businessrule/vo/BusinessRuleSaveReqVO.java
@@ -0,0 +1,37 @@
+package com.zt.plat.module.base.controller.admin.businessrule.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 业务规则新增/修改 Request VO")
+@Data
+public class BusinessRuleSaveReqVO {
+
+ @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32088")
+ private Long id;
+
+ @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "状态不能为空")
+ private String statusValue;
+
+ @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "类型不能为空")
+ private String typeValue;
+
+ @Schema(description = "规则编码", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "规则编码不能为空")
+ private String code;
+
+ @Schema(description = "规则名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
+ @NotEmpty(message = "规则名称不能为空")
+ private String name;
+
+ @Schema(description = "规则描述", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "规则描述不能为空")
+ private String description;
+
+ @Schema(description = "规则表达式")
+ private String expression;
+
+}
\ No newline at end of file
diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java
index b7bc88c..f04f860 100644
--- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java
+++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java
@@ -7,6 +7,7 @@ import com.zt.plat.module.base.service.tmpltp.TemplateInstanceService;
import com.zt.plat.module.infra.api.file.FileApi;
import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO;
import jakarta.validation.constraints.NotEmpty;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@@ -42,6 +43,7 @@ import org.springframework.web.multipart.MultipartFile;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
+@Slf4j
@Tag(name = "管理后台 - 模板实例")
@RestController
@RequestMapping("/base/template-instance")
@@ -55,15 +57,16 @@ public class TemplateInstanceController extends AbstractFileUploadController {
setFileUploadInfo(annotation);
}
}
+
@Resource
private TemplateInstanceService templateInstanceService;
//上传文件
- @PostMapping("/save-file")
- @Operation(summary = "上传文件", description = "上传文件,传入文件对象和模版实例id")
- public CommonResult