diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApply.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApply.java index c745e4bdd5..d4c06a9fc0 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApply.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApply.java @@ -64,4 +64,7 @@ public class BusVehicleApply extends BaseEntity { @ApiModelProperty("订金付款备注") private String payRemarks; + private String userSids; + private String userNames; + } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDetailsVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDetailsVo.java index d7f42a05b6..8c5be40ead 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDetailsVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDetailsVo.java @@ -53,4 +53,7 @@ public class BusVehicleApplyDetailsVo implements Vo { private String applyType; @ApiModelProperty("订金付款备注") private String payRemarks; + + private String userSids; + private String userNames; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java index 1bff98a3f3..db790f4e2f 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java @@ -2,15 +2,12 @@ package com.yxt.anrui.base.api.busvehicleapply; import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto; -import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzDto; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.validation.Valid; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.Pattern; import java.util.List; /** @@ -42,9 +39,9 @@ public class BusVehicleApplyDto implements Dto { private String applicationDate; @ApiModelProperty("申请人姓名") private String createByName; - @ApiModelProperty("排产类型:计划/临时/厂家任务/客户订单") + @ApiModelProperty("采购原因:储备/临时/厂家任务") private String schedulingType; - @ApiModelProperty(value = "排产类型key") + @ApiModelProperty(value = "采购原因key") private String schedulingTypeKey; @ApiModelProperty("当前订金金额") private String currentAmount; @@ -67,4 +64,7 @@ public class BusVehicleApplyDto implements Dto { @ApiModelProperty("订金付款备注") private String payRemarks; + private String userSids; + private String userNames; + } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/DictCommonEnum.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/DictCommonEnum.java new file mode 100644 index 0000000000..68510cefbc --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/DictCommonEnum.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.base.common.enums; + +import lombok.Getter; + +/** + * @Author dimengzhe + * @Date 2022/9/14 15:00 + * @Description 数据字典枚举 + */ +public class DictCommonEnum { + + @Getter + public static enum schedulingType { + /** + * 采购原因 + */ + CB_SCHEDULINGTYPE("01", "储备"), + LS_SCHEDULINGTYPE("02", "临时"), + CJRW_SCHEDULINGTYPE("03", "厂家任务"), + ; + private final String code; + private final String remarks; + + schedulingType(String code, String remarks) { + this.code = code; + this.remarks = remarks; + } + } +} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java index 42a1178ac2..853fd93e1b 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java @@ -25,6 +25,7 @@ import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService; import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService; import com.yxt.anrui.base.biz.busvehicleapplysz.BusVehicleApplySzService; import com.yxt.anrui.base.common.enums.BillTypeEnum; +import com.yxt.anrui.base.common.enums.DictCommonEnum; import com.yxt.anrui.base.common.enums.ManPurOrderType; import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.domain.BillNo; @@ -38,7 +39,6 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign; -import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; @@ -52,7 +52,9 @@ import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.messagecenter.api.message.*; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.messagelist.MessageListFeign; import com.yxt.messagecenter.api.messagetype.MessageTypeFeign; import org.apache.commons.lang3.StringUtils; @@ -348,6 +350,9 @@ public class BusVehicleApplyService extends MybatisBaseService resultBean = saveOrUpdateDto(dto); if (!resultBean.getSuccess()) { @@ -363,6 +368,11 @@ public class BusVehicleApplyService extends MybatisBaseService 0); variables.put("app", appMap); + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isTrue", DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(dto.getSchedulingTypeKey())); + if (DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(dto.getSchedulingTypeKey())) { + bv.setNextNodeUserSids(dto.getUserSids()); + } //用户的部门全路径sid bv.setOrgSidPath(orgSidPath); //业务sid @@ -383,15 +393,14 @@ public class BusVehicleApplyService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); -// String msgSid = getMessage(ufVo, appMap, busVehicleApply); return voResultBean; } if (r == 2) { @@ -462,6 +471,8 @@ public class BusVehicleApplyService extends MybatisBaseService 0); + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isTrue", DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(busVehicleApply.getSchedulingTypeKey())); bv.setFormVariables(variables); if (bv.getTaskId().equals(busVehicleApply.getTaskId())) { ResultBean resultBean = flowableFeign.handleProsess(bv); @@ -523,25 +534,25 @@ public class BusVehicleApplyService extends MybatisBaseService stringResultBean = messageFeign.pushMessage(messageFlowableQuery); } @@ -554,10 +565,11 @@ public class BusVehicleApplyService extends MybatisBaseService vo) { - ApPayBill apPayBill=new ApPayBill(); + private ApPayBill createApPayBill(BusVehicleApply busVehicleApply, List vo) { + ApPayBill apPayBill = new ApPayBill(); apPayBill.setFPOSTDATE(busVehicleApply.getApplicationDate()); apPayBill.setFDATE(busVehicleApply.getApplicationDate()); apPayBill.setFCONTACTUNIT("010001"); @@ -566,11 +578,11 @@ public class BusVehicleApplyService extends MybatisBaseService FPAYBILLENTRYs=new ArrayList<>(); - for(BusVehicleApplyDetailVo b:vo){ - if(com.yxt.common.base.utils.StringUtils.isNotBlank(b.getApplyForDeposit()) - &&Double.valueOf(b.getApplyForDeposit())>0){ - ApPayBill.FPAYBILLENTRY fpaybillentry=new ApPayBill.FPAYBILLENTRY(); + List FPAYBILLENTRYs = new ArrayList<>(); + for (BusVehicleApplyDetailVo b : vo) { + if (com.yxt.common.base.utils.StringUtils.isNotBlank(b.getApplyForDeposit()) + && Double.valueOf(b.getApplyForDeposit()) > 0) { + ApPayBill.FPAYBILLENTRY fpaybillentry = new ApPayBill.FPAYBILLENTRY(); fpaybillentry.setFPAYTOTALAMOUNTFOR(Double.valueOf(b.getUseDeposit())); fpaybillentry.setFPAYAMOUNTFOR_E(Double.valueOf(b.getUseDeposit())); fpaybillentry.setFSETTLEPAYAMOUNTFOR(Double.valueOf(b.getUseDeposit())); @@ -583,10 +595,10 @@ public class BusVehicleApplyService extends MybatisBaseService0){ + if (FPAYBILLENTRYs.size() > 0) { apPayBill.setFPAYBILLENTRY(FPAYBILLENTRYs); return apPayBill; - }else { + } else { return null; } @@ -607,12 +619,13 @@ public class BusVehicleApplyService extends MybatisBaseService 0); + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isTrue", DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(busVehicleApply.getSchedulingTypeKey())); bv.setFormVariables(variables); bv.setModelId(ProcDefEnum.VEHICLEAPPLY.getProDefId()); ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); -// List voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } @@ -631,12 +644,13 @@ public class BusVehicleApplyService extends MybatisBaseService 0); + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isTrue", DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(busVehicleApply.getSchedulingTypeKey())); bv.setFormVariables(variables); bv.setModelId(ProcDefEnum.VEHICLEAPPLY.getProDefId()); ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); -// List voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } @@ -670,6 +684,8 @@ public class BusVehicleApplyService extends MybatisBaseService 0); + //判断是否是储备订单,若是,则isTrue网关参数为true=============添加 + variables.put("isTrue", DictCommonEnum.schedulingType.CB_SCHEDULINGTYPE.getCode().equals(busVehicleApply.getSchedulingTypeKey())); flowTaskVo.setValues(variables); ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); if (!resultBean.getSuccess()) { @@ -683,7 +699,7 @@ public class BusVehicleApplyService extends MybatisBaseService> listResultBean = flowTaskFeign.getLatestTasks(procId); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); - if(receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())){ - messageFlowableQuery.setMsgContent("您提交的"+messageFlowableQuery.getModuleName()+"已被驳回,请重新提交"); - }else{ - messageFlowableQuery.setMsgContent(busVehicleApply.getCreateByName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批"); + if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(busVehicleApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); } messageFlowableQuery.setMsgTitle("供应链"); @@ -809,57 +825,4 @@ public class BusVehicleApplyService extends MybatisBaseService appMap, BusVehicleApply busVehicleApply) { - //=====极光推送信息========================================参数组装 - String procId = busVehicleApply.getProcInstId(); - ResultBean> resultBean = flowTaskFeign.getLatestTasks(procId); - String nextNodeUserSids = resultBean.getData().get(0).getASSIGNEE_(); - List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); - //根据用户的sid查询用户的id - ResultBean stringList1 = sysUserFeign.selectIdBySid(receiveSidList); - List reveiveIdList = Arrays.asList(stringList1.getData().split(",")); - MessageFlowableDto messageFlowableDto = new MessageFlowableDto(); - MessageJsonDto messageJsonDto = new MessageJsonDto(); - BeanUtil.copyProperties(ufVo, messageJsonDto); - //查询流程审批的页面操作地址组装json的参数 - //根据taskDef和移动端标识 - ResultBean selectUrlByKey = sysProUrlFeign.selectUrlByKey(ProcDefEnum.VEHICLEAPPLY.getProDefId(), ufVo.getTaskDefKey(), "1", "2"); - SysProUrlVo sysProUrlVo = selectUrlByKey.getData(); - messageFlowableDto.setBusinessSid(busVehicleApply.getSid()); - messageFlowableDto.setApp_type("2"); - if (sysProUrlVo.getUrl().contains("#")) { - messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0)); - List codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList()); - int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray(); - ; - messageJsonDto.setButtons(ints); - } else { - messageFlowableDto.setModuleAction(sysProUrlVo.getUrl()); - } - messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0)); - messageJsonDto.setTaskName(ufVo.getNodeState()); - messageJsonDto.setProcInsId(ufVo.getProcInsId()); - messageJsonDto.setAppMap(appMap); - messageFlowableDto.setJson(messageJsonDto); - messageFlowableDto.setList(receiveSidList); - messageFlowableDto.setReceiveIdList(reveiveIdList); - messageFlowableDto.setModuleName("排产申请"); - messageFlowableDto.setMsgContent("排产申请"); - messageFlowableDto.setMsgTitle("排产申请"); - messageFlowableDto.setCreateName(busVehicleApply.getCreateByName()); - messageFlowableDto.setTaskId(ufVo.getTaskId()); - ResultBean stringResultBean = messageFeign.getMessage(messageFlowableDto); - String msgSid = stringResultBean.getData(); - return msgSid; - - } } \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 6adee4cf1e..08efb09c2e 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -14,7 +14,7 @@ public enum ProcDefEnum { ADVANCEGINVOICEAPPLY("提前开票申请流程", "advance_ginvoiceapply:1:242664"), ARREARSCARRYVEHICLE("欠款提车审批流程", "arrears_carryvehicle:1:232589"), // VEHICLEAPPLY("排产申请流程", "process_9egcg169:7:467504"),//TODO - VEHICLEAPPLY("排产申请流程", "process_9egcg169:8:557504"),//TODO + VEHICLEAPPLY("排产申请流程", "process_9egcg169:9:600004"),//TODO // RECORDAPPLICATION("入账申请", "record_application_7y80d4r8:1:265008"),//TODO RECORDAPPLICATION("入库申请", "process_xbwq2c7p:1:530004"),//TODO SCMVEHICLERETURN("采购退库", "process_md8aeoap:4:392512"), diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java index e7854e85c1..ba2219a2c1 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java @@ -195,6 +195,7 @@ public interface SysUserFeign { /** * 参数:当前用户角色sid,部门sid + * * @param query * @return */ @@ -219,4 +220,8 @@ public interface SysUserFeign { @ApiOperation(value = "根据用户sid获取用户id") @PostMapping(value = "selectIdBySid") ResultBean selectIdBySid(@RequestBody List stringList); + + @ApiOperation(value = "根据用户sid查询该分公司下所有销售经理的用户") + @GetMapping(value = "selectSysUserList") + ResultBean> selectSysUserList(@RequestParam("userSid") String userSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java index 09fbb02929..b7d69e96ce 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java @@ -199,4 +199,9 @@ public class SysUserFeignFallback implements SysUserFeign { public ResultBean selectIdBySid(List stringList) { return null; } + + @Override + public ResultBean> selectSysUserList(String userSid) { + return null; + } } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserListVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserListVo.java new file mode 100644 index 0000000000..e70c73e4c1 --- /dev/null +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserListVo.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.portal.api.sysuser; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/9/14 15:36 + * @Description + */ +@Data +public class SysUserListVo implements Vo { + private static final long serialVersionUID = -3047907553025391436L; + + private String name; + + private String sid; + +} diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java index 9926bb9065..43df06b908 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java @@ -604,4 +604,9 @@ public class SysUserRest implements SysUserFeign { public ResultBean selectIdBySid(List stringList) { return sysUserService.selectIdBySid(stringList); } + + @Override + public ResultBean> selectSysUserList(String userSid) { + return sysUserService.selectSysUserList(userSid); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index 177fe25742..7ce0d1d8b1 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -1,6 +1,7 @@ package com.yxt.anrui.portal.biz.sysuser; import cn.hutool.core.bean.BeanUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.crm.api.crmcustomer.CrmCustomer; @@ -42,6 +43,7 @@ import java.io.File; import java.util.*; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import static java.util.concurrent.Executors.newScheduledThreadPool; @@ -894,7 +896,7 @@ public class SysUserService extends MybatisBaseService { if (StringUtils.isBlank(query.getRoleSid())) { return rb.setMsg("角色sid不能为空"); } - if(StringUtils.isBlank(query.getOrgSidPath())){ + if (StringUtils.isBlank(query.getOrgSidPath())) { return rb.setMsg("机构全路径不能为空"); } //根据角色sid获取角色的层级 @@ -906,7 +908,7 @@ public class SysUserService extends MybatisBaseService { } sysUserVoList.removeAll(Collections.singleton(null)); - }else{ + } else { return rb.setMsg("该角色层级未设置"); } return rb.success().setData(sysUserVoList); @@ -989,4 +991,26 @@ public class SysUserService extends MybatisBaseService { } return rb.success().setData(sysUserVoList); } + + public ResultBean> selectSysUserList(String userSid) { + ResultBean> rb = ResultBean.fireFail(); + //销售经理角色sid + String roleSid = "f07e98d3-d179-48ee-a5ff-5928addead3f"; + //根据用户sid查询用户的部门全路径 + SysUserVo vo = fetchBySidVo(userSid); + //根据staffSid获取用户的组织全路径 + SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSid(vo.getStaffSid()); + UserQuery userRoleQuery = new UserQuery(); + userRoleQuery.setRoleSid(roleSid); + userRoleQuery.setOrgSidPath(sysStaffOrg.getOrgSidPath()); + ResultBean> resultBean = getUserByRole(userRoleQuery); + List sysUserVoList = resultBean.getData(); + sysUserVoList.removeAll(Collections.singleton(null)); + List voList = Optional.ofNullable(sysUserVoList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SysUserListVo.class)).collect(Collectors.toList()); + voList.removeAll(Collections.singleton(null)); + if(voList.isEmpty()){ + return rb.setMsg("下一环节没有用户"); + } + return rb.success().setData(voList); + } } \ No newline at end of file