订单查询、司机和车辆删除

master
lzq 2025-11-03 14:36:23 +08:00
parent 4b0c7627fe
commit 599bfee4b0
11 changed files with 99 additions and 13 deletions

View File

@ -1,15 +1,19 @@
package com.njzscloud.supervisory.biz.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njzscloud.supervisory.biz.pojo.entity.BizDriverEntity;
import com.njzscloud.supervisory.biz.pojo.result.DriverCantDelResult;
import com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
*
*/
@ -30,4 +34,5 @@ public interface BizDriverMapper extends BaseMapper<BizDriverEntity> {
@Select("SELECT id,uscc,company_name FROM biz_company WHERE id = #{companyId}")
SearchCompanyResult selectCompanyById(@Param("companyId") Long companyId);
List<DriverCantDelResult> driverCantDel(@Param("ew") QueryWrapper<Object> ew);
}

View File

@ -7,10 +7,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njzscloud.supervisory.biz.pojo.entity.BizTruckEntity;
import com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult;
import com.njzscloud.supervisory.biz.pojo.result.SearchTruckResult;
import com.njzscloud.supervisory.biz.pojo.result.TruckCantDelResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
*
*/
@ -26,4 +29,6 @@ public interface BizTruckMapper extends BaseMapper<BizTruckEntity> {
* ID
*/
SearchTruckResult selectDetailById(@Param("id") Long id);
List<TruckCantDelResult> truckCantDel(@Param("ew") QueryWrapper<Object> ew);
}

View File

@ -0,0 +1,17 @@
package com.njzscloud.supervisory.biz.pojo.result;
import com.njzscloud.supervisory.order.contant.OrderStatus;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class DriverCantDelResult {
private String driverName;
private String sn;
private OrderStatus orderStatus;
}

View File

@ -0,0 +1,17 @@
package com.njzscloud.supervisory.biz.pojo.result;
import com.njzscloud.supervisory.order.contant.OrderStatus;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
@Getter
@Setter
@ToString
@Accessors(chain = true)
public class TruckCantDelResult {
private String licensePlate;
private String sn;
private OrderStatus orderStatus;
}

View File

@ -2,6 +2,7 @@ package com.njzscloud.supervisory.biz.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -19,6 +20,7 @@ import com.njzscloud.supervisory.biz.pojo.entity.BizDriverEntity;
import com.njzscloud.supervisory.biz.pojo.param.AddDriverParam;
import com.njzscloud.supervisory.biz.pojo.param.AuditDriverParam;
import com.njzscloud.supervisory.biz.pojo.param.ModifyDriverParam;
import com.njzscloud.supervisory.biz.pojo.result.DriverCantDelResult;
import com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult;
import com.njzscloud.supervisory.sys.auth.pojo.result.MyResult;
import com.njzscloud.supervisory.sys.user.pojo.param.AddUserAccountParam;
@ -31,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
*
@ -101,6 +104,18 @@ public class BizDriverService extends ServiceImpl<BizDriverMapper, BizDriverEnti
*/
@Transactional(rollbackFor = Exception.class)
public void del(List<Long> ids) {
Assert.notEmpty(ids, () -> Exceptions.clierr("未指定要删除的数据"));
List<BizDriverEntity> bizDriverEntities = this.listByIds(ids);
Assert.isTrue(bizDriverEntities.size() == ids.size(), () -> Exceptions.clierr("未找到要删除的数据"));
List<DriverCantDelResult> idList = baseMapper.driverCantDel(Wrappers.query()
.eq("a.deleted", 0)
.in("b.id", ids));
Assert.isTrue(idList.isEmpty(), () -> Exceptions.clierr(MapUtil.builder()
.put("reason", "存在已关联的订单")
.put("details", idList)
.build()));
List<Long> userIds = bizDriverEntities.stream().map(BizDriverEntity::getUserId).collect(Collectors.toList());
sysUserService.del(userIds);
this.removeBatchByIds(ids);
}

View File

@ -3,6 +3,7 @@ package com.njzscloud.supervisory.biz.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -22,6 +23,7 @@ import com.njzscloud.supervisory.biz.pojo.param.ModifyBizTruckParam;
import com.njzscloud.supervisory.biz.pojo.param.SearchTruckParam;
import com.njzscloud.supervisory.biz.pojo.result.SearchCompanyResult;
import com.njzscloud.supervisory.biz.pojo.result.SearchTruckResult;
import com.njzscloud.supervisory.biz.pojo.result.TruckCantDelResult;
import com.njzscloud.supervisory.device.pojo.entity.DeviceLocalizerEntity;
import com.njzscloud.supervisory.device.service.DeviceLocalizerService;
import com.njzscloud.supervisory.sys.auth.pojo.result.MyResult;
@ -104,6 +106,16 @@ public class BizTruckService extends ServiceImpl<BizTruckMapper, BizTruckEntity>
*/
@Transactional(rollbackFor = Exception.class)
public void del(List<Long> ids) {
Assert.notEmpty(ids, () -> Exceptions.clierr("未指定要删除的数据"));
long count = this.count(Wrappers.<BizTruckEntity>query().in("id", ids));
Assert.isTrue(count == ids.size(), () -> Exceptions.clierr("未找到要删除的数据"));
List<TruckCantDelResult> idList = baseMapper.truckCantDel(Wrappers.query()
.eq("a.deleted", 0)
.in("b.id", ids));
Assert.isTrue(idList.isEmpty(), () -> Exceptions.clierr(MapUtil.builder()
.put("reason", "存在已关联的订单")
.put("details", idList)
.build()));
this.removeBatchByIds(ids);
}

