|
|
@@ -1,23 +1,20 @@
|
|
|
package com.trade.purchase.order.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.trade.purchase.exception.OrderException;
|
|
|
-import com.trade.purchase.order.assemble.mapstruct.OrderFeesMapstructMapper;
|
|
|
import com.trade.purchase.order.assemble.mapstruct.OrderItemMapstructMapper;
|
|
|
import com.trade.purchase.order.assemble.mapstruct.OrderMapstructMapper;
|
|
|
-import com.trade.purchase.order.component.IOrderCodeMaker;
|
|
|
import com.trade.purchase.order.component.IOrderSave;
|
|
|
import com.trade.purchase.order.dto.OrderSubmitDto;
|
|
|
import com.trade.purchase.order.entity.*;
|
|
|
import com.trade.purchase.order.enums.OrderStatusEnum;
|
|
|
-import com.trade.purchase.order.enums.OrderTypeEnum;
|
|
|
import com.trade.purchase.order.mapper.OrderMapper;
|
|
|
import com.trade.purchase.order.service.IOrderService;
|
|
|
-import com.trade.purchase.order.vo.OrderFeesVO;
|
|
|
-import com.trade.purchase.order.vo.OrderItemsVO;
|
|
|
import com.trade.purchase.order.vo.OrderVO;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.client.entity.CorpsDesc;
|
|
|
@@ -26,14 +23,17 @@ import org.springblade.client.entity.GoodsDesc;
|
|
|
import org.springblade.client.feign.ICorpsDescClient;
|
|
|
import org.springblade.client.feign.IFeesDescClient;
|
|
|
import org.springblade.client.feign.IGoodsDescClient;
|
|
|
-import org.springblade.client.feign.ISerialClient;
|
|
|
+import org.springblade.client.vo.CorpsDescVO;
|
|
|
import org.springblade.client.vo.GoodsDescVO;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.BeanUtil;
|
|
|
+import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.system.user.entity.User;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
import java.util.Optional;
|
|
|
@@ -65,13 +65,57 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
private final OrderItemMapstructMapper orderItemMapstructMapper;
|
|
|
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public IPage<OrderVO> selectOrderPage(IPage<OrderVO> page, OrderVO order) {
|
|
|
- return page.setRecords(baseMapper.selectOrderPage(page, order));
|
|
|
+ LambdaQueryWrapper<Order> lambdaQuery = Wrappers.<Order>lambdaQuery();
|
|
|
+ // 组装查询条件
|
|
|
+ pageQueryWrapper(lambdaQuery, order);
|
|
|
+
|
|
|
+ Page<Order> orderPage = this.page(new Page<>(page.getCurrent(), page.getSize()), lambdaQuery);
|
|
|
+ if (CollectionUtils.isNotEmpty(orderPage.getRecords())) {
|
|
|
+ List<Order> records = orderPage.getRecords();
|
|
|
+ // 转VO
|
|
|
+ List<OrderVO> copy = BeanUtil.copy(records, OrderVO.class);
|
|
|
+ // 获取客户信息
|
|
|
+ R<List<CorpsDescVO>> listR = corpsDescClient.selCorpsDetails(AuthUtil.getTenantId());
|
|
|
+ if (!listR.isSuccess() || CollectionUtils.isEmpty(listR.getData())) {
|
|
|
+ throw new OrderException("找不到客户信息");
|
|
|
+ }
|
|
|
+ copy.forEach(li -> {
|
|
|
+ Optional<CorpsDescVO> first = listR.getData().stream().filter(corp -> Objects.equals(corp.getId(), li.getCorpId())).findFirst();
|
|
|
+ first.ifPresent(corpsDescVO -> li.setCorpName(corpsDescVO.getCname()));
|
|
|
+ });
|
|
|
+ // todo:: 整理好map 在改
|
|
|
+// List<OrderVO> orderVOList = orderPage.getRecords().stream().map().collect(Collectors.toList());
|
|
|
+ page.setRecords(copy);
|
|
|
+ }
|
|
|
+ page.setTotal(orderPage.getTotal());
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 组装查询条件
|
|
|
+ *
|
|
|
+ * @param lambdaQuery 查询信息
|
|
|
+ * @param order 查询条件
|
|
|
+ */
|
|
|
+ private void pageQueryWrapper(LambdaQueryWrapper<Order> lambdaQuery, OrderVO order) {
|
|
|
+ lambdaQuery.select(Order::getId, Order::getSysNo, Order::getSrcOrderNo, Order::getCorpId, Order::getPaymentType, Order::getPackageRemarks);
|
|
|
+ lambdaQuery.eq(Func.notNull(order.getCorpId()), Order::getCorpId, order.getCorpId());
|
|
|
+ lambdaQuery.eq(Func.isNotBlank(order.getPaymentType()), Order::getPaymentType, order.getPaymentType());
|
|
|
+ lambdaQuery.eq(Func.isNotBlank(order.getPackageRemarks()), Order::getPackageRemarks, order.getPackageRemarks());
|
|
|
+ lambdaQuery.eq(Func.notNull(order.getOceanFreight()), Order::getOceanFreight, order.getOceanFreight());
|
|
|
+ lambdaQuery.eq(Order::getTenantId, AuthUtil.getTenantId());
|
|
|
+ lambdaQuery.like(Func.isNotBlank(order.getSysNo()), Order::getSysNo, order.getSysNo());
|
|
|
+ lambdaQuery.like(Func.isNotBlank(order.getBanks()), Order::getBanks, order.getBanks());
|
|
|
+ lambdaQuery.like(Func.isNotBlank(order.getSrcOrderNo()), Order::getSrcOrderNo, order.getSrcOrderNo());
|
|
|
+ lambdaQuery.like(Func.isNotBlank(order.getBanksAccountName()), Order::getBanksAccountName, order.getBanksAccountName());
|
|
|
+ lambdaQuery.between(Func.isNotBlank(order.getArrivalDateStart()), Order::getRequiredArrivalDate,
|
|
|
+ order.getArrivalDateStart(), order.getArrivalDateEnd());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
* 提交采购订单
|
|
|
*
|
|
|
* @param submitDto 提交信息
|
|
|
@@ -82,7 +126,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
public R<String> saveOrderMessage(OrderSubmitDto submitDto) {
|
|
|
// 落库
|
|
|
submitDto.setOrderStatus(OrderStatusEnum.PAUSE);
|
|
|
- submitDto.setOrderTypeEnum(OrderTypeEnum.PURCHASE);
|
|
|
orderSave.save(submitDto);
|
|
|
// todo:: 是否需要加日志
|
|
|
return R.status(true);
|
|
|
@@ -92,7 +135,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
* 提交订单信息
|
|
|
*
|
|
|
* @param submitDto 提交信息
|
|
|
- * @return 结果
|
|
|
+ * @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@@ -122,6 +165,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
OrderVO vo = orderMapstructMapper.toVo(orderMessage);
|
|
|
//获取创建人中文名
|
|
|
R<User> createUser = userClient.userInfoById(vo.getCreateUser());
|
|
|
+
|
|
|
+
|
|
|
if (createUser.isSuccess()) {
|
|
|
vo.setCreateUserName(createUser.getData().getName());
|
|
|
}
|