From bfa0b11dfbfe5b71e11f4544e688e4d9f325d1b5 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 09 六月 2025 10:26:51 +0800
Subject: [PATCH] 修改bug和管理后台报表

---
 DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java |   73 ++++++++++++++++++++++++++----------
 1 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
index ceb0bd8..9bf614f 100644
--- a/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
+++ b/DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/CarServiceImpl.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.system.dao.CarBrandMapper;
@@ -12,6 +13,7 @@
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
@@ -77,8 +79,7 @@
     @Override
     public boolean idle(Integer id) throws Exception {
         Car car = this.selectById(id);
-        List<Map<String, Object>> list = carMapper.queryIdleData(car.getFranchiseeId() != null && car.getFranchiseeId() != 0 ? car.getFranchiseeId() : (
-                car.getCompanyId() != null && car.getCompanyId() != 0 ? car.getCompanyId() : 1));
+        List<Map<String, Object>> list = carMapper.queryIdleData(car.getCompanyId());
         for(Map<String, Object> map : list){
             Integer carId = Integer.valueOf(String.valueOf(map.get("id")));
             if(carId.compareTo(id) == 0){
@@ -126,35 +127,70 @@
      * @throws Exception
      */
     @Override
-    public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicensePhoto, String drivingLicenseEndTime,
-                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone) throws Exception {
+    public ResultUtil addCar(Integer modelId, String color, String licensePlate, Date time, String drivingLicenseNumber, String drivingLicensePhoto, String drivingLicenseEndTime,
+                             String carPhoto, String insurancePhoto, String commercialInsuranceTime, Integer uid,Integer id, String peopleAndCarsPhone, Integer language
+                                ,String otherBrand,String otherModel) throws Exception {
 
         Car query = carMapper.query(licensePlate);
         if(id==null){
             if(null != query){
-                return ResultUtil.error("车牌号已经使用");
+                return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "Plate number is already in use" : "Le numéro de plaque est déjà utilisé");
             }
         }else{
             if(null != query && !id.equals(query.getId())){
-                return ResultUtil.error("车牌号已经使用");
+                return ResultUtil.error(language == 1 ? "车牌号已经使用" : language == 2 ? "Plate number is already in use" : "Le numéro de plaque est déjà utilisé");
             }
         }
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         Car car = new Car();
-        car.setDriverId(uid);
-        car = carMapper.selectOne(car);
-        if(car==null){
-            car = new Car();
-            car.setId(id);
-        }
         car.setPeopleAndCarsPhone(peopleAndCarsPhone);
-        car.setCarModelId(modelId);
-        CarModel carModel = carModelMapper.selectById(modelId);
-        car.setCarBrandId(carModel.getBrandId());
+        //
+        if (!StringUtils.isEmpty(otherBrand)){
+            List<CarBrand> carBrandList = carBrandMapper.selectList(new EntityWrapper<CarBrand>().eq("name", otherBrand).eq("state",1));
+            if (carBrandList.isEmpty()){
+                CarBrand carBrand = new CarBrand();
+                carBrand.setState(1);
+                carBrand.setInsertTime(new Date());
+                carBrand.setName(otherBrand);
+                carBrand.setRemark("1");
+                Integer insert = carBrandMapper.insert(carBrand);
+                car.setCarBrandId(carBrand.getId());
+            }else {
+//                CarModel carModel = carModelMapper.selectById(modelId);
+                car.setCarBrandId(carBrandList.get(0).getId());
+            }
+        }else {
+            CarModel carModel = carModelMapper.selectById(modelId);
+            car.setCarBrandId(carModel.getBrandId());
+        }
+        //
+        if (!StringUtils.isEmpty(otherModel)){
+            List<CarModel> carModels = carModelMapper.selectList(new EntityWrapper<CarModel>().eq("name", otherModel).eq("brandId", car.getCarBrandId()).eq("state",1));
+            if (carModels.isEmpty()){
+            CarModel carModel = new CarModel();
+            carModel.setName(otherModel);
+            carModel.setState(1);
+            carModel.setInsertTime(new Date());
+                carModel.setSeat(5);
+            carModel.setBrandId(car.getCarBrandId());
+                carModel.setRemark("1");
+                carModelMapper.insert(carModel);
+                car.setCarModelId(carModel.getId());
+
+//            carModel.setSeat();
+            }else {
+                car.setCarModelId(carModels.get(0).getId());
+            }
+        }else {
+            car.setCarModelId(modelId);
+        }
+
+        //
         car.setCarColor(color);
         car.setCarLicensePlate(licensePlate);
         car.setAnnualInspectionTime(time);
+        car.setDrivingLicenseNumber(drivingLicenseNumber);
         car.setDrivingLicensePhoto(drivingLicensePhoto);
         if(ToolUtil.isNotEmpty(drivingLicenseEndTime)){
             car.setDrivingLicenseEndTime(sdf.parse(drivingLicenseEndTime));
@@ -166,16 +202,13 @@
         }
         Driver driver = driverService.selectById(uid);
         car.setCompanyId(driver.getCompanyId());
-        car.setFranchiseeId(driver.getFranchiseeId());
         car.setInsertTime(new Date());
         car.setState(1);
         car.setAuthState(1);
         car.setAddType(1);
         car.setDriverId(uid);
-        car.setAddObjectId(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
-                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
-        Company company = companyMapper.selectById(driver.getFranchiseeId() != null && driver.getFranchiseeId() != 0 ? driver.getFranchiseeId() : (
-                driver.getCompanyId() != null && driver.getCompanyId() != 0 ? driver.getCompanyId() : 1));
+        car.setAddObjectId(driver.getCompanyId());
+        Company company = companyMapper.selectById(driver.getCompanyId());
         car.setIsPlatCar(company.getType() == 1 ? 1 : 2);
         this.insertOrUpdate(car);
         //判断司机是否已经关联车辆,未关联车辆默认关联当前车辆

--
Gitblit v1.7.1