From 8824690922b92b6a7e8879766570622dc21bc7cc Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 26 十月 2026 20:53:02 +0800
Subject: [PATCH] feat(account): 对账支持按日,检验报告日期与单位修正
---
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 43 insertions(+), 1 deletions(-)
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 0707375..b1dff88 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.quality.service.impl;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -11,8 +13,10 @@
import com.deepoove.poi.config.Configure;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.R;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.quality.dto.QualityInspectDto;
@@ -39,9 +43,12 @@
import java.io.OutputStream;
import java.math.BigDecimal;
import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
@AllArgsConstructor
@@ -127,6 +134,10 @@
stockInventoryDto.setRecordId(qualityInspect.getId());
stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
stockInventoryDto.setQualitity(qualityInspect.getQualifiedQuantity());
+ if (qualityInspect.getCheckTime() != null) {
+ LocalDate stockCreateDate = DateUtils.toLocalDate(qualityInspect.getCheckTime()).plusDays(1);
+ stockInventoryDto.setCreateTime(LocalDateTime.of(stockCreateDate, java.time.LocalTime.MIDNIGHT));
+ }
stockInventoryDto.setBatchNo(resolveProductionBatchNo(
qualityInspect.getProductMainId(),
qualityInspect.getId(),
@@ -149,6 +160,33 @@
qualityInspect.setInspectState(1);//宸叉彁浜�
return qualityInspectMapper.updateById(qualityInspect);
+ }
+
+ @Override
+ public R autoSubmit(Long id) {
+ if (id == null) {
+ return R.fail("妫�楠屽崟ID涓嶈兘涓虹┖");
+ }
+ QualityInspect qualityInspect = qualityInspectMapper.selectById(id);
+ if (qualityInspect == null) {
+ return R.fail("妫�楠屽崟涓嶅瓨鍦�");
+ }
+ if (Integer.valueOf(1).equals(qualityInspect.getInspectState())) {
+ return R.ok("妫�楠屽崟宸叉彁浜�");
+ }
+
+ if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
+ qualityInspect.setCheckResult("鍚堟牸");
+ }
+ if (ObjectUtils.isNull(qualityInspect.getQualifiedQuantity())) {
+ qualityInspect.setQualifiedQuantity(qualityInspect.getQuantity() == null ? BigDecimal.ZERO : qualityInspect.getQuantity());
+ }
+ if (ObjectUtils.isNull(qualityInspect.getUnqualifiedQuantity())) {
+ qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
+ }
+ qualityInspectMapper.updateById(qualityInspect);
+ int rows = submit(qualityInspect);
+ return rows > 0 ? R.ok("妫�楠屽崟鎻愪氦鎴愬姛") : R.fail("妫�楠屽崟鎻愪氦澶辫触");
}
private String resolveProductionBatchNo(Long productionProductMainId,
@@ -215,9 +253,13 @@
.bind("paramList", new HackLoopTableRenderPolicy())
.build();
String finalInspectType = inspectType;
+ // 妫�楠屾棩鏈熷湪鎶ュ憡閲屽彧鏄剧ず鍒版棩锛堟棩鏈熷瓧娈垫槸 java.util.Date锛岀洿鎺ユ覆鏌撲細甯﹀嚭 00:00:00锛�
+ Map<String, Object> inspectData = BeanUtil.beanToMap(inspect);
+ inspectData.put("checkTime", inspect.getCheckTime() == null
+ ? "" : DateUtil.formatDate(inspect.getCheckTime()));
XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
new HashMap<String, Object>() {{
- put("inspect", inspect);
+ put("inspect", inspectData);
put("inspectType", finalInspectType);
put("paramList", paramList);
}});
--
Gitblit v1.9.3