Commit 04ee0430 authored by 竹天卫's avatar 竹天卫

校核计算优化

parent 744be23d
......@@ -442,7 +442,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
System.out.println(b);*/
String aa = "Mad=1.87 \n" +
/*String aa = "Mad=1.87 \n" +
" Aad=21.04 \n" +
" Vad=24.24 \n" +
" Qnet,ad MJ/kg=23.14 \n" +
......@@ -453,7 +453,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
String[] ele = str2.trim().split("=");
map.put(ele[0], ele[1]);
}
System.out.println(map);
System.out.println(map);*/
BigDecimal endResult = new BigDecimal("2").divide(new BigDecimal("1"),10,BigDecimal.ROUND_HALF_UP);
System.out.println(endResult);
}
......
......@@ -68,7 +68,7 @@ public class CheckCountUtil {
//烧后重m3—保留4位⼩数
BigDecimal m3 = getBigDecimal(resultMap.get("烧后重m3").trim()).setScale(4,BigDecimal.ROUND_HALF_UP);
//计算的核心公式结果
BigDecimal countResult = (m1.add(m2).subtract(m3)).divide(m1,4);
BigDecimal countResult = (m1.add(m2).subtract(m3)).divide(m1,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100.multiply(param100));
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -88,7 +88,7 @@ public class CheckCountUtil {
//样m
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = VSiO2.multiply(TSiO2).divide(m, 4);
BigDecimal countResult = VSiO2.multiply(TSiO2).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -110,7 +110,7 @@ public class CheckCountUtil {
BigDecimal VCuSO4_I = getBigDecimal(resultMap.get("VCuSO<sub>4</sub>(I)").trim());
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = TAl2O3.multiply(VAl2O3.subtract(K.multiply(VCuSO4_I))).divide(m,4);
BigDecimal countResult = TAl2O3.multiply(VAl2O3.subtract(K.multiply(VCuSO4_I))).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -134,7 +134,7 @@ public class CheckCountUtil {
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
BigDecimal VCuSO4_II = getBigDecimal(resultMap.get("VCuSO<sub>4</sub>(II)").trim());
//计算的核心公式结果
BigDecimal countResult = TAl2O3.multiply(VAl2O3.subtract(K.multiply(VCuSO4_I.add(VCuSO4_II)))).divide(m,4);
BigDecimal countResult = TAl2O3.multiply(VAl2O3.subtract(K.multiply(VCuSO4_I.add(VCuSO4_II)))).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -153,7 +153,7 @@ public class CheckCountUtil {
BigDecimal VF2O3 = getBigDecimal(resultMap.get("VF<sub>2</sub>O<sub>3</sub>").trim());
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = TFe2O3.multiply(VF2O3).divide(m,4);
BigDecimal countResult = TFe2O3.multiply(VF2O3).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -171,7 +171,7 @@ public class CheckCountUtil {
BigDecimal VCaO = getBigDecimal(resultMap.get("VCaO").trim());
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = TCaO.multiply(VCaO).divide(m,4);
BigDecimal countResult = TCaO.multiply(VCaO).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -191,7 +191,7 @@ public class CheckCountUtil {
BigDecimal VCaO = getBigDecimal(resultMap.get("VCaO").trim());
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = TMgO.multiply(VMgO.subtract(VCaO)).divide(m,4);
BigDecimal countResult = TMgO.multiply(VMgO.subtract(VCaO)).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -211,7 +211,7 @@ public class CheckCountUtil {
BigDecimal K = getBigDecimal(resultMap.get("K").trim());
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = TTiO2.multiply(VCuSO4_II).multiply(K).divide(m,4);
BigDecimal countResult = TTiO2.multiply(VCuSO4_II).multiply(K).divide(m,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -232,7 +232,7 @@ public class CheckCountUtil {
BigDecimal m3 = getBigDecimal(resultMap.get("空白m3").trim());
BigDecimal m = getBigDecimal(resultMap.get("样重m").trim());
//计算的核心公式结果
BigDecimal countResult = m2.subtract(m1).subtract(m3).divide(m,4).multiply(new BigDecimal(0.343));
BigDecimal countResult = m2.subtract(m1).subtract(m3).divide(m,10,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(0.343));
endResult = countResult.multiply(param100).setScale(2,BigDecimal.ROUND_HALF_EVEN);
}else{
endResult = new BigDecimal(0);
......@@ -248,7 +248,7 @@ public class CheckCountUtil {
BigDecimal AK2O = getBigDecimal(resultMap.get("AK<sub>2</sub>O").trim());
BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O").trim());
//计算的核心公式结果
BigDecimal countResult = CK2O.multiply(V).multiply(AK2O).divide(mR20,4).divide(param10000,4);
BigDecimal countResult = CK2O.multiply(V).multiply(AK2O).divide(mR20,10,BigDecimal.ROUND_HALF_UP).divide(param10000,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -268,7 +268,7 @@ public class CheckCountUtil {
BigDecimal ANa2O = getBigDecimal(resultMap.get("ANa<sub>2</sub>O").trim());
BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O").trim());
//计算的核心公式结果
BigDecimal countResult = CNa2O.multiply(V).multiply(ANa2O).divide(mR20,4).divide(param10000,4);
BigDecimal countResult = CNa2O.multiply(V).multiply(ANa2O).divide(mR20,10,BigDecimal.ROUND_HALF_UP).divide(param10000,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -289,7 +289,7 @@ public class CheckCountUtil {
BigDecimal AMnO = getBigDecimal(resultMap.get("AMnO").trim());
BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O").trim());
//计算的核心公式结果
BigDecimal countResult = CMnO.multiply(V).multiply(AMnO).divide(mR20,4).divide(param10000,4);
BigDecimal countResult = CMnO.multiply(V).multiply(AMnO).divide(mR20,10,BigDecimal.ROUND_HALF_UP).divide(param10000,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -310,7 +310,7 @@ public class CheckCountUtil {
BigDecimal V1 = getBigDecimal(resultMap.get("V1").trim());
BigDecimal mCl = getBigDecimal(resultMap.get("样重Cl").trim());
//计算的核心公式结果
BigDecimal countResult = T.multiply(V2.subtract(V1)).divide(mCl,4).divide(param10,4);
BigDecimal countResult = T.multiply(V2.subtract(V1)).divide(mCl,10,BigDecimal.ROUND_HALF_UP).divide(param10,10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = countResult.multiply(param1000);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......@@ -329,7 +329,7 @@ public class CheckCountUtil {
BigDecimal MZ_M1 = getBigDecimal(resultMap.get("皿重M1").trim());
BigDecimal SZ_M1 = getBigDecimal(resultMap.get("烧重M1").trim());
//计算的核心公式结果
BigDecimal countResult = YZ_M1.add(MZ_M1).subtract(SZ_M1).divide(YZ_M1,4);
BigDecimal countResult = YZ_M1.add(MZ_M1).subtract(SZ_M1).divide(YZ_M1,10,BigDecimal.ROUND_HALF_UP);
endResult = countResult.multiply(param100).setScale(3,BigDecimal.ROUND_HALF_EVEN);
}
}else if(name.equals("Mad2")){
......@@ -341,7 +341,7 @@ public class CheckCountUtil {
BigDecimal MZ_M2 = getBigDecimal(resultMap.get("皿重M2").trim());
BigDecimal SZ_M2 = getBigDecimal(resultMap.get("烧重M2").trim());
//计算的核心公式结果
BigDecimal countResult = YZ_M2.add(MZ_M2).subtract(SZ_M2).divide(YZ_M2,4);
BigDecimal countResult = YZ_M2.add(MZ_M2).subtract(SZ_M2).divide(YZ_M2,10,BigDecimal.ROUND_HALF_UP);
endResult = countResult.multiply(param100).setScale(3,BigDecimal.ROUND_HALF_EVEN);
}
......@@ -354,7 +354,7 @@ public class CheckCountUtil {
BigDecimal MZ_A1 = getBigDecimal(resultMap.get("皿重A1").trim());
BigDecimal YZ_A1 = getBigDecimal(resultMap.get("样重A1").trim());
//计算的核心公式结果
BigDecimal countResult = SZ_A1.subtract(MZ_A1).divide(YZ_A1,4);
BigDecimal countResult = SZ_A1.subtract(MZ_A1).divide(YZ_A1,10,BigDecimal.ROUND_HALF_UP);
endResult = countResult.multiply(param100).setScale(3,BigDecimal.ROUND_HALF_EVEN);
}
......@@ -367,7 +367,7 @@ public class CheckCountUtil {
BigDecimal MZ_A2 = getBigDecimal(resultMap.get("皿重A2").trim());
BigDecimal YZ_A2 = getBigDecimal(resultMap.get("样重A2").trim());
//计算的核心公式结果
BigDecimal countResult = SZ_A2.subtract(MZ_A2).divide(YZ_A2,4);
BigDecimal countResult = SZ_A2.subtract(MZ_A2).divide(YZ_A2,10,BigDecimal.ROUND_HALF_UP);
endResult = countResult.multiply(param100).setScale(3,BigDecimal.ROUND_HALF_EVEN);
}
......@@ -504,11 +504,11 @@ public class CheckCountUtil {
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
BigDecimal jsResult = weightSO3.compareTo(new BigDecimal(0))==1?
weightSO3:elseResult.multiply(mSO3).divide(mSO3,4);
weightSO3:elseResult.multiply(mSO3).divide(mSO3,10,BigDecimal.ROUND_HALF_UP);
count = jsResult.setScale(2,BigDecimal.ROUND_HALF_UP);
}else{
BigDecimal osResult = weightSO3.compareTo(new BigDecimal(0))==1?
weightSO3:elseResult.multiply(mSO3).divide(mSO3,4);
weightSO3:elseResult.multiply(mSO3).divide(mSO3,10,BigDecimal.ROUND_HALF_UP);
count = osResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
}
......@@ -563,7 +563,7 @@ public class CheckCountUtil {
BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al<sub>2</sub>O<sub>3</sub>+TiO<sub>2</sub>"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe<sub>2</sub>O<sub>3</sub>"));
BigDecimal SiO2 = getBigDecimal(countMap.get("SiO<sub>2</sub>"));
KH =CaO.subtract(new BigDecimal(1.65).multiply(Al2O3_TiO2)).subtract(new BigDecimal(0.35).multiply(Fe2O3)).divide(new BigDecimal(2.8),4).divide(SiO2,4);
KH =CaO.subtract(new BigDecimal(1.65).multiply(Al2O3_TiO2)).subtract(new BigDecimal(0.35).multiply(Fe2O3)).divide(new BigDecimal(2.8),10,BigDecimal.ROUND_HALF_UP).divide(SiO2,10,BigDecimal.ROUND_HALF_UP);
}
return KH==null?"":KH.setScale(3,BigDecimal.ROUND_HALF_EVEN).toString();
}
......@@ -582,7 +582,7 @@ public class CheckCountUtil {
BigDecimal SiO2 = getBigDecimal(countMap.get("SiO<sub>2</sub>"));
BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al<sub>2</sub>O<sub>3</sub>+TiO<sub>2</sub>"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe<sub>2</sub>O<sub>3</sub>"));
SM = SiO2.divide(Al2O3_TiO2.add(Fe2O3),4);
SM = SiO2.divide(Al2O3_TiO2.add(Fe2O3),10,BigDecimal.ROUND_HALF_UP);
}
return SM==null?"":SM.setScale(2,BigDecimal.ROUND_HALF_EVEN).toString();
}
......@@ -599,7 +599,7 @@ public class CheckCountUtil {
){
BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al<sub>2</sub>O<sub>3</sub>+TiO<sub>2</sub>"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe<sub>2</sub>O<sub>3</sub>"));
AM = Al2O3_TiO2.divide(Fe2O3,4);
AM = Al2O3_TiO2.divide(Fe2O3,10,BigDecimal.ROUND_HALF_UP);
}
return AM==null?"":AM.setScale(2,BigDecimal.ROUND_HALF_EVEN).toString();
}
......@@ -654,10 +654,10 @@ public class CheckCountUtil {
BigDecimal Mad1= getBigDecimal(countMap.get("Mad1"));
BigDecimal Mad2= getBigDecimal(countMap.get("Mad2"));
//计算Mad1 和 Mad2 的平均值
BC_Mad = Mad1.add(Mad2).divide(new BigDecimal(2),4);
BC_Mad = Mad1.add(Mad2).divide(new BigDecimal(2),10,BigDecimal.ROUND_HALF_UP);
}
return BC_Mad==null?"":BC_Mad.setScale(2,BigDecimal.ROUND_HALF_EVEN).toString();
return BC_Mad==null?"":BC_Mad.toString();
}
/**
......@@ -696,10 +696,10 @@ public class CheckCountUtil {
BigDecimal Aad1= getBigDecimal(countMap.get("Aad1"));
BigDecimal Aad2= getBigDecimal(countMap.get("Aad2"));
//计算Mad1 和 Mad2 的平均值
BC_Aad = Aad1.add(Aad2).divide(new BigDecimal(2),4);
BC_Aad = Aad1.add(Aad2).divide(new BigDecimal(2),10,BigDecimal.ROUND_HALF_UP);
}
return BC_Aad==null?"":BC_Aad.setScale(2,BigDecimal.ROUND_HALF_EVEN).toString();
return BC_Aad==null?"":BC_Aad.toString();
}
/**
......@@ -742,7 +742,7 @@ public class CheckCountUtil {
BigDecimal SZ_V1 = getBigDecimal(resultMap.get("烧重V1").trim());
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad"));
//计算的核心公式结果
BigDecimal countResult = YZ_V1.add(MZ_V1).subtract(SZ_V1).divide(YZ_V1,4);
BigDecimal countResult = YZ_V1.add(MZ_V1).subtract(SZ_V1).divide(YZ_V1,10,BigDecimal.ROUND_HALF_UP);
count = countResult.multiply(param100).subtract(BC_Mad);
}
......@@ -768,7 +768,7 @@ public class CheckCountUtil {
BigDecimal SZ_V2 = getBigDecimal(resultMap.get("烧重V2"));
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad"));
//计算的核心公式结果
BigDecimal countResult = YZ_V2.add(MZ_V2).subtract(SZ_V2).divide(YZ_V2,4);
BigDecimal countResult = YZ_V2.add(MZ_V2).subtract(SZ_V2).divide(YZ_V2,10,BigDecimal.ROUND_HALF_UP);
count = countResult.multiply(param100).subtract(BC_Mad);
}
return count==null?"":count.setScale(3,BigDecimal.ROUND_HALF_EVEN).toString();
......@@ -787,9 +787,9 @@ public class CheckCountUtil {
BigDecimal Vad1= getBigDecimal(countMap.get("Vad1"));
BigDecimal Vad2= getBigDecimal(countMap.get("Vad2"));
//计算Vad1 和 Vad2 的平均值
BC_Vad = Vad1.add(Vad2).divide(new BigDecimal(2),4);
BC_Vad = Vad1.add(Vad2).divide(new BigDecimal(2),10,BigDecimal.ROUND_HALF_UP);
}
return BC_Vad==null?"":BC_Vad.setScale(2,BigDecimal.ROUND_HALF_EVEN).toString();
return BC_Vad==null?"":BC_Vad.toString();
}
/**
......@@ -970,7 +970,7 @@ public class CheckCountUtil {
BigDecimal BC_Aad= getBigDecimal(countMap.get("报出_Aad"));
BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
if(BC_Mad.compareTo(param100)!=0){
count = BC_Aad.multiply(param100).divide(param100.subtract(BC_Mad),4);
count = BC_Aad.multiply(param100).divide(param100.subtract(BC_Mad),10,BigDecimal.ROUND_HALF_UP);
}
}
return count==null?"":count.toString();
......@@ -1090,7 +1090,7 @@ public class CheckCountUtil {
.subtract(new BigDecimal(92).multiply(BC_Aad))
.subtract(new BigDecimal(24).multiply(BC_Vad));
}
count = value.multiply(new BigDecimal(4.1816)).divide(param1000,4);
count = value.multiply(new BigDecimal(4.1816)).divide(param1000,10,BigDecimal.ROUND_HALF_UP);
}
return count==null?"":count.setScale(2,BigDecimal.ROUND_HALF_EVEN).toString();
......@@ -1185,8 +1185,8 @@ public class CheckCountUtil {
Math.pow(80,0.23)*Math.pow(G,0.82)*(10/(Math.pow(P80,0.5)- 10/Math.pow(F80,0.5)));
BigDecimal result1 = new BigDecimal(countResult);
BigDecimal value1 =
new BigDecimal(176.2).divide(result1,4).subtract(new BigDecimal(3.6).multiply(new BigDecimal(P80))).abs();
BigDecimal value2 = YMX_MJ_t.divide(YMX_kWh_t,4);
new BigDecimal(176.2).divide(result1,10,BigDecimal.ROUND_HALF_UP).subtract(new BigDecimal(3.6).multiply(new BigDecimal(P80))).abs();
BigDecimal value2 = YMX_MJ_t.divide(YMX_kWh_t,10,BigDecimal.ROUND_HALF_UP);
if(value1.compareTo(new BigDecimal(0.5) ) == -1 &&
value2.compareTo(new BigDecimal(3.5)) == 1 &&
value2.compareTo(new BigDecimal(3.7)) == -1){
......@@ -1208,7 +1208,7 @@ public class CheckCountUtil {
public static String countParallel(String mainResult, String secondaryResult) {
BigDecimal main = getBigDecimal(mainResult);
BigDecimal secondary = getBigDecimal(secondaryResult);
BigDecimal aveCount = main.add(secondary).divide(new BigDecimal(2),2);
BigDecimal aveCount = main.add(secondary).divide(new BigDecimal(2),10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = aveCount.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal endResult = null;
......@@ -1243,7 +1243,7 @@ public class CheckCountUtil {
//平均值
BigDecimal ResultsValue = null;
if(resultSum != null){
BigDecimal aveCount = resultSum.divide(new BigDecimal(values.length),2);
BigDecimal aveCount = resultSum.divide(new BigDecimal(values.length),10,BigDecimal.ROUND_HALF_UP);
BigDecimal result1 = aveCount.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if((resultInt1&1) == 1){ //如果结果为奇数
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment