diff --git a/measurement/src/main/java/com/ruoyi/operation/service/impl/getPoundWeightData.java b/measurement/src/main/java/com/ruoyi/operation/service/impl/getPoundWeightData.java index 5e245a6..71f7e9d 100644 --- a/measurement/src/main/java/com/ruoyi/operation/service/impl/getPoundWeightData.java +++ b/measurement/src/main/java/com/ruoyi/operation/service/impl/getPoundWeightData.java @@ -1,12 +1,86 @@ package com.ruoyi.operation.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.ruoyi.common.core.domain.entity.SysDictData; +import com.ruoyi.common.utils.DictUtils; +import com.ruoyi.system.domain.SysConfig; +import com.ruoyi.system.service.ISysConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; import java.math.BigDecimal; +@RestController +@RequestMapping("/util/getPound") public class getPoundWeightData { + @Autowired + private ISysConfigService sysConfigService; - public BigDecimal getPoundWeight(String poundNumber) { + @GetMapping(value = "/getWeight/{poundid}") + public BigDecimal getPoundWeight(@PathVariable("poundid")String poundid) { //根据地磅编码,在系统参数中获取接口地址,调用接口返回数据。 - return BigDecimal.ZERO; + String pound_api = DictUtils.getDictLabel("pound_api", poundid); + SysConfig sysConfig = sysConfigService.selectConfigByConfigKey("pound_api_ip"); + String api = sysConfig.getConfigValue()+pound_api; + JSONObject jsonObject = doGetRequest(api); + if (jsonObject.getIntValue("code") == 0) { + return jsonObject.getBigDecimal("data"); + }else{ + String message = jsonObject.getString("message"); + throw new RuntimeException(message); + } + } + + /** + * 通用GET请求方法 + */ + private JSONObject doGetRequest(String bsseurl) { + HttpURLConnection connection = null; + try { + URL url = new URL(bsseurl); + connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + connection.setRequestProperty("Content-Type", "application/json; charset=utf-8"); + connection.setConnectTimeout(30000); + connection.setReadTimeout(30000); + + int responseCode = connection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + String inputLine; + StringBuilder response = new StringBuilder(); + + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + in.close(); + + return new JSONObject(response.toString().isEmpty()); + } else { + JSONObject put = new JSONObject(); + put.put("code", 1); + put.put("message", "HTTP请求失败: " + responseCode); + put.put("data", null); + return put; + } + } catch (Exception e) { + JSONObject put = new JSONObject(); + put.put("code", 1); + put.put("message", "请求异常: " + e.getMessage()); + put.put("data", null); + return put; + } finally { + if (connection != null) { + connection.disconnect(); + } + } } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java index b307776..e277ff5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java @@ -86,4 +86,6 @@ public interface ISysConfigService * @return 结果 */ public boolean checkConfigKeyUnique(SysConfig config); + + public SysConfig selectConfigByConfigKey(String configKey); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java index 4d29b22..19fcf1d 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java @@ -229,4 +229,10 @@ public class SysConfigServiceImpl implements ISysConfigService { return CacheConstants.SYS_CONFIG_KEY + configKey; } + + public SysConfig selectConfigByConfigKey(String ConfigKey){ + SysConfig sysConfig = new SysConfig(); + sysConfig.setConfigKey(ConfigKey); + return configMapper.selectConfig(sysConfig); + } } diff --git a/ruoyi-ui/src/api/measurement/util/util.js b/ruoyi-ui/src/api/measurement/util/util.js index 396812e..c7cd202 100644 --- a/ruoyi-ui/src/api/measurement/util/util.js +++ b/ruoyi-ui/src/api/measurement/util/util.js @@ -10,3 +10,12 @@ export function formatDate(date) { return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; } +import request from '@/utils/request' + +// 获取流水编码 +export function getWeight(poundid) { + return request({ + url: '/util/getPound/getWeight/'+poundid, + method: 'get' + }) +} diff --git a/ruoyi-ui/src/views/measurement/operation/moltenironpound/index.vue b/ruoyi-ui/src/views/measurement/operation/moltenironpound/index.vue index 82ffc5e..637b72c 100644 --- a/ruoyi-ui/src/views/measurement/operation/moltenironpound/index.vue +++ b/ruoyi-ui/src/views/measurement/operation/moltenironpound/index.vue @@ -636,6 +636,7 @@ import { listPoundmst, unComplete, updatePoundmst } from "@/api/measurement/bill/poundmst"; +import { getWeight } from "@/api/measurement/util/util.js"; import Decimal from "decimal.js"; import {getTruepound} from "@/api/measurement/basedata/truepound"; import { @@ -905,10 +906,11 @@ export default { if (!this.checkPoundSelected())return; // 生成 100 到 10000 的整数(代表 1.00 到 100.00) const randomInt = Math.floor(Math.random() * 9900 + 100); - + getWeight(this.queryParams.poundid).then(response => { + this.queryParams.weight = response; + }) // 转换为两位小数,内存中是有限小数 - this.queryParams.weight = new Decimal(randomInt / 100); - debugger + //this.queryParams.weight = new Decimal(randomInt / 100); }, //单击主榜单进行单选。 //主榜单单击选中,并将车号进行赋值。(单选) diff --git a/ruoyi-ui/src/views/measurement/operation/outinpound/index.vue b/ruoyi-ui/src/views/measurement/operation/outinpound/index.vue index ae0040b..5e78868 100644 --- a/ruoyi-ui/src/views/measurement/operation/outinpound/index.vue +++ b/ruoyi-ui/src/views/measurement/operation/outinpound/index.vue @@ -485,6 +485,7 @@