From ca9120482042ad53be6a0532ac4f394c7d822581 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 06 一月 2026 10:24:42 +0800
Subject: [PATCH] 生产报工-投入api

---
 src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java                    |    2 
 src/main/resources/mapper/production/ProductionProductInputMapper.xml                  |   24 +++++++++++
 src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java                  |   14 +++++++
 src/main/java/com/ruoyi/production/service/ProductionProductInputService.java          |   11 +++++
 src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java    |   25 ++++++++++++
 src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java            |    5 ++
 src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java |   24 ++++++++++++
 7 files changed, 103 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java
new file mode 100644
index 0000000..b4bf7dc
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductInputController.java
@@ -0,0 +1,25 @@
+package com.ruoyi.production.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.production.dto.ProductionProductInputDto;
+import com.ruoyi.production.service.ProductionProductInputService;
+import io.swagger.annotations.Api;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("productionProductInput")
+@RestController
+@Api(value = "鐢熶骇鎶曞叆")
+public class ProductionProductInputController {
+
+    @Autowired
+    private ProductionProductInputService productionProductInputService;
+
+    @GetMapping("listPage")
+    public R page(Page<ProductionProductInputDto> page, ProductionProductInputDto productionProductInputDto) {
+        return R.ok(productionProductInputService.listPageProductionProductInputDto(page, productionProductInputDto));
+    }
+}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java
new file mode 100644
index 0000000..1e6e02e
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductInputDto.java
@@ -0,0 +1,14 @@
+package com.ruoyi.production.dto;
+
+import com.ruoyi.production.pojo.ProductionProductInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ProductionProductInputDto extends ProductionProductInput {
+    @ApiModelProperty(value = "鎶ュ伐鍗曞彿")
+    private String productNo;
+
+    @ApiModelProperty(value = "浜у搧鍨嬪彿")
+    private String model;
+}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
index dba437c..c8e8740 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
@@ -1,9 +1,14 @@
 package com.ruoyi.production.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.production.dto.ProductionProductInputDto;
 import com.ruoyi.production.pojo.ProductionProductInput;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface ProductionProductInputMapper extends BaseMapper<ProductionProductInput> {
+    IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, @Param("c") ProductionProductInputDto productionProductInputDto);
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
index 6502a33..d98e41d 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
@@ -16,7 +16,7 @@
     private Long id;
 
     @ApiModelProperty(value = "鎶ュ伐id")
-    private Long productionProductId;
+    private Long productMainId;
 
     @ApiModelProperty(value = "浜у搧id")
     private Long productModelId;
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductInputService.java b/src/main/java/com/ruoyi/production/service/ProductionProductInputService.java
new file mode 100644
index 0000000..1af1772
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/ProductionProductInputService.java
@@ -0,0 +1,11 @@
+package com.ruoyi.production.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.production.dto.ProductionProductInputDto;
+import com.ruoyi.production.pojo.ProductionProductInput;
+
+public interface ProductionProductInputService extends IService<ProductionProductInput> {
+    IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, ProductionProductInputDto productionProductInputDto);
+}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
new file mode 100644
index 0000000..49765c0
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductInputServiceImpl.java
@@ -0,0 +1,24 @@
+package com.ruoyi.production.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.production.dto.ProductionProductInputDto;
+import com.ruoyi.production.mapper.ProductionProductInputMapper;
+import com.ruoyi.production.pojo.ProductionProductInput;
+import com.ruoyi.production.service.ProductionProductInputService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+@AllArgsConstructor
+public class ProductionProductInputServiceImpl extends ServiceImpl<ProductionProductInputMapper, ProductionProductInput> implements ProductionProductInputService {
+    @Autowired
+    private ProductionProductInputMapper productionProductInputMapper;
+
+    @Override
+    public IPage<ProductionProductInputDto> listPageProductionProductInputDto(Page page, ProductionProductInputDto productionProductInputDto) {
+        return productionProductInputMapper.listPageProductionProductInputDto(page, productionProductInputDto);
+    }
+}
diff --git a/src/main/resources/mapper/production/ProductionProductInputMapper.xml b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
index bd92aaf..3fccdbd 100644
--- a/src/main/resources/mapper/production/ProductionProductInputMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
@@ -2,5 +2,27 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.production.mapper.ProductionProductInputMapper">
 
-
+    <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductionProductInput">
+        <id property="id" column="id"/>
+        <result property="productionProductId" column="production_product_id"/>
+        <result property="productModelId" column="product_model_id"/>
+        <result property="quantity" column="quantity"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="createTime" column="create_time"/>
+    </resultMap>
+    <select id="listPageProductionProductInputDto" resultType="com.ruoyi.production.dto.ProductionProductInputDto">
+        select ppi.*,
+        pm.model as model,
+        ppm.product_no as productNo
+        from
+        production_product_input ppi
+        left join production_product_main ppm on ppm.id = ppi.product_main_id
+        left join product_model pm on pm.id = ppi.product_model_id
+        <where>
+            <if test="c.productMainId != null and c.productMainId > 0">
+                and ppm.id = #{c.productMainId}
+            </if>
+        </where>
+        order by ppi.id
+    </select>
 </mapper>

--
Gitblit v1.9.3