diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
index b43adce839..5d136aa126 100644
--- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
+++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
@@ -659,7 +659,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
if (StringUtils.isNotBlank(voucherDetail.getManufacturer())) {
manufacturer = voucherDetail.getManufacturer();
}
- if (!voucherDetail.getType().equals("行销活动")) {
+ if (!voucherDetail.getType().equals("行销政策")) {
if (voucherDetail.getRemarks().equals("返利上传")) {
if (voucherDetail.getSceneCode().equals("1161.01.16")) {
cjfl = cjfl.add(voucherDetail.getAmount());
diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostMapper.xml
index 3d9520ed80..e5515197a0 100644
--- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostMapper.xml
+++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostMapper.xml
@@ -45,7 +45,6 @@
diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostService.java
index 153abcda91..fbedaae3ff 100644
--- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostService.java
+++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/syspost/SysPostService.java
@@ -15,6 +15,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import java.util.Collections;
import java.util.List;
/**
@@ -150,6 +151,7 @@ public class SysPostService extends MybatisBaseService {
qw.like("post.name", name);
}
List list = baseMapper.getAllPost(qw);
- return null;
+ list.removeAll(Collections.singleton(null));
+ return rb.success().setData(list);
}
}
\ No newline at end of file
diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java
index b4fb375c39..110e6041e2 100644
--- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java
+++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java
@@ -473,8 +473,8 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService {
- List rebates = v;
+ for (Map.Entry> entry : map.entrySet()) {
+ List v = entry.getValue();
GeneralVoucher generalVoucher = new GeneralVoucher();
generalVoucher.setBussDate(format);
List voucherDetails = new ArrayList<>();
@@ -511,7 +511,7 @@ public class ScmSpecialrebateCheckapplyService extends MybatisBaseService voucherDetails = new ArrayList<>();
if (!v.isEmpty()) {
for (ScmSpecialRebate rebate : v) {
- if (!rebate.getRebateTypeValue().equals("行销活动")) {
+ if (!rebate.getRebateTypeValue().equals("行销政策")) {
if (StringUtils.isNotBlank(rebate.getUseOrgSid())) {
String useOrgSid = rebate.getUseOrgSid();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
@@ -504,16 +501,25 @@ public class ScmSpecialRebateWithApplyService extends MybatisBaseService_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.api;
+
+import com.yxt.anrui.oa.biz.adexpatriatesapply.*;
+import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto;
+import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery;
+import com.yxt.anrui.oa.biz.oaform.flowable.NodeVo;
+import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto;
+import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyDto;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@Api(tags = "驻外人员认定申请")
+@RestController
+@RequestMapping("v1/adexpatriatesapply")
+public class AdExpatriatesApplyRest {
+
+ @Autowired
+ private AdExpatriatesApplyService adExpatriatesApplyService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = adExpatriatesApplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody AdExpatriatesApplyDto dto) {
+ return adExpatriatesApplyService.saveOrUpdateDto(dto);
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ adExpatriatesApplyService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ AdExpatriatesApplyVo vo = adExpatriatesApplyService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("提交审批流程")
+ @PostMapping("/submit")
+ public ResultBean submit(@RequestBody @Valid AdExpatriatesApplyDto dto) {
+ return adExpatriatesApplyService.submit(dto);
+ }
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody CompleteDto dto) {
+ return adExpatriatesApplyService.complete(dto);
+ }
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean reject(@Valid @RequestBody TaskDto dto) {
+ return adExpatriatesApplyService.reject(dto);
+ }
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query) {
+ return adExpatriatesApplyService.getPreviousNodesForReject(query);
+ }
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query) {
+ return adExpatriatesApplyService.getNextNodesForSubmit(query);
+ }
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApply.java
new file mode 100644
index 0000000000..dcc54b1eff
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApply.java
@@ -0,0 +1,45 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.biz.adexpatriatesapply;
+
+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;
+
+@Data
+@ApiModel(value = "驻外人员认定申请", description = "驻外人员认定申请")
+@TableName("ad_expatriates_apply")
+public class AdExpatriatesApply extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("基础表单sid")
+ private String formSid; // 基础表单sid
+ @ApiModelProperty("关联审批sid列表,英文逗号分隔")
+ private String linkFormSids; // 关联审批sid列表,英文逗号分隔
+
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java
new file mode 100644
index 0000000000..0af5a32609
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyDto.java
@@ -0,0 +1,68 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.biz.adexpatriatesapply;
+
+
+import com.yxt.anrui.oa.biz.oaform.OaFormDto;
+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.List;
+
+/**
+ * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyDto.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyDto
+ * Description: 驻外人员认定申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "驻外人员认定申请 数据传输对象", description = "驻外人员认定申请 数据传输对象")
+public class AdExpatriatesApplyDto extends OaFormDto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("基础表单sid")
+ private String formSid;
+ @ApiModelProperty("关联审批单")
+ private String linkFormSids;
+ @ApiModelProperty("图片")
+ private List files = new ArrayList<>();
+ @ApiModelProperty("附件")
+ private List appes = new ArrayList<>();
+}
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java
new file mode 100644
index 0000000000..be35a49446
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.java
@@ -0,0 +1,52 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.biz.adexpatriatesapply;
+
+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;
+
+/**
+ * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyMapper.java
+ * Class: com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyMapper
+ * Description: 驻外人员认定申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface AdExpatriatesApplyMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+}
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml
new file mode 100644
index 0000000000..3e4570a856
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyMapper.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyQuery.java
new file mode 100644
index 0000000000..0dbf06cd5c
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyQuery.java
@@ -0,0 +1,54 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.biz.adexpatriatesapply;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyQuery.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyQuery
+ * Description: 驻外人员认定申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "驻外人员认定申请 查询条件", description = "驻外人员认定申请 查询条件")
+public class AdExpatriatesApplyQuery implements Query {
+
+ @ApiModelProperty("单据编号")
+ private String billNo;
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java
new file mode 100644
index 0000000000..e4512c394c
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyService.java
@@ -0,0 +1,231 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.biz.adexpatriatesapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
+import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum;
+import com.yxt.anrui.oa.biz.oaform.OaFormService;
+import com.yxt.anrui.oa.biz.oaform.flowable.*;
+import com.yxt.anrui.oa.biz.oamendapply.OaMendApplyDto;
+import com.yxt.anrui.oa.feign.file.OaFileEnum;
+import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class AdExpatriatesApplyService extends MybatisBaseService {
+
+ @Autowired
+ private OaAppendixService oaAppendixService;
+ @Autowired
+ private OaFormService oaFormService;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ AdExpatriatesApplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (query != null) {
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("ofm.billNo", query.getBillNo());
+ }
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public ResultBean saveOrUpdateDto(AdExpatriatesApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ String sid = dto.getSid();
+ List files = dto.getFiles();
+
+ if (StringUtils.isBlank(sid)) {
+ // 新建操作
+ AdExpatriatesApply entity = new AdExpatriatesApply();
+ BeanUtil.copyProperties(dto, entity, "sid");
+
+ dto.setBillNo("ZWRYRDSQ");
+ dto.setSid(entity.getSid());
+ ResultBean resultBean = oaFormService.saveOaForm(dto);
+
+ if (!resultBean.getSuccess()) {
+ return rb;
+ }
+
+ entity.setFormSid(resultBean.getData());
+ baseMapper.insert(entity);
+ sid = entity.getSid();
+ } else {
+ // 更新操作
+ AdExpatriatesApply entity = fetchBySid(sid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+ // 处理附件
+ saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLYFLIE.getAttachType());
+ saveAppes(sid, files, OaFileEnum.ADEXPATRIATESAPPLYAPPE.getAttachType());
+
+ return rb.success().setData(sid);
+ }
+
+ private void saveFiles(String sid, List files, String attachType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType);
+ }
+
+ private void saveAppes(String sid, List files, String attachType) {
+ files.removeAll(Collections.singleton(null));
+ oaAppendixService.saveFile(sid, files, attachType);
+ }
+
+ public AdExpatriatesApplyVo fetchDetailsVoBySid(String sid) {
+ AdExpatriatesApply entity = fetchBySid(sid);
+ AdExpatriatesApplyVo vo = new AdExpatriatesApplyVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ /**
+ * 提交
+ *
+ * @param dto
+ * @return
+ */
+ public ResultBean submit(AdExpatriatesApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ ResultBean stringResultBean = saveOrUpdateDto(dto);
+ if (!stringResultBean.getSuccess()) {
+ return rb.setMsg(stringResultBean.getData());
+ }
+ String businessSid = stringResultBean.getData();
+
+ SubmitDto submitDto = new SubmitDto();
+ submitDto.setUserSid(dto.getCreateBySid());
+ submitDto.setBusinessSid(businessSid);
+
+ Map formVariables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
+ formVariables.put("app", appMap);
+ submitDto.setFormVariables(formVariables);
+ submitDto.setProcDefId(ProcDefEnum.OAMENDAPPLY.getProDefId());
+ //若申请单中选择了下一处理人,则需赋值给下一处理人字段,若没有则删除
+// submitDto.setNextNodeUserSids("");
+ submitDto.setNextTaskId(dto.getTaskId());
+ submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule());
+ return oaFormService.submit(submitDto);
+ }
+
+ /**
+ * 办理(同意)
+ *
+ * @param dto
+ * @return
+ */
+ public ResultBean complete(CompleteDto dto) {
+ Map formVariables = dto.getFormVariables();
+ //添加网关
+// formVariables.put("", "");
+ Map appMap = new HashMap<>();
+ appMap.put("sid", dto.getBusinessSid());
+ formVariables.put("app", appMap);
+ dto.setFormVariables(formVariables);
+ BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto();
+ BeanUtil.copyProperties(dto, businessVariablesDto);
+ return oaFormService.complete(businessVariablesDto);
+ }
+
+ /**
+ * 驳回
+ *
+ * @param dto
+ * @return
+ */
+ public ResultBean reject(TaskDto dto) {
+ Map formVariables = dto.getFormVariables();
+ //添加网关
+// formVariables.put("", "");
+ //若有移动端,则需和移动端沟通具体参数,若没有删去即可。
+ Map appMap = new HashMap<>();
+ appMap.put("sid", dto.getBusinessSid());
+ formVariables.put("app", appMap);
+ dto.setFormVariables(formVariables);
+
+ return oaFormService.reject(dto);
+ }
+
+ /**
+ * 提交时获取下一环节
+ *
+ * @param query
+ * @return
+ */
+ public ResultBean> getNextNodesForSubmit(NodeQuery query) {
+ Map formVariables = query.getFormVariables();
+ //添加网关
+// formVariables.put("", "");
+ //若有移动端,则需和移动端沟通具体参数,若没有删去即可。
+ Map appMap = new HashMap<>();
+ appMap.put("sid", query.getBusinessSid());
+ formVariables.put("app", appMap);
+ query.setFormVariables(formVariables);
+ return oaFormService.getNextNodesForSubmit(query);
+ }
+
+ /**
+ * 驳回时获取上一环节
+ *
+ * @param query
+ * @return
+ */
+ public ResultBean> getPreviousNodesForReject(NodeQuery query) {
+ Map formVariables = query.getFormVariables();
+ //添加网关
+// formVariables.put("", "");
+ //若有移动端,则需和移动端沟通具体参数,若没有删去即可。
+ Map appMap = new HashMap<>();
+ appMap.put("sid", query.getBusinessSid());
+ formVariables.put("app", appMap);
+ query.setFormVariables(formVariables);
+ return oaFormService.getPreviousNodesForReject(query);
+ }
+}
\ No newline at end of file
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java
new file mode 100644
index 0000000000..afb01ded8a
--- /dev/null
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriatesapply/AdExpatriatesApplyVo.java
@@ -0,0 +1,99 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.oa.biz.adexpatriatesapply;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyVo
+ * Description: 驻外人员认定申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "驻外人员认定申请 视图数据对象", description = "驻外人员认定申请 视图数据对象")
+public class AdExpatriatesApplyVo implements Vo {
+
+ private String sid;
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ private String formSid;
+ @ApiModelProperty("关联审批单")
+ private String linkFormSids;
+ @ApiModelProperty("表单类别-流程名称")
+ private String formType;
+ @ApiModelProperty("标题")
+ private String title;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("申请人")
+ private String createByName;
+ @ApiModelProperty("申请部门sid")
+ private String deptSid;
+ @ApiModelProperty("申请部门名称")
+ private String deptName;
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid;
+ @ApiModelProperty("分公司名称")
+ private String useOrgName;
+ @ApiModelProperty("办结日期")
+ private String finishTime;
+ @ApiModelProperty("实例id")
+ private String procInstId;
+ @ApiModelProperty("流程定义id")
+ private String procDefId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+ @ApiModelProperty("环节id")
+ private String nodeId;
+ @ApiModelProperty("流程状态")
+ private String nodeState;
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+ @ApiModelProperty("创建组织")
+ private String createOrgName;
+
+ @ApiModelProperty("图片")
+ private List files = new ArrayList<>();
+ @ApiModelProperty("附件")
+ private List appes = new ArrayList<>();
+}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendix.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendix.java
index c308b03069..23b80d792d 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendix.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendix.java
@@ -37,17 +37,17 @@ import lombok.Data;
public class OaAppendix extends BaseEntity {
private static final long serialVersionUID = 1L;
- @ApiModelProperty("文件名")
+ @ApiModelProperty("文件名")
private String fileName; // 文件名
- @ApiModelProperty("文件类型")
+ @ApiModelProperty("文件类型")
private String fileType; // 文件类型
- @ApiModelProperty("关联业务对象sid")
+ @ApiModelProperty("关联业务对象sid")
private String linkSid; // 关联业务对象sid
- @ApiModelProperty("附件类型")
+ @ApiModelProperty("附件类型")
private String attachType; // 附件类型
- @ApiModelProperty("文件大小")
+ @ApiModelProperty("文件大小")
private String fileSize; // 文件大小
- @ApiModelProperty("文件的路径")
+ @ApiModelProperty("文件的路径")
private String filePath; // 文件的路径
}
diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java
index a54dffbfec..3345495899 100644
--- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java
+++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaappendix/OaAppendixService.java
@@ -30,6 +30,9 @@ import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.imageio.ImageIO;
+import java.io.File;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -53,7 +56,7 @@ public class OaAppendixService extends MybatisBaseService files, String attachType) {
+ public void saveFile(String sid, List files, String attachType,String fileType) {
List oaAppendixList = new ArrayList<>();
if (!files.isEmpty()) {
for (String file : files) {
@@ -62,6 +65,20 @@ public class OaAppendixService extends MybatisBaseService files = new ArrayList<>();
}
\ No newline at end of file
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
index f58a993bb7..410b0a52dc 100644
--- 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
@@ -29,13 +29,11 @@ import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService;
-import com.yxt.anrui.oa.biz.oaform.OaFormDto;
import com.yxt.anrui.oa.biz.oaform.OaFormRuleEnum;
import com.yxt.anrui.oa.biz.oaform.OaFormService;
import com.yxt.anrui.oa.biz.oaform.flowable.*;
import com.yxt.anrui.oa.feign.file.OaFileEnum;
import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum;
-import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@@ -52,8 +50,6 @@ import java.util.*;
@Service
public class OaMendApplyService extends MybatisBaseService {
- @Autowired
- private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private OaAppendixService oaAppendixService;
@Autowired
@@ -162,15 +158,15 @@ public class OaMendApplyService extends MybatisBaseService files, String attachType) {
+ private void saveFiles(String sid, List files, String attachType,String fileType) {
files.removeAll(Collections.singleton(null));
- oaAppendixService.saveFile(sid, files, attachType);
+ oaAppendixService.saveFile(sid, files, attachType,fileType);
}
public OaMendApplyVo fetchDetailsVoBySid(String sid) {
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 a452f4c168..a02deddfc1 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
@@ -9,6 +9,8 @@ public enum OaFileEnum {
OALEAVEAPPLY("001", "请假申请附件"),
OAMENDAPPLY("002", "补卡申请附件"),
+ ADEXPATRIATESAPPLYFLIE("003", "驻外人员认定图片"),
+ ADEXPATRIATESAPPLYAPPE("004", "驻外人员认定附件"),
;