From 810b00c05fb7c9c6099cd8d011718e0ca59162bb Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期一, 05 一月 2026 13:50:37 +0800
Subject: [PATCH] feat(production): 生产报工

---
 src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java                   |   33 ++++++++
 src/main/resources/mapper/production/ProductionProductInputMapper.xml                 |    6 +
 src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java          |    9 ++
 src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java                  |   33 ++++++++
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   12 +++
 src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java            |   12 +++
 src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java    |   24 ++++++
 src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java                  |    8 ++
 src/main/java/com/ruoyi/production/service/ProductionProductMainService.java          |    7 +
 src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java                    |   35 ++++++++
 src/main/resources/mapper/production/ProductionProductOutputMapper.xml                |    6 +
 src/main/resources/mapper/production/ProductionProductMainMapper.xml                  |    6 +
 src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java           |    9 ++
 doc/create_table_production_product_main.sql                                          |   36 +++++++++
 14 files changed, 236 insertions(+), 0 deletions(-)

diff --git a/doc/create_table_production_product_main.sql b/doc/create_table_production_product_main.sql
new file mode 100644
index 0000000..18fb92d
--- /dev/null
+++ b/doc/create_table_production_product_main.sql
@@ -0,0 +1,36 @@
+drop table if exists production_product_main;
+create table production_product_main
+(
+    id            bigint auto_increment
+        primary key,
+    product_no    varchar(255) not null comment '鎶ュ伐鍗曞彿',
+    user_id       bigint       not null comment '鎶ュ伐鐢ㄦ埛id',
+    work_order_id bigint       not null comment '宸ュ崟id',
+    status        int          not null comment '鐘舵�� 0 寰呮姤宸� 1 寰呯‘璁�',
+    create_time   datetime     null comment '褰曞叆鏃堕棿',
+    tenant_id          bigint         not null comment '绉熸埛id'
+);
+
+drop table if exists production_product_output;
+create table production_product_output
+(
+    id               bigint auto_increment
+        primary key,
+    product_main_id  bigint         not null comment '鎶ュ伐鍗昳d',
+    product_model_id bigint         not null comment '浜у搧id',
+    quantity         numeric(16, 4) not null comment '鏁伴噺',
+    create_time      datetime       null comment '褰曞叆鏃堕棿',
+    tenant_id          bigint         not null comment '绉熸埛id'
+);
+
+drop table if exists production_product_input;
+create table production_product_input
+(
+    id               bigint auto_increment
+        primary key,
+    product_main_id  bigint         not null comment '鎶ュ伐鍗昳d',
+    product_model_id bigint         not null comment '浜у搧id',
+    quantity         numeric(16, 4) not null comment '鏁伴噺',
+    create_time      datetime       null comment '褰曞叆鏃堕棿',
+    tenant_id          bigint         not null comment '绉熸埛id'
+)
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
new file mode 100644
index 0000000..231b143
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -0,0 +1,24 @@
+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.ProductionProductMainDto;
+import com.ruoyi.production.pojo.ProductionProductMain;
+import com.ruoyi.production.service.ProductionProductMainService;
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RequestMapping("productionProductMain")
+@RestController
+@Api(value = "鐢熶骇鎶ュ伐")
+public class ProductionProductMainController {
+
+    private ProductionProductMainService productionProductMainService;
+
+    @GetMapping("page")
+    public R page(Page<ProductionProductMainDto> page, ProductionProductMainDto productionProductMainDto) {
+        return R.ok();
+    }
+}
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
new file mode 100644
index 0000000..a7a7a3b
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/dto/ProductionProductMainDto.java
@@ -0,0 +1,8 @@
+package com.ruoyi.production.dto;
+
+import com.ruoyi.production.pojo.ProductionProductMain;
+import lombok.Data;
+
+@Data
+public class ProductionProductMainDto extends ProductionProductMain {
+}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
new file mode 100644
index 0000000..dba437c
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductInputMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.production.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.production.pojo.ProductionProductInput;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProductionProductInputMapper extends BaseMapper<ProductionProductInput> {
+}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
new file mode 100644
index 0000000..f66e1b3
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductMainMapper.java
@@ -0,0 +1,12 @@
+package com.ruoyi.production.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.production.pojo.ProductionProductMain;
+import org.apache.ibatis.annotations.Mapper;
+
+import javax.annotation.ManagedBean;
+
+@Mapper
+public interface ProductionProductMainMapper extends BaseMapper<ProductionProductMain> {
+
+}
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java
new file mode 100644
index 0000000..cdcd121
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/mapper/ProductionProductOutputMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.production.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.production.pojo.ProductionProductOutput;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProductionProductOutputMapper extends BaseMapper<ProductionProductOutput> {
+}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
new file mode 100644
index 0000000..6502a33
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductInput.java
@@ -0,0 +1,33 @@
+package com.ruoyi.production.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class ProductionProductInput {
+
+    @TableId
+    private Long id;
+
+    @ApiModelProperty(value = "鎶ュ伐id")
+    private Long productionProductId;
+
+    @ApiModelProperty(value = "浜у搧id")
+    private Long productModelId;
+
+    @ApiModelProperty(value = "鏁伴噺")
+    private BigDecimal quantity;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
new file mode 100644
index 0000000..af1a21d
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductMain.java
@@ -0,0 +1,35 @@
+package com.ruoyi.production.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class ProductionProductMain {
+
+    @TableId
+    private Long id;
+
+    @ApiModelProperty(value = "鎶ュ伐鍗曞彿")
+    private String productNo;
+
+    @ApiModelProperty(value = "鎶ュ伐浜哄憳id")
+    private Long userId;
+
+    @ApiModelProperty(value = "宸ュ崟id")
+    private String workOrderId;
+
+    @ApiModelProperty(value = "鎶ュ伐鐘舵��")
+    private Integer status;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java b/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
new file mode 100644
index 0000000..67e2fde
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionProductOutput.java
@@ -0,0 +1,33 @@
+package com.ruoyi.production.pojo;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class ProductionProductOutput {
+
+    @TableId
+    private Long id;
+
+    @ApiModelProperty(value = "鎶ュ伐id")
+    private Long productionProductId;
+
+    @ApiModelProperty(value = "浜у搧id")
+    private Long productModelId;
+
+    @ApiModelProperty(value = "鏁伴噺")
+    private BigDecimal quantity;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
new file mode 100644
index 0000000..ce10aff
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/ProductionProductMainService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.production.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.production.pojo.ProductionProductMain;
+
+public interface ProductionProductMainService extends IService<ProductionProductMain> {
+}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
new file mode 100644
index 0000000..5c6c244
--- /dev/null
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -0,0 +1,12 @@
+package com.ruoyi.production.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.production.mapper.ProductionProductMainMapper;
+import com.ruoyi.production.pojo.ProductionProductMain;
+import com.ruoyi.production.service.ProductionProductMainService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ProductionProductMainServiceImpl extends ServiceImpl<ProductionProductMainMapper, ProductionProductMain> implements ProductionProductMainService {
+
+}
diff --git a/src/main/resources/mapper/production/ProductionProductInputMapper.xml b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
new file mode 100644
index 0000000..bd92aaf
--- /dev/null
+++ b/src/main/resources/mapper/production/ProductionProductInputMapper.xml
@@ -0,0 +1,6 @@
+<?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.production.mapper.ProductionProductInputMapper">
+
+
+</mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductMainMapper.xml b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
new file mode 100644
index 0000000..4a6d7c4
--- /dev/null
+++ b/src/main/resources/mapper/production/ProductionProductMainMapper.xml
@@ -0,0 +1,6 @@
+<?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.production.mapper.ProductionProductMainMapper">
+
+
+</mapper>
diff --git a/src/main/resources/mapper/production/ProductionProductOutputMapper.xml b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
new file mode 100644
index 0000000..790c100
--- /dev/null
+++ b/src/main/resources/mapper/production/ProductionProductOutputMapper.xml
@@ -0,0 +1,6 @@
+<?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.production.mapper.ProductionProductOutputMapper">
+
+
+</mapper>

--
Gitblit v1.9.3