From 2ad27cc54d8fce92cc3f8a2588e25a1517f57dfd Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期五, 24 四月 2026 10:00:38 +0800
Subject: [PATCH] feat(production): 添加生产打印订单相关功能和客户跟进文件查询接口
---
src/main/java/com/ruoyi/basic/service/CustomerFollowUpFileService.java | 2 +
src/main/java/com/ruoyi/production/service/ProductionPrintOrderService.java | 8 +++
src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java | 13 ++++++
src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java | 25 +++++++++++-
src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java | 15 +++++--
src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java | 12 ++++++
src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java | 3 +
src/main/java/com/ruoyi/production/dto/ProcessContentDto.java | 2
8 files changed, 70 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/service/CustomerFollowUpFileService.java b/src/main/java/com/ruoyi/basic/service/CustomerFollowUpFileService.java
index 968ddba..dba9189 100644
--- a/src/main/java/com/ruoyi/basic/service/CustomerFollowUpFileService.java
+++ b/src/main/java/com/ruoyi/basic/service/CustomerFollowUpFileService.java
@@ -35,4 +35,6 @@
@NotNull BiConsumer<T, List<SimpleFileVo>> setAttachmentList
);
+
+ SimpleFileVo getSimpleFileVoById(@Nullable Long id);
}
diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
index 628dcb4..aff3da3 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
@@ -6,6 +6,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.ruoyi.basic.mapper.CustomerFollowUpFileMapper;
+import com.ruoyi.basic.pojo.CustomerFollowUp;
import com.ruoyi.basic.pojo.CustomerFollowUpFile;
import com.ruoyi.basic.service.CustomerFollowUpFileService;
import com.ruoyi.basic.service.CustomerFollowUpService;
@@ -74,4 +75,16 @@
}
});
}
+
+ @Override
+ public SimpleFileVo getSimpleFileVoById(Long id) {
+ if(id == null){
+ return new SimpleFileVo();
+ }
+ List<CustomerFollowUpFile> followUpFilesByIds = customerFollowUpService.getFollowUpFilesByIds(Lists.newArrayList(id));
+ if(CollUtil.isEmpty(followUpFilesByIds)){
+ return new SimpleFileVo();
+ }
+ return SimpleFileVo.convert(followUpFilesByIds.get(0));
+ }
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java
index 973f9de..2e76b67 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionPrintOrderController.java
@@ -1,14 +1,12 @@
package com.ruoyi.production.controller;
+import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.SaveProductionPrintOrderDto;
import com.ruoyi.production.pojo.ProductionPrintOrder;
import com.ruoyi.production.service.ProductionPrintOrderService;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* @author buhuazhen
@@ -24,8 +22,15 @@
private final ProductionPrintOrderService productionPrintOrderService;
@PostMapping("/save")
- public void save(@RequestBody SaveProductionPrintOrderDto dto){
+ public R save(@RequestBody SaveProductionPrintOrderDto dto){
productionPrintOrderService.save(dto);
+ return R.ok();
+ }
+
+
+ @PostMapping("/getByProductWordId/{id}")
+ public ProductionPrintOrder getByProductWordId(@PathVariable Long id){
+ return productionPrintOrderService.getByProductWordId(id);
}
}
diff --git a/src/main/java/com/ruoyi/production/dto/ProcessContentDto.java b/src/main/java/com/ruoyi/production/dto/ProcessContentDto.java
index 88c15f1..5bc0e6b 100644
--- a/src/main/java/com/ruoyi/production/dto/ProcessContentDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProcessContentDto.java
@@ -20,7 +20,7 @@
public class ProcessContentDto implements Serializable {
private String id;
private Long processId; // 宸ュ簭id
- private String processContent; // 宸ヨ壓鍔犲伐鍐呭
+ private String processName; // 宸ヨ壓鍔犲伐鍐呭
private String openCount; // 寮�鏁�
private String processPositive; // 宸ヨ壓姝f暟
private String allowanceQty; // 鍔犳斁鏁�
diff --git a/src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java b/src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java
index 0613442..461594e 100644
--- a/src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProductionPrintOrderDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.production.dto;
+import com.ruoyi.common.vo.SimpleFileVo;
import com.ruoyi.production.pojo.ProductionPrintOrder;
import lombok.AllArgsConstructor;
import lombok.Data;
@@ -18,6 +19,6 @@
@AllArgsConstructor
@NoArgsConstructor
public class ProductionPrintOrderDto extends ProductionPrintOrder implements Serializable {
- private String xxx;
+ private SimpleFileVo cuttingFileVo;
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java
index b31f700..6965945 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionPrintOrder.java
@@ -244,4 +244,16 @@
*/
@TableField(value = "product_model_id")
private Long productModelId;
+
+ /**
+ * 鍒囨枡鍥剧ず鏂囦欢id
+ */
+ @TableField(value = "cutting_file_id")
+ private Long cuttingFileId;
+
+ /**
+ * 瀹㈡埛鍗曚綅
+ */
+ @TableField(value = "client_name")
+ private String clientName;
}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/production/service/ProductionPrintOrderService.java b/src/main/java/com/ruoyi/production/service/ProductionPrintOrderService.java
index c4fd1b8..add8018 100644
--- a/src/main/java/com/ruoyi/production/service/ProductionPrintOrderService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductionPrintOrderService.java
@@ -1,5 +1,6 @@
package com.ruoyi.production.service;
+import com.ruoyi.production.dto.ProductionPrintOrderDto;
import com.ruoyi.production.dto.SaveProductionPrintOrderDto;
import com.ruoyi.production.pojo.ProductionPrintOrder;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -17,5 +18,10 @@
*/
void save(SaveProductionPrintOrderDto dto);
-
+ /**
+ * 鏍规嵁璁㈠崟ID 鏌ヨ
+ * @param id 璁㈠崟
+ * @return
+ */
+ ProductionPrintOrderDto getByProductWordId(Long id);
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java
index e8587ac..0b5008a 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionPrintOrderServiceImpl.java
@@ -3,10 +3,13 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.service.CustomerFollowUpFileService;
import com.ruoyi.dto.SimplePersonDto;
import com.ruoyi.production.dto.ProcessContentDto;
import com.ruoyi.production.dto.ProcessRouteAnticlockwiseDto;
+import com.ruoyi.production.dto.ProductionPrintOrderDto;
import com.ruoyi.production.dto.SaveProductionPrintOrderDto;
import com.ruoyi.production.mapper.ProductOrderMapper;
import com.ruoyi.production.mapper.ProductionPrintOrderMapper;
@@ -34,6 +37,8 @@
private final ProductOrderMapper productOrderMapper;
private final ProcessRouteServiceImpl processRouteService;
+
+ private final CustomerFollowUpFileService customerFollowUpFileService;
@Override
@Transactional
public void save(SaveProductionPrintOrderDto dto) {
@@ -50,7 +55,7 @@
List<ProcessRouteAnticlockwiseDto> processRouteAnticlockwiseDtos = processContentDtoList.stream().map(it -> {
ProcessRouteAnticlockwiseDto pdto = new ProcessRouteAnticlockwiseDto();
pdto.setProcessId(it.getProcessId());
- pdto.setProcessRouteName(it.getProcessContent());
+ pdto.setProcessRouteName(it.getProcessName());
pdto.setProcessRouteOpenNum(it.getOpenCount());
pdto.setProcessRouteNum(it.getProcessPositive());
pdto.setProcessRouteAddNum(it.getProcessPositive());
@@ -58,18 +63,34 @@
pdto.setProductModelId(dto.getProductModelId());
pdto.setUserIds(it.getReportWorkerList().stream().map(SimplePersonDto::getUserName).collect(Collectors.joining(",")));
pdto.setDeviceId(it.getDeviceId());
+ pdto.setUuid(it.getId());
return pdto;
}).collect(Collectors.toList());
processRouteService.processRouteAnticlockwise(processRouteAnticlockwiseDtos,dto.getProductModelId(),dto.getProductOrderId());
// 鐢熸垚澶囨敞 澶囨敞鐢卞叏閮ㄥ伐搴忓悕绉版潵 缁勬垚
- String remark = processContentDtoList.stream().map(ProcessContentDto::getProcessContent).collect(Collectors.joining("銆�"));
+ String remark = processContentDtoList.stream().map(ProcessContentDto::getProcessName).collect(Collectors.joining("銆�"));
ProductOrder productOrder = new ProductOrder();
productOrder.setId(dto.getProductOrderId());
productOrder.setRemark(remark);
productOrderMapper.updateById(productOrder);
int i = dto.getId() == null ? productionPrintOrderMapper.insert(productionPrintOrder) : productionPrintOrderMapper.updateById(productionPrintOrder);
}
+
+ @Override
+ public ProductionPrintOrderDto getByProductWordId(Long id) {
+ LambdaQueryWrapper<ProductionPrintOrder> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(ProductionPrintOrder::getProductOrderId, id);
+ queryWrapper.orderByDesc(ProductionPrintOrder::getCreateTime);
+ queryWrapper.last("limit 1");
+ ProductionPrintOrder productionPrintOrder = productionPrintOrderMapper.selectOne(queryWrapper);
+ ProductionPrintOrderDto productionPrintOrderDto = BeanUtil.copyProperties(productionPrintOrder, ProductionPrintOrderDto.class);
+
+ // 鑾峰彇闄勪欢淇℃伅
+ productionPrintOrderDto.setCuttingFileVo(customerFollowUpFileService.getSimpleFileVoById(productionPrintOrderDto.getCuttingFileId()));
+
+ return productionPrintOrderDto;
+ }
}
--
Gitblit v1.9.3