From 2cc19f8033348f34df382d27f63810b2d6f56a05 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期二, 27 一月 2026 10:26:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 /dev/null                                                                         |   19 ------
 src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceFileServiceImpl.java |   20 ++++++
 src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceFileMapper.java            |    4 
 src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java              |    2 
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java      |   27 +++++++++
 src/main/java/com/ruoyi/device/pojo/DeviceMaintenanceFile.java                    |   10 +-
 src/main/java/com/ruoyi/device/service/DeviceMaintenanceFileService.java          |    4 
 src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java         |    8 ++
 src/main/java/com/ruoyi/device/controller/DeviceMaintenanceFileController.java    |   68 ++++++++++++++++++++++
 src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java                              |    2 
 10 files changed, 135 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceFileController.java b/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceFileController.java
new file mode 100644
index 0000000..d7da280
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceFileController.java
@@ -0,0 +1,68 @@
+package com.ruoyi.device.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.device.pojo.DeviceMaintenanceFile;
+import com.ruoyi.device.service.DeviceMaintenanceFileService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 璁惧淇濆吇闄勪欢 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-27 09:48:09
+ */
+@RestController
+@RequestMapping("/maintenanceTaskFile")
+@Api(tags = "璁惧淇濆吇闄勪欢")
+public class DeviceMaintenanceFileController {
+
+    @Resource
+    private DeviceMaintenanceFileService deviceMaintenanceFileService;
+
+
+    /**
+     * 鏂板
+     * @param deviceMaintenanceFile
+     * @return
+     */
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody DeviceMaintenanceFile deviceMaintenanceFile) {
+        return AjaxResult.success(deviceMaintenanceFileService.save(deviceMaintenanceFile));
+    }
+
+    /**
+     * 鍒犻櫎
+     * @param ids
+     * @return
+     */
+    @DeleteMapping("/del")
+    public AjaxResult delQualityUnqualified(@RequestBody List<Integer> ids) {
+        if(CollectionUtils.isEmpty(ids)){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        //鍒犻櫎妫�楠岄檮浠�
+        return AjaxResult.success(deviceMaintenanceFileService.removeBatchByIds(ids));
+    }
+
+    /**
+     *鍒嗛〉鏌ヨ
+     * @param page
+     * @param deviceMaintenanceFile
+     * @return
+     */
+    @GetMapping("/listPage")
+    public AjaxResult qualityInspectFileListPage(Page page, DeviceMaintenanceFile deviceMaintenanceFile) {
+        return AjaxResult.success(deviceMaintenanceFileService.page(page, Wrappers.<DeviceMaintenanceFile>lambdaQuery().eq(DeviceMaintenanceFile::getDeviceMaintenanceId,deviceMaintenanceFile.getDeviceMaintenanceId())));
+    }
+
+
+}
diff --git a/src/main/java/com/ruoyi/device/controller/MaintenanceTaskFileController.java b/src/main/java/com/ruoyi/device/controller/MaintenanceTaskFileController.java
deleted file mode 100644
index 20955f7..0000000
--- a/src/main/java/com/ruoyi/device/controller/MaintenanceTaskFileController.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.ruoyi.device.controller;
-
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.device.pojo.MaintenanceTaskFile;
-import com.ruoyi.device.service.MaintenanceTaskFileService;
-import com.ruoyi.framework.web.domain.AjaxResult;
-import com.ruoyi.quality.pojo.QualityInspectFile;
-import io.swagger.annotations.Api;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.util.List;
-
-/**
- * <p>
- * 璁惧淇濆吇闄勪欢 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-27 09:48:09
- */
-@RestController
-@RequestMapping("/maintenanceTaskFile")
-@Api(tags = "璁惧淇濆吇闄勪欢")
-public class MaintenanceTaskFileController {
-
-    @Resource
-    private MaintenanceTaskFileService maintenanceTaskFileService;
-
-
-    /**
-     * 鏂板
-     * @param maintenanceTaskFile
-     * @return
-     */
-    @PostMapping("/add")
-    public AjaxResult add(@RequestBody MaintenanceTaskFile maintenanceTaskFile) {
-        return AjaxResult.success(maintenanceTaskFileService.save(maintenanceTaskFile));
-    }
-
-    /**
-     * 鍒犻櫎
-     * @param ids
-     * @return
-     */
-    @DeleteMapping("/del")
-    public AjaxResult delQualityUnqualified(@RequestBody List<Integer> ids) {
-        if(CollectionUtils.isEmpty(ids)){
-            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
-        }
-        //鍒犻櫎妫�楠岄檮浠�
-        return AjaxResult.success(maintenanceTaskFileService.removeBatchByIds(ids));
-    }
-
-    /**
-     *鍒嗛〉鏌ヨ
-     * @param page
-     * @param maintenanceTaskFile
-     * @return
-     */
-    @GetMapping("/listPage")
-    public AjaxResult qualityInspectFileListPage(Page page, MaintenanceTaskFile maintenanceTaskFile) {
-        return AjaxResult.success(maintenanceTaskFileService.page(page, Wrappers.<MaintenanceTaskFile>lambdaQuery().eq(MaintenanceTaskFile::getMaintenanceTaskId,maintenanceTaskFile.getMaintenanceTaskId())));
-    }
-
-
-}
diff --git a/src/main/java/com/ruoyi/device/mapper/MaintenanceTaskFileMapper.java b/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceFileMapper.java
similarity index 67%
rename from src/main/java/com/ruoyi/device/mapper/MaintenanceTaskFileMapper.java
rename to src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceFileMapper.java
index 01c8844..2536a3b 100644
--- a/src/main/java/com/ruoyi/device/mapper/MaintenanceTaskFileMapper.java
+++ b/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceFileMapper.java
@@ -1,6 +1,6 @@
 package com.ruoyi.device.mapper;
 