View File

@ -20,6 +20,7 @@ import com.njzscloud.supervisory.device.pojo.entity.DeviceInfoEntity;
import com.njzscloud.supervisory.order.contant.CheckStatus;
import com.njzscloud.supervisory.order.contant.OrderStatus;
import com.njzscloud.supervisory.order.contant.PaymentStatus;
import com.njzscloud.supervisory.order.contant.SettlementWay;
import com.njzscloud.supervisory.order.pojo.entity.OrderCarInOutEntity;
import com.njzscloud.supervisory.order.pojo.entity.OrderInfoEntity;
import com.njzscloud.supervisory.order.pojo.param.TruckComingOrderParam;
@ -470,6 +471,10 @@ public class DeviceInfoService extends ServiceImpl<DeviceInfoMapper, DeviceInfoE
BigDecimal weight_ = new BigDecimal(weight);
BigDecimal v = weight_.divide(new BigDecimal(1000), 2, RoundingMode.HALF_UP);
try {
String settlementWay = orderPagingResult.getSettlementWay();
if (SettlementWay.CASH.getTxt().equals(settlementWay)) {
playVoice(sn, cid, "{}请先支付", licensePlate);
}
boolean b = orderInfoService.truckLeaving(new TruckLeavingOrderParam()
.setOrderId(orderId)
.setWeight(weight)

View File

@ -191,7 +191,9 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Long transCompanyId = orderPagingSearchParam.getTransCompanyId();
Long goodsId = orderPagingSearchParam.getGoodsId();
Page<OrderPagingResult> page = pageParam.toPage();
Long stationId = orderPagingSearchParam.getStationId();
QueryWrapper<OrderPagingResult> ew = Wrappers.<OrderPagingResult>query()
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.like(StrUtil.isNotBlank(sn), "a.sn", sn)
.like(StrUtil.isNotBlank(licensePlate), "e.license_plate", licensePlate)
.like(StrUtil.isNotBlank(nickname), "a.contacts", nickname)
@ -248,9 +250,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
}
Set<String> roles = userDetail.getRoles();
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
Long stationId = orderPagingSearchParam.getStationId();
ew
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.eq("a.order_status", OrderStatus.YiYuYue)
.isNull("a.trans_company_id ")
;
@ -274,9 +274,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Set<String> roles = userDetail.getRoles();
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
Long stationId = orderPagingSearchParam.getStationId();
ew
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.in("a.order_status", OrderStatus.DaiPaiDan, OrderStatus.DaiJieDan, OrderStatus.YiJieDan)
;
return;
@ -313,9 +311,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Set<String> roles = userDetail.getRoles();
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
Long stationId = orderPagingSearchParam.getStationId();
ew
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.in("a.order_status", OrderStatus.QingYunZhong, OrderStatus.YiJinChang, OrderStatus.YiChuChang)
;
return;
@ -355,9 +351,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Set<String> roles = userDetail.getRoles();
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
Long stationId = orderPagingSearchParam.getStationId();
ew
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.eq("a.order_status", OrderStatus.YiWanCheng)
;
return;
@ -379,9 +373,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
Set<String> roles = userDetail.getRoles();
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
Long stationId = orderPagingSearchParam.getStationId();
ew
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.eq("a.order_status", OrderStatus.YiQuXiao)
;
return;
@ -392,9 +384,7 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
UserDetail userDetail = SecurityUtil.loginUser();
Set<String> roles = userDetail.getRoles();
if (SecurityUtil.isAdmin() || roles.contains(Constant.ROLE_STATION_MANAGE)) {
Long stationId = orderPagingSearchParam.getStationId();
ew
.eq(stationId != null && stationId > 0, "a.station_id", stationId)
.ne("a.auto_order", 3)
;
return;

View File

@ -55,7 +55,8 @@ ssh-tunnel:
host: 139.224.54.144
port: 22
user: root
credentials: D:/我的/再昇云/服务器秘钥/139.224.54.144_YZS_S1.pem
# 添加虚拟机参数:-DTUNNEL1_CREDENTIAL=证书文件地址
credentials: ${TUNNEL1_CREDENTIAL:}
proxy:
- localPort: 33061
targetHost: localhost

View File

@ -30,5 +30,13 @@
</if>
ORDER BY d.modify_time DESC
</select>
<resultMap id="driverCantDelMap" type="com.njzscloud.supervisory.biz.pojo.result.DriverCantDelResult">
<result column="order_status" property="orderStatus" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="driverCantDel" resultMap="driverCantDelMap">
SELECT b.driver_name, a.sn, a.order_status
FROM order_info a
INNER JOIN biz_driver b ON b.id = a.truck_id AND b.deleted = 0
</select>
</mapper>

View File

@ -74,4 +74,15 @@
LEFT JOIN device_localizer c ON c.terminal_id = a.gps
WHERE a.id = #{id} AND a.deleted = 0
</select>
<resultMap id="truckCantDelMap" type="com.njzscloud.supervisory.biz.pojo.result.TruckCantDelResult">
<result column="order_status" property="orderStatus" typeHandler="com.njzscloud.common.mp.support.handler.e.EnumTypeHandlerDealer"/>
</resultMap>
<select id="truckCantDel" resultMap="truckCantDelMap">
SELECT b.license_plate, a.sn, a.order_status
FROM order_info a
INNER JOIN biz_truck b ON b.id = a.truck_id AND b.deleted = 0
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
</select>
</mapper>