Commit 6415400c6878a4f137686261a46500671617083c

Authored by 房远帅
1 parent 5212d10a

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

@@ -64,6 +64,20 @@ public class GetDelayedShipmentBo extends BaseBo<DelayedShipment> { @@ -64,6 +64,20 @@ public class GetDelayedShipmentBo extends BaseBo<DelayedShipment> {
64 @ApiModelProperty("延期发货详情") 64 @ApiModelProperty("延期发货详情")
65 private List<DelayedShipmentDetail> delayedShipmentDetailList; 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 public GetDelayedShipmentBo() { 81 public GetDelayedShipmentBo() {
68 82
69 } 83 }
1 package com.lframework.xingyun.sc.controller.shipments.delay; 1 package com.lframework.xingyun.sc.controller.shipments.delay;
2 2
3 import com.lframework.starter.web.core.annotations.security.HasPermission; 3 import com.lframework.starter.web.core.annotations.security.HasPermission;
  4 +import com.lframework.starter.web.core.components.security.SecurityUtil;
4 import com.lframework.starter.web.core.controller.DefaultBaseController; 5 import com.lframework.starter.web.core.controller.DefaultBaseController;
5 import com.lframework.starter.web.core.utils.PageResultUtil; 6 import com.lframework.starter.web.core.utils.PageResultUtil;
6 import com.lframework.starter.web.core.components.resp.PageResult; 7 import com.lframework.starter.web.core.components.resp.PageResult;
7 import com.lframework.starter.web.core.components.resp.InvokeResult; 8 import com.lframework.starter.web.core.components.resp.InvokeResult;
8 import javax.validation.constraints.NotBlank; 9 import javax.validation.constraints.NotBlank;
  10 +
  11 +import com.lframework.xingyun.sc.bo.shipments.car.GetDraftRequestCarTicketBo;
9 import com.lframework.xingyun.sc.bo.shipments.delay.GetDelayedShipmentBo; 12 import com.lframework.xingyun.sc.bo.shipments.delay.GetDelayedShipmentBo;
10 import com.lframework.xingyun.sc.entity.DelayedShipment; 13 import com.lframework.xingyun.sc.entity.DelayedShipment;
11 import com.lframework.xingyun.sc.entity.DelayedShipmentDetail; 14 import com.lframework.xingyun.sc.entity.DelayedShipmentDetail;
@@ -58,7 +61,18 @@ public class DelayedShipmentController extends DefaultBaseController { @@ -58,7 +61,18 @@ public class DelayedShipmentController extends DefaultBaseController {
58 List<GetDelayedShipmentBo> results = null; 61 List<GetDelayedShipmentBo> results = null;
59 62
60 if (!CollectionUtil.isEmpty(datas)) { 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 return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results)); 78 return InvokeResultBuilder.success(PageResultUtil.rebuild(pageResult, results));
@@ -66,6 +66,12 @@ public class DelayedShipment extends BaseEntity implements BaseDto { @@ -66,6 +66,12 @@ public class DelayedShipment extends BaseEntity implements BaseDto {
66 private List<DelayedShipmentDetail> delayedShipmentDetailList; 66 private List<DelayedShipmentDetail> delayedShipmentDetailList;
67 67
68 /** 68 /**
  69 + * 是否展示审核按钮(非持久化字段)
  70 + */
  71 + @TableField(exist = false)
  72 + private Boolean showExamine = false;
  73 +
  74 + /**
69 * 创建人ID 75 * 创建人ID
70 */ 76 */
71 @TableField(fill = FieldFill.INSERT) 77 @TableField(fill = FieldFill.INSERT)
@@ -3,7 +3,10 @@ package com.lframework.xingyun.sc.impl.shipments.delay; @@ -3,7 +3,10 @@ package com.lframework.xingyun.sc.impl.shipments.delay;
3 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 3 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
4 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 4 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5 import com.github.pagehelper.PageInfo; 5 import com.github.pagehelper.PageInfo;
  6 +import com.lframework.starter.bpm.dto.FlowTaskDto;
  7 +import com.lframework.starter.bpm.mappers.FlowTaskWrapperMapper;
6 import com.lframework.starter.bpm.service.FlowInstanceWrapperService; 8 import com.lframework.starter.bpm.service.FlowInstanceWrapperService;
  9 +import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo;
7 import com.lframework.starter.common.utils.CollectionUtil; 10 import com.lframework.starter.common.utils.CollectionUtil;
8 import com.lframework.starter.common.utils.StringUtil; 11 import com.lframework.starter.common.utils.StringUtil;
9 import com.lframework.starter.mq.core.service.MqProducerService; 12 import com.lframework.starter.mq.core.service.MqProducerService;
@@ -23,8 +26,6 @@ import com.lframework.starter.web.inner.bo.usercenter.UserInfoBo; @@ -23,8 +26,6 @@ import com.lframework.starter.web.inner.bo.usercenter.UserInfoBo;
23 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType; 26 import com.lframework.starter.web.inner.components.oplog.OtherOpLogType;
24 import com.lframework.starter.web.inner.dto.message.SysSiteMessageDto; 27 import com.lframework.starter.web.inner.dto.message.SysSiteMessageDto;
25 import com.lframework.starter.web.inner.dto.system.UserInfoDto; 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 import com.lframework.starter.web.inner.service.system.SysUserRoleService; 29 import com.lframework.starter.web.inner.service.system.SysUserRoleService;
29 import com.lframework.starter.web.inner.service.system.SysUserService; 30 import com.lframework.starter.web.inner.service.system.SysUserService;
30 import com.lframework.xingyun.sc.entity.DelayedShipment; 31 import com.lframework.xingyun.sc.entity.DelayedShipment;
@@ -44,6 +45,7 @@ import java.time.LocalDate; @@ -44,6 +45,7 @@ import java.time.LocalDate;
44 import java.time.temporal.ChronoUnit; 45 import java.time.temporal.ChronoUnit;
45 import java.util.ArrayList; 46 import java.util.ArrayList;
46 import java.util.List; 47 import java.util.List;
  48 +import java.util.stream.Collectors;
47 49
48 @Service 50 @Service
49 public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmentMapper, DelayedShipment> implements DelayedShipmentService { 51 public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmentMapper, DelayedShipment> implements DelayedShipmentService {
@@ -64,6 +66,8 @@ public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmen @@ -64,6 +66,8 @@ public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmen
64 private SysUserRoleService sysUserRoleService; 66 private SysUserRoleService sysUserRoleService;
65 @Resource 67 @Resource
66 private TransactorHandler transactorHandler; 68 private TransactorHandler transactorHandler;
  69 + @Resource
  70 + private FlowTaskWrapperMapper flowTaskWrapperMapper;
67 71
68 @Override 72 @Override
69 public PageResult<DelayedShipment> query(Integer pageIndex, Integer pageSize, QueryDelayedShipmentVo vo) { 73 public PageResult<DelayedShipment> query(Integer pageIndex, Integer pageSize, QueryDelayedShipmentVo vo) {
@@ -73,6 +77,21 @@ public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmen @@ -73,6 +77,21 @@ public class DelayedShipmentServiceImpl extends BaseMpServiceImpl<DelayedShipmen
73 77
74 PageHelperUtil.startPage(pageIndex, pageSize); 78 PageHelperUtil.startPage(pageIndex, pageSize);
75 List<DelayedShipment> datas = this.query(vo); 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 return PageResultUtil.convert(new PageInfo<>(datas)); 96 return PageResultUtil.convert(new PageInfo<>(datas));
78 } 97 }