-import com.ruoyi.device.pojo.MaintenanceTaskFile;
+import com.ruoyi.device.pojo.DeviceMaintenanceFile;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -13,6 +13,6 @@
  * @since 2026-01-27 09:48:09
  */
 @Mapper
-public interface MaintenanceTaskFileMapper extends BaseMapper<MaintenanceTaskFile> {
+public interface DeviceMaintenanceFileMapper extends BaseMapper<DeviceMaintenanceFile> {
 
 }
diff --git a/src/main/java/com/ruoyi/device/pojo/MaintenanceTaskFile.java b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenanceFile.java
similarity index 84%
rename from src/main/java/com/ruoyi/device/pojo/MaintenanceTaskFile.java
rename to src/main/java/com/ruoyi/device/pojo/DeviceMaintenanceFile.java
index ce4d23d..59226e1 100644
--- a/src/main/java/com/ruoyi/device/pojo/MaintenanceTaskFile.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceMaintenanceFile.java
@@ -22,9 +22,9 @@
  */
 @Getter
 @Setter
-@TableName("maintenance_task_file")
-@ApiModel(value = "MaintenanceTaskFile瀵硅薄", description = "璁惧淇濆吇闄勪欢")
-public class MaintenanceTaskFile implements Serializable {
+@TableName("device_maintenance_file")
+@ApiModel(value = "DeviceMaintenanceFile瀵硅薄", description = "璁惧淇濆吇璁板綍闄勪欢")
+public class DeviceMaintenanceFile implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -40,8 +40,8 @@
     @ApiModelProperty("鏂囦欢澶у皬")
     private Integer fileSize;
 
-    @ApiModelProperty("璁惧淇濆吇ID")
-    private Integer maintenanceTaskId;
+    @ApiModelProperty("璁惧淇濆吇璁板綍ID")
+    private Integer deviceMaintenanceId;
 
     @ApiModelProperty("鍒涘缓鏃堕棿")
     @TableField(fill = FieldFill.INSERT)
diff --git a/src/main/java/com/ruoyi/device/service/MaintenanceTaskFileService.java b/src/main/java/com/ruoyi/device/service/DeviceMaintenanceFileService.java
similarity index 62%
rename from src/main/java/com/ruoyi/device/service/MaintenanceTaskFileService.java
rename to src/main/java/com/ruoyi/device/service/DeviceMaintenanceFileService.java
index 74e5594..737ee2f 100644
--- a/src/main/java/com/ruoyi/device/service/MaintenanceTaskFileService.java
+++ b/src/main/java/com/ruoyi/device/service/DeviceMaintenanceFileService.java
@@ -1,6 +1,6 @@
 package com.ruoyi.device.service;
 
-import com.ruoyi.device.pojo.MaintenanceTaskFile;
+import com.ruoyi.device.pojo.DeviceMaintenanceFile;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**
@@ -11,6 +11,6 @@
  * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
  * @since 2026-01-27 09:48:09
  */
-public interface MaintenanceTaskFileService extends IService<MaintenanceTaskFile> {
+public interface DeviceMaintenanceFileService extends IService<DeviceMaintenanceFile> {
 
 }
diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceFileServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceFileServiceImpl.java
new file mode 100644
index 0000000..09e8df1
--- /dev/null
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceFileServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.device.service.impl;
+
+import com.ruoyi.device.mapper.DeviceMaintenanceFileMapper;
+import com.ruoyi.device.pojo.DeviceMaintenanceFile;
+import com.ruoyi.device.service.DeviceMaintenanceFileService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁惧淇濆吇闄勪欢 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-27 09:48:09
+ */
+@Service
+public class DeviceMaintenanceFileServiceImpl extends ServiceImpl<DeviceMaintenanceFileMapper, DeviceMaintenanceFile> implements DeviceMaintenanceFileService {
+
+}
diff --git a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskFileServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskFileServiceImpl.java
deleted file mode 100644
index 68fa78a..0000000
--- a/src/main/java/com/ruoyi/device/service/impl/MaintenanceTaskFileServiceImpl.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.ruoyi.device.service.impl;
-
-import com.ruoyi.device.pojo.MaintenanceTaskFile;
-import com.ruoyi.device.mapper.MaintenanceTaskFileMapper;
-import com.ruoyi.device.service.MaintenanceTaskFileService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- * 璁惧淇濆吇闄勪欢 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-01-27 09:48:09
- */
-@Service
-public class MaintenanceTaskFileServiceImpl extends ServiceImpl<MaintenanceTaskFileMapper, MaintenanceTaskFile> implements MaintenanceTaskFileService {
-
-}
diff --git a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
index a3c0adf..2358caf 100644
--- a/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
+++ b/src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -189,6 +189,14 @@
     }
 
     /**
+     * 鏌ヨ閲囪喘鍙拌处鍜屼骇鍝佺埗瀛愬垪琛�
+     */
+    @GetMapping("/getPurchaseByCode")
+    public PurchaseLedgerDto getPurchaseByCode(PurchaseLedgerDto purchaseLedgerDto) {
+        return purchaseLedgerService.getPurchaseByCode(purchaseLedgerDto);
+    }
+
+    /**
      * 鍒犻櫎閲囪喘鍙拌处
      */
     @Log(title = "閲囪喘鍙拌处", businessType = BusinessType.DELETE)
diff --git a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
index 2976eb6..34d19b3 100644
--- a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -43,4 +43,6 @@
     String getPurchaseNo();
 
     AjaxResult importData(MultipartFile file);
+
+    PurchaseLedgerDto getPurchaseByCode(PurchaseLedgerDto purchaseLedgerDto);
 }
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index e500744..a7d5765 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -163,6 +163,7 @@
         purchaseLedger.setRecorderId(purchaseLedgerDto.getRecorderId());
         purchaseLedger.setRecorderName(sysUser.getNickName());
         purchaseLedger.setPhoneNumber(sysUser.getPhonenumber());
+        purchaseLedger.setApprovalStatus(1);
         // 3. 鏂板鎴栨洿鏂颁富琛�
         if (purchaseLedger.getId() == null) {
             purchaseLedgerMapper.insert(purchaseLedger);
@@ -724,6 +725,32 @@
         return AjaxResult.success("瀵煎叆澶辫触");
     }
 
+    @Override
+    public PurchaseLedgerDto getPurchaseByCode(PurchaseLedgerDto purchaseLedgerDto) {
+        // 1. 鏌ヨ涓昏〃
+        PurchaseLedger purchaseLedger = purchaseLedgerMapper.selectOne(new LambdaQueryWrapper<PurchaseLedger>()
+                .eq(PurchaseLedger::getPurchaseContractNumber, purchaseLedgerDto.getPurchaseContractNumber())
+                .last("LIMIT 1"));
+        if (purchaseLedger == null) {
+            throw new BaseException("閲囪喘鍙拌处涓嶅瓨鍦�");
+        }
+
+        // 2. 鏌ヨ瀛愯〃
+        LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
+        productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, purchaseLedger.getId())
+                .eq(SalesLedgerProduct::getType, 2);
+        List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
+
+        // 4. 杞崲 DTO
+        PurchaseLedgerDto resultDto = new PurchaseLedgerDto();
+        BeanUtils.copyProperties(purchaseLedger, resultDto);
+        if (!products.isEmpty()) {
+            resultDto.setHasChildren(true);
+            resultDto.setProductData(products);
+        }
+        return resultDto;
+    }
+
     public void addApproveByPurchase(LoginUser loginUser,PurchaseLedger purchaseLedger) throws Exception {
         ApproveProcessVO approveProcessVO = new ApproveProcessVO();
         approveProcessVO.setApproveType(5);
diff --git a/src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java b/src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java
index 2a552d9..82a657c 100644
--- a/src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java
+++ b/src/main/java/com/ruoyi/sales/pojo/ShippingInfo.java
@@ -37,7 +37,7 @@
     @ApiModelProperty(value = "閿�鍞姤浠蜂骇鍝佽〃id")
     private Long salesLedgerProductId;
 
-    @ApiModelProperty(value = "鐘舵�� 寰呭鏍� 瀹℃牳涓� 锛屽鏍告嫆缁� 瀹℃牳閫氳繃")
+    @ApiModelProperty(value = "鐘舵�� 寰呭鏍� 瀹℃牳涓� 锛屽鏍告嫆缁� 瀹℃牳閫氳繃 宸插彂璐�")
     @Excel(name = "鐘舵��")
     private String status;
 
diff --git a/src/main/resources/mapper/device/MaintenanceTaskFileMapper.xml b/src/main/resources/mapper/device/MaintenanceTaskFileMapper.xml
deleted file mode 100644
index 8b7fe4b..0000000
--- a/src/main/resources/mapper/device/MaintenanceTaskFileMapper.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.ruoyi.device.mapper.MaintenanceTaskFileMapper">
-
-    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
-    <resultMap id="BaseResultMap" type="com.ruoyi.device.pojo.MaintenanceTaskFile">
-        <id column="id" property="id" />
-        <result column="name" property="name" />
-        <result column="url" property="url" />
-        <result column="file_size" property="fileSize" />
-        <result column="maintenance_task_id" property="maintenanceTaskId" />
-        <result column="create_time" property="createTime" />
-        <result column="create_user" property="createUser" />
-        <result column="update_time" property="updateTime" />
-        <result column="update_user" property="updateUser" />
-        <result column="tenant_id" property="tenantId" />
-    </resultMap>
-
-</mapper>

--
Gitblit v1.9.3