|
|
@@ -88,78 +88,21 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
|
|
|
@Override
|
|
|
public IPage<OrderItem> getList(OrderItem orderItem, Query query) {
|
|
|
- List<Long> orderIdList = Collections.emptyList();
|
|
|
- if (StringUtil.isNotBlank(orderItem.getBelongCompany()) || StringUtil.isNotBlank(orderItem.getStation()) || StringUtil.isNotBlank(orderItem.getFactory())) {
|
|
|
- orderIdList = orderMapper.selectList(new LambdaQueryWrapper<Order>()
|
|
|
- .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())
|
|
|
- .like(StringUtil.isNotBlank(orderItem.getAddressDetail()), Order::getAddressDetail, orderItem.getAddressDetail())
|
|
|
- .between(StringUtil.isNotBlank(orderItem.getBeginCrateTime()) && StringUtil.isNotBlank(orderItem.getEndCrateTime()), Order::getCreateTime, orderItem.getBeginCrateTime(), orderItem.getEndCrateTime())
|
|
|
- .eq(Order::getIsDeleted, 0)
|
|
|
- .eq(Order::getTenantId, AuthUtil.getTenantId())
|
|
|
- ).stream().map(Order::getId).collect(Collectors.toList());
|
|
|
-
|
|
|
- if (CollectionUtil.isEmpty(orderIdList)) {
|
|
|
- return new Page<>();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- LambdaQueryWrapper<OrderItem> itemQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
- if (orderItem.getTag() == 4) {
|
|
|
- itemQueryWrapper.notIn(OrderItem::getStatus, 0, 1);
|
|
|
- } else if (orderItem.getTag() == 3) {
|
|
|
- itemQueryWrapper.notIn(OrderItem::getStatus, 0);
|
|
|
+ LambdaQueryWrapper<OrderItem> wrapper = getWrapper(orderItem);
|
|
|
+ if (ObjectUtil.isEmpty(wrapper)) {
|
|
|
+ return new Page<>();
|
|
|
}
|
|
|
|
|
|
- itemQueryWrapper.in(CollectionUtil.isNotEmpty(orderIdList), OrderItem::getOrderId, orderIdList)
|
|
|
- .like(StringUtil.isNotBlank(orderItem.getGoods()), OrderItem::getGoods, orderItem.getGoods())
|
|
|
- .like(StringUtil.isNotBlank(orderItem.getBillNo()), OrderItem::getBillNo, orderItem.getBillNo())
|
|
|
- .like(StringUtil.isNotBlank(orderItem.getTel()), OrderItem::getTel, orderItem.getTel())
|
|
|
- .like(StringUtil.isNotBlank(orderItem.getCtnNo()), OrderItem::getCtnNo, orderItem.getCtnNo())
|
|
|
- .between(StringUtil.isNotBlank(orderItem.getBeginArrivalTime()) && StringUtil.isNotBlank(orderItem.getEndArrivalTime()), OrderItem::getArrivalTime, orderItem.getBeginArrivalTime(), orderItem.getEndArrivalTime())
|
|
|
- .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())
|
|
|
- .orderByDesc(OrderItem::getUpdateTime);
|
|
|
- IPage<OrderItem> pages = baseMapper.selectPage(Condition.getPage(query), itemQueryWrapper);
|
|
|
+ IPage<OrderItem> pages = baseMapper.selectPage(Condition.getPage(query), wrapper);
|
|
|
pages.getRecords().forEach(record -> {
|
|
|
Order order = orderMapper.selectById(record.getOrderId());
|
|
|
- record.setOrderNo(order.getOrderNo());
|
|
|
- record.setBelongCompany(order.getBelongCompany());
|
|
|
- record.setStation(order.getStation());
|
|
|
- record.setFactory(order.getFactory());
|
|
|
- record.setAddressDetail(order.getAddressDetail());
|
|
|
-
|
|
|
- if (ObjectUtil.isNotEmpty(order.getCorpId())) {
|
|
|
- R<CorpsDesc> corp = corpsDescClient.getCorpMessage(order.getCorpId());
|
|
|
- if (corp.isSuccess() && corp.getData() != null) {
|
|
|
- record.setCorpName(corp.getData().getCname());
|
|
|
- }
|
|
|
- }
|
|
|
- if (ObjectUtil.isNotEmpty(record.getFleetId())) {
|
|
|
- R<CorpsDesc> fleet = corpsDescClient.getCorpMessage(record.getFleetId());
|
|
|
- if (fleet.isSuccess() && fleet.getData() != null) {
|
|
|
- record.setFleetName(fleet.getData().getCname());
|
|
|
- }
|
|
|
- }
|
|
|
- if (ObjectUtil.isNotEmpty(record.getDriverId())) {
|
|
|
- LandDriver driver = landDriverClient.getDriver(record.getDriverId());
|
|
|
- record.setDriverName(driver.getName());
|
|
|
- }
|
|
|
-
|
|
|
- if (orderItem.getTag() == 0) {
|
|
|
- BigDecimal d = record.getLandAmountD().add(record.getOneFeeD()).add(record.getTwoFeeD()).add(record.getThreeFeeD()).add(record.getFourFeeD()).add(record.getFiveFeeD());
|
|
|
- BigDecimal c = record.getLandAmountC().add(record.getOneFeeC()).add(record.getTwoFeeC()).add(record.getThreeFeeC()).add(record.getFourFeeC()).add(record.getFiveFeeC());
|
|
|
- record.setProfit(d.subtract(c));
|
|
|
- }
|
|
|
+ filling(record, order, orderItem.getTag());
|
|
|
|
|
|
// 手机端
|
|
|
if (StringUtil.isNotBlank(orderItem.getSource())) {
|
|
|
+ record.setBusinessType(order.getBusinessType());
|
|
|
+ record.setShippingMode(order.getShippingMode());
|
|
|
+
|
|
|
List<OrderAddress> orderAddressList = orderAddressMapper.selectList(new LambdaQueryWrapper<OrderAddress>()
|
|
|
.eq(OrderAddress::getOrderId, record.getOrderId())
|
|
|
.eq(OrderAddress::getIsDeleted, 0)
|
|
|
@@ -171,6 +114,21 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public List<OrderItem> getListNoPage(OrderItem orderItem) {
|
|
|
+ LambdaQueryWrapper<OrderItem> wrapper = getWrapper(orderItem);
|
|
|
+ if (ObjectUtil.isEmpty(wrapper)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ List<OrderItem> itemList = baseMapper.selectList(wrapper);
|
|
|
+ itemList.forEach(item -> {
|
|
|
+ Order order = orderMapper.selectById(item.getOrderId());
|
|
|
+ filling(item, order, orderItem.getTag());
|
|
|
+ });
|
|
|
+ return itemList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public Map<String, Object> getCount(OrderItem orderItem) {
|
|
|
LambdaQueryWrapper<OrderItem> itemQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
if (orderItem.getTag() == 4) {
|
|
|
@@ -437,6 +395,22 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@GlobalTransactional(rollbackFor = Exception.class)
|
|
|
+ public boolean borrow(Long id) {
|
|
|
+ OrderItem item = new OrderItem();
|
|
|
+ item.setId(id);
|
|
|
+ item.setStatus(6);
|
|
|
+ item.setBorrowTime(new Date());
|
|
|
+ item.setUpdateUser(AuthUtil.getUserId());
|
|
|
+ item.setUpdateTime(new Date());
|
|
|
+ baseMapper.updateById(item);
|
|
|
+
|
|
|
+ addChange(id, "提箱", 1);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @GlobalTransactional(rollbackFor = Exception.class)
|
|
|
public boolean arrival(Long id) {
|
|
|
OrderItem item = new OrderItem();
|
|
|
item.setId(id);
|
|
|
@@ -624,6 +598,82 @@ public class OrderItemServiceImpl extends ServiceImpl<OrderItemMapper, OrderItem
|
|
|
orderChangeMapper.insert(change);
|
|
|
}
|
|
|
|
|
|
+ private LambdaQueryWrapper<OrderItem> getWrapper(OrderItem orderItem) {
|
|
|
+ List<Long> orderIdList = Collections.emptyList();
|
|
|
+ if (ObjectUtil.isNotEmpty(orderItem.getCorpId()) || StringUtil.isNotBlank(orderItem.getStation())
|
|
|
+ || StringUtil.isNotBlank(orderItem.getFactory()) || StringUtil.isNotBlank(orderItem.getOrderNo())) {
|
|
|
+ orderIdList = orderMapper.selectList(new LambdaQueryWrapper<Order>()
|
|
|
+ .eq(ObjectUtil.isNotEmpty(orderItem.getCorpId()), Order::getCorpId, orderItem.getCorpId())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getOrderNo()), Order::getOrderNo, orderItem.getOrderNo())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getStation()), Order::getStation, orderItem.getStation())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getFactory()), Order::getFactory, orderItem.getFactory())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getAddressDetail()), Order::getAddressDetail, orderItem.getAddressDetail())
|
|
|
+ .eq(Order::getIsDeleted, 0)
|
|
|
+ .eq(Order::getTenantId, AuthUtil.getTenantId())
|
|
|
+ ).stream().map(Order::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ if (CollectionUtil.isEmpty(orderIdList)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ LambdaQueryWrapper<OrderItem> itemQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (orderItem.getTag() == 4) {
|
|
|
+ itemQueryWrapper.notIn(OrderItem::getStatus, 0, 1);
|
|
|
+ } else if (orderItem.getTag() == 3) {
|
|
|
+ itemQueryWrapper.notIn(OrderItem::getStatus, 0);
|
|
|
+ }
|
|
|
+
|
|
|
+ itemQueryWrapper.in(CollectionUtil.isNotEmpty(orderIdList), OrderItem::getOrderId, orderIdList)
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getGoods()), OrderItem::getGoods, orderItem.getGoods())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getBillNo()), OrderItem::getBillNo, orderItem.getBillNo())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getTel()), OrderItem::getTel, orderItem.getTel())
|
|
|
+ .like(StringUtil.isNotBlank(orderItem.getCtnNo()), OrderItem::getCtnNo, orderItem.getCtnNo())
|
|
|
+ .between(StringUtil.isNotBlank(orderItem.getBeginArrivalTime()) && StringUtil.isNotBlank(orderItem.getEndArrivalTime()), OrderItem::getArrivalTime, orderItem.getBeginArrivalTime(), orderItem.getEndArrivalTime())
|
|
|
+ .between(StringUtil.isNotBlank(orderItem.getBeginCrateTime()) && StringUtil.isNotBlank(orderItem.getEndCrateTime()), OrderItem::getCreateTime, orderItem.getBeginCrateTime(), orderItem.getEndCrateTime())
|
|
|
+ .eq(StringUtil.isNotBlank(orderItem.getCtnType()), OrderItem::getCtnType, orderItem.getCtnType())
|
|
|
+ .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())
|
|
|
+ .orderByDesc(OrderItem::getUpdateTime);
|
|
|
+ return itemQueryWrapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void filling(OrderItem item, Order order, Integer tag) {
|
|
|
+ item.setOrderNo(order.getOrderNo());
|
|
|
+ item.setBelongCompany(order.getBelongCompany());
|
|
|
+ item.setStation(order.getStation());
|
|
|
+ item.setFactory(order.getFactory());
|
|
|
+ item.setAddressDetail(order.getAddressDetail());
|
|
|
+
|
|
|
+ if (ObjectUtil.isNotEmpty(order.getCorpId())) {
|
|
|
+ R<CorpsDesc> corp = corpsDescClient.getCorpMessage(order.getCorpId());
|
|
|
+ if (corp.isSuccess() && corp.getData() != null) {
|
|
|
+ item.setCorpName(corp.getData().getCname());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(item.getFleetId())) {
|
|
|
+ R<CorpsDesc> fleet = corpsDescClient.getCorpMessage(item.getFleetId());
|
|
|
+ if (fleet.isSuccess() && fleet.getData() != null) {
|
|
|
+ item.setFleetName(fleet.getData().getCname());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (ObjectUtil.isNotEmpty(item.getDriverId())) {
|
|
|
+ LandDriver driver = landDriverClient.getDriver(item.getDriverId());
|
|
|
+ item.setDriverName(driver.getName());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (tag == 0) {
|
|
|
+ BigDecimal d = item.getLandAmountD().add(item.getOneFeeD()).add(item.getTwoFeeD()).add(item.getThreeFeeD()).add(item.getFourFeeD()).add(item.getFiveFeeD());
|
|
|
+ BigDecimal c = item.getLandAmountC().add(item.getOneFeeC()).add(item.getTwoFeeC()).add(item.getThreeFeeC()).add(item.getFourFeeC()).add(item.getFiveFeeC());
|
|
|
+ item.setProfit(d.subtract(c));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void sendMsgToCorp(OrderItem item, String mold) {
|
|
|
item.setSendUserId(item.getCreateUser());
|
|
|
sendMsg(MessageUtil.toCorp(item, mold));
|