模版编制的相关实现
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.zt.plat.module.base.controller.admin.templtp;
|
||||
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
|
||||
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;
|
||||
@@ -18,7 +18,7 @@ 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.*;
|
||||
@@ -34,7 +34,7 @@ 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 org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
||||
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
@@ -111,7 +111,9 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
||||
@PreAuthorize("@ss.hasPermission('bse:template-instance:query')")
|
||||
public CommonResult<TemplateInstanceRespVO> getTemplateInstance(@RequestParam("id") Long id) {
|
||||
TemplateInstanceDO templateInstance = templateInstanceService.getTemplateInstance(id);
|
||||
return success(BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class));
|
||||
TemplateInstanceRespVO templateInstanceRespVO = BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class);
|
||||
templateInstanceRespVO.setDeptIds(templateInstanceService.getDeptByInstanId(id));
|
||||
return success(templateInstanceRespVO);
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
|
||||
@@ -56,4 +56,6 @@ public class TemplateInstanceRespVO {
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "使用部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
private List<String> deptIds;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
@Schema(description = "管理后台 - 模板实例新增/修改 Request VO")
|
||||
@Data
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.zt.plat.module.base.service.tmpltp;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataPageReqVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
|
||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataSaveReqVO;
|
||||
@@ -42,6 +43,14 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
||||
|
||||
@Override
|
||||
public TemplateInstanceDataRespVO createTemplateInstanceData(TemplateInstanceDataSaveReqVO createReqVO) {
|
||||
//判断当前标识字段在数据库中是否存在
|
||||
Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId();
|
||||
if (templateInstanceDataMapper.selectCount(new LambdaQueryWrapper<TemplateInstanceDataDO>()
|
||||
.eq(TemplateInstanceDataDO::getFldKy,createReqVO)
|
||||
.eq(TemplateInstanceDataDO::getInscId,createReqVO.getInscId())
|
||||
.eq(TemplateInstanceDataDO::getCompanyId,loginUserCompanyId)) >0) {
|
||||
throw exception(TMPL_INS_FLD_CODE_EXISTS);
|
||||
}
|
||||
// 插入
|
||||
TemplateInstanceDataDO templateInstanceData = BeanUtils.toBean(createReqVO, TemplateInstanceDataDO.class);
|
||||
templateInstanceDataMapper.insert(templateInstanceData);
|
||||
|
||||
@@ -63,4 +63,5 @@ public interface TemplateInstanceService {
|
||||
*/
|
||||
PageResult<TemplateInstanceDO> getTemplateInstancePage(TemplateInstancePageReqVO pageReqVO);
|
||||
|
||||
List<String> getDeptByInstanId(Long instanId);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.zt.plat.module.base.service.tmpltp;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
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;
|
||||
@@ -23,8 +25,7 @@ import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.STATUS_OPERATION_FAIL;
|
||||
import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_NOT_EXISTS;
|
||||
import static com.zt.plat.module.tmpltp.enums.ErrorCodeConstants.*;
|
||||
|
||||
|
||||
/**
|
||||
@@ -46,16 +47,18 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
private TemplateInstanceItemMapper templateInstanceItemMapper;
|
||||
|
||||
private static final Pattern VERSION_PATTERN = Pattern.compile("^(.*?)([0-9]+(?:\\.[0-9]+)*)(.*)$");
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public TemplateInstanceRespVO createTemplateInstance(TemplateInstanceSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
TemplateInstanceDO templateInstance = BeanUtils.toBean(createReqVO, TemplateInstanceDO.class);
|
||||
templateInstance.setVer("v1.0");
|
||||
templateInstanceMapper.insert(templateInstance);
|
||||
|
||||
//构建使用部门
|
||||
List<DepartmentInstanceRelativityDO> departmentInstanceRelativityDOS = new ArrayList<>();
|
||||
createReqVO.getDeptIds().forEach(deptId ->{
|
||||
createReqVO.getDeptIds().forEach(deptId -> {
|
||||
DepartmentInstanceRelativityDO departmentInstanceRelativityDO = new DepartmentInstanceRelativityDO();
|
||||
departmentInstanceRelativityDO.setTemplateInstanceId(String.valueOf(templateInstance.getId()));
|
||||
departmentInstanceRelativityDO.setCompanyDepartmentId(deptId);
|
||||
@@ -70,7 +73,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
public void updateTemplateInstance(TemplateInstanceSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateTemplateInstanceExists(updateReqVO.getId());
|
||||
// TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId());
|
||||
// TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId());
|
||||
// //获取保存旧文件内容防止被更新
|
||||
// String originalContent = templateInstanceDO.getOriginalContent();
|
||||
// 更新
|
||||
@@ -81,7 +84,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
}
|
||||
|
||||
TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class);
|
||||
updateObj.setOrigCntt(null); //重新赋值,防止原始文件被更改
|
||||
// updateObj.setOrigCntt(null); //重新赋值,防止原始文件被更改
|
||||
updateObj.setVer(incrementVersion(templateInstanceDO.getVer()));
|
||||
templateInstanceMapper.updateById(updateObj);
|
||||
}
|
||||
@@ -101,12 +104,12 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteTemplateInstanceListByIds(List<Long> ids) {
|
||||
public void deleteTemplateInstanceListByIds(List<Long> ids) {
|
||||
// 校验存在
|
||||
validateTemplateInstanceExists(ids);
|
||||
// 删除
|
||||
templateInstanceMapper.deleteByIds(ids);
|
||||
}
|
||||
}
|
||||
|
||||
private void validateTemplateInstanceExists(List<Long> ids) {
|
||||
List<TemplateInstanceDO> list = templateInstanceMapper.selectByIds(ids);
|
||||
@@ -131,6 +134,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
return templateInstanceMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
|
||||
private String incrementVersion(String currentVersion) {
|
||||
// 处理空值或空字符串
|
||||
if (currentVersion == null || currentVersion.trim().isEmpty()) {
|
||||
@@ -189,4 +193,17 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
||||
return prefix + newNumberPart + suffix;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> getDeptByInstanId(Long instanId) {
|
||||
Long loginUserCompanyId = SecurityFrameworkUtils.getLoginUserCompanyId();
|
||||
return departmentInstanceRelativityMapper.selectList(new LambdaQueryWrapper<DepartmentInstanceRelativityDO>()
|
||||
.eq(DepartmentInstanceRelativityDO::getTemplateInstanceId, instanId)
|
||||
.eq(DepartmentInstanceRelativityDO::getCompanyId, loginUserCompanyId)
|
||||
)
|
||||
.stream()
|
||||
.map(DepartmentInstanceRelativityDO::getCompanyDepartmentId)
|
||||
.toList();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user