Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 months ago
parent
commit
4c9158d776
  1. 30
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/HrHireApplyRest.java
  2. 6
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java
  3. 21
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyDetailVo.java
  4. 1
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.java
  5. 28
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.xml
  6. 44
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyService.java
  7. 41
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireListDetailVo.java
  8. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.java
  9. 10
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java
  10. 1
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java
  11. 32
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormCommonVo.java
  12. 8
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java
  13. 90
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormUrlEnum.java

30
yxt-oa/src/main/java/com/yxt/anrui/oa/api/HrHireApplyRest.java

@ -1,5 +1,6 @@
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDetailVo;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDto;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyService;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyVo;
@ -14,6 +15,8 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import static com.yxt.common.core.result.ResultBean.fireFail;
/**
* @description:
* @author: dimengzhe
@ -26,7 +29,7 @@ public class HrHireApplyRest {
@Autowired
private HrHireApplyService hrHireApplyService;
@ApiOperation("新增初始化")
/* @ApiOperation("新增初始化")
@GetMapping("/getInit")
ResultBean<HrHireApplyVo> getSaveInit(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) {
return hrHireApplyService.getSaveInit(userSid, orgPath);
@ -36,6 +39,25 @@ public class HrHireApplyRest {
@GetMapping("/getInit/{sid}")
ResultBean<HrHireApplyVo> getUpdateInit(@PathVariable("sid") String sid) {
return hrHireApplyService.getUpdateInit(sid);
}*/
@ApiOperation("初始化(新增或修改)")
@GetMapping({"/getInit", "/getInit/{sid}"})
public ResultBean<HrHireApplyVo> getInit(
@PathVariable(value = "sid", required = false) String sid,
@RequestParam(value = "userSid", required = false) String userSid,
@RequestParam(value = "orgPath", required = false) String orgPath) {
ResultBean<HrHireApplyVo> rb = ResultBean.fireFail();
if (sid == null || sid.isEmpty()) {
// 执行新增初始化
if (userSid == null || orgPath == null) {
return rb.setMsg("userSid和orgPath不能为空");
}
return hrHireApplyService.getSaveInit(userSid, orgPath);
} else {
// 执行修改初始化
return hrHireApplyService.getUpdateInit(sid);
}
}
@ApiOperation("新增或修改")
@ -44,6 +66,12 @@ public class HrHireApplyRest {
return hrHireApplyService.saveOrUpdateDto(dto);
}
@ApiOperation("详情")
@GetMapping("/details/{sid}")
ResultBean<HrHireApplyDetailVo> details(@PathVariable("sid") String sid) {
return hrHireApplyService.details(sid);
}
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody HrHireApplyDto dto) {

6
yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java

@ -55,7 +55,7 @@ public class OaFormRest {
return rb.success();
}
@ApiOperation(value = "办理(同意)")
/* @ApiOperation(value = "办理(同意)")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
BusinessVariablesDto businessVariables = new BusinessVariablesDto();
@ -63,7 +63,7 @@ public class OaFormRest {
return oaFormService.complete(businessVariables);
}
@ApiOperation(value = "获取上一个环节")
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
public ResultBean<List<NodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query) {
return oaFormService.getPreviousNodesForReject(query);
@ -79,7 +79,7 @@ public class OaFormRest {
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return oaFormService.reject(dto);
}
}*/
@ApiOperation(value = "撤回流程")
@PutMapping(value = "/revokeProcess")

21
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyDetailVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.oa.biz.hrhireapply;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireListDetailVo;
import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/21
**/
@Data
public class HrHireApplyDetailVo extends OaFormCommonVo {
private String isFinanceValue;
private List<HrHireListDetailVo> list = new ArrayList<>();
}

1
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.java

@ -10,4 +10,5 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface HrHireApplyMapper extends BaseMapper<HrHireApply> {
HrHireApplyDetailVo details(String sid);
}

28
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyMapper.xml

@ -1,4 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyMapper">
<select id="details" resultMap="detailMap">
select isFinanceValue, sid
from hr_hire_apply
where sid = #{sid}
</select>
<resultMap id="detailMap" type="com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDetailVo">
<result column="isFinanceValue" property="isFinanceValue"/>
<collection property="list" ofType="com.yxt.anrui.oa.biz.hrhiredetails.HrHireListDetailVo"
select="selectList" column="sid">
</collection>
</resultMap>
<select id="selectList" resultType="com.yxt.anrui.oa.biz.hrhiredetails.HrHireListDetailVo">
select sid,
deptName deptValue,
postName jobValue,
memberCount,
educationValue,
formalWages,
benefits,
describes,
demand,
address,
remarks
from hr_hire_details
where mainSid = #{sid}
</select>
</mapper>

44
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhireapply/HrHireApplyService.java

@ -4,11 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsDto;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsService;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireListDetailVo;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
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.*;
import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
@ -205,7 +203,7 @@ public class HrHireApplyService extends MybatisBaseService<HrHireApplyMapper, Hr
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) {
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", sid);
appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?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");
@ -213,7 +211,16 @@ public class HrHireApplyService extends MybatisBaseService<HrHireApplyMapper, Hr
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("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);
@ -226,5 +233,28 @@ public class HrHireApplyService extends MybatisBaseService<HrHireApplyMapper, Hr
return formVariables;
}
/**
* 详情
*
* @param sid
* @return
*/
public ResultBean<HrHireApplyDetailVo> details(String sid) {
ResultBean<HrHireApplyDetailVo> rb = ResultBean.fireFail();
HrHireApplyDetailVo hrHireApplyDetailVo = baseMapper.details(sid);
if (hrHireApplyDetailVo == null) {
return rb.setMsg("该申请不存在");
}
List<HrHireListDetailVo> list = hrHireApplyDetailVo.getList();
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
list.stream().forEach(v -> {
List<String> files = oaAppendixService.selectByLinkSid(v.getSid(), "文件");
v.setFiles(files);
});
}
//基础字段赋值
BeanUtil.copyProperties(oaFormService.getDetails(sid), hrHireApplyDetailVo);
return rb.success().setData(hrHireApplyDetailVo);
}
}

