From da8a535959c72cf61cf904f3dffaa1d0bd33b79f Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 11 七月 2025 10:43:43 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/utils/MatUtils.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 56 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/zy/asrs/utils/MatUtils.java b/src/main/java/com/zy/asrs/utils/MatUtils.java index 8789be4..b88aa94 100644 --- a/src/main/java/com/zy/asrs/utils/MatUtils.java +++ b/src/main/java/com/zy/asrs/utils/MatUtils.java @@ -1,8 +1,14 @@ package com.zy.asrs.utils; +import com.core.common.Cools; +import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.Mat; +import com.zy.asrs.service.MatService; import lombok.extern.slf4j.Slf4j; + +import java.math.BigDecimal; +import java.math.RoundingMode; /** * Created by vincent on 2022/4/23 @@ -27,4 +33,54 @@ } } + public static Double calcWeight(String matnr, Double anfme) { + MatService matService = SpringUtils.getBean(MatService.class); + //鏇存柊杈呮枡 + Mat mat = matService.selectByMatnr(matnr); + if (mat == null) { + throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦�"); + } + + //杞崲鍏崇郴 + String origin = mat.getOrigin(); + if (Cools.isEmpty(origin)) { + throw new CoolException("涓昏緟鏁伴噺杞崲鍏紡涓嶅瓨鍦�"); + } + String[] split = origin.split("/"); + //杈呭崟浣� + + BigDecimal anfmeBigDecimal = BigDecimal.valueOf(anfme); + BigDecimal origin1 = new BigDecimal(split[1]); + BigDecimal origin0 = new BigDecimal(split[0]); + + BigDecimal divideResult1 = anfmeBigDecimal.divide(origin1, 9, RoundingMode.HALF_UP); + BigDecimal weightBigDecimal = divideResult1.divide(origin0, 9, RoundingMode.HALF_UP); + return weightBigDecimal.doubleValue(); + } + + public static Double calcAnfmeFromWeight(String matnr, Double weight) { + MatService matService = SpringUtils.getBean(MatService.class); + //鏇存柊杈呮枡 + Mat mat = matService.selectByMatnr(matnr); + if (mat == null) { + throw new CoolException("鐗╂枡淇℃伅涓嶅瓨鍦�"); + } + + //杞崲鍏崇郴 + String origin = mat.getOrigin(); + if (Cools.isEmpty(origin)) { + throw new CoolException("涓昏緟鏁伴噺杞崲鍏紡涓嶅瓨鍦�"); + } + String[] split = origin.split("/"); + //杈呭崟浣� + + BigDecimal weightBigDecimal = BigDecimal.valueOf(weight); + BigDecimal origin1 = new BigDecimal(split[1]); + BigDecimal origin0 = new BigDecimal(split[0]); + + BigDecimal multiplyResult1 = weightBigDecimal.multiply(origin1); + BigDecimal anfmeBigDecimal = multiplyResult1.multiply(origin0); + return anfmeBigDecimal.doubleValue(); + } + } -- Gitblit v1.9.1