From 1be8074de2176459ccea92115e4adb0704769104 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 16 三月 2026 16:43:40 +0800
Subject: [PATCH] 质量管理:提交原料后,不合格的生成不合格记录;合格则生成审批记录
---
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 2
src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java | 5 +
src/main/java/com/ruoyi/quality/controller/RawMaterialController.java | 5 -
src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java | 7 +
src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java | 82 +++++++++++++++++++-
src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java | 4 +
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java | 69 ++++++++--------
src/main/java/com/ruoyi/quality/pojo/RawMaterial.java | 7 -
src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java | 10 ++
src/main/java/com/ruoyi/quality/service/RawMaterialService.java | 2
doc/20260313_坤泰化工.sql | 5
11 files changed, 146 insertions(+), 52 deletions(-)
diff --git "a/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql" "b/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql"
index 275e581..031af7d 100644
--- "a/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql"
+++ "b/doc/20260313_\345\235\244\346\263\260\345\214\226\345\267\245.sql"
@@ -25,5 +25,6 @@
update_time datetime null comment '鏇存柊鏃堕棿',
unique idx_raw_material_id_quality_inspect_item_id (raw_material_id, quality_inspect_item_id)
);
-alter table raw_material
- add quantity decimal(18, 2) null;
\ No newline at end of file
+
+alter table approve_process
+ add approve_record_id bigint not null default 0;
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
index 7554ff4..ea2efaa 100644
--- a/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
+++ b/src/main/java/com/ruoyi/approve/controller/ApproveProcessController.java
@@ -192,4 +192,14 @@
ExcelUtil<ApproveProcess> util = new ExcelUtil<ApproveProcess>(ApproveProcess.class);
util.exportExcel(response, accountExpenses, "鍗遍櫓浣滀笟瀹℃壒瀵煎嚭");
}
+
+ @ApiOperation(value = "鍘熸枡瀹℃壒瀵煎嚭")
+ @PostMapping("/exportNine")
+ public void exportNine(HttpServletResponse response) {
+ List<ApproveProcess> accountExpenses = approveProcessService.list(new LambdaQueryWrapper<ApproveProcess>()
+ .eq(ApproveProcess::getApproveDelete, 0)
+ .eq(ApproveProcess::getApproveType, 9));
+ ExcelUtil<ApproveProcess> util = new ExcelUtil<ApproveProcess>(ApproveProcess.class);
+ util.exportExcel(response, accountExpenses, "鍘熸枡瀹℃壒瀵煎嚭");
+ }
}
diff --git a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
index 808199f..902d0a2 100644
--- a/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
+++ b/src/main/java/com/ruoyi/approve/pojo/ApproveProcess.java
@@ -127,10 +127,15 @@
private Long tenantId;
/**
- * 瀹℃壒绫诲瀷 1-鍏嚭绠$悊 2-璇峰亣绠$悊 3-鍑哄樊绠$悊 4-鎶ラ攢绠$悊 5-閲囪喘瀹℃壒 6-鎶ヤ环瀹℃壒 7-鍙戣揣瀹℃壒 8-鍗遍櫓浣滀笟瀹℃壒
+ * 瀹℃壒绫诲瀷 1-鍏嚭绠$悊 2-璇峰亣绠$悊 3-鍑哄樊绠$悊 4-鎶ラ攢绠$悊 5-閲囪喘瀹℃壒 6-鎶ヤ环瀹℃壒 7-鍙戣揣瀹℃壒 8-鍗遍櫓浣滀笟瀹℃壒 9-鍘熸枡瀹℃壒
*/
private Integer approveType;
+ /**
+ * 瀹℃壒鍏宠仈璁板綍id
+ */
+ private Long approveRecordId;
+
@TableField(exist = false)
private String approveTypeName;
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 47c7264..c048e98 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -325,6 +325,8 @@
return "鍙戣揣瀹℃壒";
case 8:
return "鍗遍櫓浣滀笟瀹℃壒";
+ case 9:
+ return "鍘熸枡瀹℃壒";
}
return null;
}
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
index a624661..2be01f0 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveProcessServiceImpl.java
@@ -115,6 +115,9 @@
approveProcess.setApproveStatus(0);
approveProcess.setApproveDelete(0);
approveProcess.setApproveType(approveProcessVO.getApproveType());
+ if (approveProcessVO.getApproveRecordId() != null) {
+ approveProcess.setApproveRecordId(approveProcessVO.getApproveRecordId());
+ }
approveProcess.setCreateTime(LocalDateTime.now());
approveProcess.setTenantId(approveProcessVO.getApproveDeptId());
approveProcess.setApproveUserIds(approveProcessVO.getApproveUserIds());
@@ -441,6 +444,8 @@
return "鍙戣揣瀹℃壒";
case 8:
return "鍗遍櫓浣滀笟瀹℃壒";
+ case 9:
+ return "鍘熸枡瀹℃壒";
}
return null;
}
diff --git a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java b/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
index bf8edae..7a958c8 100644
--- a/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
+++ b/src/main/java/com/ruoyi/approve/vo/ApproveProcessVO.java
@@ -67,6 +67,10 @@
* 瀹℃壒绫诲瀷
*/
private Integer approveType;
+ /**
+ * 瀹℃壒鍏宠仈璁板綍id
+ */
+ private Long approveRecordId;
/**
* 璁惧鎶ヤ慨id
*/
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 31d9632..d811177 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -171,41 +171,40 @@
/*鏂板璐ㄦ*/
List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
if (productProcessRouteItem.getIsQuality()) {
- //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
- int inspectType = 1;
- String process = productProcess.getName();//宸ュ簭
- if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
- //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
- inspectType = 2;
- process = null;
- }
- Product product = productMapper.selectById(productModel.getProductId());
- QualityInspect qualityInspect = new QualityInspect();
- qualityInspect.setProductId(product.getId());
- qualityInspect.setProductName(product.getProductName());
- qualityInspect.setModel(productModel.getModel());
- qualityInspect.setUnit(productModel.getUnit());
- qualityInspect.setQuantity(productQty);
- qualityInspect.setProcess(process);
- qualityInspect.setInspectState(0);
- qualityInspect.setInspectType(inspectType);
- qualityInspect.setProductMainId(productionProductMain.getId());
- qualityInspect.setProductModelId(productModel.getId());
- qualityInspectMapper.insert(qualityInspect);
- List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
- if (qualityTestStandard.size() > 0) {
- qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
- qualityInspectMapper.updateById(qualityInspect);
- qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
- .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
- .forEach(qualityTestStandardParam -> {
- QualityInspectParam param = new QualityInspectParam();
- BeanUtils.copyProperties(qualityTestStandardParam, param);
- param.setId(null);
- param.setInspectId(qualityInspect.getId());
- qualityInspectParamMapper.insert(param);
- });
- }
+// int inspectType = 1;
+// String process = productProcess.getName();//宸ュ簭
+// if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
+// //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
+// inspectType = 2;
+// process = null;
+// }
+// Product product = productMapper.selectById(productModel.getProductId());
+// QualityInspect qualityInspect = new QualityInspect();
+// qualityInspect.setProductId(product.getId());
+// qualityInspect.setProductName(product.getProductName());
+// qualityInspect.setModel(productModel.getModel());
+// qualityInspect.setUnit(productModel.getUnit());
+// qualityInspect.setQuantity(productQty);
+// qualityInspect.setProcess(process);
+// qualityInspect.setInspectState(0);
+// qualityInspect.setInspectType(inspectType);
+// qualityInspect.setProductMainId(productionProductMain.getId());
+// qualityInspect.setProductModelId(productModel.getId());
+// qualityInspectMapper.insert(qualityInspect);
+// List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType, process);
+// if (qualityTestStandard.size() > 0) {
+// qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+// qualityInspectMapper.updateById(qualityInspect);
+// qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
+// .eq(QualityTestStandardParam::getTestStandardId, qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
+// .forEach(qualityTestStandardParam -> {
+// QualityInspectParam param = new QualityInspectParam();
+// BeanUtils.copyProperties(qualityTestStandardParam, param);
+// param.setId(null);
+// param.setInspectId(qualityInspect.getId());
+// qualityInspectParamMapper.insert(param);
+// });
+// }
}else {
//鐩存帴鍏ュ簱
stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId());
diff --git a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
index 92f13f1..5937ffb 100644
--- a/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
+++ b/src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
@@ -59,10 +59,7 @@
*/
@PatchMapping("/submit/{id}")
public AjaxResult submit(@PathVariable Long id) {
- RawMaterial rawMaterial = new RawMaterial();
- rawMaterial.setId(id);
- rawMaterial.setInspectState(RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode());
- return AjaxResult.success(rawMaterialService.updateById(rawMaterial));
+ return AjaxResult.success(rawMaterialService.submit(id));
}
/**
diff --git a/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java b/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
index 098ca2a..df0c2d2 100644
--- a/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
+++ b/src/main/java/com/ruoyi/quality/pojo/RawMaterial.java
@@ -6,6 +6,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -44,10 +45,6 @@
@Excel(name = "鎵规鍙�")
private String batchNo;
- @ApiModelProperty("鏁伴噺")
- @Excel(name = "鏁伴噺")
- private BigDecimal quantity;
-
@ApiModelProperty("妫�楠岀粨鏋� 0鍚堟牸 1涓嶅悎鏍�")
@Excel(name = "妫�楠岀粨鏋�", readConverterExp = "0=鍚堟牸,1=涓嶅悎鏍�")
private Integer checkResult;
@@ -63,7 +60,7 @@
@ApiModelProperty("妫�楠屾棩鏈�")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "妫�娴嬫棩鏈�", width = 30, dateFormat = "yyyy-MM-dd")
- private LocalDate checkTime;
+ private Date checkTime;
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
@TableField(fill = FieldFill.INSERT)
diff --git a/src/main/java/com/ruoyi/quality/service/RawMaterialService.java b/src/main/java/com/ruoyi/quality/service/RawMaterialService.java
index d032c3c..2b0ce8b 100644
--- a/src/main/java/com/ruoyi/quality/service/RawMaterialService.java
+++ b/src/main/java/com/ruoyi/quality/service/RawMaterialService.java
@@ -21,6 +21,8 @@
RawMaterialDto detail(Long id);
+ boolean submit(Long id);
+
boolean add(RawMaterialDto rawMaterialDto);
boolean update(RawMaterialDto rawMaterialDto);
diff --git a/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
index 035648f..d3ce5cd 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
@@ -2,10 +2,13 @@
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.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
+import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl;
+import com.ruoyi.approve.vo.ApproveProcessVO;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.Product;
@@ -14,21 +17,22 @@
import com.ruoyi.common.enums.RawMaterialCheckType;
import com.ruoyi.common.enums.RawMaterialInspectState;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
+import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.inspectiontask.mapper.QualityInspectItemMapper;
import com.ruoyi.inspectiontask.pojo.QualityInspectItem;
import com.ruoyi.quality.dto.RawMaterialDto;
import com.ruoyi.quality.dto.RawMaterialQualityInspectItemDto;
+import com.ruoyi.quality.mapper.QualityUnqualifiedMapper;
import com.ruoyi.quality.mapper.RawMaterialMapper;
-import com.ruoyi.quality.pojo.QualityInspect;
-import com.ruoyi.quality.pojo.QualityInspectParam;
-import com.ruoyi.quality.pojo.RawMaterial;
-import com.ruoyi.quality.pojo.RawMaterialQualityInspectItem;
+import com.ruoyi.quality.pojo.*;
import com.ruoyi.quality.service.RawMaterialQualityInspectItemService;
import com.ruoyi.quality.service.RawMaterialService;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -36,13 +40,14 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
+import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
@@ -60,6 +65,11 @@
private ProductModelMapper productModelMapper;
private ProductMapper productMapper;
+
+ private QualityUnqualifiedMapper qualityUnqualifiedMapper;
+
+ @Autowired
+ private ApproveProcessServiceImpl approveProcessService;
@Override
public IPage<RawMaterialDto> listPage(Page page, RawMaterialDto rawMaterialDto) {
@@ -93,6 +103,9 @@
public RawMaterialDto detail(Long id) {
RawMaterial rawMaterial = rawMaterialMapper.selectById(id);
RawMaterialDto rawMaterialDto = new RawMaterialDto();
+ if (rawMaterial == null) {
+ return rawMaterialDto;
+ }
BeanUtils.copyBeanProp(rawMaterialDto, rawMaterial);
// 鑾峰彇妫�娴嬮」鍏宠仈鍏崇郴
List<RawMaterialQualityInspectItem> rawQualityList = rawMaterialQualityInspectItemService.list(new LambdaQueryWrapper<RawMaterialQualityInspectItem>()
@@ -113,13 +126,72 @@
// 鏌ヨ浜у搧id
ProductModel productModel = productModelMapper.selectById(rawMaterialDto.getProductModelId());
+ Product product = productMapper.selectById(productModel.getProductId());
rawMaterialDto.setProductId(productModel.getProductId());
+ rawMaterialDto.setProductName(product.getProductName());
+ rawMaterialDto.setModel(productModel.getModel());
rawMaterialDto.setUnit(productModel.getUnit());
+ rawMaterialDto.setCheckResultText(RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()) == null ? "" : RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()).getValue());
+ rawMaterialDto.setCheckTypeText(RawMaterialCheckType.fromValue(rawMaterial.getCheckType()) == null ? "" : RawMaterialCheckType.fromValue(rawMaterial.getCheckType()).getValue());
return rawMaterialDto;
}
@Override
@Transactional(rollbackFor = Exception.class)
+ public boolean submit(Long id) {
+ RawMaterial rawMaterial = rawMaterialMapper.selectById(id);
+ if (rawMaterial.getCheckResult() == null) {
+ throw new RuntimeException("璇峰厛鍒ゆ柇鏄惁鍚堟牸");
+ }
+
+ // 涓嶅悎鏍硷細鐢熸垚涓嶅悎鏍艰褰�
+ if (rawMaterial.getCheckResult().equals(RawMaterialCheckResult.RawMaterialCheckResultUnqualified.getCode())) {
+ QualityUnqualified qualityUnqualified = new QualityUnqualified();
+ qualityUnqualified.setInspectId(rawMaterial.getId());//妫�楠宨d
+ qualityUnqualified.setInspectType(rawMaterial.getCheckType());//妫�楠岀被鍨�
+ qualityUnqualified.setInspectState(0);//寰呭鐞�
+ qualityUnqualified.setCheckName(rawMaterial.getCheckUserName());//妫�楠屽憳鍚嶇О
+ qualityUnqualified.setCheckTime(rawMaterial.getCheckTime());//妫�楠屾棩鏈�
+ ProductModel productModel = productModelMapper.selectById(rawMaterial.getProductModelId());
+ Product product = productMapper.selectById(productModel.getProductId());
+ qualityUnqualified.setProductId(productModel.getProductId());//浜у搧id
+ qualityUnqualified.setProductName(product.getProductName());//浜у搧鍚嶇О
+ qualityUnqualified.setModel(productModel.getModel());//瑙勬牸鍨嬪彿
+ qualityUnqualified.setUnit(productModel.getUnit());//鍗曚綅
+ List<RawMaterialQualityInspectItem> inspectParams = rawMaterialQualityInspectItemService.list(Wrappers.<RawMaterialQualityInspectItem>lambdaQuery().eq(RawMaterialQualityInspectItem::getRawMaterialId, rawMaterial.getId()));
+ // 鑾峰彇鍏宠仈鐨凲ualityInspectItem椤圭洰鍚�
+ String text = inspectParams.stream().map(item -> {
+ QualityInspectItem qualityInspectItem = qualityInspectItemMapper.selectById(item.getQualityInspectItemId());
+ return qualityInspectItem != null ? qualityInspectItem.getName() : "";
+ }).collect(Collectors.joining(","));
+ qualityUnqualified.setDefectivePhenomena(text + "杩欎簺椤圭洰涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
+ qualityUnqualifiedMapper.insert(qualityUnqualified);
+ } else {
+ //鍚堟牸: 浜х敓鍘熸枡瀹℃牳璁板綍
+ LoginUser loginUser = SecurityUtils.getLoginUser();
+ ApproveProcessVO approveProcessVO = new ApproveProcessVO();
+ approveProcessVO.setApproveType(9);
+ approveProcessVO.setApproveRecordId(rawMaterial.getId());
+ approveProcessVO.setApproveDeptId(loginUser.getCurrentDeptId());
+ approveProcessVO.setApproveReason( "鍘熸枡瀹℃牳鎵瑰彿锛�"+rawMaterial.getBatchNo());
+ Long adminUserId = 1L; // todo 鍋囪绗竴涓鐞嗗憳鐨処D涓�1
+ approveProcessVO.setApproveUserIds(String.valueOf(adminUserId));
+ approveProcessVO.setApproveUser(loginUser.getUserId());
+ approveProcessVO.setApproveTime(LocalDate.now().toString());
+ try {
+ approveProcessService.addApprove(approveProcessVO);
+ }catch (Exception e){
+ log.error("RawMaterialServiceImpl error:{}", e);
+ throw new RuntimeException("瀹℃壒澶辫触");
+ }
+ }
+
+ rawMaterial.setInspectState(RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode());
+ return rawMaterialMapper.updateById(rawMaterial) > 0;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
public boolean add(RawMaterialDto rawMaterialDto) {
rawMaterialDto.setInspectState(RawMaterialInspectState.RawMaterialInspectStateUnsubmitted.getCode());
// 鏂板鍘熸枡
--
Gitblit v1.9.3