Commit f44e6cc3 authored by mengbali153's avatar mengbali153

Merge remote-tracking branch 'origin/master' into master

# Conflicts:
#	cement-business/src/main/java/cn/wise/sc/cement/business/controller/NormProductionController.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/controller/ReportController.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/controller/WeiXinController.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/model/IndustrialReport.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/model/SixElementReport.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/model/query/CheckCountSampleQuery.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/service/INormProductionService.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/CommonServiceImpl.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/EntrustServiceImpl.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/NormProductionServiceImpl.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/QualityApplyServiceImpl.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/WeiXinService.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/util/CheckCountUtil.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/util/weixin/Global.java
#	cement-business/src/main/java/cn/wise/sc/cement/business/util/weixin/WeixinInterfaceUtil.java
parents 1baf88a6 6a2b08fd
...@@ -223,9 +223,10 @@ public class NormProductionController { ...@@ -223,9 +223,10 @@ public class NormProductionController {
iNormProductionService.exportProduction(name, startTime, endTime, groupId, response); iNormProductionService.exportProduction(name, startTime, endTime, groupId, response);
} }
@GetMapping("/workload/statistics") @GetMapping("/workload/statistics")
@ApiOperation("工作量统计") @ApiOperation("工作量统计")
public BaseResponse<List<WorkloadStatisticsVo>> workloadStatistics(String start, String end) { public BaseResponse<List<WorkloadStatisticsVo>> workloadStatistics(String start, String end, Integer userId) {
Date startTime = null; Date startTime = null;
Date endTime = DateUtil.date(); Date endTime = DateUtil.date();
...@@ -234,7 +235,7 @@ public class NormProductionController { ...@@ -234,7 +235,7 @@ public class NormProductionController {
endTime = DateUtil.parseDate(end); endTime = DateUtil.parseDate(end);
} }
return BaseResponse.okData(iNormProductionService.workloadStatistics(startTime, endTime)); return BaseResponse.okData(iNormProductionService.workloadStatistics(startTime, endTime, userId));
} }
} }
......
...@@ -25,7 +25,6 @@ import org.springframework.web.bind.annotation.PathVariable; ...@@ -25,7 +25,6 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -91,7 +90,7 @@ public class ReportController { ...@@ -91,7 +90,7 @@ public class ReportController {
//首页及封面导出 //首页及封面导出
ReportDetailVo rts = iEntrustService.getReportDetail(entrustId); ReportDetailVo rts = iEntrustService.getReportDetail(entrustId);
if (rts == null) { if (rts == null){
return; return;
} }
Map<String, Object> beanParams = new HashMap<>(10); Map<String, Object> beanParams = new HashMap<>(10);
...@@ -108,6 +107,7 @@ public class ReportController { ...@@ -108,6 +107,7 @@ public class ReportController {
//六元素导出 //六元素导出
List<SixElementReport> list = iEntrustService.getSampleSixElementCheck(entrustId); List<SixElementReport> list = iEntrustService.getSampleSixElementCheck(entrustId);
list.forEach(this::initMapStr2AlongPro); list.forEach(this::initMapStr2AlongPro);
List<SixElementReport> al2o3AndTio2List = list.stream() List<SixElementReport> al2o3AndTio2List = list.stream()
.filter(arg -> !"-".equals(arg.getAl2o3AndTio2())) .filter(arg -> !"-".equals(arg.getAl2o3AndTio2()))
...@@ -121,7 +121,7 @@ public class ReportController { ...@@ -121,7 +121,7 @@ public class ReportController {
//化学工业导出 //化学工业导出
List<IndustrialReport> list1 = iEntrustService.getSampleIndustrialCheck(entrustId); List<IndustrialReport> list1 = iEntrustService.getSampleIndustrialCheck(entrustId);
list1.forEach(this::initMapStr2AlongPro); list1.forEach(this::initMapStr2AlongPro);
beanParams.put("list3", list1); beanParams.put("list3",list1);
WordUtil.writeWordReport(rts.getProjectName() + "(报告)", "report.ftl", WordUtil.writeWordReport(rts.getProjectName() + "(报告)", "report.ftl",
beanParams, response, FileExt.EXCL); beanParams, response, FileExt.EXCL);
...@@ -136,7 +136,7 @@ public class ReportController { ...@@ -136,7 +136,7 @@ public class ReportController {
*/ */
private void initMapStr2AlongPro(SixElementReport sixElement) { private void initMapStr2AlongPro(SixElementReport sixElement) {
String countResult = sixElement.getCountResult(); String countResult = sixElement.getCountResults();
HashMap<String, String> countResultMap = JSON.parseObject(countResult, HashMap.class); HashMap<String, String> countResultMap = JSON.parseObject(countResult, HashMap.class);
sixElement.setAl2o3("-"); sixElement.setAl2o3("-");
...@@ -159,16 +159,16 @@ public class ReportController { ...@@ -159,16 +159,16 @@ public class ReportController {
sixElement.setSo3(countResultMap.getOrDefault(SixElementKey.SO3.getKey(), "0")); sixElement.setSo3(countResultMap.getOrDefault(SixElementKey.SO3.getKey(), "0"));
} }
private void initMapStr2AlongPro(IndustrialReport industrialReport) { private void initMapStr2AlongPro(IndustrialReport industrialReport){
String countResult = industrialReport.getCountResult(); String countResult = industrialReport.getCountResults();
HashMap<String, String> countResultMap = JSON.parseObject(countResult, HashMap.class); HashMap<String, String> countResultMap = JSON.parseObject(countResult, HashMap.class);
industrialReport.setAad(countResultMap.getOrDefault(IndustrialElementKey.Aad.getKey(), "0")); industrialReport.setAad(countResultMap.getOrDefault(IndustrialElementKey.Aad.getKey(),"0"));
industrialReport.setJz(countResultMap.getOrDefault(IndustrialElementKey.JZ.getKey(), "0")); industrialReport.setJz(countResultMap.getOrDefault(IndustrialElementKey.JZ.getKey(),"0"));
industrialReport.setMad(countResultMap.getOrDefault(IndustrialElementKey.Mad.getKey(), "0")); industrialReport.setMad(countResultMap.getOrDefault(IndustrialElementKey.Mad.getKey(),"0"));
industrialReport.setMjkg(countResultMap.getOrDefault(IndustrialElementKey.QnetAdMJkg.getKey(), "0")); industrialReport.setMjkg(countResultMap.getOrDefault(IndustrialElementKey.QnetAdMJkg.getKey(),"0"));
industrialReport.setStad(countResultMap.getOrDefault(IndustrialElementKey.StAd.getKey(), "0")); industrialReport.setStad(countResultMap.getOrDefault(IndustrialElementKey.StAd.getKey(),"0"));
industrialReport.setVad(countResultMap.getOrDefault(IndustrialElementKey.Vad.getKey(), "0")); industrialReport.setVad(countResultMap.getOrDefault(IndustrialElementKey.Vad.getKey(),"0"));
} }
......
package cn.wise.sc.cement.business.controller; package cn.wise.sc.cement.business.controller;
import cn.hutool.core.util.StrUtil;
import cn.wise.sc.cement.business.model.BaseResponse; import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.service.impl.WeiXinService; import cn.wise.sc.cement.business.service.impl.WeiXinService;
import cn.wise.sc.cement.business.wrapper.WrapMapper;
import cn.wise.sc.cement.business.wrapper.Wrapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -13,7 +13,11 @@ import org.springframework.web.bind.annotation.GetMapping; ...@@ -13,7 +13,11 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Api(tags = "微信接口") @Api(tags = "微信接口")
@RestController @RestController
...@@ -28,6 +32,10 @@ public class WeiXinController { ...@@ -28,6 +32,10 @@ public class WeiXinController {
@ApiOperation(value = "获取登录token-小程序端") @ApiOperation(value = "获取登录token-小程序端")
@GetMapping("/getToken") @GetMapping("/getToken")
public BaseResponse getToken(String code) { public BaseResponse getToken(String code) {
log.debug("============================================");
log.debug("code: {}", code);
log.debug("=============================================");
try { try {
return weiXinService.getToken(code, "APP"); return weiXinService.getToken(code, "APP");
} catch (Exception e) { } catch (Exception e) {
...@@ -47,39 +55,74 @@ public class WeiXinController { ...@@ -47,39 +55,74 @@ public class WeiXinController {
return BaseResponse.errorMsg("失败!"); return BaseResponse.errorMsg("失败!");
} }
@ApiOperation(value = "获取accessToken信息-小程序端") @ApiOperation(value = "当前登录用户")
@GetMapping("/getAccessToken") @GetMapping("/getLoginUser")
public BaseResponse getAccessToken() { public BaseResponse getLoginUser() {
try { try {
String accessToken = weiXinService.getAccessToken();
return BaseResponse.okData(accessToken); return weiXinService.getLoginUser();
} catch (Exception e) { } catch (Exception e) {
log.debug("获取accessToken信息-小程序端{}", e); log.debug("当前登录用户{}", e);
} }
return BaseResponse.errorMsg("失败!"); return BaseResponse.errorMsg("失败!");
} }
@ApiOperation(value = "获取accessToken信息-管理端") @GetMapping("/jsapiTicket")
@GetMapping("/getPCAccessToken") @ApiOperation("获取jsapi_ticket")
public BaseResponse getPCAccessToken() { public BaseResponse<Map> getAccessToken() {
String accessToken = weiXinService.getJsapiTicket();
Map<String, String> rts = new HashMap<>(5);
rts.put("jsapi_ticket", accessToken);
rts.put("timestamp", (new Date()).getTime() / 1000 + "");
rts.put("noncestr", "Wm3WZYTPz0wzccnW");
rts.put("app_id", "ww348f91b2573c1867");
rts.put("jsApiList","['scanQRCode']");
return BaseResponse.okData(rts);
}
@GetMapping("/signature")
@ApiOperation("获取accessToken")
public BaseResponse<String> signature(String param) {
MessageDigest md;
String tmpStr = null;
try { try {
String accessToken = weiXinService.getPCAccessToken(); md = MessageDigest.getInstance("SHA-1");
return BaseResponse.okData(accessToken); byte[] digest = md.digest(param.getBytes());
} catch (Exception e) { tmpStr = byteToStr(digest);
log.debug("获取accessToken信息-管理端{}", e); } catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} }
return BaseResponse.errorMsg("失败!"); return BaseResponse.okData(StrUtil.swapCase(tmpStr));
} }
@ApiOperation(value = "当前登录用户") /**
@GetMapping("/getLoginUser") * 将字节数组转换为十六进制字符串
public BaseResponse getLoginUser() { *
try { * @param byteArray
return weiXinService.getLoginUser(); * @return
} catch (Exception e) { */
log.debug("当前登录用户{}", e); private static String byteToStr(byte[] byteArray) {
String strDigest = "";
for (int i = 0; i < byteArray.length; i++) {
strDigest += byteToHexStr(byteArray[i]);
} }
return BaseResponse.errorMsg("失败!"); return strDigest;
} }
/**
* 将字节转换为十六进制字符串
*
* @param mByte
* @return
*/
private static String byteToHexStr(byte mByte) {
char[] Digit = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
char[] tempArr = new char[2];
tempArr[0] = Digit[(mByte >>> 4) & 0X0F];
tempArr[1] = Digit[mByte & 0X0F];
String s = new String(tempArr);
return s;
}
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<select id="getSampleSixElementCheck" resultType="cn.wise.sc.cement.business.model.SixElementReport"> <select id="getSampleSixElementCheck" resultType="cn.wise.sc.cement.business.model.SixElementReport">
SELECT * FROM (SELECT count_result,entrust_id,team_group_name,sct.sample_id FROM sample_check sc SELECT * FROM (SELECT count_results,entrust_id,team_group_name,sct.sample_id FROM sample_check sc
LEFT JOIN LEFT JOIN
(SELECT check_id,sample_id FROM sample_check_team) sct (SELECT check_id,sample_id FROM sample_check_team) sct
ON sct.check_id = sc.id ON sct.check_id = sc.id
...@@ -14,12 +14,12 @@ ...@@ -14,12 +14,12 @@
(SELECT cement_code,sample_code,sample_form,`name` as sample_name,weight,id (SELECT cement_code,sample_code,sample_form,`name` as sample_name,weight,id
FROM sample) s FROM sample) s
ON s.id = sscct.sample_id AND entrust_id = #{entrustId} ON s.id = sscct.sample_id AND entrust_id = #{entrustId}
WHERE count_result IS NOT NULL; WHERE count_results IS NOT NULL;
</select> </select>
<select id="getSampleIndustrialCheck" resultType="cn.wise.sc.cement.business.model.IndustrialReport"> <select id="getSampleIndustrialCheck" resultType="cn.wise.sc.cement.business.model.IndustrialReport">
SELECT * FROM (SELECT count_result,entrust_id,team_group_name,sct.sample_id FROM sample_check sc SELECT * FROM (SELECT count_results,entrust_id,team_group_name,sct.sample_id FROM sample_check sc
LEFT JOIN LEFT JOIN
(SELECT check_id,sample_id FROM sample_check_team) sct (SELECT check_id,sample_id FROM sample_check_team) sct
ON sct.check_id = sc.id ON sct.check_id = sc.id
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
(SELECT cement_code,sample_code,sample_form,`name` as sample_name,weight,id (SELECT cement_code,sample_code,sample_form,`name` as sample_name,weight,id
FROM sample) s FROM sample) s
ON s.id = sscct.sample_id AND entrust_id = #{entrustId} ON s.id = sscct.sample_id AND entrust_id = #{entrustId}
WHERE count_result IS NOT NULL; WHERE count_results IS NOT NULL;
</select> </select>
</mapper> </mapper>
package cn.wise.sc.cement.business.model; package cn.wise.sc.cement.business.model;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -42,7 +41,7 @@ public class IndustrialReport implements Serializable { ...@@ -42,7 +41,7 @@ public class IndustrialReport implements Serializable {
/** /**
* 校核数据 * 校核数据
*/ */
private String countResult; private String countResults;
//下面是工业特性得检测项 //下面是工业特性得检测项
......
package cn.wise.sc.cement.business.model;
/**
* @author: Seven.wk
* @description: 数据返回类
* @create: 2018/07/04
*/
public class ResultVO<T> {
private Integer code;
private String message;
private T data;
public ResultVO() {
}
public ResultVO(Integer code, String message) {
this.code = code;
this.message = message;
}
public ResultVO(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
...@@ -42,24 +42,24 @@ public class SixElementReport implements Serializable { ...@@ -42,24 +42,24 @@ public class SixElementReport implements Serializable {
/** /**
* 校核数据 * 校核数据
*/ */
private String countResult; private String countResults;
//下面为六元素 //下面为六元素
private String loi = ""; private String loi ="";
private String sio2 = ""; private String sio2 ="";
private String fe2o3 = ""; private String fe2o3 ="";
private String cao = ""; private String cao ="";
private String mgo = ""; private String mgo ="";
private String so3 = ""; private String so3 ="";
private String cl = ""; private String cl="";
//情况一:Al2O3(含TiO3) //情况一:Al2O3(含TiO3)
private String al2o3AndTio2 = ""; private String al2o3AndTio2 ="";
//情况二:Al2O3和TiO3单独分开 //情况二:Al2O3和TiO3单独分开
private String al2o3 = ""; private String al2o3 ="";
private String tio2 = ""; private String tio2 ="";
} }
...@@ -85,22 +85,20 @@ public interface INormProductionService extends IService<NormProduction> { ...@@ -85,22 +85,20 @@ public interface INormProductionService extends IService<NormProduction> {
* @param end 结束时间 * @param end 结束时间
* @return 详细信息 * @return 详细信息
*/ */
List<ProductionVo> production(String name, Long start, Long end, Integer groupId); List<ProductionVo> production(String name,Long start,Long end,Integer groupId);
/** /**
* 导出标准统计 * 导出标准统计
*
* @param start 开始时间 * @param start 开始时间
* @param end 结束时间 * @param end 结束时间
* @param name 人员名字 * @param name 人员名字
* @param groupId 部门id * @param groupId 部门id
* @param response 响应体 * @param response 响应体
*/ */
void exportNormProductionStatistics(Long start, Long end, String name, Integer groupId, HttpServletResponse response); void exportNormProductionStatistics(Long start, Long end,String name,Integer groupId, HttpServletResponse response);
/** /**
* 导出个人标准产值详情列表 * 导出个人标准产值详情列表
*
* @param userId 用户id * @param userId 用户id
* @param startTime 开始时间 * @param startTime 开始时间
* @param endTime 结束时间 * @param endTime 结束时间
...@@ -110,20 +108,18 @@ public interface INormProductionService extends IService<NormProduction> { ...@@ -110,20 +108,18 @@ public interface INormProductionService extends IService<NormProduction> {
/** /**
* 导出产值总统计列表 * 导出产值总统计列表
*
* @param name 名字检索 * @param name 名字检索
* @param startTime 开始时间 * @param startTime 开始时间
* @param endTime 结束时间 * @param endTime 结束时间
* @param response 响应体 * @param response 响应体
*/ */
void exportProduction(String name, Long startTime, Long endTime, Integer groupId, HttpServletResponse response); void exportProduction(String name, Long startTime, Long endTime,Integer groupId,HttpServletResponse response);
/** /**
* 统计工作量 * 统计工作量
*
* @param startTime 开始时间 * @param startTime 开始时间
* @param endTime 结束时间 * @param endTime 结束时间
* @return 统计对象 * @return 统计对象
*/ */
List<WorkloadStatisticsVo> workloadStatistics(Date startTime, Date endTime); List<WorkloadStatisticsVo> workloadStatistics(Date startTime, Date endTime,Integer userId);
} }
package cn.wise.sc.cement.business.service.impl; package cn.wise.sc.cement.business.service.impl;
import cn.wise.sc.cement.business.entity.EntityEnclosure; import cn.wise.sc.cement.business.entity.EntityEnclosure;
import cn.wise.sc.cement.business.entity.TeamGroup; import cn.wise.sc.cement.business.entity.TeamGroup;
import cn.wise.sc.cement.business.mapper.EntityEnclosureMapper; import cn.wise.sc.cement.business.mapper.EntityEnclosureMapper;
...@@ -9,7 +11,9 @@ import cn.wise.sc.cement.business.model.BaseResponse; ...@@ -9,7 +11,9 @@ import cn.wise.sc.cement.business.model.BaseResponse;
import cn.wise.sc.cement.business.model.query.EnclosureQuery; import cn.wise.sc.cement.business.model.query.EnclosureQuery;
import cn.wise.sc.cement.business.service.IEntityEnclosureService; import cn.wise.sc.cement.business.service.IEntityEnclosureService;
import cn.wise.sc.cement.business.util.CheckCountUtil; import cn.wise.sc.cement.business.util.CheckCountUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.swagger.models.auth.In; import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -34,44 +38,41 @@ public class CommonServiceImpl { ...@@ -34,44 +38,41 @@ public class CommonServiceImpl {
/** /**
* 生成编号 * 生成编号
*
* @param prefix 编号前缀: 申请编号SQ * @param prefix 编号前缀: 申请编号SQ
* @param counts 当天申请数量 生成的编号+1 * @param counts 当天申请数量 生成的编号+1
* @return * @return
*/ */
public String createNo(String prefix, int counts) { public String createNo(String prefix, int counts){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");//注意月份是MM SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");//注意月份是MM
String date = sdf.format(new Date()); String date = sdf.format(new Date());
int nextNo = counts + 1; int nextNo = counts+1;
String tailNo = counts == 0 ? "00" + nextNo : (counts < 10 ? "00" + nextNo : (counts < 100 ? "0" + nextNo : String.valueOf(nextNo))); String tailNo = counts==0?"00"+nextNo:(counts<10?"00"+nextNo:(counts<100?"0"+nextNo:String.valueOf(nextNo)));
String applyNo = prefix + date + tailNo; String applyNo = prefix+date+tailNo;
return applyNo; return applyNo;
} }
/** /**
* 生成平行样编号 * 生成平行样编号
*
* @param cementCode * @param cementCode
* @return * @return
*/ */
public String createParallelCode(String cementCode) { public String createParallelCode(String cementCode){
String[] cementCodes = cementCode.split("-"); String[] cementCodes = cementCode.split("-");
Integer counts = Integer.parseInt(cementCodes[1]) + 1; Integer counts = Integer.parseInt(cementCodes[1])+1;
String tailNo = counts < 10 ? ("000" + counts) : String tailNo = counts<10?("000"+counts):
counts < 100 ? ("00" + counts) : counts<100?("00"+counts):
counts < 1000 ? ("0" + counts) : counts<1000?("0"+counts):
String.valueOf(counts); String.valueOf(counts);
String resultCode = cementCodes[0] + "-" + tailNo; String resultCode = cementCodes[0]+"-"+tailNo;
return resultCode; return resultCode;
} }
/** /**
* 获取本所编号的Integer类型 * 获取本所编号的Integer类型
*
* @param cementCode * @param cementCode
* @return * @return
*/ */
public Integer getIntegerCode(String cementCode) { public Integer getIntegerCode(String cementCode){
String[] cementCodes = cementCode.split("-"); String[] cementCodes = cementCode.split("-");
Integer counts = Integer.parseInt(cementCodes[1]); Integer counts = Integer.parseInt(cementCodes[1]);
return counts; return counts;
...@@ -79,11 +80,10 @@ public class CommonServiceImpl { ...@@ -79,11 +80,10 @@ public class CommonServiceImpl {
/** /**
* 获取本所编号年份的Integer类型 * 获取本所编号年份的Integer类型
*
* @param cementCode * @param cementCode
* @return * @return
*/ */
public String getIntegerYear(String cementCode) { public String getIntegerYear(String cementCode){
String[] cementCodes = cementCode.split("-"); String[] cementCodes = cementCode.split("-");
String counts = cementCodes[0]; String counts = cementCodes[0];
return counts; return counts;
...@@ -91,40 +91,39 @@ public class CommonServiceImpl { ...@@ -91,40 +91,39 @@ public class CommonServiceImpl {
/** /**
* Integer补0 转String * Integer补0 转String
*
* @param counts * @param counts
* @return * @return
*/ */
public String getCementCode(Integer counts) { public String getCementCode(Integer counts){
String tailNo = counts < 10 ? ("000" + counts) : String tailNo = counts<10?("000"+counts):
counts < 100 ? ("00" + counts) : counts<100?("00"+counts):
counts < 1000 ? ("0" + counts) : counts<1000?("0"+counts):
String.valueOf(counts); String.valueOf(counts);
return tailNo; return tailNo;
} }
/** /**
* 保存附件信息 * 保存附件信息
*
* @param entityType 实体类型(0:用户(头像),1:合同附件,3设备校核附件,4标样材料) * @param entityType 实体类型(0:用户(头像),1:合同附件,3设备校核附件,4标样材料)
* @param entityId 关联实体类id * @param entityId 关联实体类id
* @param enclosureQueryList 上传的附件列表 * @param enclosureQueryList 上传的附件列表
*/ */
public Boolean saveEntityEnclosure(Integer entityType, Integer entityId, List<EnclosureQuery> enclosureQueryList) { public Boolean saveEntityEnclosure(Integer entityType, Integer entityId, List<EnclosureQuery> enclosureQueryList ){
Boolean ref = false; Boolean ref = false;
QueryWrapper<EntityEnclosure> wrapper = new QueryWrapper<>(); QueryWrapper<EntityEnclosure> wrapper = new QueryWrapper<>();
wrapper.eq("entity_type", entityType); wrapper.eq("entity_type", entityType);
wrapper.eq("entity_id", entityId); wrapper.eq("entity_id", entityId);
List<EntityEnclosure> entityEnclosureList = entityEnclosureMapper.selectList(wrapper); List<EntityEnclosure> entityEnclosureList = entityEnclosureMapper.selectList(wrapper);
if (entityEnclosureList != null && entityEnclosureList.size() > 0) { if(entityEnclosureList != null && entityEnclosureList.size()>0){
for (EntityEnclosure eeOld : entityEnclosureList) { for(EntityEnclosure eeOld : entityEnclosureList){
eeOld.setIsDeleted(0); eeOld.setIsDeleted(0);
entityEnclosureMapper.updateById(eeOld); entityEnclosureMapper.updateById(eeOld);
} }
} }
if (enclosureQueryList != null && enclosureQueryList.size() > 0) { if(enclosureQueryList != null && enclosureQueryList.size()>0){
List<EntityEnclosure> eeList = new ArrayList<>(); List<EntityEnclosure> eeList = new ArrayList<>();
for (int i = 0; i < enclosureQueryList.size(); i++) { for(int i = 0; i < enclosureQueryList.size(); i++){
EnclosureQuery enclosureDto = enclosureQueryList.get(i); EnclosureQuery enclosureDto = enclosureQueryList.get(i);
EntityEnclosure ee = new EntityEnclosure(); EntityEnclosure ee = new EntityEnclosure();
ee.setEntityId(entityId); ee.setEntityId(entityId);
...@@ -145,12 +144,11 @@ public class CommonServiceImpl { ...@@ -145,12 +144,11 @@ public class CommonServiceImpl {
/** /**
* 根据实体类型 和实体类id获取附件列表 * 根据实体类型 和实体类id获取附件列表
*
* @param entityType 实体类型(0:用户(头像),1:合同附件,3设备校核附件,4标样材料) * @param entityType 实体类型(0:用户(头像),1:合同附件,3设备校核附件,4标样材料)
* @param entityId 关联实体类id * @param entityId 关联实体类id
* @return * @return
*/ */
public List<EntityEnclosure> getEnclosureList(Integer entityType, Integer entityId) { public List<EntityEnclosure> getEnclosureList(Integer entityType, Integer entityId){
QueryWrapper<EntityEnclosure> wrapper = new QueryWrapper<>(); QueryWrapper<EntityEnclosure> wrapper = new QueryWrapper<>();
wrapper.eq("entity_type", entityType); wrapper.eq("entity_type", entityType);
wrapper.eq("entity_id", entityId); wrapper.eq("entity_id", entityId);
...@@ -158,84 +156,98 @@ public class CommonServiceImpl { ...@@ -158,84 +156,98 @@ public class CommonServiceImpl {
return entityEnclosureList; return entityEnclosureList;
} }
//Map转json数组
public JSONArray mapToJSONArray( Map<String, String> map){
JSONArray jsonArray = new JSONArray();
for(Map.Entry<String,String> entry : map.entrySet()){
JSONObject jsonObject = new JSONObject();
jsonObject.put("name",entry.getKey());
jsonObject.put("value",entry.getValue());
jsonArray.add(jsonObject);
}
return jsonArray;
}
/** /**
*
* @param checkResutlList 检测组id集合 * @param checkResutlList 检测组id集合
* @param resultMap 输入集合 * @param resultMap 输入集合
* @return * @return
*/ */
public Map<String, String> checkCount(List<String> checkResutlList, Map<String, Object> resultMap) { public Map<String, String> checkCount(List<String> checkResutlList, Map<String, String> resultMap ){
// List<String> checkResutlList = teamMapper.getByGroup(teamGroupId); // List<String> checkResutlList = teamMapper.getByGroup(teamGroupId);
//定义输出集合 //定义输出集合
Map<String, String> countMap = new HashMap<>(); Map<String, String> countMap = new HashMap<>();
//输出检测项第一次循环 //输出检测项第一次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("L.O.I")) { if(name.equals("L.O.I")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("SiO2")) { }else if(name.equals("SiO2")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("Al2O3+TiO2")) { }else if(name.equals("Al2O3+TiO2")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("Al2O3")) { }else if(name.equals("Al2O3")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("Fe2O3")) { }else if(name.equals("Fe2O3")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("CaO")) { }else if(name.equals("CaO")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("MgO")) { }else if(name.equals("MgO")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("TiO2")) { }else if(name.equals("TiO2")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("重量法_SO3")) { }else if(name.equals("重量法_SO3")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("K2O")) { }else if(name.equals("K2O")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("Na2O")) { }else if(name.equals("Na2O")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("MnO")) { }else if(name.equals("MnO")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("Cl")) { }else if(name.equals("Cl")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
} else if (name.equals("Mad1")) { }else if(name.equals("Mad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Aad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Aad2")) {
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
} else if (name.equals("Mad2")) { }else if(name.equals("焦渣")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
} else if (name.equals("Aad1")) { }else if(name.equals("St,ad")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap)); countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
} else if (name.equals("Aad2")) { }else if(name.equals("易磨性等级")){
countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
} else if (name.equals("焦渣")) {
countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
} else if (name.equals("St,ad")) {
countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
} else if (name.equals("易磨性等级")) {
countMap.put(name, CheckCountUtil.countYMXGrade(resultMap)); countMap.put(name, CheckCountUtil.countYMXGrade(resultMap));
} else if (name.equals("易磨性校验码")) { }else if(name.equals("易磨性校验码")){
countMap.put(name, CheckCountUtil.countYMXCode(resultMap)); countMap.put(name, CheckCountUtil.countYMXCode(resultMap));
} }
} }
//输出检测项第二次循环 //输出检测项第二次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("SO3")) { if(name.equals("SO3")){
String countSO3 = CheckCountUtil.countSO3(resultMap, countMap); String countSO3 = CheckCountUtil.countSO3(resultMap, countMap);
countMap.put(name, countSO3); countMap.put(name, countSO3);
} else if (name.equals("KH")) { }else if(name.equals("KH")){
String countKH = CheckCountUtil.countKH(countMap); String countKH = CheckCountUtil.countKH(countMap);
countMap.put(name, countKH); countMap.put(name, countKH);
} else if (name.equals("SM")) { }else if(name.equals("SM")){
String countSM = CheckCountUtil.countSM(countMap); String countSM = CheckCountUtil.countSM(countMap);
countMap.put(name, countSM); countMap.put(name, countSM);
} else if (name.equals("AM")) { }else if(name.equals("AM")){
String countAM = CheckCountUtil.countAM(countMap); String countAM = CheckCountUtil.countAM(countMap);
countMap.put(name, countAM); countMap.put(name, countAM);
} else if (name.equals("易烧性等级")) { }else if(name.equals("易烧性等级")){
String burnupLevel = CheckCountUtil.countBurnupLevel(resultMap, countMap); String burnupLevel = CheckCountUtil.countBurnupLevel(resultMap,countMap);
countMap.put(name, burnupLevel); countMap.put(name, burnupLevel);
} else if (name.equals("报出_Mad")) { }else if(name.equals("报出_Mad")){
String countBCMad = CheckCountUtil.countBCMad(countMap); String countBCMad = CheckCountUtil.countBCMad(countMap);
countMap.put(name, countBCMad); countMap.put(name, countBCMad);
} else if (name.equals("报出_Aad")) { }else if(name.equals("报出_Aad")){
String countBCAad = CheckCountUtil.countBCAad(countMap); String countBCAad = CheckCountUtil.countBCAad(countMap);
countMap.put(name, countBCAad); countMap.put(name, countBCAad);
} }
...@@ -243,26 +255,26 @@ public class CommonServiceImpl { ...@@ -243,26 +255,26 @@ public class CommonServiceImpl {
} }
//输出检测项第三次循环 //输出检测项第三次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("合量")) { if(name.equals("合量")){
String countHL = CheckCountUtil.countHL(countMap); String countHL = CheckCountUtil.countHL(countMap);
countMap.put(name, countHL); countMap.put(name, countHL);
} else if (name.equals("Mad")) { }else if(name.equals("Mad")){
String countMad = CheckCountUtil.countMad(countMap); String countMad = CheckCountUtil.countMad(countMap);
countMap.put(name, countMad); countMap.put(name, countMad);
} else if (name.equals("Aad")) { }else if(name.equals("Aad")){
String countAad = CheckCountUtil.countAad(countMap); String countAad = CheckCountUtil.countAad(countMap);
countMap.put(name, countAad); countMap.put(name, countAad);
} else if (name.equals("Vad1")) { }else if(name.equals("Vad1")){
String countVad1 = CheckCountUtil.countVad1(resultMap, countMap); String countVad1 = CheckCountUtil.countVad1(resultMap, countMap);
countMap.put(name, countVad1); countMap.put(name, countVad1);
} else if (name.equals("Vad2")) { }else if(name.equals("Vad2")) {
String countVad2 = CheckCountUtil.countVad2(resultMap, countMap); String countVad2 = CheckCountUtil.countVad2(resultMap, countMap);
countMap.put(name, countVad2); countMap.put(name, countVad2);
} else if (name.equals("Mad判断")) { }else if(name.equals("Mad判断")) {
String countMadPD = CheckCountUtil.countMadPD(countMap); String countMadPD = CheckCountUtil.countMadPD(countMap);
countMap.put(name, countMadPD); countMap.put(name, countMadPD);
} else if (name.equals("Ad")) { }else if(name.equals("Ad")) {
String countAd = CheckCountUtil.countAd(countMap); String countAd = CheckCountUtil.countAd(countMap);
countMap.put(name, countAd); countMap.put(name, countAd);
} }
...@@ -270,14 +282,14 @@ public class CommonServiceImpl { ...@@ -270,14 +282,14 @@ public class CommonServiceImpl {
} }
//输出检测项第四次循环 //输出检测项第四次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("报出_Vad")) { if(name.equals("报出_Vad")){
String countBCVad = CheckCountUtil.countBCVad(countMap); String countBCVad = CheckCountUtil.countBCVad(countMap);
countMap.put(name, countBCVad); countMap.put(name, countBCVad);
} else if (name.equals("Ad系数0.1或0")) { }else if(name.equals("Ad系数0.1或0")) {
String countAdXS = CheckCountUtil.countAdXS(countMap); String countAdXS = CheckCountUtil.countAdXS(countMap);
countMap.put(name, countAdXS); countMap.put(name, countAdXS);
} else if (name.equals("Vdaf系数0.8~0.95")) { }else if(name.equals("Vdaf系数0.8~0.95")) {
String countVdafXS = CheckCountUtil.countVdafXS(countMap); String countVdafXS = CheckCountUtil.countVdafXS(countMap);
countMap.put(name, countVdafXS); countMap.put(name, countVdafXS);
} }
...@@ -285,33 +297,33 @@ public class CommonServiceImpl { ...@@ -285,33 +297,33 @@ public class CommonServiceImpl {
} }
//输出检测项第五次循环 //输出检测项第五次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("Vad")) { if(name.equals("Vad")){
String countVad = CheckCountUtil.countVad(countMap); String countVad = CheckCountUtil.countVad(countMap);
countMap.put(name, countVad); countMap.put(name, countVad);
} }
} }
//输出检测项第六次循环 //输出检测项第六次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("Vdaf")) { if(name.equals("Vdaf")){
String countVdaf = CheckCountUtil.countVdaf(countMap); String countVdaf = CheckCountUtil.countVdaf(countMap);
countMap.put(name, countVdaf); countMap.put(name, countVdaf);
} }
} }
//输出检测项第七次循环 //输出检测项第七次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("K1,")) { if(name.equals("K1,")){
String countK1_ = CheckCountUtil.countK1_(countMap); String countK1_ = CheckCountUtil.countK1_(countMap);
countMap.put(name, countK1_); countMap.put(name, countK1_);
} else if (name.equals("K")) { }else if(name.equals("K")) {
String countK = CheckCountUtil.countK(resultMap, countMap); String countK = CheckCountUtil.countK(resultMap, countMap);
countMap.put(name, countK); countMap.put(name, countK);
} else if (name.equals("Vdaf判断")) { }else if(name.equals("Vdaf判断")) {
String countVdafPD = CheckCountUtil.countVdafPD(countMap); String countVdafPD = CheckCountUtil.countVdafPD(countMap);
countMap.put(name, countVdafPD); countMap.put(name, countVdafPD);
} else if (name.equals("V,daf")) { }else if(name.equals("V,daf")) {
String countV_daf = CheckCountUtil.countV_daf(countMap); String countV_daf = CheckCountUtil.countV_daf(countMap);
countMap.put(name, countV_daf); countMap.put(name, countV_daf);
} }
...@@ -319,25 +331,47 @@ public class CommonServiceImpl { ...@@ -319,25 +331,47 @@ public class CommonServiceImpl {
} }
//输出检测项第八次循环 //输出检测项第八次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("40Mad 0或1")) { if(name.equals("40Mad 0或1")){
String count40Mad0Or1 = CheckCountUtil.count40Mad0Or1(countMap); String count40Mad0Or1 = CheckCountUtil.count40Mad0Or1(countMap);
countMap.put(name, count40Mad0Or1); countMap.put(name, count40Mad0Or1);
} else if (name.equals("K0,")) { }else if(name.equals("K0,")) {
String countK0_ = CheckCountUtil.countK0_(countMap); String countK0_ = CheckCountUtil.countK0_(countMap);
countMap.put(name, countK0_); countMap.put(name, countK0_);
} }
} }
//输出检测项第九次循环 //输出检测项第九次循环
for (String name : checkResutlList) { for(String name : checkResutlList){
if (name.equals("Qnet,ad MJ/kg")) { if(name.equals("Qnet,ad MJ/kg")){
String countQnet_adMJ_kg = CheckCountUtil.countQnet_adMJ_kg(resultMap, countMap); String countQnet_adMJ_kg = CheckCountUtil.countQnet_adMJ_kg(resultMap, countMap);
countMap.put(name, countQnet_adMJ_kg); countMap.put(name, countQnet_adMJ_kg);
} }
} }
return countMap; return countMap;
} }
} }
...@@ -19,6 +19,7 @@ import cn.wise.sc.cement.business.util.ExcelUtil; ...@@ -19,6 +19,7 @@ import cn.wise.sc.cement.business.util.ExcelUtil;
import cn.wise.sc.cement.business.util.PageUtil; import cn.wise.sc.cement.business.util.PageUtil;
import cn.wise.sc.cement.business.util.RedisUtil; import cn.wise.sc.cement.business.util.RedisUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
...@@ -208,6 +209,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -208,6 +209,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okMsg(msg); return BaseResponse.okMsg(msg);
} }
/** /**
* 新增委托 * 新增委托
* *
...@@ -264,13 +266,13 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -264,13 +266,13 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
} }
//选择Mg必须选择Ca;选择Al必须选择Fe //选择Mg必须选择Ca;选择Al必须选择Fe
if (teamNameList.contains("MgO")) { if(teamNameList.contains("MgO")){
if (!teamNameList.contains("CaO")) { if(!teamNameList.contains("CaO")){
return BaseResponse.errorMsg("选择MgO必须要选择CaO"); return BaseResponse.errorMsg("选择MgO必须要选择CaO");
} }
} }
if (teamNameList.contains("Al2O3")) { if(teamNameList.contains("Al2O3")){
if (!teamNameList.contains("Fe2O3")) { if(!teamNameList.contains("Fe2O3")){
return BaseResponse.errorMsg("选择Al2O3必须要选择Fe2O3"); return BaseResponse.errorMsg("选择Al2O3必须要选择Fe2O3");
} }
} }
...@@ -288,8 +290,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -288,8 +290,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (approvalId == null) { if (approvalId == null) {
return BaseResponse.errorMsg("委托评审信息错误"); return BaseResponse.errorMsg("委托评审信息错误");
} }
BaseResponse wrapper = userMessageService.sendMessage(approvalId, "您有一条新的委托单申请等待评审", entrust.getId(), SysUserMessage.MessageType.ENTRUST); BaseResponse wrapper = userMessageService.sendMessage(approvalId, "您有一条新的委托单申请等待评审",entrust.getId(), SysUserMessage.MessageType.ENTRUST);
if (wrapper.getCode() != 200) { if(wrapper.getCode() != 200){
return wrapper; return wrapper;
} }
return BaseResponse.okData(entrust); return BaseResponse.okData(entrust);
...@@ -401,6 +403,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -401,6 +403,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(entrustVo); return BaseResponse.okData(entrustVo);
} }
@Override @Override
public BaseResponse<EntrustVo> getDetailCapacity(Integer id) { public BaseResponse<EntrustVo> getDetailCapacity(Integer id) {
if (id == null) { if (id == null) {
...@@ -473,7 +476,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -473,7 +476,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
String[] teamIdS = teamIds.split("、"); String[] teamIdS = teamIds.split("、");
for (String teamId : teamIdS) { for (String teamId : teamIdS) {
Team team = teamMapper.selectById(Integer.valueOf(teamId)); Team team = teamMapper.selectById(Integer.valueOf(teamId));
if (team != null && "1".equals(team.getQualifications())) { if (team != null && 1 == team.getQualifications()) {
team.getName(); team.getName();
teamName = teamName.equals("") ? team.getName() : (teamName + "、" + team.getName()); teamName = teamName.equals("") ? team.getName() : (teamName + "、" + team.getName());
} }
...@@ -492,7 +495,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -492,7 +495,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
userMessageService.checkMessage(loginUser.getId(), id, SysUserMessage.MessageType.ENTRUST); userMessageService.checkMessage(loginUser.getId(), id, SysUserMessage.MessageType.ENTRUST);
return BaseResponse.okData(entrustVo); return BaseResponse.okData(entrustVo);
} }
/** /**
* 详情-基本信息 * 详情-基本信息
* *
...@@ -697,6 +699,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -697,6 +699,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return sampleCheckMapper.getSampleIndustrialCheck(entrustId); return sampleCheckMapper.getSampleIndustrialCheck(entrustId);
} }
/** /**
* 获取样品表里最大的平行样编号 * 获取样品表里最大的平行样编号
* *
...@@ -788,7 +791,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -788,7 +791,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (cementCodeInteger <= integerMaxCode) { if (cementCodeInteger <= integerMaxCode) {
return BaseResponse.errorMsg("本所编号必须大于最大值"); return BaseResponse.errorMsg("本所编号必须大于最大值");
} }
if (sampleQuery.getIsParallel() == null) { if(sampleQuery.getIsParallel() == null){
return BaseResponse.errorMsg("请选择是否需要平行样"); return BaseResponse.errorMsg("请选择是否需要平行样");
} }
if (sampleQuery.getIsParallel() == 0) { //非平行样 if (sampleQuery.getIsParallel() == 0) { //非平行样
...@@ -804,15 +807,15 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -804,15 +807,15 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setIsCheck(0)//样品校核未完成状态 .setIsCheck(0)//样品校核未完成状态
.setParallelCode(sampleQuery.getCementCode()); .setParallelCode(sampleQuery.getCementCode());
sampleList.add(sample); sampleList.add(sample);
} else { //是平行样 }else{ //是平行样
if (sampleQuery.getIsParallel() < 2) { if (sampleQuery.getIsParallel() < 2 ){
return BaseResponse.errorMsg("平行样数量至少2条"); return BaseResponse.errorMsg("平行样数量至少2条");
} }
if (sampleQuery.getIsParallel() > 4) { if (sampleQuery.getIsParallel() > 4 ){
return BaseResponse.errorMsg("平行样数量最多4条"); return BaseResponse.errorMsg("平行样数量最多4条");
} }
for (int i = 0; i < sampleQuery.getIsParallel(); i++) { for(int i=0; i<sampleQuery.getIsParallel(); i++){
integerMaxCode = cementCodeInteger > integerMaxCode ? cementCodeInteger : integerMaxCode + 1; integerMaxCode = cementCodeInteger > integerMaxCode ? cementCodeInteger : integerMaxCode+1;
String yearStr = commonService.getIntegerYear(sampleQuery.getCementCode()); String yearStr = commonService.getIntegerYear(sampleQuery.getCementCode());
maxCementCode = yearStr + "-" + commonService.getCementCode(integerMaxCode); maxCementCode = yearStr + "-" + commonService.getCementCode(integerMaxCode);
Sample sample = new Sample(); Sample sample = new Sample();
...@@ -836,7 +839,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -836,7 +839,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
entrust.setStatus(1).setProjectType(query.getProjectType()); entrust.setStatus(1).setProjectType(query.getProjectType());
//审批后生成委托编号 //审批后生成委托编号
String entrustCode = entrust.getProjectCode() + "_" + query.getSampleList().get(0).getCementCode(); String entrustCode = entrust.getProjectCode()+"_"+query.getSampleList().get(0).getCementCode();
entrust.setEntrustCode(entrustCode); entrust.setEntrustCode(entrustCode);
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "修改评审状态为“通过”", null); logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "修改评审状态为“通过”", null);
} else if (query.getIsAgree() == 2) { //驳回 } else if (query.getIsAgree() == 2) { //驳回
...@@ -920,8 +923,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -920,8 +923,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
sampleHandleEnclosureService.saveBatch(sampleHandleEnclosureList); sampleHandleEnclosureService.saveBatch(sampleHandleEnclosureList);
} }
//消息推送 //消息推送
BaseResponse wrapper = userMessageService.sendMessage(sampleHandle.getUserId(), "您有一条样品处理信息等待处理", entrust.getId(), SysUserMessage.MessageType.ENTRUST); BaseResponse wrapper = userMessageService.sendMessage(sampleHandle.getUserId(), "您有一条样品处理信息等待处理",entrust.getId(), SysUserMessage.MessageType.ENTRUST);
if (wrapper.getCode() != 200) { if(wrapper.getCode() != 200){
return wrapper; return wrapper;
} }
} }
...@@ -1194,9 +1197,9 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1194,9 +1197,9 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (sample.getIsParallel() == 0) { if (sample.getIsParallel() == 0) {
sample.setIsHandle(1); //样品处理全部完成 sample.setIsHandle(1); //样品处理全部完成
sampleMapper.updateById(sample); sampleMapper.updateById(sample);
} else { } else{
List<Sample> sampleList1 = sampleMapper.getByCementCode(entrust.getId(), sample.getCementCode()); List<Sample> sampleList1 = sampleMapper.getByCementCode(entrust.getId(), sample.getCementCode());
if (sampleList1.size() < 2) { if(sampleList1.size() < 2 ){
return BaseResponse.errorMsg("平行样样品数量信息错误"); return BaseResponse.errorMsg("平行样样品数量信息错误");
} }
// 如果是平行样,平行样的状态也改成已处理完成 // 如果是平行样,平行样的状态也改成已处理完成
...@@ -1275,8 +1278,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1275,8 +1278,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
sampleDistributionList.add(sampleDistribution); sampleDistributionList.add(sampleDistribution);
//消息推送 //消息推送
BaseResponse wrapper = userMessageService.sendMessage(distributionTeamQuery.getUserId(), "您有一条样品检测信息等待接受", entrust.getId(), SysUserMessage.MessageType.ENTRUST); BaseResponse wrapper = userMessageService.sendMessage(distributionTeamQuery.getUserId(), "您有一条样品检测信息等待接受",entrust.getId(), SysUserMessage.MessageType.ENTRUST);
if (wrapper.getCode() != 200) { if(wrapper.getCode() != 200){
return wrapper; return wrapper;
} }
} }
...@@ -1297,6 +1300,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1297,6 +1300,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okMsg("已派发检测项目任务"); return BaseResponse.okMsg("已派发检测项目任务");
} }
/** /**
* 派发任务分页 * 派发任务分页
* *
...@@ -1467,6 +1471,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1467,6 +1471,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(sampleDistribution); return BaseResponse.okData(sampleDistribution);
} }
/** /**
* 完成检测项目任务 * 完成检测项目任务
* *
...@@ -1627,12 +1632,12 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1627,12 +1632,12 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
List<Sample> sampleList1 = sampleMapper.getByCementCode(entrust.getId(), sample.getCementCode()); List<Sample> sampleList1 = sampleMapper.getByCementCode(entrust.getId(), sample.getCementCode());
//检测人员只能看到自己则的检测内容 //检测人员只能看到自己则的检测内容
if (sampleList1.size() > 1) { if (sampleList1.size() > 1) {
for (Sample sample1 : sampleList1) { for(Sample sample1 : sampleList1){
List<SampleDistributionTeamVo> sampleDistributionTeamVoList2 = distributionMapper.getDistributionTeamList(sample1.getId(), null); List<SampleDistributionTeamVo> sampleDistributionTeamVoList2 = distributionMapper.getDistributionTeamList(sample1.getId(), null);
if (sampleDistributionTeamVoList2.size() == sampleDistributionTeamVoList.size()) { if (sampleDistributionTeamVoList2.size() == sampleDistributionTeamVoList.size()) {
for (int i = 0; i < sampleDistributionTeamVoList.size(); i++) { for (int i = 0; i < sampleDistributionTeamVoList.size(); i++) {
SampleDistributionTeamVo sdtvo = sampleDistributionTeamVoList.get(i); SampleDistributionTeamVo sdtvo = sampleDistributionTeamVoList.get(i);
if (!sdtvo.getUserName().contains(sampleDistributionTeamVoList2.get(i).getUserName())) { if(!sdtvo.getUserName().contains(sampleDistributionTeamVoList2.get(i).getUserName())){
sdtvo.setUserName(sdtvo.getUserName() + "、" + sampleDistributionTeamVoList2.get(i).getUserName()); sdtvo.setUserName(sdtvo.getUserName() + "、" + sampleDistributionTeamVoList2.get(i).getUserName());
} }
} }
...@@ -1731,7 +1736,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1731,7 +1736,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
sampleCheckVo.setSampleCheckGroupVoList(sctVoList); sampleCheckVo.setSampleCheckGroupVoList(sctVoList);
sampleCheckVoList.add(sampleCheckVo); sampleCheckVoList.add(sampleCheckVo);
} else { //未参与校核计算的 }else{ //未参与校核计算的
SampleCheckVo sampleCheckVo = new SampleCheckVo(); SampleCheckVo sampleCheckVo = new SampleCheckVo();
sampleCheckVo.setEntrustId(entrust.getId()); sampleCheckVo.setEntrustId(entrust.getId());
sampleCheckVo.setSampleName(sampleOne.getName()); sampleCheckVo.setSampleName(sampleOne.getName());
...@@ -1773,6 +1778,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1773,6 +1778,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(sampleCheckVoList); return BaseResponse.okData(sampleCheckVoList);
} }
/** /**
* 根据样品id,检测组id,检测人id 查询任务检测附件信息 * 根据样品id,检测组id,检测人id 查询任务检测附件信息
* *
...@@ -1790,6 +1796,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1790,6 +1796,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(sdList); return BaseResponse.okData(sdList);
} }
/** /**
* 校核计算 * 校核计算
* *
...@@ -1823,7 +1830,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1823,7 +1830,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
SampleCheck check = null; SampleCheck check = null;
//保存校核表信息 //保存校核表信息
if (query.getId() == null) { if(query.getId() == null){
check = new SampleCheck(); check = new SampleCheck();
check.setEntrustId(entrust.getId()) check.setEntrustId(entrust.getId())
.setCementCode(query.getCementCode()) .setCementCode(query.getCementCode())
...@@ -1834,7 +1841,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1834,7 +1841,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setIsParallel(query.getIsParallel()) .setIsParallel(query.getIsParallel())
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
sampleCheckMapper.insert(check); sampleCheckMapper.insert(check);
} else { }else{
check = sampleCheckMapper.selectById(query.getId()); check = sampleCheckMapper.selectById(query.getId());
} }
//返回信息:样品的计算结果集合 //返回信息:样品的计算结果集合
...@@ -1845,27 +1852,33 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1845,27 +1852,33 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
//该检测项的每个样品的检测计算结果集合 //该检测项的每个样品的检测计算结果集合
List<Map<String, String>> resultMapList = new ArrayList<>(); List<Map<String, String>> resultMapList = new ArrayList<>();
for (CheckCountSampleQuery sampleQuery : query.getSampleList()) { for (CheckCountSampleQuery sampleQuery : query.getSampleList()) {
if (sampleQuery.getSmapleId() == null) { if(sampleQuery.getSmapleId() == null){
return BaseResponse.errorMsg("样品信息错误"); return BaseResponse.errorMsg("样品信息错误");
} }
if (StringUtils.isEmpty(sampleQuery.getParallelCode())) { if(StringUtils.isEmpty(sampleQuery.getParallelCode())){
return BaseResponse.errorMsg("请传入平行样编号"); return BaseResponse.errorMsg("请传入平行样编号");
} }
if (sampleQuery.getUserId() == null) { if(sampleQuery.getUserId() == null){
return BaseResponse.errorMsg("请传入检测人id"); return BaseResponse.errorMsg("请传入检测人id");
} }
if (sampleQuery.getEquipmentId() == null || StringUtils.isEmpty(sampleQuery.getEquipmentName())) { if(sampleQuery.getEquipmentId() == null || StringUtils.isEmpty(sampleQuery.getEquipmentName())){
return BaseResponse.errorMsg("请传选择检测设备"); return BaseResponse.errorMsg("请传选择检测设备");
} }
if (sampleQuery.getIntputResult() == null) { if(sampleQuery.getIntputResult() == null){
return BaseResponse.errorMsg("请输入检测数据"); return BaseResponse.errorMsg("请输入检测数据");
} }
JSONArray inputResult_jsonArray = commonService.mapToJSONArray(sampleQuery.getIntputResult());
String inputResult_String = JSON.toJSON(inputResult_jsonArray).toString();
System.out.println(inputResult_String);
//计算检测结果 //计算检测结果
Map<String, String> resultMap = commonService.checkCount(checkResutlList, sampleQuery.getIntputResult()); Map<String, String> resultMap = commonService.checkCount(checkResutlList, sampleQuery.getIntputResult());
resultMapList.add(resultMap); resultMapList.add(resultMap);
JSONArray resultMap_jsonArray = commonService.mapToJSONArray(resultMap);
String resultMap_String = JSON.toJSON(resultMap_jsonArray).toString();
System.out.println(resultMap_String);
//保存校核检测组检测项信息 //保存校核检测组检测项信息
SampleCheckTeam sampleCheckTeam = null; SampleCheckTeam sampleCheckTeam = null;
if (sampleQuery.getId() == null) { if(sampleQuery.getId() == null){
sampleCheckTeam = new SampleCheckTeam(); sampleCheckTeam = new SampleCheckTeam();
sampleCheckTeam.setCheckId(check.getId()) sampleCheckTeam.setCheckId(check.getId())
.setSampleId(sampleQuery.getSmapleId()) .setSampleId(sampleQuery.getSmapleId())
...@@ -1873,8 +1886,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1873,8 +1886,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setUserId(sampleQuery.getUserId()) .setUserId(sampleQuery.getUserId())
.setEquipmentId(sampleQuery.getEquipmentId()) .setEquipmentId(sampleQuery.getEquipmentId())
.setEquipmentName(sampleQuery.getEquipmentName()) .setEquipmentName(sampleQuery.getEquipmentName())
.setInputResult(JSON.toJSONString(sampleQuery.getIntputResult())) .setInputResult(inputResult_String)
.setCountResult(JSON.toJSONString(resultMap)) .setCountResult(resultMap_String)
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
sampleCheckTeamMapper.insert(sampleCheckTeam); sampleCheckTeamMapper.insert(sampleCheckTeam);
//添加设备使用记录 设备使用记录表 equipment_use //添加设备使用记录 设备使用记录表 equipment_use
...@@ -1891,115 +1904,114 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1891,115 +1904,114 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setCreateTime(LocalDateTime.now()) .setCreateTime(LocalDateTime.now())
.setRemark("委托派发-数据校核"); .setRemark("委托派发-数据校核");
equipmentUseMapper.insert(equipmentUse2); equipmentUseMapper.insert(equipmentUse2);
} else { }else{
sampleCheckTeam = sampleCheckTeamMapper.selectById(sampleQuery.getId()); sampleCheckTeam = sampleCheckTeamMapper.selectById(sampleQuery.getId());
sampleCheckTeam.setCheckId(check.getId()) sampleCheckTeam.setCheckId(check.getId())
.setInputResult(JSON.toJSONString(sampleQuery.getIntputResult())) .setInputResult(inputResult_String)
.setCountResult(JSON.toJSONString(resultMap)); .setCountResult(resultMap_String);
sampleCheckTeamMapper.updateById(sampleCheckTeam); sampleCheckTeamMapper.updateById(sampleCheckTeam);
} }
} }
countResultMap.put("resultMapList", resultMapList); countResultMap.put("resultMapList", resultMapList);
//计算最终计算结果 和 结果误差值 //计算最终计算结果 和 结果误差值
Map<String, String> groupMap = new HashMap<>(); //"L.O.I":"1,2,3,4..." Map<String,String> groupMap = new HashMap<>(); //"L.O.I":"1,2,3,4..."
if (resultMapList != null && resultMapList.size() > 0) { if(resultMapList != null && resultMapList.size()>0){
for (String name : checkResutlList) { for (String name : checkResutlList) {
if (name.equals("L.O.I")) { if (name.equals("L.O.I")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("SiO2")) { } else if (name.equals("SiO2")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name, (groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) ? groupMap.get(name) == null || groupMap.get(name).equals(""))?
map.get(name) : groupMap.get(name) + "," + map.get(name)); map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("Al2O3+TiO2")) { } else if (name.equals("Al2O3+TiO2")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("Al2O3")) { } else if (name.equals("Al2O3")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("Fe2O3")) { } else if (name.equals("Fe2O3")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("CaO")) { } else if (name.equals("CaO")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("MgO")) { } else if (name.equals("MgO")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("TiO2")) { } else if (name.equals("TiO2")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("K2O")) { } else if (name.equals("K2O")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("Na2O")) { } else if (name.equals("Na2O")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("SO3")) { } else if (name.equals("SO3")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("Cl")) { } else if (name.equals("Cl")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("合量")) { } else if (name.equals("合量")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("KH")) { } else if (name.equals("KH")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("SM")) { } else if (name.equals("SM")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else if (name.equals("AM")) { } else if (name.equals("AM")) {
for (Map<String, String> map : resultMapList) { for(Map<String, String> map : resultMapList){
groupMap.put(name, (groupMap == null || groupMap.size() == 0 || groupMap.put(name,(groupMap == null || groupMap.size()==0 ||
groupMap.get(name) == null || groupMap.get(name).equals("")) groupMap.get(name) == null || groupMap.get(name).equals(""))
? map.get(name) : groupMap.get(name) + "," + map.get(name)); ?map.get(name):groupMap.get(name)+","+map.get(name));
} }
} else { } else {
groupMap.put(name, "0"); groupMap.put(name, "0");
...@@ -2007,31 +2019,37 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2007,31 +2019,37 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
} }
//计算平行样的平均值 最大误差值 //计算平行样的平均值 最大误差值
Map<String, Map<String, String>> mapResult = CheckCountUtil.countParallelAvgError(groupMap); Map<String,Map<String,String>> mapResult = CheckCountUtil.countParallelAvgError(groupMap);
if (mapResult != null) { if(mapResult != null){
Map<String, String> countResults = mapResult.get("countResults"); Map<String,String> countResults= mapResult.get("countResults");
Map<String, String> countError = mapResult.get("countError"); JSONArray countResults_jsonArray = commonService.mapToJSONArray(countResults);
check.setCountResults(JSON.toJSONString(countResults)); String countResults_String = JSON.toJSON(countResults_jsonArray).toString();
check.setCountError(JSON.toJSONString(countError)); System.out.println(countResults_String);
Map<String,String> countError= mapResult.get("countError");
JSONArray countError_jsonArray = commonService.mapToJSONArray(countError);
String countError_String = JSON.toJSON(countError_jsonArray).toString();
System.out.println(countError_String);
check.setCountResults(countResults_String);
check.setCountError(countError_String);
sampleCheckMapper.updateById(check); sampleCheckMapper.updateById(check);
countResultMap.put("countResults", countResults); countResultMap.put("countResults", countResults_String);
countResultMap.put("countError", countError); countResultMap.put("countError", countError_String);
} }
} }
Boolean ret = true; //全部校核计算完成 Boolean ret = true; //全部校核计算完成
List<SampleCheckGroupVo> sampleCheckGroupVoList = distributionMapper.getSampleCheckGroupList(query.getSampleList().get(0).getSmapleId()); List<SampleCheckGroupVo> sampleCheckGroupVoList = distributionMapper.getSampleCheckGroupList( query.getSampleList().get(0).getSmapleId());
for (SampleCheckGroupVo groupVo : sampleCheckGroupVoList) { for(SampleCheckGroupVo groupVo : sampleCheckGroupVoList){
QueryWrapper<SampleCheck> sampleCheckQW = new QueryWrapper<>(); QueryWrapper<SampleCheck> sampleCheckQW = new QueryWrapper<>();
sampleCheckQW.eq("entrust_id", entrust.getId()); sampleCheckQW.eq("entrust_id", entrust.getId());
sampleCheckQW.eq("cement_code", query.getCementCode()); sampleCheckQW.eq("cement_code", query.getCementCode());
sampleCheckQW.eq("team_group_id", groupVo.getTeamGroupId()); sampleCheckQW.eq("team_group_id", groupVo.getTeamGroupId());
List<SampleCheck> sampleCheckList = sampleCheckMapper.selectList(sampleCheckQW); List<SampleCheck> sampleCheckList = sampleCheckMapper.selectList(sampleCheckQW);
if (sampleCheckList == null || sampleCheckList.size() == 0) { if(sampleCheckList == null || sampleCheckList.size()==0){
ret = false; //有一个检测组没有校核,证明校核没有完成 ret = false; //有一个检测组没有校核,证明校核没有完成
} }
} }
//如果检测组的校核全部完成 //如果检测组的校核全部完成
if (ret) { if(ret){
//更新样品表状态为已经校核状态 is_check 0未处理 1处理完成 //更新样品表状态为已经校核状态 is_check 0未处理 1处理完成
QueryWrapper<Sample> sampleQW = new QueryWrapper<>(); QueryWrapper<Sample> sampleQW = new QueryWrapper<>();
sampleQW.eq("cement_code", query.getCementCode()); sampleQW.eq("cement_code", query.getCementCode());
...@@ -2054,6 +2072,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2054,6 +2072,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(countResultMap); return BaseResponse.okData(countResultMap);
} }
/** /**
* 数据校核 * 数据校核
* *
...@@ -2176,6 +2195,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2176,6 +2195,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "数据校核", null); logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "数据校核", null);
return BaseResponse.okMsg("数据校核完成"); return BaseResponse.okMsg("数据校核完成");
}*/ }*/
@Override @Override
public BaseResponse<IPage<EntrustVo>> getReportPage(PageQuery pageQuery, String startDate, String endDate, Integer clientId, String projectName, String projectCode) { public BaseResponse<IPage<EntrustVo>> getReportPage(PageQuery pageQuery, String startDate, String endDate, Integer clientId, String projectName, String projectCode) {
...@@ -2257,7 +2277,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2257,7 +2277,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
for (String idStr : teamSplit) { for (String idStr : teamSplit) {
int id = Integer.parseInt(idStr); int id = Integer.parseInt(idStr);
teams.forEach(opt -> { teams.forEach(opt -> {
if (opt.getId() == id && "1".equals(opt.getQualifications())) { if (opt.getId() == id && 1 == opt.getQualifications()) {
if (StrUtil.isBlank(arg.getTeamName())) { if (StrUtil.isBlank(arg.getTeamName())) {
arg.setTeamName(opt.getName()); arg.setTeamName(opt.getName());
} else { } else {
...@@ -2306,9 +2326,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2306,9 +2326,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(b); return BaseResponse.okData(b);
} }
@Override @Override
public BaseResponse<IPage<EntrustVo>> getQualityPage(PageQuery pageQuery, String startDate, String endDate, Integer clientId, String projectName, String projectCode) { public BaseResponse<IPage<EntrustVo>> getQualityPage(PageQuery pageQuery, String startDate, String endDate, Integer clientId, String projectName, String projectCode) {
Map<String, Object> params = new HashMap<>(9); Map<String, Object> params = new HashMap<>(9);
params.put("startDate", startDate); params.put("startDate", startDate);
params.put("endDate", endDate); params.put("endDate", endDate);
...@@ -2442,6 +2464,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2442,6 +2464,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return qualityDetailVo; return qualityDetailVo;
} }
private String mapStringToMap(String str) { private String mapStringToMap(String str) {
str = str.substring(1, str.length() - 1); str = str.substring(1, str.length() - 1);
String[] strs = str.split(","); String[] strs = str.split(",");
...@@ -2631,4 +2654,5 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2631,4 +2654,5 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
} }
} }
...@@ -391,6 +391,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper, ...@@ -391,6 +391,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
@Override @Override
public List<ProductionVo> production(String name, Long start, Long end, Integer groupId) { public List<ProductionVo> production(String name, Long start, Long end, Integer groupId) {
Date startDate = null; Date startDate = null;
Date endDate = new Date(); Date endDate = new Date();
if (start != null && start != 0) { if (start != null && start != 0) {
...@@ -476,6 +477,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper, ...@@ -476,6 +477,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
return rts; return rts;
} }
@Override @Override
public void exportNormProductionStatistics(Long start, Long end, String name, Integer groupId, HttpServletResponse response) { public void exportNormProductionStatistics(Long start, Long end, String name, Integer groupId, HttpServletResponse response) {
BaseResponse<List<NormProductionStatistics>> listBaseResponse = normProductionStatistics(start, end, name, groupId); BaseResponse<List<NormProductionStatistics>> listBaseResponse = normProductionStatistics(start, end, name, groupId);
...@@ -590,7 +592,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper, ...@@ -590,7 +592,7 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
} }
@Override @Override
public List<WorkloadStatisticsVo> workloadStatistics(Date startTime, Date endTime) { public List<WorkloadStatisticsVo> workloadStatistics(Date startTime, Date endTime, Integer userId) {
long start = getDefaultStart(startTime == null ? 0 : startTime.getTime()); long start = getDefaultStart(startTime == null ? 0 : startTime.getTime());
long end = getDefaultEnd(endTime.getTime()); long end = getDefaultEnd(endTime.getTime());
...@@ -601,15 +603,20 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper, ...@@ -601,15 +603,20 @@ public class NormProductionServiceImpl extends ServiceImpl<NormProductionMapper,
if (startTime != null) { if (startTime != null) {
qw.ge("finish_time", DateUtil.format(DateUtil.date(start), "yyyy-MM-dd")); qw.ge("finish_time", DateUtil.format(DateUtil.date(start), "yyyy-MM-dd"));
} }
if (userId != null && userId != 0) {
qw.eq("user_id", userId);
}
qw.le("finish_time", DateUtil.format(DateUtil.date(end), "yyyy-MM-dd")); qw.le("finish_time", DateUtil.format(DateUtil.date(end), "yyyy-MM-dd"));
qw.eq("status", 2); qw.eq("status", 2);
List<SampleDistribution> sampleDistributions = iSampleDistributionService.list(qw); List<SampleDistribution> sampleDistributions = iSampleDistributionService.list(qw);
//脾气比能力大 蠢货
QueryWrapper<NonStandardApply> qwA = new QueryWrapper<>(); QueryWrapper<NonStandardApply> qwA = new QueryWrapper<>();
if (startTime != null) { if (startTime != null) {
qwA.ge("start_time", DateUtil.format(DateUtil.date(start), "yyyy-MM-dd")); qwA.ge("start_time", DateUtil.format(DateUtil.date(start), "yyyy-MM-dd"));
} }
if (userId != null && userId != 0) {
qwA.eq("user_id", userId);
}
qwA.le("start_time", DateUtil.format(DateUtil.date(end), "yyyy-MM-dd")); qwA.le("start_time", DateUtil.format(DateUtil.date(end), "yyyy-MM-dd"));
qwA.eq("status", 2); qwA.eq("status", 2);
List<NonStandardApply> nonStandardApplies = iNonStandardApplyService.list(qwA); List<NonStandardApply> nonStandardApplies = iNonStandardApplyService.list(qwA);
......
...@@ -13,7 +13,6 @@ import com.alibaba.fastjson.JSON; ...@@ -13,7 +13,6 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
...@@ -78,7 +77,6 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua ...@@ -78,7 +77,6 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua
List<QualityApply> list = this.list(qw); List<QualityApply> list = this.list(qw);
//找到所有项目id归类 //找到所有项目id归类
Set<Integer> projectIds = list.stream().map(QualityApply::getProjectId).collect(Collectors.toSet()); Set<Integer> projectIds = list.stream().map(QualityApply::getProjectId).collect(Collectors.toSet());
String[] headers = null;
List<Object[]> datas = new ArrayList<>(); List<Object[]> datas = new ArrayList<>();
//关联部门名字 //关联部门名字
Set<Integer> userIds = list.stream() Set<Integer> userIds = list.stream()
...@@ -125,8 +123,8 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua ...@@ -125,8 +123,8 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua
&& arg.getProjectId().intValue() == projectId) && arg.getProjectId().intValue() == projectId)
.collect(Collectors.toList()); .collect(Collectors.toList());
//以样品归类 //以样品归类
Set<Integer> sampleIds = samples.stream().map(QualityApply::getTeamGroupId) // Set<Integer> sampleIds = samples.stream().map(QualityApply::getTeamGroupId)
.collect(Collectors.toSet()); // .collect(Collectors.toSet());
//写每个样品的表头 //写每个样品的表头
list.stream() list.stream()
...@@ -168,10 +166,10 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua ...@@ -168,10 +166,10 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua
objs[7] = arg.getUserName(); objs[7] = arg.getUserName();
for (int i = 0; i < inputValus.size(); i++) { for (int i = 0; i < inputValus.size(); i++) {
String value = inputValus.get(i); String value = inputValus.get(i);
if (value == null) { if (value == null){
value = "0"; value = "0";
} }
if (value.contains("\"")) { if ( value.contains("\"")) {
value = value.replace("\"", ""); value = value.replace("\"", "");
} }
objs[8 + i] = value; objs[8 + i] = value;
...@@ -182,7 +180,7 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua ...@@ -182,7 +180,7 @@ public class QualityApplyServiceImpl extends ServiceImpl<QualityApplyMapper, Qua
} }
} }
ExcelUtil.excelExport("qualityApply", headers, datas, response); ExcelUtil.excelExport("qualityApply", null, datas, response);
} }
} }
...@@ -36,6 +36,9 @@ public class WeiXinService { ...@@ -36,6 +36,9 @@ public class WeiXinService {
@Autowired @Autowired
RedisUtil redisUtil; RedisUtil redisUtil;
final static String ACCESS_TOKEN = "ACCESS_TOKEN";
final static String JSAPITICKET = "JSAPITICKET";
/** /**
* 获取登录token * 获取登录token
* *
...@@ -107,6 +110,37 @@ public class WeiXinService { ...@@ -107,6 +110,37 @@ public class WeiXinService {
} }
} }
//获取accessToken信息
public String getJsapiTicket() {
try {
String accessToken;
String jsapiTicket;
if (!redisUtil.existsKey(ACCESS_TOKEN)) {
String param = "corpid=%s&corpsecret=%s";
param = String.format(param, corpid, corpsecret);
JSONObject jsonObject = WeixinInterfaceUtil.doGet(Global.ACCESSTOKENURL, param);
accessToken = jsonObject.getString("access_token");
redisUtil.setString(ACCESS_TOKEN, accessToken, 7200);
}
accessToken = redisUtil.getString(ACCESS_TOKEN) + "";
System.out.println("==================accessToken===================");
System.out.println(accessToken);
if (!redisUtil.existsKey(JSAPITICKET)) {
String param3 = "access_token=%s&type=agent_config";
param3 = String.format(param3, accessToken);
JSONObject ticketJsonObject = WeixinInterfaceUtil.doGet(Global.userTicket, param3);
jsapiTicket = ticketJsonObject.getString("ticket");
redisUtil.setString(JSAPITICKET, jsapiTicket, 7200);
}
jsapiTicket = redisUtil.getString(JSAPITICKET) + "";
return jsapiTicket;
} catch (Exception e) {
return null;
}
}
public String getPCAccessToken() { public String getPCAccessToken() {
try { try {
String param = "corpid=%s&corpsecret=%s"; String param = "corpid=%s&corpsecret=%s";
...@@ -121,6 +155,7 @@ public class WeiXinService { ...@@ -121,6 +155,7 @@ public class WeiXinService {
} }
} }
//获取用户信息 //获取用户信息
public JSONObject getUser(String accessToken, String userId) { public JSONObject getUser(String accessToken, String userId) {
try { try {
...@@ -145,4 +180,5 @@ public class WeiXinService { ...@@ -145,4 +180,5 @@ public class WeiXinService {
return BaseResponse.okData(loginUser); return BaseResponse.okData(loginUser);
} }
} }
...@@ -18,6 +18,7 @@ import java.util.Map; ...@@ -18,6 +18,7 @@ import java.util.Map;
* 校核计算工具类 * 校核计算工具类
* *
* @author zhutianwei * @author zhutianwei
*
*/ */
public class CheckCountUtil { public class CheckCountUtil {
...@@ -28,19 +29,19 @@ public class CheckCountUtil { ...@@ -28,19 +29,19 @@ public class CheckCountUtil {
public final static BigDecimal param10000 = new BigDecimal(10000.00); public final static BigDecimal param10000 = new BigDecimal(10000.00);
//object 转成 BigDecimal //object 转成 BigDecimal
public static BigDecimal getBigDecimal(Object value) { public static BigDecimal getBigDecimal(Object value ) {
BigDecimal ret = null; BigDecimal ret = null;
if (value != null) { if( value != null ) {
if (value instanceof BigDecimal) { if( value instanceof BigDecimal ) {
ret = (BigDecimal) value; ret = (BigDecimal) value;
} else if (value instanceof String) { } else if( value instanceof String ) {
ret = new BigDecimal((String) value); ret = new BigDecimal( (String) value );
} else if (value instanceof BigInteger) { } else if( value instanceof BigInteger) {
ret = new BigDecimal((BigInteger) value); ret = new BigDecimal( (BigInteger) value );
} else if (value instanceof Number) { } else if( value instanceof Number ) {
ret = new BigDecimal(((Number) value).doubleValue()); ret = new BigDecimal( ((Number)value).doubleValue() );
} else { } else {
throw new ClassCastException("Not possible to coerce [" + value + "] from class " + value.getClass() + " into a BigDecimal."); throw new ClassCastException("Not possible to coerce ["+value+"] from class "+value.getClass()+" into a BigDecimal.");
} }
} }
return ret; return ret;
...@@ -48,30 +49,29 @@ public class CheckCountUtil { ...@@ -48,30 +49,29 @@ public class CheckCountUtil {
/** /**
* 检测项名称 * 检测项名称
*
* @param name * @param name
* @return * @return
*/ */
//加 add 减 subtract 乘 multiply 除 divide //加 add 减 subtract 乘 multiply 除 divide
public static String checkCount(String name, Map<String, Object> resultMap) { public static String checkCount(String name, Map<String, String> resultMap) {
BigDecimal endResult = null; BigDecimal endResult = null;
if (name.equals("L.O.I")) { if(name.equals("L.O.I")){
//样重m1—保留4位⼩数 //样重m1—保留4位⼩数
BigDecimal m1 = getBigDecimal(resultMap.get("样重m1")).setScale(4, BigDecimal.ROUND_HALF_UP); BigDecimal m1 = getBigDecimal(resultMap.get("样重m1")).setScale(4,BigDecimal.ROUND_HALF_UP);
//空堝重m2—保留4位⼩数 //空堝重m2—保留4位⼩数
BigDecimal m2 = getBigDecimal(resultMap.get("空堝重m2")).setScale(4, BigDecimal.ROUND_HALF_UP); BigDecimal m2 = getBigDecimal(resultMap.get("空堝重m2")).setScale(4,BigDecimal.ROUND_HALF_UP);
//烧后重m3—保留4位⼩数 //烧后重m3—保留4位⼩数
BigDecimal m3 = getBigDecimal(resultMap.get("烧后重m3")).setScale(4, BigDecimal.ROUND_HALF_UP); BigDecimal m3 = getBigDecimal(resultMap.get("烧后重m3")).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,4);
BigDecimal result1 = countResult.multiply(param100.multiply(param100)); BigDecimal result1 = countResult.multiply(param100.multiply(param100));
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.multiply(param100).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.multiply(param100).setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.multiply(param100).subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.multiply(param100).subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("SiO2")) { }else if(name.equals("SiO2")){
//毫升数 //毫升数
BigDecimal VSiO2 = getBigDecimal(resultMap.get("VSiO2")); BigDecimal VSiO2 = getBigDecimal(resultMap.get("VSiO2"));
//滴定度 //滴定度
...@@ -81,28 +81,28 @@ public class CheckCountUtil { ...@@ -81,28 +81,28 @@ public class CheckCountUtil {
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = VSiO2.multiply(TSiO2).divide(m, 4); BigDecimal countResult = VSiO2.multiply(TSiO2).divide(m, 4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("Al2O3+TiO2")) { }else if(name.equals("Al2O3+TiO2")){
BigDecimal TAl2O3 = getBigDecimal(resultMap.get("TAl2O3")); BigDecimal TAl2O3 = getBigDecimal(resultMap.get("TAl2O3"));
BigDecimal VAl2O3 = getBigDecimal(resultMap.get("VAl2O3")); BigDecimal VAl2O3 = getBigDecimal(resultMap.get("VAl2O3"));
BigDecimal K = getBigDecimal(resultMap.get("K")); BigDecimal K = getBigDecimal(resultMap.get("K"));
BigDecimal VCuSO4_I = getBigDecimal(resultMap.get("VCuSO4(I)")); BigDecimal VCuSO4_I = getBigDecimal(resultMap.get("VCuSO4(I)"));
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
//计算的核心公式结果 //计算的核心公式结果
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,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("Al2O3")) { }else if(name.equals("Al2O3")){
BigDecimal TAl2O3 = getBigDecimal(resultMap.get("TAl2O3")); BigDecimal TAl2O3 = getBigDecimal(resultMap.get("TAl2O3"));
BigDecimal VAl2O3 = getBigDecimal(resultMap.get("VAl2O3")); BigDecimal VAl2O3 = getBigDecimal(resultMap.get("VAl2O3"));
BigDecimal K = getBigDecimal(resultMap.get("K")); BigDecimal K = getBigDecimal(resultMap.get("K"));
...@@ -110,220 +110,219 @@ public class CheckCountUtil { ...@@ -110,220 +110,219 @@ public class CheckCountUtil {
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
BigDecimal VCuSO4_II = getBigDecimal(resultMap.get("VCuSO4(II)")); BigDecimal VCuSO4_II = getBigDecimal(resultMap.get("VCuSO4(II)"));
//计算的核心公式结果 //计算的核心公式结果
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,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("Fe2O3")) { }else if(name.equals("Fe2O3")){
BigDecimal TFe2O3 = getBigDecimal(resultMap.get("TFe2O3")); BigDecimal TFe2O3 = getBigDecimal(resultMap.get("TFe2O3"));
BigDecimal VF2O3 = getBigDecimal(resultMap.get("VF2O3")); BigDecimal VF2O3 = getBigDecimal(resultMap.get("VF2O3"));
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = TFe2O3.multiply(VF2O3).divide(m, 4); BigDecimal countResult = TFe2O3.multiply(VF2O3).divide(m,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("CaO")) { }else if(name.equals("CaO")){
BigDecimal TCaO = getBigDecimal(resultMap.get("TCaO")); BigDecimal TCaO = getBigDecimal(resultMap.get("TCaO"));
BigDecimal VCaO = getBigDecimal(resultMap.get("VCaO")); BigDecimal VCaO = getBigDecimal(resultMap.get("VCaO"));
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = TCaO.multiply(VCaO).divide(m, 4); BigDecimal countResult = TCaO.multiply(VCaO).divide(m,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("MgO")) { }else if(name.equals("MgO")){
BigDecimal TMgO = getBigDecimal(resultMap.get("TMgO")); BigDecimal TMgO = getBigDecimal(resultMap.get("TMgO"));
BigDecimal VMgO = getBigDecimal(resultMap.get("VMgO")); BigDecimal VMgO = getBigDecimal(resultMap.get("VMgO"));
BigDecimal VCaO = getBigDecimal(resultMap.get("VCaO")); BigDecimal VCaO = getBigDecimal(resultMap.get("VCaO"));
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = TMgO.multiply(VMgO.subtract(VCaO)).divide(m, 4); BigDecimal countResult = TMgO.multiply(VMgO.subtract(VCaO)).divide(m,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("TiO2")) { }else if(name.equals("TiO2")){
BigDecimal TTiO2 = getBigDecimal(resultMap.get("TTiO2")); BigDecimal TTiO2 = getBigDecimal(resultMap.get("TTiO2"));
BigDecimal VCuSO4_II = getBigDecimal(resultMap.get("VCuSO4(II)")); BigDecimal VCuSO4_II = getBigDecimal(resultMap.get("VCuSO4(II)"));
BigDecimal K = getBigDecimal(resultMap.get("K")); BigDecimal K = getBigDecimal(resultMap.get("K"));
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = TTiO2.multiply(VCuSO4_II).multiply(K).divide(m, 4); BigDecimal countResult = TTiO2.multiply(VCuSO4_II).multiply(K).divide(m,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("重量法_SO3")) { }else if(name.equals("重量法_SO3")){
BigDecimal m2 = getBigDecimal(resultMap.get("烧重m2")); BigDecimal m2 = getBigDecimal(resultMap.get("烧重m2"));
BigDecimal m1 = getBigDecimal(resultMap.get("埚重m1")); BigDecimal m1 = getBigDecimal(resultMap.get("埚重m1"));
BigDecimal m3 = getBigDecimal(resultMap.get("空白m3")); BigDecimal m3 = getBigDecimal(resultMap.get("空白m3"));
BigDecimal m = getBigDecimal(resultMap.get("样重m")); BigDecimal m = getBigDecimal(resultMap.get("样重m"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = m2.subtract(m1).subtract(m3).divide(m, 4).multiply(new BigDecimal(0.343)); BigDecimal countResult = m2.subtract(m1).subtract(m3).divide(m,4).multiply(new BigDecimal(0.343));
endResult = countResult.multiply(param100).setScale(4, BigDecimal.ROUND_HALF_UP); endResult = countResult.multiply(param100).setScale(4,BigDecimal.ROUND_HALF_UP);
} else if (name.equals("K2O")) { }else if(name.equals("K2O")){
BigDecimal CK2O = getBigDecimal(resultMap.get("CK2O")); BigDecimal CK2O = getBigDecimal(resultMap.get("CK2O"));
BigDecimal V = getBigDecimal(resultMap.get("V")); BigDecimal V = getBigDecimal(resultMap.get("V"));
BigDecimal AK2O = getBigDecimal(resultMap.get("AK2O")); BigDecimal AK2O = getBigDecimal(resultMap.get("AK2O"));
BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O")); BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = CK2O.multiply(V).multiply(AK2O).divide(mR20, 4).divide(param10000, 4); BigDecimal countResult = CK2O.multiply(V).multiply(AK2O).divide(mR20,4).divide(param10000,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("Na2O")) { }else if(name.equals("Na2O")){
BigDecimal CNa2O = getBigDecimal(resultMap.get("CNa2O")); BigDecimal CNa2O = getBigDecimal(resultMap.get("CNa2O"));
BigDecimal V = getBigDecimal(resultMap.get("V")); BigDecimal V = getBigDecimal(resultMap.get("V"));
BigDecimal ANa2O = getBigDecimal(resultMap.get("ANa2O")); BigDecimal ANa2O = getBigDecimal(resultMap.get("ANa2O"));
BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O")); BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = CNa2O.multiply(V).multiply(ANa2O).divide(mR20, 4).divide(param10000, 4); BigDecimal countResult = CNa2O.multiply(V).multiply(ANa2O).divide(mR20,4).divide(param10000,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("MnO")) { }else if(name.equals("MnO")){
BigDecimal CMnO = getBigDecimal(resultMap.get("CMnO")); BigDecimal CMnO = getBigDecimal(resultMap.get("CMnO"));
BigDecimal V = getBigDecimal(resultMap.get("V")); BigDecimal V = getBigDecimal(resultMap.get("V"));
BigDecimal AMnO = getBigDecimal(resultMap.get("AMnO")); BigDecimal AMnO = getBigDecimal(resultMap.get("AMnO"));
BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O")); BigDecimal mR20 = getBigDecimal(resultMap.get("样重R2O"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = CMnO.multiply(V).multiply(AMnO).divide(mR20, 4).divide(param10000, 4); BigDecimal countResult = CMnO.multiply(V).multiply(AMnO).divide(mR20,4).divide(param10000,4);
BigDecimal result1 = countResult.multiply(param100); BigDecimal result1 = countResult.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("Cl")) { }else if(name.equals("Cl")){
BigDecimal T = getBigDecimal(resultMap.get("T")); BigDecimal T = getBigDecimal(resultMap.get("T"));
BigDecimal V2 = getBigDecimal(resultMap.get("V2")); BigDecimal V2 = getBigDecimal(resultMap.get("V2"));
BigDecimal V1 = getBigDecimal(resultMap.get("V1")); BigDecimal V1 = getBigDecimal(resultMap.get("V1"));
BigDecimal mCl = getBigDecimal(resultMap.get("样重Cl")); BigDecimal mCl = getBigDecimal(resultMap.get("样重Cl"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = T.multiply(V2.subtract(V1)).divide(mCl, 4).divide(param10, 4); BigDecimal countResult = T.multiply(V2.subtract(V1)).divide(mCl,4).divide(param10,4);
BigDecimal result1 = countResult.multiply(param1000); BigDecimal result1 = countResult.multiply(param1000);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = countResult.setScale(3, BigDecimal.ROUND_HALF_UP); endResult = countResult.setScale(3,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(3, BigDecimal.ROUND_HALF_UP); endResult = countResult.subtract(new BigDecimal(0.00000000001)).setScale(3,BigDecimal.ROUND_HALF_UP);
} }
} else if (name.equals("Mad1")) { }else if(name.equals("Mad1")){
BigDecimal YZ_M1 = getBigDecimal(resultMap.get("样重M1")); BigDecimal YZ_M1 = getBigDecimal(resultMap.get("样重M1"));
BigDecimal MZ_M1 = getBigDecimal(resultMap.get("皿重M1")); BigDecimal MZ_M1 = getBigDecimal(resultMap.get("皿重M1"));
BigDecimal SZ_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, 4); BigDecimal countResult = YZ_M1.add(MZ_M1).subtract(SZ_M1).divide(YZ_M1,4);
endResult = countResult.multiply(param100); endResult = countResult.multiply(param100);
} else if (name.equals("Mad2")) { }else if(name.equals("Mad2")){
BigDecimal YZ_M2 = getBigDecimal(resultMap.get("样重M2")); BigDecimal YZ_M2 = getBigDecimal(resultMap.get("样重M2"));
BigDecimal MZ_M2 = getBigDecimal(resultMap.get("皿重M2")); BigDecimal MZ_M2 = getBigDecimal(resultMap.get("皿重M2"));
BigDecimal SZ_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, 4); BigDecimal countResult = YZ_M2.add(MZ_M2).subtract(SZ_M2).divide(YZ_M2,4);
endResult = countResult.multiply(param100); endResult = countResult.multiply(param100);
} else if (name.equals("Aad1")) { }else if(name.equals("Aad1")){
BigDecimal SZ_A1 = getBigDecimal(resultMap.get("烧重A1")); BigDecimal SZ_A1 = getBigDecimal(resultMap.get("烧重A1"));
BigDecimal MZ_A1 = getBigDecimal(resultMap.get("皿重A1")); BigDecimal MZ_A1 = getBigDecimal(resultMap.get("皿重A1"));
BigDecimal YZ_A1 = getBigDecimal(resultMap.get("样重A1")); BigDecimal YZ_A1 = getBigDecimal(resultMap.get("样重A1"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = SZ_A1.subtract(MZ_A1).divide(YZ_A1, 4); BigDecimal countResult = SZ_A1.subtract(MZ_A1).divide(YZ_A1,4);
endResult = countResult.multiply(param100); endResult = countResult.multiply(param100);
} else if (name.equals("Aad2")) { }else if(name.equals("Aad2")){
BigDecimal SZ_A2 = getBigDecimal(resultMap.get("烧重A2")); BigDecimal SZ_A2 = getBigDecimal(resultMap.get("烧重A2"));
BigDecimal MZ_A2 = getBigDecimal(resultMap.get("皿重A2")); BigDecimal MZ_A2 = getBigDecimal(resultMap.get("皿重A2"));
BigDecimal YZ_A2 = getBigDecimal(resultMap.get("样重A2")); BigDecimal YZ_A2 = getBigDecimal(resultMap.get("样重A2"));
//计算的核心公式结果 //计算的核心公式结果
BigDecimal countResult = SZ_A2.subtract(MZ_A2).divide(YZ_A2, 4); BigDecimal countResult = SZ_A2.subtract(MZ_A2).divide(YZ_A2,4);
endResult = countResult.multiply(param100); endResult = countResult.multiply(param100);
} else if (name.equals("焦渣")) { }else if(name.equals("焦渣")){
endResult = getBigDecimal(resultMap.get("焦渣特征")); endResult = getBigDecimal(resultMap.get("焦渣特征"));
} else if (name.equals("St,ad")) { }else if(name.equals("St,ad")){
endResult = getBigDecimal(resultMap.get("显示值")); endResult = getBigDecimal(resultMap.get("显示值"));
} }
return endResult.toString(); return endResult.toString();
} }
/** /**
* 求SO3 * 求SO3
*
* @param resultMap * @param resultMap
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countSO3(Map<String, Object> resultMap, Map<String, String> countMap) { public static String countSO3(Map<String, String> resultMap, Map<String, String> countMap) {
BigDecimal weightSO3 = getBigDecimal(countMap.get("重量法_SO3")); BigDecimal weightSO3 = getBigDecimal(countMap.get("重量法_SO3"));
BigDecimal displaySO3 = getBigDecimal(resultMap.get("显示值")); BigDecimal displaySO3= getBigDecimal(resultMap.get("显示值"));
BigDecimal mSO3 = getBigDecimal(resultMap.get("样重SO3")); BigDecimal mSO3= getBigDecimal(resultMap.get("样重SO3"));
BigDecimal elseResult = displaySO3.multiply(new BigDecimal(2.5)); BigDecimal elseResult = displaySO3.multiply(new BigDecimal(2.5));
BigDecimal countResult = weightSO3.compareTo(new BigDecimal(0)) == 1 ? BigDecimal countResult = weightSO3.compareTo(new BigDecimal(0))==1?
weightSO3 : elseResult; weightSO3:elseResult;
BigDecimal result1 = countResult.multiply(param1000); BigDecimal result1 = countResult.multiply(param1000);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal count = null; BigDecimal count = null;
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
BigDecimal jsResult = weightSO3.compareTo(new BigDecimal(0)) == 1 ? BigDecimal jsResult = weightSO3.compareTo(new BigDecimal(0))==1?
weightSO3 : elseResult.multiply(mSO3).divide(mSO3, 4); weightSO3:elseResult.multiply(mSO3).divide(mSO3,4);
count = jsResult.setScale(3, BigDecimal.ROUND_HALF_UP); count = jsResult.setScale(3,BigDecimal.ROUND_HALF_UP);
} else { }else{
BigDecimal osResult = weightSO3.compareTo(new BigDecimal(0)) == 1 ? BigDecimal osResult = weightSO3.compareTo(new BigDecimal(0))==1?
weightSO3 : elseResult.multiply(mSO3).divide(mSO3, 4); weightSO3:elseResult.multiply(mSO3).divide(mSO3,4);
count = osResult.subtract(new BigDecimal(0.00000000001)).setScale(3, BigDecimal.ROUND_HALF_UP); count = osResult.subtract(new BigDecimal(0.00000000001)).setScale(3,BigDecimal.ROUND_HALF_UP);
} }
return count.toString(); return count.toString();
} }
/** /**
* 求合量 L.O.I+SiO2+(Al2O3+TiO2)+Al2O3+Fe2O3+CaO+MgO+TiO2+K2O+Na2O+MnO+SO3 * 求合量 L.O.I+SiO2+(Al2O3+TiO2)+Al2O3+Fe2O3+CaO+MgO+TiO2+K2O+Na2O+MnO+SO3
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countHL(Map<String, String> countMap) { public static String countHL(Map<String, String> countMap) {
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
list.add(countMap.get("L.O.I").toString()); list.add(countMap.get("L.O.I"));
list.add(countMap.get("SiO2").toString()); list.add(countMap.get("SiO2"));
// list.add(countMap.get("Al2O3+TiO2").toString()); // list.add(countMap.get("Al2O3+TiO2"));
list.add(countMap.get("Al2O3").toString()); list.add(countMap.get("Al2O3"));
list.add(countMap.get("Fe2O3").toString()); list.add(countMap.get("Fe2O3"));
list.add(countMap.get("CaO").toString()); list.add(countMap.get("CaO"));
list.add(countMap.get("MgO").toString()); list.add(countMap.get("MgO"));
list.add(countMap.get("TiO2").toString()); list.add(countMap.get("TiO2"));
list.add(countMap.get("K2O").toString()); list.add(countMap.get("K2O"));
list.add(countMap.get("Na2O").toString()); list.add(countMap.get("Na2O"));
list.add(countMap.get("MnO").toString()); list.add(countMap.get("MnO"));
list.add(countMap.get("SO3").toString()); list.add(countMap.get("SO3"));
BigDecimal count = new BigDecimal(0); BigDecimal count=new BigDecimal(0);
for (String s : list) { for(String s:list) {
count = count.add(new BigDecimal(s)); count = count.add(new BigDecimal(s));
} }
return count.toString(); return count.toString();
...@@ -331,240 +330,226 @@ public class CheckCountUtil { ...@@ -331,240 +330,226 @@ public class CheckCountUtil {
/** /**
* 求KH (CaO - 1.65*{Al2O3+TiO2} * Fe2O3) / 2.8 / SiO2 * 求KH (CaO - 1.65*{Al2O3+TiO2} * Fe2O3) / 2.8 / SiO2
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countKH(Map<String, String> countMap) { public static String countKH(Map<String, String> countMap) {
BigDecimal CaO = getBigDecimal(countMap.get("Cao")); BigDecimal CaO = getBigDecimal(countMap.get("Cao"));
BigDecimal Al2O3_TiO2 = getBigDecimal(countMap.get("Al2O3+TiO2")); BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al2O3+TiO2"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3")); BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3"));
BigDecimal SiO2 = getBigDecimal(countMap.get("SiO2")); BigDecimal SiO2 = getBigDecimal(countMap.get("SiO2"));
BigDecimal KH = BigDecimal 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); 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);
return KH.toString(); return KH.toString();
} }
/** /**
* 求SM SiO2/ ({Al2O3+TiO2} + Fe2O3) * 求SM SiO2/ ({Al2O3+TiO2} + Fe2O3)
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countSM(Map<String, String> countMap) { public static String countSM(Map<String, String> countMap) {
BigDecimal SiO2 = getBigDecimal(countMap.get("SiO2")); BigDecimal SiO2 = getBigDecimal(countMap.get("SiO2"));
BigDecimal Al2O3_TiO2 = getBigDecimal(countMap.get("Al2O3+TiO2")); BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al2O3+TiO2"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3")); BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3"));
BigDecimal SM = SiO2.divide(Al2O3_TiO2.add(Fe2O3), 4); BigDecimal SM = SiO2.divide(Al2O3_TiO2.add(Fe2O3),4);
return SM.toString(); return SM.toString();
} }
/** /**
* 求AM 「Al2O3+TiO2」/ Fe2O3 * 求AM 「Al2O3+TiO2」/ Fe2O3
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countAM(Map<String, String> countMap) { public static String countAM(Map<String, String> countMap) {
BigDecimal Al2O3_TiO2 = getBigDecimal(countMap.get("Al2O3+TiO2")); BigDecimal Al2O3_TiO2= getBigDecimal(countMap.get("Al2O3+TiO2"));
BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3")); BigDecimal Fe2O3 = getBigDecimal(countMap.get("Fe2O3"));
BigDecimal AM = Al2O3_TiO2.divide(Fe2O3, 4); BigDecimal AM = Al2O3_TiO2.divide(Fe2O3,4);
return AM.toString(); return AM.toString();
} }
/** /**
* 求易烧性等级 * 求易烧性等级
*
* @param resultMap 输入集合 * @param resultMap 输入集合
* @param countMap 输出集合 * @param countMap 输出集合
* @return * @return
*/ */
public static String countBurnupLevel(Map<String, Object> resultMap, Map<String, String> countMap) { public static String countBurnupLevel(Map<String, String> resultMap, Map<String, String> countMap) {
BigDecimal fCaO_1450 = getBigDecimal(resultMap.get("fCaO_1450")); BigDecimal fCaO_1450 = getBigDecimal(resultMap.get("fCaO_1450"));
BigDecimal KH = getBigDecimal(countMap.get("KH")); BigDecimal KH= getBigDecimal(countMap.get("KH"));
BigDecimal E = new BigDecimal(45).multiply(KH).subtract(new BigDecimal(37.4)); 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 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 C = new BigDecimal(26.25).multiply(KH).subtract(new BigDecimal(22.15));
BigDecimal B = new BigDecimal(18.75).multiply(KH).subtract(new BigDecimal(16)); BigDecimal B = new BigDecimal(18.75).multiply(KH).subtract(new BigDecimal(16));
if (fCaO_1450.compareTo(E) == 1) { if(fCaO_1450.compareTo(E) == 1){
return "E"; return "E";
} else if (fCaO_1450.compareTo(D) == 1) { }else if (fCaO_1450.compareTo(D) == 1){
return "D"; return "D";
} else if (fCaO_1450.compareTo(C) == 1) { }else if (fCaO_1450.compareTo(C) == 1){
return "C"; return "C";
} else if (fCaO_1450.compareTo(B) == 1) { }else if (fCaO_1450.compareTo(B) == 1){
return "B"; return "B";
} else { }else{
return "A"; return "A";
} }
} }
/** /**
* 求报出_Mad (Mad1 + Mad2 )/ 2 * 求报出_Mad (Mad1 + Mad2 )/ 2
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countBCMad(Map<String, String> countMap) { public static String countBCMad(Map<String, String> countMap) {
BigDecimal Mad1 = getBigDecimal(countMap.get("Mad1")); BigDecimal Mad1= getBigDecimal(countMap.get("Mad1"));
BigDecimal Mad2 = getBigDecimal(countMap.get("Mad2")); BigDecimal Mad2= getBigDecimal(countMap.get("Mad2"));
//计算Mad1 和 Mad2 的平均值 //计算Mad1 和 Mad2 的平均值
BigDecimal BC_Mad = Mad1.add(Mad2).divide(new BigDecimal(2), 4); BigDecimal BC_Mad = Mad1.add(Mad2).divide(new BigDecimal(2),4);
return BC_Mad.toString(); return BC_Mad.toString();
} }
/** /**
* 求Mad 报出_Mad *100 判断奇偶数判断后的结果 * 求Mad 报出_Mad *100 判断奇偶数判断后的结果
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countMad(Map<String, String> countMap) { public static String countMad(Map<String, String> countMap) {
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad")); BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
//判断奇偶数的最终值 //判断奇偶数的最终值
BigDecimal result1 = BC_Mad.multiply(param100); BigDecimal result1 = BC_Mad.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal Mad = null; BigDecimal Mad = null;
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
Mad = BC_Mad.setScale(2, BigDecimal.ROUND_HALF_UP); Mad = BC_Mad.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
Mad = BC_Mad.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); Mad = BC_Mad.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
return Mad.toString(); return Mad.toString();
} }
/** /**
* 求报出_Aad (Aad1 + Aad2)/2 * 求报出_Aad (Aad1 + Aad2)/2
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countBCAad(Map<String, String> countMap) { public static String countBCAad(Map<String, String> countMap) {
BigDecimal Aad1 = getBigDecimal(countMap.get("Aad1")); BigDecimal Aad1= getBigDecimal(countMap.get("Aad1"));
BigDecimal Aad2 = getBigDecimal(countMap.get("Aad2")); BigDecimal Aad2= getBigDecimal(countMap.get("Aad2"));
//计算Mad1 和 Mad2 的平均值 //计算Mad1 和 Mad2 的平均值
BigDecimal BC_Aad = Aad1.add(Aad2).divide(new BigDecimal(2), 4); BigDecimal BC_Aad = Aad1.add(Aad2).divide(new BigDecimal(2),4);
return BC_Aad.toString(); return BC_Aad.toString();
} }
/** /**
* 求Aad 报出_Aad *100 判断奇偶数判断后的结果 * 求Aad 报出_Aad *100 判断奇偶数判断后的结果
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countAad(Map<String, String> countMap) { public static String countAad(Map<String, String> countMap) {
BigDecimal BC_Aad = getBigDecimal(countMap.get("报出_Aad")); BigDecimal BC_Aad= getBigDecimal(countMap.get("报出_Aad"));
//判断奇偶数的最终值 //判断奇偶数的最终值
BigDecimal result1 = BC_Aad.multiply(param100); BigDecimal result1 = BC_Aad.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal Aad = null; BigDecimal Aad = null;
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
Aad = BC_Aad.setScale(2, BigDecimal.ROUND_HALF_UP); Aad = BC_Aad.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
Aad = BC_Aad.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); Aad = BC_Aad.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
return Aad.toString(); return Aad.toString();
} }
/** /**
* 求Vad1 * 求Vad1
*
* @param resultMap * @param resultMap
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countVad1(Map<String, Object> resultMap, Map<String, String> countMap) { public static String countVad1(Map<String, String> resultMap, Map<String, String> countMap) {
BigDecimal YZ_V1 = getBigDecimal(resultMap.get("样重V1")); BigDecimal YZ_V1 = getBigDecimal(resultMap.get("样重V1"));
BigDecimal MZ_V1 = getBigDecimal(resultMap.get("皿重V1")); BigDecimal MZ_V1 = getBigDecimal(resultMap.get("皿重V1"));
BigDecimal SZ_V1 = getBigDecimal(resultMap.get("烧重V1")); BigDecimal SZ_V1 = getBigDecimal(resultMap.get("烧重V1"));
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad")); 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,4);
BigDecimal count = countResult.multiply(param100).subtract(BC_Mad); BigDecimal count = countResult.multiply(param100).subtract(BC_Mad);
return count.toString(); return count.toString();
} }
/** /**
* 求Vad2 * 求Vad2
*
* @param resultMap * @param resultMap
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countVad2(Map<String, Object> resultMap, Map<String, String> countMap) { public static String countVad2(Map<String, String> resultMap, Map<String, String> countMap) {
BigDecimal YZ_V2 = getBigDecimal(resultMap.get("样重V2")); BigDecimal YZ_V2 = getBigDecimal(resultMap.get("样重V2"));
BigDecimal MZ_V2 = getBigDecimal(resultMap.get("皿重V2")); BigDecimal MZ_V2 = getBigDecimal(resultMap.get("皿重V2"));
BigDecimal SZ_V2 = getBigDecimal(resultMap.get("烧重V2")); BigDecimal SZ_V2 = getBigDecimal(resultMap.get("烧重V2"));
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad")); 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,4);
BigDecimal count = countResult.multiply(param100).subtract(BC_Mad); BigDecimal count = countResult.multiply(param100).subtract(BC_Mad);
return count.toString(); return count.toString();
} }
/** /**
* 求报出_Vad (Vad1+ Vad2)/2 * 求报出_Vad (Vad1+ Vad2)/2
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countBCVad(Map<String, String> countMap) { public static String countBCVad(Map<String, String> countMap) {
BigDecimal Vad1 = getBigDecimal(countMap.get("Vad1")); BigDecimal Vad1= getBigDecimal(countMap.get("Vad1"));
BigDecimal Vad2 = getBigDecimal(countMap.get("Vad2")); BigDecimal Vad2= getBigDecimal(countMap.get("Vad2"));
//计算Vad1 和 Vad2 的平均值 //计算Vad1 和 Vad2 的平均值
BigDecimal BC_Vad = Vad1.add(Vad2).divide(new BigDecimal(2), 4); BigDecimal BC_Vad = Vad1.add(Vad2).divide(new BigDecimal(2),4);
return BC_Vad.toString(); return BC_Vad.toString();
} }
/** /**
* 求Vad 报出_Vad *100 判断奇偶数判断后的结果 * 求Vad 报出_Vad *100 判断奇偶数判断后的结果
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countVad(Map<String, String> countMap) { public static String countVad(Map<String, String> countMap) {
BigDecimal BC_Vad = getBigDecimal(countMap.get("报出_Vad")); BigDecimal BC_Vad= getBigDecimal(countMap.get("报出_Vad"));
//判断奇偶数的最终值 //判断奇偶数的最终值
BigDecimal result1 = BC_Vad.multiply(param100); BigDecimal result1 = BC_Vad.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal Vad = null; BigDecimal Vad = null;
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
Vad = BC_Vad.setScale(2, BigDecimal.ROUND_HALF_UP); Vad = BC_Vad.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
Vad = BC_Vad.subtract(new BigDecimal(0.00000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); Vad = BC_Vad.subtract(new BigDecimal(0.00000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
return Vad.toString(); return Vad.toString();
} }
/** /**
* 求Vdaf Vad *100/(100-Mad-Aad) * 求Vdaf Vad *100/(100-Mad-Aad)
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countVdaf(Map<String, String> countMap) { public static String countVdaf(Map<String, String> countMap) {
BigDecimal Vad = getBigDecimal(countMap.get("Vad")); BigDecimal Vad= getBigDecimal(countMap.get("Vad"));
BigDecimal Mad = getBigDecimal(countMap.get("Mad")); BigDecimal Mad= getBigDecimal(countMap.get("Mad"));
BigDecimal Aad = getBigDecimal(countMap.get("Aad")); BigDecimal Aad= getBigDecimal(countMap.get("Aad"));
BigDecimal Vdaf = Vad.multiply(param100).multiply(param100.subtract(Mad).subtract(Aad)); BigDecimal Vdaf = Vad.multiply(param100).multiply(param100.subtract(Mad).subtract(Aad));
return Vdaf.toString(); return Vdaf.toString();
} }
/** /**
* 求Vdaf Vad *100/(100-Mad-Aad) * 求Vdaf Vad *100/(100-Mad-Aad)
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countK1_(Map<String, String> countMap) { public static String countK1_(Map<String, String> countMap) {
BigDecimal Vdaf = getBigDecimal(countMap.get("Vdaf")); BigDecimal Vdaf= getBigDecimal(countMap.get("Vdaf"));
BigDecimal K1_ = BigDecimal K1_=
Vdaf.compareTo(new BigDecimal(62)) == 1 ? new BigDecimal(61.5) : ( Vdaf.compareTo(new BigDecimal(62))==1?new BigDecimal(61.5):(
Vdaf.compareTo(new BigDecimal(56)) == 1 ? new BigDecimal(63) : ( Vdaf.compareTo(new BigDecimal(56))==1?new BigDecimal(63):(
Vdaf.compareTo(new BigDecimal(49)) == 1 ? new BigDecimal(65) : ( Vdaf.compareTo(new BigDecimal(49))==1?new BigDecimal(65):(
Vdaf.compareTo(new BigDecimal(45)) == 1 ? new BigDecimal(67) : ( Vdaf.compareTo(new BigDecimal(45))==1?new BigDecimal(67):(
Vdaf.compareTo(new BigDecimal(37)) == 1 ? new BigDecimal(68.5) : Vdaf.compareTo(new BigDecimal(37))==1?new BigDecimal(68.5):
new BigDecimal(0) new BigDecimal(0)
)))); ))));
return K1_.toString(); return K1_.toString();
...@@ -572,48 +557,47 @@ public class CheckCountUtil { ...@@ -572,48 +557,47 @@ public class CheckCountUtil {
/** /**
* 求K if 焦渣特征=1 JZB1 if 焦渣特征=1.5 JZB1_5 f 焦渣特征=2 JZB2 * 求K if 焦渣特征=1 JZB1 if 焦渣特征=1.5 JZB1_5 f 焦渣特征=2 JZB2
*
* @param resultMap * @param resultMap
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countK(Map<String, Object> resultMap, Map<String, String> countMap) { public static String countK(Map<String, String> resultMap, Map<String, String> countMap) {
String JZTZ = resultMap.get("焦渣特征").toString(); String JZTZ= resultMap.get("焦渣特征");
BigDecimal Vdaf = getBigDecimal(countMap.get("Vdaf")); BigDecimal Vdaf= getBigDecimal(countMap.get("Vdaf"));
//获取焦渣特征序号对应的值 //获取焦渣特征序号对应的值
Map<String, String> map = JZTZCountUtil.getJZTZ(Vdaf); Map<String, String> map = JZTZCountUtil.getJZTZ(Vdaf);
String count = ""; String count = "";
if (JZTZ.equals("1")) { if(JZTZ.equals("1")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("1.5")) { }else if(JZTZ.equals("1.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("2")) { }else if(JZTZ.equals("2")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("2.5")) { }else if(JZTZ.equals("2.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("3")) { }else if(JZTZ.equals("3")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("3.5")) { }else if(JZTZ.equals("3.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("4")) { }else if(JZTZ.equals("4")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("4.5")) { }else if(JZTZ.equals("4.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("5")) { }else if(JZTZ.equals("5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("5.5")) { }else if(JZTZ.equals("5.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("6")) { }else if(JZTZ.equals("6")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("6.5")) { }else if(JZTZ.equals("6.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("7")) { }else if(JZTZ.equals("7")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("7.5")) { }else if(JZTZ.equals("7.5")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else if (JZTZ.equals("8")) { }else if(JZTZ.equals("8")){
count = map.get(JZTZ); count = map.get(JZTZ);
} else { }else{
count = "false"; count = "false";
} }
...@@ -622,75 +606,70 @@ public class CheckCountUtil { ...@@ -622,75 +606,70 @@ public class CheckCountUtil {
/** /**
* 求Vdaf判断 Vdaf<35?1:0 * 求Vdaf判断 Vdaf<35?1:0
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countVdafPD(Map<String, String> countMap) { public static String countVdafPD(Map<String, String> countMap) {
BigDecimal Vdaf = getBigDecimal(countMap.get("Vdaf")); BigDecimal Vdaf= getBigDecimal(countMap.get("Vdaf"));
Integer VdafPD = Vdaf.compareTo(new BigDecimal(35)) == -1 ? 1 : 0; Integer VdafPD = Vdaf.compareTo(new BigDecimal(35))==-1?1:0;
return VdafPD.toString(); return VdafPD.toString();
} }
/** /**
* 求Mad判断 Mad>3?1:0 * 求Mad判断 Mad>3?1:0
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countMadPD(Map<String, String> countMap) { public static String countMadPD(Map<String, String> countMap) {
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad")); BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
Integer MadPD = BC_Mad.compareTo(new BigDecimal(3)) == 1 ? 1 : 0; Integer MadPD = BC_Mad.compareTo(new BigDecimal(3))==1?1:0;
return MadPD.toString(); return MadPD.toString();
} }
/** /**
* 求40Mad 0或1 Vdaf判断* Mad判断 * 求40Mad 0或1 Vdaf判断* Mad判断
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String count40Mad0Or1(Map<String, String> countMap) { public static String count40Mad0Or1(Map<String, String> countMap) {
BigDecimal VdafPD = getBigDecimal(countMap.get("Vdaf判断")); BigDecimal VdafPD= getBigDecimal(countMap.get("Vdaf判断"));
BigDecimal MadPD = getBigDecimal(countMap.get("Mad判断")); BigDecimal MadPD= getBigDecimal(countMap.get("Mad判断"));
BigDecimal count = VdafPD.multiply(MadPD); BigDecimal count = VdafPD.multiply(MadPD);
return count.toString(); return count.toString();
} }
/** /**
* 求40Mad 0或1 * 求40Mad 0或1
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countAd(Map<String, String> countMap) { public static String countAd(Map<String, String> countMap) {
BigDecimal BC_Aad = getBigDecimal(countMap.get("报出_Aad")); BigDecimal BC_Aad= getBigDecimal(countMap.get("报出_Aad"));
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad")); BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
BigDecimal count = BC_Aad.multiply(param100).divide(param100.subtract(BC_Mad), 4); BigDecimal count = BC_Aad.multiply(param100).divide(param100.subtract(BC_Mad),4);
return count.toString(); return count.toString();
} }
/** /**
* 求Ad系数0.1或0 if Ad>20 0.1 else 0 * 求Ad系数0.1或0 if Ad>20 0.1 else 0
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countAdXS(Map<String, String> countMap) { public static String countAdXS(Map<String, String> countMap) {
BigDecimal Ad = getBigDecimal(countMap.get("Ad")); BigDecimal Ad= getBigDecimal(countMap.get("Ad"));
BigDecimal count = BigDecimal count =
Ad.compareTo(new BigDecimal(20)) == 1 ? new BigDecimal(0.1) : new BigDecimal(0); Ad.compareTo(new BigDecimal(20))==1?new BigDecimal(0.1):new BigDecimal(0);
return count.toString(); return count.toString();
} }
public static String countVdafXS(Map<String, String> countMap) { public static String countVdafXS(Map<String, String> countMap) {
BigDecimal Ad = getBigDecimal(countMap.get("Ad")); BigDecimal Ad= getBigDecimal(countMap.get("Ad"));
Double count = Double count =
Ad.compareTo(new BigDecimal(30)) == 1 ? 0.8 : ( Ad.compareTo(new BigDecimal(30))==1?0.8:(
Ad.compareTo(new BigDecimal(25)) == 1 ? 0.85 : ( Ad.compareTo(new BigDecimal(25))==1?0.85:(
Ad.compareTo(new BigDecimal(20)) == 1 ? 0.95 : ( Ad.compareTo(new BigDecimal(20))==1?0.95:(
Ad.compareTo(new BigDecimal(15)) == 1 ? 0.8 : ( Ad.compareTo(new BigDecimal(15))==1?0.8:(
Ad.compareTo(new BigDecimal(10)) == 1 ? 0.9 : Ad.compareTo(new BigDecimal(10))==1?0.9:
0.95 0.95
)))); ))));
return count.toString(); return count.toString();
...@@ -698,31 +677,29 @@ public class CheckCountUtil { ...@@ -698,31 +677,29 @@ public class CheckCountUtil {
/** /**
* 求V,daf [Vdaf系数0.8~0.95]* Vdaf- [Ad系数0.1或0]*Ad * 求V,daf [Vdaf系数0.8~0.95]* Vdaf- [Ad系数0.1或0]*Ad
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countV_daf(Map<String, String> countMap) { public static String countV_daf(Map<String, String> countMap) {
BigDecimal VdafXS = getBigDecimal(countMap.get("Vdaf系数0.8~0.95")); BigDecimal VdafXS= getBigDecimal(countMap.get("Vdaf系数0.8~0.95"));
BigDecimal Vdaf = getBigDecimal(countMap.get("Vdaf")); BigDecimal Vdaf= getBigDecimal(countMap.get("Vdaf"));
BigDecimal AdXS = getBigDecimal(countMap.get("Ad系数0.1或0")); BigDecimal AdXS= getBigDecimal(countMap.get("Ad系数0.1或0"));
BigDecimal Ad = getBigDecimal(countMap.get("Ad")); BigDecimal Ad= getBigDecimal(countMap.get("Ad"));
BigDecimal count = VdafXS.multiply(Vdaf).subtract(AdXS.multiply(Ad)); BigDecimal count = VdafXS.multiply(Vdaf).subtract(AdXS.multiply(Ad));
return count.toString(); return count.toString();
} }
/** /**
* 求K0, if V,daf >8 8500 if V,daf >5.5 8400 if V,daf >3 8300 else 8200 * 求K0, if V,daf >8 8500 if V,daf >5.5 8400 if V,daf >3 8300 else 8200
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countK0_(Map<String, String> countMap) { public static String countK0_(Map<String, String> countMap) {
BigDecimal V_daf = getBigDecimal(countMap.get("V,daf")); BigDecimal V_daf= getBigDecimal(countMap.get("V,daf"));
BigDecimal count = BigDecimal count =
V_daf.compareTo(new BigDecimal(8)) == 1 ? new BigDecimal(8500) : ( V_daf.compareTo(new BigDecimal(8))==1?new BigDecimal(8500):(
V_daf.compareTo(new BigDecimal(5.5)) == 1 ? new BigDecimal(8400) : ( V_daf.compareTo(new BigDecimal(5.5))==1?new BigDecimal(8400):(
V_daf.compareTo(new BigDecimal(3)) == 1 ? new BigDecimal(8300) : V_daf.compareTo(new BigDecimal(3))==1?new BigDecimal(8300):
new BigDecimal(8200) new BigDecimal(8200)
)); ));
return count.toString(); return count.toString();
...@@ -730,87 +707,83 @@ public class CheckCountUtil { ...@@ -730,87 +707,83 @@ public class CheckCountUtil {
/** /**
* 求Qnet,ad MJ/kg * 求Qnet,ad MJ/kg
*
* @param countMap * @param countMap
* @return * @return
*/ */
public static String countQnet_adMJ_kg(Map<String, Object> resultMap, Map<String, String> countMap) { public static String countQnet_adMJ_kg(Map<String, String> resultMap, Map<String, String> countMap) {
BigDecimal YWH_123 = getBigDecimal(resultMap.get("烟无褐123")); BigDecimal YWH_123= getBigDecimal(resultMap.get("烟无褐123"));
BigDecimal K1_ = getBigDecimal(countMap.get("K1,")); BigDecimal K1_= getBigDecimal(countMap.get("K1,"));
BigDecimal BC_Mad = getBigDecimal(countMap.get("报出_Mad")); BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
BigDecimal BC_Aad = getBigDecimal(countMap.get("报出_Aad")); BigDecimal BC_Aad= getBigDecimal(countMap.get("报出_Aad"));
BigDecimal BC_Vad = getBigDecimal(countMap.get("报出_Vad")); BigDecimal BC_Vad= getBigDecimal(countMap.get("报出_Vad"));
BigDecimal K = getBigDecimal(countMap.get("K")); BigDecimal K= getBigDecimal(countMap.get("K"));
BigDecimal _40Mad_0_1 = getBigDecimal(countMap.get("40Mad 0或1")); BigDecimal _40Mad_0_1= getBigDecimal(countMap.get("40Mad 0或1"));
BigDecimal K0_ = getBigDecimal(countMap.get("K0,")); BigDecimal K0_= getBigDecimal(countMap.get("K0,"));
BigDecimal value = null; BigDecimal value = null;
if (YWH_123.compareTo(new BigDecimal(3)) == 0) { if(YWH_123.compareTo(new BigDecimal(3))==0){
value = param100.multiply(K1_).subtract(K1_.add(new BigDecimal(6)).multiply(BC_Mad.add(BC_Aad))) value =param100.multiply(K1_).subtract(K1_.add(new BigDecimal(6)).multiply(BC_Mad.add(BC_Aad)))
.subtract(BC_Vad); .subtract(BC_Vad);
} else if (YWH_123.compareTo(new BigDecimal(1)) == 0) { } else if(YWH_123.compareTo(new BigDecimal(1))==0){
value = param100.multiply(K).subtract(K.add(new BigDecimal(6)).multiply(BC_Mad.add(BC_Aad))) value =param100.multiply(K).subtract(K.add(new BigDecimal(6)).multiply(BC_Mad.add(BC_Aad)))
.subtract(new BigDecimal(3).multiply(BC_Vad)) .subtract(new BigDecimal(3).multiply(BC_Vad))
.subtract(new BigDecimal(40).multiply(BC_Mad).multiply(_40Mad_0_1)); .subtract(new BigDecimal(40).multiply(BC_Mad).multiply(_40Mad_0_1));
} else if (YWH_123.compareTo(new BigDecimal(2)) == 0) { }else if(YWH_123.compareTo(new BigDecimal(2))==0){
value = K0_.subtract(new BigDecimal(86).multiply(BC_Mad)) value =K0_.subtract(new BigDecimal(86).multiply(BC_Mad))
.subtract(new BigDecimal(92).multiply(BC_Aad)) .subtract(new BigDecimal(92).multiply(BC_Aad))
.subtract(new BigDecimal(24).multiply(BC_Vad)); .subtract(new BigDecimal(24).multiply(BC_Vad));
} }
BigDecimal count = value.multiply(new BigDecimal(4.1816)).divide(param1000, 4); BigDecimal count = value.multiply(new BigDecimal(4.1816)).divide(param1000,4);
return count.toString(); return count.toString();
} }
/** /**
* 求易磨性等级 * 求易磨性等级
*
* @param resultMap * @param resultMap
* @return * @return
*/ */
public static String countYMXGrade(Map<String, Object> resultMap) { public static String countYMXGrade(Map<String, String> resultMap) {
BigDecimal YMX_kWh_t = getBigDecimal(resultMap.get("易磨性(kWh/t)")); BigDecimal YMX_kWh_t = getBigDecimal(resultMap.get("易磨性(kWh/t)"));
if (YMX_kWh_t.compareTo(new BigDecimal(18)) == 1) { if(YMX_kWh_t.compareTo(new BigDecimal(18))==1){
return "E"; return "E";
} else if (YMX_kWh_t.compareTo(new BigDecimal(13)) == 1) { }else if(YMX_kWh_t.compareTo(new BigDecimal(13))==1){
return "D"; return "D";
} else if (YMX_kWh_t.compareTo(new BigDecimal(10)) == 1) { }else if(YMX_kWh_t.compareTo(new BigDecimal(10))==1){
return "C"; return "C";
} else if (YMX_kWh_t.compareTo(new BigDecimal(8)) == 1) { }else if(YMX_kWh_t.compareTo(new BigDecimal(8))==1){
return "B"; return "B";
} else { }else{
return "A"; return "A";
} }
} }
/** /**
* 求易磨性校验码 * 求易磨性校验码
*
* @param resultMap * @param resultMap
* @return * @return
*/ */
public static String countYMXCode(Map<String, Object> resultMap) { public static String countYMXCode(Map<String, String> resultMap) {
Double G = Double.valueOf(resultMap.get("G").toString()); Double G = Double.valueOf(resultMap.get("G"));
Double P80 = Double.valueOf(resultMap.get("P80").toString()); Double P80 = Double.valueOf(resultMap.get("P80"));
Double F80 = Double.valueOf(resultMap.get("F80").toString()); Double F80 = Double.valueOf(resultMap.get("F80"));
BigDecimal YMX_kWh_t = getBigDecimal(resultMap.get("易磨性(kWh/t)")); BigDecimal YMX_kWh_t = getBigDecimal(resultMap.get("易磨性(kWh/t)"));
BigDecimal YMX_MJ_t = getBigDecimal(resultMap.get("易磨性(MJ/t)")); BigDecimal YMX_MJ_t = getBigDecimal(resultMap.get("易磨性(MJ/t)"));
Double countResult = Double countResult =
Math.pow(80, 0.23) * Math.pow(G, 0.82) * (10 / (Math.pow(P80, 0.5) - 10 / Math.pow(F80, 0.5))); 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 result1 = new BigDecimal(countResult);
BigDecimal value1 = BigDecimal value1 =
new BigDecimal(176.2).divide(result1, 4).subtract(new BigDecimal(3.6).multiply(new BigDecimal(P80))).abs(); 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); BigDecimal value2 = YMX_MJ_t.divide(YMX_kWh_t,4);
if (value1.compareTo(new BigDecimal(0.5)) == -1 && if(value1.compareTo(new BigDecimal(0.5) ) == -1 &&
value2.compareTo(new BigDecimal(3.5)) == 1 && value2.compareTo(new BigDecimal(3.5)) == 1 &&
value2.compareTo(new BigDecimal(3.7)) == -1) { value2.compareTo(new BigDecimal(3.7)) == -1){
return "OK"; return "OK";
} else { }else{
return "出错了"; return "出错了";
} }
} }
/** /**
* 计算平行数 * 计算平行数
*
* @param mainResult 主样数据 * @param mainResult 主样数据
* @param secondaryResult 次样数据 * @param secondaryResult 次样数据
* @return * @return
...@@ -818,60 +791,66 @@ public class CheckCountUtil { ...@@ -818,60 +791,66 @@ public class CheckCountUtil {
public static String countParallel(String mainResult, String secondaryResult) { public static String countParallel(String mainResult, String secondaryResult) {
BigDecimal main = getBigDecimal(mainResult); BigDecimal main = getBigDecimal(mainResult);
BigDecimal secondary = getBigDecimal(secondaryResult); BigDecimal secondary = getBigDecimal(secondaryResult);
BigDecimal aveCount = main.add(secondary).divide(new BigDecimal(2), 2); BigDecimal aveCount = main.add(secondary).divide(new BigDecimal(2),2);
BigDecimal result1 = aveCount.multiply(param100); BigDecimal result1 = aveCount.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal endResult = null; BigDecimal endResult = null;
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
endResult = aveCount.setScale(2, BigDecimal.ROUND_HALF_UP); endResult = aveCount.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
endResult = aveCount.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); endResult = aveCount.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
return endResult.toString(); return endResult.toString();
} }
/** /**
* 计算平行样的平均值 最大误差值 * 计算平行样的平均值 最大误差值
*
* @return * @return
*/ */
public static Map<String, Map<String, String>> countParallelAvgError(Map<String, String> groupMap) { public static Map<String,Map<String,String>> countParallelAvgError(Map<String,String> groupMap) {
Map<String, Map<String, String>> map = new HashMap<>(); Map<String,Map<String,String>> map = new HashMap<>();
Map<String, String> countResults = new HashMap<>(); Map<String,String> countResults = new HashMap<>();
Map<String, String> countError = new HashMap<>(); Map<String,String> countError = new HashMap<>();
for (Map.Entry<String, String> entry : groupMap.entrySet()) { for(Map.Entry<String,String> entry : groupMap.entrySet()){
String[] values = entry.getValue().split(","); String[] values = entry.getValue().split(",");
BigDecimal resultSum = null; //求总和 BigDecimal resultSum = null; //求总和
BigDecimal maxNum = null; //求最大值 BigDecimal maxNum = null; //求最大值
BigDecimal minNum = null; //求最小值 BigDecimal minNum = null; //求最小值
for (String val : values) { for(String val : values){
BigDecimal valBD = getBigDecimal(val); BigDecimal valBD = getBigDecimal(val);
resultSum = resultSum == null ? valBD : resultSum.add(valBD); resultSum = resultSum == null?valBD:resultSum.add(valBD);
maxNum = maxNum == null ? valBD : (valBD.compareTo(maxNum) == 1 ? valBD : maxNum); maxNum = maxNum ==null?valBD:(valBD.compareTo(maxNum) == 1?valBD:maxNum);
minNum = minNum == null ? valBD : (valBD.compareTo(minNum) == -1 ? valBD : minNum); minNum = minNum==null?valBD:(valBD.compareTo(minNum) == -1?valBD:minNum);
} }
//平均值 //平均值
BigDecimal aveCount = resultSum.divide(new BigDecimal(values.length), 2); BigDecimal aveCount = resultSum.divide(new BigDecimal(values.length),2);
BigDecimal result1 = aveCount.multiply(param100); BigDecimal result1 = aveCount.multiply(param100);
int resultInt1 = result1.setScale(0, BigDecimal.ROUND_DOWN).intValue(); int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal ResultsValue = null; BigDecimal ResultsValue = null;
if ((resultInt1 & 1) == 1) { //如果结果为奇数 if((resultInt1&1) == 1){ //如果结果为奇数
ResultsValue = aveCount.setScale(2, BigDecimal.ROUND_HALF_UP); ResultsValue = aveCount.setScale(2,BigDecimal.ROUND_HALF_UP);
} else { }else{
ResultsValue = aveCount.subtract(new BigDecimal(0.0000000001)).setScale(2, BigDecimal.ROUND_HALF_UP); ResultsValue = aveCount.subtract(new BigDecimal(0.0000000001)).setScale(2,BigDecimal.ROUND_HALF_UP);
} }
//最大误差值 //最大误差值
BigDecimal errorValue = maxNum.subtract(minNum).setScale(2, BigDecimal.ROUND_HALF_UP); BigDecimal errorValue = maxNum.subtract(minNum).setScale(2,BigDecimal.ROUND_HALF_UP);;
;
countResults.put(entry.getKey(), ResultsValue.toString()); countResults.put(entry.getKey(),ResultsValue.toString());
countError.put(entry.getKey(), errorValue.toString()); countError.put(entry.getKey(),errorValue.toString());
} }
map.put("countResults", countResults); map.put("countResults",countResults);
map.put("countError", countError); map.put("countError",countError);
return map; return map;
} }
} }
......
...@@ -4,7 +4,6 @@ import org.apache.commons.io.FilenameUtils; ...@@ -4,7 +4,6 @@ import org.apache.commons.io.FilenameUtils;
import org.csource.common.MyException; import org.csource.common.MyException;
import org.csource.common.NameValuePair; import org.csource.common.NameValuePair;
import org.csource.fastdfs.*; import org.csource.fastdfs.*;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
......
...@@ -3,10 +3,9 @@ package cn.wise.sc.cement.business.util.weixin; ...@@ -3,10 +3,9 @@ package cn.wise.sc.cement.business.util.weixin;
/** /**
* 功能说明:企业微信全局接口地址 * 功能说明:企业微信全局接口地址
* 修改说明: * 修改说明:
*
* @author zhenglibing * @author zhenglibing
* @version 0.1
* @date 2018年1月8日 下午2:27:43 * @date 2018年1月8日 下午2:27:43
* @version 0.1
*/ */
public interface Global { public interface Global {
...@@ -17,16 +16,29 @@ public interface Global { ...@@ -17,16 +16,29 @@ public interface Global {
*/ */
public static final String ACCESSTOKENURL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"; public static final String ACCESSTOKENURL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken";
/** /**
* 微信公众平台,获取访问用户身份的接口地址,Https请求方式:GET * 微信公众平台,获取访问用户身份的接口地址,Https请求方式:GET
* 接口地址示例:https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE * 接口地址示例:https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
*/ */
public static final String USERINFOURL = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo"; public static final String USERINFOURL = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo";
/** /**
* 微信公众平台,获取访问用户信息的接口地址,Https请求方式:GET * 微信公众平台,获取访问用户信息的接口地址,Https请求方式:GET
* 接口地址示例:https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID * 接口地址示例:https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID
*/ */
public static final String USERURL = "https://qyapi.weixin.qq.com/cgi-bin/user/get"; public static final String USERURL = "https://qyapi.weixin.qq.com/cgi-bin/user/get";
public static final String ticket = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket";
/**
* 微信公众平台,发送应用消息的接口地址,Https请求方式:GET
* 接口地址示例:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
*/
public static final String SENDMESSAGE = "https://qyapi.weixin.qq.com/cgi-bin/message/send";
public static final String userTicket = "https://qyapi.weixin.qq.com/cgi-bin/ticket/get";
} }
package cn.wise.sc.cement.business.util.weixin; package cn.wise.sc.cement.business.util.weixin;
import cn.wise.sc.cement.business.model.ResultVO;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.http.*;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import java.util.*; import java.util.*;
/** /**
* 艺哚哚对外开放接口 工具类 * 对外开放接口 工具类
*/ */
public class WeixinInterfaceUtil { public class WeixinInterfaceUtil {
private static final String HOST = "https://ydd.whlyj.sh.gov.cn/"; //服务器IP与端口 private static final String HOST = "https://ydd.whlyj.sh.gov.cn/"; //服务器IP与端口
private static final String APPID = "DSACTSYS"; private static final String APPID = "DSACTSYS";
private static final String APPSECRET = "uzRpwnG6USeZDR0C"; private static final String APPSECRET = "uzRpwnG6USeZDR0C";
// private static final Long TIMESTAMP = System.currentTimeMillis(); // private static final Long TIMESTAMP = System.currentTimeMillis();
private static final String NONCE = UUID.randomUUID().toString(); private static final String NONCE = UUID.randomUUID().toString();
public static void main(String[] args) {
public static void main(String[] args){
String param = "corpid=%s&corpsecret=%s"; String param = "corpid=%s&corpsecret=%s";
param = String.format(param, "ww348f91b2573c1867", "gFa_7XvXtCaoeAYERzjRwwz_OTJkJfgBb8weOKjmI3o"); param = String.format(param, "ww348f91b2573c1867", "gFa_7XvXtCaoeAYERzjRwwz_OTJkJfgBb8weOKjmI3o");
try { try {
...@@ -30,19 +37,40 @@ public class WeixinInterfaceUtil { ...@@ -30,19 +37,40 @@ public class WeixinInterfaceUtil {
e.printStackTrace(); e.printStackTrace();
} }
} }
public static JSONObject doGet(String url, String param) { public static JSONObject doGet(String url, String param) {
String path = url + "?" + param; String path= url+"?"+ param;
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
JSONObject resultMap = restTemplate.getForObject(path, JSONObject.class); JSONObject resultMap = restTemplate.getForObject(path,JSONObject.class);
return resultMap; return resultMap;
} }
/**
* 向目的URL发送post请求
* @param url 目的url
* @param params 发送的参数
* @return ResultVO
*/
public static ResultVO sendPostRequest(String url, MultiValueMap<String, String> params){
RestTemplate client = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
HttpMethod method = HttpMethod.POST;
// 以表单的方式提交
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
//将请求头部和参数合成一个请求
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
//执行HTTP请求,将返回的结构使用ResultVO类格式化
ResponseEntity<ResultVO> response = client.exchange(url, method, requestEntity, ResultVO.class);
return response.getBody();
}
/** /**
* 将请求参数放到map里, * 将请求参数放到map里,
* 按照字母请求参数名的字母升序排列非空请求参数(包含 appid) * 按照字母请求参数名的字母升序排列非空请求参数(包含 appid)
*
* @param sortedParams * @param sortedParams
* @return * @return
*/ */
...@@ -68,4 +96,6 @@ public class WeixinInterfaceUtil { ...@@ -68,4 +96,6 @@ public class WeixinInterfaceUtil {
return content.toString(); return content.toString();
} }
} }
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