From 5b94ae37cdb9a435931d0c22bba1e393895b035d Mon Sep 17 00:00:00 2001 From: dfdg <2710245601@qq.com> Date: Sun, 14 Sep 2025 18:35:00 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BC=98=E5=8C=96=E3=80=81app=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=A4=A9=E6=B0=94=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BusPurchaseDocServiceImpl.java | 23 +++++++-- .../weathermanager/WeatherManager.java | 6 +-- .../app/HseSafetyLogAppController.java | 13 +++++ .../safety/service/IHseSafetyLogService.java | 4 ++ .../service/impl/HseSafetyLogServiceImpl.java | 13 +++++ .../TenderSupplierInputController.java | 2 +- .../impl/TenderSupplierInputServiceImpl.java | 49 ++++++++++++++++--- 7 files changed, 96 insertions(+), 14 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java index 1ce49d18..2ed86a02 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusPurchaseDocServiceImpl.java @@ -233,14 +233,29 @@ public class BusPurchaseDocServiceImpl extends ServiceImpllambdaQuery() + .eq(BusPlanDocAssociation::getProjectId, update.getProjectId()) + .eq(BusPlanDocAssociation::getDocId, update.getId())); if (CollectionUtil.isNotEmpty(bo.getAssociationList())) { - planDocAssociationService.remove(Wrappers.lambdaQuery() - .eq(BusPlanDocAssociation::getProjectId, update.getProjectId()) - .eq(BusPlanDocAssociation::getDocId, update.getId())); + for (BusPlanDocAssociationBo association : bo.getAssociationList()) { + + BusMaterialbatchdemandplan byId = materialbatchdemandplanService.getById(association.getPlanId()); + + List list = planDocAssociationService.list(Wrappers.lambdaQuery(BusPlanDocAssociation.class) + .eq(BusPlanDocAssociation::getPlanId, association.getPlanId())); + BigDecimal total = list.stream() + .map(BusPlanDocAssociation::getDemandQuantity) + .filter(Objects::nonNull) + .reduce(BigDecimal.ZERO, BigDecimal::add); + + if(total.add(association.getDemandQuantity()).compareTo(byId.getDemandQuantity()) > 0){ + throw new ServiceException("材料:" + byId.getName() + "已超出计划单的物料批次需求计划数量"); + } + } List convert = MapstructUtils.convert(bo.getAssociationList(), BusPlanDocAssociation.class); convert.forEach(item -> { item.setProjectId(update.getProjectId()); diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/manager/weathermanager/WeatherManager.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/manager/weathermanager/WeatherManager.java index b504b92b..e558d091 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/manager/weathermanager/WeatherManager.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/manager/weathermanager/WeatherManager.java @@ -52,7 +52,7 @@ public class WeatherManager { String latTwo = roundToTwoDecimalPlacesString(lat); String location = lngTwo + "," + latTwo; // 获取天气请求路径 - String dayWeatherUrl = getDayWeatherUrl(weatherPath, location); + String dayWeatherUrl = getDayWeatherUrl(weatherPath, location, "zh"); String body; try (HttpResponse result = HttpRequest.get(dayWeatherUrl) .header("Authorization", "Bearer " + getJwt()) @@ -134,8 +134,8 @@ public class WeatherManager { * @param weatherPath 天气请求路径 * @param location 位置 */ - private String getDayWeatherUrl(String weatherPath, String location) { - return String.format("https://%s%s?location=%s", weatherProperties.getApiHost(), weatherPath, location); + private String getDayWeatherUrl(String weatherPath, String location, String lang) { + return String.format("https://%s%s?location=%s&lang=%s", weatherProperties.getApiHost(), weatherPath, location, lang); } /** diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseSafetyLogAppController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseSafetyLogAppController.java index 9d346edb..4187b62a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseSafetyLogAppController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/controller/app/HseSafetyLogAppController.java @@ -1,11 +1,14 @@ package org.dromara.safety.controller.app; +import cn.dev33.satoken.annotation.SaCheckPermission; import jakarta.annotation.Resource; import jakarta.validation.constraints.NotNull; +import org.dromara.bigscreen.domain.dto.WeatherQueryReq; import org.dromara.common.core.domain.R; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.web.core.BaseController; +import org.dromara.manager.weathermanager.vo.WeatherVo; import org.dromara.safety.domain.dto.safetylog.HseSafetyLogCreateReq; import org.dromara.safety.domain.dto.safetylog.HseSafetyLogQueryReq; import org.dromara.safety.domain.vo.safetylog.HseSafetyLogVo; @@ -13,6 +16,8 @@ import org.dromara.safety.service.IHseSafetyLogService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 安全日志 app 接口 * @@ -53,4 +58,12 @@ public class HseSafetyLogAppController extends BaseController { @PathVariable Long id) { return R.ok(safetyLogService.queryById(id)); } + + /** + * 查询天气 + */ + @GetMapping("/weather") + public R getProjectWeather(WeatherQueryReq req) { + return R.ok(safetyLogService.getWeatherNowDaysList(req)); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyLogService.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyLogService.java index 9b778506..6a652920 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyLogService.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/IHseSafetyLogService.java @@ -3,8 +3,10 @@ package org.dromara.safety.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.bigscreen.domain.dto.WeatherQueryReq; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.manager.weathermanager.vo.WeatherVo; import org.dromara.safety.domain.HseSafetyLog; import org.dromara.safety.domain.dto.safetylog.HseSafetyLogCreateReq; import org.dromara.safety.domain.dto.safetylog.HseSafetyLogQueryReq; @@ -95,4 +97,6 @@ public interface IHseSafetyLogService extends IService { * @return 安全日志分页对象视图 */ Page getVoPage(Page safetyLogPage); + + WeatherVo getWeatherNowDaysList(WeatherQueryReq req); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSafetyLogServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSafetyLogServiceImpl.java index 55dea4b0..994bfc3b 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSafetyLogServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/safety/service/impl/HseSafetyLogServiceImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import jakarta.annotation.Resource; +import org.dromara.bigscreen.domain.dto.WeatherQueryReq; import org.dromara.common.core.constant.HttpStatus; import org.dromara.common.core.domain.vo.IdAndNameVO; import org.dromara.common.core.exception.ServiceException; @@ -13,6 +14,9 @@ import org.dromara.common.core.utils.ObjectUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.manager.weathermanager.WeatherConstant; +import org.dromara.manager.weathermanager.WeatherManager; +import org.dromara.manager.weathermanager.vo.WeatherVo; import org.dromara.project.service.IBusProjectService; import org.dromara.safety.domain.HseSafetyLog; import org.dromara.safety.domain.dto.safetylog.HseSafetyLogCreateReq; @@ -47,6 +51,9 @@ public class HseSafetyLogServiceImpl extends ServiceImpl weatherListVo = weatherManager.getWeatherListVo(req.getLng(), req.getLat(), WeatherConstant.THREE_DAYS_WEATHER_PATH); + return weatherListVo.getFirst(); + } } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/TenderSupplierInputController.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/TenderSupplierInputController.java index 933454dd..2dd2006e 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/TenderSupplierInputController.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/controller/TenderSupplierInputController.java @@ -130,7 +130,7 @@ public class TenderSupplierInputController extends BaseController { @Log(title = "供应商入库", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@RequestBody TenderSupplierInputBo bo,@RequestPart(value = "file",required = false) MultipartFile file) { + public R edit(TenderSupplierInputBo bo,@RequestParam("file") MultipartFile file) { return toAjax(tenderSupplierInputService.updateByBo(bo,file)); } diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java index 183ef588..5dceb8ea 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/tender/service/impl/TenderSupplierInputServiceImpl.java @@ -5,6 +5,8 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.cailiaoshebei.controller.constant; import org.dromara.cailiaoshebei.domain.BusCailiaoshebeiPici; import org.dromara.common.core.domain.event.ProcessEvent; +import org.dromara.common.core.enums.BusinessStatusEnum; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.OssService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; @@ -14,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; +import org.dromara.formalities.enums.FormalitiesStatusEnum; import org.dromara.system.domain.vo.SysOssUploadVo; import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.service.ISysOssService; @@ -107,10 +110,13 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl 0; if (flag) { bo.setId(add.getId()); @@ -126,15 +132,24 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl 0; } @@ -143,6 +158,28 @@ public class TenderSupplierInputServiceImpl extends ServiceImpl