From 3f53272f7800a070e9e9345edbe7808a6d7c3fa5 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Tue, 11 Feb 2025 08:42:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=9D=83=E9=99=90=E5=92=8C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/api/AdGroupDocumentsApplyRest.java | 94 +++++++ .../anrui/oa/api/AdGroupSystemApplyRest.java | 93 ++++++ .../AdGroupDocumentsApply.java | 32 +++ .../AdGroupDocumentsApplyDto.java | 36 +++ .../AdGroupDocumentsApplyMapper.java | 20 ++ .../AdGroupDocumentsApplyMapper.xml | 17 ++ .../AdGroupDocumentsApplyQuery.java | 10 + .../AdGroupDocumentsApplyService.java | 266 ++++++++++++++++++ .../AdGroupDocumentsApplyVo.java | 41 +++ .../AdGroupSystemApply.java | 25 ++ .../AdGroupSystemApplyDto.java | 31 ++ .../AdGroupSystemApplyMapper.java | 20 ++ .../AdGroupSystemApplyMapper.xml | 17 ++ .../AdGroupSystemApplyQuery.java | 14 + .../AdGroupSystemApplyService.java | 264 +++++++++++++++++ .../AdGroupSystemApplyVo.java | 37 +++ .../anrui/oa/biz/oaform/OaFormUrlEnum.java | 23 ++ .../yxt/anrui/oa/feign/file/OaFileEnum.java | 1 + .../oa/feign/flowable/flow/ProcDefEnum.java | 1 + 19 files changed, 1042 insertions(+) create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupDocumentsApplyRest.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupSystemApplyRest.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApply.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyDto.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.xml create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyQuery.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyService.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApply.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyDto.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.xml create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyQuery.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyService.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyVo.java diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupDocumentsApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupDocumentsApplyRest.java new file mode 100644 index 0000000000..de76246cc4 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupDocumentsApplyRest.java @@ -0,0 +1,94 @@ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.adgroupdocumentsapply.AdGroupDocumentsApplyDto; +import com.yxt.anrui.oa.biz.adgroupdocumentsapply.AdGroupDocumentsApplyQuery; +import com.yxt.anrui.oa.biz.adgroupdocumentsapply.AdGroupDocumentsApplyService; +import com.yxt.anrui.oa.biz.adgroupdocumentsapply.AdGroupDocumentsApplyVo; +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyVo; +import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; +import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; +import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @author wangpengfei + * @date 2025/2/8 14:56 + */ +@Api(tags = "集团文件审批") +@RestController +@RequestMapping("v1/adgroupdocumentsapply") +public class AdGroupDocumentsApplyRest { + + @Autowired + AdGroupDocumentsApplyService AdGroupDocumentsApplyService; + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = AdGroupDocumentsApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean saveOrUpdate(@RequestBody AdGroupDocumentsApplyDto dto) { + return AdGroupDocumentsApplyService.saveOrUpdateDto(dto); + } + @ApiOperation("初始化(新增或修改)") + @GetMapping({"/getInit", "/getInit/{sid}"}) + public ResultBean getInit( + @PathVariable(value = "sid", required = false) String sid, + @RequestParam(value = "userSid", required = false) String userSid, + @RequestParam(value = "orgPath", required = false) String orgPath) { + ResultBean rb = ResultBean.fireFail(); + if (sid == null || sid.isEmpty()) { + // 执行新增初始化 + if (userSid == null || orgPath == null) { + return rb.setMsg("userSid和orgPath不能为空"); + } + return AdGroupDocumentsApplyService.getSaveInit(userSid, orgPath); + } else { + // 执行修改初始化 + return AdGroupDocumentsApplyService.getUpdateInit(sid); + } + } + @ApiOperation("详情") + @GetMapping("/details/{sid}") + ResultBean details(@PathVariable("sid") String sid + , @RequestParam(value = "application", required = false) String application) { + return AdGroupDocumentsApplyService.details(sid,application); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody AdGroupDocumentsApplyDto dto) { + return AdGroupDocumentsApplyService.submit(dto); + } + + @ApiOperation(value = "驳回任务") + @PutMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return AdGroupDocumentsApplyService.reject(dto); + } + + @ApiOperation(value = "办理(同意)") + @PutMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return AdGroupDocumentsApplyService.complete(dto); + } + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap NodeQuery query) { + return AdGroupDocumentsApplyService.getFlowOperateTitle(query); + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupSystemApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupSystemApplyRest.java new file mode 100644 index 0000000000..380d775817 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdGroupSystemApplyRest.java @@ -0,0 +1,93 @@ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyDto; +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyQuery; +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyService; +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyVo; +import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; +import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; +import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @author wangpengfei + * @date 2025/2/7 14:30 + */ +@Api(tags = "集团制度会签审批") +@RestController +@RequestMapping("v1/adgroupsystemapply") +public class AdGroupSystemApplyRest { + @Autowired + AdGroupSystemApplyService adGroupSystemApplyService; + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = adGroupSystemApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean saveOrUpdate(@RequestBody AdGroupSystemApplyDto dto) { + return adGroupSystemApplyService.saveOrUpdateDto(dto); + } + @ApiOperation("初始化(新增或修改)") + @GetMapping({"/getInit", "/getInit/{sid}"}) + public ResultBean getInit( + @PathVariable(value = "sid", required = false) String sid, + @RequestParam(value = "userSid", required = false) String userSid, + @RequestParam(value = "orgPath", required = false) String orgPath) { + ResultBean rb = ResultBean.fireFail(); + if (sid == null || sid.isEmpty()) { + // 执行新增初始化 + if (userSid == null || orgPath == null) { + return rb.setMsg("userSid和orgPath不能为空"); + } + return adGroupSystemApplyService.getSaveInit(userSid, orgPath); + } else { + // 执行修改初始化 + return adGroupSystemApplyService.getUpdateInit(sid); + } + } + + @ApiOperation("详情") + @GetMapping("/details/{sid}") + ResultBean details(@PathVariable("sid") String sid + , @RequestParam(value = "application", required = false) String application) { + return adGroupSystemApplyService.details(sid,application); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody AdGroupSystemApplyDto dto) { + return adGroupSystemApplyService.submit(dto); + } + + @ApiOperation(value = "驳回任务") + @PutMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return adGroupSystemApplyService.reject(dto); + } + + @ApiOperation(value = "办理(同意)") + @PutMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return adGroupSystemApplyService.complete(dto); + } + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap NodeQuery query) { + return adGroupSystemApplyService.getFlowOperateTitle(query); + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApply.java new file mode 100644 index 0000000000..ebe5628f3e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApply.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.oa.biz.adgroupdocumentsapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/2/8 14:58 + */ +@Data +@ApiModel(value = "集团文件审批", description = "集团文件审批") +@TableName("ad_group_documents_apply") +public class AdGroupDocumentsApply extends BaseEntity { + @ApiModelProperty("签发部门") + private String departmentSid; + @ApiModelProperty("签发部门") + private String departmentName; + @ApiModelProperty("是否需要会签") + private String isCountersign; + @ApiModelProperty("是否需要总裁办审批") + private String isExamine; + @ApiModelProperty("拟发布文件标题") + private String title; + @ApiModelProperty("说明") + private String context; + @ApiModelProperty("基础表单sid") + private String formSid; + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyDto.java new file mode 100644 index 0000000000..3d85cb3599 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyDto.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.oa.biz.adgroupdocumentsapply; + +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2025/2/8 14:58 + */ +@Data +@ApiModel(value = "集团制度会签审批 数据传输对象", description = "集团制度会签审批 数据传输对象") +public class AdGroupDocumentsApplyDto extends OaFormDto { + @ApiModelProperty("签发部门") + private String departmentSid; + @ApiModelProperty("签发部门") + private String departmentName; + @ApiModelProperty("是否需要会签") + private String isCountersign; + @ApiModelProperty("是否需要总裁办审批") + private String isExamine; + @ApiModelProperty("拟发布文件标题") + private String title; + @ApiModelProperty("说明") + private String context; + @ApiModelProperty("基础表单sid") + private String formSid; + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("文件") + private List appes = new ArrayList<>(); +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.java new file mode 100644 index 0000000000..fce6cfe346 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.oa.biz.adgroupdocumentsapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2025/2/8 14:58 + */ +@Mapper +public interface AdGroupDocumentsApplyMapper extends BaseMapper { + AdGroupDocumentsApplyVo details(String sid); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.xml new file mode 100644 index 0000000000..f9362e1fb0 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyQuery.java new file mode 100644 index 0000000000..f91b770508 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyQuery.java @@ -0,0 +1,10 @@ +package com.yxt.anrui.oa.biz.adgroupdocumentsapply; + +import com.yxt.common.core.query.Query; + +/** + * @author wangpengfei + * @date 2025/2/8 14:58 + */ +public class AdGroupDocumentsApplyQuery implements Query { +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyService.java new file mode 100644 index 0000000000..a675995833 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyService.java @@ -0,0 +1,266 @@ +package com.yxt.anrui.oa.biz.adgroupdocumentsapply; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.oa.biz.adgroupsystemapply.AdGroupSystemApplyVo; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.OaForm; +import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum; +import com.yxt.anrui.oa.biz.oaform.OaFormService; +import com.yxt.anrui.oa.biz.oaform.flowable.*; +import com.yxt.anrui.oa.feign.file.OaFileEnum; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2025/2/8 14:58 + */ +@Service +public class AdGroupDocumentsApplyService extends MybatisBaseService { + @Autowired + OaFormService oaFormService; + @Autowired + SysOrganizationFeign sysOrganizationFeign; + @Autowired + OaAppendixService oaAppendixService; + + + public PagerVo listPageVo(PagerQuery pq) { + AdGroupDocumentsApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + for (AdGroupDocumentsApplyVo record : pagging.getRecords()) { + List files = oaAppendixService.selectByLinkSid(record.getSid()); + record.setFiles(files); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveOrUpdateDto(AdGroupDocumentsApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List files = dto.getFiles(); + List appes = dto.getAppes(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdGroupDocumentsApply entity = new AdGroupDocumentsApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + dto.setBillNo("JTZDHQ"); + dto.setSid(entity.getSid()); + dto.setCreateBySid(dto.getCreateBySid()); + ResultBean resultBean = oaFormService.saveOaForm(dto); + if (!resultBean.getSuccess()) { + return rb; + } + entity.setFormSid(resultBean.getData()); + entity.setCreateBySid(dto.getCreateBySid()); + baseMapper.insert(entity); + sid = entity.getSid(); + } else { + // 更新操作 + AdGroupDocumentsApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片"); + saveFiles(sid, appes, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "文件"); + return rb.success().setData(sid); + } + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdGroupDocumentsApplyVo AdGroupDocumentsApplyVo = new AdGroupDocumentsApplyVo(); + AdGroupDocumentsApplyVo.setCreateBySid(userSid); + AdGroupDocumentsApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(AdGroupDocumentsApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdGroupDocumentsApplyVo AdGroupDocumentsApplyVo = new AdGroupDocumentsApplyVo(); + AdGroupDocumentsApply AdGroupDocumentsApply = fetchBySid(sid); + if (AdGroupDocumentsApply == null) { + return rb.setMsg("该申请不存在"); + } +// hrHireApplyVo.setTestPage(hrHireApply.getTestPage()); + OaForm oaForm = oaFormService.fetchBySid(sid); + AdGroupDocumentsApplyVo.setTaskId(oaForm.getTaskId()); + AdGroupDocumentsApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + AdGroupDocumentsApplyVo.setOrgSidPath(orgSidPath); + AdGroupDocumentsApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(AdGroupDocumentsApply, AdGroupDocumentsApplyVo); +// FormCommon isFinanceObj = FormCommon.of(AdGroupDocumentsApply.getIsFinanceKey(), AdGroupDocumentsApply.getIsFinanceValue()); +// AdGroupDocumentsApplyVo.setIsFinanceObj(isFinanceObj); + + List files = oaAppendixService.selectByLinkSid(sid); + AdGroupDocumentsApplyVo.setFiles(files); + AdGroupDocumentsApplyVo.setSid(sid); + return rb.success().setData(AdGroupDocumentsApplyVo); + } + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } + + /** + * 详情 + * + * @param sid + * @return + */ + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdGroupDocumentsApplyVo adGroupDocumentsApplyVo = baseMapper.details(sid); + if (adGroupDocumentsApplyVo == null) { + return rb.setMsg("该申请不存在"); + } + +// List files = oaAppendixService.selectByLinkSid(adGroupDocumentsApplyVo.getSid(), "图片"); + List appes= oaAppendixService.selectByLinkSid(adGroupDocumentsApplyVo.getSid(), "文件"); +// adGroupDocumentsApplyVo.setFiles(files); + adGroupDocumentsApplyVo.setAppes(appes); + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), adGroupDocumentsApplyVo); + return rb.success().setData(adGroupDocumentsApplyVo); + } + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdGroupDocumentsApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + ResultBean stringResultBean = saveOrUpdateDto(dto); + if (!stringResultBean.getSuccess()) { + return rb.setMsg(stringResultBean.getData()); + } + String businessSid = stringResultBean.getData(); + + SubmitDto submitDto = new SubmitDto(); + submitDto.setUserSid(dto.getCreateBySid()); + submitDto.setBusinessSid(businessSid); + + Map formVariables = new HashMap<>(); + Map appMap = new HashMap<>(); +// appMap.put("sid", businessSid); + formVariables = getMap(formVariables, businessSid); + submitDto.setFormVariables(formVariables); + submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId()); + submitDto.setNextTaskId(dto.getTaskId()); + submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); + return oaFormService.submit(submitDto); + } + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + + return oaFormService.reject(dto); + } + + /** + * 办理(同意) + * + * @param dto + * @return + */ + public ResultBean complete(CompleteDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + public ResultBean getFlowOperateTitle(NodeQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + Map formVariables = query.getFormVariables(); + formVariables = getMap(formVariables, query.getBusinessSid()); + query.setFormVariables(formVariables); + String data = ""; + if (next == 0) { + ResultBean> resultBean = oaFormService.getPreviousNodesForReject(query); + if (resultBean.getSuccess()) { + resultBean.getData().removeAll(Collections.singleton(null)); + data = resultBean.getData().get(0).getName(); + } else { + return rb.setMsg(resultBean.getMsg()); + } + } else if (next == 1) { + ResultBean> resultBean = oaFormService.getNextNodesForSubmit(query); + if (resultBean.getSuccess()) { + resultBean.getData().removeAll(Collections.singleton(null)); + data = resultBean.getData().get(0).getName(); + } else { + return rb.setMsg(resultBean.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + public Map getMap(Map formVariables, String sid) { + Map appMap = new HashMap<>(); + appMap.put("sid", sid); + /*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); + appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); + appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); + appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); + appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); + appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); + appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); + appMap.put("signUrl", "oa/v1/oaform/delegate"); + appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ +// appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + sid); +// appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + sid); +// appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); +// appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); +// appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); +// appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); +// appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); +// appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); +// appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); +// formVariables.put("app", appMap); +// //根据组织查询是否是分公司 + OaForm oaForm = oaFormService.fetchBySid(sid); + AdGroupDocumentsApply adPermissionApply = fetchBySid(sid); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); + //是否是分公司 +// formVariables.put("isTrue", sysOrganization.getIsDept() == 0); + + return formVariables; + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyVo.java new file mode 100644 index 0000000000..5c36888331 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupdocumentsapply/AdGroupDocumentsApplyVo.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.oa.biz.adgroupdocumentsapply; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2025/2/8 14:58 + */ +@Data +@ApiModel(value = "集团制度会签审批 视图数据对象", description = "集团制度会签审批 视图数据对象") +public class AdGroupDocumentsApplyVo { + private String sid; + @ApiModelProperty("签发部门") + private String departmentSid; + @ApiModelProperty("签发部门") + private String departmentName; + @ApiModelProperty("是否需要会签") + private String isCountersign; + @ApiModelProperty("是否需要总裁办审批") + private String isExamine; + @ApiModelProperty("拟发布文件标题") + private String title; + @ApiModelProperty("说明") + private String context; + @ApiModelProperty("基础表单sid") + private String formSid; + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + private String orgSidPath; + private String createBySid; + private String taskId; + @ApiModelProperty("流程实例id") + private String procInsId; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApply.java new file mode 100644 index 0000000000..a305b96815 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApply.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.oa.biz.adgroupsystemapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/2/7 15:30 + */ +@Data +@ApiModel(value = "集团制度会签审批", description = "集团制度会签审批") +@TableName("ad_group_system_apply") +public class AdGroupSystemApply extends BaseEntity { + @ApiModelProperty("拟发布制度标题") + private String title; + @ApiModelProperty("起草修订说明") + private String describes; + @ApiModelProperty("会签制度内容") + private String content; + @ApiModelProperty("基础表单sid") + private String formSid; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyDto.java new file mode 100644 index 0000000000..65cb3c878b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyDto.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.oa.biz.adgroupsystemapply; + +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2025/2/7 15:30 + */ +@Data +@ApiModel(value = "集团制度会签审批 数据传输对象", description = "集团制度会签审批 数据传输对象") +public class AdGroupSystemApplyDto extends OaFormDto { + private String sid; + @ApiModelProperty("拟发布制度标题") + private String title; + @ApiModelProperty("起草修订说明") + private String describes; + @ApiModelProperty("会签制度内容") + private String content; + @ApiModelProperty("基础表单sid") + private String formSid; + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("文件") + private List appes = new ArrayList<>(); +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.java new file mode 100644 index 0000000000..2d285a69c8 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.oa.biz.adgroupsystemapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDetailVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @author wangpengfei + * @date 2025/2/7 15:32 + */ +@Mapper +public interface AdGroupSystemApplyMapper extends BaseMapper { + AdGroupSystemApplyVo details(String sid); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.xml new file mode 100644 index 0000000000..a6ea6ca339 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyQuery.java new file mode 100644 index 0000000000..af24d8e08c --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyQuery.java @@ -0,0 +1,14 @@ +package com.yxt.anrui.oa.biz.adgroupsystemapply; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2025/2/7 15:31 + */ +@Data +@ApiModel(value = "集团制度会签审批 查询条件", description = "集团制度会签审批 查询条件") +public class AdGroupSystemApplyQuery implements Query { +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyService.java new file mode 100644 index 0000000000..d3e82d294f --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyService.java @@ -0,0 +1,264 @@ +package com.yxt.anrui.oa.biz.adgroupsystemapply; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.*; +import com.yxt.anrui.oa.biz.oaform.flowable.*; +import com.yxt.anrui.oa.feign.file.OaFileEnum; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wangpengfei + * @date 2025/2/7 15:31 + */ +@Service +public class AdGroupSystemApplyService extends MybatisBaseService { + @Autowired + OaFormService oaFormService; + @Autowired + SysOrganizationFeign sysOrganizationFeign; + @Autowired + OaAppendixService oaAppendixService; + + + public PagerVo listPageVo(PagerQuery pq) { + AdGroupSystemApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + for (AdGroupSystemApplyVo record : pagging.getRecords()) { + List files = oaAppendixService.selectByLinkSid(record.getSid()); + record.setFiles(files); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveOrUpdateDto(AdGroupSystemApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List files = dto.getFiles(); + List appes = dto.getAppes(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdGroupSystemApply entity = new AdGroupSystemApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + dto.setBillNo("JTZDHQ"); + dto.setSid(entity.getSid()); + dto.setCreateBySid(dto.getCreateBySid()); + ResultBean resultBean = oaFormService.saveOaForm(dto); + if (!resultBean.getSuccess()) { + return rb; + } + entity.setFormSid(resultBean.getData()); + entity.setCreateBySid(dto.getCreateBySid()); + baseMapper.insert(entity); + sid = entity.getSid(); + } else { + // 更新操作 + AdGroupSystemApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + saveFiles(sid, files, OaFileEnum.GROUPSYSTEMAPPLY.getAttachType(), "图片"); + saveFiles(sid, appes, OaFileEnum.GROUPSYSTEMAPPLY.getAttachType(), "文件"); + return rb.success().setData(sid); + } + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdGroupSystemApplyVo AdGroupSystemApplyVo = new AdGroupSystemApplyVo(); + AdGroupSystemApplyVo.setCreateBySid(userSid); + AdGroupSystemApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(AdGroupSystemApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdGroupSystemApplyVo AdGroupSystemApplyVo = new AdGroupSystemApplyVo(); + AdGroupSystemApply AdGroupSystemApply = fetchBySid(sid); + if (AdGroupSystemApply == null) { + return rb.setMsg("该申请不存在"); + } +// hrHireApplyVo.setTestPage(hrHireApply.getTestPage()); + OaForm oaForm = oaFormService.fetchBySid(sid); + AdGroupSystemApplyVo.setTaskId(oaForm.getTaskId()); + AdGroupSystemApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + AdGroupSystemApplyVo.setOrgSidPath(orgSidPath); + AdGroupSystemApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(AdGroupSystemApply, AdGroupSystemApplyVo); +// FormCommon isFinanceObj = FormCommon.of(AdGroupSystemApply.getIsFinanceKey(), AdGroupSystemApply.getIsFinanceValue()); +// AdGroupSystemApplyVo.setIsFinanceObj(isFinanceObj); + + List files = oaAppendixService.selectByLinkSid(sid); + AdGroupSystemApplyVo.setFiles(files); + AdGroupSystemApplyVo.setSid(sid); + return rb.success().setData(AdGroupSystemApplyVo); + } + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } + + + /** + * 详情 + * + * @param sid + * @return + */ + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdGroupSystemApplyVo AdGroupSystemApplyVo = baseMapper.details(sid); + if (AdGroupSystemApplyVo == null) { + return rb.setMsg("该申请不存在"); + } + + List files = oaAppendixService.selectByLinkSid(AdGroupSystemApplyVo.getSid(), "图片"); + List appes= oaAppendixService.selectByLinkSid(AdGroupSystemApplyVo.getSid(), "文件"); + AdGroupSystemApplyVo.setFiles(files); + AdGroupSystemApplyVo.setAppes(appes); + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), AdGroupSystemApplyVo); + return rb.success().setData(AdGroupSystemApplyVo); + } + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdGroupSystemApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + ResultBean stringResultBean = saveOrUpdateDto(dto); + if (!stringResultBean.getSuccess()) { + return rb.setMsg(stringResultBean.getData()); + } + String businessSid = stringResultBean.getData(); + + SubmitDto submitDto = new SubmitDto(); + submitDto.setUserSid(dto.getCreateBySid()); + submitDto.setBusinessSid(businessSid); + + Map formVariables = new HashMap<>(); + Map appMap = new HashMap<>(); +// appMap.put("sid", businessSid); + formVariables = getMap(formVariables, businessSid); + submitDto.setFormVariables(formVariables); + submitDto.setProcDefId(ProcDefEnum.GROUPSYSTEMAPPLY.getProDefId()); + submitDto.setNextTaskId(dto.getTaskId()); + submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); + return oaFormService.submit(submitDto); + } + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + + return oaFormService.reject(dto); + } + + /** + * 办理(同意) + * + * @param dto + * @return + */ + public ResultBean complete(CompleteDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + public ResultBean getFlowOperateTitle(NodeQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + Map formVariables = query.getFormVariables(); + formVariables = getMap(formVariables, query.getBusinessSid()); + query.setFormVariables(formVariables); + String data = ""; + if (next == 0) { + ResultBean> resultBean = oaFormService.getPreviousNodesForReject(query); + if (resultBean.getSuccess()) { + resultBean.getData().removeAll(Collections.singleton(null)); + data = resultBean.getData().get(0).getName(); + } else { + return rb.setMsg(resultBean.getMsg()); + } + } else if (next == 1) { + ResultBean> resultBean = oaFormService.getNextNodesForSubmit(query); + if (resultBean.getSuccess()) { + resultBean.getData().removeAll(Collections.singleton(null)); + data = resultBean.getData().get(0).getName(); + } else { + return rb.setMsg(resultBean.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + public Map getMap(Map formVariables, String sid) { + Map appMap = new HashMap<>(); + appMap.put("sid", sid); + /*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); + appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); + appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); + appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); + appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); + appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); + appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); + appMap.put("signUrl", "oa/v1/oaform/delegate"); + appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ + appMap.put(OaFormUrlEnum.GROUPSYSTEM_EDIT.getType(), OaFormUrlEnum.GROUPSYSTEM_EDIT.getUrl() + sid); + appMap.put(OaFormUrlEnum.GROUPSYSTEM_DETAIL.getType(), OaFormUrlEnum.GROUPSYSTEM_DETAIL.getUrl() + sid); + appMap.put(OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_FLOWOPERATEURL.getUrl()); + appMap.put(OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getType(), OaFormUrlEnum.GROUPSYSTEM_AGREEURL.getUrl()); + appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); + appMap.put(OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getType(), OaFormUrlEnum.GROUPSYSTEM_REJECTURL.getUrl()); + appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); + appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); + appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); + formVariables.put("app", appMap); +// //根据组织查询是否是分公司 + OaForm oaForm = oaFormService.fetchBySid(sid); + AdGroupSystemApply adPermissionApply = fetchBySid(sid); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); + //是否是分公司 +// formVariables.put("isTrue", sysOrganization.getIsDept() == 0); + + return formVariables; + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyVo.java new file mode 100644 index 0000000000..0e1bed38d0 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adgroupsystemapply/AdGroupSystemApplyVo.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.oa.biz.adgroupsystemapply; + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author wangpengfei + * @date 2025/2/7 15:31 + */ +@Data +@ApiModel(value = "集团制度会签审批 视图数据对象", description = "集团制度会签审批 视图数据对象") +public class AdGroupSystemApplyVo extends OaFormCommonVo { + private String sid; + @ApiModelProperty("拟发布制度标题") + private String title; + @ApiModelProperty("起草修订说明") + private String describes; + @ApiModelProperty("会签制度内容") + private String content; + @ApiModelProperty("基础表单sid") + private String formSid; + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + private String orgSidPath; + private String createBySid; + private String taskId; + @ApiModelProperty("流程实例id") + private String procInsId; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormUrlEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormUrlEnum.java index b6012feb6d..ef7737589c 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormUrlEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormUrlEnum.java @@ -29,6 +29,29 @@ public enum OaFormUrlEnum { */ HRHIREAPPLY_REJECTURL(InnerEnum.rejectUrl.printValue(), "oa/v1/HrHireApply/reject"), + /************************集团制度会签********************************/ + + /** + * 集团制度会签详情 + */ + GROUPSYSTEM_DETAIL(InnerEnum.rejectUrl.printValue(), "approval/#/pages/oa/DetailGroupSystemApplyActivity"), + /** + * 集团制度会签修改 + */ + GROUPSYSTEM_EDIT(InnerEnum.rejectUrl.printValue(), "approval/#/pages/oa/EditGroupSystemApplyActivity"), + + /** + * 获取操作标题接口地址 + */ + GROUPSYSTEM_FLOWOPERATEURL(InnerEnum.flowOperateUrl.printValue(), "oa/v1/adgroupsystemapply/getFlowOperateTitle"), + /** + * 办理接口地址 + */ + GROUPSYSTEM_AGREEURL(InnerEnum.agreeUrl.printValue(), "oa/v1/adgroupsystemapply/complete"), + /** + * 驳回接口地址 + */ + GROUPSYSTEM_REJECTURL(InnerEnum.rejectUrl.printValue(), "oa/v1/adgroupsystemapply/reject"), /*******************************审批单公共地址*********************************************/ /** diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java index 7c0f46ed7d..645b30e8b4 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java @@ -11,6 +11,7 @@ public enum OaFileEnum { OAMENDAPPLY("002", "补卡申请附件"), ADEXPATRIATESAPPLY("003", "驻外人员认定附件"), HIHIREAPPLY("004", "招聘需求附件"), + GROUPSYSTEMAPPLY("005", "集团制度会签附件"), ; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java index f759713d59..710a6ae67f 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java @@ -10,6 +10,7 @@ public enum ProcDefEnum { OALEAVEAPPLY("请假申请", "process_su0yph7n:1:15957504"), OAMENDAPPLY("补卡申请", "process_9suucr96:1:16072504"), HIHIREAPPLY("招聘需求", "process_zy0m4jrp:1:16802504"), + GROUPSYSTEMAPPLY("集团制度", "process_6lnebpbi:1:16905004"), ;