From da780b14b8db78043d2c0f27d3bfd73111e6d550 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期四, 04 六月 2026 15:36:54 +0800
Subject: [PATCH] 更新配置文件和线路模型增加调度电话字段
---
ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java | 76 ++++++++++++++++++--------------------
1 files changed, 36 insertions(+), 40 deletions(-)
diff --git a/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java b/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
index 655af48..427221b 100644
--- a/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
+++ b/ManagementYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCompanyController.java
@@ -71,21 +71,15 @@
@Autowired
private ITDriverServiceService tDriverServiceService;
+ @Autowired
+ private IDriverWorkService driverWorkService;
+
@Autowired
private ITCarService tCarService;
@Autowired
private ITCarServiceService tCarServiceService;
- @Autowired
- private ITOrderPrivateCarService orderPrivateCarService;
-
- @Autowired
- private ITOrderTaxiService orderTaxiService;
-
- @Autowired
- private ITOrderCrossCityService orderCrossCityService;
-
@Value("${pushMinistryOfTransport}")
private boolean pushMinistryOfTransport;
@@ -376,6 +370,7 @@
if (commissionError != null) {
return commissionError;
}
+ tCompany.setIsNeedFerry(2);
tCompany.setType(2); //2:分公司
tCompany.setState(0); //0:正常
tCompany.setFlag("1");
@@ -472,6 +467,7 @@
if (commissionError != null) {
return commissionError;
}
+ tCompany.setIsNeedFerry(2);
User user = userService.selectById(userId);
if(null != user && ToolUtil.isNotEmpty(password)){
user.setPassword(ShiroKit.md5(password, user.getSalt()));
@@ -481,9 +477,9 @@
// ========== 级联更新逻辑 ==========
TCompany oldCompany = tCompanyService.selectById(tCompany.getId());
if (oldCompany != null && oldCompany.getType() == 2) {
- String unfinishedOrderError = validateCancelledServiceUnfinishedOrders(oldCompany, tCompany, true);
- if (unfinishedOrderError != null) {
- return unfinishedOrderError;
+ String driverServiceError = validateCancelledServiceDriverUsage(oldCompany, tCompany, true);
+ if (driverServiceError != null) {
+ return driverServiceError;
}
// 1. 检测并级联更新经营业务
cascadeUpdateBusinessScope(oldCompany, tCompany);
@@ -532,10 +528,11 @@
if (commissionError != null) {
return commissionError;
}
+ tCompany.setIsNeedFerry(2);
TCompany oldCompany = tCompanyService.selectById(tCompany.getId());
- String unfinishedOrderError = validateCancelledServiceUnfinishedOrders(oldCompany, tCompany, false);
- if (unfinishedOrderError != null) {
- return unfinishedOrderError;
+ String driverServiceError = validateCancelledServiceDriverUsage(oldCompany, tCompany, false);
+ if (driverServiceError != null) {
+ return driverServiceError;
}
tCompany.setUpdateTime(new Date());
// tCompany.setVersion(tCompany.getVersion() + 1);
@@ -572,6 +569,7 @@
if (commissionError != null) {
return commissionError;
}
+ tCompany.setIsNeedFerry(2);
tCompany.setType(3); //2:分公司
if (ShiroKit.getUser().getRoleType() == 2) {
tCompany.setSuperiorId(ShiroKit.getUser().getObjectId());
@@ -776,7 +774,7 @@
return false;
}
- private String validateCancelledServiceUnfinishedOrders(TCompany oldCompany, TCompany newCompany, boolean includeFranchisee) {
+ private String validateCancelledServiceDriverUsage(TCompany oldCompany, TCompany newCompany, boolean includeFranchisee) {
if (oldCompany == null || newCompany == null) {
return null;
}
@@ -788,14 +786,10 @@
if (driverIds.isEmpty()) {
return null;
}
- if (cancelledTypes.contains(1) && hasUnfinishedPrivateCarOrder(driverIds)) {
- return "当前公司内司机存在快车未完成订单,无法变动";
- }
- if (cancelledTypes.contains(2) && hasUnfinishedTaxiOrder(driverIds)) {
- return "当前公司内司机存在出租车未完成订单,无法变动";
- }
- if (cancelledTypes.contains(3) && hasUnfinishedCrossCityOrder(driverIds)) {
- return "当前公司内司机存在跨城出行未完成订单,无法变动";
+ for (Integer cancelledType : cancelledTypes) {
+ if (hasDriverWorkingService(driverIds, cancelledType)) {
+ return "当前公司内存在司机正在使用" + getServiceName(cancelledType) + "业务,无法变动";
+ }
}
return null;
}
@@ -843,25 +837,27 @@
}
}
- private boolean hasUnfinishedPrivateCarOrder(List<Integer> driverIds) {
- return orderPrivateCarService.selectCount(new EntityWrapper<TOrderPrivateCar>()
- .eq("isDelete", 1)
+ private boolean hasDriverWorkingService(List<Integer> driverIds, Integer serviceType) {
+ if (driverIds == null || driverIds.isEmpty() || serviceType == null) {
+ return false;
+ }
+ return driverWorkService.selectCount(new EntityWrapper<DriverWork>()
.in("driverId", driverIds)
- .notIn("state", 8, 9, 10, 12)) > 0;
+ .eq("state", 1)
+ .like("type", String.valueOf(serviceType))) > 0;
}
- private boolean hasUnfinishedTaxiOrder(List<Integer> driverIds) {
- return orderTaxiService.selectCount(new EntityWrapper<TOrderTaxi>()
- .eq("isDelete", 1)
- .in("driverId", driverIds)
- .notIn("state", 8, 9, 10, 12)) > 0;
- }
-
- private boolean hasUnfinishedCrossCityOrder(List<Integer> driverIds) {
- return orderCrossCityService.selectCount(new EntityWrapper<TOrderCrossCity>()
- .eq("isDelete", 1)
- .in("driverId", driverIds)
- .notIn("state", 8, 9, 10, 12)) > 0;
+ private String getServiceName(Integer serviceType) {
+ if (Integer.valueOf(1).equals(serviceType)) {
+ return "快车";
+ }
+ if (Integer.valueOf(2).equals(serviceType)) {
+ return "出租车";
+ }
+ if (Integer.valueOf(3).equals(serviceType)) {
+ return "跨城出行";
+ }
+ return "";
}
/**
--
Gitblit v1.7.1