Commit 06f27c68662fe4e0a5f1ec76c29fa8774786e92f

Authored by yeqianyong
1 parent 7fd4768f

楚江ERP-订货单变更调整

1 1 package com.lframework.xingyun.sc.bo.order.change;
2 2
3 3 import com.fasterxml.jackson.annotation.JsonFormat;
  4 +import com.lframework.starter.web.core.components.security.SecurityUtil;
4 5 import com.lframework.xingyun.sc.entity.OrderInfoChangeRecord;
5 6 import com.lframework.starter.common.constants.StringPool;
6 7 import com.lframework.starter.web.core.bo.BaseBo;
... ... @@ -55,6 +56,12 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> {
55 56 private String orderingUnit;
56 57
57 58 /**
  59 + * 订货单位名称
  60 + */
  61 + @ApiModelProperty("订货单位名称")
  62 + private String orderingUnitName;
  63 +
  64 + /**
58 65 * 订货日期
59 66 */
60 67 @ApiModelProperty("订货日期")
... ... @@ -200,12 +207,24 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> {
200 207 private Double totalQuantity;
201 208
202 209 /**
  210 + * 变更后总数量
  211 + */
  212 + @ApiModelProperty("变更后总数量")
  213 + private Double afterTotalQuantity;
  214 +
  215 + /**
203 216 * 包装费
204 217 */
205 218 @ApiModelProperty("包装费")
206 219 private BigDecimal packagingFee;
207 220
208 221 /**
  222 + * 制单日期
  223 + */
  224 + @ApiModelProperty("制单日期")
  225 + private LocalDate createDate;
  226 +
  227 + /**
209 228 * 变更前规格数据
210 229 */
211 230 @ApiModelProperty("变更前规格数据")
... ... @@ -217,6 +236,18 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> {
217 236 @ApiModelProperty("变更后规格数据")
218 237 private List<PurchaseOrderLine> afterChangeSpecList;
219 238
  239 + /**
  240 + * 是否展示审核按钮
  241 + */
  242 + @ApiModelProperty("是否展示审核按钮")
  243 + private Boolean showExamine;
  244 +
  245 + /**
  246 + * 是否是变更发起人
  247 + */
  248 + @ApiModelProperty("是否是变更发起人")
  249 + private Boolean changeCreateBy;
  250 +
220 251
221 252 public OrderChangeRecordBo() {
222 253
... ... @@ -233,6 +264,11 @@ public class OrderChangeRecordBo extends BaseBo<OrderInfoChangeRecord> {
233 264
234 265 @Override
235 266 protected void afterInit(OrderInfoChangeRecord dto) {
236   -
  267 + LocalDateTime time = dto.getCreateTime();
  268 + if (time != null) {
  269 + this.createDate = time.toLocalDate();
  270 + }
  271 + String createBy = dto.getCreateBy();
  272 + this.changeCreateBy = SecurityUtil.getCurrentUser().getId().equals(createBy);
237 273 }
238 274 }
... ...
... ... @@ -176,6 +176,12 @@ public class OrderInfoChangeRecord extends BaseEntity implements BaseDto {
176 176 private Double totalQuantity;
177 177
178 178 /**
  179 + * 变更后总数量
  180 + */
  181 + @TableField(exist = false)
  182 + private Double afterTotalQuantity;
  183 +
  184 + /**
179 185 * 包装费
180 186 */
181 187 private BigDecimal packagingFee;
... ... @@ -205,6 +211,12 @@ public class OrderInfoChangeRecord extends BaseEntity implements BaseDto {
205 211 private List<PurchaseOrderLine> afterChangeSpecList;
206 212
207 213 /**
  214 + * 是否展示审核按钮
  215 + */
  216 + @TableField(exist = false)
  217 + private Boolean showExamine;
  218 +
  219 + /**
208 220 * 创建人ID
209 221 */
210 222 @TableField(fill = FieldFill.INSERT)
... ...
... ... @@ -3,9 +3,13 @@ package com.lframework.xingyun.sc.impl.order;
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.StringUtil;
8 11 import com.lframework.starter.web.core.components.redis.RedisHandler;
  12 +import com.lframework.starter.web.core.components.security.SecurityUtil;
9 13 import com.lframework.starter.web.core.utils.*;
10 14 import com.lframework.starter.web.inner.service.system.SysUserService;
11 15 import com.lframework.xingyun.basedata.service.customer.CustomerService;
... ... @@ -29,6 +33,7 @@ import com.lframework.xingyun.sc.vo.order.CreatePurchaseOrderLineVo;
29 33 import com.lframework.xingyun.sc.vo.order.QueryPurchaseOrderInfoVo;
30 34 import com.lframework.xingyun.sc.vo.order.UpdatePurchaseOrderLineVo;
31 35 import com.lframework.xingyun.sc.vo.order.change.*;
  36 +import org.apache.commons.collections4.CollectionUtils;
32 37 import org.apache.commons.lang3.BooleanUtils;
33 38 import org.apache.commons.lang3.StringUtils;
34 39 import org.springframework.transaction.annotation.Transactional;
... ... @@ -37,6 +42,7 @@ import com.lframework.xingyun.sc.service.order.OrderChangeRecordService;
37 42 import org.springframework.stereotype.Service;
38 43
39 44 import javax.annotation.Resource;
  45 +import java.math.BigDecimal;
40 46 import java.util.*;
41 47 import java.util.stream.Collectors;
42 48
... ... @@ -63,6 +69,8 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR
63 69 private RedisHandler redisHandler;
64 70 @Resource
65 71 private MessageHandler messageHandler;
  72 + @Resource
  73 + private FlowTaskWrapperMapper flowTaskWrapperMapper;
66 74
67 75
68 76 @Override
... ... @@ -78,7 +86,21 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR
78 86
79 87 @Override
80 88 public List<OrderInfoChangeRecord> query(QueryPurchaseOrderInfoVo vo) {
81   - return getBaseMapper().query(vo);
  89 + List<OrderInfoChangeRecord> recordList = getBaseMapper().query(vo);
  90 + if (CollectionUtils.isEmpty(recordList)) {
  91 + return Collections.emptyList();
  92 + }
  93 + // 判断当前人员是否有审核权限
  94 + // 获取当前人员的待办任务数据
  95 + List<String> businessIds = new ArrayList<>();
  96 + List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId());
  97 + if (CollectionUtils.isNotEmpty(flowTaskList)) {
  98 + businessIds = flowTaskList.stream().map(FlowTaskDto::getBusinessId).collect(Collectors.toList());
  99 + }
  100 + for (OrderInfoChangeRecord record : recordList) {
  101 + record.setShowExamine(businessIds.contains(record.getId()));
  102 + }
  103 + return recordList;
82 104 }
83 105
84 106 @Override
... ... @@ -94,6 +116,16 @@ public class OrderChangeRecordServiceImpl extends BaseMpServiceImpl<OrderChangeR
94 116 changeRecord.setBeforeChangeSpecList(beforeChangeList);
95 117 // 变更后
96 118 List<PurchaseOrderLine> afterChangeList = purchaseOrderLineService.listByOrderIds(Collections.singletonList(id), true);
  119 + if (CollectionUtils.isNotEmpty(afterChangeList)) {
  120 + BigDecimal total = BigDecimal.ZERO;
  121 + for (PurchaseOrderLine afterChangeLine : afterChangeList) {
  122 + BigDecimal quantity = afterChangeLine.getQuantity();
  123 + if (quantity != null) {
  124 + total = total.add(quantity);
  125 + }
  126 + }
  127 + changeRecord.setAfterTotalQuantity(total.doubleValue());
  128 + }
97 129 changeRecord.setAfterChangeSpecList(afterChangeList);
98 130
99 131 return changeRecord;
... ...