feat:报告编制

This commit is contained in:
FCL
2025-10-22 17:53:39 +08:00
parent 71d5eb061d
commit 6286b0da30
14 changed files with 120 additions and 24 deletions

View File

@@ -86,4 +86,6 @@ public class ReportDocumentMainPageReqVO extends PageParam {
@Schema(description = "报表类型ID")
private Long configReportTypeId;
@Schema(description = "表单设计器模板id")
private Long dataTemplateId;
}

View File

@@ -110,4 +110,7 @@ public class ReportDocumentMainRespVO {
@ExcelProperty("报表类型ID")
private Long configReportTypeId;
@Schema(description = "表单设计器模板id")
@ExcelProperty("表单设计器模板id")
private Long dataTemplateId;
}

View File

@@ -86,5 +86,7 @@ public class ReportDocumentMainSaveReqVO {
@Schema(description = "报告明细数据ids")
private String reportDocumentDataIds;
@Schema(description = "表单设计器模板id")
private Long dataTemplateId;
}

View File

@@ -63,4 +63,10 @@ public class ReportDocumentTypePageReqVO extends PageParam {
@Schema(description = "主id")
private Long mainId;
@Schema(description = "前端组件")
private String pageComponent;
@Schema(description = "前端组件(移动端)")
private String pageComponentMobile;
}

View File

@@ -81,4 +81,12 @@ public class ReportDocumentTypeRespVO {
@Schema(description = "主id")
@ExcelProperty("主id")
private Long mainId;
@Schema(description = "前端组件")
@ExcelProperty("前端组件")
private String pageComponent;
@Schema(description = "前端组件(移动端)")
@ExcelProperty("前端组件(移动端)")
private String pageComponentMobile;
}

View File

@@ -66,4 +66,10 @@ public class ReportDocumentTypeSaveReqVO {
@Schema(description = "主id")
private Long mainId;
@Schema(description = "前端组件")
private String pageComponent;
@Schema(description = "前端组件(移动端)")
private String pageComponentMobile;
}

View File

@@ -138,4 +138,8 @@ public class ReportDocumentMainDO extends BusinessBaseDO {
*/
@TableField("CFG_RPT_TP_ID")
private Long configReportTypeId;
//表单设计器模板id
@TableField("DAT_TMPL_ID")
private Long dataTemplateId;
}

View File

@@ -105,4 +105,12 @@ public class ReportDocumentTypeDO extends BusinessBaseDO {
@TableField("MAIN_ID")
private Long mainId;
//前端组件
@TableField("PG_CPNT")
private String pageComponent;
//前端组件-移动
@TableField("PG_CPNT_MOB")
private String pageComponentMobile;
}

View File

