From fe1b02a121c173e9b2d56bbe5a1982e0e69e0548 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 28 四月 2026 18:06:08 +0800
Subject: [PATCH] feat(production): 新增生产工单管理功能 - 创建 ProductionOperationTask 实体类定义工单数据结构 - 实现 ProductionOperationTaskController 提供工单的增删改查接口 - 开发 ProductionOperationTaskService 和实现类处理业务逻辑 - 配置 ProductionOperationTaskMapper 及 XML 文件实现数据库操作 - 添加 ProductionOperationTaskVo 视图对象用于数据展示 - 扩展 ProductionOrder 实体类增加生产订单相关属性 - 更新 ProductionOrderMapper.xml 完善订单查询映射配置 - 优化 ProductionOrderPickRecordMapper.xml 记录物料领取明细 - 新增 ProductionOrderRoutingOperationParam 参数配置实体 - 完善 工序参数处理逻辑

---
 src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java |   65 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
index ee245d6..8553869 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionOperationTaskServiceImpl.java
@@ -1,20 +1,69 @@
 package com.ruoyi.production.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.production.bean.dto.ProductionOperationTaskDto;
+import com.ruoyi.production.bean.vo.ProductionOperationTaskVo;
 import com.ruoyi.production.mapper.ProductionOperationTaskMapper;
 import com.ruoyi.production.pojo.ProductionOperationTask;
 import com.ruoyi.production.service.ProductionOperationTaskService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
-/**
- * <p>
- * 鐢熶骇宸ュ崟琛� 鏈嶅姟瀹炵幇绫�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-04-21 03:55:52
- */
+import java.util.List;
+
 @Service
+@RequiredArgsConstructor
 public class ProductionOperationTaskServiceImpl extends ServiceImpl<ProductionOperationTaskMapper, ProductionOperationTask> implements ProductionOperationTaskService {
 
+
+
+    @Override
+    public IPage<ProductionOperationTaskVo> pageProductionOperationTask(Page<ProductionOperationTaskDto> page, ProductionOperationTaskDto dto) {
+        Page<ProductionOperationTaskVo> voPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
+        return baseMapper.pageProductionOperationTask(voPage, dto);
+    }
+
+    @Override
+    public List<ProductionOperationTaskVo> listProductionOperationTask(ProductionOperationTaskDto dto) {
+        return BeanUtil.copyToList(this.list(buildQueryWrapper(dto)), ProductionOperationTaskVo.class);
+    }
+
+    @Override
+    public ProductionOperationTaskVo getProductionOperationTaskInfo(Long id) {
+        ProductionOperationTask item = this.getById(id);
+        return item == null ? null : BeanUtil.copyProperties(item, ProductionOperationTaskVo.class);
+    }
+
+    @Override
+    public boolean saveProductionOperationTask(ProductionOperationTask productionOperationTask) {
+        return this.saveOrUpdate(productionOperationTask);
+    }
+
+    @Override
+    public boolean removeProductionOperationTask(List<Long> ids) {
+        return ids != null && !ids.isEmpty() && this.removeByIds(ids);
+    }
+
+    private LambdaQueryWrapper<ProductionOperationTask> buildQueryWrapper(ProductionOperationTaskDto dto) {
+        ProductionOperationTask query = dto == null ? new ProductionOperationTask() : dto;
+        return Wrappers.<ProductionOperationTask>lambdaQuery()
+                .eq(query.getId() != null, ProductionOperationTask::getId, query.getId())
+                .eq(query.getProductionOrderId() != null, ProductionOperationTask::getProductionOrderId, query.getProductionOrderId())
+                .eq(query.getProductionOrderRoutingOperationId() != null,
+                        ProductionOperationTask::getProductionOrderRoutingOperationId, query.getProductionOrderRoutingOperationId())
+                .eq(query.getStatus() != null, ProductionOperationTask::getStatus, query.getStatus())
+                .like(query.getWorkOrderNo() != null && !query.getWorkOrderNo().trim().isEmpty(),
+                        ProductionOperationTask::getWorkOrderNo, query.getWorkOrderNo())
+                .orderByDesc(ProductionOperationTask::getId);
+    }
+
+    @Override
+    public int updateProductWorkOrder(ProductionOperationTaskDto dto) {
+        return baseMapper.updateById(dto);
+    }
 }

--
Gitblit v1.9.3