Commit 9c1bd401 authored by 竹天卫's avatar 竹天卫

委托管理 校核计算功能 完成到Mad 检测项

parent 0ada32d0
......@@ -348,8 +348,6 @@ public class EntrustController {
}
@ApiOperation(value = "数据校核")
@PostMapping("/check")
public BaseResponse check(@RequestBody CheckQuery query) {
......
......@@ -154,31 +154,84 @@ public class CommonServiceImpl {
return entityEnclosureList;
}
/**
*
* @param teamGroupId 检测组id
* @param resultMap 输入集合
* @return
*/
public Map<String, Object> checkCount(Integer teamGroupId, Map<String, Object> resultMap ){
List<String> checkResutlList = teamMapper.getByGroup(teamGroupId);
//100倍
BigDecimal param100 = new BigDecimal(100.00);
//定义输出集合
Map<String, Object> countMap = new HashMap<>();
//输出检测项第一次循环
for(String name : checkResutlList){
if(name.equals("L.O.I")){
countMap.put("L.O.I",CheckCountUtil.checkCount(name,resultMap));
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("SiO2")){
countMap.put("SiO2",CheckCountUtil.checkCount(name,resultMap));
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Al2O3+TiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Al2O3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Fe2O3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Cl")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("CaO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}
}
//合量
BigDecimal countHL = CheckCountUtil.countHL(countMap);
countMap.put("合量", countHL);
//KH
BigDecimal countKH = CheckCountUtil.countKH(countMap);
countMap.put("KH", countKH);
//输出检测项第二次循环
for(String name : checkResutlList){
if(name.equals("合量")){
BigDecimal countHL = CheckCountUtil.countHL(countMap);
countMap.put(name, countHL);
}else if(name.equals("KH")){
BigDecimal countKH = CheckCountUtil.countKH(countMap);
countMap.put(name, countKH);
}else if(name.equals("SM")){
BigDecimal countSM = CheckCountUtil.countSM(countMap);
countMap.put(name, countSM);
}else if(name.equals("AM")){
BigDecimal countAM = CheckCountUtil.countAM(countMap);
countMap.put(name, countAM);
}else if(name.equals("易烧性等级")){
String burnupLevel = CheckCountUtil.countBurnupLevel(resultMap,countMap);
countMap.put(name, burnupLevel);
}else if(name.equals("Mad")){
BigDecimal countMad = CheckCountUtil.countMad(countMap);
countMap.put(name, countMad);
}
}
//输出检测项第三次循环
for(String name : checkResutlList){
if(name.equals("MadBE")){
BigDecimal countMadBE = CheckCountUtil.countMadBE(countMap);
countMap.put(name, countMadBE);
}
}
return countMap;
......
......@@ -131,8 +131,8 @@ public class CheckCountUtil {
}
}else if(name.equals("Cl")){
BigDecimal T = getBigDecimal(resultMap.get("T"));
BigDecimal V2 = getBigDecimal(resultMap.get("V2 "));
BigDecimal V1 = getBigDecimal(resultMap.get("V1 "));
BigDecimal V2 = getBigDecimal(resultMap.get("V2"));
BigDecimal V1 = getBigDecimal(resultMap.get("V1"));
BigDecimal mCl = getBigDecimal(resultMap.get("样重Cl"));
//计算的核心公式结果
BigDecimal countResult = T.multiply(V2.subtract(V1)).divide(mCl).divide(param10);
......@@ -156,7 +156,25 @@ public class CheckCountUtil {
}else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
}
}else if(name.equals("Mad1")){
BigDecimal YZ_M1 = getBigDecimal(resultMap.get("样重M1"));
BigDecimal MZ_M1 = getBigDecimal(resultMap.get("⽫重M1"));
BigDecimal SZ_M1 = getBigDecimal(resultMap.get("烧重M1"));
//计算的核心公式结果
BigDecimal countResult = YZ_M1.add(MZ_M1).subtract(SZ_M1).divide(YZ_M1);
endResult = countResult.multiply(param100);
}else if(name.equals("Mad2")){
BigDecimal YZ_M2 = getBigDecimal(resultMap.get("样重M2"));
BigDecimal MZ_M2 = getBigDecimal(resultMap.get("⽫重M2"));
BigDecimal SZ_M2 = getBigDecimal(resultMap.get("烧重M2"));
//计算的核心公式结果
BigDecimal countResult = YZ_M2.add(MZ_M2).subtract(SZ_M2).divide(YZ_M2);
endResult = countResult.multiply(param100);
}
return endResult;
}
......@@ -200,6 +218,94 @@ public class CheckCountUtil {
return KH;
}
/**
* 求SM SiO2/ ({Al2O3+TiO2} + Fe2O3)
* @param countMap
* @return
*/
public static BigDecimal countSM(Map<String, Object> countMap) {
BigDecimal SiO2 = getBigDecimal(countMap.get("SiO2"));
BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al2O3+TiO2"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3"));
BigDecimal SM = SiO2.divide(Al2O3_TiO2.add(Fe2O3));
return SM;
}
/**
* 求AM 「Al2O3+TiO2」/ Fe2O3
* @param countMap
* @return
*/
public static BigDecimal countAM(Map<String, Object> countMap) {
BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al2O3+TiO2"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3"));
BigDecimal AM = Al2O3_TiO2.divide(Fe2O3);
return AM;
}
/**
* 求易烧性等级
* A fCaO 1450 =<18.75 * “KH” - 16
* B fCaO 1450 >18.75 * “KH” - 16
* C fCaO 1450”>26.25 * “KH” - 22.15
* D fCaO 1450”>35 * “KH” - 29.3
* E fCaO 1450”>45 * “KH” - 37.4
* @param resultMap 输入集合
* @param countMap 输出集合
* @return
*/
public static String countBurnupLevel(Map<String, Object> resultMap, Map<String, Object> countMap) {
BigDecimal fCaO_1450 = getBigDecimal(resultMap.get("fCaO_1450"));
BigDecimal KH= getBigDecimal(countMap.get("KH"));
BigDecimal E = new BigDecimal(45).multiply(KH).subtract(new BigDecimal(37.4));
BigDecimal D = new BigDecimal(35).multiply(KH).subtract(new BigDecimal(29.3));
BigDecimal C = new BigDecimal(26.25).multiply(KH).subtract(new BigDecimal(22.15));
BigDecimal B = new BigDecimal(18.75).multiply(KH).subtract(new BigDecimal(16));
if(fCaO_1450.compareTo(E) == 1){
return "E";
}else if (fCaO_1450.compareTo(D) == 1){
return "D";
}else if (fCaO_1450.compareTo(C) == 1){
return "C";
}else if (fCaO_1450.compareTo(B) == 1){
return "B";
}else{
return "A";
}
}
/**
* 求Mad (Mad1 + Mad2 )/ 2
* @param countMap
* @return
*/
public static BigDecimal countMad(Map<String, Object> countMap) {
BigDecimal Mad1= getBigDecimal(countMap.get("Mad1"));
BigDecimal Mad2= getBigDecimal(countMap.get("Mad2"));
BigDecimal Mad = Mad1.add(Mad2).divide(new BigDecimal(2));
return Mad;
}
/**
* 求Mad BE列 :Mad*100
* @param countMap
* @return
*/
public static BigDecimal countMadBE(Map<String, Object> countMap) {
BigDecimal Mad= getBigDecimal(countMap.get("Mad"));
BigDecimal result1 = Mad.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal MadBE = null;
if((resultInt1&1) == 1){ //如果结果为奇数
MadBE = Mad.setScale(2,BigDecimal.ROUND_HALF_UP);
}else{
MadBE = Mad.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
}
return MadBE;
}
......@@ -209,22 +315,13 @@ public class CheckCountUtil {
}
//计算多个值的和
/*List<String> list=new ArrayList<>();
list.add("123.0");
list.add("12.0");
list.add("3.0");
BigDecimal count=new BigDecimal(0);
for(String s:list) {
count = count.add(new BigDecimal(s));
}
System.out.println(count);
*/
}
......
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