41
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/hrhiredetails/HrHireListDetailVo.java

@ -0,0 +1,41 @@
package com.yxt.anrui.oa.biz.hrhiredetails;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/21
**/
@Data
public class HrHireListDetailVo {
private String sid;
@ApiModelProperty("招聘部门")
private String deptValue;
@ApiModelProperty("招聘岗位")
private String jobValue;
@ApiModelProperty("人数")
private String memberCount;
@ApiModelProperty("学历")
private String educationValue;
@ApiModelProperty("薪资待遇")
private String formalWages;
@ApiModelProperty("职位福利")
private String benefits;
@ApiModelProperty("职位描述")
private String describes;
@ApiModelProperty("职位要求")
private String demand;
@ApiModelProperty("地址")
private String address;
@ApiModelProperty("备注")
private String remarks;
private List<String> files = new ArrayList<>();
}

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixMapper.java

@ -27,6 +27,7 @@ package com.yxt.anrui.oa.biz.oaappendix;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@ -38,4 +39,7 @@ public interface OaAppendixMapper extends BaseMapper<OaAppendix> {
List<OaAppendix> fetchByLinkSid(String linkSid);
int deleteByLinkSid(String sid);
@Select("select * from oa_appendix where linkSid = #{linkSid} and fileType = #{fileType}")
List<OaAppendix> fetchByLinkSid2(@Param("linkSid") String linkSid, @Param("fileType") String type);
}

10
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java

@ -91,4 +91,14 @@ public class OaAppendixService extends MybatisBaseService<OaAppendixMapper, OaAp
}
return files;
}
public List<String> selectByLinkSid(String sid, String type) {
List<OaAppendix> fileList = baseMapper.fetchByLinkSid2(sid, type);
List<String> files = new ArrayList<>();
for (OaAppendix oaAppendix : fileList) {
String url = fileUploadComponent.getUrlPrefix() + oaAppendix.getFilePath();
files.add(url);
}
return files;
}
}

