diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEntryController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEntryController.java index b37f6705..89b7549a 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEntryController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOAEntryController.java @@ -69,6 +69,8 @@ public class BpmOAEntryController { respVO.setEntryPostName(getPost(entry.getEntryPostId()).getName()); // 设置岗位名称 respVO.setEntryPositionName(getPosition(entry.getEntryPositionId()).getName()); + // 设置公司名称 + respVO.setContractCompanyName(getDept(entry.getContractCompany()).getName()); return success(respVO); } @@ -87,6 +89,8 @@ public class BpmOAEntryController { respVO.setEntryPostName(getPost(entry.getEntryPostId()).getName()); // 设置岗位名称 respVO.setEntryPositionName(getPosition(entry.getEntryPositionId()).getName()); + // 设置公司名称 + respVO.setContractCompanyName(getDept(entry.getContractCompany()).getName()); return success(respVO); } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java index b295af7b..dd0ee23a 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOASealController.java @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.seal.BpmOASealRespVO; import cn.iocoder.yudao.module.bpm.convert.oa.BpmOASealConvert; import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASealDO; import cn.iocoder.yudao.module.bpm.service.oa.BpmOASealService; +import cn.iocoder.yudao.module.system.api.dept.DeptApi; +import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -33,6 +35,9 @@ public class BpmOASealController { @Resource private BpmOASealService sealService; + @Resource + private DeptApi deptApi; + @PostMapping("/create") @Operation(summary = "创建请求申请") public CommonResult createSeal(@Valid @RequestBody BpmOASealCreateReqVO createReqVO) { @@ -47,7 +52,8 @@ public class BpmOASealController { BpmOASealDO seal = sealService.getSeal(id); - return success(BpmOASealConvert.INSTANCE.convert(seal)); + return success(BpmOASealConvert.INSTANCE.convert(seal) + .setContractCompanyName(getDept(seal.getContractCompany()).getName())); } @GetMapping("/getByProcessInstanceId") @@ -57,6 +63,20 @@ public class BpmOASealController { BpmOASealDO seal = sealService.getByProcessInstanceId(processInstanceId); - return success(BpmOASealConvert.INSTANCE.convert(seal)); + return success(BpmOASealConvert.INSTANCE.convert(seal) + .setContractCompanyName(getDept(seal.getContractCompany()).getName())); + } + + /** + * 获得部门信息 + * @param deptId 部门id + * @return 部门信息 + */ + public DeptRespDTO getDept(Long deptId) { + + if (deptId == null) { + return new DeptRespDTO(); + } + return deptApi.getDept(deptId).getCheckedData(); } } diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryCreateReqVO.java index aeaa53ec..26caf804 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryCreateReqVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryCreateReqVO.java @@ -33,9 +33,9 @@ public class BpmOAEntryCreateReqVO { @NotNull(message = "用户昵称不能为空") private String nickname; - @Schema(description = "合同公司 | 字典值参考bpm_entry_company", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "合同公司", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "合同公司不能为空") - private Integer contractCompany; + private Long contractCompany; @Schema(description = "手机号码", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "手机号码不能为空") diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryRespVO.java index fa1529e4..111317ec 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryRespVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/entry/BpmOAEntryRespVO.java @@ -46,9 +46,12 @@ public class BpmOAEntryRespVO extends BpmOABaseRespVO { @NotEmpty(message = "用户昵称不能为空") private String nickname; - @Schema(description = "合同公司 | 字典值参考bpm_entry_company", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "合同公司", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "合同公司不能为空") - private Integer contractCompany; + private Long contractCompany; + + @Schema(description = "合同公司名称") + private String contractCompanyName; @Schema(description = "手机号码", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "手机号码不能为空") diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealCreateReqVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealCreateReqVO.java index 72aefba8..4cb05fb4 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealCreateReqVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealCreateReqVO.java @@ -32,6 +32,10 @@ public class BpmOASealCreateReqVO { @NotNull(message = "印章类型不能为空") private Integer type; + @Schema(description = "用章所属公司 | 字典值参考bpm_entry_company", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "用章所属公司不能为空") + private Long contractCompany; + @Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "文件名称不能为空") private String fileName; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealRespVO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealRespVO.java index 55cff2f8..14bfb013 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealRespVO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/vo/seal/BpmOASealRespVO.java @@ -31,6 +31,13 @@ public class BpmOASealRespVO extends BpmOABaseRespVO { @NotNull(message = "印章类型不能为空") private Integer type; + @Schema(description = "用章所属公司", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "用章所属公司不能为空") + private Long contractCompany; + + @Schema(description = "用章所属公司名称") + private String contractCompanyName; + @Schema(description = "文件名称", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "文件名称不能为空") private String fileName; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEntryDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEntryDO.java index a5777e9b..a66c70ff 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEntryDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAEntryDO.java @@ -57,9 +57,9 @@ public class BpmOAEntryDO extends BaseDO { */ private String nickname; /** - * 合同公司 | 字典值参考bpm_entry_company + * 合同公司 */ - private Integer contractCompany; + private Long contractCompany; /** * 手机号码 */ diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASealDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASealDO.java index 3f6bd59b..3ec5a34a 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASealDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOASealDO.java @@ -46,6 +46,11 @@ public class BpmOASealDO extends BaseDO { */ private String type; + /** + * 用章所属公司 + */ + private Long contractCompany; + /** * 用章原因 */ diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java index 80a16b6f..fe989437 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java @@ -17,6 +17,7 @@ import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.instance.BpmProcessI import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert; import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAEntryDO; +import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOASealDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; import cn.iocoder.yudao.module.bpm.dal.mysql.task.BpmProcessInstanceExtMapper; @@ -26,6 +27,7 @@ import cn.iocoder.yudao.module.bpm.service.definition.BpmModelService; import cn.iocoder.yudao.module.bpm.service.definition.BpmProcessDefinitionService; import cn.iocoder.yudao.module.bpm.service.message.BpmMessageService; import cn.iocoder.yudao.module.bpm.service.oa.BpmOAEntryService; +import cn.iocoder.yudao.module.bpm.service.oa.BpmOASealService; import cn.iocoder.yudao.module.system.api.dept.DeptApi; import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO; import cn.iocoder.yudao.module.system.api.user.AdminUserApi; @@ -107,6 +109,9 @@ public class BpmTaskServiceImpl implements BpmTaskService { @Resource private BpmOAEntryService bpmOAEntryService; + @Resource + private BpmOASealService bpmOASealService; + @Override public PageResult getCCTaskPage(Long userId, BpmTaskDonePageReqVO pageVO) { // 查询被抄送的Task @@ -482,6 +487,17 @@ public class BpmTaskServiceImpl implements BpmTaskService { } } + // 判断 用章流程时 + if (instance.getProcessDefinitionId().contains("oa_seal")) { + + BpmOASealDO sealDO = bpmOASealService.getByProcessInstanceId(instance.getProcessInstanceId()); + if (sealDO != null) { + + DeptRespDTO dto = deptApi.getDept(sealDO.getContractCompany()).getCheckedData(); + paramMap.put("contract_company_flag", dto.getFlag()); //配置合同公司flag + } + } + ArrayList list = new ArrayList<>(postIds); // 只获配置的首个岗位 Long postId = list.get(0);