Browse Source

更改

master
ligaode 3 months ago
parent
commit
4ae2274783
  1. 5
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/common/OaCommonFeign.java
  2. 23
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesApplyRest.java
  3. 63
      yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesHomeApplyRest.java
  4. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java
  5. 45
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml
  6. 145
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java
  7. 1
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java
  8. 2
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java
  9. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesListDetailVo.java
  10. 3
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java
  11. 37
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDetailVo.java
  12. 35
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java
  13. 4
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.java
  14. 56
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml
  15. 229
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyService.java
  16. 45
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java
  17. 1
      yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java

5
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/common/OaCommonFeign.java

@ -5,6 +5,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@ -30,6 +31,6 @@ public interface OaCommonFeign {
ResultBean<List<OaCommonDictVo>> getAllDeptByPath(@RequestParam("orgPath") String orgPath);
@ApiOperation("查询部门人员")
@GetMapping("/getAllPeoByDept")
ResultBean<List<OaCommonDictVo>> getAllPeoByDept(@RequestParam("deptSid") String deptSid);
@GetMapping("/getAllPeoByDept/{deptSid}")
ResultBean<List<OaCommonDictVo>> getAllPeoByDept(@PathVariable("deptSid") String deptSid);
}

23
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesApplyRest.java

@ -27,6 +27,7 @@ package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adexpatriatesapply.*;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDetailVo;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyDto;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApplyVo;
import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
@ -93,34 +94,28 @@ public class AdExpatriatesApplyRest {
return rb.success();
}
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid AdExpatriatesApplyDto dto) {
public ResultBean submit(@RequestBody AdExpatriatesApplyDto dto) {
return adExpatriatesApplyService.submit(dto);
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
return adExpatriatesApplyService.complete(dto);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return adExpatriatesApplyService.reject(dto);
}
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
public ResultBean<List<NodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query) {
return adExpatriatesApplyService.getPreviousNodesForReject(query);
}
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
public ResultBean<List<NodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query) {
return adExpatriatesApplyService.getNextNodesForSubmit(query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return adExpatriatesApplyService.getFlowOperateTitle(query);
}
}

63
yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesHomeApplyRest.java

@ -25,15 +25,11 @@
*********************************************************/
package com.yxt.anrui.oa.api;
import com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDto;
import com.yxt.anrui.oa.biz.adexpatriateshomeapply.*;
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.NodeVo;
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;
@ -41,7 +37,6 @@ import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@Api(tags = "驻外人员探亲申请")
@RestController
@ -51,20 +46,29 @@ public class AdExpatriatesHomeApplyRest {
@Autowired
private AdExpatriatesHomeApplyService adExpatriatesHomeApplyService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<AdExpatriatesHomeApplyVo>> listPage(@RequestBody PagerQuery<AdExpatriatesHomeApplyQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<AdExpatriatesHomeApplyVo> pv = adExpatriatesHomeApplyService.listPageVo(pq);
return rb.success().setData(pv);
@ApiOperation("初始化(新增或修改)")
@GetMapping({"/getInit", "/getInit/{sid}"})
public ResultBean<AdExpatriatesHomeApplyVo> getInit(
@PathVariable(value = "sid", required = false) String sid,
@RequestParam(value = "userSid", required = false) String userSid,
@RequestParam(value = "orgPath", required = false) String orgPath) {
ResultBean<AdExpatriatesHomeApplyVo> rb = ResultBean.fireFail();
if (sid == null || sid.isEmpty()) {
// 执行新增初始化
if (userSid == null || orgPath == null) {
return rb.setMsg("userSid和orgPath不能为空");
}
return adExpatriatesHomeApplyService.getSaveInit(userSid, orgPath);
} else {
// 执行修改初始化
return adExpatriatesHomeApplyService.getUpdateInit(sid);
}
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody AdExpatriatesHomeApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
adExpatriatesHomeApplyService.saveOrUpdateDto(dto);
return rb.success();
return adExpatriatesHomeApplyService.saveOrUpdateDto(dto);
}
@ApiOperation("根据sid批量删除")
@ -75,12 +79,11 @@ public class AdExpatriatesHomeApplyRest {
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<AdExpatriatesHomeApplyVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
AdExpatriatesHomeApplyVo vo = adExpatriatesHomeApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
@ApiOperation("详情")
@GetMapping("/details/{sid}")
ResultBean<AdExpatriatesHomeApplyDetailVo> details(@PathVariable("sid") String sid
, @RequestParam(value = "application", required = false) String application) {
return adExpatriatesHomeApplyService.details(sid,application);
}
@ApiOperation("提交审批流程")
@ -90,26 +93,20 @@ public class AdExpatriatesHomeApplyRest {
}
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@PutMapping("/complete")
public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
return adExpatriatesHomeApplyService.complete(dto);
}
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
@PutMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody TaskDto dto) {
return adExpatriatesHomeApplyService.reject(dto);
}
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
public ResultBean<List<NodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query) {
return adExpatriatesHomeApplyService.getPreviousNodesForReject(query);
}
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
public ResultBean<List<NodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query) {
return adExpatriatesHomeApplyService.getNextNodesForSubmit(query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap NodeQuery query) {
return adExpatriatesHomeApplyService.getFlowOperateTitle(query);
}
}

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java

