diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java index 4169137ddc..867a00f6c1 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdiscountpackagehandover/BusDiscountpackageHandoverService.java @@ -243,30 +243,51 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService pagging = baseMapper.selectPageVo(page, qw); List records = pagging.getRecords(); if (null != records) { + //按角色控制权限 1优惠包管理员 2销售专员 3优惠包管理员&&销售专员 + int role = 0; + String roles = ""; //根据当前用户sid查询用户角色 List roleVoList = sysRoleFeign.fetchByUserSid(query.getUserSid()).getData(); roleVoList.removeAll(Collections.singleton(null)); + if (!roleVoList.isEmpty()) { + roles = String.join("+", roleVoList.stream().map(SysRoleVo::getName).collect(Collectors.toList())); + } + if (StringUtils.isNotBlank(roles)) { + if (roles.contains("优惠包管理员") && !roles.contains("销售专员")) { + role = 1; + } else if (!roles.contains("优惠包管理员") && roles.contains("销售专员")) { + role = 2; + } else if (roles.contains("优惠包管理员") && roles.contains("销售专员")) { + role = 3; + } + } + // ShowToDoHandover 销售专员 ShowHandover 优惠包管理员 for (BusDiscountpackageHandoverVo record : records) { if (null != record) { -// 待准备 服务站人员 ture 销售专员 false if (StringUtils.isNotBlank(record.getTransferStateKey())) { if ("002".equals(record.getTransferStateKey())) { record.setShowToDoHandover(false); record.setShowHandover(true); } //判断当前登录用户角色是否为销售专员 - if (!roleVoList.isEmpty()) { - for (SysRoleVo sysRoleVo : roleVoList) { - if ((sysRoleVo.getName()).contains("优惠包管理员")) { - if ("003".equals(record.getTransferStateKey())) { - record.setShowToDoHandover(false); - record.setShowHandover(false); - } + if ("003".equals(record.getTransferStateKey())) { + if (role == 1) { + record.setShowToDoHandover(false); + record.setShowHandover(false); + } + if (role == 2) { + record.setShowToDoHandover(true); + record.setShowHandover(false); + } + if (role == 3) { + String sid = record.getSid(); + BusDiscountpackageHandover handover = fetchBySid(sid); + if (handover.getRecUserSid().equals(query.getUserSid())) { + record.setShowToDoHandover(true); + record.setShowHandover(false); } else { - if ("003".equals(record.getTransferStateKey())) { - record.setShowToDoHandover(true); - record.setShowHandover(false); - } + record.setShowToDoHandover(false); + record.setShowHandover(false); } } } @@ -398,43 +419,51 @@ public class BusDiscountpackageHandoverService extends MybatisBaseService roleVoList = sysRoleFeign.fetchByUserSid(userSid).getData(); - + if (!roleVoList.isEmpty()) { + roles = String.join("+", roleVoList.stream().map(SysRoleVo::getName).collect(Collectors.toList())); + } + if (StringUtils.isNotBlank(roles)) { + if (roles.contains("优惠包管理员") && !roles.contains("销售专员")) { + role = 1; + } else if (!roles.contains("优惠包管理员") && roles.contains("销售专员")) { + role = 2; + } else if (roles.contains("优惠包管理员") && roles.contains("销售专员")) { + role = 3; + } + } //判断当前登录用户角色是否为销售专员 - if (null != roleVoList) { - for (SysRoleVo sysRoleVo : roleVoList) { - //如果当前登录用户角色包含分公司销售专员,将当前用户sid保存到查询条件中 - if ("分公司销售专员".equals(sysRoleVo.getName())) { - dto.setTransferStateKey("004"); - dto.setTransferStateValue("已移交"); - dto.setRecTime(new Date()); - if (StringUtils.isNotBlank(dto.getTransferStateKey())) { - i = this.updateBySid(dto.toMap(), sid); - } - List busFiles = dto.getBusFiles(); - if (null != busFiles && i > 0) { - this.uploadPicture(dto); - } - BusDiscountpackageHandoverDetailsVo detailsVo = this.handoverDetails(sid); - // String s = commonCreatePdf(detailsVo); - String targetPath = docPdfComponent.getUploadTemplateUrl(); - // String filePath = s.substring(targetPath.length()); - BusDiscountpackageHandover entity = fetchBySid(sid); - // entity.setFilePath(filePath); - entity.setFilePath(""); - baseMapper.updateById(entity); - } else if ((sysRoleVo.getName()).contains("优惠包管理员")) { - dto.setTransferStateKey("003"); - dto.setTransferStateValue("移交中"); - dto.setTransferUserSid(userSid); - dto.setTransferName(userName); - dto.setTransferPhone(mobile); - if (StringUtils.isNotBlank(dto.getTransferStateKey())) { - i = this.updateBySid(dto.toMap(), sid); - } - } + //如果当前登录用户角色包含分公司销售专员,将当前用户sid保存到查询条件中 + if (role == 2 || (role == 3 && transferStateValue.equals("移交中"))) { + dto.setTransferStateKey("004"); + dto.setTransferStateValue("已移交"); + dto.setRecTime(new Date()); + if (StringUtils.isNotBlank(dto.getTransferStateKey())) { + i = this.updateBySid(dto.toMap(), sid); + } + List busFiles = dto.getBusFiles(); + if (null != busFiles && i > 0) { + this.uploadPicture(dto); + } + BusDiscountpackageHandoverDetailsVo detailsVo = this.handoverDetails(sid); + // String s = commonCreatePdf(detailsVo); + String targetPath = docPdfComponent.getUploadTemplateUrl(); + // String filePath = s.substring(targetPath.length()); + BusDiscountpackageHandover entity = fetchBySid(sid); + // entity.setFilePath(filePath); + entity.setFilePath(""); + baseMapper.updateById(entity); + } else if (role == 1 || (role == 3 && transferStateValue.equals("待移交"))) { + dto.setTransferStateKey("003"); + dto.setTransferStateValue("移交中"); + dto.setTransferUserSid(userSid); + dto.setTransferName(userName); + dto.setTransferPhone(mobile); + if (StringUtils.isNotBlank(dto.getTransferStateKey())) { + i = this.updateBySid(dto.toMap(), sid); } } return i; diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesPaymentDetailsQuery.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesPaymentDetailsQuery.java index e4fe5b8eef..72f6bd355e 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesPaymentDetailsQuery.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finselectedreceivablesdetailed/FinSelectedReceivablesPaymentDetailsQuery.java @@ -4,6 +4,7 @@ import com.yxt.common.core.query.Query; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; import java.util.List; /** @@ -34,6 +35,8 @@ public class FinSelectedReceivablesPaymentDetailsQuery implements Query { private String name; @ApiModelProperty("应收款项sid") - private List sids; + private List sids = new ArrayList<>(); + + private List sidList = new ArrayList<>(); } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java index c4af687432..3e04c10a7d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java @@ -507,6 +507,14 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService sidsList = pagerQuery.getParams().getSidList(); + if (sidsList != null) { + for (String sid : sidsList) { + if (StringUtils.isNotBlank(sid)) { + qw.ne("fd.sid", sid); + } + } + } if(StringUtils.isNotBlank(params.getContractNo())){ qw.like("fd.contractNo",params.getContractNo()); } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/ReceivablesPaymentDetailsQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/ReceivablesPaymentDetailsQuery.java index b9e5fd0614..5e4261ef73 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/ReceivablesPaymentDetailsQuery.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/finance/collectionConfirm/ReceivablesPaymentDetailsQuery.java @@ -18,8 +18,7 @@ public class ReceivablesPaymentDetailsQuery implements Query { private String name; @ApiModelProperty("明细sid") - @JsonProperty("sidList") - private List sids; + private List sidList; @ApiModelProperty("分公司sid") private String useOrgSid;