From e73e0a6944e8f23193ff84a7242e41d2dc09a55b Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 15 一月 2026 09:56:16 +0800
Subject: [PATCH] 生产模块的工序调整
---
src/main/java/com/ruoyi/production/controller/ProductProcessController.java | 19 +++++++++
src/main/resources/mapper/production/ProductProcessMapper.xml | 6 --
src/main/java/com/ruoyi/production/pojo/ProductStructure.java | 5 ++
src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java | 25 ++++++++++++
src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java | 2 +
src/main/java/com/ruoyi/production/pojo/ProductProcess.java | 15 +++++++
src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java | 9 ----
src/main/java/com/ruoyi/basic/pojo/ProductModel.java | 3 -
src/main/java/com/ruoyi/production/controller/ProductStructureController.java | 9 +++-
src/main/java/com/ruoyi/production/service/ProductProcessService.java | 3 +
10 files changed, 76 insertions(+), 20 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/pojo/ProductModel.java b/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
index d5e0aac..3e4fef7 100644
--- a/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
+++ b/src/main/java/com/ruoyi/basic/pojo/ProductModel.java
@@ -29,9 +29,6 @@
@Excel(name = "浜у搧鍚嶇О")
private String productName;
- @Excel(name = "浜у搧缂栫爜")
- private String productCode;
-
/**
* 瑙勬牸鍨嬪彿
*/
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
index bc3840f..cf9ef84 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ProductModelServiceImpl.java
@@ -48,14 +48,7 @@
if (productModelDto.getId() == null) {
ProductModel productModel = new ProductModel();
BeanUtils.copyProperties(productModelDto,productModel);
- productModelMapper.insert(productModel);
-
- String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
- String idStr = String.format("%06d", productModel.getId()); // 鍏綅琛�0
- String newProductCode = "BM" + dateStr + idStr;
- // 鏇存柊鏁版嵁搴撲腑鐨刾roductCode
- productModel.setProductCode(newProductCode);
- return productModelMapper.updateById(productModel);
+ return productModelMapper.insert(productModel);
} else {
return productModelMapper.updateById(productModelDto);
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
index 77920b2..cff0c60 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductProcessController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.pojo.DeviceRepair;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
@@ -18,7 +19,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
@RestController
@@ -66,5 +69,21 @@
@GetMapping("/list")
public AjaxResult list() {
return AjaxResult.success(productProcessService.list());
+ }
+
+ /**
+ * 瀵煎叆宸ュ簭
+ */
+ @Log(title = "宸ュ簭", businessType = BusinessType.IMPORT)
+ @PostMapping("/importData")
+ public AjaxResult importData(MultipartFile file) throws Exception {
+ return productProcessService.importData(file);
+ }
+
+ @PostMapping("/downloadTemplate")
+ @Log(title = "宸ュ簭-涓嬭浇妯℃澘", businessType = BusinessType.EXPORT)
+ public void downloadTemplate(HttpServletResponse response) {
+ ExcelUtil<ProductProcess> util = new ExcelUtil<ProductProcess>(ProductProcess.class);
+ util.importTemplateExcel(response, "宸ュ簭妯℃澘");
}
}
diff --git a/src/main/java/com/ruoyi/production/controller/ProductStructureController.java b/src/main/java/com/ruoyi/production/controller/ProductStructureController.java
index 26594f6..3e2fee4 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductStructureController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductStructureController.java
@@ -1,7 +1,12 @@
package com.ruoyi.production.controller;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.production.dto.ProductProcessDto;
import com.ruoyi.production.dto.ProductStructureDto;
import com.ruoyi.production.pojo.ProductStructure;
import com.ruoyi.production.service.ProductStructureService;
@@ -15,7 +20,7 @@
@RequestMapping("productStructure")
@RestController
-@Api(tags = "浜у搧缁撴瀯")
+@Api(tags = "BOM")
public class ProductStructureController {
@Autowired
private ProductStructureService productStructureService;
@@ -27,7 +32,7 @@
return R.ok(productStructureService.listByproductModelId( productModelId));
}
- @ApiOperation("鏂板浜у搧缁撴瀯")
+ @ApiOperation("鏂板BOM")
@PostMapping()
public R addOrUpdate(@RequestBody ProductStructureDto productStructureDto){
return R.ok(productStructureService.addProductStructureDto(productStructureDto));
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
index 9bf001c..f21c308 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
@@ -5,8 +5,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.production.dto.ProductProcessDto;
import com.ruoyi.production.pojo.ProductProcess;
+import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+@Mapper
public interface ProductProcessMapper extends BaseMapper<ProductProcess> {
IPage<ProductProcessDto> listPage(Page page,@Param("productProcessDto") ProductProcessDto productProcessDto);
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductProcess.java b/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
index 21ca82a..af7b343 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
@@ -1,7 +1,11 @@
package com.ruoyi.production.pojo;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -9,6 +13,7 @@
@TableName("product_process")
@Data
+@ExcelIgnoreUnannotated
public class ProductProcess implements Serializable {
private static final long serialVersionUID = 1L;
@@ -19,34 +24,42 @@
/**
* 宸ュ簭鍚嶇О
*/
+ @Excel(name = "宸ュ簭鍚嶇О")
private String name;
/**
* 宸ュ簭缂栧彿
*/
+ @Excel(name = "宸ュ簭缂栧彿")
private String no;
/**
* 澶囨敞
*/
+ @Excel(name = "澶囨敞")
private String remark;
/**
* 宸ヨ祫瀹氶
*/
+ @Excel(name = "宸ヨ祫瀹氶")
private BigDecimal salaryQuota;
/**
* 鍒涘缓鏃堕棿
*/
@TableField(fill = FieldFill.INSERT)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
/**
* 淇敼鏃堕棿
*/
- @TableField(fill = FieldFill.UPDATE)
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
/**
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductStructure.java b/src/main/java/com/ruoyi/production/pojo/ProductStructure.java
index 8a53b2e..4b0231b 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductStructure.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductStructure.java
@@ -55,5 +55,10 @@
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
+ /**
+ * 鍏宠仈BOMid
+ */
+ private Long bomId;
+
}
diff --git a/src/main/java/com/ruoyi/production/service/ProductProcessService.java b/src/main/java/com/ruoyi/production/service/ProductProcessService.java
index 42ec232..a5ab6c3 100644
--- a/src/main/java/com/ruoyi/production/service/ProductProcessService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductProcessService.java
@@ -8,6 +8,7 @@
import com.ruoyi.production.dto.*;
import com.ruoyi.production.pojo.ProductProcess;
import com.ruoyi.production.pojo.SalesLedgerScheduling;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -20,4 +21,6 @@
IPage<ProductProcessDto> listPage(Page page, ProductProcessDto productProcessDto);
AjaxResult add(ProductProcessDto productProcessDto);
+
+ AjaxResult importData(MultipartFile file);
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
index e44ae02..6a8cf73 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductProcessServiceImpl.java
@@ -1,8 +1,11 @@
package com.ruoyi.production.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.pojo.Customer;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.ProductProcessDto;
import com.ruoyi.production.mapper.ProductProcessMapper;
@@ -11,6 +14,10 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
@Service
public class ProductProcessServiceImpl extends ServiceImpl<ProductProcessMapper, ProductProcess> implements ProductProcessService {
@@ -27,7 +34,7 @@
ProductProcess productProcess = new ProductProcess();
BeanUtils.copyProperties(productProcessDto,productProcess);
boolean save = productProcessMapper.insert(productProcess) > 0;
- if (save) {
+ if (save && ObjectUtils.isNotNull(productProcessDto.getNo())) {
// 鏍规嵁id鐢熸垚no瀛楁锛欸X + 8浣嶆暟瀛楋紙涓嶈冻8浣嶅墠闈㈣ˉ0锛�
String no = "GX" + String.format("%08d", productProcess.getId());
productProcess.setNo(no);
@@ -37,4 +44,20 @@
}
return AjaxResult.error();
}
+
+ @Override
+ public AjaxResult importData(MultipartFile file) {
+ try {
+ ExcelUtil<ProductProcess> util = new ExcelUtil<ProductProcess>(ProductProcess.class);
+ List<ProductProcess> productProcessList = util.importExcel(file.getInputStream());
+ if(CollectionUtils.isEmpty(productProcessList)){
+ return AjaxResult.warn("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
+ }
+ this.saveOrUpdateBatch(productProcessList);
+ return AjaxResult.success(true);
+ }catch (Exception e){
+ e.printStackTrace();
+ return AjaxResult.error("瀵煎叆澶辫触");
+ }
+ }
}
diff --git a/src/main/resources/mapper/production/ProductProcessMapper.xml b/src/main/resources/mapper/production/ProductProcessMapper.xml
index 37822b7..a2292e2 100644
--- a/src/main/resources/mapper/production/ProductProcessMapper.xml
+++ b/src/main/resources/mapper/production/ProductProcessMapper.xml
@@ -4,11 +4,7 @@
<select id="listPage" resultType="com.ruoyi.production.dto.ProductProcessDto">
SELECT
- p.id,
- p.name,
- p.no,
- p.remark,
- p.salary_quota
+ *
FROM
product_process p
<where>
--
Gitblit v1.9.3