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 113da7e..9ad986a 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 @@ -5,7 +5,7 @@ import java.util.Set; public enum DeleteStatusEnum { - STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.STOPPED.getCode());}}), + 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<>()); 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 4a56aa9..42532de 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 @@ -8,15 +8,9 @@ import java.util.Set; */ public enum PublishStatusEnum { - STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{ - add(TmplStsEnum.DRAFT.getCode()); - add(TmplStsEnum.STOPPED.getCode()); - }}), + 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<>() {{ - add(TmplStsEnum.DRAFT.getCode()); - add(TmplStsEnum.STOPPED.getCode()); - }}); + STATUS_STOP(TmplStsEnum.STOPPED.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/UpdateStatusEnum.java b/zt-module-base/zt-module-base-api/src/main/java/com/zt/plat/module/tmpltp/enums/UpdateStatusEnum.java index 398f9a0..2e34ef0 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 @@ -5,9 +5,15 @@ import java.util.Set; public enum UpdateStatusEnum { - STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}), + STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{ + add(TmplStsEnum.DRAFT.getCode()); + 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()); + }}); private final String code; 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 7e96049..509b016 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 @@ -1,10 +1,7 @@ package com.zt.plat.module.base.controller.admin.templtp; -import com.zt.plat.module.base.controller.admin.templtp.vo.PublishTemplateInstanceReqVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstancePageReqVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceRespVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceSaveReqVO; +import com.zt.plat.module.base.controller.admin.templtp.vo.*; import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDO; import com.zt.plat.module.base.service.tmpltp.TemplateInstanceService; import com.zt.plat.module.infra.api.file.FileApi; @@ -22,6 +19,7 @@ import io.swagger.v3.oas.annotations.Operation; import jakarta.validation.*; import jakarta.servlet.http.*; + import java.util.*; import java.io.IOException; @@ -30,6 +28,7 @@ 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; @@ -40,7 +39,6 @@ import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog; import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*; - @Tag(name = "管理后台 - 模板实例") @RestController @RequestMapping("/base/template-instance") @@ -51,28 +49,14 @@ public class TemplateInstanceController extends AbstractFileUploadController { static { FileUploadController annotation = TemplateInstanceController.class.getAnnotation(FileUploadController.class); if (annotation != null) { - setFileUploadInfo(annotation); + setFileUploadInfo(annotation); } } @Resource private TemplateInstanceService templateInstanceService; - @Resource - private FileApi fileApi; -// @PostMapping("/upload-file") -// @Operation(summary = "上传模板实例文件") -// public CommonResult >upload(MultipartFile file) { -// Map fileMap = new HashMap<>(); -// try { -// String fileWhitReturn = fileApi.createFile(file.getBytes(), file.getOriginalFilename()); -// fileMap.put("fileUrl", fileWhitReturn); -// } catch (IOException e) { -// throw new RuntimeException(e); -// } -// return success(fileMap); -// } @PostMapping("/create") @Operation(summary = "创建模板实例") @PreAuthorize("@ss.hasPermission('bse:template-instance:create')") @@ -100,7 +84,7 @@ public class TemplateInstanceController extends AbstractFileUploadController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除模板实例") - @PreAuthorize("@ss.hasPermission('bse:template-instance:delete')") + @PreAuthorize("@ss.hasPermission('bse:template-instance:delete')") public CommonResult deleteTemplateInstanceList(@RequestBody BatchDeleteReqVO req) { templateInstanceService.deleteTemplateInstanceListByIds(req.getIds()); return success(true); @@ -113,7 +97,7 @@ public class TemplateInstanceController extends AbstractFileUploadController { public CommonResult getTemplateInstance(@RequestParam("id") Long id) { TemplateInstanceDO templateInstance = templateInstanceService.getTemplateInstance(id); TemplateInstanceRespVO templateInstanceRespVO = BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class); - templateInstanceRespVO.setDeptIds(templateInstanceService.getDeptByInstanId(id)); + templateInstanceService.getDetailedInfo(templateInstanceRespVO); return success(templateInstanceRespVO); } @@ -122,7 +106,11 @@ public class TemplateInstanceController extends AbstractFileUploadController { @PreAuthorize("@ss.hasPermission('bse:template-instance:query')") public CommonResult> getTemplateInstancePage(@Valid TemplateInstancePageReqVO pageReqVO) { PageResult pageResult = templateInstanceService.getTemplateInstancePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, TemplateInstanceRespVO.class)); + PageResult templateInstanceRespVOPageResult = BeanUtils.toBean(pageResult, TemplateInstanceRespVO.class); + templateInstanceRespVOPageResult.getList().forEach(templateInstanceRespVO -> { + templateInstanceService.getDetailedInfo(templateInstanceRespVO); + }); + return success(templateInstanceRespVOPageResult); } @GetMapping("/export-excel") @@ -130,14 +118,15 @@ public class TemplateInstanceController extends AbstractFileUploadController { @PreAuthorize("@ss.hasPermission('bse:template-instance:export')") @ApiAccessLog(operateType = EXPORT) public void exportTemplateInstanceExcel(@Valid TemplateInstancePageReqVO pageReqVO, - HttpServletResponse response) throws IOException { + HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = templateInstanceService.getTemplateInstancePage(pageReqVO).getList(); // 导出 Excel ExcelUtils.write(response, "模板实例.xls", "数据", TemplateInstanceRespVO.class, - BeanUtils.toBean(list, TemplateInstanceRespVO.class)); + BeanUtils.toBean(list, TemplateInstanceRespVO.class)); } - //模版实例发布 + + //模版实例发布 @PostMapping("/publish-batch") @Operation(summary = "模版实例发布") @PreAuthorize("@ss.hasPermission('bse:template-instance:publish')") @@ -145,4 +134,25 @@ public class TemplateInstanceController extends AbstractFileUploadController { templateInstanceService.publishTemplateInstance(publishReqVOS); return success(true); } + + //不显示停用状态的查询接口 + @GetMapping("/list-excluding-disabled") + @Operation(summary = "获得模板实例") + @PreAuthorize("@ss.hasPermission('bse:template-instance:query')") + public CommonResult> listExcludingDisabled(@Valid TemplateInstancePageReqVO pageReqVO) { + PageResult templateInstanceRespVOPageResult = BeanUtils.toBean(templateInstanceService.listExcludingDisabled(pageReqVO), TemplateInstanceRespVO.class); + templateInstanceRespVOPageResult.getList().forEach(templateInstanceRespVO -> { + templateInstanceService.getDetailedInfo(templateInstanceRespVO); + }); + return success(templateInstanceRespVOPageResult); + } + + //停用和启用接口 + @PostMapping("/disable-enable") + @Operation(summary = "实例停用和启用接口",description = "实例停用和启用接口") + @PreAuthorize("@ss.hasPermission('bse:template-instance:disable-enable')") + public CommonResult setDisableOrEnable(@Valid @RequestBody DisableEnableReqVO reqVO) { + templateInstanceService.setDisableOrEnable(reqVO); + return success(true); + } } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/DisableEnableReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/DisableEnableReqVO.java new file mode 100644 index 0000000..d8de1d5 --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/DisableEnableReqVO.java @@ -0,0 +1,18 @@ +package com.zt.plat.module.base.controller.admin.templtp.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 实例启用与禁用 Request VO") +@Data +public class DisableEnableReqVO { + @Schema(description = "实例主键(id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "实例主键不能为空") + private List ids; + @Schema(description = "操作类型;操作类型type,type的值启用为enable,禁用为disable", requiredMode = Schema.RequiredMode.REQUIRED, example = "enable") + @NotEmpty(message = "实例操作类型不能为空") + private String type; +} diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java index 6d9bca1..96da62c 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceRespVO.java @@ -56,6 +56,10 @@ public class TemplateInstanceRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; - @Schema(description = "使用部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @Schema(description = "使用部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "") private List deptIds; + @Schema(description = "实例字段;这个是实例字段绑定的字段", requiredMode = Schema.RequiredMode.REQUIRED, example = "") + private List templateInstanceDataRespVOS; + @Schema(description = "实例条款;这个是实例条款绑定的条款;", requiredMode = Schema.RequiredMode.REQUIRED, example = "") + private List instanceItemRespVOS; } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java index 8ecdf4d..b00bd29 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java @@ -21,9 +21,9 @@ public class TemplateInstanceSaveReqVO { @NotEmpty(message = "模板名称不能为空") private String name; - @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "模板编码不能为空") - private String cdg; +// @Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED) +// @NotEmpty(message = "模板编码不能为空") +// private String cdg; @Schema(description = "模板描述") private String dsp; diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TmplTpFldDO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TmplTpFldDO.java index 3ca4b5f..878ab59 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TmplTpFldDO.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/dataobject/tmpltp/TmplTpFldDO.java @@ -8,7 +8,7 @@ import java.time.LocalDateTime; /** * 字段库 DO - * 对应数据库表:BIZ_TMPL_TP_FLD + * 对应数据库表:BSE_TMPL_TP_FLD * * @author 后台管理 */ diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/tmpltp/TemplateInstanceMapper.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/tmpltp/TemplateInstanceMapper.java index 66b7384..f5730a1 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/tmpltp/TemplateInstanceMapper.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/dal/mysql/tmpltp/TemplateInstanceMapper.java @@ -8,6 +8,7 @@ import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstancePageReqVO; import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDO; +import com.zt.plat.module.tmpltp.enums.TmplStsEnum; import org.apache.ibatis.annotations.Mapper; @@ -33,5 +34,20 @@ public interface TemplateInstanceMapper extends BaseMapperX .betweenIfPresent(TemplateInstanceDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(TemplateInstanceDO::getId)); } + default PageResult listExcludingDisabled(TemplateInstancePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(TemplateInstanceDO::getTpId, reqVO.getTpId()) + .likeIfPresent(TemplateInstanceDO::getName, reqVO.getName()) + .eqIfPresent(TemplateInstanceDO::getCdg, reqVO.getCdg()) + .eqIfPresent(TemplateInstanceDO::getDsp, reqVO.getDsp()) + .eqIfPresent(TemplateInstanceDO::getCntt, reqVO.getCntt()) + .eqIfPresent(TemplateInstanceDO::getOrigCntt, reqVO.getOrigCntt()) + .eqIfPresent(TemplateInstanceDO::getFileTp, reqVO.getFileTp()) + .eqIfPresent(TemplateInstanceDO::getVer, reqVO.getVer()) + .eqIfPresent(TemplateInstanceDO::getSts, reqVO.getSts()) + .betweenIfPresent(TemplateInstanceDO::getCreateTime, reqVO.getCreateTime()) + .ne(TemplateInstanceDO::getSts, TmplStsEnum.STOPPED.getCode()) // 不包含停用状态(不等于停用状态) + .orderByDesc(TemplateInstanceDO::getId)); + } } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java index e8b207f..eeb41d1 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java @@ -2,10 +2,7 @@ package com.zt.plat.module.base.service.tmpltp; import java.util.*; -import com.zt.plat.module.base.controller.admin.templtp.vo.PublishTemplateInstanceReqVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstancePageReqVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceRespVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceSaveReqVO; +import com.zt.plat.module.base.controller.admin.templtp.vo.*; import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDO; import jakarta.validation.*; @@ -67,4 +64,15 @@ public interface TemplateInstanceService { List getDeptByInstanId(Long instanId); void publishTemplateInstance(List publishReqVOS); + + void getDetailedInfo(TemplateInstanceRespVO templateInstanceRespVO); + /** + * 获得模板实例分页排除停用状态的 + * + * @param pageReqVO 分页查询 + * @return 模板实例分页 + */ + PageResult listExcludingDisabled(@Valid TemplateInstancePageReqVO pageReqVO); + + void setDisableOrEnable(@Valid DisableEnableReqVO reqVO); } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java index e2f2661..b5c53a7 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java @@ -5,14 +5,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; +import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; -import com.zt.plat.module.base.controller.admin.templtp.vo.PublishTemplateInstanceReqVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstancePageReqVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceRespVO; -import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceSaveReqVO; -import com.zt.plat.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO; -import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDO; -import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplTpDO; +import com.zt.plat.framework.tenant.core.context.CompanyContextHolder; +import com.zt.plat.module.base.controller.admin.templtp.vo.*; +import com.zt.plat.module.base.dal.dataobject.tmpltp.*; import com.zt.plat.module.base.dal.mysql.tmpltp.DepartmentInstanceRelativityMapper; import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper; import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper; @@ -29,6 +26,7 @@ import org.springframework.validation.annotation.Validated; import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.UUID; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -63,6 +61,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { // 插入 TemplateInstanceDO templateInstance = BeanUtils.toBean(createReqVO, TemplateInstanceDO.class); templateInstance.setVer("v1.0"); //设置初始版本为v1.0 + templateInstance.setCdg(UUID.randomUUID().toString());//设置模板编码 templateInstance.setSts(TmplStsEnum.DRAFT.getCode());//设置初始状态为草稿 int insert = templateInstanceMapper.insert(templateInstance); if (insert <= 0) { @@ -86,21 +85,11 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { public void updateTemplateInstance(TemplateInstanceSaveReqVO updateReqVO) { // 校验存在 validateTemplateInstanceExists(updateReqVO.getId()); - // TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId()); -// //获取保存旧文件内容防止被更新 -// String originalContent = templateInstanceDO.getOriginalContent(); - //校验该记录能否被修改 validateStatusCanUpdate(updateReqVO.getId()); // 更新 TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId()); - String sts = templateInstanceDO.getSts(); - if (!sts.equals( TmplStsEnum.DRAFT.getCode())) { - throw exception(STATUS_OPERATION_FAIL); - } - TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class); - // updateObj.setOrigCntt(null); //重新赋值,防止原始文件被更改 updateObj.setVer(incrementVersion(templateInstanceDO.getVer())); templateInstanceMapper.updateById(updateObj); } @@ -238,7 +227,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { PublishStatusEnum status = PublishStatusEnum.fromCode(currentStatus); boolean transitionAllowed = false; if (status != null) { - transitionAllowed = status.isTransitionAllowed( TmplStsEnum.PUBLISHED.getCode()); + transitionAllowed = status.isTransitionAllowed(TmplStsEnum.PUBLISHED.getCode()); } if (!transitionAllowed) { throw exception(STATUS_OPERATION_FAIL); @@ -252,13 +241,57 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { .set(TemplateInstanceDO::getSts, TmplStsEnum.PUBLISHED.getCode())); } - private void validateStatusCanDelete(List ids) { + @Override + public PageResult listExcludingDisabled(TemplateInstancePageReqVO pageReqVO) { + return templateInstanceMapper.listExcludingDisabled(pageReqVO); + } + + @Override + public void setDisableOrEnable(DisableEnableReqVO reqVO) { + validateTemplateInstanceExists(reqVO.getIds().stream().map(Long::valueOf).toList()); + String code; + if (reqVO.getType().equals("disable")) { + // 禁用 + code = TmplStsEnum.STOPPED.getCode(); + } else { + // 启用 + code = TmplStsEnum.PUBLISHED.getCode(); + } + templateInstanceMapper.update(new LambdaUpdateWrapper() + .set(TemplateInstanceDO::getSts, code) + .in(TemplateInstanceDO::getId, reqVO.getIds())); + } + + + @Override + public void getDetailedInfo(TemplateInstanceRespVO templateInstanceRespVO) { + templateInstanceRespVO.setDeptIds(getDeptByInstanId(templateInstanceRespVO.getId())); + templateInstanceRespVO.setInstanceItemRespVOS(setInstanceItemRespVOS(templateInstanceRespVO.getId())); + templateInstanceRespVO.setTemplateInstanceDataRespVOS(setTemplateInstanceDataRespVOS(templateInstanceRespVO.getId())); + } + + // 实例条款值 + private List setInstanceItemRespVOS(Long id) { + List templateInstanceItemDOS = templateInstanceItemMapper.selectList(new LambdaQueryWrapper() + .eq(TemplateInstanceItemDO::getInscId, id) + .eq(TemplateInstanceItemDO::getCompanyId, CompanyContextHolder.getCompanyId())); + return BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class); + } + + // 实例数据 + private List setTemplateInstanceDataRespVOS(Long id) { + return BeanUtils.toBean(templateInstanceDataMapper.selectList(new LambdaQueryWrapper() + .eq(TemplateInstanceDataDO::getInscId, id) + .eq(TemplateInstanceDataDO::getCompanyId, CompanyContextHolder.getCompanyId())), TemplateInstanceDataRespVO.class); + } + + private void validateStatusCanDelete(List ids) { Set sts = templateInstanceMapper.selectByIds(ids).stream().map(TemplateInstanceDO::getSts).collect(Collectors.toSet()); sts.forEach(status -> { DeleteStatusEnum deleteStatusEnum = DeleteStatusEnum.fromCode(status); boolean transitionAllowed = false; if (deleteStatusEnum != null) { - transitionAllowed = deleteStatusEnum.isTransitionAllowed( TmplStsEnum.DRAFT.getCode()); + transitionAllowed = deleteStatusEnum.isTransitionAllowed(TmplStsEnum.DRAFT.getCode()); } if (!transitionAllowed) { throw exception(STATUS_OPERATION_FAIL); @@ -266,7 +299,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { }); } - private void validateStatusCanDelete(Long id) { + private void validateStatusCanDelete(Long id) { String sts = templateInstanceMapper.selectById(id).getSts(); DeleteStatusEnum deleteStatusEnum = DeleteStatusEnum.fromCode(sts); boolean transitionAllowed = false; @@ -277,6 +310,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { throw exception(STATUS_OPERATION_FAIL); } } + private void validateStatusCanUpdate(Long id) { String sts = templateInstanceMapper.selectById(id).getSts(); UpdateStatusEnum updateStatusEnum = UpdateStatusEnum.fromCode(sts);