Browse Source

陆运调整

sunhz 3 years ago
parent
commit
a8fac9994a

+ 5 - 0
blade-service-api/blade-land-api/src/main/java/org/springblade/land/entity/Order.java

@@ -54,6 +54,11 @@ public class Order implements Serializable {
 	@ApiModelProperty(value = "客户ID")
 	private Long corpId;
 	/**
+	 * 所属公司
+	 */
+	@ApiModelProperty(value = "所属公司")
+	private String belongCompany;
+	/**
 	 * 提单号
 	 */
 	@ApiModelProperty(value = "提单号")

+ 3 - 0
blade-service-api/blade-land-api/src/main/java/org/springblade/land/entity/OrderItem.java

@@ -187,6 +187,9 @@ public class OrderItem implements Serializable {
 	private Integer tag;
 
 	@TableField(exist = false)
+	private String belongCompany;
+
+	@TableField(exist = false)
 	private String billNo;
 
 	@TableField(exist = false)

+ 10 - 1
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java

@@ -22,6 +22,7 @@ import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.finance.feign.IFinanceClient;
 import org.springblade.finance.vojo.Acc;
@@ -303,8 +304,16 @@ public class CorpsDescController extends BladeController {
 		lambdaQueryWrapper.like(Func.isNotEmpty(corpsDesc.getAdminProfiles()), CorpsDesc::getAdminProfiles, corpsDesc.getAdminProfiles());
 		lambdaQueryWrapper.eq(CorpsDesc::getIsDeleted, 0);
 		lambdaQueryWrapper.eq(CorpsDesc::getTenantId, SecureUtil.getTenantId());
+		List<CorpsDesc> corpsDescList = corpsDescService.list(lambdaQueryWrapper);
 
-		return R.data(corpsDescService.list(lambdaQueryWrapper));
+		List<CorpsDescVO> voList = BeanUtil.copy(corpsDescList, CorpsDescVO.class);
+		voList.forEach(desc -> {
+			if (StringUtils.isNotBlank(desc.getBelongtocompany())) {
+				CorpsDesc company = corpsDescService.getById(desc.getBelongtocompany());
+				desc.setBelongCompany(company.getCname());
+			}
+		});
+		return R.data(corpsDescList);
 	}
 
 	/**

+ 39 - 2
blade-service/blade-land/src/main/java/org/springblade/land/controller/OrderController.java

@@ -18,6 +18,7 @@ package org.springblade.land.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -51,6 +52,7 @@ import org.springblade.land.vo.OrderVO;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -116,6 +118,7 @@ public class OrderController extends BladeController {
 				LandVehicle vehicle = landVehicleClient.getVehicle(orderItem.getVehicleId());
 				orderItem.setPlateNo(vehicle.getPlateNo());
 				orderItem.setDriverName(vehicle.getDriverName());
+				orderItem.setTel(vehicle.getTel());
 			}
 		});
 		detail.setOrderItemList(orderItemList);
@@ -159,15 +162,49 @@ public class OrderController extends BladeController {
 		String role = AuthUtil.getUserRole();
 
 		LambdaQueryWrapper<Order> orderQueryWrapper = new LambdaQueryWrapper<>();
-		orderQueryWrapper.eq(ObjectUtil.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId())
+
+		List<Long> orderIdList = Collections.emptyList();
+		if (ObjectUtil.isNotEmpty(order.getItemStatus())) {
+			orderIdList = orderItemService.list(new LambdaQueryWrapper<OrderItem>()
+				.select(OrderItem::getOrderId)
+				.eq(OrderItem::getStatus, order.getItemStatus())
+				.eq(OrderItem::getKind, 2)
+				.eq(OrderItem::getIsDeleted, 0)
+				.eq(OrderItem::getTenantId, AuthUtil.getTenantId())
+				.groupBy(OrderItem::getOrderId)
+			).stream().map(OrderItem::getOrderId).collect(Collectors.toList());
+
+			if (CollectionUtil.isEmpty(orderIdList)) {
+				return R.data(new Page<>());
+			}
+		}
+
+		if (StringUtil.isNotBlank(order.getAddressDetail())) {
+			orderIdList = orderAddressService.list(new LambdaQueryWrapper<OrderAddress>()
+				.select(OrderAddress::getOrderId)
+				.in(CollectionUtil.isNotEmpty(orderIdList), OrderAddress::getOrderId, orderIdList)
+				.like(OrderAddress::getAddress, order.getAddressDetail())
+				.eq(OrderAddress::getIsDeleted, 0)
+				.groupBy(OrderAddress::getOrderId)
+			).stream().map(OrderAddress::getOrderId).collect(Collectors.toList());
+
+			if (CollectionUtil.isEmpty(orderIdList)) {
+				return R.data(new Page<>());
+			}
+		}
+
+		orderQueryWrapper.in(CollectionUtil.isNotEmpty(orderIdList), Order::getId, orderIdList)
+			.eq(ObjectUtil.isNotEmpty(order.getCorpId()), Order::getCorpId, order.getCorpId())
 			.eq(StringUtil.isNotBlank(order.getBillNo()), Order::getBillNo, order.getBillNo())
 			.eq(StringUtil.isNotBlank(order.getGoods()), Order::getGoods, order.getGoods())
+			.like(StringUtil.isNotBlank(order.getBelongCompany()), Order::getBelongCompany, order.getBelongCompany())
 			.like(StringUtil.isNotBlank(order.getStation()), Order::getStation, order.getStation())
 			.like(StringUtil.isNotBlank(order.getFactory()), Order::getFactory, order.getFactory())
 			.between(StringUtil.isNotBlank(order.getBeginArrivalTime()) && StringUtil.isNotBlank(order.getEndArrivalTime()), Order::getArrivalTime, order.getBeginArrivalTime(), order.getEndArrivalTime())
 			.between(StringUtil.isNotBlank(order.getBeginCrateTime()) && StringUtil.isNotBlank(order.getEndCrateTime()), Order::getCreateTime, order.getBeginCrateTime(), order.getEndCrateTime())
 			.eq(Order::getIsDeleted, 0)
-			.eq(Order::getTenantId, AuthUtil.getTenantId());
+			.eq(Order::getTenantId, AuthUtil.getTenantId())
+			.orderByDesc(Order::getCreateTime);
 
 		if (order.getKind() == 1) {
 			if (role.contains(LandConstant.CORP_ROLE)) {

+ 29 - 2
blade-service/blade-land/src/main/java/org/springblade/land/controller/OrderItemController.java

@@ -18,14 +18,18 @@ package org.springblade.land.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import org.springblade.client.constant.LandConstant;
+import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.LandVehicle;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.ILandDriverClient;
+import org.springblade.client.feign.ILandVehicleClient;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -66,6 +70,8 @@ public class OrderItemController extends BladeController {
 
 	private final ILandDriverClient landDriverClient;
 
+	private final ILandVehicleClient landVehicleClient;
+
 	/**
 	 * 详情
 	 */
@@ -89,6 +95,7 @@ public class OrderItemController extends BladeController {
 		LambdaQueryWrapper<Order> orderQueryWrapper = new LambdaQueryWrapper<>();
 		orderQueryWrapper.eq(StringUtil.isNotBlank(orderItem.getBillNo()), Order::getBillNo, orderItem.getBillNo())
 			.eq(StringUtil.isNotBlank(orderItem.getGoods()), Order::getGoods, orderItem.getGoods())
+			.like(StringUtil.isNotBlank(orderItem.getBelongCompany()), Order::getBelongCompany, orderItem.getBelongCompany())
 			.like(StringUtil.isNotBlank(orderItem.getStation()), Order::getStation, orderItem.getStation())
 			.like(StringUtil.isNotBlank(orderItem.getFactory()), Order::getFactory, orderItem.getFactory())
 			.between(StringUtil.isNotBlank(orderItem.getBeginArrivalTime()) && StringUtil.isNotBlank(orderItem.getEndArrivalTime()), Order::getArrivalTime, orderItem.getBeginArrivalTime(), orderItem.getEndArrivalTime())
@@ -119,22 +126,42 @@ public class OrderItemController extends BladeController {
 			}
 		}
 
-		itemQueryWrapper.in(CollectionUtil.isNotEmpty(orderIdList), OrderItem::getOrderId, orderIdList)
+		if (CollectionUtil.isEmpty(orderIdList)) {
+			return R.data(new Page<>());
+		}
+
+		itemQueryWrapper.in(OrderItem::getOrderId, orderIdList)
 			.eq(ObjectUtil.isNotEmpty(orderItem.getFleetId()), OrderItem::getFleetId, orderItem.getFleetId())
 			.eq(ObjectUtil.isNotEmpty(orderItem.getVehicleId()), OrderItem::getVehicleId, orderItem.getVehicleId())
 			.eq(ObjectUtil.isNotEmpty(orderItem.getDriverId()), OrderItem::getDriverId, orderItem.getDriverId())
 			.eq(ObjectUtil.isNotEmpty(orderItem.getStatus()), OrderItem::getStatus, orderItem.getStatus())
 			.eq(OrderItem::getKind, 2)
 			.eq(OrderItem::getIsDeleted, 0)
-			.eq(OrderItem::getTenantId, AuthUtil.getTenantId());
+			.eq(OrderItem::getTenantId, AuthUtil.getTenantId())
+			.orderByDesc(OrderItem::getUpdateTime);
 		IPage<OrderItem> pages = orderItemService.page(Condition.getPage(query), itemQueryWrapper);
 		pages.getRecords().forEach(record -> {
 			Order order = orderService.getById(record.getOrderId());
+			record.setBelongCompany(order.getBelongCompany());
 			record.setBillNo(order.getBillNo());
 			record.setGoods(order.getGoods());
 			record.setStation(order.getStation());
 			record.setFactory(order.getFactory());
 			record.setArrivalTime(order.getArrivalTime());
+
+			if (ObjectUtil.isNotEmpty(record.getFleetId())) {
+				R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(record.getFleetId());
+				if (corpMessage.isSuccess() && corpMessage.getData() != null) {
+					record.setFleetName(corpMessage.getData().getCname());
+				}
+			}
+
+			if (ObjectUtil.isNotEmpty(record.getVehicleId())) {
+				LandVehicle vehicle = landVehicleClient.getVehicle(record.getVehicleId());
+				record.setPlateNo(vehicle.getPlateNo());
+				record.setDriverName(vehicle.getDriverName());
+				record.setTel(vehicle.getTel());
+			}
 		});
 		return R.data(pages);
 	}

+ 0 - 2
blade-service/blade-land/src/main/java/org/springblade/land/service/impl/OrderItemServiceImpl.java

@@ -82,7 +82,6 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
 		OrderItem item = new OrderItem();
 		item.setId(orderItem.getId());
 		item.setVehicleId(orderItem.getVehicleId());
-		item.setTel(orderItem.getTel());
 		item.setDriverId(orderItem.getDriverId());
 		item.setFleetRemarks(orderItem.getFleetRemarks());
 		item.setStatus(2);
@@ -96,7 +95,6 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
 	public boolean cancelSend(Long id) {
 		baseMapper.update(null, new LambdaUpdateWrapper<OrderItem>()
 			.set(OrderItem::getVehicleId, null)
-			.set(OrderItem::getTel, null)
 			.set(OrderItem::getDriverId, null)
 			.set(OrderItem::getFleetRemarks, null)
 			.set(OrderItem::getStatus, 1)