Commit bde9cc9c authored by qinhu's avatar qinhu

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	cement-business/src/main/java/cn/wise/sc/cement/business/entity/SampleCheck.java
parents e286410e 1c14e234
......@@ -347,7 +347,6 @@ public class EntrustController {
return BaseResponse.errorMsg("失败!");
}
@ApiOperation(value = "数据校核")
@PostMapping("/check")
public BaseResponse check(@RequestBody CheckQuery query) {
......
......@@ -82,15 +82,6 @@ public class Sample implements Serializable {
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("基本元素检测结果")
private String baseResult;
@ApiModelProperty("比表面积校核结果")
private String surfaceResult;
//样品管理列表信息
@ApiModelProperty("样品登记操作人id")
private Integer operatorId;
......@@ -117,6 +108,9 @@ public class Sample implements Serializable {
private Integer isHandle;
@ApiModelProperty("样品是否检测完成(0未检测完成, 1检测完成,)")
private Integer isDistribution;
@ApiModelProperty("样品是否校核完成(0未检测完成, 1检测完成,)")
private Integer isCheck;
......
......@@ -2,7 +2,6 @@ package cn.wise.sc.cement.business.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
......@@ -13,7 +12,7 @@ import lombok.experimental.Accessors;
/**
* <p>
*
*
* </p>
*
* @author ztw
......@@ -24,25 +23,31 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
public class SampleCheck implements Serializable {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("样品表d")
private Integer sampleId;
@ApiModelProperty("委托表id")
private Integer entrustId;
@ApiModelProperty("本所编号")
private String cementCode;
@ApiModelProperty("处理人id")
private Integer userId;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
@ApiModelProperty("检测设备表id")
private Integer equipmentId;
@ApiModelProperty("检测组名称")
private String teamGroupName;
@ApiModelProperty("检测设备名称")
private String equipmentName;
@ApiModelProperty("最终校核计算结果json串")
private String countResult;
@ApiModelProperty("是否平行样(1是,0否)")
private Integer isParallel;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
......@@ -50,4 +55,9 @@ public class SampleCheck implements Serializable {
@ApiModelProperty("备注")
private String remark;
}
......@@ -31,27 +31,27 @@ public class SampleCheckTeam implements Serializable {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("样品检测表id")
@ApiModelProperty("校核表id")
private Integer checkId;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
@ApiModelProperty("样品表d")
private Integer sampleId;
@ApiModelProperty("检测组名称")
private String teamGroupName;
@ApiModelProperty("处理人id")
private Integer userId;
@ApiModelProperty("检测设备表id")
private Integer equipmentId;
@ApiModelProperty("检测设备名称")
private String equipmentName;
/**
* json串
{"样重m":"40","K值":1.0274,"Vsio2":3.89,................}
*/
@ApiModelProperty("主样检测结果 json串")
private String main_result;
@ApiModelProperty("次样检测结果json串")
private String secondary_result;
@ApiModelProperty("最终校核计算结果json串")
private String end_result;
@ApiModelProperty("校核人员输入检测结果 json串")
private String inputResult;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
......
......@@ -37,15 +37,18 @@ public interface SampleMapper extends BaseMapper<Sample> {
" and is_handle != 1 order by id asc")
List<Sample> getNoHandleList(Integer entrustId);
@Select("select * from sample where entrust_id = #{entrustId} and is_check != 1 order by id asc")
@Select("select * from sample where entrust_id = #{entrustId} and is_distribution != 1 order by id asc")
List<Sample> getNoDistributionList(Integer entrustId);
//校核详情样品列表(不展示平行样副样)
@Select("select * from sample where cement_code = parallel_code and entrust_id = #{entrustId} " +
"and is_handle = 1 and is_check = 1 order by id asc")
"and is_handle = 1 and is_distribution = 1 order by id asc")
List<Sample> getCheckSampleList(Integer entrustId);
@Select("select * from sample where entrust_id = #{entrustId} and is_check != 1 order by id asc")
List<Sample> getNoCheckList(Integer entrustId);
}
......@@ -66,7 +66,7 @@
sd.user_id as userId, su.name as userName
from sample_distribution sd
left join team_group tg on tg.id = sd.team_group_id
left join sys_user su on su.id = sd.user_id
left join sys_user su on su.id = sd.user_id
where sd.sample_id = #{sampleId}
group by sd.team_group_id,sd.user_id
order by sd.team_group_id
......
......@@ -12,17 +12,14 @@ import java.util.List;
* @create: 2020-08-07 14:58
**/
@Data
@ApiModel("委托-校核请求")
@ApiModel("数据校核-委托单请求")
public class CheckQuery {
@ApiModelProperty("委托表id")
private Integer id;
/**
* 样品原始数据
*/
@ApiModelProperty("样品原始数据列表")
private List<SampleCheckQuery> sampleCheckQueryList;
@ApiModelProperty("检测组信息列表")
private List<SampleCheckTeamQuery> sampleCheckTeamQueryList;
......
package cn.wise.sc.cement.business.model.query;
/*package cn.wise.sc.cement.business.model.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -6,33 +6,18 @@ import lombok.Data;
import java.util.List;
/**
*//**
* @description:
* @author: ztw
* @create: 2020-08-07 14:58
**/
**//*
@Data
@ApiModel("委托校核-样品原始数据请求")
@ApiModel("数据校核-样品信息")
public class SampleCheckQuery {
@ApiModelProperty("样品表d")
private Integer sampleId;
@ApiModelProperty("检测人员id")
private String userId;
@ApiModelProperty("检测设备表id")
private Integer equipmentId;
@ApiModelProperty("基本元素检测结果 json串")
private String baseResult;
@ApiModelProperty("比表面积校核结果 json串")
private String surfaceResult;
@ApiModelProperty("检测样品信息列表")
@ApiModelProperty("检测组信息-type页")
public List<SampleCheckTeamQuery> sampleCheckTeamQueryList;
}
}*/
......@@ -23,13 +23,15 @@ import java.util.Map;
* @since 2020-08-24
*/
@Data
@ApiModel("委托校核-检测样品")
@ApiModel("数据校核-检测组信息")
public class SampleCheckTeamQuery {
/**
* 主键
*/
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty("本所编号")
private String cementCode;
@ApiModelProperty("是否平行样(1是,0否)")
private Integer isParallel;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
......@@ -37,21 +39,43 @@ public class SampleCheckTeamQuery {
@ApiModelProperty("检测组名称")
private String teamGroupName;
@ApiModelProperty("主样-检测人员id")
private Integer mainUserId;
@ApiModelProperty("次样-检测人员id")
private Integer secondaryUserId;
@ApiModelProperty("主样-检测设备表id")
private Integer mainEquipmentId;
@ApiModelProperty("主样-检测设备名称")
private String mainEquipmentName;
@ApiModelProperty("次样-检测设备表id")
private Integer secondaryEquipmentId;
@ApiModelProperty("次样-检测设备名称")
private String secondaryEquipmentName;
@ApiModelProperty("主样-样品表d")
private Integer mainSampleId;
/**
* json串
{"样重m":"40","K值":1.0274,"Vsio2":3.89,................}
*/
@ApiModelProperty("主样检测结果 json串")
@ApiModelProperty("主样检测结果 Map集合")
private Map<String, Object> mainResult;
@ApiModelProperty("次样检测结果json串")
private JSONArray secondaryResult;
@ApiModelProperty("次样-样品表d")
private Integer secondarySampleId;
@ApiModelProperty("最终校核计算结果json串")
private JSONArray endResult;
@ApiModelProperty("次样检测结果 Map集合")
private Map<String, Object>secondaryResult;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("最终校核计算结果 Map集合")
private Map<String, Object> endResult;
}
......@@ -13,7 +13,7 @@ import java.util.List;
* @create: 2020-08-07 14:58
**/
@Data
@ApiModel("校核-检测组Vo")
@ApiModel("校核-检测组和用户Vo")
public class SampleCheckGroupVo {
@ApiModelProperty("检测组id")
......@@ -28,14 +28,7 @@ public class SampleCheckGroupVo {
@ApiModelProperty("检测人姓名")
private String userName;
@ApiModelProperty("校核元素 json串")
private String checkElement;
@ApiModelProperty("校核元素 json数组")
private JSONArray checkElementList;
@ApiModelProperty("校核结果 json串")
private List<String> checkResult;
}
package cn.wise.sc.cement.business.model.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: qh
* @create: 2020-08-07 14:58
**/
@Data
@ApiModel("校核-检测组列表Vo")
public class SampleCheckTeamVo {
@ApiModelProperty("校核表id")
private Integer checkId;
@ApiModelProperty("样品表d")
private Integer sampleId;
@ApiModelProperty("检测人id")
private Integer userId;
@ApiModelProperty("检测人姓名")
private String userName;
@ApiModelProperty("检测设备表id")
private Integer equipmentId;
@ApiModelProperty("检测设备名称")
private String equipmentName;
/**
* json串
{"样重m":"40","K值":1.0274,"Vsio2":3.89,................}
*/
@ApiModelProperty("校核人员输入检测结果 json串")
private String inputResult;
}
......@@ -18,32 +18,29 @@ import java.util.List;
@ApiModel("校核-样品Vo")
public class SampleCheckVo {
@ApiModelProperty("样品表id")
private Integer id;
@ApiModelProperty("委托表id")
private Integer entrustId;
@ApiModelProperty("样品名")
private String name;
@ApiModelProperty("来样编号")
private String sampleCode;
private String sampleName;
@ApiModelProperty("本所编号")
private String cementCode;
@ApiModelProperty("平行样编号")
private String parallelCode;
@ApiModelProperty("检测组列表")
public List<SampleCheckGroupVo> sampleCheckGroupVoList;
@ApiModelProperty("检测组id")
private Integer teamGroupId;
@ApiModelProperty("检测组名称")
private String teamGroupName;
@ApiModelProperty("最终校核计算结果json串")
private String countResult;
@ApiModelProperty("是否平行样(1是,0否)")
private Integer isParallel;
@ApiModelProperty("检测组列表")
public List<SampleCheckTeamVo> sampleCheckGroupVoList;
}
......@@ -166,51 +166,57 @@ public class CommonServiceImpl {
Map<String, Object> countMap = new HashMap<>();
//输出检测项第一次循环
for(String name : checkResutlList){
if(name.equals("L.O.I")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("SiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Al2O3+TiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Al2O3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Fe2O3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("CaO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("MgO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("TiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("重量法_SO3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("K2O")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Na2O")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("MnO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Cl")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Aad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Aad2")) {
countMap.put(name, CheckCountUtil.checkCount(name, resultMap));
}
}
if(name.equals("L.O.I")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("SiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Al2O3+TiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Al2O3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Fe2O3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("CaO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("MgO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("TiO2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("重量法_SO3")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("K2O")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Na2O")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("MnO")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Cl")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Mad2")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Aad1")){
countMap.put(name,CheckCountUtil.checkCount(name,resultMap));
}else if(name.equals("Aad2")) {
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));
}else if(name.equals("易磨性校验码")){
countMap.put(name, CheckCountUtil.countYMXCode(resultMap));
}
}
//输出检测项第二次循环
for(String name : checkResutlList){
if(name.equals("SO3")){
BigDecimal countSO3 = CheckCountUtil.countSO3(countMap);
BigDecimal countSO3 = CheckCountUtil.countSO3(resultMap, countMap);
countMap.put(name, countSO3);
}else if(name.equals("KH")){
BigDecimal countKH = CheckCountUtil.countKH(countMap);
......@@ -322,14 +328,12 @@ public class CommonServiceImpl {
}
//输出检测项第九次循环
//todo countQnet_adMJ_kg
/*for(String name : checkResutlList){
for(String name : checkResutlList){
if(name.equals("Qnet,ad MJ/kg")){
BigDecimal countQnet_adMJ_kg = CheckCountUtil.countQnet_adMJ_kg(countMap);
BigDecimal countQnet_adMJ_kg = CheckCountUtil.countQnet_adMJ_kg(resultMap, countMap);
countMap.put(name, countQnet_adMJ_kg);
}
}
*/
......
......@@ -92,6 +92,10 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
private SampleHandleEnclosureMapper sampleHandleEnclosureMapper;
@Resource
private TeamGroupMapper teamGroupMapper;
@Resource
private SampleCheckMapper sampleCheckMapper;
@Resource
private SampleCheckTeamMapper sampleCheckTeamMapper;
/**
* 委托分页
......@@ -420,7 +424,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setStatus(0) //样品状态为未领用状态
.setCreateTime(LocalDateTime.now())
.setIsHandle(0)//样品处理未完成状态
.setIsCheck(0);//样品检测未完成状态
.setIsDistribution(0)//任务派发未完成状态
.setIsCheck(0);//样品校核未完成状态
if(sampleQuery.getIsParallel() ==1){ //平行样
//生成平行样编号 (如果是平行样,会生成两条记录,本所编号是相同的,
// 第一个平行样编号和本所编号相同,第二个平行样的平行样编号会在本所编号上+1)
......@@ -1078,7 +1083,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
sampleDistributionWrapper.ne("status", 2);
List<SampleDistribution> sampleDistributionIngList = distributionMapper.selectList(sampleDistributionWrapper);
if(sampleDistributionIngList == null || sampleDistributionIngList.size() == 0){
sample.setIsCheck(1); //样品检测全部完成
sample.setIsDistribution(1);//样品检测全部完成
}
sampleMapper.updateById(sample);
entrust = entrustMapper.selectById(sample.getEntrustId());
......@@ -1206,8 +1211,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(map);
}
/**
* 样品检测项校核详情
* @param cementCode 本所编号
......@@ -1221,34 +1224,98 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if(StringUtils.isEmpty(cementCode)){
return BaseResponse.errorMsg("参数错误");
}
QueryWrapper<Sample> sampleQW = new QueryWrapper<>();
sampleQW.eq("cement_code", cementCode);
List<Sample> sampleList = sampleMapper.selectList(sampleQW);
List<SampleCheckVo> sampleCheckVoList = new ArrayList<>();
if(sampleList!= null && sampleList.size()>0){
for(Sample sample : sampleList){
SampleCheckVo sampleCheckVo = new SampleCheckVo();
BeanUtils.copyProperties(sample, sampleCheckVo);
//根据样品id 获取检测组
List<SampleCheckGroupVo> sampleCheckGroupVoList = distributionMapper.getSampleCheckGroupList(sample.getId());
Sample sampleOne = sampleList.get(0);
if(sampleOne == null){
return BaseResponse.errorMsg("样品信息错误");
}
Entrust entrust = entrustMapper.selectById(sampleOne.getEntrustId());
if(entrust == null){
return BaseResponse.errorMsg("委托单信息错误");
}
//根据样品 和派发任务表 找到都有哪些检测组
if(sampleOne.getIsCheck() == 0){ //未校核时显示
List<SampleCheckGroupVo> sampleCheckGroupVoList = distributionMapper.getSampleCheckGroupList(sampleOne.getId());
if(sampleCheckGroupVoList != null && sampleCheckGroupVoList.size()>0){
for(SampleCheckGroupVo sampleCheckGroupVo : sampleCheckGroupVoList){
SampleCheckVo sampleCheckVo = new SampleCheckVo();
sampleCheckVo.setEntrustId(entrust.getId());
sampleCheckVo.setSampleName(sampleOne.getName());
sampleCheckVo.setCementCode(cementCode);
sampleCheckVo.setTeamGroupId(sampleCheckGroupVo.getTeamGroupId());
sampleCheckVo.setTeamGroupName(sampleCheckGroupVo.getTeamGroupName());
TeamGroup teamGroup = teamGroupMapper.selectById(sampleCheckGroupVo.getTeamGroupId());
if(teamGroup == null){
return BaseResponse.errorMsg("检测组信息错误");
}
//转成JSONArray
JSONArray checkElementList= JSONArray.parseArray(teamGroup.getCheckElement());
sampleCheckGroupVo.setCheckElement(teamGroup.getCheckElement());
sampleCheckGroupVo.setCheckElementList(checkElementList);
//根据检测组id返回检测组对应的所有检测项信息
List<String> checkResutlList = teamMapper.getByGroup(teamGroup.getId());
sampleCheckGroupVo.setCheckResult(checkResutlList);
sampleCheckVo.setSampleCheckGroupVoList(sampleCheckGroupVoList);
sampleCheckVo.setCountResult(checkResutlList.toString());
sampleCheckVo.setIsParallel(sampleOne.getIsParallel());
List<SampleCheckTeamVo> sctVoList = new ArrayList<>();
for(Sample sample : sampleList){
SampleCheckTeamVo sampleCheckTeamVo = new SampleCheckTeamVo();
sampleCheckTeamVo.setCheckId(null);
sampleCheckTeamVo.setSampleId(sample.getId());
QueryWrapper<SampleDistribution> sdWrapper = new QueryWrapper<>();
sdWrapper.eq("sample_id", sample.getId());
sdWrapper.eq("team_group_id", sampleCheckGroupVo.getTeamGroupId());
List<SampleDistribution> sdList = distributionMapper.selectList(sdWrapper);
SampleDistribution sampleDistribution = sdList.get(0);
SysUser sysUser = userService.getById(sampleDistribution.getUserId());
sampleCheckTeamVo.setUserId(sampleDistribution.getUserId());
sampleCheckTeamVo.setUserName(sysUser.getName());
sampleCheckTeamVo.setInputResult(teamGroup.getCheckElement());
sctVoList.add(sampleCheckTeamVo);
}
sampleCheckVo.setSampleCheckGroupVoList(sctVoList);
sampleCheckVoList.add(sampleCheckVo);
}
}
}else{ //校核之后显示
QueryWrapper<SampleCheck> sampleCheckQW = new QueryWrapper<>();
sampleCheckQW.eq("cement_code", cementCode);
List<SampleCheck> sampleCheckList = sampleCheckMapper.selectList(sampleCheckQW);
if(sampleCheckList != null && sampleCheckList.size()>0){
for(SampleCheck sampleCheck : sampleCheckList){
SampleCheckVo sampleCheckVo = new SampleCheckVo();
sampleCheckVo.setEntrustId(entrust.getId());
sampleCheckVo.setSampleName(sampleOne.getName());
sampleCheckVo.setCementCode(cementCode);
sampleCheckVo.setTeamGroupId(sampleCheck.getTeamGroupId());
sampleCheckVo.setTeamGroupName(sampleCheck.getTeamGroupName());
sampleCheckVo.setCountResult(sampleCheck.getCountResult());
sampleCheckVo.setIsParallel(sampleOne.getIsParallel());
QueryWrapper<SampleCheckTeam> sampleCheckTeamQW = new QueryWrapper<>();
sampleCheckTeamQW.eq("checkId", sampleCheck.getId());
List<SampleCheckTeam> sampleCheckTeamList = sampleCheckTeamMapper.selectList(sampleCheckTeamQW);
List<SampleCheckTeamVo> sctVoList = new ArrayList<>();
if(sampleCheckTeamList != null && sampleCheckTeamList.size()>0){
for(SampleCheckTeam sampleCheckTeam : sampleCheckTeamList){
SampleCheckTeamVo sampleCheckTeamVo = new SampleCheckTeamVo();
sampleCheckTeamVo.setCheckId(sampleCheck.getId());
sampleCheckTeamVo.setSampleId(sampleCheckTeam.getSampleId());
sampleCheckTeamVo.setUserId(sampleCheckTeam.getUserId());
SysUser sysUser = userService.getById(sampleCheckTeam.getUserId());
sampleCheckTeamVo.setUserName(sysUser.getName());
sampleCheckTeamVo.setEquipmentId(sampleCheckTeam.getEquipmentId());
sampleCheckTeamVo.setEquipmentName(sampleCheckTeam.getEquipmentName());
sampleCheckTeamVo.setInputResult(sampleCheckTeam.getInputResult());
sctVoList.add(sampleCheckTeamVo);
}
}
sampleCheckVo.setSampleCheckGroupVoList(sctVoList);
sampleCheckVoList.add(sampleCheckVo);
}
}
sampleCheckVoList.add(sampleCheckVo);
}
}
return BaseResponse.okData(sampleCheckVoList);
......@@ -1284,12 +1351,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
}
//校核保存
/**
* 数据校核
* @param query
......@@ -1302,102 +1363,118 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.errorMsg("参数错误");
}
Entrust entrust = entrustMapper.selectById(query.getId());
entrust.setStatus(7);
if(entrust == null){
return BaseResponse.errorMsg("信息错误");
}
if(entrust.getStatus() != 1){
if(entrust.getStatus() < 6){
return BaseResponse.errorMsg("当前状态不允许校核");
}
LoginUser loginUser = userService.getLoginUser();
if(loginUser == null){
return BaseResponse.errorMsg("请登录用户");
}
Project project = projectMapper.selectById(entrust.getProjectId());
if(project == null || entrust.getProjectId() == null){
return BaseResponse.errorMsg("项目信息有误");
}
if(query.getSampleCheckQueryList() != null && query.getSampleCheckQueryList().size()>0){
List<SampleCheckQuery> sampleCheckQueryList = query.getSampleCheckQueryList();
String cementCode = "";
if(query.getSampleCheckTeamQueryList() != null && query.getSampleCheckTeamQueryList().size()>0){
List<SampleCheckTeamQuery> sctQueryList = query.getSampleCheckTeamQueryList();
List<EquipmentUse> useList = new ArrayList<>();
for(SampleCheckQuery checkQuery : sampleCheckQueryList){
if(checkQuery==null || checkQuery.getSampleId() == null){
return BaseResponse.errorMsg("样品信息错误");
for(SampleCheckTeamQuery sctQuery : sctQueryList){
if(sctQuery==null || sctQuery.getCementCode() == null){
return BaseResponse.errorMsg("检测组或样品信息错误");
}
//保存样品 基本元素检测结果 比表面积校核结果
Sample sample = sampleService.getById(checkQuery.getSampleId());
sample.setBaseResult(checkQuery.getBaseResult())
.setSurfaceResult(checkQuery.getSurfaceResult());
sampleService.save(sample);
if(sctQuery.getTeamGroupId()==null || StringUtils.isEmpty(sctQuery.getTeamGroupName())){
return BaseResponse.errorMsg("请选择检测组");
}
cementCode = sctQuery.getCementCode(); //获取本所编号用于判断委托单和样品表状态
//保存校核表信息
SampleCheck check = new SampleCheck();
check.setSampleId(checkQuery.getSampleId())
.setUserId(loginUser.getId())
.setEquipmentId(checkQuery.getEquipmentId())
check.setEntrustId(entrust.getId())
.setCementCode(sctQuery.getCementCode())
.setTeamGroupId(sctQuery.getTeamGroupId())
.setTeamGroupName(sctQuery.getTeamGroupName())
.setCountResult(sctQuery.getEndResult().toString())
.setIsParallel(sctQuery.getIsParallel())
.setCreateTime(LocalDateTime.now());
sampleCheckService.save(check);
String testItems = "";
if(checkQuery.getSampleCheckTeamQueryList() != null && checkQuery.getSampleCheckTeamQueryList().size()>0){
List<SampleCheckTeam> sampleCheckTeamList = new ArrayList<>();
List<SampleCheckTeamQuery> sampleCheckTeamQueryList = checkQuery.getSampleCheckTeamQueryList();
for(SampleCheckTeamQuery checkTeamQuery : sampleCheckTeamQueryList){
if(checkTeamQuery==null ){
return BaseResponse.errorMsg("检测样品信息错误");
}
if(checkTeamQuery.getTeamGroupId()== null || StringUtils.isEmpty(checkTeamQuery.getTeamGroupName())){
return BaseResponse.errorMsg("检测项目信息错误");
}
if(StringUtils.isEmpty(checkTeamQuery.getTeamGroupName())){
return BaseResponse.errorMsg("请录入校核结果");
}
SampleCheckTeam sampleCheckTeam = new SampleCheckTeam();
sampleCheckTeam.setCheckId(check.getId())
.setTeamGroupId(checkTeamQuery.getTeamGroupId())
.setTeamGroupName(checkTeamQuery.getTeamGroupName())
//保存校核检测组检测项信息
List<SampleCheckTeam> sampleCheckTeamList = new ArrayList<>();
SampleCheckTeam sampleCheckTeam = new SampleCheckTeam();
sampleCheckTeam.setCheckId(check.getId())
.setSampleId(sctQuery.getMainSampleId())
.setUserId(sctQuery.getMainUserId())
.setEquipmentId(sctQuery.getMainEquipmentId())
.setEquipmentName(sctQuery.getMainEquipmentName())
.setInputResult(sctQuery.getMainResult().toString())
.setCreateTime(LocalDateTime.now());
if(check.getIsParallel() == 0){
sampleCheckTeamService.save(sampleCheckTeam);
//添加设备使用记录 设备使用记录表 equipment_use
EquipmentUse equipmentUse = new EquipmentUse();
SysUser sysUser = userService.getById(sampleCheckTeam.getUserId());
equipmentUse.setEquipmentId(sampleCheckTeam.getEquipmentId())
.setUserId(sampleCheckTeam.getUserId())
.setUserName(sysUser.getName())
.setUseDate(LocalDate.now())
.setProjectId(entrust.getProjectId())
.setProjectName(entrust.getProjectName())
.setProjectCode(entrust.getProjectCode())
.setTestItem(check.getTeamGroupName())
.setCreateTime(LocalDateTime.now())
.setRemark("委托派发-数据校核");
useList.add(equipmentUse);
}else{
sampleCheckTeamList.add(sampleCheckTeam);
SampleCheckTeam sampleCheckTeam2 = new SampleCheckTeam();
sampleCheckTeam2.setCheckId(check.getId())
.setSampleId(sctQuery.getSecondarySampleId())
.setUserId(sctQuery.getSecondaryUserId())
.setEquipmentId(sctQuery.getSecondaryEquipmentId())
.setEquipmentName(sctQuery.getSecondaryEquipmentName())
.setInputResult(sctQuery.getSecondaryResult().toString())
.setCreateTime(sampleCheckTeam.getCreateTime());
sampleCheckTeamList.add(sampleCheckTeam2);
sampleCheckTeamService.saveBatch(sampleCheckTeamList);
//添加设备使用记录 设备使用记录表 equipment_use
for(SampleCheckTeam scTeam : sampleCheckTeamList){
EquipmentUse equipmentUse = new EquipmentUse();
SysUser sysUser = userService.getById(scTeam.getUserId());
equipmentUse.setEquipmentId(scTeam.getEquipmentId())
.setUserId(scTeam.getUserId())
.setUserName(sysUser.getName())
.setUseDate(LocalDate.now())
.setProjectId(entrust.getProjectId())
.setProjectName(entrust.getProjectName())
.setProjectCode(entrust.getProjectCode())
.setTestItem(check.getTeamGroupName())
.setCreateTime(LocalDateTime.now())
.setRemark(checkTeamQuery.getRemark());
sampleCheckTeamList.add(sampleCheckTeam);
// testItems = testItems.equals("")?sampleCheckTeam.getTestItem():testItems+"、"+sampleCheckTeam.getTestItem();
.setRemark("委托派发-数据校核");
useList.add(equipmentUse);
}
sampleCheckTeamService.saveBatch(sampleCheckTeamList);
}
//添加设备使用记录 设备使用记录表 equipment_use
EquipmentUse equipmentUse = new EquipmentUse();
equipmentUse.setEquipmentId(check.getEquipmentId())
.setUserId(check.getUserId())
.setUserName(loginUser.getName())
.setUseDate(LocalDate.now())
.setProjectId(project.getId())
.setProjectName(project.getName())
.setProjectCode(project.getCode())
.setTestItem(testItems)
.setCreateTime(LocalDateTime.now())
.setRemark("委托派发-数据校核");
useList.add(equipmentUse);
}
equipmentUseService.saveBatch(useList);
}
//更新样品表状态为已经校核状态 is_check 0未处理 1处理完成
QueryWrapper<Sample> sampleQW = new QueryWrapper<>();
sampleQW.eq("cement_code", cementCode);
List<Sample> sampleList = sampleMapper.selectList(sampleQW);
if(sampleList != null && sampleList.size()>0){
for(Sample sample : sampleList){
sample.setIsCheck(1);
sampleMapper.updateById(sample);
}
}
//如果是保存并完成按钮,检测委托单中其他样品是否都是保存冰完成状态,如果是,委托单为检测完成状态
List<Sample> sampleNoCheckList = sampleMapper.getNoCheckList(entrust.getId());
if(sampleNoCheckList == null || sampleNoCheckList.size() == 0){
entrust.setStatus(8);
}
entrustMapper.updateById(entrust);
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "数据校核", null);
return BaseResponse.okMsg("数据校核完成");
}
}
......@@ -122,7 +122,7 @@ public class StandardServiceImpl extends ServiceImpl<StandardMapper, Standard> i
//标样入库记录添加
LoginUser loginUser = userService.getLoginUser();
StandardEnter enter = new StandardEnter();
enter.setStandardId(query.getId())
enter.setStandardId(standard.getId())
.setUserId(loginUser.getId())
.setEnterNum(query.getStockNum())
.setCreateTime(LocalDateTime.now())
......
package cn.wise.sc.cement.business.util;
import com.sun.org.apache.bcel.internal.generic.RETURN;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.formula.functions.T;
import org.apache.poi.ss.usermodel.*;
......@@ -262,20 +263,30 @@ public class CheckCountUtil {
//计算的核心公式结果
BigDecimal countResult = SZ_A2.subtract(MZ_A2).divide(YZ_A2);
endResult = countResult.multiply(param100);
}else if(name.equals("焦渣")){
endResult = getBigDecimal(resultMap.get("焦渣特征"));
}else if(name.equals("St,ad")){
endResult = getBigDecimal(resultMap.get("显示值"));
}
return endResult;
}
/**
* 求SO3
* @param resultMap
* @param countMap
* @return
*/
public static BigDecimal countSO3(Map<String, Object> countMap) {
public static BigDecimal countSO3(Map<String, Object> resultMap, Map<String, Object> countMap) {
BigDecimal weightSO3 = getBigDecimal(countMap.get("重量法_SO3"));
BigDecimal displaySO3= getBigDecimal(countMap.get("显示值"));
BigDecimal mSO3= getBigDecimal(countMap.get("样重SO3"));
BigDecimal displaySO3= getBigDecimal(resultMap.get("显示值"));
BigDecimal mSO3= getBigDecimal(resultMap.get("样重SO3"));
BigDecimal elseResult = displaySO3.multiply(new BigDecimal(2.5));
BigDecimal countResult = weightSO3.compareTo(new BigDecimal(0))==1?
weightSO3:elseResult;
......@@ -395,8 +406,8 @@ public class CheckCountUtil {
BigDecimal Mad1= getBigDecimal(countMap.get("Mad1"));
BigDecimal Mad2= getBigDecimal(countMap.get("Mad2"));
//计算Mad1 和 Mad2 的平均值
BigDecimal MadAve = Mad1.add(Mad2).divide(new BigDecimal(2));
return MadAve;
BigDecimal BC_Mad = Mad1.add(Mad2).divide(new BigDecimal(2));
return BC_Mad;
}
/**
......@@ -405,15 +416,15 @@ public class CheckCountUtil {
* @return
*/
public static BigDecimal countMad(Map<String, Object> countMap) {
BigDecimal MadAve= getBigDecimal(countMap.get("报出_Mad"));
BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
//判断奇偶数的最终值
BigDecimal result1 = MadAve.multiply(param100);
BigDecimal result1 = BC_Mad.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal Mad = null;
if((resultInt1&1) == 1){ //如果结果为奇数
Mad = MadAve.setScale(2,BigDecimal.ROUND_HALF_UP);
Mad = BC_Mad.setScale(2,BigDecimal.ROUND_HALF_UP);
}else{
Mad = MadAve.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;
}
......@@ -427,8 +438,8 @@ public class CheckCountUtil {
BigDecimal Aad1= getBigDecimal(countMap.get("Aad1"));
BigDecimal Aad2= getBigDecimal(countMap.get("Aad2"));
//计算Mad1 和 Mad2 的平均值
BigDecimal AadAve = Aad1.add(Aad2).divide(new BigDecimal(2));
return AadAve;
BigDecimal BC_Aad = Aad1.add(Aad2).divide(new BigDecimal(2));
return BC_Aad;
}
/**
......@@ -437,15 +448,15 @@ public class CheckCountUtil {
* @return
*/
public static BigDecimal countAad(Map<String, Object> countMap) {
BigDecimal AadAve= getBigDecimal(countMap.get("报出_Aad"));
BigDecimal BC_Aad= getBigDecimal(countMap.get("报出_Aad"));
//判断奇偶数的最终值
BigDecimal result1 = AadAve.multiply(param100);
BigDecimal result1 = BC_Aad.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal Aad = null;
if((resultInt1&1) == 1){ //如果结果为奇数
Aad = AadAve.setScale(2,BigDecimal.ROUND_HALF_UP);
Aad = BC_Aad.setScale(2,BigDecimal.ROUND_HALF_UP);
}else{
Aad = AadAve.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;
}
......@@ -493,8 +504,8 @@ public class CheckCountUtil {
BigDecimal Vad1= getBigDecimal(countMap.get("Vad1"));
BigDecimal Vad2= getBigDecimal(countMap.get("Vad2"));
//计算Vad1 和 Vad2 的平均值
BigDecimal VadAve = Vad1.add(Vad2).divide(new BigDecimal(2));
return VadAve;
BigDecimal BC_Vad = Vad1.add(Vad2).divide(new BigDecimal(2));
return BC_Vad;
}
/**
......@@ -503,15 +514,15 @@ public class CheckCountUtil {
* @return
*/
public static BigDecimal countVad(Map<String, Object> countMap) {
BigDecimal VadAve= getBigDecimal(countMap.get("报出_Vad"));
BigDecimal BC_Vad= getBigDecimal(countMap.get("报出_Vad"));
//判断奇偶数的最终值
BigDecimal result1 = VadAve.multiply(param100);
BigDecimal result1 = BC_Vad.multiply(param100);
int resultInt1 = result1.setScale( 0, BigDecimal.ROUND_DOWN ).intValue();
BigDecimal Vad = null;
if((resultInt1&1) == 1){ //如果结果为奇数
Vad = VadAve.setScale(2,BigDecimal.ROUND_HALF_UP);
Vad = BC_Vad.setScale(2,BigDecimal.ROUND_HALF_UP);
}else{
Vad = VadAve.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;
}
......@@ -697,6 +708,96 @@ public class CheckCountUtil {
return count;
}
/**
* 求Qnet,ad MJ/kg
* @param countMap
* @return
*/
public static BigDecimal countQnet_adMJ_kg(Map<String, Object> resultMap, Map<String, Object> countMap) {
BigDecimal YWH_123= getBigDecimal(resultMap.get("烟无褐123"));
BigDecimal K1_= getBigDecimal(countMap.get("K1,"));
BigDecimal BC_Mad= getBigDecimal(countMap.get("报出_Mad"));
BigDecimal BC_Aad= getBigDecimal(countMap.get("报出_Aad"));
BigDecimal BC_Vad= getBigDecimal(countMap.get("报出_Vad"));
BigDecimal K= getBigDecimal(countMap.get("K"));
BigDecimal _40Mad_0_1= getBigDecimal(countMap.get("40Mad 0或1"));
BigDecimal K0_= getBigDecimal(countMap.get("K0,"));
BigDecimal value = null;
if(YWH_123.compareTo(new BigDecimal(3))==0){
value =param100.multiply(K1_).subtract(K1_.add(new BigDecimal(6)).multiply(BC_Mad.add(BC_Aad)))
.subtract(BC_Vad);
} 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)))
.subtract(new BigDecimal(3).multiply(BC_Vad))
.subtract(new BigDecimal(40).multiply(BC_Mad).multiply(_40Mad_0_1));
}else if(YWH_123.compareTo(new BigDecimal(2))==0){
value =K0_.subtract(new BigDecimal(86).multiply(BC_Mad))
.subtract(new BigDecimal(92).multiply(BC_Aad))
.subtract(new BigDecimal(24).multiply(BC_Vad));
}
BigDecimal count = value.multiply(new BigDecimal(4.1816)).divide(param1000);
return count;
}
/**
* 求易磨性等级
* @param resultMap
* @return
*/
public static String countYMXGrade(Map<String, Object> resultMap) {
BigDecimal YMX_kWh_t = getBigDecimal(resultMap.get("易磨性(kWh/t)"));
if(YMX_kWh_t.compareTo(new BigDecimal(18))==1){
return "E";
}else if(YMX_kWh_t.compareTo(new BigDecimal(13))==1){
return "D";
}else if(YMX_kWh_t.compareTo(new BigDecimal(10))==1){
return "C";
}else if(YMX_kWh_t.compareTo(new BigDecimal(8))==1){
return "B";
}else{
return "A";
}
}
/**
* 求易磨性校验码
* @param resultMap
* @return
*/
public static String countYMXCode(Map<String, Object> resultMap) {
Double G = Double.valueOf(resultMap.get("G").toString());
Double P80 = Double.valueOf(resultMap.get("P80").toString());
Double F80 = Double.valueOf(resultMap.get("F80").toString());
BigDecimal YMX_kWh_t = getBigDecimal(resultMap.get("易磨性(kWh/t)"));
BigDecimal YMX_MJ_t = getBigDecimal(resultMap.get("易磨性(MJ/t)"));
Double countResult =
Math.pow(80,0.23)*Math.pow(G,0.82)*(10/(Math.pow(P80,0.5)- 10/Math.pow(F80,0.5)));
BigDecimal result1 = new BigDecimal(countResult);
BigDecimal value1 =
new BigDecimal(176.2).divide(result1).subtract(new BigDecimal(3.6).multiply(new BigDecimal(P80))).abs();
BigDecimal value2 = YMX_MJ_t.divide(YMX_kWh_t);
if(value1.compareTo(new BigDecimal(0.5) ) == -1 &&
value2.compareTo(new BigDecimal(3.5)) == 1 &&
value2.compareTo(new BigDecimal(3.7)) == -1){
return "OK";
}else{
return "出错了";
}
}
}
......
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