From ea7c1df32b0c8830173ba01a647706a5ded10ce8 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期三, 21 一月 2026 18:00:57 +0800
Subject: [PATCH] yys 1.调整生产管控流程

---
 src/main/java/com/ruoyi/approve/service/impl/CarInfoServiceImpl.java |   86 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 86 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/approve/service/impl/CarInfoServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/CarInfoServiceImpl.java
new file mode 100644
index 0000000..e2a3a69
--- /dev/null
+++ b/src/main/java/com/ruoyi/approve/service/impl/CarInfoServiceImpl.java
@@ -0,0 +1,86 @@
+package com.ruoyi.approve.service.impl;
+
+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.ruoyi.approve.mapper.CarInfoRecordMapper;
+import com.ruoyi.approve.pojo.CarInfo;
+import com.ruoyi.approve.mapper.CarInfoMapper;
+import com.ruoyi.approve.pojo.CarInfoRecord;
+import com.ruoyi.approve.service.CarInfoService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 杞︿咯绠$悊 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-21 03:00:32
+ */
+@Service
+@Slf4j
+public class CarInfoServiceImpl extends ServiceImpl<CarInfoMapper, CarInfo> implements CarInfoService {
+
+    @Autowired
+    private CarInfoMapper carInfoMapper;
+
+    @Autowired
+    private CarInfoRecordMapper carInfoRecordMapper;
+
+
+    /**
+     * 鏀瑰彉杞﹁締浣跨敤鐘舵��
+     * @param id
+     */
+    public void updateUsageStatus(Long id, String usageStatus) {
+        CarInfo carInfo = carInfoMapper.selectOne(new LambdaQueryWrapper<CarInfo>()
+                .eq(CarInfo::getId, id)
+                .last("limit 1"));
+        if(carInfo == null) throw new RuntimeException("杞﹁締涓嶅瓨鍦�");
+        if("浣跨敤涓�".equals(usageStatus) && "浣跨敤涓�".equals(carInfo.getUsageStatus())) throw new RuntimeException("杞﹁締宸蹭娇鐢ㄤ腑");
+        carInfo.setUsageStatus(usageStatus);
+        carInfoMapper.updateById(carInfo);
+    }
+
+    @Override
+    public IPage<CarInfo> listPage(Page page, CarInfo carInfo) {
+        LambdaQueryWrapper<CarInfo> carInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if(carInfo != null){
+            if(StringUtils.isNotEmpty(carInfo.getCarNo())){
+                carInfoLambdaQueryWrapper.like(CarInfo::getCarNo,carInfo.getCarNo());
+            }
+            if(StringUtils.isNotEmpty(carInfo.getBrand())){
+                carInfoLambdaQueryWrapper.like(CarInfo::getBrand,carInfo.getBrand());
+            }
+            if(StringUtils.isNotEmpty(carInfo.getColor())){
+                carInfoLambdaQueryWrapper.like(CarInfo::getColor,carInfo.getColor());
+            }
+            if(StringUtils.isNotEmpty(carInfo.getUsageStatus())){
+                carInfoLambdaQueryWrapper.like(CarInfo::getUsageStatus,carInfo.getUsageStatus());
+            }
+        }
+        carInfoLambdaQueryWrapper.orderByDesc(CarInfo::getCreateTime);
+        Page<CarInfo> page1 = carInfoMapper.selectPage(page, carInfoLambdaQueryWrapper);
+        for (CarInfo record : page1.getRecords()) {
+            // 褰撳墠浣跨敤浜猴紝琛ㄦ樉閲岀▼
+            CarInfoRecord carInfoRecord = carInfoRecordMapper.selectOne(new LambdaQueryWrapper<CarInfoRecord>()
+                    .eq(CarInfoRecord::getCarInfoId, record.getId())
+                    .orderByDesc(CarInfoRecord::getCreateTime)
+                    .last("limit 1"));
+            if(carInfoRecord != null){
+                record.setCarInfoRecordId(carInfoRecord.getId());
+                record.setOdometerMileage(carInfoRecord.getOdometerMileage());
+                if("浣跨敤涓�".equals(record.getUsageStatus())){
+                    record.setCurrentUserName(carInfoRecord.getUserName());
+                }
+            }
+        }
+        return page1;
+    }
+}

--
Gitblit v1.9.3