Commit 6415400c6878a4f137686261a46500671617083c

Authored by 房远帅
1 parent 5212d10a

楚江ERP:延期发货-按钮显示判断

... ... @@ -64,6 +64,20 @@ public class GetDelayedShipmentBo extends BaseBo<DelayedShipment> {
64 64 @ApiModelProperty("延期发货详情")
65 65 private List<DelayedShipmentDetail> delayedShipmentDetailList;
66 66
  67 + /**
  68 + * 是否展示审核按钮(非持久化字段)
  69 + */
  70 + @ApiModelProperty("是否展示审核按钮")
  71 + private Boolean showExamine;
  72 +
  73 + /**
  74 + * 是否是创建人(非持久化字段)
  75 + */
  76 + @ApiModelProperty("是否展示审核按钮")
  77 + private Boolean delayedCreateBy;
  78 +
  79 +
  80 +
67 81 public GetDelayedShipmentBo() {
68 82
69 83 }
... ...
1 1 package com.lframework.xingyun.sc.controller.shipments.delay;
2 2
3 3 import com.lframework.starter.web.core.annotations.security.HasPermission;
  4 +import com.lframework.starter.web.core.components.security.SecurityUtil;
4 5 import com.lframework.starter.web.core.controller.DefaultBaseController;
5 6 import com.lframework.starter.web.core.utils.PageResultUtil;
6 7 import com.lframework.starter.web.core.components.resp.PageResult;
7 8 import com.lframework.starter.web.core.components.resp.InvokeResult;
8 9 import javax.validation.constraints.NotBlank;
  10 +
  11 +import com.lframework.xingyun.sc.bo.shipments.car.GetDraftRequestCarTicketBo;
9 12 import com.lframework.xingyun.sc.bo.shipments.delay.GetDelayedShipmentBo;
10 13 import com.lframework.xingyun.sc.entity.DelayedShipment;
11 14 import com.lframework.xingyun.sc.entity.DelayedShipmentDetail;
... ... @@ -58,7 +61,18 @@ public class DelayedShipmentController extends DefaultBaseController {
58 61 List<GetDelayedShipmentBo> results = null;
59 62
60 63 if (!CollectionUtil.isEmpty(datas)) {
61   - results = datas.stream().map(GetDelayedShipmentBo::new).collect(Collectors.toList());
  64 + String currentUserId = SecurityUtil.getCurrentUser().getId();
  65 +
  66 + results = datas.stream().map(delayedShipment -> {
  67 + GetDelayedShipmentBo bo = new GetDelayedShipmentBo(delayedShipment);
  68 + // 判断 createById 是否等于当前用户 ID
  69 + boolean isCreateBy = false;
  70 + if (currentUserId.equals(delayedShipment.getCreateById())) {
  71 + isCreateBy = true;
  72 + }
  73 + bo.setDelayedCreateBy(isCreateBy);
  74 + return bo;
  75 + }).collect(Collectors.toList());
62 76 }
63 77
64 78 return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results));
... ...
... ... @@ -66,6 +66,12 @@ public class DelayedShipment extends BaseEntity implements BaseDto {
66 66 private List<DelayedShipmentDetail> delayedShipmentDetailList;
67 67
68 68 /**
  69 + * 是否展示审核按钮(非持久化字段)
  70 + */
  71 + @TableField(exist = false)
  72 + private Boolean showExamine = false;
  73 +
  74 + /**
69 75 * 创建人ID
70 76 */
71 77 @TableField(fill = FieldFill.INSERT)
... ...
... ... @@ -3,7 +3,10 @@ package com.lframework.xingyun.sc.impl.shipments.delay;
3 3 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
4 4 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5 5 import com.github.pagehelper.PageInfo;
  6 +import com.lframework.starter.bpm.dto.FlowTaskDto;
  7 +import com.lframework.starter.bpm.mappers.FlowTaskWrapperMapper;
6 8 import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
  9 +import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo;
7 10 import com.lframework.starter.common.utils.CollectionUtil;
8 11 import com.lframework.starter.common.utils.StringUtil;
9 12 import com.lframework.starter.mq.core.service.MqProducerService;
... ... @@ -23,8 +26,6 @@ import com.lframework.starter.web.inner.bo.usercenter.UserInfoBo;
23 26 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
24 27 import com.lframework.starter.web.inner.dto.message.SysSiteMessageDto;
25 28 import com.lframework.starter.web.inner.dto.system.UserInfoDto;
26   -import com.lframework.starter.web.inner.entity.SysRole;
27   -import com.lframework.starter.web.inner.service.system.SysRoleService;
28 29 import com.lframework.starter.web.inner.service.system.SysUserRoleService;
29 30 import com.lframework.starter.web.inner.service.system.SysUserService;
30 31 import com.lframework.xingyun.sc.entity.DelayedShipment;
... ... @@ -44,6 +45,7 @@ import java.time.LocalDate;
44 45 import java.time.temporal.ChronoUnit;
45 46 import java.util.ArrayList;
46 47 import java.util.List;
  48 +import java.util.stream.Collectors;
47 49
48 50 @Service
49 51 public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmentMapper, DelayedShipment> implements DelayedShipmentService {
... ... @@ -64,6 +66,8 @@ public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmen
64 66 private SysUserRoleService sysUserRoleService;
65 67 @Resource
66 68 private TransactorHandler transactorHandler;
  69 + @Resource
  70 + private FlowTaskWrapperMapper flowTaskWrapperMapper;
67 71
68 72 @Override
69 73 public PageResult<DelayedShipment> query(Integer pageIndex, Integer pageSize, QueryDelayedShipmentVo vo) {
... ... @@ -73,6 +77,21 @@ public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmen
73 77
74 78 PageHelperUtil.startPage(pageIndex, pageSize);
75 79 List<DelayedShipment> datas = this.query(vo);
  80 + if (CollectionUtils.isNotEmpty(datas)) {
  81 + // 获取当前人员的待办任务数据
  82 + List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId());
  83 + if (org.apache.commons.collections4.CollectionUtils.isEmpty(flowTaskList)) {
  84 + return PageResultUtil.convert(new PageInfo<>(datas));
  85 + }
  86 + List<String> ids = flowTaskList.stream().map(FlowTaskDto::getBusinessId).collect(Collectors.toList());
  87 + for (DelayedShipment delayedShipment : datas) {
  88 + if (ids.contains(delayedShipment.getId())) {
  89 + delayedShipment.setShowExamine(true);
  90 + } else {
  91 + delayedShipment.setShowExamine(false);
  92 + }
  93 + }
  94 + }
76 95
77 96 return PageResultUtil.convert(new PageInfo<>(datas));
78 97 }
... ...