From d34aa4f61a58b1833eaeda5e3abbb553578c6bcc Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 18 三月 2025 09:19:27 +0800
Subject: [PATCH] 车间管理模块,产品车间绑定
---
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java | 8 +
inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java | 6 +
basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java | 2
inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShopFile.java | 47 +++++++
inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShop.java | 32 +++++
inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopMapper.java | 12 ++
inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java | 60 ++++++++++
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopServiceImpl.java | 115 +++++++++++++++++++
basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java | 6 +
basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java | 12 ++
inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopService.java | 23 +++
inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopFileMapper.java | 12 ++
inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopFileService.java | 12 ++
13 files changed, 347 insertions(+), 0 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
index e927343..f46439b 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
@@ -390,4 +390,10 @@
}
return Result.success();
}
+
+ @ApiOperation(value = "鏇存柊杞﹂棿")
+ @PostMapping("/updateWorkShop")
+ public Result updateWorkShop(Integer productId,Integer workShopId,String name) {
+ return Result.success(productService.updateWorkShop(productId,workShopId,name));
+ }
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java b/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java
index 0847231..890de17 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/pojo/Product.java
@@ -54,4 +54,16 @@
* 澶栭敭锛歴tructure_test_object琛╥d
*/
private Integer objectId;
+
+ /**
+ * 澶栭敭锛歸ork_shop琛╥d
+ */
+ @ApiModelProperty(value = "杞﹂棿id")
+ private Integer workShopId;
+ /**
+ * 杞﹂棿鍚�
+ */
+ @ApiModelProperty(value = "杞﹂棿鍚嶇О")
+ private String workShopName;
+
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java b/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
index 6fdc7c2..ce6219d 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
@@ -25,4 +25,6 @@
int delProduct(Integer id);
void importPartExcel(List<StructureTestObjectData> list);
+
+ int updateWorkShop(Integer productId, Integer workShopId, String name);
}
diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
index d1786cb..ba585df 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -185,4 +185,12 @@
}
});
}
+
+ @Override
+ public int updateWorkShop(Integer productId, Integer workShopId,String name) {
+ return productMapper.update(null, Wrappers.<Product>lambdaUpdate()
+ .set(Product::getWorkShopId, workShopId)
+ .set(Product::getWorkShopName, name)
+ .eq(Product::getId, productId));
+ }
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java
new file mode 100644
index 0000000..8165801
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java
@@ -0,0 +1,60 @@
+package com.ruoyi.inspect.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.inspect.dto.WorkShopDto;
+import com.ruoyi.inspect.service.WorkShopFileService;
+import com.ruoyi.inspect.service.WorkShopService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/workShop")
+@Api(tags = "杞﹂棿")
+public class WorkShopController {
+
+ private WorkShopService workShopService;
+ private WorkShopFileService workShopFileService;
+
+
+
+ @ApiOperation(value = "鏌ヨ杞﹂棿鍚嶇О")
+ @GetMapping("/selectWorkShop")
+ public Result selectInsOrderParameter(Page page, WorkShopDto workShopDto) {
+ return Result.success(workShopService.selectWorkShop(page, workShopDto));
+ }
+
+ @ApiOperation(value = "娣诲姞杞﹂棿鍚嶇О鏁版嵁")
+ @PostMapping("/addOrUpdateWorkShop")
+ public Result<?> addWorkShop(@RequestBody WorkShopDto workShopDto) {
+ return Result.success(workShopService.addWorkShop(workShopDto));
+ }
+
+ @ApiOperation(value = "鍒犻櫎妫�楠屽崟妯℃澘")
+ @DeleteMapping("/delWorkShop")
+ public Result<?> delWorkShop(Integer id) {
+ return Result.success(workShopService.delWorkShop(id));
+ }
+
+ @ApiOperation(value = "杞﹂棿鏂囦欢涓婁紶")
+ @PostMapping("/uploadFile")
+ public Result uploadFile(Integer id, MultipartFile file) {
+ return Result.success(workShopService.uploadFile(id,file));
+ }
+
+ @ApiOperation(value = "鏌ヨ杞﹂棿鏂囦欢")
+ @GetMapping("/fileList")
+ public Result fileList() {
+ return Result.success(workShopFileService.list());
+ }
+
+ @ApiOperation(value = "鍒犻櫎闄勪欢")
+ @DeleteMapping("/delFile")
+ public Result<?> delFile(Integer id) {
+ return Result.success(workShopFileService.removeById(id));
+ }
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java b/inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java
new file mode 100644
index 0000000..91aaea4
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java
@@ -0,0 +1,6 @@
+package com.ruoyi.inspect.dto;
+
+import com.ruoyi.inspect.pojo.WorkShop;
+
+public class WorkShopDto extends WorkShop {
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopFileMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopFileMapper.java
new file mode 100644
index 0000000..1ed85b9
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopFileMapper.java
@@ -0,0 +1,12 @@
+package com.ruoyi.inspect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.pojo.WorkShopFile;
+
+/**
+ * 妫�楠屽崟涓嬬殑闄勪欢鍒楄〃 Mapper 鎺ュ彛
+ * @since 2025-03-17
+ */
+public interface WorkShopFileMapper extends BaseMapper<WorkShopFile> {
+
+ }
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopMapper.java
new file mode 100644
index 0000000..c89e4ad
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopMapper.java
@@ -0,0 +1,12 @@
+package com.ruoyi.inspect.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.inspect.pojo.WorkShop;
+
+/**
+ * @description 閽堝琛ㄣ�恮ork_shop(杞﹂棿鍚嶇О)銆戠殑鏁版嵁搴撴搷浣淢apper
+ * @createDate 2024-03-12 16:17:55
+ * @Entity com.yuanchu.mom.pojo.InsOrder
+ */
+public interface WorkShopMapper extends BaseMapper<WorkShop> {
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShop.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShop.java
new file mode 100644
index 0000000..9d8f950
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShop.java
@@ -0,0 +1,32 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 杞﹂棿鍚嶇О
+ * @TableName work_shop
+ */
+@Data
+@TableName("work_shop")
+public class WorkShop implements Serializable {
+
+ /**
+ * 涓婚敭id
+ */
+ @ApiModelProperty(value = "涓婚敭id")
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 缂栧彿
+ */
+ @ApiModelProperty(value = "杞﹂棿鍚嶇О")
+ private String name;
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShopFile.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShopFile.java
new file mode 100644
index 0000000..3d4e4be
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShopFile.java
@@ -0,0 +1,47 @@
+package com.ruoyi.inspect.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.time.LocalDateTime;
+
+@Getter
+@Setter
+@TableName("work_shop_file")
+@ApiModel(value = "WorkShopFile瀵硅薄", description = "杞﹂棿鍚嶇О鐨勯檮浠跺垪琛�")
+public class WorkShopFile {
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("鍏宠仈 妫�楠屽崟澶栭敭id")
+ private Integer workShopId;
+
+ @ApiModelProperty("绫诲瀷")
+ private Integer type;
+
+ @ApiModelProperty("闄勪欢璺緞")
+ private String fileUrl;
+
+ @ApiModelProperty("闄勪欢鍚嶇О")
+ private String fileName;
+
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty("涓婁紶浜�")
+ @TableField(exist = false, select = false)
+ private String name;
+
+ @TableField(fill = FieldFill.INSERT)
+ @ApiModelProperty("涓婁紶鏃堕棿")
+ private LocalDateTime createTime;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopFileService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopFileService.java
new file mode 100644
index 0000000..322dab6
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopFileService.java
@@ -0,0 +1,12 @@
+package com.ruoyi.inspect.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.inspect.pojo.WorkShop;
+
+/**
+ * @description 閽堝琛ㄣ�恮ork_shop(杞﹂棿鍚嶇О)銆戠殑鏁版嵁搴撴搷浣淪ervice
+ * @createDate 2024-03-17
+ */
+public interface WorkShopFileService extends IService<WorkShop> {
+
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopService.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopService.java
new file mode 100644
index 0000000..aeef588
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopService.java
@@ -0,0 +1,23 @@
+package com.ruoyi.inspect.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.inspect.dto.WorkShopDto;
+import com.ruoyi.inspect.pojo.WorkShop;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * @description 閽堝琛ㄣ�恮ork_shop(杞﹂棿鍚嶇О)銆戠殑鏁版嵁搴撴搷浣淪ervice
+ * @createDate 2024-03-17
+ */
+public interface WorkShopService extends IService<WorkShop> {
+
+ IPage<WorkShopDto> selectWorkShop(Page page, WorkShopDto workShopDto);
+
+ int addWorkShop(WorkShopDto workShopDto);
+
+ int delWorkShop(Integer id);
+
+ int uploadFile(Integer id, MultipartFile file);
+}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopServiceImpl.java
new file mode 100644
index 0000000..bf21c2e
--- /dev/null
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopServiceImpl.java
@@ -0,0 +1,115 @@
+package com.ruoyi.inspect.service.impl;
+
+import cn.hutool.core.lang.UUID;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.inspect.dto.WorkShopDto;
+import com.ruoyi.inspect.mapper.*;
+import com.ruoyi.inspect.pojo.*;
+import com.ruoyi.inspect.service.*;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @description 閽堝琛ㄣ�恮ork_shop(杞﹂棿鍚嶇О)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+ * @createDate 2024-03-12 16:17:55
+ */
+@Service
+public class WorkShopServiceImpl extends ServiceImpl<WorkShopMapper, WorkShop> implements WorkShopService {
+
+ @Resource
+ private WorkShopMapper workShopMapper;
+ @Resource
+ private WorkShopFileMapper workShopFileMapper;
+
+ @Value("${wordUrl}")
+ private String wordUrl;
+
+ @Value("${file.path}")
+ private String imgUrl;
+
+
+ @Override
+ public IPage<WorkShopDto> selectWorkShop(Page page, WorkShopDto workShopDto) {
+ return workShopMapper.selectPage(page, QueryWrappers.queryWrappers(workShopDto));
+ }
+
+ @Override
+ public int addWorkShop(WorkShopDto workShopDto) {
+ if (workShopDto.getId() == null) {
+ return workShopMapper.insert(workShopDto);
+ } else {
+ return workShopMapper.updateById(workShopDto);
+ }
+ }
+
+ @Override
+ public int delWorkShop(Integer id) {
+ return workShopMapper.deleteById(id);
+ }
+
+ @Override
+ public int uploadFile(Integer id, MultipartFile file) {
+ String username = SecurityUtils.getUsername();
+ String urlString;
+ String pathName;
+ String path;
+ String filename = file.getOriginalFilename();
+ String contentType = file.getContentType();
+ WorkShopFile workShopFile = new WorkShopFile();
+ workShopFile.setWorkShopId(id);
+ workShopFile.setFileName(filename);
+ if (contentType != null && contentType.startsWith("image/")) {
+ // 鏄浘鐗�
+ path = imgUrl;
+ workShopFile.setType(1);
+ } else {
+ // 鏄枃浠�
+ path = wordUrl;
+ workShopFile.setType(2);
+ }
+ try {
+ // 1. 瑙f瀽缁濆璺緞锛堜紭鍏堜娇鐢ㄩ厤缃殑缁濆璺緞锛屽惁鍒欏熀浜庨」鐩牴鐩綍锛�
+ String basePath = imgUrl.startsWith(File.separator) ? imgUrl : System.getProperty("user.dir") + File.separator + imgUrl;
+ File realpath = new File(basePath);
+
+ // 2. 鍒涘缓鐩綍锛堣褰曟棩蹇楋紝妫�鏌ユ槸鍚︽垚鍔燂級
+ if (!realpath.exists()) {
+ if (!realpath.mkdirs()) {
+ System.err.println("鐩綍鍒涘缓澶辫触锛歿}");
+ return 0;
+ }
+ }
+
+ // 3. 鐢熸垚鍞竴鏂囦欢鍚�
+ String uuid = UUID.randomUUID().toString().replace("-", "");
+ String suffix = filename.substring(filename.lastIndexOf("."));
+ pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + "_" + uuid + suffix;
+ File targetFile = new File(realpath, pathName);
+
+ // 4. 淇濆瓨鏂囦欢
+ file.transferTo(targetFile);
+ workShopFile.setFileUrl(pathName);
+ workShopFile.setName(username);
+ return workShopFileMapper.insert(workShopFile);
+ } catch (Exception e) {
+ e.printStackTrace();
+ System.err.println("闄勪欢涓婁紶閿欒");
+ return 0;
+ }
+ }
+
+}
+
+
+
+
--
Gitblit v1.9.3