1
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaForm.java

@ -50,5 +50,4 @@ public class OaForm extends BaseEntity {
@ApiModelProperty("创建组织")
private String createOrgName;
}

32
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormCommonVo.java

@ -0,0 +1,32 @@
package com.yxt.anrui.oa.biz.oaform;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/21
**/
@Data
public class OaFormCommonVo {
@ApiModelProperty("申请单号")
private String billNo;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("组织-部门")
private String publishInfo;
// 静态方法,直接通过方法创建对象并赋值
public static OaFormCommonVo of(String billNo, String createTime, String createByName, String useOrgName, String deptName) {
OaFormCommonVo formCommon = new OaFormCommonVo();
formCommon.setBillNo(billNo);
formCommon.setCreateTime(createTime);
formCommon.setCreateByName(createByName);
formCommon.setPublishInfo(useOrgName + "-" + deptName);
return formCommon;
}
}

8
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java

@ -37,6 +37,7 @@ import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -662,4 +663,11 @@ public class OaFormService extends MybatisBaseService<OaFormMapper, OaForm> {
return rb.success().setData(bv);
}
public OaFormCommonVo getDetails(String sid) {
OaForm oaForm = fetchBySid(sid);
OaFormCommonVo vo = OaFormCommonVo.of(oaForm.getBillNo(), new SimpleDateFormat("yyyy-MM-dd").format(oaForm.getCreateTime()), oaForm.getCreateByName(), oaForm.getUseOrgName(), oaForm.getDeptName());
return vo;
}
}

90
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormUrlEnum.java

@ -0,0 +1,90 @@
package com.yxt.anrui.oa.biz.oaform;
/**
* @description:
* @author: dimengzhe
* @date: 2025/1/21
**/
public enum OaFormUrlEnum {
/************************招聘需求相关地址********************************/
/**
* 编辑页面地址
*/
HRHIREAPPLY_EDIT(InnerEnum.editUrl.printValue(), "approval/#/pages/EditOnboradingApplyActivity?sid="),
/**
* 详情页面地址
*/
HRHIREAPPLY_DETAIL(InnerEnum.detailUrl.printValue(), "approval/#/pages/DetailOnboradingApplyActivity?sid="),
/**
* 获取操作标题接口地址
*/
HRHIREAPPLY_FLOWOPERATEURL(InnerEnum.flowOperateUrl.printValue(), "oa/v1/HrHireApply/getFlowOperateTitle"),
/**
* 办理接口地址
*/
HRHIREAPPLY_AGREEURL(InnerEnum.agreeUrl.printValue(), "oa/v1/HrHireApply/complete"),
/**
* 驳回接口地址
*/
HRHIREAPPLY_REJECTURL(InnerEnum.rejectUrl.printValue(), "oa/v1/HrHireApply/reject"),
/*******************************审批单公共地址*********************************************/
/**
* 审批单公共终止接口地址
*/
STOPURL(InnerEnum.stopUrl.printValue(), "oa/v1/oaform/breakProcess"),
/**
* 审批单公共撤回接口地址
*/
RECALLURL(InnerEnum.recallUrl.printValue(), "oa/v1/oaform/revokeProcess"),
/**
* 审批单公共加签接口地址
*/
SIGNURL(InnerEnum.signUrl.printValue(), "oa/v1/oaform/delegate"),
/**
* 审批单公共转办接口地址
*/
TRANSFERURL(InnerEnum.transferUrl.printValue(), "oa/v1/oaform/assignTask"),
;
//类型
private String type;
//地址
private String url;
public String getType() {
return type;
}
public String getUrl() {
return url;
}
OaFormUrlEnum(String type, String url) {
this.type = type;
this.url = url;
}
// 静态内部枚举//地址类型
public static enum InnerEnum {
/**
* 地址类型
*/
editUrl,
detailUrl,
flowOperateUrl,
agreeUrl,
rejectUrl,
stopUrl,
recallUrl,
signUrl,
transferUrl;
public String printValue() {
return this.name();
}
}
}
Loading…
Cancel
Save