|
@@ -321,16 +321,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
orderDto.setExceptionType(OrderExceptionTypeEnum.NORMAL.getKey().toString());
|
|
|
if (Objects.equals(orderDto.getType(), 2)) {
|
|
|
orderDto.setClassify(OrderClassifyEnum.OUTSOURCE_ORDER.getKey());
|
|
|
- } else if (Objects.equals(orderDto.getType(), 1)) {
|
|
|
- // 拥有采购角色的账号创建的自主订单为采购订单
|
|
|
- Long userId = SecurityUtils.getUserId();
|
|
|
- Set<String> roleKeys = roleService.selectRolePermissionByUserId(userId);
|
|
|
- if (!Collections.disjoint(roleKeys, Arrays.asList("sypurchasing", "purchasingOfficer", "bzpurchasing"))) {
|
|
|
- orderDto.setClassify(OrderClassifyEnum.PURCHASE_ORDER.getKey());
|
|
|
- }
|
|
|
- }
|
|
|
- // 委外订单修改金额
|
|
|
- if (ObjectUtil.equals(orderDto.getType(), 2)) {
|
|
|
+ // 委外订单修改金额
|
|
|
orderDto.setProductTotalAmount(BigDecimal.ZERO);
|
|
|
orderDto.setDeliveryMaterialsFee(BigDecimal.ZERO);
|
|
|
orderDto.setManagementFee(BigDecimal.ZERO);
|
|
@@ -341,7 +332,15 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
.add(orderDto.getDeliveryMaterialsFee())
|
|
|
.add(orderDto.getPackingLabor())
|
|
|
.add(orderDto.getPackagingMaterialCost())
|
|
|
+ .add(orderDto.getProofingFee())
|
|
|
.add(orderDto.getManagementFee()));
|
|
|
+ } else if (Objects.equals(orderDto.getType(), 1)) {
|
|
|
+ // 拥有采购角色的账号创建的自主订单为采购订单
|
|
|
+ Long userId = SecurityUtils.getUserId();
|
|
|
+ Set<String> roleKeys = roleService.selectRolePermissionByUserId(userId);
|
|
|
+ if (!Collections.disjoint(roleKeys, Arrays.asList("sypurchasing", "purchasingOfficer", "bzpurchasing"))) {
|
|
|
+ orderDto.setClassify(OrderClassifyEnum.PURCHASE_ORDER.getKey());
|
|
|
+ }
|
|
|
}
|
|
|
this.save(orderDto);
|
|
|
|
|
@@ -590,6 +589,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
.add(dto.getDeliveryMaterialsFee())
|
|
|
.add(dto.getPackingLabor())
|
|
|
.add(dto.getPackagingMaterialCost())
|
|
|
+ .add(dto.getProofingFee())
|
|
|
.add(dto.getManagementFee()));
|
|
|
// 清空订单快递包材
|
|
|
dto.setOrderPackageBomList(null);
|
|
@@ -1300,14 +1300,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
.map(item -> item.getInternalSellingPrice().multiply(item.getQuantity()))
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
}
|
|
|
- orderInfo.setDeliveryMaterialsFee(newDeliveryMaterialsFee);
|
|
|
List<OrderSku> orderSkuList = orderSkuService.list(q -> q.eq(OrderSku::getOrderId, orderInfo.getId()));
|
|
|
+ // sku的数量
|
|
|
BigDecimal quantity = orderSkuList.stream().map(OrderSku::getQuantity).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ // sku快递包材费
|
|
|
+ BigDecimal skuDeliveryMaterialsFee = newDeliveryMaterialsFee.divide(quantity, 3, RoundingMode.CEILING);
|
|
|
orderSkuList.forEach(item ->
|
|
|
- item.setDeliveryMaterialsFee(orderInfo.getDeliveryMaterialsFee()
|
|
|
- .divide(quantity, 4, RoundingMode.HALF_UP))
|
|
|
+ item.setDeliveryMaterialsFee(skuDeliveryMaterialsFee)
|
|
|
);
|
|
|
- orderInfo.setTotalAmount(totalAmount.subtract(oldDeliveryMaterialsFee).add(newDeliveryMaterialsFee));
|
|
|
+ // 订单更新快递包材费
|
|
|
+ orderInfo.setDeliveryMaterialsFee(skuDeliveryMaterialsFee.multiply(quantity).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ orderInfo.setTotalAmount(totalAmount.subtract(oldDeliveryMaterialsFee).add(orderInfo.getDeliveryMaterialsFee()));
|
|
|
this.updateById(orderInfo);
|
|
|
orderSkuService.updateBatchById(orderSkuList);
|
|
|
ObsFileUtil.editFile(dto.getOuterBoxSelfAdhesiveStickerFile(), dto.getId(), 1);
|
|
@@ -1444,12 +1447,32 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
|
|
|
orderSkuExportVo.setErpCode(item.getErpCode());
|
|
|
orderSkuExportVo.setFeatureCode(item.getFeatureCode());
|
|
|
orderSkuExportVo.setQuantity(item.getQuantity());
|
|
|
- orderSkuExportVo.setTotalAmount(subtotal.multiply(item.getQuantity()).add(orderPackagePrice));
|
|
|
+ orderSkuExportVo.setTotalAmount(subtotal.multiply(item.getQuantity()).add(orderPackagePrice).setScale(2, RoundingMode.HALF_UP));
|
|
|
return orderSkuExportVo;
|
|
|
}).collect(Collectors.toList());
|
|
|
ExcelUtil.export(response, exportVoList, OrderSkuExportVo.class);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Page<OrderInfoVo> getOrderSelectListByCode(OrderSelectDto dto) {
|
|
|
+ IWrapper<OrderInfo> wrapper = getWrapper();
|
|
|
+ wrapper.orderByDesc("o", OrderInfo::getId);
|
|
|
+ wrapper.and(q -> q
|
|
|
+ .and(r -> r.eq("o", OrderInfo::getWlnStorageCode, "T007").ge("o", OrderInfo::getWlnStatus, 2))
|
|
|
+ .or(r -> r.ne("o", OrderInfo::getWlnStorageCode, "T007").ge("o", OrderInfo::getWlnStatus, 1))
|
|
|
+ .or(r -> r.eq("o", OrderInfo::getSource, 1))
|
|
|
+ );
|
|
|
+ wrapper.and(StrUtil.isNotBlank(dto.getCode()), q -> q
|
|
|
+ .like("o", OrderInfo::getCode, dto.getCode())
|
|
|
+ .or()
|
|
|
+ .like("o", OrderInfo::getWlnCode, dto.getCode()));
|
|
|
+
|
|
|
+ wrapper.ne("o", OrderInfo::getExceptionType, OrderExceptionTypeEnum.NORMAL.getKey().toString());
|
|
|
+
|
|
|
+ Page<OrderInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 删除订单以及订单关联数据
|
|
|
*/
|