diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailFeign.java index d338be9b35..4244547cfe 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailFeign.java @@ -63,9 +63,9 @@ public interface ScmSpecialrebateCheckapplydetailFeign { public ResultBean> specialRebateCheckDetails(@PathVariable("sid") String sid); @ApiOperation("专项返利核对查看分组详情") - @GetMapping("/specialRebateGroupDetails/{sid}") + @GetMapping("/specialRebateGroupDetails") @ResponseBody - public ResultBean> specialRebateGroupDetails(@PathVariable("sid") String sid); + public ResultBean> specialRebateGroupDetails(@RequestParam("applySid") String applySid,@RequestParam("specialRebateSids") String specialRebateSids); @ApiOperation("app查询明细") @GetMapping("/appMx/{sid}") diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailFeign.java index ba73448b08..e2976ca81b 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailFeign.java @@ -78,9 +78,9 @@ public interface ScmVehrebateCheckapplydetailFeign { public ResultBean> vehRebateCheckDetails(@PathVariable("sid") String sid); @ApiOperation("单车返利核对查看分组详情") - @GetMapping("/vehRebateGroupDetails/{sid}") + @GetMapping("/vehRebateGroupDetails") @ResponseBody - public ResultBean> vehRebateGroupDetails(@PathVariable("sid") String sid); + public ResultBean> vehRebateGroupDetails(@RequestParam("applySid") String applySid, @RequestParam("vehRebateSids") String vehRebateSids); @ApiOperation("app查询明细") @GetMapping("/appMx/{sid}") diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.java index 243db46cbe..a09cddb5ab 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.java @@ -57,7 +57,9 @@ public interface ScmSpecialrebateCheckapplydetailMapper extends BaseMapper fetchByMainSidType(@Param("sid") String sid, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName); - List fetchByMainSidDate(@Param("sid") String sid,@Param("purchaseSystemName") String purchaseSystemName,@Param("brandName") String brandName); + List fetchByMainSidDate(@Param("sid") String sid, @Param("purchaseSystemName") String purchaseSystemName, @Param("brandName") String brandName); ScmSpecialRebateDetailsVo appMx(String s); + + ScmSpecialRebateDetailsVo specialRebateGroupDetails(@Param("applySid") String applySid, @Param("specialRebateSid") String specialRebateSid); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.xml index 6ddb9fd723..d50ba2b84a 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailMapper.xml @@ -153,4 +153,14 @@ ON sd.mainSid = sc.sid WHERE sd.specialRebateSid = #{s} + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailRest.java index 33c63f59d1..03d031fb32 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailRest.java @@ -61,8 +61,8 @@ public class ScmSpecialrebateCheckapplydetailRest implements ScmSpecialrebateChe } @Override - public ResultBean> specialRebateGroupDetails(String sid) { - return scmSpecialrebateCheckapplydetailService.specialRebateGroupDetails(sid); + public ResultBean> specialRebateGroupDetails(String applySid,String specialRebateSids) { + return scmSpecialrebateCheckapplydetailService.specialRebateGroupDetails(applySid,specialRebateSids); } @Override diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailService.java index 8296feaea4..7bec709aae 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapplydetail/ScmSpecialrebateCheckapplydetailService.java @@ -119,12 +119,12 @@ public class ScmSpecialrebateCheckapplydetailService extends MybatisBaseService< return rb.success().setData(scmSpecialRebateDetailsVos); } - public ResultBean> specialRebateGroupDetails(String sid) { + public ResultBean> specialRebateGroupDetails(String applySid,String specialRebateSids) { ResultBean rb = ResultBean.fireFail(); List scmSpecialRebateDetailsVos = new ArrayList<>(); - String[] sids = sid.split(","); + String[] sids = specialRebateSids.split(","); for (String s : sids) { - ScmSpecialRebateDetailsVo scmSpecialRebateDetailsVo = baseMapper.appMx(s); + ScmSpecialRebateDetailsVo scmSpecialRebateDetailsVo = baseMapper.specialRebateGroupDetails(applySid,s); scmSpecialRebateDetailsVo.setWithholdCost(scmSpecialRebateDetailsVo.getExpectItureCost().add(scmSpecialRebateDetailsVo.getExpectTreatCost()).add(scmSpecialRebateDetailsVo.getExpectSuppCost())); scmSpecialRebateDetailsVo.setMoney(scmSpecialRebateDetailsVo.getOnceItureCost().add(scmSpecialRebateDetailsVo.getOnceTreatCost()).add(scmSpecialRebateDetailsVo.getOnceSuppCost()).add(scmSpecialRebateDetailsVo.getSecondItureCost()).add(scmSpecialRebateDetailsVo.getSecondTreatCost()).add(scmSpecialRebateDetailsVo.getSecondSuppCost()).toString()); scmSpecialRebateDetailsVos.add(scmSpecialRebateDetailsVo); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.java index e8e347ec94..e56fb91544 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.java @@ -85,4 +85,7 @@ public interface ScmVehrebateCheckapplydetailMapper extends BaseMapper> vehRebateGroupDetails(String sid) { - return scmVehrebateCheckapplydetailService.vehRebateGroupDetails(sid); + public ResultBean> vehRebateGroupDetails(String applySid, String vehRebateSids) { + return scmVehrebateCheckapplydetailService.vehRebateGroupDetails(applySid, vehRebateSids); } @Override diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailService.java index 3ec2ffae3c..35349c2020 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailService.java @@ -103,11 +103,11 @@ public class ScmVehrebateCheckapplydetailService extends MybatisBaseService fetchByMainSidType(String sid, String purchaseSystemName, String brandName) { - return baseMapper.fetchByMainSidType(sid,purchaseSystemName,brandName); + return baseMapper.fetchByMainSidType(sid, purchaseSystemName, brandName); } public List fetchByMainSidDate(String sid, String purchaseSystemName, String brandName) { - return baseMapper.fetchByMainSidDate(sid,purchaseSystemName,brandName); + return baseMapper.fetchByMainSidDate(sid, purchaseSystemName, brandName); } public ResultBean> appMx(String sid) { @@ -123,12 +123,12 @@ public class ScmVehrebateCheckapplydetailService extends MybatisBaseService> vehRebateGroupDetails(String sid) { + public ResultBean> vehRebateGroupDetails(String applySid, String vehRebateSids) { ResultBean rb = ResultBean.fireFail(); List scmVehRebateDetailsVos = new ArrayList<>(); - String[] vehRebateSids = sid.split(","); - for (String vehRebateSid : vehRebateSids) { - ScmVehRebateDetailsVo scmVehRebateDetailsVo = baseMapper.selByVehRebteSidNew(vehRebateSid); + String[] sids = vehRebateSids.split(","); + for (String vehRebateSid : sids) { + ScmVehRebateDetailsVo scmVehRebateDetailsVo = baseMapper.vehRebateGroupDetails(applySid, vehRebateSid); scmVehRebateDetailsVo.setWithholdCost(scmVehRebateDetailsVo.getExpectTreatCost().add(scmVehRebateDetailsVo.getExpectSuppCost())); scmVehRebateDetailsVo.setMoney(scmVehRebateDetailsVo.getOnceTreatCost().add(scmVehRebateDetailsVo.getOnceSuppCost()).add(scmVehRebateDetailsVo.getSecondTreatCost()).add(scmVehRebateDetailsVo.getSecondSuppCost()).toString()); scmVehRebateDetailsVos.add(scmVehRebateDetailsVo); diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesHomeApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesHomeApplyRest.java new file mode 100644 index 0000000000..7f4f682cbc --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdExpatriatesHomeApplyRest.java @@ -0,0 +1,115 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDto; +import com.yxt.anrui.oa.biz.adexpatriateshomeapply.*; +import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; +import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; +import com.yxt.anrui.oa.biz.oaform.flowable.NodeVo; +import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +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/adexpatriateshomeapply") +public class AdExpatriatesHomeApplyRest { + + @Autowired + private AdExpatriatesHomeApplyService adExpatriatesHomeApplyService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = adExpatriatesHomeApplyService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody AdExpatriatesHomeApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + adExpatriatesHomeApplyService.saveOrUpdateDto(dto); + return rb.success(); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + adExpatriatesHomeApplyService.delAll(sids); + return rb.success(); + } + + @ApiOperation("根据SID获取一条记录") + @GetMapping("/fetchDetailsBySid/{sid}") + public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + AdExpatriatesHomeApplyVo vo = adExpatriatesHomeApplyService.fetchDetailsVoBySid(sid); + return rb.success().setData(vo); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid AdExpatriatesHomeApplyDto dto) { + return adExpatriatesHomeApplyService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return adExpatriatesHomeApplyService.complete(dto); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return adExpatriatesHomeApplyService.reject(dto); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query) { + return adExpatriatesHomeApplyService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query) { + return adExpatriatesHomeApplyService.getNextNodesForSubmit(query); + } +} 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 index 3e16c17d5a..ad9e7a3dea 100644 --- 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 @@ -32,23 +32,12 @@ 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); + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - int selectBySid(String join); + int selectBySid(String join); + + AdExpatriatesApplyVo fetchDetailsVoBySid(String sid); } \ 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 index 8457c3d22f..abac44113c 100644 --- 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 @@ -37,4 +37,29 @@ WHERE ofm.nodeState != '待提交' and find_in_set(oa.sid, #{list}) + + \ No newline at end of file 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 index 0f3dc6231e..96bab2324c 100644 --- 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 @@ -36,6 +36,7 @@ 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.biz.oamendapply.OaMendApplyVo; import com.yxt.anrui.oa.feign.file.OaFileEnum; import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; import org.apache.commons.lang3.StringUtils; @@ -130,9 +131,9 @@ public class AdExpatriatesApplyService extends MybatisBaseService files = oaAppendixService.selectByLinkSid(sid); + vo.setFiles(files); List adExpatriatesDetailList = adExpatriatesDetailService.fetchByMainSid(sid); vo.setAdExpatriatesDetailList(adExpatriatesDetailList); return vo; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java new file mode 100644 index 0000000000..c551a024da --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApply.java @@ -0,0 +1,67 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adexpatriateshomeapply; + +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_home_apply") +public class AdExpatriatesHomeApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请人岗位sid") + private String postSid; // 申请人岗位sid + @ApiModelProperty("申请人岗位名称") + private String postName; // 申请人岗位名称 + @ApiModelProperty("上次探亲休假探亲地") + private String lastAddress; // 上次探亲休假探亲地 + @ApiModelProperty("上次探亲休假开始时间") + private String lastStartDate; // 上次探亲休假开始时间 + @ApiModelProperty("上次探亲休假结束时间") + private String lastEndDate; // 上次探亲休假结束时间 + @ApiModelProperty("本次探亲休假探亲地") + private String thisAddress; // 本次探亲休假探亲地 + @ApiModelProperty("本次申请探亲休假开始时间") + private String thisStartDate; // 本次申请探亲休假开始时间 + @ApiModelProperty("本次申请探亲休假结束时间") + private String thisEndDate; // 本次申请探亲休假结束时间 + @ApiModelProperty("探亲家属关系") + private String relation; // 探亲家属关系 + @ApiModelProperty("探亲家属人数") + private String peoNum; // 探亲家属人数 + @ApiModelProperty("探亲类型") + private String homeType; // 探亲类型 + @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/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java new file mode 100644 index 0000000000..88bf2ef23e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyDto.java @@ -0,0 +1,74 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adexpatriateshomeapply; + +import com.yxt.anrui.oa.biz.oaform.OaFormDto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +@ApiModel(value = "驻外人员探亲申请 数据传输对象", description = "驻外人员探亲申请 数据传输对象") +public class AdExpatriatesHomeApplyDto extends OaFormDto { + + private String sid; // sid + + @ApiModelProperty("申请人岗位sid") + private String postSid; // 申请人岗位sid + @ApiModelProperty("申请人岗位名称") + private String postName; // 申请人岗位名称 + @ApiModelProperty("上次探亲休假探亲地") + private String lastAddress; // 上次探亲休假探亲地 + @ApiModelProperty("上次探亲休假开始时间") + private String lastStartDate; // 上次探亲休假开始时间 + @ApiModelProperty("上次探亲休假结束时间") + private String lastEndDate; // 上次探亲休假结束时间 + @ApiModelProperty("本次探亲休假探亲地") + private String thisAddress; // 本次探亲休假探亲地 + @ApiModelProperty("本次申请探亲休假开始时间") + private String thisStartDate; // 本次申请探亲休假开始时间 + @ApiModelProperty("本次申请探亲休假结束时间") + private String thisEndDate; // 本次申请探亲休假结束时间 + @ApiModelProperty("探亲家属关系") + private String relation; // 探亲家属关系 + @ApiModelProperty("探亲家属人数") + private String peoNum; // 探亲家属人数 + @ApiModelProperty("探亲类型") + private String homeType; // 探亲类型 + @ApiModelProperty("基础表单sid") + private String formSid; // 基础表单sid + @ApiModelProperty("关联审批sid列表,英文逗号分隔") + private String linkFormSids; // 关联审批sid列表,英文逗号分隔 + + @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/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.java new file mode 100644 index 0000000000..c863ac7e81 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.java @@ -0,0 +1,54 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adexpatriateshomeapply; + +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: yxt-oa(驻外人员探亲申请)
+ * File: AdExpatriatesHomeApplyMapper.java
+ * Class: com.yxt.anrui.oa.biz.adexpatriateshomeapply.AdExpatriatesHomeApplyMapper
+ * Description: 驻外人员探亲申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-21 15:36:23
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface AdExpatriatesHomeApplyMapper extends BaseMapper { + + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); + + int selectBySid(String join); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml new file mode 100644 index 0000000000..33c6d7eb26 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyQuery.java new file mode 100644 index 0000000000..8a8aa6ccd2 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyQuery.java @@ -0,0 +1,40 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adexpatriateshomeapply; + +import com.yxt.common.core.query.Query; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "驻外人员探亲申请 查询条件", description = "驻外人员探亲申请 查询条件") +public class AdExpatriatesHomeApplyQuery implements Query { + + @ApiModelProperty("单据编号") + private String billNo; +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyService.java new file mode 100644 index 0000000000..5e21cf7293 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyService.java @@ -0,0 +1,243 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adexpatriateshomeapply; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.oa.biz.adexpatriatesapply.AdExpatriatesApplyDto; +import com.yxt.anrui.oa.biz.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.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 AdExpatriatesHomeApplyService extends MybatisBaseService { + + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + + public PagerVo listPageVo(PagerQuery pq) { + AdExpatriatesHomeApplyQuery 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(AdExpatriatesHomeApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + String homeType = dto.getHomeType(); + List files = dto.getFiles(); + List appes = dto.getAppes(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdExpatriatesHomeApply entity = new AdExpatriatesHomeApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + + if ("1".equals(homeType)){ + dto.setBillNo("ZWRYTQXJSQ"); + }else if ("2".equals(homeType)){ + dto.setBillNo("ZWRYJSTQSQ"); + } + + 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 { + // 更新操作 + AdExpatriatesHomeApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + // 处理附件 + saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片"); + saveFiles(sid, appes, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "文件"); + return rb.success().setData(sid); + } + + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } + + public AdExpatriatesHomeApplyVo fetchDetailsVoBySid(String sid) { + AdExpatriatesHomeApply entity = fetchBySid(sid); + AdExpatriatesHomeApplyVo vo = new AdExpatriatesHomeApplyVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdExpatriatesHomeApplyDto 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); + } + + 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(); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java new file mode 100644 index 0000000000..1487026223 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adexpatriateshomeapply/AdExpatriatesHomeApplyVo.java @@ -0,0 +1,74 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adexpatriateshomeapply; + +import com.yxt.common.core.vo.Vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +@ApiModel(value = "驻外人员探亲申请 视图数据对象", description = "驻外人员探亲申请 视图数据对象") +public class AdExpatriatesHomeApplyVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("申请人岗位sid") + private String postSid; // 申请人岗位sid + @ApiModelProperty("申请人岗位名称") + private String postName; // 申请人岗位名称 + @ApiModelProperty("上次探亲休假探亲地") + private String lastAddress; // 上次探亲休假探亲地 + @ApiModelProperty("上次探亲休假开始时间") + private String lastStartDate; // 上次探亲休假开始时间 + @ApiModelProperty("上次探亲休假结束时间") + private String lastEndDate; // 上次探亲休假结束时间 + @ApiModelProperty("本次探亲休假探亲地") + private String thisAddress; // 本次探亲休假探亲地 + @ApiModelProperty("本次申请探亲休假开始时间") + private String thisStartDate; // 本次申请探亲休假开始时间 + @ApiModelProperty("本次申请探亲休假结束时间") + private String thisEndDate; // 本次申请探亲休假结束时间 + @ApiModelProperty("探亲家属关系") + private String relation; // 探亲家属关系 + @ApiModelProperty("探亲家属人数") + private String peoNum; // 探亲家属人数 + @ApiModelProperty("探亲类型") + private String homeType; // 探亲类型 + @ApiModelProperty("基础表单sid") + private String formSid; // 基础表单sid + @ApiModelProperty("关联审批sid列表,英文逗号分隔") + private String linkFormSids; // 关联审批sid列表,英文逗号分隔 + + @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/oamendapply/OaMendApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyMapper.java index 9295868046..904c3f3f15 100644 --- 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 @@ -54,7 +54,6 @@ public interface OaMendApplyMapper extends BaseMapper { int selectBySid(String join); - OaMendApplyVo fetchDetailsVoBySid(String sid); } \ No newline at end of file