From 259a60f240fdfff356a236d380d8d682949fc571 Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期一, 26 十月 2026 09:24:25 +0800
Subject: [PATCH] feat(环保门禁): 巡检设备数据回传开放接口(无人机/机器人/AI摄像头)、无人值守地磅模块(表+后端+日报)、车辆采集照片字段、修复车辆修改接口缺@RequestBody
---
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java | 61 +++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
index 29cba69..0b60e7a 100644
--- a/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
+++ b/src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
@@ -4,26 +4,27 @@
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.handler.CustomTenantLineHandler;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd;
import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto;
import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto;
import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
-import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.procurementrecord.service.ProcurementRecordOutService;
import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
-import java.text.DateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.stream.Collectors;
@@ -54,7 +55,15 @@
procurementRecordOutLambdaQueryWrapper.ge(ProcurementRecordOut::getCreateTime, now) // 澶т簬绛変簬褰撳ぉ
.lt(ProcurementRecordOut::getCreateTime, now.plusDays(1)); // 灏忎簬鏄庡ぉ
Long aLong1 = procurementRecordOutMapper.selectCount(procurementRecordOutLambdaQueryWrapper);
-
+ // 2. 瀹氫箟鏃ユ湡鏍煎紡锛堝繀椤讳笌瀛楃涓叉牸寮忓畬鍏ㄥ尮閰嶏級
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ LocalDateTime localDateTime = null;
+ // 3. 杞崲锛歋tring 鈫� LocalDate 鈫� LocalDateTime锛堣ˉ鍏�0鐐规椂闂达級
+ if(StringUtils.isNotEmpty(procurementRecordOutAdd.getTime())){
+ LocalDate localDate = LocalDate.parse(procurementRecordOutAdd.getTime(), formatter);
+ // 鑾峰彇褰撳墠鏃跺垎绉�
+ LocalTime localTime = LocalTime.now();
+ localDateTime = localDate.atTime(localTime);}
// 鏌ヨ閲囪喘鍑哄簱鏁伴噺
LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getProcurementRecordStorageId, procurementRecordOutAdd.getId());
@@ -65,12 +74,30 @@
.salesLedgerProductId(procurementRecordOutAdd.getSalesLedgerProductId())
.inboundBatches(aLong.equals(0L) ? "绗�1鎵规" : "绗�"+ (aLong + 1) + "鎵规")
.inboundNum(new BigDecimal(procurementRecordOutAdd.getQuantity()))
- .createTime(LocalDateTime.now())
+ .type(procurementRecordOutAdd.getType())
+ .supplierName(procurementRecordOutAdd.getSupplierName())
+ .createTime(localDateTime == null ? LocalDateTime.now() : localDateTime)
.createUser(Long.valueOf(procurementRecordOutAdd.getUserId()))
.createBy(sysUser.getNickName())
.updateUser(Long.valueOf(procurementRecordOutAdd.getUserId()))
.updateTime(LocalDateTime.now());
- this.save(procurementRecordOut.build());
+ ProcurementRecordOut saved = procurementRecordOut.build();
+ // 鍑哄簱鍐欏叆鏃朵复鏃惰烦杩囩鎴锋彃浠讹紝閬垮厤 jsqlparser 瑙f瀽寮傚父
+ // 锛圕lassCastException: SetOperationList cannot be cast to PlainSelect锛�
+ // tenant_id 鐢� MybatisHandler 鐨� strictInsertFill 鑷姩濉厖锛屼笉浼氫涪
+ CustomTenantLineHandler.TEMP_IGNORE.set(Boolean.TRUE);
+ try {
+ this.save(saved);
+ if (StringUtils.isNotEmpty(procurementRecordOutAdd.getRequisitionNum()) && saved.getId() != null) {
+ ProcurementRecordOut upd = ProcurementRecordOut.builder()
+ .id(saved.getId())
+ .requisitionNum(new BigDecimal(procurementRecordOutAdd.getRequisitionNum()))
+ .build();
+ procurementRecordOutMapper.updateById(upd);
+ }
+ } finally {
+ CustomTenantLineHandler.TEMP_IGNORE.remove();
+ }
return 0;
}
@@ -95,8 +122,30 @@
@Override
public void export(HttpServletResponse response) {
- List<ProcurementRecordOutPageDto> list =procurementRecordOutMapper.list();
+ List<ProcurementRecordOutPageDto> list = procurementRecordOutMapper.list();
ExcelUtil<ProcurementRecordOutPageDto> util = new ExcelUtil<>(ProcurementRecordOutPageDto.class);
util.exportExcel(response, list, "鍑哄簱鍙拌处");
}
+
+ @Override
+ public IPage<ProcurementRecordOutPageDto> listPageByProduct(Page page, ProcurementRecordOutPageDto procurementDto) {
+ return procurementRecordOutMapper.listPageByProduct(page, procurementDto);
+ }
+
+ @Override
+ public IPage<ProcurementRecordOutPageDto> listPageByCustom(Page page, ProcurementRecordOutPageDto procurementDto) {
+ return procurementRecordOutMapper.listPageByCustom(page, procurementDto);
+ }
+
+ @Override
+ public IPage<ProcurementRecordOutPageDto> listPageByPurchaseReturn(Page page, ProcurementRecordOutPageDto procurementDto) {
+ return procurementRecordOutMapper.listPageByPurchaseReturn(page, procurementDto);
+ }
+
+ @Override
+ public void exportPurchaseReturn(HttpServletResponse response) {
+ List<ProcurementRecordOutPageDto> list = procurementRecordOutMapper.listPurchaseReturn();
+ ExcelUtil<ProcurementRecordOutPageDto> util = new ExcelUtil<>(ProcurementRecordOutPageDto.class);
+ util.exportExcel(response, list, "閫�璐у嚭搴撳彴璐�");
+ }
}
--
Gitblit v1.9.3