From 3d6c572e5027273cf841883eea6507b219906db9 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 05 一月 2026 16:00:08 +0800
Subject: [PATCH] 生产报工列表api

---
 src/main/java/com/ruoyi/production/service/ProductionProductMainService.java          |    8 ++
 src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java                         |   54 ++++++++++++++++++
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   21 ++++++
 src/main/resources/mapper/production/ProductionProductMainMapper.xml                  |   34 +++++++++++
 src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java            |    8 ++
 src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java    |    6 +
 src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java                  |    9 +++
 7 files changed, 135 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
index 231b143..a32cd4c 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -6,6 +6,7 @@
 import com.ruoyi.production.pojo.ProductionProductMain;
 import com.ruoyi.production.service.ProductionProductMainService;
 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;
@@ -15,10 +16,11 @@
 @Api(value = "鐢熶骇鎶ュ伐")
 public class ProductionProductMainController {
 
+    @Autowired
     private ProductionProductMainService productionProductMainService;
 
-    @GetMapping("page")
+    @GetMapping("listPage")
     public R page(Page<ProductionProductMainDto> page, ProductionProductMainDto productionProductMainDto) {
-        return R.ok();
+        return R.ok(productionProductMainService.listPageProductionProductMainDto(page, productionProductMainDto));
     }
 }
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
index a7a7a3b..c90bf87 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -1,8 +1,17 @@
 package com.ruoyi.production.dto;
 
 import com.ruoyi.production.pojo.ProductionProductMain;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
 public class ProductionProductMainDto extends ProductionProductMain {
+    @ApiModelProperty(value = "宸ュ崟缂栧彿")
+    private String workOrderNo;
+
+    @ApiModelProperty(value = "宸ュ崟鐘舵��")
+    private String workOrderStatus;
+
+    @ApiModelProperty(value = "鎶ュ伐浜哄憳鏄电О")
+    private String nickName;
 }
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
index f66e1b3..dd99553 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
@@ -1,12 +1,18 @@
 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.ProductOrderDto;
+import com.ruoyi.production.dto.ProductionProductMainDto;
 import com.ruoyi.production.pojo.ProductionProductMain;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import javax.annotation.ManagedBean;
+import java.util.List;
 
 @Mapper
 public interface ProductionProductMainMapper extends BaseMapper<ProductionProductMain> {
-
+    IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, @Param("c") ProductionProductMainDto productionProductMainDto);
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
new file mode 100644
index 0000000..bffa732
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/pojo/ProductWorkOrder.java
@@ -0,0 +1,54 @@
+package com.ruoyi.production.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("product_work_order")
+public class ProductWorkOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 宸ヨ壓璺嚎椤圭洰id
+     */
+    @ApiModelProperty(value = "宸ヨ壓璺嚎椤圭洰id")
+    private Long productProcessRouteItemId;
+
+    /**
+     * 宸ュ崟缂栧彿
+     */
+    @ApiModelProperty(value = "鐢熶骇璁㈠崟鍙�")
+    private String workOrderNo;
+
+    /**
+     * 鐢熶骇鐘舵�� 1 寰呯‘璁�  2 寰呯敓浜� 3鐢熶骇涓� 4宸茬敓浜�
+     */
+    @ApiModelProperty(value = "鐢熶骇鐘舵�� 1 寰呯‘璁�  2 寰呯敓浜� 3鐢熶骇涓� 4宸茬敓浜�")
+    private String status;
+
+    /**
+     * 绉熸埛id
+     */
+    @ApiModelProperty(value = "绉熸埛id")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+
+    //鍒涘缓鏃堕棿
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    //淇敼鏃堕棿
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField(fill = FieldFill.UPDATE)
+    private LocalDateTime updateTime;
+
+}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
index ce10aff..8e1ec9a 100644
--- a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
@@ -1,7 +1,15 @@
 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.ProcessRouteItemDto;
+import com.ruoyi.production.dto.ProductOrderDto;
+import com.ruoyi.production.dto.ProductionProductMainDto;
 import com.ruoyi.production.pojo.ProductionProductMain;
 
+import java.util.List;
+
 public interface ProductionProductMainService extends IService<ProductionProductMain> {
+    IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto);
 }
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 5c6c244..2a958ef 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -1,12 +1,29 @@
 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.ProcessRouteItemDto;
+import com.ruoyi.production.dto.ProductOrderDto;
+import com.ruoyi.production.dto.ProductionProductMainDto;
+import com.ruoyi.production.mapper.ProcessRouteItemMapper;
 import com.ruoyi.production.mapper.ProductionProductMainMapper;
 import com.ruoyi.production.pojo.ProductionProductMain;
 import com.ruoyi.production.service.ProductionProductMainService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-@Service
-public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
+import java.util.List;
 
+@Service
+@AllArgsConstructor
+public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
+    @Autowired
+    private ProductionProductMainMapper productionProductMainMapper;
+
+    @Override
+    public IPage<ProductionProductMainDto> listPageProductionProductMainDto(Page page, ProductionProductMainDto productionProductMainDto) {
+        return productionProductMainMapper.listPageProductionProductMainDto(page, productionProductMainDto);
+    }
 }
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
index 4a6d7c4..24feb0d 100644
--- a/src/main/resources/mapper/production/ProductionProductMainMapper.xml
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -2,5 +2,39 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.production.mapper.ProductionProductMainMapper">
 
+    <resultMap id="basicMap" type="com.ruoyi.production.pojo.ProductionProductMain">
+        <id property="id" column="id"/>
+        <result property="productNo" column="product_no"/>
+        <result property="userId" column="user_id"/>
+        <result property="workOrderId" column="work_order_id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="status" column="status"/>
+    </resultMap>
 
+    <select id="listPageProductionProductMainDto" resultType="com.ruoyi.production.dto.ProductionProductMainDto">
+        select ppm.*,
+               pwo.work_order_no as workOrderNo,
+               pwo.status as workOrderStatus,
+               u.nick_name as nickName
+        from
+            production_product_main ppm
+                left join product_work_order pwo on pwo.id = ppm.work_order_id
+                left join sys_user u on u.user_id = ppm.user_id
+        <where>
+            <if test="c.nickName != null and c.nickName != ''">
+                and u.nick_name like concat('%',#{c.nickName},'%')
+            </if>
+            <if test="c.workOrderNo != null and c.workOrderNo != ''">
+                and pwo.work_order_no like concat('%',#{c.workOrderNo},'%')
+            </if>
+            <if test="c.workOrderStatus != null and c.workOrderStatus != ''">
+                and pwo.status = #{c.workOrderStatus}
+            </if>
+            <if test="c.status != null and c.status != ''">
+                and ppm.status = #{c.status}
+            </if>
+        </where>
+        order by ppm.id
+    </select>
 </mapper>

--
Gitblit v1.9.3