@ -54,8 +54,6 @@ import java.util.List;
@ApiModel(value = "驻外人员认定申请 数据传输对象", description = "驻外人员认定申请 数据传输对象")
public class AdExpatriatesApplyDto extends OaFormDto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("基础表单sid")

45
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml

@ -1,20 +1,39 @@
<?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.adexpatriatesapply.AdExpatriatesApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM ad_expatriates_apply ae
left join oa_form ofm on ae.formSid = ofm.sid
WHERE ofm.nodeState != '待提交'
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM ad_expatriates_apply ae
left join oa_form ofm on ae.formSid = ofm.sid
WHERE ofm.nodeState != '待提交'
and find_in_set(oa.sid, #{list})
</select>
</select>
<select id="details" resultType="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDetailVo">
select remarks, sid
from ad_expatriates_apply
where sid = #{sid}
</select>
<select id="details" resultMap="detailMap">
select remarks, sid
from ad_expatriates_apply
where sid = #{sid}
</select>
<resultMap id="detailMap" type="com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDetailVo">
<result column="remarks" property="remarks"/>
<collection property="list" ofType="com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesListDetailVo"
select="selectList" column="sid">
</collection>
</resultMap>
<select id="selectList" resultType="com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesListDetailVo">
select sid,
expatriatesName expatriatesValue,
expatriatesDeptName deptValue,
expatriatesPostName jobValue,
expatriatesHomeAddress,
expatriatesWorkAddress,
expatriatesDate
from ad_expatriates_detail
where mainSid = #{sid}
</select>
</mapper>

145
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java

@ -30,11 +30,9 @@ import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailService;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesListDetailVo;
import com.yxt.anrui.oa.biz.hrhireapply.HrHireApply;
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.file.OaFileEnum;
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
@ -167,18 +165,6 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
adExpatriatesApplyDetailVo.setFiles(files);
adExpatriatesApplyDetailVo.setAppes(appes);
List<AdExpatriatesDetailVo> updateInit = adExpatriatesDetailService.getUpdateInit(sid);
List<AdExpatriatesListDetailVo> adExpatriatesListDetailVos = new ArrayList<>();
if (!updateInit.isEmpty()) {
updateInit.stream().forEach(details -> {
AdExpatriatesListDetailVo adExpatriatesListDetailVo = new AdExpatriatesListDetailVo();
BeanUtil.copyProperties(details,adExpatriatesListDetailVo);
adExpatriatesListDetailVos.add(adExpatriatesListDetailVo);
});
}
adExpatriatesApplyDetailVo.setList(adExpatriatesListDetailVos);
//基础字段赋值
BeanUtil.copyProperties(oaFormService.getDetails(sid), adExpatriatesApplyDetailVo);
return rb.success().setData(adExpatriatesApplyDetailVo);
@ -203,14 +189,9 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
submitDto.setBusinessSid(businessSid);
Map<String, Object> formVariables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
formVariables.put("app", appMap);
formVariables = getMap(formVariables, businessSid);
submitDto.setFormVariables(formVariables);
submitDto.setProcDefId(ProcDefEnum.OAMENDAPPLY.getProDefId());
//若申请单中选择了下一处理人,则需赋值给下一处理人字段,若没有则删除
// submitDto.setNextNodeUserSids("");
submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId());
submitDto.setNextTaskId(dto.getTaskId());
submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule());
return oaFormService.submit(submitDto);
@ -224,11 +205,7 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
*/
public ResultBean complete(CompleteDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
//添加网关
// formVariables.put("", "");
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", dto.getBusinessSid());
formVariables.put("app", appMap);
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto();
BeanUtil.copyProperties(dto, businessVariablesDto);
@ -243,50 +220,102 @@ public class AdExpatriatesApplyService extends MybatisBaseService<AdExpatriatesA
*/
public ResultBean reject(TaskDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", dto.getBusinessSid());
formVariables.put("app", appMap);
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
return oaFormService.reject(dto);
}
public ResultBean<String> getFlowOperateTitle(NodeQuery query) {
// 默认失败返回
ResultBean<String> rb = ResultBean.fireFail();
// 获取next值和formVariables
int next = query.getNext();
// 获取并更新formVariables
Map<String, Object> formVariables = getMap(query.getFormVariables(), query.getBusinessSid());
query.setFormVariables(formVariables);
// 校验next参数是否有效(只允许0或1)
if (next != 0 && next != 1) {
return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息
}
// 获取节点名称
String data = getNodeName(query, next);
// 如果data为null,表示未获取到有效的节点信息
if (data == null) {
return rb.setMsg("没有获取到节点信息"); // 返回错误消息
}
// 返回成功的结果和获取到的节点名称
return rb.success().setData(data);
}
/**
* 提交时获取下一环节
* 网关参数组成
*
* @param query
* @param formVariables
* @param sid
* @return
*/
public ResultBean<List<NodeVo>> getNextNodesForSubmit(NodeQuery query) {
Map<String, Object> formVariables = query.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) {
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
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=" + sid);
appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + 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);
query.setFormVariables(formVariables);
return oaFormService.getNextNodesForSubmit(query);
//根据组织查询是否是分公司
OaForm oaForm = oaFormService.fetchBySid(sid);
AdExpatriatesApply adExpatriatesApply = fetchBySid(sid);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
//是否是分公司
formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
return formVariables;
}
/**
* 驳回时获取上一环节
* 根据next的值获取前一个节点或下一个节点的名称
*
* @param query
* @return
* @param query 包含查询所需参数的NodeQuery对象
* @param next 参数0表示上一环节1表示下一环节
* @return 节点名称如果失败则返回null
*/
public ResultBean<List<NodeVo>> getPreviousNodesForReject(NodeQuery query) {
Map<String, Object> formVariables = query.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
formVariables.put("app", appMap);
query.setFormVariables(formVariables);
return oaFormService.getPreviousNodesForReject(query);
private String getNodeName(NodeQuery query, int next) {
// 根据next值选择相应的服务方法获取节点信息
ResultBean<List<NodeVo>> resultBean = (next == 0)
? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点
: oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点
// 如果服务调用成功
if (resultBean.getSuccess()) {
// 清除结果列表中的null值,避免空节点
resultBean.getData().removeAll(Collections.singleton(null));
// 如果结果列表非空,返回第一个节点的名称
if (!resultBean.getData().isEmpty()) {
return resultBean.getData().get(0).getName();
}
} else {
// 如果服务调用失败,返回null
return null;
}
// 如果结果为空,返回null
return null;
}
}

