From 8bce5432cb225fa03d821c5e1df836d760e9de16 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 13 Jan 2025 14:36:22 +0800 Subject: [PATCH 01/14] =?UTF-8?q?oaform=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sysorganization/SysOrganizationFeign.java | 4 +++ .../SysOrganizationFeignFallback.java | 5 ++++ .../api/sysstafforg/SysStaffOrgFeign.java | 5 +--- .../sysstafforg/SysStaffOrgFeignFallback.java | 8 ++---- .../sysorganization/SysOrganizationRest.java | 6 ++++ .../SysOrganizationService.java | 28 +++++++++++++++++-- .../biz/sysstafforg/SysStaffOrgRest.java | 5 +--- .../biz/sysstafforg/SysStaffOrgService.java | 23 ++------------- .../oa/biz/oaform/flowable/SubmitDto.java | 4 +-- .../anrui/oa/biz/oaform/flowable/TaskDto.java | 6 ++-- .../OrgVo.java | 2 +- .../sysorganization/SysOrganizationFeign.java | 6 ++++ .../portal/sysstafforg/SysStaffOrgFeign.java | 5 ---- .../anrui/oa/feign/sysuser/SysUserFeign.java | 12 ++++++++ .../yxt/anrui/oa/feign/sysuser/UserQuery.java | 21 ++++++++++++++ .../anrui/oa/feign/sysuser/UserRoleQuery.java | 19 +++++++++++++ 16 files changed, 110 insertions(+), 49 deletions(-) rename yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/{sysstafforg => sysorganization}/OrgVo.java (83%) create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java index 2e97d551d7..805c8205e5 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java @@ -230,4 +230,8 @@ public interface SysOrganizationFeign { @ApiOperation("当前分公司销售专员") ResultBean> selectStaffListByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid); + @GetMapping("/getOrgByPath") + @ResponseBody + @ApiOperation("根据组织全路径查询组织") + ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java index c05fdcbe34..13d3897069 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java @@ -236,4 +236,9 @@ public class SysOrganizationFeignFallback implements SysOrganizationFeign { public ResultBean> selectStaffListByUseOrgSid(String useOrgSid) { return null; } + + @Override + public ResultBean getOrgByPath(String orgSidPath) { + return null; + } } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java index ebbce096c8..a3dc63584a 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java @@ -127,8 +127,5 @@ public interface SysStaffOrgFeign { @ApiOperation("根据组织全路径查询当前部门下的所有员工") ResultBean> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath); - @GetMapping("/getOrgByPath") - @ResponseBody - @ApiOperation("根据组织全路径查询组织") - ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); + } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java index 2f5062ccca..094d29637b 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java @@ -1,5 +1,6 @@ package com.yxt.anrui.portal.api.sysstafforg; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -51,7 +52,7 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign { public ResultBean save(SysStaffOrgDto dto){ return ResultBean.fireFail().setMsg("接口anrui_portal/sysstafforg/save无法访问"); } - + @Override public ResultBean update(SysStaffOrgDto dto,String sid){ return ResultBean.fireFail().setMsg("接口anrui_portal/sysstafforg/update无法访问"); @@ -115,11 +116,6 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign { return null; } - @Override - public ResultBean getOrgByPath(String orgSidPath) { - return null; - } - @Override public ResultBean selectAllByStaffSid(String staffSid) { return null; diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java index 36d243e1db..4f502ea096 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.portal.api.sysorganization.*; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysuser.SysUser; @@ -505,4 +506,9 @@ public class SysOrganizationRest implements SysOrganizationFeign { List voList = sysOrganizationService.selectStaffListByUseOrgSid(useOrgSid); return rb.success().setData(voList); } + + @Override + public ResultBean getOrgByPath(String orgSidPath) { + return sysOrganizationService.getOrgByPath(orgSidPath); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java index 2265b61478..2e92bb5823 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java @@ -717,7 +717,7 @@ public class SysOrganizationService extends MybatisBaseService selectByOrgCodeAndPsid(String orgCode, String pSid) { - return baseMapper.selectByOrgCodeAndPsid(orgCode,pSid); + return baseMapper.selectByOrgCodeAndPsid(orgCode, pSid); } public List tranOne(String sid) { @@ -728,8 +728,8 @@ public class SysOrganizationService extends MybatisBaseService tranThree(String sid,String deptSid) { - return baseMapper.tranThree(sid,deptSid); + public List tranThree(String sid, String deptSid) { + return baseMapper.tranThree(sid, deptSid); } public List tranfour(String sid) { @@ -749,4 +749,26 @@ public class SysOrganizationService extends MybatisBaseService(); } + + public ResultBean getOrgByPath(String orgSidPath) { + ResultBean rb = ResultBean.fireFail(); + OrgVo orgVo = new OrgVo(); + String[] levels = orgSidPath.split("/"); // 将orgSidPath按'/'分割 + String orgSid = ""; + // 判断层级 + if (levels.length > 3) { + orgSid = levels[2]; // 第三层级的sid + } else { + orgSid = levels[levels.length - 2]; // 倒数第二层级的sid + } + SysOrganization sysOrganization = fetchBySid(orgSid); + orgVo.setUseOrgName(sysOrganization.getName()); + orgVo.setUseOrgSid(sysOrganization.getSid()); + orgVo.setOrgCode(sysOrganization.getOrgCode()); + String lastPart = levels[levels.length - 1]; + sysOrganization = fetchBySid(lastPart); + orgVo.setDeptName(sysOrganization.getName()); + orgVo.setDeptSid(sysOrganization.getSid()); + return rb.success().setData(orgVo); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java index 7988cc6b0d..84d1057e0f 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java @@ -1,5 +1,6 @@ package com.yxt.anrui.portal.biz.sysstafforg; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.anrui.portal.api.sysstafforg.*; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; @@ -160,8 +161,4 @@ public class SysStaffOrgRest implements SysStaffOrgFeign { return sysStaffOrgService.getPathSidByUserSid(applySid); } - @Override - public ResultBean getOrgByPath(String orgSidPath) { - return sysStaffOrgService.getOrgByPath(orgSidPath); - } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java index 24ddf33dfb..e39027de16 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java @@ -3,6 +3,7 @@ package com.yxt.anrui.portal.biz.sysstafforg; 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.portal.api.sysorganization.OrgVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysstafforg.*; import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; @@ -341,25 +342,5 @@ public class SysStaffOrgService extends MybatisBaseService getOrgByPath(String orgSidPath) { - ResultBean rb = ResultBean.fireFail(); - OrgVo orgVo = new OrgVo(); - String[] levels = orgSidPath.split("/"); // 将orgSidPath按'/'分割 - String orgSid = ""; - // 判断层级 - if (levels.length > 3) { - orgSid = levels[2]; // 第三层级的sid - } else { - orgSid = levels[levels.length - 2]; // 倒数第二层级的sid - } - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); - orgVo.setUseOrgName(sysOrganization.getName()); - orgVo.setUseOrgSid(sysOrganization.getSid()); - orgVo.setOrgCode(sysOrganization.getOrgCode()); - String lastPart = orgSidPath.contains("/") ? orgSidPath.substring(orgSidPath.lastIndexOf("/") + 1) : orgSidPath; - sysOrganization = sysOrganizationService.fetchBySid(lastPart); - orgVo.setDeptName(sysOrganization.getName()); - orgVo.setDeptSid(sysOrganization.getSid()); - return rb.success().setData(orgVo); - } + } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java index 786dbcbb0d..95d08a21f0 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java @@ -26,8 +26,8 @@ public class SubmitDto { private String nextNodeUserSids; @ApiModelProperty("下一处理人获取规则") private int rule; -// @ApiModelProperty("是否是首次提交") -// private boolean isNew; @ApiModelProperty("任务id") private String nextNodeSid; + @ApiModelProperty("若含有其他机构的sid,则传") + private String orgSid; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java index 470bd51a08..e34931765a 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java @@ -40,10 +40,10 @@ public class TaskDto { /** * 终止 */ - @ApiModelProperty("流程实例Id(PC)") - private String instanceId; + /* @ApiModelProperty("流程实例Id(PC)") + private String instanceId;*/ - @ApiModelProperty("流程实例Id(移动)") + @ApiModelProperty("实例id") private String procInsId; private Map formVariables = new HashMap<>(); diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/OrgVo.java similarity index 83% rename from yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java rename to yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/OrgVo.java index 91a57b8bd6..df2c5c5a8e 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/OrgVo.java @@ -1,4 +1,4 @@ -package com.yxt.anrui.oa.feign.portal.sysstafforg; +package com.yxt.anrui.oa.feign.portal.sysorganization; import lombok.Data; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java index 3ea5f67f32..54f19055bc 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; /** @@ -32,4 +33,9 @@ public interface SysOrganizationFeign { @ResponseBody @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); + + @GetMapping("/getOrgByPath") + @ResponseBody + @ApiOperation("根据用户组织全路径组织") + public ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java index fe8cc0043e..99ee9f9993 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java @@ -23,9 +23,4 @@ public interface SysStaffOrgFeign { @ApiOperation("根据用户组织全路径获取用户的分公司sid") ResultBean getOrgSidByPath(@RequestParam("orgPath") String orgPath); - @GetMapping("/getOrgByPath") - @ResponseBody - @ApiOperation("根据用户组织全路径组织") - public ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); - } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java index 1fbf4876c1..4a29b2bb13 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java @@ -5,11 +5,14 @@ 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.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + @Api(tags = "用户表") @FeignClient( contextId = "anrui-portal-SysUser", @@ -24,4 +27,13 @@ public interface SysUserFeign { @ApiOperation("根据sid获取一条记录") @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); + + @ApiOperation(value = "获取其他机构链角色的用户") + @GetMapping(value = "getOtherOrgRoleUser") + ResultBean> getOtherOrgRoleUser(@SpringQueryMap UserRoleQuery query); + + @ApiOperation(value = "获取本机构链角色的用户") + @GetMapping(value = "getUserByRole") + ResultBean> getUserByRole(@SpringQueryMap UserQuery query); + } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java new file mode 100644 index 0000000000..3b0109c87e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.oa.feign.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/21 8:47 + * @Description + */ +@Data +public class UserQuery implements Query { + + private static final long serialVersionUID = -3979717077029562761L; + @ApiModelProperty(value = "角色sid必传项") + private String roleSid; + @ApiModelProperty(value = "用户部门sid路径是必传项") + private String orgSidPath; + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java new file mode 100644 index 0000000000..fd3785b1e8 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.oa.feign.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/25 8:38 + * @Description + */ +@Data +public class UserRoleQuery implements Query { + private static final long serialVersionUID = 1913450300189800653L; + + @ApiModelProperty("角色sid") + private String roleSid; + private String orgSid; +} From 32a8d6f59ca8cc961d1ff9d2656e9fdb00db93d6 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 13 Jan 2025 14:37:04 +0800 Subject: [PATCH 02/14] =?UTF-8?q?oaform=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrgVo.java | 2 +- .../anrui/oa/biz/oaform/OaFormService.java | 219 +++++++++++++----- .../oaform/flowable/BusinessVariablesDto.java | 11 +- .../oa/biz/oaform/flowable/DelegateDto.java | 4 +- .../oa/biz/oaform/flowable/OaFormFlowDto.java | 2 +- 5 files changed, 168 insertions(+), 70 deletions(-) rename anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/{sysstafforg => sysorganization}/OrgVo.java (84%) diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OrgVo.java similarity index 84% rename from anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java rename to anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OrgVo.java index 6329c6634c..83c43780ac 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OrgVo.java @@ -1,4 +1,4 @@ -package com.yxt.anrui.portal.api.sysstafforg; +package com.yxt.anrui.portal.api.sysorganization; import lombok.Data; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java index 893a211c04..6898a1a1fc 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java @@ -19,12 +19,14 @@ 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.OrgVo; 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.OrgVo; 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.anrui.oa.feign.sysuser.UserQuery; +import com.yxt.anrui.oa.feign.sysuser.UserRoleQuery; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -76,7 +78,7 @@ public class OaFormService extends MybatisBaseService { BeanUtil.copyProperties(dto, oaForm, "billNo", "orgSidPath"); try { // 获取组织信息,根据orgSidPath字段调用外部服务 - OrgVo orgVo = sysStaffOrgFeign.getOrgByPath(dto.getOrgSidPath()).getData(); + OrgVo orgVo = sysOrganizationFeign.getOrgByPath(dto.getOrgSidPath()).getData(); // 如果组织信息为空,返回失败信息 if (orgVo == null) { return rb.setMsg("未找到对应的组织信息"); @@ -118,6 +120,12 @@ public class OaFormService extends MybatisBaseService { } } + /** + * 详情初始化 + * + * @param sid + * @return + */ public ResultBean fetchDetailsBySid(String sid) { ResultBean rb = ResultBean.fireFail(); OaFormDetailsVo detailsVo = baseMapper.fetchDetailsBySid(sid); @@ -127,6 +135,12 @@ public class OaFormService extends MybatisBaseService { return rb.success().setData(detailsVo); } + /** + * 分页列表 + * + * @param pq + * @return + */ public PagerVo listPageVo(PagerQuery pq) { OaFormQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -136,6 +150,12 @@ public class OaFormService extends MybatisBaseService { return p; } + /** + * 删除 + * + * @param sids + * @return + */ public ResultBean delAll(String[] sids) { ResultBean rb = ResultBean.fireFail(); delBySids(sids); @@ -159,15 +179,27 @@ public class OaFormService extends MybatisBaseService { return baseMapper.updateFlowFiled(map); } + /** + * 办理(同意) + * + * @param dto + * @return + */ public ResultBean complete(BusinessVariablesDto dto) { ResultBean rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(dto, bv); String businessSid = bv.getBusinessSid(); OaForm oaForm = fetchBySid(businessSid); - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); - bv.setOrgSidPath(deptVo.getOrgSidPath()); - bv.setModelId(oaForm.getProcDefId()); + SubmitDto submitDto = new SubmitDto(); + BeanUtil.copyProperties(dto, submitDto); + //构造参数 + ResultBean businessVariablesResultBean = getGatewayParameter(submitDto); + if (!businessVariablesResultBean.getSuccess()) { + return rb.setMsg(businessVariablesResultBean.getMsg()); + } + BeanUtil.copyProperties(businessVariablesResultBean.getData(), bv, "taskDefKey", "taskId"); + bv.setInstanceId(oaForm.getProcInstId()); if (bv.getTaskId().equals(oaForm.getTaskId())) { ResultBean resultBean = flowFeign.handleProsess(bv); if (!resultBean.getSuccess()) { @@ -216,36 +248,38 @@ public class OaFormService extends MybatisBaseService { } } + /** + * 获取上一环节 + * + * @param query + * @return + */ public ResultBean> getPreviousNodesForReject(NodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); //查询业务信息 OaForm oaForm = fetchBySid(query.getBusinessSid()); - //网关 - bv.setModelId(oaForm.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), NodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } + /** + * 获取下一环节 + * + * @param query + * @return + */ public ResultBean> getNextNodesForSubmit(NodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); //查询业务信息 OaForm oaForm = fetchBySid(query.getBusinessSid()); - //网关 - bv.setModelId(oaForm.getProcDefId()); - bv.setFormVariables(variables); //======================================= ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo @@ -253,7 +287,12 @@ public class OaFormService extends MybatisBaseService { return rb.success().setData(voList); } - + /** + * 驳回 + * + * @param dto + * @return + */ public ResultBean reject(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); String businessSid = dto.getBusinessSid(); @@ -324,6 +363,12 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败!提交的数据不一致!"); } + /** + * 撤回 + * + * @param dto + * @return + */ public ResultBean revokeProcess(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); if (StringUtils.isBlank(dto.getUserSid())) { @@ -348,10 +393,16 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败,提交的数据不一致!"); } + /** + * 终止 + * + * @param dto + * @return + */ public ResultBean breakProcess(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(dto.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); + if (StringUtils.isBlank(dto.getProcInsId())) { + return rb.setMsg("参数错误:procInsId"); } if (StringUtils.isBlank(dto.getUserSid())) { return rb.setMsg("参数错误:userSid"); @@ -391,63 +442,52 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败!提交的数据不一致!"); } + /** + * 加签 + * + * @param dto + * @return + */ public ResultBean delegate(DelegateDto dto) { ResultBean rb = ResultBean.fireFail(); FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); BeanUtil.copyProperties(dto, delegateQuery); + delegateQuery.setInstanceId(dto.getProcInsId()); flowFeign.delegate(delegateQuery); return rb.success(); } + /** + * 转办 + * + * @param dto + * @return + */ public ResultBean assignTask(DelegateDto dto) { ResultBean rb = ResultBean.fireFail(); FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); BeanUtil.copyProperties(dto, delegateQuery); + delegateQuery.setInstanceId(dto.getProcInsId()); flowFeign.assignTask(delegateQuery); return rb.success(); } - + /** + * 更新流程名称和标题 + * + * @param oaForm + * @return + */ public int updateFormType(OaForm oaForm) { return baseMapper.updateById(oaForm); } - - public ResultBean submit1(BusinessVariables bv) { - String businessSid = bv.getBusinessSid(); - //启动流程 - ResultBean voResultBean = flowFeign.startProcess(bv); - UpdateFlowFieldVo ufVo = voResultBean.getData(); - OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); - BeanUtil.copyProperties(ufVo, oaFormFlowDto, "sid"); - oaFormFlowDto.setSid(businessSid); - updateFlow(oaFormFlowDto); - OaForm oaForm = 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()); - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap((Map) bv.getFormVariables().get("app")); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName(oaForm.getFormType()); - messageFlowableQuery.setMsgContent(oaForm.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle(oaForm.getFormType()); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - return voResultBean; - } - + /** + * 提交 + * + * @param dto + * @return + */ public ResultBean submit(SubmitDto dto) { ResultBean rb = ResultBean.fireFail(); ResultBean businessVariablesResultBean = getGatewayParameter(dto); @@ -462,7 +502,7 @@ public class OaFormService extends MybatisBaseService { ResultBean voResultBean = flowFeign.startProcess(bv); UpdateFlowFieldVo ufVo = voResultBean.getData(); OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); - BeanUtil.copyProperties(ufVo, oaFormFlowDto, "sid"); + BeanUtil.copyProperties(ufVo, oaFormFlowDto); updateFlow(oaFormFlowDto); try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() @@ -488,18 +528,24 @@ public class OaFormService extends MybatisBaseService { } return voResultBean; } else if (r == 2) { - bv.setTaskId(oaForm.getTaskId()); - bv.setTaskDefKey(oaForm.getNodeId()); - bv.setComment("重新提交"); - bv.setInstanceId(oaForm.getProcInstId()); BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); BeanUtil.copyProperties(bv, businessVariablesDto); + businessVariablesDto.setProcInsId(oaForm.getProcInstId()); + businessVariablesDto.setTaskId(oaForm.getTaskId()); + businessVariablesDto.setTaskDefKey(oaForm.getNodeId()); + businessVariablesDto.setComment("重新提交"); return complete(businessVariablesDto); } return rb; } + /** + * 提交锁 + * + * @param dto + * @return + */ private synchronized int submitBusinessData(SubmitDto dto) { int r = 0; OaForm oaForm = fetchBySid(dto.getBusinessSid()); @@ -529,7 +575,11 @@ public class OaFormService extends MybatisBaseService { SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); bv.setOrgSidPath(deptVo.getOrgSidPath()); //流程定义id - bv.setModelId(dto.getProcDefId()); + if (StringUtils.isBlank(oaForm.getProcDefId())) { + bv.setModelId(dto.getProcDefId()); + } else { + bv.setModelId(oaForm.getProcDefId()); + } int rule = dto.getRule(); if (rule == OaFormRuleEnum.DIRECTLY_UNDER.getRule()) { SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); @@ -540,10 +590,55 @@ public class OaFormService extends MybatisBaseService { } else if (rule == OaFormRuleEnum.INSTITUTION.getRule()) { //获取本机构链(含集团、事业部、分公司部门)中角色的用户(角色sid,发起人orgsidPath) + NodeQuery query = new NodeQuery(); + query.setBusinessSid(dto.getBusinessSid()); + query.setTaskDefKey(oaForm.getNodeId()); + ResultBean> resultBean = getNextNodesForSubmit(query); + List voList = resultBean.getData(); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(candidateGroups.get(0)); + userQuery.setOrgSidPath(bv.getOrgSidPath()); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (StringUtils.isBlank(nextNodeUserSids)) { + bv.setNextNodeUserSids(""); + } else { + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + } } else if (rule == OaFormRuleEnum.OTHER_INSTITUTION.getRule()) { //获取其他机构链角色的用户(角色sid,机构sid]) - + NodeQuery query = new NodeQuery(); + query.setBusinessSid(dto.getBusinessSid()); + query.setTaskDefKey(oaForm.getNodeId()); + ResultBean> resultBean = getNextNodesForSubmit(query); + List voList = resultBean.getData(); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserRoleQuery userRoleQuery = new UserRoleQuery(); + userRoleQuery.setRoleSid(candidateGroups.get(0)); + userRoleQuery.setOrgSid(dto.getOrgSid()); + List sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (StringUtils.isBlank(nextNodeUserSids)) { + bv.setNextNodeUserSids(""); + } else { + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + } } else { bv.setNextNodeUserSids(""); } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java index 46e2cff07c..728ceaace7 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java @@ -1,5 +1,6 @@ package com.yxt.anrui.oa.biz.oaform.flowable; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -31,10 +32,8 @@ public class BusinessVariablesDto { * 审批意见 */ private String comment; - /** - * 流程实例的id - */ - private String instanceId; + @ApiModelProperty("实例id") + private String procInsId; /** * taskId */ @@ -63,4 +62,8 @@ public class BusinessVariablesDto { * 业务参数,按需传递 */ private Map formVariables = new HashMap<>(); + /** + * 规则:请查看OaFormRuleEnum + */ + private int rule; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java index eb2dcbdb03..566df680e4 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java @@ -13,8 +13,8 @@ public class DelegateDto { @ApiModelProperty private String userSid; - @ApiModelProperty("流程实例id") - private String instanceId; + @ApiModelProperty("实例id") + private String procInsId; @ApiModelProperty("任务Id") private String taskId; @ApiModelProperty("审批人sid") diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java index 99e040025a..cd1a9f8c1e 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java @@ -16,7 +16,7 @@ public class OaFormFlowDto { private String procDefId; @ApiModelProperty("流程状态") private String nodeState; - @ApiModelProperty("流程实例id") + @ApiModelProperty("实例id") private String procInsId; @ApiModelProperty("环节id") private String taskDefKey; From 34b4eca87a6f596e0fb742a46b24c9d55807d0aa Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Mon, 13 Jan 2025 14:46:13 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=87=91=E8=9E=8D?= =?UTF-8?q?=E8=B4=B4=E6=81=AF=E5=B7=AE=E5=BC=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../differenceManagement/differenceManagementAdd.vue | 1 + .../workFlow/chayitiaozhengFlow/differenceManagementEdit.vue | 1 + 2 files changed, 2 insertions(+) diff --git a/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue b/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue index 22c3049651..dea8679124 100644 --- a/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue +++ b/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue @@ -307,6 +307,7 @@ export default { value.forEach((e) => { this.formobj.list.push({ rebateSid: e.rebateSid, + checkApplySid: e.checkApplySid, purchaseSystemSid: e.purchaseSystemSid, purchaseSystemName: e.purchaseSystemName, brandSid: e.brandSid, diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue index 4b4e1fe43e..46c13a0c5a 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue @@ -289,6 +289,7 @@ export default { value.forEach((e) => { this.formobj.list.push({ rebateSid: e.rebateSid, + checkApplySid: e.checkApplySid, purchaseSystemSid: e.purchaseSystemSid, purchaseSystemName: e.purchaseSystemName, brandSid: e.brandSid, From 1b14e48c66a6e4918f847069780212ebc0f085d4 Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Mon, 13 Jan 2025 15:05:33 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E9=87=91=E8=9E=8D=E8=B0=83=E5=B7=AE?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E9=80=9A=E8=BF=87=E6=8E=A8=E9=80=81=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fin/api/kingdee/FinKingDeeFeign.java | 4 + .../api/kingdee/FinKingDeeFeignFallBack.java | 5 + .../fin/biz/kingdee/FinKingDeeFeignRest.java | 42 ++++ .../AdjustDetailsListVo.java | 3 + .../AdjustVehListVo.java | 1 + .../ScmFinanceAdjustDetails.java | 1 + .../ScmFinanceAdjustApplyMapper.xml | 4 +- .../ScmFinanceAdjustApplyService.java | 213 ++++++++++++++++-- 8 files changed, 256 insertions(+), 17 deletions(-) diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java index bcc4c44d2c..44b56c2605 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java @@ -83,6 +83,10 @@ public interface FinKingDeeFeign { @ResponseBody ResultBean saveJRRebatePrepareVoucher(@RequestBody @Valid GeneralVoucher voucher); + @ApiOperation("保存金融贴息差异调整凭证") + @PostMapping("/saveJRAdjustVoucher") + @ResponseBody + ResultBean saveJRAdjustVoucher(@RequestBody @Valid GeneralVoucher voucher); @ApiOperation("保存单车返利核对凭证") @PostMapping("/saveRebateReviewVoucher") diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java index ddf5fab785..d9bbea601b 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java @@ -59,6 +59,11 @@ implements FinKingDeeFeign{ return null; } + @Override + public ResultBean saveJRAdjustVoucher(@Valid GeneralVoucher voucher) { + return null; + } + @Override public ResultBean saveRebateReviewVoucher(@Valid GeneralVoucher voucher) { return null; 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 83193370e3..25c7367741 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 @@ -312,6 +312,48 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { return voucherService.saveVoucher(newVoucher); } + @Override + public ResultBean saveJRAdjustVoucher(@Valid GeneralVoucher voucher) { + ResultBean rb = ResultBean.fireFail(); + Voucher newVoucher = new Voucher(); + List resultDetails = new ArrayList<>(); + if (StringUtils.isNotBlank(voucher.getUseOrgCode())) { + newVoucher.setAccountBook(voucher.getUseOrgCode()); + newVoucher.setVoucherNo(voucher.getUseOrgCode()); + } + if (StringUtils.isNotBlank(voucher.getBussDate())) { + newVoucher.setBussDate(voucher.getBussDate()); + } + List voucherDetails = voucher.getVoucherDetails(); + if (!voucherDetails.isEmpty()) { + for (GeneralVoucher.GeneralVoucherDetail voucherDetail : voucherDetails) { + Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 + dto1.setSummary("客户承担金融贴息差额"); + dto2.setSummary("客户承担金融贴息差额"); + if (voucherDetail.getType().equals("上年")) { + dto1.setSubjectNo("1161.02.19"); + } else if (voucherDetail.getType().equals("本年")) { + dto1.setSubjectNo("1161.01.19"); + } + dto2.setSubjectNo("1133.10.00"); + dto1.setDimensionDept(voucherDetail.getDeptCode()); + dto1.setManufacturer(voucherDetail.getManufacturer()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto1.setMaterial(voucherDetail.getMaterial()); + dto2.setDimensionDept(voucherDetail.getDeptCode()); + dto2.setDimensionCustom(voucherDetail.getCustomerCode()); + dto1.setDebit(voucherDetail.getAmount().negate().toString()); + dto2.setDebit(voucherDetail.getAmount().toString()); + resultDetails.add(dto1); + resultDetails.add(dto2); + } + newVoucher.setResultDetails(resultDetails); + } + log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher)); + return voucherService.saveVoucher(newVoucher); + } + @Override public ResultBean saveRebateReviewVoucher(@Valid GeneralVoucher voucher) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustDetailsListVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustDetailsListVo.java index 435eb70867..4da284843e 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustDetailsListVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustDetailsListVo.java @@ -81,4 +81,7 @@ public class AdjustDetailsListVo { */ private String vinNo; + private String salesOrderSid; // 销售订单sid + private String checkApplySid; // 单车上传核对sid + } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListVo.java index c559cfd546..24574cf5cc 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListVo.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustapply/AdjustVehListVo.java @@ -47,5 +47,6 @@ public class AdjustVehListVo { @ApiModelProperty("单车返利管理sid") private String rebateSid; // 单车返利管理sid private String salesOrderSid; // 销售订单sid + private String checkApplySid; // 单车上传核对sid } diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetails.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetails.java index cc84e7c207..bae822fdba 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetails.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmfinanceadjustdetails/ScmFinanceAdjustDetails.java @@ -91,5 +91,6 @@ public class ScmFinanceAdjustDetails extends BaseEntity { @ApiModelProperty("单车返利管理sid") private String rebateSid; // 单车返利管理sid private String salesOrderSid; // 销售订单sid + private String checkApplySid; // 单车上传核对sid } diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml index 66c95757a8..d503b9522e 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmfinanceadjustapply/ScmFinanceAdjustApplyMapper.xml @@ -50,6 +50,7 @@ END AS `state` FROM (SELECT + a.sid as checkApplySid, d.vehRebateSid as rebateSid, a.useOrgSid, d.purchaseSystemSid, @@ -73,7 +74,7 @@ LEFT JOIN scm_vehrebate_checkapply as a ON d.mainSid = a.sid LEFT JOIN scm_veh_rebate as r ON d.vehRebateSid = r.sid WHERE r.adjustmentMoney < 0 AND a.nodeState = '已办结' AND d.rebateTypeValue = '金融贴息') as n - INNER JOIN anrui_buscenter.bus_sales_order as bo ON n.orderSid = bo.sid + LEFT JOIN anrui_buscenter.bus_sales_order as bo ON n.orderSid = bo.sid ${ew.sqlSegment}