523096025 2 周之前
父节点
当前提交
79f405a033
共有 100 个文件被更改,包括 4752 次插入242 次删除
  1. 1 1
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/BaseMarketController.java
  2. 9 6
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/BaseProductCategoryController.java
  3. 87 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionBatchProcessingTypeController.java
  4. 142 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionCompletionReportController.java
  5. 20 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionCompletionReportGoodsController.java
  6. 105 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionMaterialMappingController.java
  7. 166 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionPlanController.java
  8. 99 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionPlanGoodsController.java
  9. 107 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionPlantController.java
  10. 99 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionProductController.java
  11. 110 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionRecordController.java
  12. 151 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionRegularController.java
  13. 99 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionRegularGradingController.java
  14. 85 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionSegmentedProductController.java
  15. 86 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionShipmentNotificationController.java
  16. 85 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionSlaughterController.java
  17. 86 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripAllocationController.java
  18. 85 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripBatchController.java
  19. 99 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripPreCoolingController.java
  20. 99 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripRefinedController.java
  21. 99 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripRegularController.java
  22. 20 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripRequisitionController.java
  23. 1 2
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/BaseMaterial.java
  24. 4 19
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/BasePriceType.java
  25. 4 19
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/MaterialBacth.java
  26. 3 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProcureQuotationGoods.java
  27. 2 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProcureReceivingGoods.java
  28. 108 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionBatchProcessingType.java
  29. 109 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionCompletionReport.java
  30. 112 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionCompletionReportGoods.java
  31. 4 19
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionInstock.java
  32. 3 20
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionInstockGoods.java
  33. 73 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionMaterialMapping.java
  34. 71 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionPlan.java
  35. 93 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionPlanGoods.java
  36. 59 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionPlant.java
  37. 94 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionProduct.java
  38. 197 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionRecord.java
  39. 112 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionRegular.java
  40. 94 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionRegularGrading.java
  41. 93 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionSegmentedProduct.java
  42. 95 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionShipmentNotification.java
  43. 81 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionSlaughter.java
  44. 102 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripAllocation.java
  45. 109 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripBatch.java
  46. 125 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripPreCooling.java
  47. 124 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripRefined.java
  48. 120 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripRegular.java
  49. 120 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripRequisition.java
  50. 3 20
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAdjust.java
  51. 3 20
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAdjustGoods.java
  52. 4 20
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAllot.java
  53. 3 19
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAllotGoods.java
  54. 4 19
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseCheck.java
  55. 3 18
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseCheckGoods.java
  56. 3 20
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseRequisition.java
  57. 3 19
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseRequisitionGoods.java
  58. 33 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/PageRequest.java
  59. 10 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionCompletionRequest.java
  60. 12 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionPlanRequest.java
  61. 25 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionRecordRequest.java
  62. 18 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionRegularPlanRequest.java
  63. 1 1
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProcureApportionMapper.java
  64. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionBatchProcessingTypeMapper.java
  65. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionCompletionReportGoodsMapper.java
  66. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionCompletionReportMapper.java
  67. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionMaterialMappingMapper.java
  68. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionPlanGoodsMapper.java
  69. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionPlanMapper.java
  70. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionPlantMapper.java
  71. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionProductMapper.java
  72. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionRecordMapper.java
  73. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionRegularGradingMapper.java
  74. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionRegularMapper.java
  75. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionSegmentedProductMapper.java
  76. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionShipmentNotificationMapper.java
  77. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionSlaughterMapper.java
  78. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripAllocationMapper.java
  79. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripBatchMapper.java
  80. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripPreCoolingMapper.java
  81. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripRefinedMapper.java
  82. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripRegularMapper.java
  83. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripRequisitionMapper.java
  84. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionBatchProcessingTypeService.java
  85. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionCompletionReportGoodsService.java
  86. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionCompletionReportService.java
  87. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionMaterialMappingService.java
  88. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionPlanGoodsService.java
  89. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionPlanService.java
  90. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionPlantService.java
  91. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionProductService.java
  92. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionRecordService.java
  93. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionRegularGradingService.java
  94. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionRegularService.java
  95. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionSegmentedProductService.java
  96. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionShipmentNotificationService.java
  97. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionSlaughterService.java
  98. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionWhiteStripAllocationService.java
  99. 16 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionWhiteStripBatchService.java
  100. 0 0
      ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionWhiteStripPreCoolingService.java

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/BaseMarketController.java

