diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapply.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapply.java index 203dc247af..11677d7fed 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapply.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapply.java @@ -50,6 +50,10 @@ import lombok.Data; public class ScmVehrebateCheckapply extends BaseEntity { private static final long serialVersionUID = 1L; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门") + private String deptName; @ApiModelProperty("品牌sid") private String brandSid; // 品牌sid @ApiModelProperty("品牌名称") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDetailsVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDetailsVo.java index 866815b236..acf6d4075f 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDetailsVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDetailsVo.java @@ -26,6 +26,7 @@ package com.yxt.anrui.scm.api.scmvehrebatecheckapply; +import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo; import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDto; import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailVo; @@ -35,6 +36,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; import java.util.List; /** @@ -56,8 +58,15 @@ public class ScmVehrebateCheckapplyDetailsVo implements Vo { private String sid; // sid + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("创建日期") + private Date createTime; @ApiModelProperty("备注") private String remarks; // 备注 + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门") + private String deptName; @ApiModelProperty("品牌sid") private String brandSid; // 品牌sid @ApiModelProperty("品牌名称") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDto.java index f065c45571..dd090234fc 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyDto.java @@ -58,6 +58,10 @@ public class ScmVehrebateCheckapplyDto implements Dto { private String createBySid; // 创建人sid @ApiModelProperty("备注") private String remarks; // 备注 + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门") + private String deptName; @ApiModelProperty("品牌sid") private String brandSid; // 品牌sid @ApiModelProperty("品牌名称") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeign.java index 7ee6c06db6..6303f29f6e 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeign.java @@ -26,10 +26,8 @@ package com.yxt.anrui.scm.api.scmvehrebatecheckapply; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.ScmVehRebateCheckApplyCompleteDto; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.SubmitScmVehRebateCheckApplyDto; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.*; +import com.yxt.anrui.scm.api.scmvehrebatewithapply.flow.ScmVehRebateWithApplyDelegateQuery; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.yxt.common.core.query.PagerQuery; @@ -117,4 +115,14 @@ public interface ScmVehrebateCheckapplyFeign { @ApiOperation(value = "获取上一个环节") @GetMapping(value = "/getPreviousNodesForReject") ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap GetNodeQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody ScmVehRebateCheckApplyDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody ScmVehRebateCheckApplyDelegateQuery delegateQuery); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeignFallback.java index 90495d564c..392468fd3d 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/ScmVehrebateCheckapplyFeignFallback.java @@ -26,10 +26,7 @@ package com.yxt.anrui.scm.api.scmvehrebatecheckapply; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.ScmVehRebateCheckApplyCompleteDto; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.SubmitScmVehRebateCheckApplyDto; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -114,4 +111,14 @@ public class ScmVehrebateCheckapplyFeignFallback implements ScmVehrebateCheckapp public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { return null; } + + @Override + public ResultBean delegate(ScmVehRebateCheckApplyDelegateQuery delegateQuery) { + return null; + } + + @Override + public ResultBean assignTask(ScmVehRebateCheckApplyDelegateQuery delegateQuery) { + return null; + } } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/flow/ScmVehRebateCheckApplyDelegateQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/flow/ScmVehRebateCheckApplyDelegateQuery.java new file mode 100644 index 0000000000..218997bd6b --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapply/flow/ScmVehRebateCheckApplyDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class ScmVehRebateCheckApplyDelegateQuery { + + private String userSid; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java index db9fedfb2a..5156f2b9c1 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyRest.java @@ -29,10 +29,7 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.scm.api.flow.FlowTaskVo; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeQuery; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeVo; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.ScmVehRebateCheckApplyCompleteDto; -import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.SubmitScmVehRebateCheckApplyDto; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.*; import com.yxt.anrui.scm.biz.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailService; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; @@ -145,4 +142,14 @@ public class ScmVehrebateCheckapplyRest implements ScmVehrebateCheckapplyFeign { public ResultBean> getPreviousNodesForReject(GetNodeQuery query) { return scmVehrebateCheckapplyService.getPreviousNodesForReject(query); } + + @Override + public ResultBean delegate(ScmVehRebateCheckApplyDelegateQuery query) { + return scmVehrebateCheckapplyService.delegate(query); + } + + @Override + public ResultBean assignTask(ScmVehRebateCheckApplyDelegateQuery query) { + return scmVehrebateCheckapplyService.assignTask(query); + } } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java index c34b9d36cc..972aca5edc 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java @@ -32,6 +32,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; import com.yxt.anrui.flowable.api.flow2.FlowFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; @@ -46,6 +47,7 @@ import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebate; import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo; import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeQuery; import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.GetNodeVo; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.ScmVehRebateCheckApplyDelegateQuery; import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.SubmitScmVehRebateCheckApplyDto; import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetail; import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo; @@ -547,4 +549,20 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } + + public ResultBean delegate(ScmVehRebateCheckApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public ResultBean assignTask(ScmVehRebateCheckApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.assignTask(delegateQuery); + return rb.success(); + } } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyFeign.java index 21ffa76262..94d4b3b616 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/leaveapply/AppLeaveApplyFeign.java @@ -15,7 +15,6 @@ import javax.validation.Valid; * @Date * @Description */ -@Api(tags = "售后盘盈入库") @FeignClient( contextId = "terminal-AppLeaveApply", name = "anrui-terminal", diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDetailsVo.java new file mode 100644 index 0000000000..a1f9c68ba9 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDetailsVo.java @@ -0,0 +1,91 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.oa.mendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +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.Date; +import java.util.List; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情") +public class AppMendApplyDetailsVo implements Vo { + + private String sid; // sid + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("补卡原因") + private String remarks; + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInsId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDto.java new file mode 100644 index 0000000000..fe73692bfe --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyDto.java @@ -0,0 +1,91 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.oa.mendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyDto.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyDto
+ * Description: 补卡申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象") +public class AppMendApplyDto implements Dto { + + private String sid; // sid + private String userSid; + private String orgPath; + + @ApiModelProperty("补卡原因") + private String remarks; + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyFeign.java new file mode 100644 index 0000000000..c90f7f19a2 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyFeign.java @@ -0,0 +1,71 @@ +package com.yxt.anrui.terminal.api.oa.mendapply; + +import com.yxt.anrui.terminal.api.oa.mendapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-AppMendApply", + name = "anrui-terminal", + path = "oa/v1/attendance") +public interface AppMendApplyFeign { + + @ApiOperation("详情") + @GetMapping("/detail") + public ResultBean fetchDetailsBySid(@RequestParam("sid") String sid); + + @ApiOperation("初始化") + @GetMapping("/init") + public ResultBean init(@RequestParam(value = "sid",required = false) String sid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); + + /**********************************************流程********************************************/ + + @ApiOperation("提交审批流程") + @PostMapping("/save") + public ResultBean submit(@RequestBody @Valid SubmitAppMendApplyDto dto); + + @ApiOperation("办理") + @PutMapping("/agree") + @ResponseBody + ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto); + + @ApiOperation("驳回") + @PutMapping("/reject") + @ResponseBody + ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recall") + @ResponseBody + ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stop") + @ResponseBody + ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AppFlowQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/sign") + @ResponseBody + public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/transfer") + @ResponseBody + public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyInitVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyInitVo.java new file mode 100644 index 0000000000..458ccd00aa --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/AppMendApplyInitVo.java @@ -0,0 +1,86 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.oa.mendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") +public class AppMendApplyInitVo implements Vo { + + private String sid; // sid + private String userSid; + private String orgPath; + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppDelegateQuery.java new file mode 100644 index 0000000000..2cd79da02e --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.oa.mendapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowDto.java new file mode 100644 index 0000000000..840699945b --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.oa.mendapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:09 + * @Description + */ +@Data +public class AppFlowDto implements Dto { + private static final long serialVersionUID = 3626473483180150495L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowQuery.java new file mode 100644 index 0000000000..4756834663 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.oa.mendapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:15 + * @Description + */ +@Data +public class AppFlowQuery implements Query { + private static final long serialVersionUID = 5514095179438249641L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + + @ApiModelProperty("组织机构全路径") + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowTaskQuery.java new file mode 100644 index 0000000000..b3740b5722 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/AppFlowTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.oa.mendapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:11 + * @Description + */ +@Data +public class AppFlowTaskQuery implements Query { + private static final long serialVersionUID = -7082170710942810289L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/SubmitAppMendApplyDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/SubmitAppMendApplyDto.java new file mode 100644 index 0000000000..eb3c164cc9 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/oa/mendapply/flowable/SubmitAppMendApplyDto.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.oa.mendapply.flowable; + +import com.yxt.anrui.terminal.api.oa.leaveapply.AppLeaveApplyDto; +import com.yxt.anrui.terminal.api.oa.mendapply.AppMendApplyDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author liuguohui + * @version 1.0 + * @description + * @date 2022/04/13 + */ +@ApiModel("提交") +@Data +public class SubmitAppMendApplyDto extends AppMendApplyDto { + + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehRebateDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehRebateDetailsVo.java new file mode 100644 index 0000000000..a11f16b4e5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehRebateDetailsVo.java @@ -0,0 +1,174 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * Project: anrui-scm(单车返利)
+ * File: ScmVehRebateVo.java
+ * Class: com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVo
+ * Description: 单车返利表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-08-24 09:01:54
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "单车返利表 视图数据详情", description = "单车返利表 视图数据详情") +public class AppVehRebateDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("状态") + private String state; + @ApiModelProperty("创建人sid") + private String createBySid; + @ApiModelProperty("创建日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; // 创建日期 + @ApiModelProperty("备注") + private String remarks; // 备注 + @ApiModelProperty("品牌sid") + private String brandSid; // 品牌sid + @ApiModelProperty("品牌名称") + private String brandName; // 品牌名称 + @ApiModelProperty("车型sid") + private String vehModelSid; // 车型sid + @ApiModelProperty("车型名称") + private String vehModelName; // 车型名称 + @ApiModelProperty("车辆sid") + private String vehSid; // 车辆sid + @ApiModelProperty("车架号") + private String vinNo; // 车架号 + @ApiModelProperty("厂家结算价") + private String manufactorSettlementPrice; // 厂家结算价 + @ApiModelProperty("运费") + private String freight; // 运费 + @ApiModelProperty("返利类型key") + private String rebateTypeKey; // 返利类型key + @ApiModelProperty("返利类型value") + private String rebateTypeValue; // 返利类型value + @ApiModelProperty("返利名称") + private String rebateName; // 返利名称 + @ApiModelProperty("计算标准") + private String calculationStandard; // 计算标准 + @ApiModelProperty("预计返利") + private String estimateRebate; // 预计返利 + @ApiModelProperty("所属年月") + private String palceGenDate; // 所属年月 + @ApiModelProperty("预提日期") + private String withholdingDate; // 预提日期 + @ApiModelProperty("上传日期") + private String uploadDate; // 上传日期 + @ApiModelProperty("上传金额") + private String uploadMoney; // 上传金额 + @ApiModelProperty("二次上传日期") + private String secondaryUploadDate; // 二次上传日期 + @ApiModelProperty("二次上传金额") + private String secondaryUploadMoney; // 二次上传金额 + @ApiModelProperty("待确定金额(动态)") + private String stayDetermineMoney; + @ApiModelProperty("待确定金额(常量)") + private String stayDetermineMoneyNew; + @ApiModelProperty("费用") + private String money; // 费用 + @ApiModelProperty("是否调整") + private String isAdjustment; // 是否调整 + @ApiModelProperty("调整金额") + private String adjustmentMoney; // 调整金额 + @ApiModelProperty("调整说明") + private String adjustmentRemarks; // 调整说明 + @ApiModelProperty("计算方式key") + private String calculationModeKey; // 计算方式key + @ApiModelProperty("计算方式Value") + private String calculationModeValue; // 计算方式Value + @ApiModelProperty("调整状态") + private Integer adjustmentState; + + @ApiModelProperty("一次核对状态") + private Integer onceCheckState; + @ApiModelProperty("其中预计费用") + private BigDecimal expectCost; + @ApiModelProperty("其中预提费用") + private BigDecimal withholdCost; + @ApiModelProperty("差异金额") + private BigDecimal diffAmount; + @ApiModelProperty("预计待支付费用") + private BigDecimal expectTreatCost; + @ApiModelProperty("预计抵顶费用") + private BigDecimal expectSuppCost; + @ApiModelProperty("预计抵顶费用说明") + private String expectSuppRemark; + @ApiModelProperty("上装金额") + private BigDecimal topAmount; + + @ApiModelProperty("一次待支付费用") + private BigDecimal onceTreatCost; + @ApiModelProperty("一次抵顶费用") + private BigDecimal onceSuppCost; + @ApiModelProperty("一次抵顶费用说明") + private String onceSuppRemark; + @ApiModelProperty("临时待支付费用") + private BigDecimal tempTreatCost; + @ApiModelProperty("临时抵顶费用") + private BigDecimal tempSuppCost; + @ApiModelProperty("二次待支付费用") + private BigDecimal secondTreatCost; + @ApiModelProperty("二次抵顶费用") + private BigDecimal secondSuppCost; + @ApiModelProperty("二次抵顶费用说明") + private String secondSuppRemark; + + @ApiModelProperty("待支付费用调整金额") + private BigDecimal treatAdjustmentMoney; + @ApiModelProperty("抵顶费用调整金额") + private BigDecimal suppAdjustmentMoney; + + @ApiModelProperty("使用组织sid") + private String useOrgSid; // 使用组织sid + @ApiModelProperty("使用组织名称") + private String useOrgName; // 使用组织名称 + @ApiModelProperty("创建组织sid") + private String createOrgSid; // 创建组织sid + @ApiModelProperty("创建组织名称") + private String createOrgName; // 创建组织名称 + @ApiModelProperty("组织全路径") + private String orgPath; + + private String vehRebateSid; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyDetailsVo.java new file mode 100644 index 0000000000..4547d4bd15 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyDetailsVo.java @@ -0,0 +1,76 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * Project: anrui-scm(单车返利核对)
+ * File: ScmVehrebateCheckapplyVo.java
+ * Class: com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapplyVo
+ * Description: 单车返利核对申请表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-08-29 16:01:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "单车返利核对申请表 视图数据详情", description = "单车返利核对申请表 视图数据详情") +public class AppVehrebateCheckapplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("核对申请标题") + private String checkApply; + @ApiModelProperty("部门") + private String deptName; + @ApiModelProperty("创建人姓名") + private String createByName; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("创建日期") + private Date createTime; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("流程实例的sid") + private String procInsId; + @ApiModelProperty("taskId") + private String taskId; + @ApiModelProperty("按返利类型统计") + private List scmWhenVehrebateCheckapplydetailDetails; + @ApiModelProperty("按预提年月统计") + private List scmLastVehrebateCheckapplydetailDetails; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyFeign.java new file mode 100644 index 0000000000..2b0a1666cd --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyFeign.java @@ -0,0 +1,77 @@ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply; + + +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable.AppDelegateQuery; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable.AppFlowDto; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable.AppFlowQuery; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable.AppFlowTaskQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Author + * @Date + * @Description + */ +@Api(tags = "售后盘盈入库") +@FeignClient( + contextId = "terminal-AppVehrebateCheckapply", + name = "anrui-terminal", + path = "v1/vehrebatecheckapply") +public interface AppVehrebateCheckapplyFeign { + + @ApiOperation("详情") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("明细") + @GetMapping("/vehRebateCheckDetails/{sid}") + public ResultBean> vehRebateCheckDetails(@PathVariable("sid") String sid); + + @ApiOperation("明细-详情") + @GetMapping("/vehRebateDetail/{sid}") + public ResultBean vehRebateDetail(@PathVariable("sid") String sid); + + /**********************************************流程********************************************/ + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@RequestBody AppFlowDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@RequestBody AppFlowTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap AppFlowQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppDelegateQuery delegateQuery); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody AppDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplydetailDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplydetailDetailsVo.java new file mode 100644 index 0000000000..3655e6a042 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/AppVehrebateCheckapplydetailDetailsVo.java @@ -0,0 +1,77 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * Project: anrui-scm(单车返利核对)
+ * File: ScmVehrebateCheckapplydetailVo.java
+ * Class: com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailVo
+ * Description: 单车返利核对申请表_返利列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-08-29 16:01:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "单车返利核对申请表_返利列表 视图数据详情", description = "单车返利核对申请表_返利列表 视图数据详情") +public class AppVehrebateCheckapplydetailDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("返利类型value") + private String rebateTypeValue; + @ApiModelProperty("预提日期") + private String withholdingDate; + @ApiModelProperty("数量") + private String num; + @ApiModelProperty("预提金额") + private String withRebate; + @ApiModelProperty("其中预提费用") + private String withholdCost; + @ApiModelProperty("上传金额") + private String uploadMoney; + @ApiModelProperty("待确定金额") + private String stayDetermineMoney; + @ApiModelProperty("费用") + private String money; + @ApiModelProperty("调整金额") + private String adjustmentMoney; + @ApiModelProperty("费用调整金额") + private String fyAdjustmentMoney; + @ApiModelProperty("单车返利sid") + private String vehRebateSid; +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppDelegateQuery.java new file mode 100644 index 0000000000..4cab29a5da --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 10:16 + */ +@Data +public class AppDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowDto.java new file mode 100644 index 0000000000..65b806e336 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:09 + * @Description + */ +@Data +public class AppFlowDto implements Dto { + private static final long serialVersionUID = 3626473483180150495L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowQuery.java new file mode 100644 index 0000000000..fbf0d16f6c --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowQuery.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:15 + * @Description + */ +@Data +public class AppFlowQuery implements Query { + private static final long serialVersionUID = 5514095179438249641L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + + @ApiModelProperty("组织机构全路径") + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowTaskQuery.java new file mode 100644 index 0000000000..60c43217de --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/supplychain/vehrebatecheckapply/flowable/AppFlowTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/8/9 14:11 + * @Description + */ +@Data +public class AppFlowTaskQuery implements Query { + private static final long serialVersionUID = -7082170710942810289L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java index 591cf874b1..5669b95d4e 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java @@ -15,7 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.anrui.terminal", "com.yxt.common.base.config" },exclude = {DataSourceAutoConfiguration.class}) -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply","com.yxt.anrui.terminal.fegin.asbusclaimcheckapply","com.yxt.anrui.terminal.fegin.asoldparts","com.yxt.anrui.terminal.fegin.wmsoldregister","com.yxt.anrui.terminal.fegin.asbusrepairinventorybill","com.yxt.anrui.terminal.fegin.wmsoldinventory","com.yxt.anrui.terminal.fegin.wmswarehouserack","com.yxt.anrui.terminal.fegin.asbusrepairinventorybilldetail","com.yxt.anrui.terminal.fegin.wmsinventoryrecord","com.yxt.anrui.terminal.fegin.asstandrecordapply","com.yxt.anrui.terminal.fegin.wmsotheroutapply","com.yxt.anrui.terminal.fegin.oaleaveapply"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory","com.yxt.anrui.terminal.fegin.asbusrepairbill","com.yxt.anrui.terminal.fegin.pmspurchasebill","com.yxt.anrui.terminal.fegin.pmspurchasebackbill","com.yxt.anrui.terminal.fegin.smspricestrategybill","com.yxt.anrui.terminal.fegin.astechtitleapply","com.yxt.anrui.terminal.fegin.asserviceaccommapply","com.yxt.anrui.terminal.fegin.asbusclaiminvoicebill","com.yxt.anrui.terminal.fegin.wmsinventoryallocatebill","com.yxt.anrui.terminal.fegin.asoldpartreturnapply","com.yxt.anrui.terminal.fegin.asoldparthandleapply","com.yxt.anrui.terminal.fegin.asbwdiffapply","com.yxt.anrui.terminal.fegin.asbwinvoiceapply","com.yxt.anrui.terminal.fegin.ashosesuppapply","com.yxt.anrui.terminal.fegin.asbusclaimcheckapply","com.yxt.anrui.terminal.fegin.asoldparts","com.yxt.anrui.terminal.fegin.wmsoldregister","com.yxt.anrui.terminal.fegin.asbusrepairinventorybill","com.yxt.anrui.terminal.fegin.wmsoldinventory","com.yxt.anrui.terminal.fegin.wmswarehouserack","com.yxt.anrui.terminal.fegin.asbusrepairinventorybilldetail","com.yxt.anrui.terminal.fegin.wmsinventoryrecord","com.yxt.anrui.terminal.fegin.asstandrecordapply","com.yxt.anrui.terminal.fegin.wmsotheroutapply","com.yxt.anrui.terminal.fegin.oaleaveapply","com.yxt.anrui.terminal.fegin.oamendapply"}) public class TerminalApplication { public static void main(String[] args) { diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/mendapply/AppMendApplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/mendapply/AppMendApplyRest.java new file mode 100644 index 0000000000..1bbb3cb760 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/mendapply/AppMendApplyRest.java @@ -0,0 +1,93 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.oa.mendapply; + +import com.yxt.anrui.terminal.api.oa.mendapply.flowable.*; +import com.yxt.anrui.terminal.api.oa.mendapply.AppMendApplyDetailsVo; +import com.yxt.anrui.terminal.api.oa.mendapply.AppMendApplyFeign; +import com.yxt.anrui.terminal.api.oa.mendapply.AppMendApplyInitVo; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("oa/v1/attendance") +public class AppMendApplyRest implements AppMendApplyFeign { + + @Autowired + private AppMendApplyService appMendApplyService; + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return appMendApplyService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean init(String sid, String userSid, String orgPath) { + return appMendApplyService.init(sid,userSid,orgPath); + } + + @Override + public ResultBean submit(SubmitAppMendApplyDto dto) { + return appMendApplyService.submit(dto); + } + + @Override + public ResultBean agreeCreditInfo(AppFlowDto dto) { + return appMendApplyService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + return appMendApplyService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + return appMendApplyService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + return appMendApplyService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + return appMendApplyService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppDelegateQuery delegateQuery) { + return appMendApplyService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + return appMendApplyService.assignTask(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/mendapply/AppMendApplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/mendapply/AppMendApplyService.java new file mode 100644 index 0000000000..31ebf22855 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/oa/mendapply/AppMendApplyService.java @@ -0,0 +1,186 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.oa.mendapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.terminal.api.oa.mendapply.flowable.*; +import com.yxt.anrui.terminal.api.oa.mendapply.AppMendApplyDetailsVo; +import com.yxt.anrui.terminal.api.oa.mendapply.AppMendApplyInitVo; +import com.yxt.anrui.terminal.fegin.oamendapply.OaMendApplyDetailsVo; +import com.yxt.anrui.terminal.fegin.oamendapply.OaMendApplyFeign; +import com.yxt.anrui.terminal.fegin.oamendapply.OaMendApplyInitVo; +import com.yxt.anrui.terminal.fegin.oamendapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class AppMendApplyService { + + @Resource + private OaMendApplyFeign oaMendApplyFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyDetailsVo data = oaMendApplyFeign.fetchDetailsBySid(sid).getData(); + AppMendApplyDetailsVo appMendApplyDetailsVo = new AppMendApplyDetailsVo(); + appMendApplyDetailsVo.setProcInsId(data.getProcInstId()); + BeanUtil.copyProperties(data,appMendApplyDetailsVo); + return rb.success().setData(appMendApplyDetailsVo); + } + + public ResultBean init(String sid, String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyInitVo data = oaMendApplyFeign.init(sid, userSid, orgPath).getData(); + AppMendApplyInitVo appMendApplyInitVo = new AppMendApplyInitVo(); + BeanUtil.copyProperties(data,appMendApplyInitVo); + return rb.success().setData(appMendApplyInitVo); + } + + public ResultBean submit(SubmitAppMendApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + SubmitOaMendApplyDto submitOaMendApplyDto = new SubmitOaMendApplyDto(); + BeanUtil.copyProperties(dto,submitOaMendApplyDto); + oaMendApplyFeign.submit(submitOaMendApplyDto); + return rb.success(); + } + + public ResultBean agreeCreditInfo(AppFlowDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + OaMendApplyCompleteDto oaMendApplyCompleteDto = new OaMendApplyCompleteDto(); + BeanUtil.copyProperties(dto, oaMendApplyCompleteDto); + oaMendApplyCompleteDto.setOrgPath(orgSidPath); + ResultBean resultBean = oaMendApplyFeign.complete(oaMendApplyCompleteDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyTaskQuery oaMendApplyTaskQuery = new OaMendApplyTaskQuery(); + BeanUtil.copyProperties(query, oaMendApplyTaskQuery); + ResultBean resultBean = oaMendApplyFeign.reject(oaMendApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyTaskQuery oaMendApplyTaskQuery = new OaMendApplyTaskQuery(); + BeanUtil.copyProperties(query, oaMendApplyTaskQuery); + ResultBean resultBean = oaMendApplyFeign.revokeProcess(oaMendApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyTaskQuery oaMendApplyTaskQuery = new OaMendApplyTaskQuery(); + BeanUtil.copyProperties(query, oaMendApplyTaskQuery); + ResultBean resultBean = oaMendApplyFeign.breakProcess(oaMendApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + OaMendApplyNodeQuery getNodeQuery = new OaMendApplyNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = oaMendApplyFeign.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = oaMendApplyFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyDelegateQuery delegateQuery1 = new + OaMendApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + oaMendApplyFeign.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyDelegateQuery delegateQuery1 = new + OaMendApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + oaMendApplyFeign.assignTask(delegateQuery1); + return rb.success(); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyRest.java new file mode 100644 index 0000000000..63319a5e98 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyRest.java @@ -0,0 +1,95 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.supplychain.vehrebatecheckapply; + +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.AppVehrebateCheckapplyDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.AppVehrebateCheckapplyFeign; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.AppVehRebateDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("v1/vehrebatecheckapply") +public class AppVehrebateCheckapplyRest implements AppVehrebateCheckapplyFeign { + + @Autowired + private AppVehrebateCheckapplyService appVehrebateCheckapplyService; + + @Override + public ResultBean fetchDetailsBySid(String sid) { + return appVehrebateCheckapplyService.fetchDetailsBySid(sid); + } + + @Override + public ResultBean> vehRebateCheckDetails(String sid) { + return appVehrebateCheckapplyService.vehRebateCheckDetails(sid); + } + + @Override + public ResultBean vehRebateDetail(String sid) { + return appVehrebateCheckapplyService.vehRebateDetail(sid); + } + + @Override + public ResultBean agreeCreditInfo(AppFlowDto dto) { + return appVehrebateCheckapplyService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + return appVehrebateCheckapplyService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + return appVehrebateCheckapplyService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + return appVehrebateCheckapplyService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + return appVehrebateCheckapplyService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppDelegateQuery delegateQuery) { + return appVehrebateCheckapplyService.delegate(delegateQuery); + } + + @Override + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + return appVehrebateCheckapplyService.assignTask(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyService.java new file mode 100644 index 0000000000..5e87b24677 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/supplychain/vehrebatecheckapply/AppVehrebateCheckapplyService.java @@ -0,0 +1,206 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.supplychain.vehrebatecheckapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.scm.api.flow.FlowTaskVo; +import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDetailsVo; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapplyDetailsVo; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapplyFeign; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.ScmVehRebateCheckApplyCompleteDto; +import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailFeign; +import com.yxt.anrui.scm.api.scmvehrebatecheckapply.flow.*; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.AppVehRebateDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.AppVehrebateCheckapplyDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.AppVehrebateCheckapplydetailDetailsVo; +import com.yxt.anrui.terminal.api.supplychain.vehrebatecheckapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@Service +public class AppVehrebateCheckapplyService { + + @Resource + private ScmVehrebateCheckapplyFeign scmVehrebateCheckapplyFeign; + @Resource + private ScmVehrebateCheckapplydetailFeign scmVehrebateCheckapplydetailFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysUserFeign sysUserFeign; + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + ScmVehrebateCheckapplyDetailsVo data = scmVehrebateCheckapplyFeign.fetchDetailsBySid(sid).getData(); + AppVehrebateCheckapplyDetailsVo appVehrebateCheckapplyDetailsVo = new AppVehrebateCheckapplyDetailsVo(); + appVehrebateCheckapplyDetailsVo.setProcInsId(data.getProcInstId()); + BeanUtil.copyProperties(data,appVehrebateCheckapplyDetailsVo); + List when = appVehrebateCheckapplyDetailsVo.getScmWhenVehrebateCheckapplydetailDetails(); + List last = appVehrebateCheckapplyDetailsVo.getScmLastVehrebateCheckapplydetailDetails(); + for (AppVehrebateCheckapplydetailDetailsVo vehrebateCheckapplydetailDetailsVo : when) { + vehrebateCheckapplydetailDetailsVo.setSid(vehrebateCheckapplydetailDetailsVo.getVehRebateSid()); + } + for (AppVehrebateCheckapplydetailDetailsVo vehrebateCheckapplydetailDetailsVo : last) { + vehrebateCheckapplydetailDetailsVo.setSid(vehrebateCheckapplydetailDetailsVo.getVehRebateSid()); + } + return rb.success().setData(appVehrebateCheckapplyDetailsVo); + } + + public ResultBean> vehRebateCheckDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + List appVehRebateDetailsVos = new ArrayList<>(); + List data = scmVehrebateCheckapplydetailFeign.vehRebateCheckDetails(sid).getData(); + for (ScmVehRebateDetailsVo datum : data) { + AppVehRebateDetailsVo appVehRebateDetailsVo = new AppVehRebateDetailsVo(); + BeanUtil.copyProperties(datum,appVehRebateDetailsVo); + appVehRebateDetailsVo.setSid(appVehRebateDetailsVo.getVehRebateSid()); + appVehRebateDetailsVos.add(appVehRebateDetailsVo); + } + return rb.success().setData(appVehRebateDetailsVos); + } + + public ResultBean vehRebateDetail(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppVehRebateDetailsVo appVehRebateDetailsVo = new AppVehRebateDetailsVo(); + ScmVehrebateCheckapplyDetailsVo data = scmVehrebateCheckapplyFeign.fetchDetailsBySid(sid).getData(); + BeanUtil.copyProperties(data,appVehRebateDetailsVo); + return rb.success().setData(appVehRebateDetailsVo); + } + + public ResultBean agreeCreditInfo(AppFlowDto dto) { + ResultBean rb = ResultBean.fireFail(); + //根据用户sid获取staffSid + ResultBean userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); + if (!userVoResultBean.getSuccess()) { + return rb.setMsg(userVoResultBean.getMsg()); + } + //根据staffSid获取用户的组织全路径 + ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid()); + if (!staffOrgResultBean.getSuccess()) { + return rb.setMsg(staffOrgResultBean.getMsg()); + } + //用户的组织全路径 + String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); + ScmVehRebateCheckApplyCompleteDto scmVehRebateCheckApplyCompleteDto = new ScmVehRebateCheckApplyCompleteDto(); + BeanUtil.copyProperties(dto, scmVehRebateCheckApplyCompleteDto); + scmVehRebateCheckApplyCompleteDto.setOrgSidPath(orgSidPath); + ResultBean resultBean = scmVehrebateCheckapplyFeign.complete(scmVehRebateCheckApplyCompleteDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmVehrebateCheckapplyFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmVehrebateCheckapplyFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppFlowTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = scmVehrebateCheckapplyFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(AppFlowQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + GetNodeQuery getNodeQuery = new GetNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = scmVehrebateCheckapplyFeign.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = scmVehrebateCheckapplyFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ScmVehRebateCheckApplyDelegateQuery delegateQuery1 = new + ScmVehRebateCheckApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + scmVehrebateCheckapplyFeign.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean assignTask(AppDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + ScmVehRebateCheckApplyDelegateQuery delegateQuery1 = new + ScmVehRebateCheckApplyDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + scmVehrebateCheckapplyFeign.assignTask(delegateQuery1); + return rb.success(); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApply.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApply.java new file mode 100644 index 0000000000..c170f094b2 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApply.java @@ -0,0 +1,84 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.oamendapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApply.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApply
+ * Description: 补卡申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请", description = "补卡申请") +@TableName("oa_mend_apply") +public class OaMendApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDetailsVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDetailsVo.java new file mode 100644 index 0000000000..629545c61c --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDetailsVo.java @@ -0,0 +1,92 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.oamendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.anrui.terminal.fegin.oaleaveapply.OaLeaveApplyDetailsVo; +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.Date; +import java.util.List; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情") +public class OaMendApplyDetailsVo extends OaLeaveApplyDetailsVo implements Vo { + + private String sid; // sid + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("补卡原因") + private String remarks; + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDto.java new file mode 100644 index 0000000000..560077fc08 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyDto.java @@ -0,0 +1,91 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.oamendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyDto.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyDto
+ * Description: 补卡申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象") +public class OaMendApplyDto implements Dto { + + private String sid; // sid + private String userSid; + private String orgPath; + + @ApiModelProperty("补卡原因") + private String remarks; + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyFeign.java new file mode 100644 index 0000000000..095a74c370 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyFeign.java @@ -0,0 +1,69 @@ +package com.yxt.anrui.terminal.fegin.oamendapply; + +import com.yxt.anrui.terminal.fegin.oamendapply.flowable.*; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * @description: 商品基础信息 + * @author: fzz + * @date: 2024/3/7 + **/ +@FeignClient( + contextId = "yxt-oa-OaMendApply", + name = "yxt-oa", + path = "v1/oamendapply" +) +public interface OaMendApplyFeign { + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); + + @ApiOperation("初始化") + @GetMapping("/init") + public ResultBean init(@RequestParam(value = "sid",required = false) String sid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid SubmitOaMendApplyDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody OaMendApplyCompleteDto query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OaMendApplyNodeQuery query); + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OaMendApplyNodeQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody OaMendApplyTaskQuery query); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody OaMendApplyTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody OaMendApplyTaskQuery query); + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody OaMendApplyDelegateQuery query); + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody OaMendApplyDelegateQuery query); +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyInitVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyInitVo.java new file mode 100644 index 0000000000..0ac348aae5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/OaMendApplyInitVo.java @@ -0,0 +1,86 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.fegin.oamendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") +public class OaMendApplyInitVo implements Vo { + + private String sid; // sid + private String userSid; + private String orgPath; + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyCompleteDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyCompleteDto.java new file mode 100644 index 0000000000..f41b9f450c --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyCompleteDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.terminal.fegin.oamendapply.flowable; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 14:57 + * @Description + */ +@Data +public class OaMendApplyCompleteDto implements Dto { + private static final long serialVersionUID = 6378752532534735663L; + + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id(PC)") + private String instanceId; + @ApiModelProperty(value = "流程id(移动)") + private String procInsId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyDelegateQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyDelegateQuery.java new file mode 100644 index 0000000000..badb8962a5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.terminal.fegin.oamendapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class OaMendApplyDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyNodeQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyNodeQuery.java new file mode 100644 index 0000000000..ef4817b22a --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyNodeQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.fegin.oamendapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:04 + * @Description + */ +@Data +public class OaMendApplyNodeQuery implements Query { + private static final long serialVersionUID = 9117613683840483366L; + + @ApiModelProperty(value = "环节定义id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + private Integer next; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyNodeVo.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyNodeVo.java new file mode 100644 index 0000000000..87b49aa7d2 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyNodeVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.terminal.fegin.oamendapply.flowable; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:03 + * @Description + */ +@Data +public class OaMendApplyNodeVo implements Vo { + private static final long serialVersionUID = -833419512294877848L; + + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyTaskQuery.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyTaskQuery.java new file mode 100644 index 0000000000..7d63c2273c --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/OaMendApplyTaskQuery.java @@ -0,0 +1,48 @@ +package com.yxt.anrui.terminal.fegin.oamendapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:06 + * @Description + */ +@Data +public class OaMendApplyTaskQuery implements Query { + private static final long serialVersionUID = 1288615499873178778L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id(PC)") + private String instanceId; + + @ApiModelProperty("流程实例Id(移动)") + private String procInsId; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/SubmitOaMendApplyDto.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/SubmitOaMendApplyDto.java new file mode 100644 index 0000000000..feeebbe58d --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/oamendapply/flowable/SubmitOaMendApplyDto.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.fegin.oamendapply.flowable; + +import com.yxt.anrui.terminal.fegin.oamendapply.OaMendApplyDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author liuguohui + * @version 1.0 + * @description + * @date 2022/04/13 + */ +@ApiModel("提交") +@Data +public class SubmitOaMendApplyDto extends OaMendApplyDto { + + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaHireApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaHireApplyRest.java new file mode 100644 index 0000000000..06162ada3d --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaHireApplyRest.java @@ -0,0 +1,101 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.oahireapply.*; +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.web.bind.annotation.*; + +import java.util.List; +import com.yxt.anrui.oa.api.oahireapply.OaHireApply; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyQuery; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyVo; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyDetailsVo; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyDto; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyFeign; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyFeignFallback.java
+ * Class: com.yxt.anrui.oa.biz.oahireapply.OaHireApplyRest
+ * Description: 招聘需求申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "招聘需求申请") +@RestController("com.yxt.anrui.oa.biz.oahireapply.OaHireApplyRest") +@RequestMapping("v1/oahireapply") +public class OaHireApplyRest implements OaHireApplyFeign { + + @Autowired + private OaHireApplyService oaHireApplyService; + + @Override + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = oaHireApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @Override + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody OaHireApplyDto dto){ + ResultBean rb = ResultBean.fireFail(); + oaHireApplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @Override + @ApiOperation("根据sid批量删除") + @PostMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids){ + ResultBean rb = ResultBean.fireFail(); + oaHireApplyService.delBySids(sids); + return rb.success(); + } + + @Override + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + OaHireApplyDetailsVo vo = oaHireApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java new file mode 100644 index 0000000000..c2349fadca --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java @@ -0,0 +1,163 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.api; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.oaleaveapply.flowable.*; +import com.yxt.anrui.oa.biz.oamendapply.*; +import com.yxt.anrui.oa.biz.oamendapply.flowable.*; +import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; +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 java.util.List; + +import javax.validation.Valid; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyFeignFallback.java
+ * Class: com.yxt.anrui.oa.biz.oamendapply.OaMendApplyRest
+ * Description: 补卡申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "补卡申请") +@RestController +@RequestMapping("v1/oamendapply") +public class OaMendApplyRest { + + @Autowired + private OaMendApplyService oaMendApplyService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = oaMendApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody OaMendApplyDto dto){ + ResultBean rb = ResultBean.fireFail(); + oaMendApplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids){ + ResultBean rb = ResultBean.fireFail(); + oaMendApplyService.delAll(sids); + return rb.success(); + } + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){ + ResultBean rb = ResultBean.fireFail(); + OaMendApplyDetailsVo vo = oaMendApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @ApiOperation("初始化") + @GetMapping("/init") + public ResultBean init(@RequestParam(value = "sid",required = false) String sid, @RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath) { + ResultBean rb = ResultBean.fireFail(); + OaMendApplyInitVo vo = oaMendApplyService.init(sid, userSid, orgPath); + return rb.success().setData(vo); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid SubmitOaMendApplyDto dto) { + return oaMendApplyService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody OaLeaveApplyCompleteDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + return oaMendApplyService.complete(bv); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OaMendApplyNodeQuery query) { + return oaMendApplyService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OaMendApplyNodeQuery query) { + return oaMendApplyService.getNextNodesForSubmit(query); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody OaMendApplyTaskQuery query) { + return oaMendApplyService.reject(query); + } + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody OaMendApplyTaskQuery query) { + return oaMendApplyService.revokeProcess(query); + } + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody OaMendApplyTaskQuery query) { + return oaMendApplyService.breakProcess(query); + } + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody OaMendApplyDelegateQuery query) { + return oaMendApplyService.delegate(query); + } + + @ApiOperation(value = "转办") + @PutMapping(value = "/assignTask") + @ResponseBody + public ResultBean assignTask(@RequestBody OaMendApplyDelegateQuery query) { + return oaMendApplyService.assignTask(query); + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApply.java new file mode 100644 index 0000000000..834bf78153 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApply.java @@ -0,0 +1,83 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApply.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApply
+ * Description: 招聘需求申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求申请", description = "招聘需求申请") +@TableName("oa_hire_apply") +public class OaHireApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("所属机构key") + private String typeKey; // 所属机构key + @ApiModelProperty("所属机构value") + private String typeValue; // 所属机构value + @ApiModelProperty("是否财务") + private String isCw; // 是否财务 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyDetailsVo.java new file mode 100644 index 0000000000..f07e0bf093 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyDetailsVo.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApplyVo
+ * Description: 招聘需求申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求申请 视图数据详情", description = "招聘需求申请 视图数据详情") +public class OaHireApplyDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("所属机构key") + private String typeKey; // 所属机构key + @ApiModelProperty("所属机构value") + private String typeValue; // 所属机构value + @ApiModelProperty("是否财务") + private String isCw; // 是否财务 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTimeStart; // 办结日期 + private Date finishTimeEnd; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyDto.java new file mode 100644 index 0000000000..d6a1462fae --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyDto.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + + +import com.yxt.common.core.dto.Dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyDto.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApplyDto
+ * Description: 招聘需求申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求申请 数据传输对象", description = "招聘需求申请 数据传输对象") +public class OaHireApplyDto implements Dto { + + private String sid; // sid + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("所属机构key") + private String typeKey; // 所属机构key + @ApiModelProperty("所属机构value") + private String typeValue; // 所属机构value + @ApiModelProperty("是否财务") + private String isCw; // 是否财务 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTimeStart; // 办结日期 + private Date finishTimeEnd; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyFeign.java new file mode 100644 index 0000000000..eea8925829 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyFeign.java @@ -0,0 +1,78 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyFeign.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApplyFeign
+ * Description: 招聘需求申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "招聘需求申请") +@FeignClient( + contextId = "yxt-oa-OaHireApply", + name = "yxt-oa", + path = "v1/oahireapply", + fallback = OaHireApplyFeignFallback.class) +public interface OaHireApplyFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + @ResponseBody + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("新增或修改") + @PostMapping("/save") + @ResponseBody + public ResultBean save(@RequestBody OaHireApplyDto dto); + + @ApiOperation("根据sid删除记录") + @DeleteMapping("/delBySids") + @ResponseBody + public ResultBean delBySids(@RequestBody String[] sids); + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyFeignFallback.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyFeignFallback.java new file mode 100644 index 0000000000..9f76d4e83f --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyFeignFallback.java @@ -0,0 +1,72 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyFeignFallback.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApplyFeignFallback
+ * Description: 招聘需求申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class OaHireApplyFeignFallback implements OaHireApplyFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口yxt-oa/oahireapply/listPage无法访问"); + } + + @Override + public ResultBean save(OaHireApplyDto dto){ + return ResultBean.fireFail().setMsg("接口yxt-oa/oahireapply/save无法访问"); + } + + @Override + public ResultBean delBySids( String[] sids){ + return ResultBean.fireFail().setMsg("接口yxt-oa/oahireapply/delBySids无法访问"); + } + + @Override + public ResultBean fetchDetailsBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口yxt-oa/oahireapply/fetchDetailsBySid无法访问"); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyMapper.java new file mode 100644 index 0000000000..bf2b8cff3e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyMapper.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.anrui.oa.api.oahireapply.OaHireApply; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyVo; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyMapper.java
+ * Class: com.yxt.anrui.oa.biz.oahireapply.OaHireApplyMapper
+ * Description: 招聘需求申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface OaHireApplyMapper extends BaseMapper { + + //@Update("update oa_hire_apply set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from oa_hire_apply") + List selectListVo(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyMapper.xml new file mode 100644 index 0000000000..afafb7a410 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyQuery.java new file mode 100644 index 0000000000..23d65709e3 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyQuery.java @@ -0,0 +1,83 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + + +import com.yxt.common.core.query.Query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyQuery.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApplyQuery
+ * Description: 招聘需求申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求申请 查询条件", description = "招聘需求申请 查询条件") +public class OaHireApplyQuery implements Query { + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("所属机构key") + private String typeKey; // 所属机构key + @ApiModelProperty("所属机构value") + private String typeValue; // 所属机构value + @ApiModelProperty("是否财务") + private String isCw; // 是否财务 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTimeStart; // 办结日期 + private Date finishTimeEnd; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyService.java new file mode 100644 index 0000000000..8807bbce49 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyService.java @@ -0,0 +1,110 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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 com.yxt.anrui.oa.api.oahireapply.OaHireApply; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyQuery; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyVo; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyDetailsVo; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyDto; +import com.yxt.anrui.oa.api.oahireapply.OaHireApplyFeign; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyService.java
+ * Class: com.yxt.anrui.oa.biz.oahireapply.OaHireApplyService
+ * Description: 招聘需求申请 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class OaHireApplyService extends MybatisBaseService { + private QueryWrapper createQueryWrapper(OaHireApplyQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + OaHireApplyQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(OaHireApplyDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + this.insertByDto(dto); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(OaHireApplyDto dto){ + OaHireApply entity = new OaHireApply(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(OaHireApplyDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + OaHireApply entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public OaHireApplyDetailsVo fetchDetailsVoBySid(String sid){ + OaHireApply entity = fetchBySid(sid); + OaHireApplyDetailsVo vo = new OaHireApplyDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyVo.java new file mode 100644 index 0000000000..e96dde37e5 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahireapply/OaHireApplyVo.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahireapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oahireapply.OaHireApplyVo
+ * Description: 招聘需求申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求申请 视图数据对象", description = "招聘需求申请 视图数据对象") +public class OaHireApplyVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("所属机构key") + private String typeKey; // 所属机构key + @ApiModelProperty("所属机构value") + private String typeValue; // 所属机构value + @ApiModelProperty("是否财务") + private String isCw; // 是否财务 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTimeStart; // 办结日期 + private Date finishTimeEnd; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetails.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetails.java new file mode 100644 index 0000000000..fa05c44c9e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetails.java @@ -0,0 +1,74 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + +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; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetails.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetails
+ * Description: 招聘需求明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求明细", description = "招聘需求明细") +@TableName("oa_hire_details") +public class OaHireDetails extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("招聘部门") + private String hireDeptName; // 招聘部门 + @ApiModelProperty("招聘岗位") + private String hirePostName; // 招聘岗位 + @ApiModelProperty("招聘人数") + private String hirePeoNum; // 招聘人数 + @ApiModelProperty("学历要求key") + private String stuexTypeKey; // 学历要求key + @ApiModelProperty("学历要求value") + private String stuexTypeValue; // 学历要求value + @ApiModelProperty("薪资待遇") + private String salary; // 薪资待遇 + @ApiModelProperty("职位福利") + private String benefit; // 职位福利 + @ApiModelProperty("职位描述") + private String positionRemarks; // 职位描述 + @ApiModelProperty("任职要求") + private String requireRemarks; // 任职要求 + @ApiModelProperty("工作地址") + private String workAddress; // 工作地址 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsDetailsVo.java new file mode 100644 index 0000000000..1b8de6f594 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsDetailsVo.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsVo.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsVo
+ * Description: 招聘需求明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求明细 视图数据详情", description = "招聘需求明细 视图数据详情") +public class OaHireDetailsDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("招聘部门") + private String hireDeptName; // 招聘部门 + @ApiModelProperty("招聘岗位") + private String hirePostName; // 招聘岗位 + @ApiModelProperty("招聘人数") + private String hirePeoNum; // 招聘人数 + @ApiModelProperty("学历要求key") + private String stuexTypeKey; // 学历要求key + @ApiModelProperty("学历要求value") + private String stuexTypeValue; // 学历要求value + @ApiModelProperty("薪资待遇") + private String salary; // 薪资待遇 + @ApiModelProperty("职位福利") + private String benefit; // 职位福利 + @ApiModelProperty("职位描述") + private String positionRemarks; // 职位描述 + @ApiModelProperty("任职要求") + private String requireRemarks; // 任职要求 + @ApiModelProperty("工作地址") + private String workAddress; // 工作地址 + +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsDto.java new file mode 100644 index 0000000000..60fe5bf2de --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsDto.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + + +import com.yxt.common.core.dto.Dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsDto.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsDto
+ * Description: 招聘需求明细 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求明细 数据传输对象", description = "招聘需求明细 数据传输对象") +public class OaHireDetailsDto implements Dto { + + private String sid; // sid + + @ApiModelProperty("招聘部门") + private String hireDeptName; // 招聘部门 + @ApiModelProperty("招聘岗位") + private String hirePostName; // 招聘岗位 + @ApiModelProperty("招聘人数") + private String hirePeoNum; // 招聘人数 + @ApiModelProperty("学历要求key") + private String stuexTypeKey; // 学历要求key + @ApiModelProperty("学历要求value") + private String stuexTypeValue; // 学历要求value + @ApiModelProperty("薪资待遇") + private String salary; // 薪资待遇 + @ApiModelProperty("职位福利") + private String benefit; // 职位福利 + @ApiModelProperty("职位描述") + private String positionRemarks; // 职位描述 + @ApiModelProperty("任职要求") + private String requireRemarks; // 任职要求 + @ApiModelProperty("工作地址") + private String workAddress; // 工作地址 + +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsFeign.java new file mode 100644 index 0000000000..c0c498b6a2 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsFeign.java @@ -0,0 +1,78 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsFeign.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsFeign
+ * Description: 招聘需求明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "招聘需求明细") +@FeignClient( + contextId = "yxt-oa-OaHireDetails", + name = "yxt-oa", + path = "v1/oahiredetails", + fallback = OaHireDetailsFeignFallback.class) +public interface OaHireDetailsFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + @ResponseBody + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("新增或修改") + @PostMapping("/save") + @ResponseBody + public ResultBean save(@RequestBody OaHireDetailsDto dto); + + @ApiOperation("根据sid删除记录") + @DeleteMapping("/delBySids") + @ResponseBody + public ResultBean delBySids(@RequestBody String[] sids); + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + @ResponseBody + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsFeignFallback.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsFeignFallback.java new file mode 100644 index 0000000000..4889363a2b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsFeignFallback.java @@ -0,0 +1,72 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsFeignFallback.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsFeignFallback
+ * Description: 招聘需求明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class OaHireDetailsFeignFallback implements OaHireDetailsFeign { + + @Override + public ResultBean> listPage(PagerQuery pq){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口yxt-oa/oahiredetails/listPage无法访问"); + } + + @Override + public ResultBean save(OaHireDetailsDto dto){ + return ResultBean.fireFail().setMsg("接口yxt-oa/oahiredetails/save无法访问"); + } + + @Override + public ResultBean delBySids( String[] sids){ + return ResultBean.fireFail().setMsg("接口yxt-oa/oahiredetails/delBySids无法访问"); + } + + @Override + public ResultBean fetchDetailsBySid(String sid){ + ResultBean rb = ResultBean.fireFail(); + return rb.setMsg("接口yxt-oa/oahiredetails/fetchDetailsBySid无法访问"); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java new file mode 100644 index 0000000000..2f6f2bd612 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetails; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsVo; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsMapper.java
+ * Class: com.yxt.anrui.oa.biz.oahiredetails.OaHireDetailsMapper
+ * Description: 招聘需求明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface OaHireDetailsMapper extends BaseMapper { + + //@Update("update oa_hire_details set name=#{msg} where id=#{id}") + //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); + + @Select("select * from oa_hire_details") + List selectListVo(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml new file mode 100644 index 0000000000..cfad334c0e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsMapper.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsQuery.java new file mode 100644 index 0000000000..ccb6615f67 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsQuery.java @@ -0,0 +1,73 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsQuery.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsQuery
+ * Description: 招聘需求明细 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求明细 查询条件", description = "招聘需求明细 查询条件") +public class OaHireDetailsQuery implements Query { + + @ApiModelProperty("招聘部门") + private String hireDeptName; // 招聘部门 + @ApiModelProperty("招聘岗位") + private String hirePostName; // 招聘岗位 + @ApiModelProperty("招聘人数") + private String hirePeoNum; // 招聘人数 + @ApiModelProperty("学历要求key") + private String stuexTypeKey; // 学历要求key + @ApiModelProperty("学历要求value") + private String stuexTypeValue; // 学历要求value + @ApiModelProperty("薪资待遇") + private String salary; // 薪资待遇 + @ApiModelProperty("职位福利") + private String benefit; // 职位福利 + @ApiModelProperty("职位描述") + private String positionRemarks; // 职位描述 + @ApiModelProperty("任职要求") + private String requireRemarks; // 任职要求 + @ApiModelProperty("工作地址") + private String workAddress; // 工作地址 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java new file mode 100644 index 0000000000..5eabaa3835 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsService.java @@ -0,0 +1,110 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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 com.yxt.anrui.oa.api.oahiredetails.OaHireDetails; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsQuery; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsVo; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsDetailsVo; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsDto; +import com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsFeign; + +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsService.java
+ * Class: com.yxt.anrui.oa.biz.oahiredetails.OaHireDetailsService
+ * Description: 招聘需求明细 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class OaHireDetailsService extends MybatisBaseService { + private QueryWrapper createQueryWrapper(OaHireDetailsQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + return qw; + } + + public PagerVo listPageVo(PagerQuery pq) { + OaHireDetailsQuery query = pq.getParams(); + QueryWrapper qw = createQueryWrapper(query); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public void saveOrUpdateDto(OaHireDetailsDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + this.insertByDto(dto); + return; + } + this.updateByDto(dto); + } + + public void insertByDto(OaHireDetailsDto dto){ + OaHireDetails entity = new OaHireDetails(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public void updateByDto(OaHireDetailsDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + OaHireDetails entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public OaHireDetailsDetailsVo fetchDetailsVoBySid(String sid){ + OaHireDetails entity = fetchBySid(sid); + OaHireDetailsDetailsVo vo = new OaHireDetailsDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsVo.java new file mode 100644 index 0000000000..77bc6ebfdc --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oahiredetails/OaHireDetailsVo.java @@ -0,0 +1,75 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oahiredetails; + + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(招聘需求)
+ * File: OaHireDetailsVo.java
+ * Class: com.yxt.anrui.oa.api.oahiredetails.OaHireDetailsVo
+ * Description: 招聘需求明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-05 11:51:52
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "招聘需求明细 视图数据对象", description = "招聘需求明细 视图数据对象") +public class OaHireDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("招聘部门") + private String hireDeptName; // 招聘部门 + @ApiModelProperty("招聘岗位") + private String hirePostName; // 招聘岗位 + @ApiModelProperty("招聘人数") + private String hirePeoNum; // 招聘人数 + @ApiModelProperty("学历要求key") + private String stuexTypeKey; // 学历要求key + @ApiModelProperty("学历要求value") + private String stuexTypeValue; // 学历要求value + @ApiModelProperty("薪资待遇") + private String salary; // 薪资待遇 + @ApiModelProperty("职位福利") + private String benefit; // 职位福利 + @ApiModelProperty("职位描述") + private String positionRemarks; // 职位描述 + @ApiModelProperty("任职要求") + private String requireRemarks; // 任职要求 + @ApiModelProperty("工作地址") + private String workAddress; // 工作地址 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaleaveapply/OaLeaveApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaleaveapply/OaLeaveApplyService.java index 6b3a57af60..0b17d70995 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaleaveapply/OaLeaveApplyService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaleaveapply/OaLeaveApplyService.java @@ -91,8 +91,6 @@ public class OaLeaveApplyService extends MybatisBaseService_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApply.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApply
+ * Description: 补卡申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请", description = "补卡申请") +@TableName("oa_mend_apply") +public class OaMendApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java new file mode 100644 index 0000000000..903ba9c894 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDetailsVo.java @@ -0,0 +1,93 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据详情", description = "补卡申请 视图数据详情") +public class OaMendApplyDetailsVo implements Vo { + + private String sid; // sid + + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("补卡原因") + private String remarks; + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java new file mode 100644 index 0000000000..6d8734fe16 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyDto.java @@ -0,0 +1,93 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + + +import com.yxt.common.core.dto.Dto; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyDto.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyDto
+ * Description: 补卡申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 数据传输对象", description = "补卡申请 数据传输对象") +public class OaMendApplyDto implements Dto { + + private String sid; // sid + private String userSid; + private String orgPath; + + @ApiModelProperty("补卡原因") + private String remarks; + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java new file mode 100644 index 0000000000..a93422cdab --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyInitVo.java @@ -0,0 +1,86 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") +public class OaMendApplyInitVo implements Vo { + + private String sid; // sid + private String userSid; + private String orgPath; + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java new file mode 100644 index 0000000000..b83344fb69 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java @@ -0,0 +1,59 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import java.util.Map; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyMapper.java
+ * Class: com.yxt.anrui.oa.biz.oamendapply.OaMendApplyMapper
+ * Description: 补卡申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface OaMendApplyMapper extends BaseMapper { + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + int updateFlowFiled(Map map); + + int selectBySid(String join); + + String selectNum(String billNo); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml new file mode 100644 index 0000000000..6d70f1274d --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + UPDATE oa_mend_apply + SET nodeState=#{nodeState}, nodeId=#{taskDefKey} + + , finishTime = NOW() + + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java new file mode 100644 index 0000000000..86cd26e0cf --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyQuery.java @@ -0,0 +1,83 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + + +import com.yxt.common.core.query.Query; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyQuery.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyQuery
+ * Description: 补卡申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 查询条件", description = "补卡申请 查询条件") +public class OaMendApplyQuery implements Query { + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTimeStart; // 办结日期 + private Date finishTimeEnd; // 办结日期 + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java new file mode 100644 index 0000000000..cb0d39cd6d --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java @@ -0,0 +1,571 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendix; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oamendapply.flowable.*; +import com.yxt.anrui.oa.feign.base.Rule; +import com.yxt.anrui.oa.feign.file.OaFileEnum; +import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; +import com.yxt.anrui.oa.feign.flowable.flow.FlowableFeign; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo; +import com.yxt.anrui.oa.feign.flowable.flow2.FlowDelegateQuery; +import com.yxt.anrui.oa.feign.flowable.flow2.FlowFeign; +import com.yxt.anrui.oa.feign.flowable.flowtask.FlowTaskFeign; +import com.yxt.anrui.oa.feign.flowable.flowtask.FlowTaskVo; +import com.yxt.anrui.oa.feign.flowable.flowtask.LatestTaskVo; +import com.yxt.anrui.oa.feign.message.MessageFeign; +import com.yxt.anrui.oa.feign.message.MessageFlowVo; +import com.yxt.anrui.oa.feign.message.MessageFlowableQuery; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.anrui.oa.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.oa.feign.sysuser.SysUserFeign; +import com.yxt.anrui.oa.feign.sysuser.SysUserVo; +import com.yxt.common.base.config.component.FileUploadComponent; +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.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +@Service +public class OaMendApplyService extends MybatisBaseService { + + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private OaAppendixService oaAppendixService; + + public PagerVo listPageVo(PagerQuery pq) { + OaMendApplyQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public String saveOrUpdateDto(OaMendApplyDto dto){ + String dtoSid = dto.getSid(); + List files = dto.getFiles(); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + dto.setUseOrgSid(useOrgSid); + dto.setUseOrgName(organizationVo.getName()); + String deptName = ""; + String deptSid = ""; + List split = Arrays.asList(dto.getOrgPath().split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + dto.setDeptSid(deptSid); + dto.setDeptName(deptName); + if (StringUtils.isBlank(dtoSid)) { + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + billNo = "QJSQ" + organizationVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + dto.setBillNo(billNo); + String sid = this.insertByDto(dto); + for (String file : files) { + String filePath = file.replace(fileUploadComponent.getUrlPrefix(), ""); + OaAppendix oaAppendix = new OaAppendix(); + oaAppendix.setLinkSid(sid); + oaAppendix.setAttachType(OaFileEnum.OAMENDAPPLY.getAttachType()); + oaAppendix.setFilePath(filePath); + oaAppendixService.save(oaAppendix); + } + return sid; + } + this.updateByDto(dto); + return dtoSid; + } + + public String insertByDto(OaMendApplyDto dto){ + OaMendApply entity = new OaMendApply(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); + entity.setCreateBySid(dto.getUserSid()); + SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData(); + entity.setCreateByName(sysUserVo.getName()); + baseMapper.insert(entity); + return entity.getSid(); + } + + public void updateByDto(OaMendApplyDto dto){ + String dtoSid = dto.getSid(); + if (StringUtils.isBlank(dtoSid)) { + return; + } + OaMendApply entity = fetchBySid(dtoSid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + + public OaMendApplyDetailsVo fetchDetailsVoBySid(String sid){ + OaMendApply entity = fetchBySid(sid); + OaMendApplyDetailsVo vo = new OaMendApplyDetailsVo(); + BeanUtil.copyProperties(entity, vo); + List oaAppendices = oaAppendixService.fetchByLinkSid(sid); + List files = new ArrayList<>(); + for (OaAppendix oaAppendix : oaAppendices) { + String url = fileUploadComponent.getUrlPrefix() + oaAppendix.getFilePath(); + files.add(url); + } + vo.setFiles(files); + return vo; + } + + public ResultBean submit(SubmitOaMendApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + OaMendApply oaMendApply = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, oaMendApply); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + //新增修改保存 + String businessSid = saveOrUpdateDto(dto); + oaMendApply = fetchBySid(businessSid); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //用户的部门全路径sid + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaMendApply.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + //业务sid + bv.setBusinessSid(businessSid); + //用户sid + bv.setUserSid(oaMendApply.getCreateBySid()); + //若app移动端有此功能,则传递appMap参数 + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。 + variables.put("app", appMap); + //网关 + + //流程定义id + bv.setModelId(ProcDefEnum.OAMENDAPPLY.getProDefId()); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaMendApply.getDeptSid()).getData(); + bv.setNextNodeUserSids(organizationVo.getManagerSid()); + bv.setFormVariables(variables); + if (r == 1) { + ResultBean voResultBean = flowFeign.startProcess(bv); + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + //极光推送 + oaMendApply = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + OaMendApply mendApply = oaMendApply; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("补卡申请"); + messageFlowableQuery.setMsgContent(mendApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("补卡申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(oaMendApply.getTaskId()); + bv.setTaskDefKey(oaMendApply.getNodeId()); + bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + private synchronized int submitBusinessData(SubmitOaMendApplyDto dto, OaMendApply oaMendApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (oaMendApply != null) { + String businessTaskId = oaMendApply.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + + } + return r; + } + + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + OaMendApply oaMendApply = fetchBySid(businessSid); + Map variables = new HashMap<>(); + //网关 + + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //======================================= + bv.setFormVariables(variables); + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaMendApply.getDeptSid()).getData(); + bv.setOrgSidPath(deptVo.getOrgSidPath()); + bv.setModelId(oaMendApply.getProcDefId()); + if (bv.getTaskId().equals(oaMendApply.getTaskId())) { + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + + } else { + //极光推送 + oaMendApply = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + OaMendApply mendApply = oaMendApply; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + ufVo.setProcDefId(mendApply.getProcDefId()); + ufVo.setProcInsId(mendApply.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("补卡申请"); + messageFlowableQuery.setMsgContent(mendApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("补卡申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean> getPreviousNodesForReject(OaMendApplyNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + //网关 + + bv.setModelId(oaMendApply.getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OaMendApplyNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(OaMendApplyNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + //查询业务信息 + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + //网关 + + bv.setModelId(oaMendApply.getProcDefId()); + bv.setFormVariables(variables); + //======================================= + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OaMendApplyNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean reject(OaMendApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + OaMendApply oaMendApply = fetchBySid(businessSid); + if (oaMendApply == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = oaMendApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //网关 + + flowTaskVo.setValues(variables); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + oaMendApply = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + OaMendApply mendApply = oaMendApply; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = mendApply.getProcInstId(); + ufVo.setProcInsId(procId); + ufVo.setProcDefId(mendApply.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("补卡申请"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); + if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(mendApply.getCreateBySid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(mendApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + messageFlowableQuery.setMsgTitle("补卡申请"); + messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(OaMendApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = oaMendApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(OaMendApplyTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + OaMendApply oaMendApply = fetchBySid(query.getBusinessSid()); + String businessTaskId = oaMendApply.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(oaMendApply.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean delegate(OaMendApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public ResultBean assignTask(OaMendApplyDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.assignTask(delegateQuery); + return rb.success(); + } + + 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(); + } + + public OaMendApplyInitVo init(String sid, String userSid, String orgPath) { + OaMendApplyInitVo oaMendApplyInitVo = new OaMendApplyInitVo(); + oaMendApplyInitVo.setUserSid(userSid); + oaMendApplyInitVo.setOrgPath(orgPath); + return oaMendApplyInitVo; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java new file mode 100644 index 0000000000..b48286a9c1 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyVo.java @@ -0,0 +1,84 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.oamendapply; + + +import com.yxt.common.core.vo.Vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import java.util.Date; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(补卡申请)
+ * File: OaMendApplyVo.java
+ * Class: com.yxt.anrui.oa.api.oamendapply.OaMendApplyVo
+ * Description: 补卡申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-12-04 14:14:34
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "补卡申请 视图数据对象", description = "补卡申请 视图数据对象") +public class OaMendApplyVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + @ApiModelProperty("申请人") + private String createByName; // 申请人 + @ApiModelProperty("申请部门sid") + private String deptSid; // 申请部门sid + @ApiModelProperty("申请部门名称") + private String deptName; // 申请部门名称 + @ApiModelProperty("补卡时间") + private String time; // 补卡时间 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("分公司名称") + private String useOrgName; // 分公司名称 + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + @ApiModelProperty("办结日期") + private Date finishTime; + @ApiModelProperty("实例id") + private String procInstId; // 实例id + @ApiModelProperty("流程定义id") + private String procDefId; // 流程定义id + @ApiModelProperty("任务id") + private String taskId; // 任务id + @ApiModelProperty("环节id") + private String nodeId; // 环节id + @ApiModelProperty("流程状态") + private String nodeState; // 流程状态 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyCompleteDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyCompleteDto.java new file mode 100644 index 0000000000..e054cda556 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyCompleteDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.oa.biz.oamendapply.flowable; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 14:57 + * @Description + */ +@Data +public class OaMendApplyCompleteDto implements Dto { + private static final long serialVersionUID = 6378752532534735663L; + + @ApiModelProperty(value = "用户sid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id(PC)") + private String instanceId; + @ApiModelProperty(value = "流程id(移动)") + private String procInsId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + + private String orgPath; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyDelegateQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyDelegateQuery.java new file mode 100644 index 0000000000..d2f50cfc90 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.oa.biz.oamendapply.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class OaMendApplyDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyNodeQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyNodeQuery.java new file mode 100644 index 0000000000..ade0204250 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyNodeQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.oa.biz.oamendapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:04 + * @Description + */ +@Data +public class OaMendApplyNodeQuery implements Query { + private static final long serialVersionUID = 9117613683840483366L; + + @ApiModelProperty(value = "环节定义id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + private Integer next; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyNodeVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyNodeVo.java new file mode 100644 index 0000000000..333ab2962f --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyNodeVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.oa.biz.oamendapply.flowable; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:03 + * @Description + */ +@Data +public class OaMendApplyNodeVo implements Vo { + private static final long serialVersionUID = -833419512294877848L; + + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyTaskQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyTaskQuery.java new file mode 100644 index 0000000000..c5cec2647e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/OaMendApplyTaskQuery.java @@ -0,0 +1,48 @@ +package com.yxt.anrui.oa.biz.oamendapply.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Author dimengzhe + * @Date 2022/9/6 15:06 + * @Description + */ +@Data +public class OaMendApplyTaskQuery implements Query { + private static final long serialVersionUID = 1288615499873178778L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id(PC)") + private String instanceId; + + @ApiModelProperty("流程实例Id(移动)") + private String procInsId; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java new file mode 100644 index 0000000000..e382c8ccd9 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/flowable/SubmitOaMendApplyDto.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.oa.biz.oamendapply.flowable; + +import com.yxt.anrui.oa.biz.oaleaveapply.OaLeaveApplyDto; +import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author liuguohui + * @version 1.0 + * @description + * @date 2022/04/13 + */ +@ApiModel("提交") +@Data +public class SubmitOaMendApplyDto extends OaMendApplyDto { + + @ApiModelProperty("意见") + private String comment; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} 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 a587a4f77e..a452f4c168 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 @@ -8,6 +8,7 @@ package com.yxt.anrui.oa.feign.file; public enum OaFileEnum { OALEAVEAPPLY("001", "请假申请附件"), + OAMENDAPPLY("002", "补卡申请附件"), ; 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 c0f1a589f8..8846f09578 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 @@ -8,6 +8,7 @@ public enum ProcDefEnum { /***************************正式流程id***********************************/ OALEAVEAPPLY("请假申请", "process_su0yph7n:1:15957504"), + OAMENDAPPLY("补卡申请", "process_9suucr96:1:16072504"), ;