From 78b637613099f0e2e04e98c5f33c24f8e6c78c7a Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 30 四月 2026 09:17:47 +0800
Subject: [PATCH] fix: 质检内的工序修改为部件类型
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 44 +++++++++++++++++++++
src/main/java/com/ruoyi/home/dto/ProcessDataProductionStatisticsDto.java | 2
src/main/java/com/ruoyi/home/controller/HomeController.java | 2
src/main/resources/mapper/production/ProductProcessMapper.xml | 2
src/main/java/com/ruoyi/home/service/HomeService.java | 2
src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java | 4 +-
doc/君歌化工.sql | 5 ++
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java | 10 +++--
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 9 +---
9 files changed, 61 insertions(+), 19 deletions(-)
diff --git "a/doc/\345\220\233\346\255\214\345\214\226\345\267\245.sql" "b/doc/\345\220\233\346\255\214\345\214\226\345\267\245.sql"
index c05c511..5cde33e 100644
--- "a/doc/\345\220\233\346\255\214\345\214\226\345\267\245.sql"
+++ "b/doc/\345\220\233\346\255\214\345\214\226\345\267\245.sql"
@@ -41,4 +41,7 @@
MODIFY COLUMN `plan_start_time` datetime NULL DEFAULT NULL COMMENT '璁″垝寮�濮嬫椂闂�' AFTER `work_order_no`,
MODIFY COLUMN `plan_end_time` datetime NULL DEFAULT NULL COMMENT '璁″垝缁撴潫鏃堕棿' AFTER `plan_start_time`,
MODIFY COLUMN `actual_start_time` datetime NULL DEFAULT NULL COMMENT '瀹為檯寮�濮嬫椂闂�' AFTER `plan_end_time`,
- MODIFY COLUMN `actual_end_time` datetime NULL DEFAULT NULL COMMENT '瀹為檯缁撴潫鏃堕棿' AFTER `actual_start_time`;
\ No newline at end of file
+ MODIFY COLUMN `actual_end_time` datetime NULL DEFAULT NULL COMMENT '瀹為檯缁撴潫鏃堕棿' AFTER `actual_start_time`;
+
+ALTER TABLE `product-inventory-management-jghg`.`quality_inspect`
+ ADD COLUMN `process_type` int NULL DEFAULT NULL COMMENT '宸ュ簭绫诲瀷' AFTER `dept_id`;
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/home/controller/HomeController.java b/src/main/java/com/ruoyi/home/controller/HomeController.java
index 3898c90..a75d421 100644
--- a/src/main/java/com/ruoyi/home/controller/HomeController.java
+++ b/src/main/java/com/ruoyi/home/controller/HomeController.java
@@ -174,7 +174,7 @@
@GetMapping("/processDataProductionStatistics")
@ApiOperation("宸ュ簭鏁版嵁鐢熶骇缁熻鏁版嵁")
public AjaxResult processDataProductionStatistics(@DefaultType Integer type,@RequestParam(required = false) List<Long> processTypes) {
- List<processDataProductionStatisticsDto> list = homeService.processDataProductionStatistics(type, processTypes);
+ List<ProcessDataProductionStatisticsDto> list = homeService.processDataProductionStatistics(type, processTypes);
return AjaxResult.success(list);
}
diff --git a/src/main/java/com/ruoyi/home/dto/processDataProductionStatisticsDto.java b/src/main/java/com/ruoyi/home/dto/ProcessDataProductionStatisticsDto.java
similarity index 92%
rename from src/main/java/com/ruoyi/home/dto/processDataProductionStatisticsDto.java
rename to src/main/java/com/ruoyi/home/dto/ProcessDataProductionStatisticsDto.java
index bb57461..7b161dd 100644
--- a/src/main/java/com/ruoyi/home/dto/processDataProductionStatisticsDto.java
+++ b/src/main/java/com/ruoyi/home/dto/ProcessDataProductionStatisticsDto.java
@@ -16,7 +16,7 @@
*/
@Data
-public class processDataProductionStatisticsDto {
+public class ProcessDataProductionStatisticsDto {
/**
* 宸ュ簭鍚嶇О
diff --git a/src/main/java/com/ruoyi/home/service/HomeService.java b/src/main/java/com/ruoyi/home/service/HomeService.java
index 29cf8a5..08c75e2 100644
--- a/src/main/java/com/ruoyi/home/service/HomeService.java
+++ b/src/main/java/com/ruoyi/home/service/HomeService.java
@@ -94,5 +94,5 @@
QualityStatisticsDto qualityInspectionStatistics(Integer type);
- List<processDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes);
+ List<ProcessDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes);
}
diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index 2012680..4ab1ace 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -12,7 +12,6 @@
import com.ruoyi.approve.pojo.ApproveProcess;
import com.ruoyi.basic.mapper.CustomerMapper;
import com.ruoyi.basic.mapper.ProductMapper;
-import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.mapper.SupplierManageMapper;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.basic.pojo.Product;
@@ -29,9 +28,6 @@
import com.ruoyi.framework.security.LoginUser;
import com.ruoyi.home.dto.*;
import com.ruoyi.home.service.HomeService;
-import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
-import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.production.dto.ProductOrderDto;
import com.ruoyi.production.dto.ProductWorkOrderDto;
import com.ruoyi.production.mapper.ProductOrderMapper;
@@ -40,7 +36,6 @@
import com.ruoyi.production.mapper.ProductionProductInputMapper;
import com.ruoyi.production.mapper.ProductionProductOutputMapper;
import com.ruoyi.production.mapper.SalesLedgerProductionAccountingMapper;
-import com.ruoyi.production.pojo.ProductProcess;
import com.ruoyi.production.pojo.ProductWorkOrder;
import com.ruoyi.project.system.domain.SysDept;
import com.ruoyi.project.system.mapper.SysDeptMapper;
@@ -2482,7 +2477,7 @@
}
@Override
- public List<processDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes) {
+ public List<ProcessDataProductionStatisticsDto> processDataProductionStatistics(Integer type, List<Long> processTypes) {
LoginUser loginUser = SecurityUtils.getLoginUser();
Long userId = SecurityUtils.isAdmin(loginUser.getUserId()) ? null : loginUser.getUserId();
@@ -2511,7 +2506,7 @@
LocalDateTime startDateTime = startDate.atStartOfDay();
LocalDateTime endDateTime = endDate.atTime(LocalTime.MAX);
- List<processDataProductionStatisticsDto> result = productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processTypes);
+ List<ProcessDataProductionStatisticsDto> result = productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processTypes);
if (!ObjectUtils.isEmpty(result)) {
result.forEach(dto -> {
if (dto == null) {
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
index 662f5da..008c57e 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductProcessMapper.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.home.dto.processDataProductionStatisticsDto;
+import com.ruoyi.home.dto.ProcessDataProductionStatisticsDto;
import com.ruoyi.production.dto.ProductProcessDto;
import com.ruoyi.production.pojo.ProductProcess;
import org.apache.ibatis.annotations.Mapper;
@@ -17,5 +17,5 @@
IPage<ProductProcessDto> listPage(Page page, @Param("productProcessDto") ProductProcessDto productProcessDto);
- List<processDataProductionStatisticsDto> calculateProductionStatistics(LocalDateTime startDateTime, LocalDateTime endDateTime, Long userId, List<Long> processTypes);
+ List<ProcessDataProductionStatisticsDto> calculateProductionStatistics(LocalDateTime startDateTime, LocalDateTime endDateTime, Long userId, List<Long> processTypes);
}
diff --git a/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java b/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
index ccdf6ef..7329f61 100644
--- a/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
+++ b/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -31,7 +31,7 @@
/**
* 绫诲埆(0:鍘熸潗鏂欐楠�;1:杩囩▼妫�楠�;2:鍑哄巶妫�楠�)
*/
- @Excel(name = "绫诲埆",readConverterExp = "0=鍘熸潗鏂欐楠�,1=杩囩▼妫�楠�,2=鍑哄巶妫�楠�")
+ @Excel(name = "绫诲埆", readConverterExp = "0=鍘熸潗鏂欐楠�,1=杩囩▼妫�楠�,2=鍑哄巶妫�楠�")
@NotBlank(message = "绫诲埆涓嶈兘涓虹┖!!")
private Integer inspectType;
@@ -41,8 +41,6 @@
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "妫�娴嬫棩鏈�", width = 30, dateFormat = "yyyy-MM-dd")
private Date checkTime;
-
-
/**
@@ -62,6 +60,11 @@
*/
@Excel(name = "宸ュ簭")
private String process;
+
+ /**
+ * 宸ュ簭绫诲瀷
+ */
+ private Integer processType;
/**
* 妫�楠屽憳
@@ -110,7 +113,6 @@
*/
@Excel(name = "妫�娴嬬粨鏋�")
private String checkResult;
-
@ApiModelProperty(value = "鍒涘缓鏃堕棿")
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index c6e40e4..6810aeb 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -10,6 +10,9 @@
import com.deepoove.poi.config.Configure;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DictUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
@@ -33,6 +36,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -59,6 +63,7 @@
public int add(QualityInspectDto qualityInspectDto) {
QualityInspect qualityInspect = new QualityInspect();
BeanUtils.copyProperties(qualityInspectDto, qualityInspect);
+ validateProcessType(qualityInspect);
qualityInspect.setInspectState(0);//榛樿鏈彁浜�
qualityInspectMapper.insert(qualityInspect);
for (QualityInspectParam qualityInspectParam : qualityInspectDto.getQualityInspectParams()) {
@@ -167,6 +172,7 @@
}
QualityInspect qualityInspect = new QualityInspect();
BeanUtils.copyProperties(qualityInspectDto, qualityInspect);
+ validateProcessType(qualityInspect);
return qualityInspectMapper.updateById(qualityInspect);
}
@@ -178,7 +184,19 @@
@Override
public void qualityInspectExport(HttpServletResponse response, QualityInspect qualityInspect) {
List<QualityInspect> qualityInspects = qualityInspectMapper.qualityInspectExport(qualityInspect);
- ExcelUtil<QualityInspect> util = new ExcelUtil<QualityInspect>(QualityInspect.class);
+ if (qualityInspects != null && !qualityInspects.isEmpty()) {
+ for (QualityInspect inspect : qualityInspects) {
+ if (inspect == null || inspect.getProcessType() == null) {
+ continue;
+ }
+ String processLabel = DictUtils.getDictLabel("product_process_type", String.valueOf(inspect.getProcessType()));
+ if (StringUtils.isNotEmpty(processLabel)) {
+ inspect.setProcess(processLabel);
+ }
+ }
+ }
+
+ ExcelUtil<QualityInspect> util = new ExcelUtil<>(QualityInspect.class);
switch (qualityInspect.getInspectType()) {
case 0:
util.exportExcel(response, qualityInspects, "鍘熸潗鏂欐楠屽鍑�");
@@ -193,5 +211,29 @@
}
+ private void validateProcessType(QualityInspect qualityInspect) {
+ if (qualityInspect == null || qualityInspect.getProcessType() == null) {
+ return;
+ }
+
+ String dictType = "product_process_type";
+ String input = String.valueOf(qualityInspect.getProcessType());
+
+ String dictValue = DictUtils.getDictValue(dictType, input);
+ if (StringUtils.isNotEmpty(dictValue)) {
+ qualityInspect.setProcessType(Integer.valueOf(dictValue));
+ return;
+ }
+ String dictValues = DictUtils.getDictValues(dictType);
+ if (StringUtils.isNotEmpty(dictValues)) {
+ List<String> valueList = Arrays.asList(dictValues.split(DictUtils.SEPARATOR));
+ if (valueList.contains(input)) {
+ return;
+ }
+ }
+
+ throw new ServiceException("宸ュ簭绫诲瀷銆�" + input + "銆戜笉瀛樺湪锛岃濉啓姝g‘鐨勭被鍨嬶細" + DictUtils.getDictLabels(dictType));
+ }
+
}
diff --git a/src/main/resources/mapper/production/ProductProcessMapper.xml b/src/main/resources/mapper/production/ProductProcessMapper.xml
index 593c12f..a4283e8 100644
--- a/src/main/resources/mapper/production/ProductProcessMapper.xml
+++ b/src/main/resources/mapper/production/ProductProcessMapper.xml
@@ -33,7 +33,7 @@
order by pp.id asc
</select>
- <select id="calculateProductionStatistics" resultType="com.ruoyi.home.dto.processDataProductionStatisticsDto">
+ <select id="calculateProductionStatistics" resultType="com.ruoyi.home.dto.ProcessDataProductionStatisticsDto">
SELECT
pp.type AS processType,
SUM(pi.quantity) AS totalInput,
--
Gitblit v1.9.3