@@ -38,7 +38,7 @@ public class BaseMarketController {
     @PostMapping("/add")
     public AjaxResult add(@RequestBody BaseMarket baseMarket, HttpServletRequest request) throws Exception {
         String loginOrgId = tokenService.getLoginOrgId(request);
-        if (baseMarketService.count(new QueryWrapper<BaseMarket>().eq("org_id",loginOrgId).eq("marke_num", baseMarket.getMarketNum())) >0 ){
+        if (baseMarketService.count(new QueryWrapper<BaseMarket>().eq("org_id",loginOrgId).eq("market_num", baseMarket.getMarketNum())) >0 ){
             throw new Exception("该编号已存在");
         }
         baseMarket.setOrgId(loginOrgId);

+ 9 - 6
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/BaseProductCategoryController.java

@@ -18,10 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.ruoyi.common.core.domain.AjaxResult.error;
@@ -167,13 +164,19 @@ public class BaseProductCategoryController {
             } else {
                 BaseProductCategory parent = nodeMap.get(parentId);
                 if (parent != null) {
+                    if (parent.getChild() != null){
+                        parent.getChild().add(node);
+                    }else {
+                        List<BaseProductCategory> list= new ArrayList<BaseProductCategory>();
+                        list.add(node);
+                        parent.setChild(list);
+                    }
 
-                    parent.getChild().add(node);
 
                 } else {
                     // 处理无效parentId:可抛异常或作为根节点
 
-                    //roots.add(node);
+//                    roots.add(node);
                 }
             }
         }

+ 87 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionBatchProcessingTypeController.java

@@ -0,0 +1,87 @@
+package com.ruoyi.web.base.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionBatchProcessingType;
+import com.ruoyi.web.base.service.IProductionBatchProcessingTypeService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+/**
+ * <p>
+ * 批量修改加工类型操作记录表,用于记录批量修改加工类型的操作信息及数据变更前后情况 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@RestController
+@RequestMapping("/production-batch-processing-type")
+public class ProductionBatchProcessingTypeController {
+    @Autowired
+    private IProductionBatchProcessingTypeService productionBatchProcessingTypeService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产批次加工类型添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionBatchProcessingType productionBatchProcessingType, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        productionBatchProcessingType.setOrgId(loginOrgId);
+        productionBatchProcessingType.setCreateBy(getUsername());
+        return success(productionBatchProcessingTypeService.save(productionBatchProcessingType));
+    }
+
+    @ApiOperation("生产批次加工类型修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionBatchProcessingType productionBatchProcessingType, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        productionBatchProcessingType.setUpdateBy(getUsername());
+        return success(productionBatchProcessingTypeService.updateById(productionBatchProcessingType));
+    }
+
+    @ApiOperation("生产批次加工类型删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionBatchProcessingTypeService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产批次加工类型列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionBatchProcessingTypeService.list(
+                new QueryWrapper<ProductionBatchProcessingType>().eq("org_id", tokenService.getLoginOrgId(request))));
+    }
+
+    @ApiOperation("生产批次加工类型分页")
+    @GetMapping("/page")
+    public AjaxResult page(@RequestParam("pageNum") Integer pageNum,
+                           @RequestParam("pageSize") Integer pageSize,
+                           HttpServletRequest request) {
+        return success(productionBatchProcessingTypeService.page(
+                new Page<>(pageNum, pageSize),
+                new QueryWrapper<ProductionBatchProcessingType>().eq("org_id", tokenService.getLoginOrgId(request))));
+    }
+
+    @ApiOperation("生产批次加工类型详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionBatchProcessingTypeService.getById(id));
+    }
+}

+ 142 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionCompletionReportController.java

@@ -0,0 +1,142 @@
+package com.ruoyi.web.base.controller;
+
+
+import com.ruoyi.web.base.domain.*;
+import com.ruoyi.web.base.domain.param.ProductionCompletionRequest;
+import com.ruoyi.web.base.service.IProductionCompletionReportGoodsService;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.service.IProductionCompletionReportService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+/**
+ * <p>
+ * 生产完工报告表,存储生产完工报告的详细信息 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@RestController
+@RequestMapping("/production-completion-report")
+public class ProductionCompletionReportController {
+    @Autowired
+    private IProductionCompletionReportService productionCompletionReportService;
+    @Autowired
+    private IProductionCompletionReportGoodsService goodsService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产完工报告添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionCompletionReport report, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionCompletionReportService.count(
+                new QueryWrapper<ProductionCompletionReport>()
+                        .eq("org_id", loginOrgId)
+                        .eq("report_number", report.getReportNumber())
+        ) > 0) {
+            throw new Exception("该报告编号已存在");
+        }
+        report.setOrgId(loginOrgId);
+        report.setCreateBy(getUsername());
+        List<ProductionCompletionReportGoods> goods = report.getGoods();
+        for (ProductionCompletionReportGoods good : goods) {
+
+            good.setReportNumber(report.getReportNumber());
+            goodsService.save(good);
+        }
+        return success(productionCompletionReportService.save(report));
+    }
+
+    @ApiOperation("生产完工报告修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionCompletionReport report, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionCompletionReportService.count(
+                new QueryWrapper<ProductionCompletionReport>()
+                        .ne("id", report.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("report_number", report.getReportNumber())
+        ) > 0) {
+            throw new Exception("该报告编号已存在");
+        }
+        List<ProductionCompletionReportGoods> goods = report.getGoods();
+        goodsService.remove(new QueryWrapper<ProductionCompletionReportGoods>().eq("report_number",report.getReportNumber()));
+        for (ProductionCompletionReportGoods good : goods) {
+
+            good.setReportNumber(report.getReportNumber());
+            goodsService.save(good);
+        }
+
+        report.setUpdateBy(getUsername());
+        return success(productionCompletionReportService.updateById(report));
+    }
+
+    @ApiOperation("生产完工报告删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionCompletionReportService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产完工报告列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        List<ProductionCompletionReport> org_id = productionCompletionReportService.list(
+                new QueryWrapper<ProductionCompletionReport>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        );
+
+        for (ProductionCompletionReport procureQuotation : org_id) {
+            procureQuotation.setGoods(goodsService.list(new QueryWrapper<ProductionCompletionReportGoods>().eq("report_number",procureQuotation.getReportNumber())));
+        }
+        return success(org_id);
+
+
+    }
+
+    @ApiOperation("生产完工报告分页")
+    @PostMapping("/page")
+    public AjaxResult page(
+           @RequestBody ProductionCompletionRequest regular ,
+            HttpServletRequest request
+    ) {
+        Page<ProductionCompletionReport> org_id = productionCompletionReportService.page(
+                new Page<ProductionCompletionReport>(regular.getPageNum(), regular.getPageSize()),
+                new QueryWrapper<ProductionCompletionReport>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        );
+
+        for (ProductionCompletionReport procureQuotation : org_id.getRecords()) {
+            procureQuotation.setGoods(goodsService.list(new QueryWrapper<ProductionCompletionReportGoods>().eq("report_number",procureQuotation.getReportNumber())));
+        }
+        return success(org_id);
+    }
+
+    @ApiOperation("生产完工报告详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        ProductionCompletionReport byId = productionCompletionReportService.getById(id);
+        byId.setGoods(goodsService.list(new QueryWrapper<ProductionCompletionReportGoods>().eq("report_number",byId.getReportNumber())));
+        return success(byId);
+    }
+
+}

+ 20 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionCompletionReportGoodsController.java

@@ -0,0 +1,20 @@
+package com.ruoyi.web.base.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 生产完工报告表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-25
+ */
+@RestController
+@RequestMapping("/production-completion-report-goods")
+public class ProductionCompletionReportGoodsController {
+
+}

+ 105 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionMaterialMappingController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.web.base.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionMaterialMapping;
+
+import com.ruoyi.web.base.service.IProductionMaterialMappingService;
+
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+/**
+ * <p>
+ * 物料生产对应管理表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@RestController
+@RequestMapping("/production-material-mapping")
+public class ProductionMaterialMappingController {
+    @Autowired
+    private IProductionMaterialMappingService productionMaterialMappingService;
+  
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("物料生产对应添加")
+    @PostMapping("/add")
+    @Transactional
+    public AjaxResult add(@RequestBody ProductionMaterialMapping productionMaterialMapping, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionMaterialMappingService.count(new QueryWrapper<ProductionMaterialMapping>().eq("org_id",loginOrgId).eq("production_plant_no", productionMaterialMapping.getProductionPlantNo())) >0 ){
+            throw new Exception("该编号已存在");
+        }
+        String username = getUsername();
+        productionMaterialMapping.setOrgId(loginOrgId);
+        productionMaterialMapping.setCreateBy(username);
+       
+        return success(productionMaterialMappingService.save(productionMaterialMapping));
+    }
+
+    @ApiOperation("物料生产对应修改")
+    @PostMapping("/edit")
+    @Transactional
+    public AjaxResult edit(@RequestBody ProductionMaterialMapping productionMaterialMapping, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionMaterialMappingService.count(new QueryWrapper<ProductionMaterialMapping>().ne("id",productionMaterialMapping.getId()).eq("org_id",loginOrgId).eq("production_plant_no", productionMaterialMapping.getProductionPlantNo())) >0 ){
+            throw new Exception("该编号已存在");
+        }
+        String username = getUsername();
+        productionMaterialMapping.setOrgId(loginOrgId);
+        productionMaterialMapping.setCreateBy(username);
+        productionMaterialMapping.setUpdateBy(username);
+        return success(productionMaterialMappingService.updateById(productionMaterialMapping));
+    }
+
+    @ApiOperation("物料生产对应删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String s : ids.split(",")) {
+            productionMaterialMappingService.removeById(s);
+        }
+        return success();
+    }
+
+    @ApiOperation("物料生产对应列表")
+    @PostMapping("/list")
+    public AjaxResult listAll( HttpServletRequest request){
+        List<ProductionMaterialMapping> org_id = productionMaterialMappingService.list(new QueryWrapper<ProductionMaterialMapping>().eq("org_id", tokenService.getLoginOrgId(request)));
+
+        return success(org_id);
+    }
+
+    @ApiOperation("物料生产对应分页")
+    @GetMapping("/page")
+    public AjaxResult page(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize
+            , HttpServletRequest request) {
+        Page<ProductionMaterialMapping> org_id = productionMaterialMappingService.page(new Page<ProductionMaterialMapping>(pageNum, pageSize), new QueryWrapper<ProductionMaterialMapping>().eq("org_id", tokenService.getLoginOrgId(request)));
+
+        return success(org_id);
+    }
+
+    @ApiOperation("物料生产对应详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap){
+        String id = paramsMap.get("id");
+        ProductionMaterialMapping byId = productionMaterialMappingService.getById(id);
+        return success(byId);
+    }
+}

+ 166 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionPlanController.java

@@ -0,0 +1,166 @@
+package com.ruoyi.web.base.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionPlan;
+import com.ruoyi.web.base.domain.ProductionPlanGoods;
+import com.ruoyi.web.base.domain.param.ProductionPlanRequest;
+import com.ruoyi.web.base.service.IProductionPlanGoodsService;
+import com.ruoyi.web.base.service.IProductionPlanService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+import static com.ruoyi.web.base.util.NumUtils.generateString;
+import static com.ruoyi.web.base.util.NumUtils.substringToInt;
+
+/**
+ * <p>
+ * 生产计划单表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@RestController
+@RequestMapping("/production-plan")
+public class ProductionPlanController {
+    @Autowired
+    private IProductionPlanService productionPlanService;
+    @Autowired
+    private IProductionPlanGoodsService goodsService;
+    @Autowired
+    private TokenService tokenService;
+
+
+
+    @ApiOperation("获取生产计划单编号")
+    @PostMapping("/getProductionNum")
+    public AjaxResult getQuotaNum(HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        ProductionPlan one = productionPlanService.getOne(new QueryWrapper<ProductionPlan>().eq("org_id", loginOrgId).orderByDesc("id").last("limit 1"));
+        if (ObjectUtils.isEmpty(one)){
+
+            return success(generateString("cg",1));
+        }
+        String quotationNum = one.getOrderNum();
+
+        return success(generateString("bj",substringToInt(quotationNum)));
+
+    }
+
+
+
+    @ApiOperation("生产计划单添加")
+    @PostMapping("/add")
+    @Transactional
+    public AjaxResult add(@RequestBody ProductionPlan productionPlan, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionPlanService.count(new QueryWrapper<ProductionPlan>().eq("org_id",loginOrgId).eq("order_num", productionPlan.getOrderNum())) >0 ){
+            throw new Exception("该编号已存在");
+        }
+        String username = getUsername();
+        productionPlan.setOrgId(loginOrgId);
+        productionPlan.setCreateBy(username);
+        List<ProductionPlanGoods> goods = productionPlan.getGoods();
+        for (ProductionPlanGoods good : goods) {
+            good.setOrgId(loginOrgId);
+            good.setCreateBy(username);
+            good.setOrderNum(productionPlan.getOrderNum());
+            goodsService.save(good);
+        }
+
+        return success(productionPlanService.save(productionPlan));
+    }
+
+    @ApiOperation("生产计划单修改")
+    @PostMapping("/edit")
+    @Transactional
+    public AjaxResult edit(@RequestBody ProductionPlan productionPlan, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionPlanService.count(new QueryWrapper<ProductionPlan>().ne("id",productionPlan.getId()).eq("org_id",loginOrgId).eq("order_num", productionPlan.getOrderNum())) >0 ){
+            throw new Exception("该编号已存在");
+        }
+        String username = getUsername();
+        productionPlan.setOrgId(loginOrgId);
+        productionPlan.setCreateBy(username);
+        List<ProductionPlanGoods> goods = productionPlan.getGoods();
+        goodsService.remove(new QueryWrapper<ProductionPlanGoods>().eq("order_num",productionPlan.getOrderNum()));
+        for (ProductionPlanGoods good : goods) {
+            good.setOrgId(loginOrgId);
+            good.setCreateBy(username);
+            good.setOrderNum(productionPlan.getOrderNum());
+            goodsService.save(good);
+        }
+        productionPlan.setUpdateBy(username);
+
+        return success(productionPlanService.updateById(productionPlan));
+    }
+
+    @ApiOperation("生产计划单删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String s : ids.split(",")) {
+            productionPlanService.removeById(s);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产计划单列表")
+    @PostMapping("/list")
+    public AjaxResult listAll( HttpServletRequest request,
+    @RequestBody Map<String,String> map ){
+        String productionType = map.get("productionType");
+        List<ProductionPlan> org_id = productionPlanService.list(new QueryWrapper<ProductionPlan>()
+                .eq(StringUtils.isNotEmpty(productionType),"production_type",productionType).eq("org_id", tokenService.getLoginOrgId(request)));
+        for (ProductionPlan procureQuotation : org_id) {
+            procureQuotation.setGoods(goodsService.list(new QueryWrapper<ProductionPlanGoods>().eq("order_num",procureQuotation.getOrderNum())));
+        }
+        return success(org_id);
+    }
+
+    @ApiOperation("生产计划单分页")
+    @PostMapping("/page")
+    public AjaxResult page(
+            @RequestBody ProductionPlanRequest productionPlanParam, HttpServletRequest request) {
+
+
+        QueryWrapper<ProductionPlan> wrapper = new QueryWrapper<ProductionPlan>().eq("org_id", tokenService.getLoginOrgId(request));
+
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getOrderNum()),"order_num",productionPlanParam.getOrderNum())
+                .eq(StringUtils.isNotEmpty(productionPlanParam.getProductionType()),"production_type",productionPlanParam.getProductionType())
+                .ge(StringUtils.isNotEmpty(productionPlanParam.getStartTime()),"order_date",productionPlanParam.getStartTime())
+                .le(StringUtils.isNotEmpty(productionPlanParam.getEndTime()),"order_date",productionPlanParam.getEndTime());
+        Page<ProductionPlan> org_id =
+                productionPlanService.page(new Page<ProductionPlan>(productionPlanParam.getPageNum(), productionPlanParam.getPageSize()),wrapper);
+
+        for (ProductionPlan procureQuotation : org_id.getRecords()) {
+            procureQuotation.setGoods(goodsService.list(new QueryWrapper<ProductionPlanGoods>().eq("order_num",procureQuotation.getOrderNum())));
+        }
+        return success(org_id);
+    }
+
+    @ApiOperation("生产计划单详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap){
+        String id = paramsMap.get("id");
+        ProductionPlan byId = productionPlanService.getById(id);
+        byId.setGoods(goodsService.list(new QueryWrapper<ProductionPlanGoods>().eq("order_num",byId.getOrderNum())));
+        return success(byId);
+    }
+
+}

+ 99 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionPlanGoodsController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionPlanGoods;
+import com.ruoyi.web.base.service.IProductionPlanGoodsService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-plan-goods")
+public class ProductionPlanGoodsController {
+
+    @Autowired
+    private IProductionPlanGoodsService productionPlanGoodsService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产计划商品添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionPlanGoods goods, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionPlanGoodsService.count(
+                new QueryWrapper<ProductionPlanGoods>()
+                        .eq("org_id", loginOrgId)
+                        .eq("order_num", goods.getOrderNum())
+        ) > 0) {
+            throw new Exception("该计划编号已存在");
+        }
+        goods.setOrgId(loginOrgId);
+        goods.setCreateBy(getUsername());
+        return success(productionPlanGoodsService.save(goods));
+    }
+
+    @ApiOperation("生产计划商品修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionPlanGoods goods, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionPlanGoodsService.count(
+                new QueryWrapper<ProductionPlanGoods>()
+                        .ne("id", goods.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("order_num", goods.getOrderNum())
+        ) > 0) {
+            throw new Exception("该计划编号已存在");
+        }
+        goods.setUpdateBy(getUsername());
+        return success(productionPlanGoodsService.updateById(goods));
+    }
+
+    @ApiOperation("生产计划商品删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionPlanGoodsService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产计划商品列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionPlanGoodsService.list(
+                new QueryWrapper<ProductionPlanGoods>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产计划商品分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionPlanGoodsService.page(
+                new Page<ProductionPlanGoods>(pageNum, pageSize),
+                new QueryWrapper<ProductionPlanGoods>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产计划商品详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionPlanGoodsService.getById(id));
+    }
+}

+ 107 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionPlantController.java

@@ -0,0 +1,107 @@
+package com.ruoyi.web.base.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionPlant;
+import com.ruoyi.web.base.domain.ProductionPlan;
+import com.ruoyi.web.base.service.IProductionPlantService;
+import com.ruoyi.web.base.service.IProductionPlanService;
+import com.ruoyi.web.base.service.IProductionPlantService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+/**
+ * <p>
+ * 车间信息表 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@RestController
+@RequestMapping("/production-plant")
+public class ProductionPlantController {
+    @Autowired
+    private IProductionPlantService productionPlantService;
+
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("车间信息表添加")
+    @PostMapping("/add")
+    @Transactional
+    public AjaxResult add(@RequestBody ProductionPlant productionPlant, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionPlantService.count(new QueryWrapper<ProductionPlant>().eq("org_id",loginOrgId).eq("production_plant_no", productionPlant.getProductionPlantNo())) >0 ){
+            throw new Exception("该编号已存在");
+        }
+        String username = getUsername();
+        productionPlant.setOrgId(loginOrgId);
+        productionPlant.setCreateBy(username);
+
+        return success(productionPlantService.save(productionPlant));
+    }
+
+    @ApiOperation("车间信息表修改")
+    @PostMapping("/edit")
+    @Transactional
+    public AjaxResult edit(@RequestBody ProductionPlant productionPlant, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionPlantService.count(new QueryWrapper<ProductionPlant>().ne("id",productionPlant.getId()).eq("org_id",loginOrgId).eq("production_plant_no", productionPlant.getProductionPlantNo())) >0 ){
+            throw new Exception("该编号已存在");
+        }
+        String username = getUsername();
+        productionPlant.setOrgId(loginOrgId);
+        productionPlant.setCreateBy(username);
+        productionPlant.setUpdateBy(username);
+        return success(productionPlantService.updateById(productionPlant));
+    }
+
+    @ApiOperation("车间信息表删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String s : ids.split(",")) {
+            productionPlantService.removeById(s);
+        }
+        return success();
+    }
+
+    @ApiOperation("车间信息表列表")
+    @PostMapping("/list")
+    public AjaxResult listAll( HttpServletRequest request){
+        List<ProductionPlant> org_id = productionPlantService.list(new QueryWrapper<ProductionPlant>().eq("org_id", tokenService.getLoginOrgId(request)));
+
+        return success(org_id);
+    }
+
+    @ApiOperation("车间信息表分页")
+    @GetMapping("/page")
+    public AjaxResult page(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize
+            , HttpServletRequest request) {
+        Page<ProductionPlant> org_id = productionPlantService.page(new Page<ProductionPlant>(pageNum, pageSize), new QueryWrapper<ProductionPlant>().eq("org_id", tokenService.getLoginOrgId(request)));
+
+        return success(org_id);
+    }
+
+    @ApiOperation("车间信息表详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap){
+        String id = paramsMap.get("id");
+        ProductionPlant byId = productionPlantService.getById(id);
+        return success(byId);
+    }
+
+}

+ 99 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionProductController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionProduct;
+import com.ruoyi.web.base.service.IProductionProductService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-product")
+public class ProductionProductController {
+
+    @Autowired
+    private IProductionProductService productionProductService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产产品添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionProduct product, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionProductService.count(
+                new QueryWrapper<ProductionProduct>()
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", product.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该产品编号已存在");
+        }
+        product.setOrgId(loginOrgId);
+        product.setCreateBy(getUsername());
+        return success(productionProductService.save(product));
+    }
+
+    @ApiOperation("生产产品修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionProduct product, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionProductService.count(
+                new QueryWrapper<ProductionProduct>()
+                        .ne("id", product.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", product.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该产品编号已存在");
+        }
+        product.setUpdateBy(getUsername());
+        return success(productionProductService.updateById(product));
+    }
+
+    @ApiOperation("生产产品删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionProductService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产产品列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionProductService.list(
+                new QueryWrapper<ProductionProduct>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产产品分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionProductService.page(
+                new Page<ProductionProduct>(pageNum, pageSize),
+                new QueryWrapper<ProductionProduct>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产产品详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionProductService.getById(id));
+    }
+}

+ 110 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionRecordController.java

@@ -0,0 +1,110 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionRecord;
+import com.ruoyi.web.base.domain.param.ProductionPlanRequest;
+import com.ruoyi.web.base.domain.param.ProductionRecordRequest;
+import com.ruoyi.web.base.service.IProductionRecordService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-record")
+public class ProductionRecordController {
+
+    @Autowired
+    private IProductionRecordService productionRecordService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产记录添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionRecord record, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        record.setOrgId(loginOrgId);
+        record.setCreateBy(getUsername());
+        return success(productionRecordService.save(record));
+    }
+
+    @ApiOperation("生产记录修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionRecord record, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        record.setUpdateBy(getUsername());
+        return success(productionRecordService.updateById(record));
+    }
+
+    @ApiOperation("生产记录删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionRecordService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产记录列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(  @RequestBody ProductionRecordRequest productionPlanParam, HttpServletRequest request) {
+        QueryWrapper<ProductionRecord> wrapper =  getWrapper(productionPlanParam);
+        return success(productionRecordService.list(
+                wrapper
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产记录分页")
+    @PostMapping("/page")
+    public AjaxResult page(
+            @RequestBody ProductionRecordRequest productionPlanParam, HttpServletRequest request
+
+    ) {
+
+        QueryWrapper<ProductionRecord> wrapper =  getWrapper(productionPlanParam);
+        return success(productionRecordService.page(
+                new Page<ProductionRecord>(productionPlanParam.getPageNum(), productionPlanParam.getPageSize()),
+                wrapper
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    private QueryWrapper<ProductionRecord> getWrapper(ProductionRecordRequest productionPlanParam) {
+        QueryWrapper<ProductionRecord> wrapper = new QueryWrapper<>();
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getProductionType()),"production_type",productionPlanParam.getProductionType());
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getBatch()),"batch",productionPlanParam.getBatch());
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getInspectResult()),"inspect_result",productionPlanParam.getInspectResult());
+        wrapper.ge(StringUtils.isNotEmpty(productionPlanParam.getLevelstart()),"grade",productionPlanParam.getLevelstart());
+        wrapper.le(StringUtils.isNotEmpty(productionPlanParam.getLevelEnd()),"grade",productionPlanParam.getLevelEnd());
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getPigBatch()),"getPig_batch",productionPlanParam.getPigBatch());
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getProcessType()),"process_type",productionPlanParam.getProcessType());
+        wrapper.le(StringUtils.isNotEmpty(productionPlanParam.getRecordDateEnd()),"production_record_date",productionPlanParam.getRecordDateEnd());
+        wrapper.ge(StringUtils.isNotEmpty(productionPlanParam.getRecordDatestart()),"production_record_date",productionPlanParam.getRecordDatestart());
+        wrapper.like(StringUtils.isNotEmpty(productionPlanParam.getVariety()),"variety",productionPlanParam.getVariety());
+        wrapper.ge(StringUtils.isNotEmpty(productionPlanParam.getWhiteNostart()),"white_strip_number",productionPlanParam.getVariety());
+        wrapper.le(StringUtils.isNotEmpty(productionPlanParam.getWhiteNoEnd()),"white_strip_number",productionPlanParam.getWhiteNoEnd());
+        wrapper.le(StringUtils.isNotEmpty(productionPlanParam.getAnimalIdentification()),"animal_identification",productionPlanParam.getAnimalIdentification());
+        return wrapper;
+
+    }
+
+    @ApiOperation("生产记录详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionRecordService.getById(id));
+    }
+}

+ 151 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionRegularController.java

@@ -0,0 +1,151 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionPlan;
+import com.ruoyi.web.base.domain.ProductionPlanGoods;
+import com.ruoyi.web.base.domain.ProductionRegular;
+import com.ruoyi.web.base.domain.param.ProductionRegularPlanRequest;
+import com.ruoyi.web.base.service.IProductionPlanGoodsService;
+import com.ruoyi.web.base.service.IProductionRegularService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+import static com.ruoyi.web.base.util.NumUtils.*;
+
+@RestController
+@RequestMapping("/production-regular")
+public class ProductionRegularController {
+
+    @Autowired
+    private IProductionRegularService productionRegularService;
+    @Autowired
+    private IProductionPlanGoodsService planGoodsService;
+    @Autowired
+    private TokenService tokenService;
+
+
+    @ApiOperation("获取常规生产单编号")
+    @PostMapping("/getProductionNum")
+    public AjaxResult getQuotaNum(HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        ProductionRegular one = productionRegularService.getOne(new QueryWrapper<ProductionRegular>().eq("org_id", loginOrgId).orderByDesc("id").last("limit 1"));
+        if (ObjectUtils.isEmpty(one)){
+
+            return success(generateString2("JL",1));
+        }
+        String quotationNum = one.getProductionRecordNumber();
+
+        return success(generateString2("JL",substringToInt2(quotationNum)));
+
+    }
+
+    @ApiOperation("生产常规添加")
+    @PostMapping("/add")
+    @Transactional
+    public AjaxResult add(@RequestBody ProductionRegular regular, HttpServletRequest request) throws Exception {
+        if (regular.getProductionStatus() == 1){
+            String pigBatch = regular.getPigBatch();
+            ProductionPlanGoods productionPlanGoods = new ProductionPlanGoods();
+            productionPlanGoods.setProductionStatus(1);
+            planGoodsService.update( productionPlanGoods,new UpdateWrapper<ProductionPlanGoods>().eq("batch",pigBatch));
+        }
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionRegularService.count(
+                new QueryWrapper<ProductionRegular>()
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", regular.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该常规编号已存在");
+        }
+        if (productionRegularService.count(
+                new QueryWrapper<ProductionRegular>()
+                        .eq("org_id", loginOrgId)
+                        .eq("white_strip_number", regular.getWhiteStripNumber())
+        ) > 0) {
+            throw new Exception("该白条已存在");
+        }
+        regular.setOrgId(loginOrgId);
+        regular.setCreateBy(getUsername());
+        return success(productionRegularService.save(regular));
+    }
+
+    @ApiOperation("生产常规修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionRegular regular, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionRegularService.count(
+                new QueryWrapper<ProductionRegular>()
+                        .ne("id", regular.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", regular.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该常规编号已存在");
+        }
+        regular.setUpdateBy(getUsername());
+        return success(productionRegularService.updateById(regular));
+    }
+
+    @ApiOperation("生产常规删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionRegularService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产常规列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(
+            @RequestBody ProductionRegularPlanRequest planRequest,HttpServletRequest request) {
+
+        return success(productionRegularService.list(
+                new QueryWrapper<ProductionRegular>()
+                        .eq("org_id", tokenService.getLoginOrgId(request)).
+        eq(StringUtils.isNotEmpty(planRequest.getProductionPlanNumber()),"production_plan_number",planRequest.getProductionPlanNumber())
+                .eq(StringUtils.isNotEmpty(planRequest.getPigBatch()),"pig_batch",planRequest.getPigBatch())
+                .eq(StringUtils.isNotEmpty(planRequest.getProductionDate()),"production_date",planRequest.getProductionDate())
+                .eq(StringUtils.isNotEmpty(planRequest.getProductionType()),"production_type",planRequest.getProductionType())
+                .eq(StringUtils.isNotEmpty(planRequest.getProductionWorkshop()),"production_workshop",planRequest.getProductionWorkshop())
+                )
+        );
+    }
+
+    @ApiOperation("生产常规分页")
+    @PostMapping("/page")
+    public AjaxResult page(@RequestBody ProductionRegularPlanRequest planRequest,
+                           HttpServletRequest request
+    ) {
+
+        QueryWrapper<ProductionRegular> wrapper = new QueryWrapper<ProductionRegular>()
+                .eq("org_id", tokenService.getLoginOrgId(request));
+        wrapper.eq(StringUtils.isNotEmpty(planRequest.getProductionPlanNumber()),"production_plan_number",planRequest.getProductionPlanNumber())
+        .eq(StringUtils.isNotEmpty(planRequest.getPigBatch()),"pig_batch",planRequest.getPigBatch());
+        return success(productionRegularService.page(
+                new Page<ProductionRegular>(planRequest.getPageNum(), planRequest.getPageSize()),wrapper
+               )
+        );
+    }
+
+    @ApiOperation("生产常规详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionRegularService.getById(id));
+    }
+}

+ 99 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionRegularGradingController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionRegularGrading;
+import com.ruoyi.web.base.service.IProductionRegularGradingService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-regular-grading")
+public class ProductionRegularGradingController {
+
+    @Autowired
+    private IProductionRegularGradingService productionRegularGradingService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产常规分级添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionRegularGrading grading, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionRegularGradingService.count(
+                new QueryWrapper<ProductionRegularGrading>()
+                        .eq("org_id", loginOrgId)
+                        .eq("production_plan_number", grading.getProductionPlanNumber())
+        ) > 0) {
+            throw new Exception("该分级编号已存在");
+        }
+        grading.setOrgId(loginOrgId);
+        grading.setCreateBy(getUsername());
+        return success(productionRegularGradingService.save(grading));
+    }
+
+    @ApiOperation("生产常规分级修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionRegularGrading grading, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionRegularGradingService.count(
+                new QueryWrapper<ProductionRegularGrading>()
+                        .ne("id", grading.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("production_plan_number", grading.getProductionPlanNumber())
+        ) > 0) {
+            throw new Exception("该分级编号已存在");
+        }
+        grading.setUpdateBy(getUsername());
+        return success(productionRegularGradingService.updateById(grading));
+    }
+
+    @ApiOperation("生产常规分级删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionRegularGradingService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产常规分级列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionRegularGradingService.list(
+                new QueryWrapper<ProductionRegularGrading>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产常规分级分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionRegularGradingService.page(
+                new Page<ProductionRegularGrading>(pageNum, pageSize),
+                new QueryWrapper<ProductionRegularGrading>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产常规分级详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionRegularGradingService.getById(id));
+    }
+}

+ 85 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionSegmentedProductController.java

@@ -0,0 +1,85 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionSegmentedProduct;
+import com.ruoyi.web.base.service.IProductionSegmentedProductService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-segmented-product")
+public class ProductionSegmentedProductController {
+
+    @Autowired
+    private IProductionSegmentedProductService productionSegmentedProductService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产分段产品添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionSegmentedProduct product, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        product.setOrgId(loginOrgId);
+        product.setCreateBy(getUsername());
+        return success(productionSegmentedProductService.save(product));
+    }
+
+    @ApiOperation("生产分段产品修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionSegmentedProduct product, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        product.setUpdateBy(getUsername());
+        return success(productionSegmentedProductService.updateById(product));
+    }
+
+    @ApiOperation("生产分段产品删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionSegmentedProductService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产分段产品列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionSegmentedProductService.list(
+                new QueryWrapper<ProductionSegmentedProduct>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产分段产品分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionSegmentedProductService.page(
+                new Page<ProductionSegmentedProduct>(pageNum, pageSize),
+                new QueryWrapper<ProductionSegmentedProduct>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产分段产品详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionSegmentedProductService.getById(id));
+    }
+}

+ 86 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionShipmentNotificationController.java

@@ -0,0 +1,86 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionShipmentNotification;
+import com.ruoyi.web.base.service.IProductionShipmentNotificationService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-shipment-notification")
+public class ProductionShipmentNotificationController {
+
+    @Autowired
+    private IProductionShipmentNotificationService productionShipmentNotificationService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产发货通知添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionShipmentNotification notification, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        notification.setOrgId(loginOrgId);
+        notification.setCreateBy(getUsername());
+        return success(productionShipmentNotificationService.save(notification));
+    }
+
+    @ApiOperation("生产发货通知修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionShipmentNotification notification, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        notification.setUpdateBy(getUsername());
+        return success(productionShipmentNotificationService.updateById(notification));
+    }
+
+    @ApiOperation("生产发货通知删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionShipmentNotificationService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产发货通知列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionShipmentNotificationService.list(
+                new QueryWrapper<ProductionShipmentNotification>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产发货通知分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionShipmentNotificationService.page(
+                new Page<ProductionShipmentNotification>(pageNum, pageSize),
+                new QueryWrapper<ProductionShipmentNotification>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产发货通知详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionShipmentNotificationService.getById(id));
+    }
+}

+ 85 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionSlaughterController.java

@@ -0,0 +1,85 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionSlaughter;
+import com.ruoyi.web.base.service.IProductionSlaughterService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-slaughter")
+public class ProductionSlaughterController {
+
+    @Autowired
+    private IProductionSlaughterService productionSlaughterService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("生产屠宰添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionSlaughter slaughter, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        slaughter.setOrgId(loginOrgId);
+        slaughter.setCreateBy(getUsername());
+        return success(productionSlaughterService.save(slaughter));
+    }
+
+    @ApiOperation("生产屠宰修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionSlaughter slaughter, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        slaughter.setUpdateBy(getUsername());
+        return success(productionSlaughterService.updateById(slaughter));
+    }
+
+    @ApiOperation("生产屠宰删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionSlaughterService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("生产屠宰列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionSlaughterService.list(
+                new QueryWrapper<ProductionSlaughter>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产屠宰分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionSlaughterService.page(
+                new Page<ProductionSlaughter>(pageNum, pageSize),
+                new QueryWrapper<ProductionSlaughter>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("生产屠宰详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionSlaughterService.getById(id));
+    }
+}

+ 86 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripAllocationController.java

@@ -0,0 +1,86 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionWhiteStripAllocation;
+import com.ruoyi.web.base.service.IProductionWhiteStripAllocationService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-white-strip-allocation")
+public class ProductionWhiteStripAllocationController {
+
+    @Autowired
+    private IProductionWhiteStripAllocationService productionWhiteStripAllocationService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("白条分配添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionWhiteStripAllocation allocation, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        allocation.setOrgId(loginOrgId);
+        allocation.setCreateBy(getUsername());
+        return success(productionWhiteStripAllocationService.save(allocation));
+    }
+
+    @ApiOperation("白条分配修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionWhiteStripAllocation allocation, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        allocation.setUpdateBy(getUsername());
+        return success(productionWhiteStripAllocationService.updateById(allocation));
+    }
+
+    @ApiOperation("白条分配删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionWhiteStripAllocationService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("白条分配列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionWhiteStripAllocationService.list(
+                new QueryWrapper<ProductionWhiteStripAllocation>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条分配分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionWhiteStripAllocationService.page(
+                new Page<ProductionWhiteStripAllocation>(pageNum, pageSize),
+                new QueryWrapper<ProductionWhiteStripAllocation>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条分配详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionWhiteStripAllocationService.getById(id));
+    }
+}

+ 85 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripBatchController.java

@@ -0,0 +1,85 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionWhiteStripBatch;
+import com.ruoyi.web.base.service.IProductionWhiteStripBatchService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-white-strip-batch")
+public class ProductionWhiteStripBatchController {
+
+    @Autowired
+    private IProductionWhiteStripBatchService productionWhiteStripBatchService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("白条批次添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionWhiteStripBatch batch, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+
+        batch.setOrgId(loginOrgId);
+        batch.setCreateBy(getUsername());
+        return success(productionWhiteStripBatchService.save(batch));
+    }
+
+    @ApiOperation("白条批次修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionWhiteStripBatch batch, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        batch.setUpdateBy(getUsername());
+        return success(productionWhiteStripBatchService.updateById(batch));
+    }
+
+    @ApiOperation("白条批次删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionWhiteStripBatchService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("白条批次列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionWhiteStripBatchService.list(
+                new QueryWrapper<ProductionWhiteStripBatch>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条批次分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionWhiteStripBatchService.page(
+                new Page<ProductionWhiteStripBatch>(pageNum, pageSize),
+                new QueryWrapper<ProductionWhiteStripBatch>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条批次详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionWhiteStripBatchService.getById(id));
+    }
+}

+ 99 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripPreCoolingController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionWhiteStripPreCooling;
+import com.ruoyi.web.base.service.IProductionWhiteStripPreCoolingService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-white-strip-pre-cooling")
+public class ProductionWhiteStripPreCoolingController {
+
+    @Autowired
+    private IProductionWhiteStripPreCoolingService productionWhiteStripPreCoolingService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("白条预冷添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionWhiteStripPreCooling preCooling, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionWhiteStripPreCoolingService.count(
+                new QueryWrapper<ProductionWhiteStripPreCooling>()
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", preCooling.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该预冷编号已存在");
+        }
+        preCooling.setOrgId(loginOrgId);
+        preCooling.setCreateBy(getUsername());
+        return success(productionWhiteStripPreCoolingService.save(preCooling));
+    }
+
+    @ApiOperation("白条预冷修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionWhiteStripPreCooling preCooling, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionWhiteStripPreCoolingService.count(
+                new QueryWrapper<ProductionWhiteStripPreCooling>()
+                        .ne("id", preCooling.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", preCooling.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该预冷编号已存在");
+        }
+        preCooling.setUpdateBy(getUsername());
+        return success(productionWhiteStripPreCoolingService.updateById(preCooling));
+    }
+
+    @ApiOperation("白条预冷删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionWhiteStripPreCoolingService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("白条预冷列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionWhiteStripPreCoolingService.list(
+                new QueryWrapper<ProductionWhiteStripPreCooling>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条预冷分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionWhiteStripPreCoolingService.page(
+                new Page<ProductionWhiteStripPreCooling>(pageNum, pageSize),
+                new QueryWrapper<ProductionWhiteStripPreCooling>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条预冷详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionWhiteStripPreCoolingService.getById(id));
+    }
+}

+ 99 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripRefinedController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionWhiteStripRefined;
+import com.ruoyi.web.base.service.IProductionWhiteStripRefinedService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-white-strip-refined")
+public class ProductionWhiteStripRefinedController {
+
+    @Autowired
+    private IProductionWhiteStripRefinedService productionWhiteStripRefinedService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("白条精加工添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionWhiteStripRefined refined, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionWhiteStripRefinedService.count(
+                new QueryWrapper<ProductionWhiteStripRefined>()
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", refined.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该精加工编号已存在");
+        }
+        refined.setOrgId(loginOrgId);
+        refined.setCreateBy(getUsername());
+        return success(productionWhiteStripRefinedService.save(refined));
+    }
+
+    @ApiOperation("白条精加工修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionWhiteStripRefined refined, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionWhiteStripRefinedService.count(
+                new QueryWrapper<ProductionWhiteStripRefined>()
+                        .ne("id", refined.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", refined.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该精加工编号已存在");
+        }
+        refined.setUpdateBy(getUsername());
+        return success(productionWhiteStripRefinedService.updateById(refined));
+    }
+
+    @ApiOperation("白条精加工删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionWhiteStripRefinedService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("白条精加工列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionWhiteStripRefinedService.list(
+                new QueryWrapper<ProductionWhiteStripRefined>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条精加工分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionWhiteStripRefinedService.page(
+                new Page<ProductionWhiteStripRefined>(pageNum, pageSize),
+                new QueryWrapper<ProductionWhiteStripRefined>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条精加工详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionWhiteStripRefinedService.getById(id));
+    }
+}

+ 99 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripRegularController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.web.base.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.framework.web.service.TokenService;
+import com.ruoyi.web.base.domain.ProductionWhiteStripRegular;
+import com.ruoyi.web.base.service.IProductionWhiteStripRegularService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+import static com.ruoyi.common.core.domain.AjaxResult.success;
+import static com.ruoyi.common.utils.SecurityUtils.getUsername;
+
+@RestController
+@RequestMapping("/production-white-strip-regular")
+public class ProductionWhiteStripRegularController {
+
+    @Autowired
+    private IProductionWhiteStripRegularService productionWhiteStripRegularService;
+    @Autowired
+    private TokenService tokenService;
+
+    @ApiOperation("白条常规添加")
+    @PostMapping("/add")
+    public AjaxResult add(@RequestBody ProductionWhiteStripRegular regular, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionWhiteStripRegularService.count(
+                new QueryWrapper<ProductionWhiteStripRegular>()
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", regular.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该常规编号已存在");
+        }
+        regular.setOrgId(loginOrgId);
+        regular.setCreateBy(getUsername());
+        return success(productionWhiteStripRegularService.save(regular));
+    }
+
+    @ApiOperation("白条常规修改")
+    @PostMapping("/edit")
+    public AjaxResult edit(@RequestBody ProductionWhiteStripRegular regular, HttpServletRequest request) throws Exception {
+        String loginOrgId = tokenService.getLoginOrgId(request);
+        if (productionWhiteStripRegularService.count(
+                new QueryWrapper<ProductionWhiteStripRegular>()
+                        .ne("id", regular.getId())
+                        .eq("org_id", loginOrgId)
+                        .eq("production_record_number", regular.getProductionRecordNumber())
+        ) > 0) {
+            throw new Exception("该常规编号已存在");
+        }
+        regular.setUpdateBy(getUsername());
+        return success(productionWhiteStripRegularService.updateById(regular));
+    }
+
+    @ApiOperation("白条常规删除")
+    @PostMapping("/delete")
+    public AjaxResult delete(@RequestBody Map<String, String> paramsMap) {
+        String ids = paramsMap.get("ids");
+        for (String id : ids.split(",")) {
+            productionWhiteStripRegularService.removeById(id);
+        }
+        return success();
+    }
+
+    @ApiOperation("白条常规列表")
+    @PostMapping("/list")
+    public AjaxResult listAll(HttpServletRequest request) {
+        return success(productionWhiteStripRegularService.list(
+                new QueryWrapper<ProductionWhiteStripRegular>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条常规分页")
+    @GetMapping("/page")
+    public AjaxResult page(
+            @RequestParam("pageNum") Integer pageNum,
+            @RequestParam("pageSize") Integer pageSize,
+            HttpServletRequest request
+    ) {
+        return success(productionWhiteStripRegularService.page(
+                new Page<ProductionWhiteStripRegular>(pageNum, pageSize),
+                new QueryWrapper<ProductionWhiteStripRegular>()
+                        .eq("org_id", tokenService.getLoginOrgId(request))
+        ));
+    }
+
+    @ApiOperation("白条常规详情")
+    @PostMapping("/listById")
+    public AjaxResult listById(@RequestBody Map<String, String> paramsMap) {
+        String id = paramsMap.get("id");
+        return success(productionWhiteStripRegularService.getById(id));
+    }
+}

+ 20 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/controller/ProductionWhiteStripRequisitionController.java

@@ -0,0 +1,20 @@
+package com.ruoyi.web.base.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 分割生产白条领料表,存储分割生产白条领料的相关数据 前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@RestController
+@RequestMapping("/production-white-strip-requisition")
+public class ProductionWhiteStripRequisitionController {
+
+}

+ 1 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/BaseMaterial.java

@@ -27,7 +27,6 @@ public class BaseMaterial extends Base {
     private static final long serialVersionUID = 1L;
 
 
-
     @ApiModelProperty(value = "货品编号")
     private String goodsNum;
 
@@ -35,7 +34,7 @@ public class BaseMaterial extends Base {
     private String goodsName;
 
     @ApiModelProperty(value = "仓库编号")
-    private String warehouseNum;
+    private String warehouseNo;
 
     @ApiModelProperty(value = "仓库名称")
     private String warehouseName;

+ 4 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/BasePriceType.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,11 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("base_price_type")
 @ApiModel(value="BasePriceType对象", description="价格类型")
-public class BasePriceType implements Serializable {
+public class BasePriceType  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+
 
     @ApiModelProperty(value = "编号")
     private String priceTypeNum;
@@ -45,22 +46,6 @@ public class BasePriceType implements Serializable {
     @ApiModelProperty(value = "0启用")
     private Integer priceTypeStatus;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
 
 
 }

+ 4 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/MaterialBacth.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,11 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("material_bacth")
 @ApiModel(value="MaterialBacth对象", description="物料批次初始化")
-public class MaterialBacth implements Serializable {
+public class MaterialBacth  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+
 
     private String bacth;
 
@@ -55,22 +56,6 @@ public class MaterialBacth implements Serializable {
 
     private String cost;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
 
 
 }

+ 3 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProcureQuotationGoods.java

@@ -41,6 +41,8 @@ public class ProcureQuotationGoods extends Base {
 
     @ApiModelProperty(value = "仓库")
     private String warehouseName;
+    @ApiModelProperty(value = "仓库")
+    private String warehouseNo;
 
     @ApiModelProperty(value = "基本计量数量")
     private String baseNum;
@@ -59,6 +61,7 @@ public class ProcureQuotationGoods extends Base {
 
     @ApiModelProperty(value = "金额")
     private String amount;
+    private String conversionValue;
 
 
 }

+ 2 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProcureReceivingGoods.java

@@ -92,6 +92,8 @@ public class ProcureReceivingGoods extends Base {
 
     @ApiModelProperty(value = "是否黑猪扣款")
     private String isDeduction;
+    private String conversionValue;
+    private String warehouseNo;
 
 
 }

+ 108 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionBatchProcessingType.java

@@ -0,0 +1,108 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 批量修改加工类型操作记录表,用于记录批量修改加工类型的操作信息及数据变更前后情况
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_batch_processing_type")
+@ApiModel(value="ProductionBatchProcessingType对象", description="批量修改加工类型操作记录表,用于记录批量修改加工类型的操作信息及数据变更前后情况")
+public class ProductionBatchProcessingType extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+
+    @ApiModelProperty(value = "操作时间")
+    private LocalDateTime operationTime;
+
+    @ApiModelProperty(value = "操作人")
+    private String operator;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "原生产类型")
+    private String originalProductionType;
+
+    @ApiModelProperty(value = "新生产类型")
+    private String newProductionType;
+
+    @ApiModelProperty(value = "原加工类型")
+    private String originalProcessingType;
+
+    @ApiModelProperty(value = "新加工类型")
+    private String newProcessingType;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "白条编号区间段起始")
+    private String whiteStripNumberRangeStart;
+
+    @ApiModelProperty(value = "白条编号区间段结束")
+    private String whiteStripNumberRangeEnd;
+
+    @ApiModelProperty(value = "白条编号检索条件")
+    private String whiteStripNumberSearchCondition;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "可选白条生产类型")
+    private String selectedWhiteStripProductionType;
+
+    @ApiModelProperty(value = "可选白条加工类型")
+    private String selectedWhiteStripProcessingType;
+
+    @ApiModelProperty(value = "可选白条记录单号")
+    private String selectedWhiteStripRecordNumber;
+
+    @ApiModelProperty(value = "可选白条编号")
+    private String selectedWhiteStripNumber;
+
+    @ApiModelProperty(value = "修改前生产扣分")
+    private Integer productionDeductionBefore;
+
+    @ApiModelProperty(value = "修改后生产扣分")
+    private Integer productionDeductionAfter;
+
+    @ApiModelProperty(value = "修改前采购扣分")
+    private Integer procurementDeductionBefore;
+
+    @ApiModelProperty(value = "修改后采购扣分")
+    private Integer procurementDeductionAfter;
+
+    @ApiModelProperty(value = "修改前重量")
+    private String weightBefore;
+
+    @ApiModelProperty(value = "修改后重量")
+    private String weightAfter;
+
+
+}

+ 109 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionCompletionReport.java

@@ -0,0 +1,109 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 生产完工报告表,存储生产完工报告的详细信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_completion_report")
+@ApiModel(value="ProductionCompletionReport对象", description="生产完工报告表,存储生产完工报告的详细信息")
+public class ProductionCompletionReport  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+
+    @ApiModelProperty(value = "生产完工报告号")
+    private String reportNumber;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "生产完工日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date completionDate;
+
+    @ApiModelProperty(value = "单据状态(草稿、已提交、已批准)")
+    private String documentStatus;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "物料编码")
+    private String materialCode;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "规格型号")
+    private String specificationModel;
+
+    @ApiModelProperty(value = "品种品类")
+    private String varietyCategory;
+
+    @ApiModelProperty(value = "品类级别")
+    private String categoryGrade;
+
+    @ApiModelProperty(value = "批次")
+    private String batchNumber;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "计量单位")
+    private String measurementUnit;
+
+    @ApiModelProperty(value = "辅助数量")
+    private Integer auxiliaryQuantity;
+
+    @ApiModelProperty(value = "辅助计量单位")
+    private String auxiliaryMeasurementUnit;
+
+    @ApiModelProperty(value = "合格数量")
+    private Integer qualifiedQuantity;
+
+    @ApiModelProperty(value = "不合格数量")
+    private Integer unqualifiedQuantity;
+
+    @ApiModelProperty(value = "仓库")
+    private String warehouse;
+
+    @ApiModelProperty(value = "入库数量")
+    private Integer warehousingQuantity;
+
+    @ApiModelProperty(value = "入库辅助数量")
+    private Integer warehousingAuxiliaryQuantity;
+
+    @TableField(exist =  false)
+    private List<ProductionCompletionReportGoods> goods;
+
+
+}

+ 112 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionCompletionReportGoods.java

@@ -0,0 +1,112 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 生产完工报告表
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_completion_report_goods")
+@ApiModel(value="ProductionCompletionReportGoods对象", description="生产完工报告表")
+public class ProductionCompletionReportGoods implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "主键ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+    private String reportNumber;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "物料编码")
+    private String materialCode;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "规格型号")
+    private String specificationModel;
+
+    @ApiModelProperty(value = "品种品类")
+    private String varietyCategory;
+
+    @ApiModelProperty(value = "品类级别")
+    private String categoryGrade;
+
+    @ApiModelProperty(value = "批次")
+    private String batchNumber;
+
+    @ApiModelProperty(value = "数量")
+    private String quantity;
+
+    @ApiModelProperty(value = "计量单位")
+    private String measurementUnit;
+
+    @ApiModelProperty(value = "辅助数量")
+    private String auxiliaryQuantity;
+
+    @ApiModelProperty(value = "辅助计量单位")
+    private String auxiliaryMeasurementUnit;
+
+    @ApiModelProperty(value = "合格数量")
+    private String qualifiedQuantity;
+
+    @ApiModelProperty(value = "不合格数量")
+    private String unqualifiedQuantity;
+
+    @ApiModelProperty(value = "仓库")
+    private String warehouse;
+
+    @ApiModelProperty(value = "入库数量")
+    private String warehousingQuantity;
+
+    @ApiModelProperty(value = "入库辅助数量")
+    private String warehousingAuxiliaryQuantity;
+
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+    private String createBy;
+
+//    @TableField(fill = FieldFill.INSERT)
+//    private Date createTime;
+//
+//    private String updateBy;
+//
+//    @TableField(fill = FieldFill.INSERT_UPDATE)
+//    private LocalDateTime updateTime;
+
+
+
+}

+ 4 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionInstock.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,11 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("production_instock")
 @ApiModel(value="ProductionInstock对象", description="生产入库")
-public class ProductionInstock implements Serializable {
+public class ProductionInstock  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+
 
     @ApiModelProperty(value = "入库单号")
     private String inNum;
@@ -49,22 +50,6 @@ public class ProductionInstock implements Serializable {
 
     private String goods;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
 
 
 }

+ 3 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionInstockGoods.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("production_instock_goods")
 @ApiModel(value="ProductionInstockGoods对象", description="生产入库,货品表")
-public class ProductionInstockGoods implements Serializable {
+public class ProductionInstockGoods  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "单据编号")
     private String inNum;
@@ -68,22 +68,5 @@ public class ProductionInstockGoods implements Serializable {
     @ApiModelProperty(value = "辅助计量单位")
     private String assUnit;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
-
 
 }

+ 73 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionMaterialMapping.java

@@ -0,0 +1,73 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 物料生产对应管理表
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_material_mapping")
+@ApiModel(value="ProductionMaterialMapping对象", description="物料生产对应管理表")
+public class ProductionMaterialMapping extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间编号")
+    private String productionPlantNo;
+
+    @ApiModelProperty(value = "生产车间名称")
+    private String productionPlantName;
+
+    @ApiModelProperty(value = "物料编码")
+    private String goodsNum;
+
+    @ApiModelProperty(value = "物料名称")
+    private String goodsName;
+
+    @ApiModelProperty(value = "品种编号")
+    private String varietyNo;
+
+    @ApiModelProperty(value = "品种名称")
+    private String varietyName;
+
+    @ApiModelProperty(value = "级别编号")
+    private String levelNo;
+
+    @ApiModelProperty(value = "级别名称")
+    private String levelName;
+
+    @ApiModelProperty(value = "加工工艺")
+    private String process;
+
+    @ApiModelProperty(value = "毛色编号")
+    private String coatNo;
+
+    @ApiModelProperty(value = "毛色名称")
+    private String coatName;
+
+
+}

+ 71 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionPlan.java

@@ -0,0 +1,71 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 生产计划单表
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_plan")
+@ApiModel(value="ProductionPlan对象", description="生产计划单表")
+public class ProductionPlan extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "生产日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date orderDate;
+
+    @ApiModelProperty(value = "单据编号")
+    private String orderNum;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间编号")
+    private String productionPlantNo;
+
+    @ApiModelProperty(value = "生产车间名称")
+    private String productionPlantName;
+
+    @ApiModelProperty(value = "生产起始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date orderStartDate;
+
+    @ApiModelProperty(value = "生产结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date orderEndDate;
+
+    @ApiModelProperty(value = "生产数量")
+    private String num;
+
+
+    @TableField(exist =  false)
+    private List<ProductionPlanGoods> goods;
+
+}

+ 93 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionPlanGoods.java

@@ -0,0 +1,93 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 生产计划单详细货品表
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_plan_goods")
+@ApiModel(value="ProductionPlanGoods对象", description="生产计划单详细货品表")
+public class ProductionPlanGoods  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "编号")
+    private String orderNum;
+
+    @ApiModelProperty(value = "货品编号")
+    private String goodsNum;
+
+    @ApiModelProperty(value = "货品名称")
+    private String goodsName;
+
+    @ApiModelProperty(value = "规格")
+    private String goodsSpec;
+
+    @ApiModelProperty(value = "级别编号")
+    private String levelNo;
+
+    @ApiModelProperty(value = "级别名称")
+    private String levelName;
+
+    @ApiModelProperty(value = "品种编号")
+    private String varietyNo;
+
+    @ApiModelProperty(value = "品种名称")
+    private String varietyName;
+
+    @ApiModelProperty(value = "仓库编号")
+    private String warehouseNo;
+
+    @ApiModelProperty(value = "仓库名称")
+    private String warehouseName;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String batch;
+
+    @ApiModelProperty(value = "数量")
+    private String baseNum;
+
+    @ApiModelProperty(value = "计量单位")
+    private String baseUnit;
+
+    @ApiModelProperty(value = "辅助数量")
+    private String assNum;
+
+    @ApiModelProperty(value = "辅助计量单位")
+    private String assistantUnit;
+
+    @ApiModelProperty(value = "成本")
+    private String cost;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteNum;
+
+    @ApiModelProperty(value = "产品状态 0 未完成  1已完成")
+    private int productionStatus;
+
+
+
+
+}

+ 59 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionPlant.java

@@ -0,0 +1,59 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 车间信息表
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_plant")
+@ApiModel(value="ProductionPlant对象", description="车间信息表")
+public class ProductionPlant extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "车间编号")
+    private String productionPlantNo;
+
+    @ApiModelProperty(value = "车间名称")
+    private String productionPlantName;
+
+    @ApiModelProperty(value = "车间顺序号")
+    private String sort;
+
+    @ApiModelProperty(value = "状态 1启用 0停用")
+    private String status;
+
+
+
+    @ApiModelProperty(value = "仓库编号")
+    private String warehouseNo;
+
+    @ApiModelProperty(value = "仓库名称")
+    private String warehouseName;
+
+    @ApiModelProperty(value = "是否是白条生产 1是 0否")
+    private Integer isWhite;
+
+
+}

+ 94 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionProduct.java

@@ -0,0 +1,94 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 分割品副产品生产表,存储分割品副产品生产的相关数据
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_product")
+@ApiModel(value="ProductionProduct对象", description="分割品副产品生产表,存储分割品副产品生产的相关数据")
+public class ProductionProduct  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "生产记录单号")
+    private String productionRecordNumber;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "质检结果")
+    private String qualityInspectionResult;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "物料编号")
+    private String materialCode;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "计量单位")
+    private String measurementUnit;
+
+    @ApiModelProperty(value = "计重数量")
+    private String weightQuantity;
+
+    @ApiModelProperty(value = "皮重")
+    private String peelWeight;
+
+    @ApiModelProperty(value = "计重重量")
+    private String totalWeight;
+
+    @ApiModelProperty(value = "辅助计量单位")
+    private String auxiliaryMeasurementUnit;
+
+    @ApiModelProperty(value = "辅助数量")
+    private Integer auxiliaryQuantity;
+
+    @ApiModelProperty(value = "规格型号")
+    private String specificationModel;
+
+    @ApiModelProperty(value = "仓库")
+    private String warehouse;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+
+
+
+}

+ 197 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionRecord.java

@@ -0,0 +1,197 @@
+package com.ruoyi.web.base.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 生产记录单表,存储生产记录的详细信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_record")
+@ApiModel(value="ProductionRecord对象", description="生产记录单表,存储生产记录的详细信息")
+public class ProductionRecord  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "生产记录单日期")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date productionRecordDate;
+
+    @ApiModelProperty(value = "至(日期范围结束)")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endDate;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "质检结果")
+    private String qualityInspectionResult;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "加工类型")
+    private String processingType;
+
+    @ApiModelProperty(value = "二次计重重量")
+    private String secondaryWeight;
+
+    @ApiModelProperty(value = "三重计重重量")
+    private String tertiaryWeight;
+
+    @ApiModelProperty(value = "钩重/皮重")
+    private String hookWeight;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "生产扣分合计")
+    private Integer productionDeductionTotal;
+
+    @ApiModelProperty(value = "采购扣分合计")
+    private Integer procurementDeductionTotal;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "库存组织")
+    private String inventoryOrganization;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "完工状态")
+    private String completionStatus;
+
+    @ApiModelProperty(value = "采购员")
+    private String purchaser;
+
+    @ApiModelProperty(value = "采购部门")
+    private String purchasingDepartment;
+
+    @ApiModelProperty(value = "采购入库单号")
+    private String purchasingReceiptNumber;
+
+    @ApiModelProperty(value = "投料生产记录单的ID")
+    private Integer feedingProductionRecordId;
+
+    @ApiModelProperty(value = "结算方式")
+    private String settlementMethod;
+
+    @ApiModelProperty(value = "结算状态")
+    private String settlementStatus;
+
+    @ApiModelProperty(value = "生产入库单号")
+    private String productionWarehousingNumber;
+
+    @ApiModelProperty(value = "检验结果")
+    private String inspectionResult;
+
+    @ApiModelProperty(value = "待发货状态")
+    private String deliveryStatus;
+
+    @ApiModelProperty(value = "销售出库单单号")
+    private String salesOutboundNumber;
+
+    @ApiModelProperty(value = "销售订单号")
+    private String salesOrderNumber;
+
+    @ApiModelProperty(value = "发货日期")
+    private LocalDate deliveryDate;
+
+    @ApiModelProperty(value = "客户")
+    private String customer;
+
+    @ApiModelProperty(value = "锁定物流线")
+    private String lockedLogisticsLine;
+
+    @ApiModelProperty(value = "采购物料名称")
+    private String procurementMaterialName;
+
+    @ApiModelProperty(value = "采购品种")
+    private String procurementVariety;
+
+    @ApiModelProperty(value = "采购级别")
+    private String procurementGrade;
+
+    @ApiModelProperty(value = "扣重前重量")
+    private String preDeductionWeight;
+
+    @ApiModelProperty(value = "扣重比例")
+    private BigDecimal deductionRatio;
+
+    @ApiModelProperty(value = "加工工艺")
+    private String processingTechnology;
+
+    // 毛色
+    private String coatColor;
+    // 物料名称
+    private String materialName;
+    // 称重状态
+    private String weighingStatus;
+    // 初次计重时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date initialWeighingTime;
+    // 物料编码
+    private String materialCode;
+    // 计量单位
+    private String measurementUnit;
+    // 辅助计量单位
+    private String auxiliaryMeasurementUnit;
+    // 辅数量
+    private String auxiliaryQuantity;
+    // 三重时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date tripleWeighingTime;
+    // 来源类型
+    private String sourceType;
+    // 预冷重量
+    private String preCoolingWeight;
+    // 预冷时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date preCoolingTime;
+    // 猪蹄重量
+    private String pigTrotterWeight;
+    // 猪头重量
+    private String pigHeadWeight;
+    // 二次计重时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date secondaryWeighingTime;
+
+}

+ 112 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionRegular.java

@@ -0,0 +1,112 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 常规生产信息表
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_regular")
+@ApiModel(value="ProductionRegular对象", description="常规生产信息表")
+public class ProductionRegular  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+    private String goodsNum;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "检疫检验")
+    private String quarantineInspection;
+
+    @ApiModelProperty(value = "采购品种")
+    private String procurementVariety;
+
+    @ApiModelProperty(value = "生产记录单号")
+    private String productionRecordNumber;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "毛色")
+    private String coatColor;
+
+    @ApiModelProperty(value = "质量扣分")
+    private Integer qualityDeduction;
+
+    @ApiModelProperty(value = "批次")
+    private String batch;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "采购扣分")
+    private Integer procurementDeduction;
+
+    @ApiModelProperty(value = "加工类型")
+    private String processingType;
+
+    @ApiModelProperty(value = "加工工艺")
+    private String processingTechnology;
+
+    @ApiModelProperty(value = "本次重量(千克)")
+    private String currentWeightKg;
+
+    @ApiModelProperty(value = "确认标志")
+    private Boolean confirm;
+
+    @ApiModelProperty(value = "钩重")
+    private String hookWeight;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "扣重前重量")
+    private String preDeductionWeight;
+
+    @ApiModelProperty(value = "扣重比例")
+    private String deductionRatio;
+   @TableField(exist =  false)
+    private int productionStatus;
+
+
+}

+ 94 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionRegularGrading.java

@@ -0,0 +1,94 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 常规生产定级表,存储生产定级相关数据
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_regular_grading")
+@ApiModel(value="ProductionRegularGrading对象", description="常规生产定级表,存储生产定级相关数据")
+public class ProductionRegularGrading  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "检疫检验")
+    private String quarantineInspection;
+
+    @ApiModelProperty(value = "采购品种")
+    private String procurementVariety;
+
+    @ApiModelProperty(value = "生产记录单号")
+    private String productionRecordNumber;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "毛色")
+    private String coatColor;
+
+    @ApiModelProperty(value = "质量扣分")
+    private Integer qualityDeduction;
+
+    @ApiModelProperty(value = "采购扣分")
+    private Integer procurementDeduction;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "钩重")
+    private String hookWeight;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "加工类型")
+    private String processingType;
+
+    @ApiModelProperty(value = "扣重前重量")
+    private String preDeductionWeight;
+
+    @ApiModelProperty(value = "扣重比例")
+    private String deductionRatio;
+
+
+}

+ 93 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionSegmentedProduct.java

@@ -0,0 +1,93 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 分割品副产品分配平台表,存储分割品副产品分配的相关信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_segmented_product")
+@ApiModel(value="ProductionSegmentedProduct对象", description="分割品副产品分配平台表,存储分割品副产品分配的相关信息")
+public class ProductionSegmentedProduct  extends Base {
+
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "发货日期")
+    private LocalDate deliveryDate;
+
+    @ApiModelProperty(value = "产品类型")
+    private String productType;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "皮重")
+    private String peelWeight;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "辅助数量")
+    private Integer auxiliaryQuantity;
+
+    @ApiModelProperty(value = "电子称数量(KG)")
+    private String electronicScaleQuantity;
+
+    @ApiModelProperty(value = "按实际订单发货")
+    private Boolean allocateByActualOrder;
+
+    @ApiModelProperty(value = "直接打印")
+    private Boolean directPrint;
+
+    @ApiModelProperty(value = "市场名称")
+    private String marketName;
+
+    @ApiModelProperty(value = "发货客户")
+    private String deliveryCustomer;
+
+    @ApiModelProperty(value = "物料编码")
+    private String materialCode;
+
+    @ApiModelProperty(value = "单位")
+    private String unit;
+
+    @ApiModelProperty(value = "辅助单位")
+    private String auxiliaryUnit;
+
+    @ApiModelProperty(value = "备注")
+    private String remarks;
+
+    @ApiModelProperty(value = "销售订单号")
+    private String salesOrderNumber;
+
+    @ApiModelProperty(value = "仓库")
+    private String warehouse;
+
+    @ApiModelProperty(value = "完成分配状态")
+    private String allocationCompletionStatus;
+
+
+}

+ 95 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionShipmentNotification.java

@@ -0,0 +1,95 @@
+package com.ruoyi.web.base.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 出货通知单表,存储出货通知单的详细信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_shipment_notification")
+@ApiModel(value="ProductionShipmentNotification对象", description="出货通知单表,存储出货通知单的详细信息")
+public class ProductionShipmentNotification  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "发货日期")
+    private LocalDate shipmentDate;
+
+    @ApiModelProperty(value = "客户名称")
+    private String customerName;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "数量")
+    private Integer quantity;
+
+    @ApiModelProperty(value = "单位")
+    private String unit;
+
+    @ApiModelProperty(value = "辅助数量")
+    private Integer auxiliaryQuantity;
+
+    @ApiModelProperty(value = "辅助单位")
+    private String auxiliaryUnit;
+
+    @ApiModelProperty(value = "单价")
+    private String unitPrice;
+
+    @ApiModelProperty(value = "金额")
+    private String amount;
+
+    @ApiModelProperty(value = "转销售出库单")
+    private Boolean transferToSalesDeliveryNote;
+
+    @ApiModelProperty(value = "应收客户")
+    private String receivableCustomer;
+
+    @ApiModelProperty(value = "产品类型")
+    private String productType;
+
+    @ApiModelProperty(value = "扣分合计")
+    private Integer totalDeduction;
+
+    @ApiModelProperty(value = "客户渠道")
+    private String customerChannel;
+
+    @ApiModelProperty(value = "仓库")
+    private String warehouse;
+
+    @ApiModelProperty(value = "客户编号")
+    private String customerNumber;
+
+    @ApiModelProperty(value = "销售重量")
+    private String salesWeight;
+
+    @ApiModelProperty(value = "销售扣水分%")
+    private BigDecimal salesDeductionPercentage;
+
+
+}

+ 81 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionSlaughter.java

@@ -0,0 +1,81 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 代宰信息表,存储代宰相关的详细信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_slaughter")
+@ApiModel(value="ProductionSlaughter对象", description="代宰信息表,存储代宰相关的详细信息")
+public class ProductionSlaughter  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "代宰日期")
+    private LocalDate slaughterAgencyDate;
+
+    @ApiModelProperty(value = "供应商编号")
+    private String supplierNumber;
+
+    @ApiModelProperty(value = "代宰户编号")
+    private String slaughterAgencyNumber;
+
+    @ApiModelProperty(value = "单据编号")
+    private String documentNumber;
+
+    @ApiModelProperty(value = "待宰日期")
+    private LocalDate slaughterDate;
+
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+
+    @ApiModelProperty(value = "客户名称")
+    private String customerName;
+
+    @ApiModelProperty(value = "计划代宰数")
+    private Integer plannedSlaughterQuantity;
+
+    @ApiModelProperty(value = "已代宰数量")
+    private Integer actualSlaughterQuantity;
+
+    @ApiModelProperty(value = "单价")
+    private String unitPrice;
+
+    @ApiModelProperty(value = "计划代宰金额")
+    private String plannedSlaughterAmount;
+
+    @ApiModelProperty(value = "已代宰金额")
+    private String actualSlaughterAmount;
+
+    @ApiModelProperty(value = "添加时间")
+    private LocalDateTime additionTime;
+
+    @ApiModelProperty(value = "修改时间")
+    private LocalDateTime modificationTime;
+
+    @ApiModelProperty(value = "代宰户名称")
+    private String slaughterAgencyName;
+
+}

+ 102 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripAllocation.java

@@ -0,0 +1,102 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.web.base.domain.base.Base;
+import com.sun.jna.platform.win32.OaIdl;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import net.sf.jsqlparser.util.validation.metadata.DatabaseException;
+
+/**
+ * <p>
+ * 白条分配表,存储白条分配的相关信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_white_strip_allocation")
+@ApiModel(value="ProductionWhiteStripAllocation对象", description="白条分配表,存储白条分配的相关信息")
+public class ProductionWhiteStripAllocation  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date productionDate;
+
+    @ApiModelProperty(value = "发货日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date deliveryDate;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "批次")
+    private String batchNumber;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "重量")
+    private String weight;
+
+    @ApiModelProperty(value = "锁定物流线")
+    private String lockedLogisticsLine;
+
+    @ApiModelProperty(value = "扣分")
+    private Integer deductionScore;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "发货客户")
+    private String deliveryCustomer;
+
+    @ApiModelProperty(value = "订单未分配片数")
+    private Integer orderUnallocatedQuantity;
+
+    @ApiModelProperty(value = "市场")
+    private String market;
+
+    @ApiModelProperty(value = "客户")
+    private String customer;
+
+    @ApiModelProperty(value = "毛色")
+    private String coatColor;
+
+    @ApiModelProperty(value = "完成分配状态")
+    private String completionStatus;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "物料编码")
+    private String materialCode;
+
+
+
+
+}

+ 109 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripBatch.java

@@ -0,0 +1,109 @@
+package com.ruoyi.web.base.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 白条批量预发货平台表,存储白条批量预发货的相关信息
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_white_strip_batch")
+@ApiModel(value="ProductionWhiteStripBatch对象", description="白条批量预发货平台表,存储白条批量预发货的相关信息")
+public class ProductionWhiteStripBatch  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "生产日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date productionDate;
+
+    @ApiModelProperty(value = "发货日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date deliveryDate;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "批次")
+    private String batchNumber;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "启用排序")
+    private Boolean sortEnabled;
+
+    @ApiModelProperty(value = "销售扣水分(%)")
+    private BigDecimal salesDeductionPercentage;
+
+    @ApiModelProperty(value = "重量")
+    private String weight;
+
+    @ApiModelProperty(value = "锁定物流线")
+    private String lockedLogisticsLine;
+
+    @ApiModelProperty(value = "扣分")
+    private Integer deductionScore;
+
+    @ApiModelProperty(value = "物料名称")
+    private String materialName;
+
+    @ApiModelProperty(value = "发货客户")
+    private String deliveryCustomer;
+
+    @ApiModelProperty(value = "白条数")
+    private Integer whiteStripCount;
+
+    @ApiModelProperty(value = "订单未分配数量")
+    private Integer orderUnallocatedQuantity;
+
+    @ApiModelProperty(value = "市场")
+    private String market;
+
+    @ApiModelProperty(value = "客户")
+    private String customer;
+
+    @ApiModelProperty(value = "毛色")
+    private String coatColor;
+
+    @ApiModelProperty(value = "完成分配状态")
+    private String completionStatus;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "物料编码")
+    private String materialCode;
+
+
+}

+ 125 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripPreCooling.java

@@ -0,0 +1,125 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 白条预冷生产表,存储白条预冷生产相关数据
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_white_strip_pre_cooling")
+@ApiModel(value="ProductionWhiteStripPreCooling对象", description="白条预冷生产表,存储白条预冷生产相关数据")
+public class ProductionWhiteStripPreCooling  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产记录单号")
+    private String productionRecordNumber;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "投入原料日期")
+    private LocalDate rawMaterialInputDate;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "质检结果")
+    private String qualityInspectionResult;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "采购品种")
+    private String procurementVariety;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "毛色")
+    private String coatColor;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "加工类型(预冷或分割)")
+    private String processingType;
+
+    @ApiModelProperty(value = "加工工艺")
+    private String processingTechnology;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "本次重量(千克)")
+    private String currentWeightKg;
+
+    @ApiModelProperty(value = "动物标记")
+    private String animalMark;
+
+    @ApiModelProperty(value = "二次计重重量")
+    private String secondaryWeight;
+
+    @ApiModelProperty(value = "三次计重重量")
+    private String tertiaryWeight;
+
+    @ApiModelProperty(value = "钩重")
+    private String hookWeight;
+
+    @ApiModelProperty(value = "加工扣分(预冷生产中的扣分情况)")
+    private Integer processingDeduction;
+
+    @ApiModelProperty(value = "采购扣分")
+    private Integer procurementDeduction;
+
+    @ApiModelProperty(value = "质检结果(最终)")
+    private String finalQualityInspectionResult;
+
+    @ApiModelProperty(value = "采购物料名称")
+    private String procurementMaterialName;
+
+    @ApiModelProperty(value = "采购品种(详细)")
+    private String procurementVarietyDetail;
+
+    @ApiModelProperty(value = "采购级别")
+    private String procurementGrade;
+
+    @ApiModelProperty(value = "扣重前重量")
+    private String preDeductionWeight;
+
+    @ApiModelProperty(value = "扣重比例")
+    private String deductionRatio;
+
+
+
+}

+ 124 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripRefined.java

@@ -0,0 +1,124 @@
+package com.ruoyi.web.base.domain;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 白条精修生产表,存储白条精修生产相关数据
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_white_strip_refined")
+@ApiModel(value="ProductionWhiteStripRefined对象", description="白条精修生产表,存储白条精修生产相关数据")
+public class ProductionWhiteStripRefined  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产记录单号")
+    private String productionRecordNumber;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "投入原料日期")
+    private LocalDate rawMaterialInputDate;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "质检结果")
+    private String qualityInspectionResult;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "采购品种")
+    private String procurementVariety;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "供应来源")
+    private String supplySource;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "加工类型")
+    private String processingType;
+
+    @ApiModelProperty(value = "加工工艺")
+    private String processingTechnology;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "本次重量(千克)")
+    private String currentWeightKg;
+
+    @ApiModelProperty(value = "动物标记")
+    private String animalMark;
+
+    @ApiModelProperty(value = "二次计重重量")
+    private String secondaryWeight;
+
+    @ApiModelProperty(value = "三次计重重量")
+    private String tertiaryWeight;
+
+    @ApiModelProperty(value = "钩重")
+    private String hookWeight;
+
+    @ApiModelProperty(value = "加工扣分(精修生产中可能对应生产扣分)")
+    private Integer processingDeduction;
+
+    @ApiModelProperty(value = "采购扣分")
+    private Integer procurementDeduction;
+
+    @ApiModelProperty(value = "质检结果(最终)")
+    private String finalQualityInspectionResult;
+
+    @ApiModelProperty(value = "采购物料名称")
+    private String procurementMaterialName;
+
+    @ApiModelProperty(value = "采购品种(详细)")
+    private String procurementVarietyDetail;
+
+    @ApiModelProperty(value = "采购级别")
+    private String procurementGrade;
+
+    @ApiModelProperty(value = "扣重前重量")
+    private String preDeductionWeight;
+
+    @ApiModelProperty(value = "扣重比例")
+    private BigDecimal deductionRatio;
+
+}

+ 120 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripRegular.java

@@ -0,0 +1,120 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 白条常规生产表,存储白条生产相关数据
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_white_strip_regular")
+@ApiModel(value="ProductionWhiteStripRegular对象", description="白条常规生产表,存储白条生产相关数据")
+public class ProductionWhiteStripRegular  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产记录单号")
+    private String productionRecordNumber;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "生产车间")
+    private String productionWorkshop;
+
+    @ApiModelProperty(value = "生猪批次")
+    private String pigBatch;
+
+    @ApiModelProperty(value = "质检结果")
+    private String qualityInspectionResult;
+
+    @ApiModelProperty(value = "生产日期")
+    private LocalDate productionDate;
+
+    @ApiModelProperty(value = "生产计划单号")
+    private String productionPlanNumber;
+
+    @ApiModelProperty(value = "采购品种")
+    private String procurementVariety;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "毛色")
+    private String coatColor;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "加工类型")
+    private String processingType;
+
+    @ApiModelProperty(value = "加工工艺")
+    private String processingTechnology;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "本次重量(千克)")
+    private String currentWeightKg;
+
+    @ApiModelProperty(value = "动物标记")
+    private String animalMark;
+
+    @ApiModelProperty(value = "二次计重重量")
+    private String secondaryWeight;
+
+    @ApiModelProperty(value = "三次计重重量")
+    private String tertiaryWeight;
+
+    @ApiModelProperty(value = "钩重")
+    private String hookWeight;
+
+    @ApiModelProperty(value = "生产扣分")
+    private Integer productionDeduction;
+
+    @ApiModelProperty(value = "采购扣分")
+    private Integer procurementDeduction;
+
+    @ApiModelProperty(value = "质检结果(最终)")
+    private String finalQualityInspectionResult;
+
+    @ApiModelProperty(value = "采购物料名称")
+    private String procurementMaterialName;
+
+    @ApiModelProperty(value = "采购品种(详细)")
+    private String procurementVarietyDetail;
+
+    @ApiModelProperty(value = "采购级别")
+    private String procurementGrade;
+
+    @ApiModelProperty(value = "扣重前重量")
+    private String preDeductionWeight;
+
+    @ApiModelProperty(value = "扣重比例")
+    private String deductionRatio;
+
+}

+ 120 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/ProductionWhiteStripRequisition.java

@@ -0,0 +1,120 @@
+package com.ruoyi.web.base.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDate;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 分割生产白条领料表,存储分割生产白条领料的相关数据
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("production_white_strip_requisition")
+@ApiModel(value="ProductionWhiteStripRequisition对象", description="分割生产白条领料表,存储分割生产白条领料的相关数据")
+public class ProductionWhiteStripRequisition  extends Base {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "生产记录单日期")
+    private LocalDate productionRecordDate;
+
+    @ApiModelProperty(value = "生产计划单日期")
+    private LocalDate productionPlanDate;
+
+    @ApiModelProperty(value = "生产类型")
+    private String productionType;
+
+    @ApiModelProperty(value = "品种")
+    private String variety;
+
+    @ApiModelProperty(value = "级别")
+    private String grade;
+
+    @ApiModelProperty(value = "白条编号")
+    private String whiteStripNumber;
+
+    @ApiModelProperty(value = "动物标识")
+    private String animalIdentification;
+
+    @ApiModelProperty(value = "质检结果")
+    private String qualityInspectionResult;
+
+    @ApiModelProperty(value = "可领用白条编号")
+    private String requisitionableWhiteStripNumber;
+
+    @ApiModelProperty(value = "可领用品种")
+    private String requisitionableVariety;
+
+    @ApiModelProperty(value = "可领用级别")
+    private String requisitionableGrade;
+
+    @ApiModelProperty(value = "可领用生产类型")
+    private String requisitionableProductionType;
+
+    @ApiModelProperty(value = "可领用加工类型")
+    private String requisitionableProcessingType;
+
+    @ApiModelProperty(value = "可领用重量")
+    private String requisitionableWeight;
+
+    @ApiModelProperty(value = "可领用物料编码")
+    private String requisitionableMaterialCode;
+
+    @ApiModelProperty(value = "可领用物料名称")
+    private String requisitionableMaterialName;
+
+    @ApiModelProperty(value = "可领用生产开始日期")
+    private LocalDate requisitionableStartDate;
+
+    @ApiModelProperty(value = "可领用动物标记")
+    private String requisitionableAnimalMark;
+
+    @ApiModelProperty(value = "领料结果白条编号")
+    private String requisitionResultWhiteStripNumber;
+
+    @ApiModelProperty(value = "领料结果品种")
+    private String requisitionResultVariety;
+
+    @ApiModelProperty(value = "领料结果级别")
+    private String requisitionResultGrade;
+
+    @ApiModelProperty(value = "领料结果生产类型")
+    private String requisitionResultProductionType;
+
+    @ApiModelProperty(value = "领料结果加工类型")
+    private String requisitionResultProcessingType;
+
+    @ApiModelProperty(value = "领料结果重量")
+    private String requisitionResultWeight;
+
+    @ApiModelProperty(value = "领料结果物料编码")
+    private String requisitionResultMaterialCode;
+
+    @ApiModelProperty(value = "领料结果物料名称")
+    private String requisitionResultMaterialName;
+
+    @ApiModelProperty(value = "领料结果生产开始日期")
+    private LocalDate requisitionResultStartDate;
+
+    @ApiModelProperty(value = "领料结果动物标记")
+    private String requisitionResultAnimalMark;
+
+}

+ 3 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAdjust.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_adjust")
 @ApiModel(value="WarehouseAdjust对象", description="仓库调整")
-public class WarehouseAdjust implements Serializable {
+public class WarehouseAdjust  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "序号")
     private String adjustNum;
@@ -43,22 +43,5 @@ public class WarehouseAdjust implements Serializable {
 
     private String goods;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
-
 
 }

+ 3 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAdjustGoods.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_adjust_goods")
 @ApiModel(value="WarehouseAdjustGoods对象", description="仓库调整,货品表")
-public class WarehouseAdjustGoods implements Serializable {
+public class WarehouseAdjustGoods  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "单据编号")
     private String adjustNum;
@@ -66,22 +66,5 @@ public class WarehouseAdjustGoods implements Serializable {
     @ApiModelProperty(value = "单位成本")
     private String cost;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
-
 
 }

+ 4 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAllot.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,11 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_allot")
 @ApiModel(value="WarehouseAllot对象", description="仓库调拨")
-public class WarehouseAllot implements Serializable {
+public class WarehouseAllot  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+
 
     @ApiModelProperty(value = "序号")
     private String allotNum;
@@ -42,22 +43,5 @@ public class WarehouseAllot implements Serializable {
 
     private String goods;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
-
 
 }

+ 3 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseAllotGoods.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_allot_goods")
 @ApiModel(value="WarehouseAllotGoods对象", description="仓库调拨,货品表")
-public class WarehouseAllotGoods implements Serializable {
+public class WarehouseAllotGoods  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "单据编号")
     private String allotNum;
@@ -67,22 +67,6 @@ public class WarehouseAllotGoods implements Serializable {
     @ApiModelProperty(value = "单位成本")
     private String cost;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
 
 
 }

+ 4 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseCheck.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,11 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_check")
 @ApiModel(value="WarehouseCheck对象", description="仓库盘点")
-public class WarehouseCheck implements Serializable {
+public class WarehouseCheck  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+
 
     @ApiModelProperty(value = "序号")
     private String checkNum;
@@ -42,22 +43,6 @@ public class WarehouseCheck implements Serializable {
 
     private String goods;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
 
 
 }

+ 3 - 18
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseCheckGoods.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_check_goods")
 @ApiModel(value="WarehouseCheckGoods对象", description="仓库盘点,货品表")
-public class WarehouseCheckGoods implements Serializable {
+public class WarehouseCheckGoods  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "单据编号")
     private String checkNum;
@@ -75,22 +75,7 @@ public class WarehouseCheckGoods implements Serializable {
     @ApiModelProperty(value = "差异辅助计量数量")
     private String diffAssNum;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
 
-    private String orgId;
 
 
 }

+ 3 - 20
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseRequisition.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_requisition")
 @ApiModel(value="WarehouseRequisition对象", description="仓库领料")
-public class WarehouseRequisition implements Serializable {
+public class WarehouseRequisition  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "序号")
     private String requisitionNum;
@@ -51,22 +51,5 @@ public class WarehouseRequisition implements Serializable {
 
     private String goods;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
-
 
 }

+ 3 - 19
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/WarehouseRequisitionGoods.java

@@ -7,6 +7,8 @@ import java.time.LocalDateTime;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+
+import com.ruoyi.web.base.domain.base.Base;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -26,12 +28,10 @@ import lombok.experimental.Accessors;
 @Accessors(chain = true)
 @TableName("warehouse_requisition_goods")
 @ApiModel(value="WarehouseRequisitionGoods对象", description="仓库盘点,货品表")
-public class WarehouseRequisitionGoods implements Serializable {
+public class WarehouseRequisitionGoods  extends Base {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
 
     @ApiModelProperty(value = "单据编号")
     private String requisitionNum;
@@ -69,22 +69,6 @@ public class WarehouseRequisitionGoods implements Serializable {
     @ApiModelProperty(value = "小计")
     private String subtotal;
 
-    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
-    private String delFlag;
-
-    private String createBy;
-
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    private String updateBy;
-
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    private String remark;
-
-    private String orgId;
 
 
 }

+ 33 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/PageRequest.java

@@ -0,0 +1,33 @@
+package com.ruoyi.web.base.domain.param;
+
+
+import lombok.Data;
+
+/**
+ * 分页请求
+ *
+ * @author
+ */
+@Data
+public class PageRequest {
+
+    /**
+     * 当前页号
+     */
+    private long pageNum = 1;
+
+    /**
+     * 页面大小
+     */
+    private long pageSize = 10;
+
+    /**
+     * 排序字段
+     */
+    private String sortField;
+
+    /**
+     * 排序顺序(默认升序)
+     */
+    private String sortOrder = "ascend";
+}

+ 10 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionCompletionRequest.java

@@ -0,0 +1,10 @@
+package com.ruoyi.web.base.domain.param;
+
+import lombok.Data;
+
+@Data
+public class ProductionCompletionRequest extends  PageRequest{
+
+
+
+}

+ 12 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionPlanRequest.java

@@ -0,0 +1,12 @@
+package com.ruoyi.web.base.domain.param;
+
+import lombok.Data;
+
+@Data
+public class ProductionPlanRequest  extends  PageRequest{
+    private  String orderNum;
+    private  String startTime;
+    private  String endTime;
+    private  String productionType;
+
+}

+ 25 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionRecordRequest.java

@@ -0,0 +1,25 @@
+package com.ruoyi.web.base.domain.param;
+
+import lombok.Data;
+
+@Data
+public class ProductionRecordRequest extends  PageRequest{
+
+
+
+    private String recordDatestart;
+    private String  recordDateEnd;
+
+    private String   pigBatch;
+    private String   productionType;
+    private String   levelstart;
+    private String   levelEnd;
+    private String  inspectResult;
+    private String  variety;
+    private String   whiteNostart;
+    private String   whiteNoEnd;
+    private String   processType;
+    private String  batch;
+    private String  animalIdentification;
+
+}

+ 18 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/domain/param/ProductionRegularPlanRequest.java

@@ -0,0 +1,18 @@
+package com.ruoyi.web.base.domain.param;
+
+import lombok.Data;
+
+@Data
+public class ProductionRegularPlanRequest extends  PageRequest{
+
+    private  String startTime;
+    private  String endTime;
+    private  String productionPlanNumber;
+    private  String pigBatch;
+
+    private  String productionDate;
+    private  String productionType;
+    private  String  productionWorkshop;
+
+
+}

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProcureApportionMapper.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**
  * <p>
- * 采购入库单 Mapper 接口
+ *  extends Base 单 Mapper 接口
  * </p>
  *
  * @author author

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionBatchProcessingTypeMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionBatchProcessingType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 批量修改加工类型操作记录表,用于记录批量修改加工类型的操作信息及数据变更前后情况 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionBatchProcessingTypeMapper extends BaseMapper<ProductionBatchProcessingType> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionCompletionReportGoodsMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionCompletionReportGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 生产完工报告表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-25
+ */
+public interface ProductionCompletionReportGoodsMapper extends BaseMapper<ProductionCompletionReportGoods> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionCompletionReportMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionCompletionReport;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 生产完工报告表,存储生产完工报告的详细信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionCompletionReportMapper extends BaseMapper<ProductionCompletionReport> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionMaterialMappingMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionMaterialMapping;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 物料生产对应管理表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface ProductionMaterialMappingMapper extends BaseMapper<ProductionMaterialMapping> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionPlanGoodsMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionPlanGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 生产计划单详细货品表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface ProductionPlanGoodsMapper extends BaseMapper<ProductionPlanGoods> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionPlanMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionPlan;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 生产计划单表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface ProductionPlanMapper extends BaseMapper<ProductionPlan> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionPlantMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionPlant;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 车间信息表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface ProductionPlantMapper extends BaseMapper<ProductionPlant> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionProductMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 分割品副产品生产表,存储分割品副产品生产的相关数据 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionProductMapper extends BaseMapper<ProductionProduct> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionRecordMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 生产记录单表,存储生产记录的详细信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionRecordMapper extends BaseMapper<ProductionRecord> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionRegularGradingMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionRegularGrading;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 常规生产定级表,存储生产定级相关数据 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionRegularGradingMapper extends BaseMapper<ProductionRegularGrading> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionRegularMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionRegular;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 常规生产信息表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionRegularMapper extends BaseMapper<ProductionRegular> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionSegmentedProductMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionSegmentedProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 分割品副产品分配平台表,存储分割品副产品分配的相关信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionSegmentedProductMapper extends BaseMapper<ProductionSegmentedProduct> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionShipmentNotificationMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionShipmentNotification;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 出货通知单表,存储出货通知单的详细信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionShipmentNotificationMapper extends BaseMapper<ProductionShipmentNotification> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionSlaughterMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionSlaughter;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 代宰信息表,存储代宰相关的详细信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionSlaughterMapper extends BaseMapper<ProductionSlaughter> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripAllocationMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripAllocation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 白条分配表,存储白条分配的相关信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionWhiteStripAllocationMapper extends BaseMapper<ProductionWhiteStripAllocation> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripBatchMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripBatch;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 白条批量预发货平台表,存储白条批量预发货的相关信息 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionWhiteStripBatchMapper extends BaseMapper<ProductionWhiteStripBatch> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripPreCoolingMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripPreCooling;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 白条预冷生产表,存储白条预冷生产相关数据 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionWhiteStripPreCoolingMapper extends BaseMapper<ProductionWhiteStripPreCooling> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripRefinedMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripRefined;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 白条精修生产表,存储白条精修生产相关数据 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionWhiteStripRefinedMapper extends BaseMapper<ProductionWhiteStripRefined> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripRegularMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripRegular;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 白条常规生产表,存储白条生产相关数据 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionWhiteStripRegularMapper extends BaseMapper<ProductionWhiteStripRegular> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/mapper/ProductionWhiteStripRequisitionMapper.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.mapper;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripRequisition;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 分割生产白条领料表,存储分割生产白条领料的相关数据 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface ProductionWhiteStripRequisitionMapper extends BaseMapper<ProductionWhiteStripRequisition> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionBatchProcessingTypeService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionBatchProcessingType;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 批量修改加工类型操作记录表,用于记录批量修改加工类型的操作信息及数据变更前后情况 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionBatchProcessingTypeService extends IService<ProductionBatchProcessingType> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionCompletionReportGoodsService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionCompletionReportGoods;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 生产完工报告表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-25
+ */
+public interface IProductionCompletionReportGoodsService extends IService<ProductionCompletionReportGoods> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionCompletionReportService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionCompletionReport;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 生产完工报告表,存储生产完工报告的详细信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionCompletionReportService extends IService<ProductionCompletionReport> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionMaterialMappingService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionMaterialMapping;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 物料生产对应管理表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface IProductionMaterialMappingService extends IService<ProductionMaterialMapping> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionPlanGoodsService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionPlanGoods;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 生产计划单详细货品表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface IProductionPlanGoodsService extends IService<ProductionPlanGoods> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionPlanService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionPlan;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 生产计划单表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface IProductionPlanService extends IService<ProductionPlan> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionPlantService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionPlant;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 车间信息表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-16
+ */
+public interface IProductionPlantService extends IService<ProductionPlant> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionProductService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 分割品副产品生产表,存储分割品副产品生产的相关数据 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionProductService extends IService<ProductionProduct> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionRecordService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 生产记录单表,存储生产记录的详细信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionRecordService extends IService<ProductionRecord> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionRegularGradingService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionRegularGrading;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 常规生产定级表,存储生产定级相关数据 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionRegularGradingService extends IService<ProductionRegularGrading> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionRegularService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionRegular;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 常规生产信息表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionRegularService extends IService<ProductionRegular> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionSegmentedProductService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionSegmentedProduct;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 分割品副产品分配平台表,存储分割品副产品分配的相关信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionSegmentedProductService extends IService<ProductionSegmentedProduct> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionShipmentNotificationService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionShipmentNotification;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 出货通知单表,存储出货通知单的详细信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionShipmentNotificationService extends IService<ProductionShipmentNotification> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionSlaughterService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionSlaughter;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 代宰信息表,存储代宰相关的详细信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionSlaughterService extends IService<ProductionSlaughter> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionWhiteStripAllocationService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripAllocation;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 白条分配表,存储白条分配的相关信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionWhiteStripAllocationService extends IService<ProductionWhiteStripAllocation> {
+
+}

+ 16 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionWhiteStripBatchService.java

@@ -0,0 +1,16 @@
+package com.ruoyi.web.base.service;
+
+import com.ruoyi.web.base.domain.ProductionWhiteStripBatch;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 白条批量预发货平台表,存储白条批量预发货的相关信息 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2026-03-19
+ */
+public interface IProductionWhiteStripBatchService extends IService<ProductionWhiteStripBatch> {
+
+}

+ 0 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/base/service/IProductionWhiteStripPreCoolingService.java


部分文件因为文件数量过多而无法显示