diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java index 0afb4867..bfa895f4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/RecordApplyController.java @@ -12,7 +12,10 @@ import com.zt.plat.framework.common.pojo.vo.BatchDeleteReqVO; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore; import com.zt.plat.framework.excel.core.util.ExcelUtils; -import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyDetailJoinPageVO; + +import com.zt.plat.framework.security.core.LoginUser; +import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyJoinPageVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO; @@ -114,13 +117,6 @@ public class RecordApplyController extends AbstractFileUploadController implemen // 先转换为VO,避免JSONObject中包含ArrayList导致的转换错误 RecordApplyRespVO respVO = BeanUtils.toBean(recordApply, RecordApplyRespVO.class); - -// // 单独处理formDataObject字段 -// String formData = recordApply.getFormData(); -// if (!ObjectUtils.isEmpty(formData)) { -// JSONObject jsonObject = JSONObject.parseObject(formData, JSONObject.class); -// respVO.setFormDataObject(jsonObject); -// } return success(respVO); } @@ -130,14 +126,6 @@ public class RecordApplyController extends AbstractFileUploadController implemen public CommonResult> getRecordApplyPage(@Valid RecordApplyPageReqVO pageReqVO) { PageResult pageResult = recordApplyService.getRecordApplyPage(pageReqVO); return success(BeanUtils.toBean(pageResult, RecordApplyRespVO.class)); -// List list = pageResult.getList(); -// -// // 先转换为VO列表 -// List respVOList = BeanUtils.toBean(list, RecordApplyRespVO.class); -// PageResult result = new PageResult<>(); -// result.setList(respVOList); -// result.setTotal(pageResult.getTotal()); -// return success(result); } @@ -152,9 +140,32 @@ public class RecordApplyController extends AbstractFileUploadController implemen @GetMapping("/recordDistributePage") @Operation(summary = "文件分发分页") //@PreAuthorize("@ss.hasPermission('qms:record-record:query')") - public CommonResult> recordDistributePage(@Valid RecordApplyPageReqVO pageReqVO) { - PageResult pageResult = recordApplyService.recordDistributePage(pageReqVO); - return success(BeanUtils.toBean(pageResult, RecordApplyPageReqVO.class)); + public CommonResult> recordDistributePage(@Valid RecordApplyPageReqVO pageReqVO) { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long userId = loginUser.getId(); + pageReqVO.setApplyUserId(userId); + PageResult recordApplyJoinPageVOPageResult = recordApplyService.recordDistributePage(pageReqVO); + return success(recordApplyJoinPageVOPageResult); + } + + @GetMapping("/recordUpdatePage") + @Operation(summary = "文件更改申请分页") + //@PreAuthorize("@ss.hasPermission('qms:record-record:query')") + public CommonResult> recordUpdatePage(@Valid RecordApplyPageReqVO pageReqVO) { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long userId = loginUser.getId(); + pageReqVO.setApplyUserId(userId); + return success(recordApplyService.recordUpdatePage(pageReqVO)); + } + + @GetMapping("/recordInvalidPage") + @Operation(summary = "文件更改申请分页") + //@PreAuthorize("@ss.hasPermission('qms:record-record:query')") + public CommonResult> recordInvalidPage(@Valid RecordApplyPageReqVO pageReqVO) { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long userId = loginUser.getId(); + pageReqVO.setApplyUserId(userId); + return success(recordApplyService.recordInvalidPage(pageReqVO)); } @GetMapping("/export-excel") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyDetailJoinPageVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyJoinPageVO.java similarity index 91% rename from zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyDetailJoinPageVO.java rename to zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyJoinPageVO.java index 0382e756..1d23f8af 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyDetailJoinPageVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyJoinPageVO.java @@ -12,7 +12,7 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @Schema(description = "管理后台 - 文件评审分页 Request VO") @Data -public class RecordApplyDetailJoinPageVO extends PageParam { +public class RecordApplyJoinPageVO { // ============recordApply=================> @@ -23,9 +23,11 @@ public class RecordApplyDetailJoinPageVO extends PageParam { private String title; @Schema(description = "业务类型", example = "1") - @Dict(dicCode = "record_apply_review") private String businessType; + @Dict(dicCode = "flow_status") + private String businessStatus; + @Schema(description = "申请人id", example = "15000") private Long applyUserId; @@ -45,7 +47,7 @@ public class RecordApplyDetailJoinPageVO extends PageParam { private String reviewUserName; @Schema(description = "参加评审人员id") - private String reviewUserIds; + private String targetUserIds; @Schema(description = "表单数据") private String formData; @@ -58,18 +60,18 @@ public class RecordApplyDetailJoinPageVO extends PageParam { @Schema(description = "开始日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] applyStartDate; + private LocalDateTime applyStartDate; @Schema(description = "截止日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] applyEndDate; + private LocalDateTime applyEndDate; @Schema(description = "备注") private String remark; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] createTime; + private LocalDateTime createTime; // ============recordApplyDetail=================> @Schema(description = "applyDetailId", example = "28812") @@ -109,7 +111,7 @@ public class RecordApplyDetailJoinPageVO extends PageParam { @Schema(description = "编制日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] makeDate; + private LocalDateTime makeDate; // @Schema(description = "是否长期有效") // private Integer permanently; @@ -122,11 +124,11 @@ public class RecordApplyDetailJoinPageVO extends PageParam { @Schema(description = "过期日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] expirationDate; + private LocalDateTime expirationDate; @Schema(description = "生效日期") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private LocalDateTime[] effectiveDate; + private LocalDateTime effectiveDate; @Schema(description = "过期标识,0-有效,1-过期", example = "1") private Integer expirationStatus; @@ -138,5 +140,4 @@ public class RecordApplyDetailJoinPageVO extends PageParam { private Integer collectionFlag; - } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyPageReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyPageReqVO.java index 4c957cec..557a5484 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyPageReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyPageReqVO.java @@ -48,10 +48,10 @@ public class RecordApplyPageReqVO extends PageParam { private String assignTarget; @Schema(description = "参加评审部门") - private String reviewDepartmentIds; + private String targetDepartmentIds; @Schema(description = "参加评审人员id") - private String reviewUserIds; + private String targetUserIds; @Schema(description = "表单数据") private String formData; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java index 54410317..76978218 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyRespVO.java @@ -62,11 +62,11 @@ public class RecordApplyRespVO { @Schema(description = "参加评审部门") @ExcelProperty("参加评审部门") - private String reviewDepartmentIds; + private String targetDepartmentIds; @Schema(description = "参加评审人员id") @ExcelProperty("参加评审人员id") - private String reviewUserIds; + private String targetUserIds; @Schema(description = "表单数据") @ExcelProperty("表单数据") @@ -110,7 +110,7 @@ public class RecordApplyRespVO { @Schema(description = "业务状态") @ExcelProperty("业务状态") - @Dict(dicCode = "record_apply_review") + @Dict(dicCode = "flow_status") private String businessStatus; @Schema(description = "创建时间") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java index c4495091..e40930e9 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplySaveReqVO.java @@ -53,13 +53,13 @@ public class RecordApplySaveReqVO { private String reviewRange; @Schema(description = "参加评审部门") - private String reviewDepartmentIds; + private String targetDepartmentIds; @Schema(description = "参加评审人员", example = "赵六") private String reviewUserName; @Schema(description = "参加评审人员id") - private String reviewUserIds; + private String targetUserIds; @Schema(description = "表单数据") private String formData; @@ -102,5 +102,8 @@ public class RecordApplySaveReqVO { private List paramsList; + // 分发参数 + private List targetList; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyUserAndDeptReqVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyUserAndDeptReqVO.java new file mode 100644 index 00000000..5164d7f5 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapply/vo/RecordApplyUserAndDeptReqVO.java @@ -0,0 +1,14 @@ +package com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo; + +import lombok.Data; + +@Data +public class RecordApplyUserAndDeptReqVO { + private Long userId; + + private String userName; + + private Long deptId; + + private String deptName; +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java index 8174c2d7..18936b88 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordapplydetail/vo/RecordApplyDetailRespVO.java @@ -1,11 +1,16 @@ package com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo; +import com.baomidou.mybatisplus.annotation.TableField; import com.zt.plat.module.qms.core.aspect.annotation.Dict; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + import java.util.*; + import org.springframework.format.annotation.DateTimeFormat; + import java.time.LocalDateTime; + import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - 文件记录通用申请明细 Response VO") @@ -70,4 +75,11 @@ public class RecordApplyDetailRespVO { @ExcelProperty("创建时间") private LocalDateTime createTime; + // =================临时数据====================== + @Schema(description = "文件名称") + private String recordName; + + @Schema(description = "文件编号") + private String recordCode; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java index 289f85ca..9277c6e4 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordcategory/RecordCategoryController.java @@ -112,6 +112,15 @@ public class RecordCategoryController extends AbstractFileUploadController imple return success(BeanUtils.toBean(recordCategory, RecordCategoryRespVO.class)); } + @GetMapping("/isAdminByUserId") + @Operation(summary = "通过分类Id判断当前用户是否有管理员权限") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + //@PreAuthorize("@ss.hasPermission('qms:record-category:query')") + public CommonResult isAdminByUserId(@RequestParam("id") Long id) { + boolean b = recordCategoryService.isAdminByUserId(id); + return success(b); + } + // 文件评审,获取满足当前账户权限的记录列表 @GetMapping("/getReviewRecordList") diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java index c5888b62..c4e07e0a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/controller/admin/recordrecord/vo/RecordRecordRespVO.java @@ -167,5 +167,15 @@ public class RecordRecordRespVO { @Schema(description = "所属分类的自定义配置") private Object customConfig; +// ====== 文件提交申请关联字段 ====== + + @Schema(description = "文件提交申请ID") + private Long applyId; + + @Schema(description = "文件提交流程实例ID") + private String flowInstanceId; + + @Schema(description = "文件提交业务状态") + private String applyBusinessStatus; } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java index d254f362..5981b359 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapply/RecordApplyDO.java @@ -91,15 +91,17 @@ public class RecordApplyDO extends BusinessBaseDO { @TableField("ASN_TGT") private String assignTarget; /** - * 参加评审部门 + * 目标部门 */ - @TableField("RVW_DEPT_IDS") - private String reviewDepartmentIds; +// @TableField("RVW_DEPT_IDS") + @TableField("TGT_DEPT_IDS") + private String targetDepartmentIds; /** - * 参加评审人员id + * 目标id */ - @TableField("RVW_USER_IDS") - private String reviewUserIds; +// @TableField("RVW_USER_IDS") + @TableField("TGT_USER_IDS") + private String targetUserIds; /** * 表单数据 */ diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java index 39df48e4..7dbb3801 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordapplydetail/RecordApplyDetailDO.java @@ -3,18 +3,21 @@ package com.zt.plat.module.qms.resource.record.dal.dataobject.recordapplydetail; import com.zt.plat.module.qms.core.aspect.annotation.Dict; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; + import java.util.*; - import java.time.LocalDateTime; - import java.time.LocalDateTime; - import java.time.LocalDateTime; - import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; + import com.baomidou.mybatisplus.annotation.*; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; + /** -* 文件记录通用申请明细 DO -* -* @author 后台管理 -*/ + * 文件记录通用申请明细 DO + * + * @author 后台管理 + */ @TableName("t_rcd_apl_dtl") @KeySequence("t_rcd_apl_dtl_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @@ -24,25 +27,24 @@ import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; @NoArgsConstructor @AllArgsConstructor /** -* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO -*/ + * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO + */ public class RecordApplyDetailDO extends BusinessBaseDO { - /** - * 主键 - */ + * 主键 + */ @TableId(type = IdType.ASSIGN_ID) private Long id; /** - * 父id - */ + * 父id + */ @TableField("APL_ID") private Long applyId; /** - * 文件id - */ + * 文件id + */ @TableField("DOC_ID") private Long documentId; /** @@ -51,10 +53,13 @@ public class RecordApplyDetailDO extends BusinessBaseDO { @TableField("TGT_TP") private String targetType; /** - * 授权ID(下发流程使用) - */ + * 授权ID(下发流程使用) + */ @TableField("TGT_ID") private Long targetId; + + @TableField("TGT_NAME") + private String targetName; /** * 是否需要更改 */ @@ -66,34 +71,41 @@ public class RecordApplyDetailDO extends BusinessBaseDO { @TableField("MDF_CAUS") private String modifyCause; /** - * 是否长期有效 - */ + * 是否长期有效 + */ @TableField("PMNT") private String permanently; /** - * 开始日期 - */ + * 开始日期 + */ @TableField("APL_STRT_DT") private LocalDateTime applyStartDate; /** - * 截止日期 - */ + * 截止日期 + */ @TableField("APL_END_DT") private LocalDateTime applyEndDate; /** - * 排序号 - */ + * 排序号 + */ @TableField("SRT_NO") private String sortNo; /** - * 所属部门 - */ + * 所属部门 + */ @TableField("SYS_DEPT_CD") private String systemDepartmentCode; /** - * 备注 - */ + * 备注 + */ @TableField("RMK") private String remark; + // ============临时字段==============> + @TableField(exist = false) + private String recordName; + + @TableField(exist = false) + private String recordCode; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java index dacd66df..0d44530a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/dataobject/recordrecord/RecordRecordDO.java @@ -196,4 +196,24 @@ public class RecordRecordDO extends BusinessBaseDO { @TableField(exist = false) private Object customConfig; +// ====== 文件提交申请关联字段 ====== + + /** + * 文件提交申请ID(RecordApply.id) + */ + @TableField(exist = false) + private Long applyId; + + /** + * 文件提交流程实例ID(RecordApply.flowInstanceId) + */ + @TableField(exist = false) + private String flowInstanceId; + + /** + * 文件提交业务状态(RecordApply.businessStatus) + */ + @TableField(exist = false) + private String applyBusinessStatus; + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java index fac81b2c..bd4a3f7d 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyDetailMapper.java @@ -48,4 +48,9 @@ public interface RecordApplyDetailMapper extends BaseMapperX selectJoinByDocumentIdAndBusinessType(Long documentId, String businessType); + @Select("SELECT trad.ID as id,trad.APL_ID as applyId, trad.DOC_ID as documentId, trad.TGT_TP as targetType," + + "trad.TGT_ID as targetId, trad.IS_MDF as isModify, trad.MDF_CAUS as modifyCause," + + "trad.APL_STRT_DT as applyStartDate, trad.APL_END_DT as applyEndDate,trr.NAME AS recordName," + + "trr.CD AS recordCode FROM T_RCD_APL_DTL trad LEFT JOIN T_RCD_RCD trr ON trad.DOC_ID = trr.ID WHERE trad.APL_ID = #{applyId}") + List selectDetailAndRecordList(Long applyId); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.java index 79388168..5b3a7de6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.java @@ -1,11 +1,19 @@ package com.zt.plat.module.qms.resource.record.dal.mapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyJoinPageVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyPageReqVO; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO; +import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapply.RecordApplyDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * 文件记录通用申请 Mapper @@ -24,8 +32,8 @@ public interface RecordApplyMapper extends BaseMapperX { .eqIfPresent(RecordApplyDO::getApplyDepartmentName, reqVO.getApplyDepartmentName()) .eqIfPresent(RecordApplyDO::getApplyDepartmentId, reqVO.getApplyDepartmentId()) .eqIfPresent(RecordApplyDO::getReviewRange, reqVO.getReviewRange()) - .likeIfPresent(RecordApplyDO::getReviewDepartmentIds, reqVO.getReviewDepartmentIds()) - .eqIfPresent(RecordApplyDO::getReviewUserIds, reqVO.getReviewUserIds()) + .likeIfPresent(RecordApplyDO::getTargetDepartmentIds, reqVO.getTargetDepartmentIds()) + .eqIfPresent(RecordApplyDO::getTargetUserIds, reqVO.getTargetUserIds()) .eqIfPresent(RecordApplyDO::getApplyContent, reqVO.getApplyContent()) .eqIfPresent(RecordApplyDO::getChangeBefore, reqVO.getChangeBefore()) .eqIfPresent(RecordApplyDO::getChangeAfter, reqVO.getChangeAfter()) @@ -38,4 +46,14 @@ public interface RecordApplyMapper extends BaseMapperX { .orderByDesc(RecordApplyDO::getId)); } + List selectApplyByStatus(String businessType, java.util.List documentIds, java.util.List businessStatuses); + + // 分页查询--文件分发 + IPage recordDistributePage(Page page,RecordApplyPageReqVO respVO); + +// 分页查询--文件更改 + IPage recordUpdatePage(Page page, RecordApplyPageReqVO respVO); + + // 分页查询--文件作废 + IPage recordInvalidPage(Page page, RecordApplyPageReqVO respVO); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.java index ba71363d..017cf51f 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.java @@ -6,6 +6,9 @@ import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.module.qms.resource.record.controller.admin.recordcategory.vo.RecordCategoryPageReqVO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordcategory.RecordCategoryDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Set; /** * 文件记录分类 Mapper @@ -32,4 +35,16 @@ public interface RecordCategoryMapper extends BaseMapperX { .orderByDesc(RecordCategoryDO::getId)); } + /** + * 检查用户是否有指定分类的管理员权限 + * 查询条件:permission='管理员' AND + * 1. 用户是管理员 ( targetId=userId AND targetType='用户') + * 2. 或用户所在部门有权限 (targetType='部门' AND targetId in userDepts) + * 3. 或用户的角色有权限 (targetType='角色' AND targetId in userRoles) + */ + boolean checkUserAdminPermission(@Param("categoryId") Long categoryId, + @Param("userId") Long userId, + @Param("userDepts") List userDepts, + @Param("userRoles") Set userRoles); + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java index 3f036c69..a1ed9ba0 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.java @@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyDetailJoinPageVO; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyJoinPageVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO; @@ -67,7 +67,7 @@ public interface RecordRecordMapper extends BaseMapperX { "WHERE tra.BSN_TP = #{businessType} " + "ORDER BY trr.ID DESC " + "LIMIT #{offset}, #{pageSize}") - List selectRecordReviewPage(String businessType, int offset, int pageSize); + List selectRecordReviewPage(String businessType, int offset, int pageSize); /** * 获取文件评审总数 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java index ca02e5c3..05e31eff 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyService.java @@ -1,19 +1,18 @@ package com.zt.plat.module.qms.resource.record.service.recordapply; -import java.util.*; - import com.alibaba.fastjson.JSONObject; import com.zt.plat.framework.common.pojo.CommonResult; +import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.module.qms.api.task.dto.QmsBpmDTO; -import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyDetailJoinPageVO; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyJoinPageVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO; -import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO; -import jakarta.validation.*; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapply.RecordApplyDO; -import com.zt.plat.framework.common.pojo.PageResult; +import jakarta.validation.Valid; + +import java.util.List; /** * 文件记录通用申请 Service 接口 @@ -122,7 +121,16 @@ public interface RecordApplyService { * @return */ - PageResult recordReviewPage(@Valid RecordRecordPageReqVO pageReqVO); + PageResult recordReviewPage(@Valid RecordRecordPageReqVO pageReqVO); - PageResult recordDistributePage(@Valid RecordApplyPageReqVO pageReqVO); + // 分发 + PageResult recordDistributePage(@Valid RecordApplyPageReqVO pageReqVO); + + // 更改申请 + PageResult recordUpdatePage(@Valid RecordApplyPageReqVO pageReqVO); + + // 更改作废 + PageResult recordInvalidPage(@Valid RecordApplyPageReqVO pageReqVO); + +// List selectApplyByStatus(String businessType, java.util.List documentIds, java.util.List businessStatuses); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java index ecc3ac2a..31fbdec8 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapply/RecordApplyServiceImpl.java @@ -1,8 +1,10 @@ package com.zt.plat.module.qms.resource.record.service.recordapply; import cn.hutool.core.collection.CollUtil; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; @@ -20,20 +22,21 @@ import com.zt.plat.module.qms.enums.QmsBpmConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.resource.record.common.RecordCommonUtils; import com.zt.plat.module.qms.resource.record.constant.RecordConstants; -import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyDetailJoinPageVO; +import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyJoinPageVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplyRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapply.vo.RecordApplySaveReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailPageReqVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordapplydetail.vo.RecordApplyDetailRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordPageReqVO; -import com.zt.plat.module.qms.resource.record.dal.mapper.RecordApplyMapper; -import com.zt.plat.module.qms.resource.record.dal.mapper.RecordRecordMapper; +import com.zt.plat.module.qms.resource.record.controller.admin.recordrecord.vo.RecordRecordRespVO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapply.RecordApplyDO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordapplydetail.RecordApplyDetailDO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordcategory.RecordCategoryDO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordpermission.RecordPermissionDO; import com.zt.plat.module.qms.resource.record.dal.dataobject.recordrecord.RecordRecordDO; +import com.zt.plat.module.qms.resource.record.dal.mapper.RecordApplyMapper; +import com.zt.plat.module.qms.resource.record.dal.mapper.RecordRecordMapper; import com.zt.plat.module.qms.resource.record.service.recordapplydetail.RecordApplyDetailService; import com.zt.plat.module.qms.resource.record.service.recordcategory.RecordCategoryService; import com.zt.plat.module.qms.resource.record.service.recordpermission.RecordPermissionService; @@ -50,6 +53,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.IntStream; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception0; @@ -142,7 +146,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn public RecordApplyDO getRecordApply(Long id) { RecordApplyDO recordApplyDO = recordApplyMapper.selectById(id); if (ObjectUtils.isEmpty(recordApplyDO)) return recordApplyDO; - List recordApplyDetailDOS = recordApplyDetailService.selectAllList(id); + List recordApplyDetailDOS = recordApplyDetailService.selectDetailAndRecordList(id); if (!recordApplyDetailDOS.isEmpty()) recordApplyDO.setDataList(recordApplyDetailDOS); return recordApplyDO; } @@ -159,10 +163,35 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String businessType = param.getBusinessType(); if (ObjectUtils.isEmpty(businessType)) throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(), "请选择业务类型"); + // TODO +// Long recordId = param.getRecordId(); +// List documentIds = new ArrayList<>(); +// if (!ObjectUtils.isEmpty(recordId)) documentIds.add(recordId); +// List paramsList = param.getParamsList(); +// if (!ObjectUtils.isEmpty(paramsList)) { +// paramsList.forEach(item -> { +// Long documentId = item.getDocumentId(); +// if (!ObjectUtils.isEmpty(documentId)) { +// documentIds.add(documentId); +// }; +// }); +// } +// List statuses = Arrays.asList(QmsCommonConstant.NOT_START, QmsCommonConstant.RUNNING, QmsCommonConstant.COMPLETED); +// List recordApplyDOS = selectApplyByStatus(businessType, documentIds, statuses); +// if (!ObjectUtils.isEmpty(recordApplyDOS)) return CommonResult.error(RECORD_APPLY_NOT_EXISTS.getCode(),"存在提交的文件在审批中或审批完成"); + RecordApplyDO recordApply = createApply(param); + + addDetail(param,recordApply); + + return CommonResult.success(BeanUtils.toBean(recordApply, RecordApplyRespVO.class)); + } + + // 创建申请数据 + public RecordApplyDO createApply(RecordApplySaveReqVO param){ RecordApplyDO recordApply = BeanUtils.toBean(param, RecordApplyDO.class); recordApply.setBusinessStatus(QmsCommonConstant.NOT_START); // 未发起 - + String businessType = param.getBusinessType(); //取当前用户 LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); String nickName = SecurityFrameworkUtils.getLoginUserNickname(); @@ -174,11 +203,12 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn //生成标题 String title = nickName + "的"+ businessType +"_" + new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss").format(new Date()); recordApply.setTitle(title); - - recordApplyMapper.insert(recordApply); - addDetail(param,recordApply); - - return CommonResult.success(BeanUtils.toBean(recordApply, RecordApplyRespVO.class)); + try { + recordApplyMapper.insert(recordApply); + } catch (Exception e) { + throw new RuntimeException(e); + } + return recordApply; } //增加明细 @@ -199,33 +229,41 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn detailSaveReqVOList.add(recordApplyDetailDO); } } else if (RecordConstants.BusinessType.DISTRIBUTION.equals(businessType)) { // 分发 - Long recordId = param.getRecordId(); - Long[] userIds = param.getUserIds(); - Long[] deptIds = param.getDeptIds(); + Long recordId = param.getParamsList().get(0).getId(); + String targetDepartmentIds = param.getTargetDepartmentIds(); +// if (ObjectUtils.isEmpty(targetDepartmentIds)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"分发部门不存在"); + String[] deptIds = targetDepartmentIds.split(","); +// Long[] userIds = param.getUserIds(); +// Long[] deptIds = param.getDeptIds(); + String targetUserIds = param.getTargetUserIds(); +// if (ObjectUtils.isEmpty(targetUserIds)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"分发人员不存在"); + String[] userIds = targetDepartmentIds.split(","); if (!ObjectUtils.isEmpty(userIds)) { // 用户 - for (Long userId : userIds) { + for (String userId : userIds) { + if (ObjectUtils.isEmpty(userId)) break; // 过滤空 RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(recordId); - recordApplyDetailDO.setTargetId(userId);//用户Id + recordApplyDetailDO.setTargetId(Long.valueOf(userId));//用户Id recordApplyDetailDO.setTargetType(RecordConstants.TargetType.USER); recordApplyDetailDO.setApplyStartDate(LocalDateTime.now()); // TODO 申请开始时间 detailSaveReqVOList.add(recordApplyDetailDO); } } else { if (ObjectUtils.isEmpty(deptIds)) throw exception(RECORD_RECORD_NOT_EXISTS, "请选择分发对象"); - for (Long deptId : deptIds) { + for (String deptId : deptIds) { + if (ObjectUtils.isEmpty(deptId)) break; // 过滤空 RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setDocumentId(recordId); - recordApplyDetailDO.setTargetId(deptId);//部门Id + recordApplyDetailDO.setTargetId(Long.valueOf(deptId));//部门Id recordApplyDetailDO.setTargetType(RecordConstants.TargetType.DEPT); recordApplyDetailDO.setApplyStartDate(LocalDateTime.now()); // TODO 申请开始时间 detailSaveReqVOList.add(recordApplyDetailDO); } } } - else { // 分发 + else { RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); Long recordId = param.getRecordId(); recordApplyDetailDO.setApplyId(recordApplyDO.getId()); @@ -318,7 +356,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn // 判断文件提交是否需要走流程 public boolean justifyRecordApply(RecordRecordDO recordDO) { Integer recordStatus = recordDO.getRecordStatus(); - if (recordStatus != null) throw exception(RECORD_APPLY_NOT_EXISTS, "文件已提交,无法提交申请"); + if (recordStatus != null && recordStatus == 1) throw exception(RECORD_APPLY_NOT_EXISTS, "文件已提交,无法提交申请"); RecordCategoryDO recordCategory = recordCategoryService.getRecordCategory(recordDO.getCategoryId()); // 获取分类的根分类Id String idPath = recordCategory.getIdPath(); @@ -345,12 +383,12 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn return false; } - public void updateReviewFlag(RecordApplySaveReqVO param) { + public void updateReviewFlag(Long applyId) { // Long[] recordIdS = param.getRecordIdS(); - List paramsList = param.getParamsList(); + List recordApplyDetailDOS = recordApplyDetailService.selectAllList(applyId); // 修改recordRecord的submitFlag 字段状态为0,评审中 List recordRecordDOS = new ArrayList<>(); - for (RecordApplyDetailRespVO it : paramsList) { + for (RecordApplyDetailDO it : recordApplyDetailDOS) { RecordRecordDO recordRecordDO = new RecordRecordDO(); recordRecordDO.setSubmitFlag("0"); // 评审中 recordRecordDO.setId(it.getDocumentId()); @@ -368,32 +406,36 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String nickName = SecurityFrameworkUtils.getLoginUserNickname(); Long recordId = param.getRecordId();// 文件Id Long applyId = param.getId(); // 申请Id + String paramBusinessType = param.getBusinessType(); + RecordApplyDO recordApplyDO; + if (!ObjectUtils.isEmpty(paramBusinessType) && paramBusinessType.equals(RecordConstants.BusinessType.RECORD_SUBMIT)) { + // 创建申请记录 + recordApplyDO = createApply(param); + applyId = recordApplyDO.getId(); + // 创建申请明细 + RecordApplyDetailRespVO saveReqVO = new RecordApplyDetailRespVO(); + saveReqVO.setDocumentId(recordId); + List recordApplyDetailDOS = new ArrayList<>(); + recordApplyDetailDOS.add(saveReqVO); + param.setParamsList(recordApplyDetailDOS); + addDetail(param,recordApplyDO); + + } if (ObjectUtils.isEmpty(applyId)) throw exception0(1_032_350_401,"申请记录不存在"); - RecordApplyDO recordApplyDO = recordApplyMapper.selectById(applyId); + recordApplyDO = recordApplyMapper.selectById(applyId); JSONObject formData = new JSONObject(); BpmProcessInstanceCreateReqDTO reqDTO = new BpmProcessInstanceCreateReqDTO(); - // 通用申请 -// RecordApplyDO recordApplyDO = new RecordApplyDO(); -// recordApplyDO.setApplyUserId(loginUser.getId()); -// recordApplyDO.setApplyUserName(SecurityFrameworkUtils.getLoginUserNickname()); -// recordApplyDO.setApplyDepartmentId(loginUser.getVisitDeptId()); -// recordApplyDO.setApplyDepartmentName(loginUser.getVisitDeptName()); -// recordApplyDO.setBusinessType(businessType); // 业务类型:记录提交 -// recordApplyDO.setTitle(businessType); -// // recordApplyDO.setTitle(entity.getName()); -// recordApplyMapper.insert(recordApplyDO); - reqDTO.setBusinessKey(String.valueOf(applyId)); String businessType = recordApplyDO.getBusinessType(); switch (businessType) { case RecordConstants.BusinessType.RECORD_SUBMIT: // 判断根分类上是否配置自定义配置,允许提交,则需要走流程,否则直接提交 - if (ObjectUtils.isEmpty(recordId)) throw exception(RECORD_RECORD_NOT_EXISTS,"请选择文件记录"); + if (ObjectUtils.isEmpty(recordId)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"请选择文件记录"); RecordRecordDO entity = recordRecordService.getRecordById(recordId); - if (ObjectUtils.isEmpty(entity)) throw exception(RECORD_RECORD_NOT_EXISTS); + if (ObjectUtils.isEmpty(entity)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"文件记录实体不存在"); boolean b = justifyRecordApply(entity); if (b) { // 不需要走流程,直接返回成功 @@ -415,7 +457,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn case RecordConstants.BusinessType.REVIEW: // 评审 reqDTO.setProcessDefinitionKey(RecordConstants.ProcessDefinitionKey.REVIEW_DEFINITION_KEY); // 修改评审状态(null,0,1) - updateReviewFlag(param); + updateReviewFlag(applyId); break; case RecordConstants.BusinessType.RECORD_UPDATE: // 文件修改申请 reqDTO.setProcessDefinitionKey(RecordConstants.ProcessDefinitionKey.RECORD_UPDATE_DEFINITION_KEY); @@ -469,13 +511,16 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String currentActivityId = variables.getString(QmsBpmConstant.BPM_CALLBACK_ACTIVITY_ID); String currentActivityName = variables.getString(QmsBpmConstant.BPM_CALLBACK_ACTIVITY_NAME); String returnFlag = variables.getString(QmsBpmConstant.BPM_REJECT_TO_FIRST_FLAG); + String businessType = variables.getString("businessType"); String mainId = variables.getString("mainId"); // 申请ID RecordApplyDO recordApplyDO = recordApplyMapper.selectById(Long.valueOf(mainId)); // 申请记录 - if (recordApplyDO == null) throw exception(RECORD_APPLY_NOT_EXISTS, "申请记录不存在"); + if (recordApplyDO == null) throw exception0(RECORD_APPLY_NOT_EXISTS.getCode(), "申请记录不存在"); + JSONObject ret = new JSONObject(); + //同一个节点实例只触发一次 String checkKey = currentActivityInsId; if (ObjectUtils.isEmpty(currentActivityInsId)) @@ -491,27 +536,53 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn String PROCESS_STATUS = variables.getString(QmsBpmConstant.PROCESS_INSTANCE_VARIABLE_STATUS); - String lastActivityFlag = variables.getString("lastActivityFlag"); - if ("1".equals(lastActivityFlag)) { // 执行到申请人节点,修改状态 - if (PROCESS_STATUS.equals("1") || PROCESS_STATUS.equals("2")) { + JSONArray bpmFieldExtensions = variables.getJSONArray("bpmFieldExtensions"); + String firstActivityFlag = IntStream.range(0, bpmFieldExtensions.size()) + .mapToObj(bpmFieldExtensions::getJSONObject) + .filter(field -> "firstActivityFlag".equals(field.getString("fieldName"))) + .map(field -> field.getString("stringValue")) + .findFirst() + .orElse(null); + + log.info("firstActivityFlag:{}",firstActivityFlag); + + if ("1".equals(firstActivityFlag)) { // 执行到申请人节点,修改状态 + if (PROCESS_STATUS.equals("1")) { recordApplyDO.setBusinessStatus(QmsCommonConstant.RUNNING); recordApplyMapper.updateById(recordApplyDO); - JSONObject ret = new JSONObject(); return CommonResult.success(ret); } } - if (("1").equals(returnFlag)) { - //驳回,状态变更为未发起 TODO -// entity.setBusinessStatus(QmsCommonConstant.NOT_START); -// dataOpinionService.disableOpinionsByBusId(entity.getId()); - } else if ("4".equals(PROCESS_STATUS)) { - //作废 TODO -// entity.setBusinessStatus(QmsCommonConstant.VOID); - } else if ("1".equals(PROCESS_STATUS) || "2".equals(PROCESS_STATUS)) { + // 拒绝,PROCESS_STATUS 状态是3,拒绝。回退上一步流程,修改状态 + if ("3".equals(PROCESS_STATUS)){ + if (businessType.equals(RecordConstants.BusinessType.RECORD_SUBMIT)){ + recordApplyDO.setBusinessStatus(QmsCommonConstant.VOID); + recordApplyMapper.updateById(recordApplyDO); + return CommonResult.success(ret); + } + String businessStatus = recordApplyDO.getBusinessStatus(); + if ("running".equals(businessStatus)) { + recordApplyDO.setBusinessStatus(QmsCommonConstant.NOT_START); + } else if ("not_start".equals(businessStatus)) { // 直接作废 + recordApplyDO.setBusinessStatus(QmsCommonConstant.VOID); + } + recordApplyMapper.updateById(recordApplyDO); + return CommonResult.success(ret); + } + +// if (("1").equals(returnFlag)) { +// //驳回,状态变更为未发起 TODO +//// entity.setBusinessStatus(QmsCommonConstant.NOT_START); +//// dataOpinionService.disableOpinionsByBusId(entity.getId()); +// } else if ("4".equals(PROCESS_STATUS)) { +// //作废 TODO +//// entity.setBusinessStatus(QmsCommonConstant.VOID); +// } else + if ("1".equals(PROCESS_STATUS)) { //通过 List recordApplyDetailDOS = recordApplyDetailService.selectList(new RecordApplyDetailPageReqVO().setApplyId(Long.valueOf(mainId))); - if (ObjectUtils.isEmpty(recordApplyDetailDOS)) throw exception(RECORD_RECORD_NOT_EXISTS,"未找到对应的申请明细记录"); + if (ObjectUtils.isEmpty(recordApplyDetailDOS)) throw exception0(RECORD_RECORD_NOT_EXISTS.getCode(),"未找到对应的申请明细记录"); // TODO 业务代码,通过业务类型判断 List recordRecordDOS = new ArrayList<>(); switch (businessType) { @@ -529,14 +600,16 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn for (RecordApplyDetailDO applyDetailDO : recordApplyDetailDOS) { if (applyDetailDO.getIsModify() == 1){ RecordApplyDetailRespVO detailDO = new RecordApplyDetailRespVO(); + detailDO.setDocumentId(applyDetailDO.getDocumentId()); detailDOList.add(detailDO); } } - // 文件评审通过了,如果需要修改文件,直接发起修改申请流程 + // 文件评审通过了,如果需要修改文件,直接申请流程 + if (ObjectUtils.isEmpty(detailDOList)) break; RecordApplySaveReqVO recordApplyRespVO = new RecordApplySaveReqVO(); recordApplyRespVO.setBusinessType(RecordConstants.BusinessType.RECORD_UPDATE); recordApplyRespVO.setParamsList(detailDOList); - submitRecordApply(recordApplyRespVO); + createApplyData(recordApplyRespVO); break; case RecordConstants.BusinessType.DISTRIBUTION: // 分发 recordPermissionAdd(recordApplyDetailDOS); @@ -572,7 +645,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn } - JSONObject ret = new JSONObject(); +// JSONObject ret = new JSONObject(); return CommonResult.success(ret); } @@ -586,8 +659,8 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn public void recordReviewFlowStatus(List recordDO) { // 修改文件状态为已生效 recordRecordService.updateRecordRecordListByIds(recordDO); - } - + } + // 文件分发/申请-添加权限 public void recordPermissionAdd(List recordApplyDetailDOS) { for (RecordApplyDetailDO applyDetailDO : recordApplyDetailDOS) { @@ -621,25 +694,49 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn * recordApply 对 recordApplyDetail 一对多的关系 * recordApplyDetail 对 和recordRecord 一对一的关系 * 查询条件:recordApply 的 businessType = '文件评审' - * */ + * */ @Override - public PageResult recordReviewPage(RecordRecordPageReqVO pageReqVO) { + public PageResult recordReviewPage(RecordRecordPageReqVO pageReqVO) { // 使用多表连接查询获取文件评审数据 int pageNo = pageReqVO.getPageNo(); int pageSize = pageReqVO.getPageSize(); int offset = (pageNo - 1) * pageSize; - + // 查询分页数据 - List list = recordRecordMapper.selectRecordReviewPage(RecordConstants.BusinessType.REVIEW, offset, pageSize); - + List list = recordRecordMapper.selectRecordReviewPage(RecordConstants.BusinessType.REVIEW, offset, pageSize); + // 查询总数 Long total = recordRecordMapper.selectRecordReviewCount(RecordConstants.BusinessType.REVIEW); - + return new PageResult<>(list, total); } + // 分发 @Override - public PageResult recordDistributePage(RecordApplyPageReqVO pageReqVO) { - return recordApplyMapper.selectPage(pageReqVO); + public PageResult recordDistributePage(RecordApplyPageReqVO pageReqVO) { + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + IPage recordApplyJoinPageVOIPage = recordApplyMapper.recordDistributePage(page, pageReqVO); + return new PageResult<>(recordApplyJoinPageVOIPage.getRecords(), recordApplyJoinPageVOIPage.getTotal()); + } + + // 更改申请 + @Override + public PageResult recordUpdatePage(RecordApplyPageReqVO pageReqVO) { + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + recordApplyMapper.recordUpdatePage(page,pageReqVO); + return null; + } + + // 文件作废 + @Override + public PageResult recordInvalidPage(RecordApplyPageReqVO pageReqVO) { + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + recordApplyMapper.recordUpdatePage(page,pageReqVO); + return null; + } + + //查询提交的流程是否存在没有处理或者通过的的数据 + public List selectApplyByStatus(String businessType, java.util.List documentIds, java.util.List businessStatuses) { + return recordApplyMapper.selectApplyByStatus(businessType,documentIds,businessStatuses); } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java index 440d8436..6c2bb583 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailService.java @@ -84,4 +84,11 @@ public interface RecordApplyDetailService { // 查询明细不分页 List selectAllList(Long applyId) ; + + /** + * 关联查询明细和记录 + * @param applyId + * @return + */ + List selectDetailAndRecordList(Long applyId); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java index 2e3776c8..20212b29 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordapplydetail/RecordApplyDetailServiceImpl.java @@ -112,4 +112,10 @@ public class RecordApplyDetailServiceImpl implements RecordApplyDetailService { return recordApplyDetailMapper.selectList(RecordApplyDetailDO::getApplyId, applyId); } + // 通过 recordApplyDetail 表关联查询 recordRecord 表 + @Override + public List selectDetailAndRecordList(Long applyId) { + return recordApplyDetailMapper.selectDetailAndRecordList(applyId); + } + } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryService.java index 06b54fda..ffe1ab16 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryService.java @@ -72,4 +72,12 @@ public interface RecordCategoryService { */ List getReviewRecordList(); + + /** + * 判断当前分类是否有管理员权限 + * @param categoryId + * @return + */ + + boolean isAdminByUserId(Long categoryId); } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryServiceImpl.java index 2dcc29ef..e9c59dc6 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordcategory/RecordCategoryServiceImpl.java @@ -35,6 +35,7 @@ import java.util.Set; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception0; +import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList; import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*; /** @@ -66,6 +67,25 @@ public class RecordCategoryServiceImpl implements RecordCategoryService { private List dictionaryBusinessDOS = new ArrayList<>(); private List businessDOList = new ArrayList<>(); + // 判断当前用户是否有管理员权限 + @Override + public boolean isAdminByUserId(Long categoryId){ + // 获取当前用户的id,部门,角色 + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + Long userId = loginUser.getId(); + + // 获取用户所在的所有部门(包括父部门) + List parentDepts = getParentDepts(); + List deptIds = convertList(parentDepts, DeptRespDTO::getId); + + // 获取用户的所有角色 + CommonResult> userRoleIdListByUserId = permissionApi.getUserRoleIdListByUserId(userId); + Set userRoles = userRoleIdListByUserId.getData(); + + // 查询用户是否有该分类的管理员权限 + return recordCategoryMapper.checkUserAdminPermission(categoryId, userId, deptIds, userRoles); + } + @Transactional(rollbackFor = Exception.class) @Override public RecordCategoryRespVO createRecordCategory(RecordCategorySaveReqVO createReqVO) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java index fb4f0a1b..61f58152 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/resource/record/service/recordrecord/RecordRecordServiceImpl.java @@ -3,7 +3,9 @@ package com.zt.plat.module.qms.resource.record.service.recordrecord; import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; @@ -66,19 +68,6 @@ public class RecordRecordServiceImpl implements RecordRecordService { @Resource private PermissionApi permissionApi; -// @Resource -// private RecordApplyService recordApplyService; -// -// @Resource -// private RecordApplyDetailService recordApplyDetailService; -// -// @Resource -// private BpmProcessInstanceApi bpmProcessInstanceApi; -// @Resource -// private DataKeyCheckService dataKeyCheckService; -// @Resource -// private DataOpinionService dataOpinionService; - @Autowired private DictionaryBusinessService dictionaryBusinessService; // 字典服务 @@ -368,23 +357,35 @@ public class RecordRecordServiceImpl implements RecordRecordService { public List getParentDepts() { LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); Long currentDeptId = loginUser.getVisitDeptId(); - List childDepts = new ArrayList<>(); - + List parentDepts = new ArrayList<>(); +// List childDepts = new ArrayList<>(); + // 添加当前部门 + //通过DeptApi获取完整部门信息(包括父部门) CommonResult deptResult = deptApi.getDept(currentDeptId); DeptRespDTO currentDept = deptResult.getData(); - childDepts.add(currentDept); + Long parentDeptId = currentDept.getParentId(); // 获取父部门ID +// + // 添加当前部门到父部门列表中 + Long tempParentId = parentDeptId; + while (tempParentId != null && tempParentId != 0) { + CommonResult parentResult = deptApi.getDept(tempParentId); + DeptRespDTO parentDept = parentResult.getData(); + parentDepts.add(parentDept); + tempParentId = parentDept.getParentId(); + } + parentDepts.add(currentDept); // 获取所有子部门 - CommonResult> childDeptListResult = deptApi.getChildDeptList(currentDeptId); - if (childDeptListResult.isSuccess()) { - List childDeptList = childDeptListResult.getData(); - if (CollUtil.isNotEmpty(childDeptList)) { - childDepts.addAll(childDeptList); - } - } +// CommonResult> childDeptListResult = deptApi.getChildDeptList(currentDeptId); +// if (childDeptListResult.isSuccess()) { +// List childDeptList = childDeptListResult.getData(); +// if (CollUtil.isNotEmpty(childDeptList)) { +// childDepts.addAll(childDeptList); +// } +// } - return childDepts; + return parentDepts; } /** @@ -480,50 +481,45 @@ public class RecordRecordServiceImpl implements RecordRecordService { @Override public PageResult getRecordRecordPage(RecordRecordPageReqVO pageReqVO) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(RecordRecordDO.class); -// .apply("ID = MAIN_ID"); - // 添加其他查询条件 Long categoryId = pageReqVO.getCategoryId(); - if (!ObjectUtils.isEmpty(pageReqVO.getCategoryId())) wrapper.eq(RecordRecordDO::getCategoryId, categoryId); - if (!ObjectUtils.isEmpty(pageReqVO.getCode())) wrapper.eq(RecordRecordDO::getCode, pageReqVO.getCode()); - if (!ObjectUtils.isEmpty(pageReqVO.getName())) wrapper.like(RecordRecordDO::getName, pageReqVO.getName()); - wrapper.eq(RecordRecordDO::getCurrentFlag, 1); // 默认查询最新版 - wrapper.orderByAsc(RecordRecordDO::getCreateTime); -// log.info("pageReqVO:{}", pageReqVO); - PageResult recordRecordDOPageResult; - - //不是管理员,判断部门、角色权限 - // 获取分类ID 的父节点,并校验当前用户是否有权限 + // 校验分类存在 RecordCategoryDO recordCategoryDO = recordCategoryService.selectById(categoryId); if (ObjectUtils.isEmpty(recordCategoryDO)) return new PageResult().setTotal(0L); Long parentId = recordCategoryDO.getParentId(); + // 权限判断 String dept = RecordConstants.TargetType.DEPT; String role = RecordConstants.TargetType.ROLE; + List permissionDOList = judgeIsAdmin(parentId, dept, role); - List permissionDOList = judgeIsAdmin(parentId,dept,role); + if (ObjectUtils.isEmpty(permissionDOList)) { + String permission = hasPermissionByCategoryId(parentId); + if (permission == null) throw exception(RECORD_PERMISSION_NOT_ALLOW); + } + + // 设置默认查询最新版 + pageReqVO.setCurrentFlag(1); + + // 多表关联分页查询(关联 RecordApply 获取文件提交信息) + Page page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + IPage iPage = recordRecordMapper.selectRecordWithApplyPage(page, pageReqVO); + + PageResult result = new PageResult<>(iPage.getRecords(), iPage.getTotal()); + + // 填充 customConfig(仅管理员权限时填充) if (!ObjectUtils.isEmpty(permissionDOList)) { - recordRecordDOPageResult = recordRecordMapper.selectPage(pageReqVO, wrapper); - // 通过 categoryId 查询所属分类的 customConfig(存储为JSON字符串),解析后追加到每条记录中 - // 使用 Map 缓存已查询的分类,避免同分类重复查库 -// Map categoryCache = new HashMap<>(); Object finalParse = customConfigParseJson(parentId); - recordRecordDOPageResult.getList().forEach(record -> { + result.getList().forEach(record -> { try { record.setCustomConfig(finalParse); } catch (Exception e) { throw exception(RECORD_RECORD_NOT_EXISTS); } }); - return recordRecordDOPageResult; } -// log.info("permissionDOList:{}", permissionDOList); - String permission = hasPermissionByCategoryId(parentId); -// log.info("分类ID: {} 当前用户命中权限: {}", categoryId, permission); - if (permission == null) throw exception(RECORD_PERMISSION_NOT_ALLOW); - return recordRecordMapper.selectPage(pageReqVO, wrapper); + return result; } private Object customConfigParseJson(Long parentId) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.xml index 0c421e7e..e138f2f5 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordApplyMapper.xml @@ -2,11 +2,191 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.xml index 5ed8a5e6..d2b6acee 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordCategoryMapper.xml @@ -9,4 +9,27 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml index 7f6fbd52..ad11da27 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml +++ b/zt-module-qms/zt-module-qms-server/src/main/resources/com/zt/plat/module/qms/resource/record/dal/mapper/RecordRecordMapper.xml @@ -5,35 +5,56 @@ +