@@ -20,6 +20,7 @@ public interface ReportDocumentTypeMapper extends BaseMapperX<ReportDocumentType
wrapper.eqIfPresent(ReportDocumentTypeDO::getConfigReportTypeId, reqVO.getConfigReportTypeId());
wrapper.likeIfPresent(ReportDocumentTypeDO::getName, reqVO.getName());
wrapper.eqIfPresent(ReportDocumentTypeDO::getMainId, reqVO.getMainId());
wrapper.eqIfPresent(ReportDocumentTypeDO::getFlowKey, reqVO.getFlowKey());
wrapper.eqIfPresent(ReportDocumentTypeDO::getReportKey, reqVO.getReportKey());
wrapper.eqIfPresent(ReportDocumentTypeDO::getCustomsDeclarationRule, reqVO.getCustomsDeclarationRule());
@@ -31,6 +32,8 @@ public interface ReportDocumentTypeMapper extends BaseMapperX<ReportDocumentType
wrapper.betweenIfPresent(ReportDocumentTypeDO::getCreateTime, reqVO.getCreateTime());
wrapper.eqIfPresent(ReportDocumentTypeDO::getRemark, reqVO.getRemark());
wrapper.eqIfPresent(ReportDocumentTypeDO::getVersion, reqVO.getVersion());
wrapper.likeIfPresent(ReportDocumentTypeDO::getPageComponent, reqVO.getPageComponent());
wrapper.likeIfPresent(ReportDocumentTypeDO::getPageComponentMobile, reqVO.getPageComponentMobile());
wrapper.orderByDesc(ReportDocumentTypeDO::getId);
if(reqVO.getMainId() != null){
wrapper.orderByDesc(ReportDocumentTypeDO::getVersion);

View File

@@ -234,7 +234,7 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
String mainId = variables.getString("mainId");
ReportDocumentMainDO entity = getReportDocumentMain(Long.valueOf(mainId));
if("3".equals(PROCESS_STATUS)){
//驳回
//终止
entity.setFlowStatus(QmsCommonConstant.REJECT);
}
if("2".equals(PROCESS_STATUS)){

View File

@@ -1,7 +1,9 @@
package com.zt.plat.module.qms.common.data.controller.admin;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zt.plat.module.qms.common.data.controller.vo.*;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO;
import com.zt.plat.module.qms.common.data.dal.mapper.DataTemplateMapper;
import com.zt.plat.module.qms.core.constant.DataTypeConstant;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -29,6 +31,7 @@ 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 static com.zt.plat.module.qms.enums.ErrorCodeConstants.DATA_TEMPLATE_NOT_EXISTS;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO;
import com.zt.plat.module.qms.common.data.service.DataTemplateService;
@@ -40,17 +43,17 @@ import com.zt.plat.module.qms.common.data.service.DataTemplateService;
public class DataTemplateController implements BusinessControllerMarker {
@Resource
private DataTemplateService dataTemplateService;
@Resource private DataTemplateService dataTemplateService;
@Resource private DataTemplateMapper dataTemplateMapper;
@PostMapping("/create-temp-data")
@Operation(summary = "创建临时数据")
public CommonResult<DataTemplateRespVO> createTempData(@Valid @RequestBody DataTemplateSaveReqVO vo) {
vo.setCancelFlag("-1");
vo.setNodeType(DataTypeConstant.DATA_TYPE_DATA);
vo.setVersion(1);
return success(dataTemplateService.createDataTemplate(vo));
}
// @PostMapping("/create-temp-data")
// @Operation(summary = "创建临时数据")
// public CommonResult<DataTemplateRespVO> createTempData(@Valid @RequestBody DataTemplateSaveReqVO vo) {
// vo.setCancelFlag("-1");
// vo.setNodeType(DataTypeConstant.DATA_TYPE_DATA);
// vo.setVersion(1);
// return success(dataTemplateService.createDataTemplate(vo));
// }
@PostMapping("/saveData")
@Operation(summary = "保存数据")
@@ -109,6 +112,23 @@ public class DataTemplateController implements BusinessControllerMarker {
return success(BeanUtils.toBean(dataTemplate, DataTemplateRespVO.class));
}
@GetMapping("/getByKey")
@Operation(summary = "获得表单设计器模板")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('qms:data-template:query')")
public CommonResult<DataTemplateRespVO> getByKey(@RequestParam("dataKey") String dataKey) {
LambdaQueryWrapper<DataTemplateDO> query = new LambdaQueryWrapper<>();
query.eq(DataTemplateDO::getDataKey, dataKey);
query.eq(DataTemplateDO::getCancelFlag, "0");
query.eq(DataTemplateDO::getCurrentFlag, "1");
query.eq(DataTemplateDO::getNodeType, DataTypeConstant.DATA_TYPE_DATA);
query.orderByDesc(DataTemplateDO::getUpdateTime);
List<DataTemplateDO> list = dataTemplateMapper.selectList(query);
if(list.size()>0)
return success(BeanUtils.toBean(list.get(0), DataTemplateRespVO.class));
return CommonResult.error(DATA_TEMPLATE_NOT_EXISTS);
}
@GetMapping("/page")
@Operation(summary = "获得表单设计器模板分页")
@PreAuthorize("@ss.hasPermission('qms:data-template:query')")

View File

@@ -12,39 +12,30 @@ public class DataTemplateSaveReqVO {
private Long id;
@Schema(description = "上级id", requiredMode = Schema.RequiredMode.REQUIRED, example = "14825")
@NotNull(message = "上级id不能为空")
private Long parentId;
@Schema(description = "主数据id用于版本识别", requiredMode = Schema.RequiredMode.REQUIRED, example = "12080")
@NotNull(message = "主数据id用于版本识别不能为空")
private Long mainId;
@Schema(description = "id路径", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "id路径不能为空")
private String idPath;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@NotEmpty(message = "名称不能为空")
private String name;
@Schema(description = "节点类型,字典qms_tree_node_typecategory-分类data-表单", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@NotEmpty(message = "节点类型,字典qms_tree_node_typecategory-分类data-表单不能为空")
private String nodeType;
@Schema(description = "数据键", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "数据键不能为空")
private String dataKey;
@Schema(description = "版本", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "版本不能为空")
private Integer version;
@Schema(description = "是否最新版本,默认显示最新版本", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "是否最新版本,默认显示最新版本不能为空")
private String currentFlag;
@Schema(description = "禁用状态,0-启用1-禁用", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "禁用状态,0-启用1-禁用不能为空")
private String cancelFlag;
@Schema(description = "排序号")

View File

@@ -7,6 +7,8 @@ import com.zt.plat.module.qms.common.data.controller.vo.DataTemplatePageReqVO;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataTemplateDO;
import org.apache.ibatis.annotations.Mapper;
import java.util.Arrays;
/**
* 表单设计器模板 Mapper
*
@@ -18,6 +20,7 @@ public interface DataTemplateMapper extends BaseMapperX<DataTemplateDO> {
default PageResult<DataTemplateDO> selectPage(DataTemplatePageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DataTemplateDO>()
.eqIfPresent(DataTemplateDO::getParentId, reqVO.getParentId())
.eqIfPresent(DataTemplateDO::getMainId, reqVO.getMainId())
.eqIfPresent(DataTemplateDO::getIdPath, reqVO.getIdPath())
.likeIfPresent(DataTemplateDO::getName, reqVO.getName())
.eqIfPresent(DataTemplateDO::getNodeType, reqVO.getNodeType())
@@ -32,7 +35,37 @@ public interface DataTemplateMapper extends BaseMapperX<DataTemplateDO> {
.eqIfPresent(DataTemplateDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.eqIfPresent(DataTemplateDO::getRemark, reqVO.getRemark())
.betweenIfPresent(DataTemplateDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DataTemplateDO::getId));
.orderByDesc(DataTemplateDO::getId)
.select(Arrays.asList(
DataTemplateDO::getId,
DataTemplateDO::getParentId,
DataTemplateDO::getMainId,
DataTemplateDO::getIdPath,
DataTemplateDO::getName,
DataTemplateDO::getNodeType,
DataTemplateDO::getDataKey,
DataTemplateDO::getVersion,
DataTemplateDO::getCurrentFlag,
DataTemplateDO::getCancelFlag,
DataTemplateDO::getSortNo,
DataTemplateDO::getCustomConfig,
// DataTemplateDO::getFormContent,
// DataTemplateDO::getMobileContent,
DataTemplateDO::getSystemDepartmentCode,
DataTemplateDO::getRemark,
DataTemplateDO::getCreator,
DataTemplateDO::getCreateTime,
DataTemplateDO::getUpdater,
DataTemplateDO::getUpdateTime,
DataTemplateDO::getCompanyId,
DataTemplateDO::getCompanyName,
DataTemplateDO::getDeptId,
DataTemplateDO::getDeptName,
DataTemplateDO::getPostId,
DataTemplateDO::getCreatorName,
DataTemplateDO::getUpdaterName
))
);
}
}

View File

@@ -54,12 +54,22 @@ public class DataTemplateServiceImpl implements DataTemplateService {
if("1".equals(newVersionFlag))
return saveDataWithNewVersion(reqV);
Long id = reqV.getId();
DataTemplateDO backData = this.getDataTemplate(id);
if(backData.getCancelFlag() == null || backData.getCancelFlag().equals("-1")){
if(id == null){
reqV.setCancelFlag("0");
reqV.setCurrentFlag("1");
reqV.setMainId( id);
reqV.setVersion(1);
DataTemplateDO dataTemplate = BeanUtils.toBean(reqV, DataTemplateDO.class);
dataTemplateMapper.insert(dataTemplate);
id = dataTemplate.getId();
reqV.setMainId(id);
reqV.setId( id);
}
// DataTemplateDO backData = this.getDataTemplate(id);
// if(backData.getCancelFlag() == null || backData.getCancelFlag().equals("-1")){
// reqV.setCancelFlag("0");
// reqV.setCurrentFlag("1");
// reqV.setMainId( id);
// }
this.updateDataTemplate(reqV);
return CommonResult.success("保存成功");