1
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java

@ -26,7 +26,6 @@
package com.yxt.anrui.oa.biz.adexpatriatesapply;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailVo;
import com.yxt.anrui.oa.biz.hrhiredetails.HrHireDetailsVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

2
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesDetailDto.java

@ -50,8 +50,6 @@ import lombok.Data;
@ApiModel(value = "驻外人员认定列表 数据传输对象", description = "驻外人员认定列表 数据传输对象")
public class AdExpatriatesDetailDto implements Dto {
private String sid;
@ApiModelProperty("驻外人员")
private FormCommon expatriatesObj;
private String expatriatesKey;

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesdetail/AdExpatriatesListDetailVo.java

@ -53,9 +53,9 @@ public class AdExpatriatesListDetailVo implements Vo {
@ApiModelProperty("驻外人员")
private String expatriatesValue;
@ApiModelProperty("驻外人员部门")
private String expatriatesDeptValue;
private String deptValue;
@ApiModelProperty("驻外人员职位")
private String expatriatesPostValue;
private String jobValue;
@ApiModelProperty("驻外人员家庭常住地址")
private String expatriatesHomeAddress;
@ApiModelProperty("驻外人员工作地址")

3
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java

@ -54,7 +54,8 @@ public class AdExpatriatesHomeApply extends BaseEntity {
@ApiModelProperty("本次申请探亲休假结束时间")
private String thisEndDate; // 本次申请探亲休假结束时间
@ApiModelProperty("探亲家属关系")
private String relation; // 探亲家属关系
private String relationKey;
private String relationValue;
@ApiModelProperty("探亲家属人数")
private String peoNum; // 探亲家属人数
@ApiModelProperty("探亲类型")

37
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyQuery.java → yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDetailVo.java

@ -25,16 +25,41 @@
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriateshomeapply;
import com.yxt.common.core.query.Query;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ApiModel(value = "驻外人员探亲申请 查询条件", description = "驻外人员探亲申请 查询条件")
public class AdExpatriatesHomeApplyQuery implements Query {
@ApiModel(value = "驻外人员探亲申请 视图数据对象", description = "驻外人员探亲申请 视图数据对象")
public class AdExpatriatesHomeApplyDetailVo implements Vo {
@ApiModelProperty("申请人岗位")
private String jobValue;
@ApiModelProperty("上次探亲休假探亲地")
private String lastAddress;
@ApiModelProperty("上次探亲休假开始时间")
private String lastStartDate;
@ApiModelProperty("上次探亲休假结束时间")
private String lastEndDate;
@ApiModelProperty("本次探亲休假探亲地")
private String thisAddress;
@ApiModelProperty("本次申请探亲休假开始时间")
private String thisStartDate;
@ApiModelProperty("本次申请探亲休假结束时间")
private String thisEndDate;
@ApiModelProperty("探亲家属关系")
private String relationValue;
@ApiModelProperty("探亲家属人数")
private String peoNum;
@ApiModelProperty("探亲类型")
private String homeType;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<String> appes = new ArrayList<>();
}

35
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriateshomeapply;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import io.swagger.annotations.ApiModel;
@ -38,34 +39,34 @@ import java.util.List;
@ApiModel(value = "驻外人员探亲申请 数据传输对象", description = "驻外人员探亲申请 数据传输对象")
public class AdExpatriatesHomeApplyDto extends OaFormDto {
private String sid; // sid
@ApiModelProperty("申请人岗位sid")
private String postSid; // 申请人岗位sid
@ApiModelProperty("申请人岗位名称")
private String postName; // 申请人岗位名称
@ApiModelProperty("申请人岗位")
private FormCommon jobObj;
private String jobKey;
private String jobValue;
@ApiModelProperty("上次探亲休假探亲地")
private String lastAddress; // 上次探亲休假探亲地
private String lastAddress;
@ApiModelProperty("上次探亲休假开始时间")
private String lastStartDate; // 上次探亲休假开始时间
private String lastStartDate;
@ApiModelProperty("上次探亲休假结束时间")
private String lastEndDate; // 上次探亲休假结束时间
private String lastEndDate;
@ApiModelProperty("本次探亲休假探亲地")
private String thisAddress; // 本次探亲休假探亲地
private String thisAddress;
@ApiModelProperty("本次申请探亲休假开始时间")
private String thisStartDate; // 本次申请探亲休假开始时间
private String thisStartDate;
@ApiModelProperty("本次申请探亲休假结束时间")
private String thisEndDate; // 本次申请探亲休假结束时间
private String thisEndDate;
@ApiModelProperty("探亲家属关系")
private String relation; // 探亲家属关系
private FormCommon relationObj;
private String relationKey;
private String relationValue;
@ApiModelProperty("探亲家属人数")
private String peoNum; // 探亲家属人数
private String peoNum;
@ApiModelProperty("探亲类型")
private String homeType; // 探亲类型
private String homeType;
@ApiModelProperty("基础表单sid")
private String formSid; // 基础表单sid
private String formSid;
@ApiModelProperty("关联审批sid列表,英文逗号分隔")
private String linkFormSids; // 关联审批sid列表,英文逗号分隔
private String linkFormSids;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();

4
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.java

@ -48,7 +48,7 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface AdExpatriatesHomeApplyMapper extends BaseMapper<AdExpatriatesHomeApply> {
IPage<AdExpatriatesHomeApplyVo> selectPageVo(IPage<AdExpatriatesHomeApply> page, @Param(Constants.WRAPPER) Wrapper<AdExpatriatesHomeApply> qw);
int selectBySid(String join);
AdExpatriatesHomeApplyDetailVo details(String sid);
}

56
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml

@ -1,40 +1,30 @@
<?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.adexpatriateshomeapply.AdExpatriatesHomeApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.oa.biz.adexpatriateshomeapply.AdExpatriatesHomeApplyVo">
SELECT aeh.sid,
aeh.remarks,
aeh.formSid,
ofm.billNo,
ofm.createByName,
ofm.deptSid,
ofm.deptName,
ofm.useOrgSid,
ofm.useOrgName,
DATE_FORMAT(ofm.finishTime) as finishTime,
ofm.procInstId,
ofm.procDefId,
ofm.taskId,
ofm.nodeId,
ofm.nodeState,
ofm.formType,
ofm.title,
ofm.createOrgSid,
ofm.createOrgName
FROM ad_expatriates_home_apply aeh
left join oa_form ofm on aeh.formSid = ofm.sid
<where>
${ew.sqlSegment}
</where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM ad_expatriates_home_apply aeh
left join oa_form ofm on aeh.formSid = ofm.sid
WHERE ofm.nodeState != '待提交'
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM ad_expatriates_home_apply aeh
left join oa_form ofm on aeh.formSid = ofm.sid
WHERE ofm.nodeState != '待提交'
and find_in_set(oa.sid, #{list})
</select>
<select id="details" resultType="com.yxt.anrui.oa.biz.adexpatriateshomeapply.AdExpatriatesHomeApplyDetailVo">
select sid,
postName jobValue,
lastAddress,
lastStartDate,
lastEndDate,
thisAddress,
thisStartDate,
thisEndDate,
relationValue,
peoNum,
homeType
from ad_expatriates_home_apply
where sid = #{sid}
</select>
</mapper>

229
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyService.java

@ -26,21 +26,19 @@
package com.yxt.anrui.oa.biz.adexpatriateshomeapply;
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.adexpatriatesapply.AdExpatriatesApplyDto;
import com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApply;
import com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDetailVo;
import com.yxt.anrui.oa.biz.adexpatriatesdetail.AdExpatriatesDetailDto;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
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.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 org.apache.commons.lang3.StringUtils;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -57,19 +55,46 @@ public class AdExpatriatesHomeApplyService extends MybatisBaseService<AdExpatria
private OaAppendixService oaAppendixService;
@Autowired
private OaFormService oaFormService;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
public PagerVo<AdExpatriatesHomeApplyVo> listPageVo(PagerQuery<AdExpatriatesHomeApplyQuery> pq) {
AdExpatriatesHomeApplyQuery query = pq.getParams();
QueryWrapper<AdExpatriatesHomeApply> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("ofm.billNo", query.getBillNo());
}
public ResultBean<AdExpatriatesHomeApplyVo> getSaveInit(String userSid, String orgPath) {
ResultBean<AdExpatriatesHomeApplyVo> rb = ResultBean.fireFail();
AdExpatriatesHomeApplyVo adExpatriatesHomeApplyVo = new AdExpatriatesHomeApplyVo();
adExpatriatesHomeApplyVo.setCreateBySid(userSid);
adExpatriatesHomeApplyVo.setOrgSidPath(orgPath);
return rb.success().setData(adExpatriatesHomeApplyVo);
}
public ResultBean<AdExpatriatesHomeApplyVo> getUpdateInit(String sid) {
ResultBean<AdExpatriatesHomeApplyVo> rb = ResultBean.fireFail();
AdExpatriatesHomeApplyVo adExpatriatesHomeApplyVo = new AdExpatriatesHomeApplyVo();
AdExpatriatesHomeApply adExpatriatesHomeApply = fetchBySid(sid);
if (adExpatriatesHomeApply == null) {
return rb.setMsg("该申请不存在");
}
IPage<AdExpatriatesHomeApply> page = PagerUtil.queryToPage(pq);
IPage<AdExpatriatesHomeApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<AdExpatriatesHomeApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
// adExpatriatesHomeApplyVo.setTestPage(adExpatriatesHomeApply.getTestPage());
OaForm oaForm = oaFormService.fetchBySid(sid);
adExpatriatesHomeApplyVo.setTaskId(oaForm.getTaskId());
adExpatriatesHomeApplyVo.setProcInsId(oaForm.getProcInstId());
//根据部门sid获取orgPath并赋值
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData();
String orgSidPath = organizationVo.getOrgSidPath();
adExpatriatesHomeApplyVo.setOrgSidPath(orgSidPath);
adExpatriatesHomeApplyVo.setCreateBySid(oaForm.getCreateBySid());
BeanUtil.copyProperties(adExpatriatesHomeApply, adExpatriatesHomeApplyVo);
adExpatriatesHomeApplyVo.setJobKey(adExpatriatesHomeApply.getPostSid());
adExpatriatesHomeApplyVo.setJobValue(adExpatriatesHomeApply.getPostName());
FormCommon jobObj = FormCommon.of(adExpatriatesHomeApplyVo.getJobKey(), adExpatriatesHomeApplyVo.getJobValue());
adExpatriatesHomeApplyVo.setJobObj(jobObj);
FormCommon relationObj = FormCommon.of(adExpatriatesHomeApplyVo.getRelationKey(), adExpatriatesHomeApplyVo.getRelationValue());
adExpatriatesHomeApplyVo.setRelationObj(relationObj);
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片");
adExpatriatesHomeApplyVo.setFiles(files);
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
adExpatriatesHomeApplyVo.setAppes(appes);
adExpatriatesHomeApplyVo.setSid(sid);
return rb.success().setData(adExpatriatesHomeApplyVo);
}
public ResultBean<String> saveOrUpdateDto(AdExpatriatesHomeApplyDto dto) {
@ -88,7 +113,6 @@ public class AdExpatriatesHomeApplyService extends MybatisBaseService<AdExpatria
}else if ("2".equals(homeType)){
dto.setBillNo("ZWRYJSTQSQ");
}
dto.setSid(entity.getSid());
ResultBean<String> resultBean = oaFormService.saveOaForm(dto);
@ -117,11 +141,30 @@ public class AdExpatriatesHomeApplyService extends MybatisBaseService<AdExpatria
oaAppendixService.saveFile(sid, files, attachType, fileType);
}
public AdExpatriatesHomeApplyVo fetchDetailsVoBySid(String sid) {
AdExpatriatesHomeApply entity = fetchBySid(sid);
AdExpatriatesHomeApplyVo vo = new AdExpatriatesHomeApplyVo();
BeanUtil.copyProperties(entity, vo);
return vo;
public ResultBean<AdExpatriatesHomeApplyDetailVo> details(String sid, String application) {
ResultBean<AdExpatriatesHomeApplyDetailVo> rb = ResultBean.fireFail();
AdExpatriatesHomeApplyDetailVo adExpatriatesHomeApplyDetailVo = baseMapper.details(sid);
if (adExpatriatesHomeApplyDetailVo == null) {
return rb.setMsg("该申请不存在");
}
List<String> files = oaAppendixService.selectByLinkSid(sid, "图片");
List<String> appes = oaAppendixService.selectByLinkSid(sid, "文件");
adExpatriatesHomeApplyDetailVo.setFiles(files);
adExpatriatesHomeApplyDetailVo.setAppes(appes);
//基础字段赋值
BeanUtil.copyProperties(oaFormService.getDetails(sid), adExpatriatesHomeApplyDetailVo);
return rb.success().setData(adExpatriatesHomeApplyDetailVo);
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
}
delBySids(sids);
return rb.success();
}
/**
@ -143,14 +186,9 @@ public class AdExpatriatesHomeApplyService extends MybatisBaseService<AdExpatria
submitDto.setBusinessSid(businessSid);
Map<String, Object> formVariables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
formVariables.put("app", appMap);
formVariables = getMap(formVariables, businessSid);
submitDto.setFormVariables(formVariables);
submitDto.setProcDefId(ProcDefEnum.OAMENDAPPLY.getProDefId());
//若申请单中选择了下一处理人,则需赋值给下一处理人字段,若没有则删除
// submitDto.setNextNodeUserSids("");
submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId());
submitDto.setNextTaskId(dto.getTaskId());
submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule());
return oaFormService.submit(submitDto);
@ -164,11 +202,7 @@ public class AdExpatriatesHomeApplyService extends MybatisBaseService<AdExpatria
*/
public ResultBean complete(CompleteDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
//添加网关
// formVariables.put("", "");
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", dto.getBusinessSid());
formVariables.put("app", appMap);
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto();
BeanUtil.copyProperties(dto, businessVariablesDto);
@ -183,61 +217,102 @@ public class AdExpatriatesHomeApplyService extends MybatisBaseService<AdExpatria
*/
public ResultBean reject(TaskDto dto) {
Map<String, Object> formVariables = dto.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", dto.getBusinessSid());
formVariables.put("app", appMap);
formVariables = getMap(formVariables, dto.getBusinessSid());
dto.setFormVariables(formVariables);
return oaFormService.reject(dto);
}
/**
* 提交时获取下一环节
*
* @param query
* @return
*/
public ResultBean<List<NodeVo>> getNextNodesForSubmit(NodeQuery query) {
Map<String, Object> formVariables = query.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
formVariables.put("app", appMap);
public ResultBean<String> getFlowOperateTitle(NodeQuery query) {
// 默认失败返回
ResultBean<String> rb = ResultBean.fireFail();
// 获取next值和formVariables
int next = query.getNext();
// 获取并更新formVariables
Map<String, Object> formVariables = getMap(query.getFormVariables(), query.getBusinessSid());
query.setFormVariables(formVariables);
return oaFormService.getNextNodesForSubmit(query);
// 校验next参数是否有效(只允许0或1)
if (next != 0 && next != 1) {
return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息
}
// 获取节点名称
String data = getNodeName(query, next);
// 如果data为null,表示未获取到有效的节点信息
if (data == null) {
return rb.setMsg("没有获取到节点信息"); // 返回错误消息
}
// 返回成功的结果和获取到的节点名称
return rb.success().setData(data);
}
/**
* 驳回时获取上一环节
* 网关参数组成
*
* @param query
* @param formVariables
* @param sid
* @return
*/
public ResultBean<List<NodeVo>> getPreviousNodesForReject(NodeQuery query) {
Map<String, Object> formVariables = query.getFormVariables();
//添加网关
// formVariables.put("", "");
//若有移动端,则需和移动端沟通具体参数,若没有删去即可。
public Map<String, Object> getMap(Map<String, Object> formVariables, String sid) {
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", query.getBusinessSid());
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=" + sid);
appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + 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);
query.setFormVariables(formVariables);
return oaFormService.getPreviousNodesForReject(query);
//根据组织查询是否是分公司
OaForm oaForm = oaFormService.fetchBySid(sid);
AdExpatriatesHomeApply adExpatriatesHomeApply = fetchBySid(sid);
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData();
//是否是分公司
formVariables.put("isTrue", sysOrganization.getIsDept() == 0);
return formVariables;
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
/**
* 根据next的值获取前一个节点或下一个节点的名称
*
* @param query 包含查询所需参数的NodeQuery对象
* @param next 参数0表示上一环节1表示下一环节
* @return 节点名称如果失败则返回null
*/
private String getNodeName(NodeQuery query, int next) {
// 根据next值选择相应的服务方法获取节点信息
ResultBean<List<NodeVo>> resultBean = (next == 0)
? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点
: oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点
// 如果服务调用成功
if (resultBean.getSuccess()) {
// 清除结果列表中的null值,避免空节点
resultBean.getData().removeAll(Collections.singleton(null));
// 如果结果列表非空,返回第一个节点的名称
if (!resultBean.getData().isEmpty()) {
return resultBean.getData().get(0).getName();
}
} else {
// 如果服务调用失败,返回null
return null;
}
delBySids(sids);
return rb.success();
// 如果结果为空,返回null
return null;
}
}

45
yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.oa.biz.adexpatriateshomeapply;
import com.yxt.anrui.oa.biz.oaform.FormCommon;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
@ -38,37 +39,45 @@ import java.util.List;
@ApiModel(value = "驻外人员探亲申请 视图数据对象", description = "驻外人员探亲申请 视图数据对象")
public class AdExpatriatesHomeApplyVo implements Vo {
private String sid; // sid
private String sid;
/* private String userSid;
private String orgPath;*/
private String orgSidPath;
private String createBySid;
@ApiModelProperty("申请人岗位sid")
private String postSid; // 申请人岗位sid
@ApiModelProperty("申请人岗位名称")
private String postName; // 申请人岗位名称
@ApiModelProperty("申请人岗位")
private FormCommon jobObj;
private String jobKey;
private String jobValue;
@ApiModelProperty("上次探亲休假探亲地")
private String lastAddress; // 上次探亲休假探亲地
private String lastAddress;
@ApiModelProperty("上次探亲休假开始时间")
private String lastStartDate; // 上次探亲休假开始时间
private String lastStartDate;
@ApiModelProperty("上次探亲休假结束时间")
private String lastEndDate; // 上次探亲休假结束时间
private String lastEndDate;
@ApiModelProperty("本次探亲休假探亲地")
private String thisAddress; // 本次探亲休假探亲地
private String thisAddress;
@ApiModelProperty("本次申请探亲休假开始时间")
private String thisStartDate; // 本次申请探亲休假开始时间
private String thisStartDate;
@ApiModelProperty("本次申请探亲休假结束时间")
private String thisEndDate; // 本次申请探亲休假结束时间
private String thisEndDate;
@ApiModelProperty("探亲家属关系")
private String relation; // 探亲家属关系
private FormCommon relationObj;
private String relationKey;
private String relationValue;
@ApiModelProperty("探亲家属人数")
private String peoNum; // 探亲家属人数
private String peoNum;
@ApiModelProperty("探亲类型")
private String homeType; // 探亲类型
@ApiModelProperty("基础表单sid")
private String formSid; // 基础表单sid
@ApiModelProperty("关联审批sid列表,英文逗号分隔")
private String linkFormSids; // 关联审批sid列表,英文逗号分隔
private String homeType;
@ApiModelProperty("图片")
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
private List<String> appes = new ArrayList<>();
private String taskId;
@ApiModelProperty("流程实例id")
private String procInsId;
// private String testPage;
}

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

@ -50,7 +50,6 @@ public class OaAppendixService extends MybatisBaseService<OaAppendixMapper, OaAp
baseMapper.insert(v);
});
}
}
public void saveFile(String sid, List<String> files, String attachType, String fileType) {

Loading…
Cancel
Save