Commit eef8b87b authored by shulidong's avatar shulidong

Merge remote-tracking branch 'origin/master'

parents 038248ae 7d9c3fe8
...@@ -76,20 +76,6 @@ public class EntrustController { ...@@ -76,20 +76,6 @@ public class EntrustController {
return BaseResponse.errorMsg("失败!"); return BaseResponse.errorMsg("失败!");
} }
@ApiOperation("委托列表导出")
@PostMapping("/export")
public void export(String startDate, String endDate, Integer status,
Integer clientId, String projectName, String projectCode,
String fileName, HttpServletResponse response) {
try {
entrustService.export(startDate, endDate, status,
clientId, projectName, projectCode,
fileName, response);
} catch (Exception e) {
log.debug("委托列表导出{}", e);
}
}
@ApiOperation(value = "置顶取消置顶 (createTime = updateTime显示置顶,否则显示取消置顶)") @ApiOperation(value = "置顶取消置顶 (createTime = updateTime显示置顶,否则显示取消置顶)")
@PostMapping("/setTopping") @PostMapping("/setTopping")
public BaseResponse setTopping(Integer id) { public BaseResponse setTopping(Integer id) {
...@@ -698,6 +684,19 @@ public class EntrustController { ...@@ -698,6 +684,19 @@ public class EntrustController {
//*********************导出************************************************** //*********************导出**************************************************
@ApiOperation("委托列表导出")
@PostMapping("/export")
public void export(String startDate, String endDate, Integer status,
Integer clientId, String projectName, String projectCode,
String fileName, HttpServletResponse response) {
try {
entrustService.export(startDate, endDate, status,
clientId, projectName, projectCode,
fileName, response);
} catch (Exception e) {
log.debug("委托列表导出{}", e);
}
}
@PostMapping("/export/{entrustId}") @PostMapping("/export/{entrustId}")
@ApiOperation("导出委托单") @ApiOperation("导出委托单")
...@@ -724,11 +723,6 @@ public class EntrustController { ...@@ -724,11 +723,6 @@ public class EntrustController {
.forEach(arg -> { .forEach(arg -> {
arg.setName(arg.getName() == null?"":arg.getName()); arg.setName(arg.getName() == null?"":arg.getName());
arg.setSampleCode(arg.getSampleCode() == null?"":arg.getSampleCode()); arg.setSampleCode(arg.getSampleCode() == null?"":arg.getSampleCode());
/*List<SampleTeamGroupVo> teamVoList = arg.getSampleTeamGroupVoList();
teamVoList.forEach(args ->{
List<SampleDistributionTeamVo> teamVoList2 = args.getSampleDistributionTeamVoList();
arg.setTeamName(getTeamName(teamVoList2));
});*/
sampleList.add(arg); sampleList.add(arg);
}); });
beanParams.put("list", sampleList); beanParams.put("list", sampleList);
...@@ -737,21 +731,6 @@ public class EntrustController { ...@@ -737,21 +731,6 @@ public class EntrustController {
beanParams, response, FileExt.DOC); beanParams, response, FileExt.DOC);
} }
private String getTeamName(List<SampleDistributionTeamVo> teamVos) {
if (teamVos.size() == 0) {
return "";
}
StringBuffer rts = new StringBuffer();
teamVos.forEach(arg -> {
rts.append(arg.getTeamName()).append("、");
});
return rts.substring(0, rts.toString().length() - 1);
}
@PostMapping("/exportDistribution/{entrustId}") @PostMapping("/exportDistribution/{entrustId}")
@ApiOperation("导出检测通知单") @ApiOperation("导出检测通知单")
...@@ -814,20 +793,6 @@ public class EntrustController { ...@@ -814,20 +793,6 @@ public class EntrustController {
beanParams, response, FileExt.DOC); beanParams, response, FileExt.DOC);
} }
@ApiOperation(value = "查看样品流转单")
@GetMapping("/getSampleFlowList")
public BaseResponse getSampleFlowList(Integer entrustId) {
try {
return entrustService.getSampleFlowList(entrustId);
} catch (Exception e) {
log.debug("查看样品流转单{}", e);
}
return BaseResponse.errorMsg("失败!");
}
@PostMapping("/exportSampleFlow/{entrustId}") @PostMapping("/exportSampleFlow/{entrustId}")
@ApiOperation("导出样品流转单") @ApiOperation("导出样品流转单")
public void exportSampleFlow(@PathVariable("entrustId") Integer entrustId, public void exportSampleFlow(@PathVariable("entrustId") Integer entrustId,
...@@ -854,8 +819,6 @@ public class EntrustController { ...@@ -854,8 +819,6 @@ public class EntrustController {
beanParams, response, FileExt.DOC); beanParams, response, FileExt.DOC);
} }
@ApiOperation("导出样品标签") @ApiOperation("导出样品标签")
@PostMapping("/exportSampleLabel/{entrustId}") @PostMapping("/exportSampleLabel/{entrustId}")
public void exportSampleLabel(@PathVariable("entrustId") Integer entrustId, public void exportSampleLabel(@PathVariable("entrustId") Integer entrustId,
...@@ -868,9 +831,6 @@ public class EntrustController { ...@@ -868,9 +831,6 @@ public class EntrustController {
} }
} }
@ApiOperation("导出-委托单校核详情") @ApiOperation("导出-委托单校核详情")
@PostMapping("/exportCheckDetail/{entrustId}") @PostMapping("/exportCheckDetail/{entrustId}")
public void exportCheckDetail(@PathVariable("entrustId") Integer entrustId, public void exportCheckDetail(@PathVariable("entrustId") Integer entrustId,
......
...@@ -4,20 +4,14 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,20 +4,14 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.wise.sc.cement.business.entity.EntityEnclosure; import cn.wise.sc.cement.business.entity.EntityEnclosure;
import cn.wise.sc.cement.business.model.BaseResponse; import cn.wise.sc.cement.business.entity.Sample;
import cn.wise.sc.cement.business.model.*;
import cn.wise.sc.cement.business.enumation.FileExt; import cn.wise.sc.cement.business.enumation.FileExt;
import cn.wise.sc.cement.business.model.IndustrialElementKey;
import cn.wise.sc.cement.business.model.IndustrialReport;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.ReportDetailVo;
import cn.wise.sc.cement.business.model.SixElementKey;
import cn.wise.sc.cement.business.model.SixElementReport;
import cn.wise.sc.cement.business.model.query.SampleHandleEnclosureQuery; import cn.wise.sc.cement.business.model.query.SampleHandleEnclosureQuery;
import cn.wise.sc.cement.business.model.vo.EntrustVo; import cn.wise.sc.cement.business.model.vo.EntrustVo;
import cn.wise.sc.cement.business.service.IEntityEnclosureService; import cn.wise.sc.cement.business.service.IEntityEnclosureService;
import cn.wise.sc.cement.business.service.IEntrustService; import cn.wise.sc.cement.business.service.IEntrustService;
import cn.wise.sc.cement.business.util.WordUtil; import cn.wise.sc.cement.business.util.WordUtil;
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.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -27,8 +21,8 @@ import io.swagger.annotations.ApiOperation; ...@@ -27,8 +21,8 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
...@@ -39,13 +33,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -39,13 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -84,23 +72,6 @@ public class ReportController { ...@@ -84,23 +72,6 @@ public class ReportController {
return iEntrustService.getReportPage(pageQuery, startDate, endDate, clientId, projectName, projectCode); return iEntrustService.getReportPage(pageQuery, startDate, endDate, clientId, projectName, projectCode);
} }
@ApiOperation(value = "置顶取消置顶 (createTime = updateTime显示置顶,否则显示取消置顶)")
@PostMapping("/setTopping")
public BaseResponse<String> setTopping(Integer id) {
try {
return iEntrustService.setTopping(id);
} catch (Exception e) {
log.debug("置顶取消置顶 {}", e.getMessage());
}
return BaseResponse.errorMsg("失败!");
}
@DeleteMapping("/{id}")
@ApiOperation("删除报告")
public BaseResponse<Boolean> deleteById(@PathVariable("id") Integer id) {
return iEntrustService.deleteById(id);
}
@PostMapping("/{entrustId}") @PostMapping("/{entrustId}")
@ApiOperation("导出报告封面和首页") @ApiOperation("导出报告封面和首页")
public void getReportDetail(@PathVariable("entrustId") Integer entrustId, public void getReportDetail(@PathVariable("entrustId") Integer entrustId,
...@@ -132,29 +103,57 @@ public class ReportController { ...@@ -132,29 +103,57 @@ public class ReportController {
beanParams.put("methodNames", moveFirst(rts.getMethodNames())); beanParams.put("methodNames", moveFirst(rts.getMethodNames()));
beanParams.put("equipmentNames", moveFirst(rts.getEquipmentNames())); beanParams.put("equipmentNames", moveFirst(rts.getEquipmentNames()));
//六元素导出 //十元素1导出
List<SixElementReport> list = iEntrustService.getSampleSixElementCheck(entrustId); List<TenElementReport> list1 = iEntrustService.getTen1List(entrustId);
beanParams.put("list1", list1);
//十元素2导出
List<TenElementReport> list2 = iEntrustService.getTen2List(entrustId);
beanParams.put("list2", list2);
list.forEach(this::initMapStr2AlongPro);
List<SixElementReport> al2o3AndTio2List = list.stream()
.filter(arg -> !"-".equals(arg.getAl2o3AndTio2()))
.collect(Collectors.toList());
List<SixElementReport> al2o3SplitTio2List = list.stream()
.filter(arg -> "-".equals(arg.getAl2o3AndTio2()))
.collect(Collectors.toList());
beanParams.put("list1", al2o3AndTio2List);
beanParams.put("list2", al2o3SplitTio2List);
//化学工业导出 //化学工业导出
List<IndustrialReport> list1 = iEntrustService.getSampleIndustrialCheck(entrustId); List<IndustrialReport> list3 = iEntrustService.getSampleIndustrialCheck(entrustId);
list1.forEach(this::initMapStr2AlongPro); beanParams.put("list3", list3);
beanParams.put("list3", list1);
WordUtil.writeWordReport(rts.getProjectName() + "(报告)", "report_new.ftl", WordUtil.writeWordReport(rts.getProjectName() + "(报告)", "report_new.ftl",
beanParams, response, FileExt.EXCL); beanParams, response, FileExt.EXCL);
} }
private String getFirstSet(Set<String> set) {
Iterator<String> iterator = set.iterator();
if (iterator.hasNext()) {
return iterator.next();
}
return "";
}
private static Set<String> moveFirst(Set<String> set) {
Set<String> newSet = new HashSet<>(set.size());
Iterator<String> iterator = set.iterator();
if (iterator.hasNext()) {
String next = iterator.next();
newSet.addAll(set);
newSet.remove(next);
return newSet;
}
return null;
}
private String set2String(Set<String> source) {
if (source.size() == 0) {
return "";
}
StringBuilder strBuilder = new StringBuilder();
for (String target : source) {
strBuilder.append("、").append(target);
}
return strBuilder.replace(0, 1, "").toString();
}
@PostMapping("/upload") @PostMapping("/upload")
@ApiOperation("上传报告") @ApiOperation("上传报告")
public BaseResponse<Boolean> uploadReport(@RequestBody SampleHandleEnclosureQuery query) { public BaseResponse<Boolean> uploadReport(@RequestBody SampleHandleEnclosureQuery query) {
...@@ -197,110 +196,5 @@ public class ReportController { ...@@ -197,110 +196,5 @@ public class ReportController {
} }
/**
* 将样品六元素检测Map转换成单独属性
*
* @param sixElement 带转换的六元素检测结果
* @return 已转换结果
*/
private void initMapStr2AlongPro(SixElementReport sixElement) {
String countResult = sixElement.getCountResults();
List<SixElementReport.Element> list = JSON.parseArray(countResult, SixElementReport.Element.class);
HashMap<String, String> countResultMap = new HashMap<>(list.size());
list.forEach(arg -> countResultMap.put(arg.getName(), arg.getValue()));
sixElement.setAl2o3("-");
sixElement.setTio2("-");
sixElement.setAl2o3AndTio2("-");
//判断检测结果中六元素Al2O3是否包含TiO2
if (countResultMap.containsKey(SixElementKey.Al2O3AndTiO2.getKey())) {
sixElement.setAl2o3AndTio2(countResultMap.get(SixElementKey.Al2O3AndTiO2.getKey()));
} else {
sixElement.setAl2o3(countResultMap.getOrDefault(SixElementKey.Al2O3.getKey(), "0"));
sixElement.setTio2(countResultMap.getOrDefault(SixElementKey.TiO2.getKey(), "0"));
}
sixElement.setCao(countResultMap.getOrDefault(SixElementKey.CaO.getKey(), "0"));
sixElement.setCl(countResultMap.getOrDefault(SixElementKey.Cl.getKey(), "0"));
sixElement.setFe2o3(countResultMap.getOrDefault(SixElementKey.Fe2O3.getKey(), "0"));
sixElement.setLoi(countResultMap.getOrDefault(SixElementKey.LOI.getKey(), "0"));
sixElement.setMgo(countResultMap.getOrDefault(SixElementKey.MgO.getKey(), "0"));
sixElement.setSio2(countResultMap.getOrDefault(SixElementKey.SiO2.getKey(), "0"));
sixElement.setSo3(countResultMap.getOrDefault(SixElementKey.SO3.getKey(), "0"));
}
private String getFirstSet(Set<String> set) {
Iterator<String> iterator = set.iterator();
if (iterator.hasNext()) {
return iterator.next();
}
return "";
}
private static Set<String> moveFirst(Set<String> set) {
Set<String> newSet = new HashSet<>(set.size());
Iterator<String> iterator = set.iterator();
if (iterator.hasNext()) {
String next = iterator.next();
newSet.addAll(set);
newSet.remove(next);
return newSet;
}
return null;
}
private void initMapStr2AlongPro(IndustrialReport industrialReport) {
String countResult = industrialReport.getCountResults();
List<SixElementReport.Element> list = JSON.parseArray(countResult, SixElementReport.Element.class);
HashMap<String, String> countResultMap = new HashMap<>(list.size());
list.forEach(arg -> countResultMap.put(arg.getName(), arg.getValue()));
industrialReport.setAad(countResultMap.getOrDefault(IndustrialElementKey.Aad.getKey(), "0"));
industrialReport.setJz(countResultMap.getOrDefault(IndustrialElementKey.JZ.getKey(), "0"));
industrialReport.setMad(countResultMap.getOrDefault(IndustrialElementKey.Mad.getKey(), "0"));
industrialReport.setMjkg(countResultMap.getOrDefault(IndustrialElementKey.QnetAdMJkg.getKey(), "0"));
industrialReport.setStad(countResultMap.getOrDefault(IndustrialElementKey.StAd.getKey(), "0"));
industrialReport.setVad(countResultMap.getOrDefault(IndustrialElementKey.Vad.getKey(), "0"));
}
private String set2String(Set<String> source) {
if (source.size() == 0) {
return "";
}
StringBuilder strBuilder = new StringBuilder();
for (String target : source) {
strBuilder.append("、").append(target);
}
return strBuilder.replace(0, 1, "").toString();
}
private String set2StringN(Set<String> source) {
if (source.size() == 0) {
return "";
}
StringBuilder strBuilder = new StringBuilder();
for (String target : source) {
strBuilder.append("&#10;").append(target);
}
return strBuilder.replace(0, 5, "").toString();
}
} }
...@@ -29,16 +29,31 @@ public class EntrustReport { ...@@ -29,16 +29,31 @@ public class EntrustReport {
*/ */
private Integer clientId; private Integer clientId;
/**
* 样品id
*/
private Integer sampleId;
/** /**
* 项目id * 项目id
*/ */
private Integer entrustId; private Integer entrustId;
/**
* 项目类型
*/
private String projectType;
//8888888888888888888888888888888888888888888888888
/**
* 样品id
*/
private Integer sampleId;
/** /**
* 检测项目ids * 检测项目ids
*/ */
...@@ -84,10 +99,6 @@ public class EntrustReport { ...@@ -84,10 +99,6 @@ public class EntrustReport {
*/ */
private String entrustCode; private String entrustCode;
/**
* 项目类型
*/
private String projectType;
/** /**
* 样品创建时间 * 样品创建时间
......
...@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.apache.commons.lang3.StringUtils;
/** /**
* <p> * <p>
...@@ -122,4 +123,33 @@ public class Sample implements Serializable { ...@@ -122,4 +123,33 @@ public class Sample implements Serializable {
@ApiModelProperty("样品是否来自国外 (0来自国内,1来自国外)") @ApiModelProperty("样品是否来自国外 (0来自国内,1来自国外)")
private Integer isForeign; private Integer isForeign;
/**
* 将样品重量换算成公斤(kg)
* 样品重量计量单位(1微克,2毫克,3克,4千克,5吨)
* @param weight
* @param weightType
* @return
*/
public static String weight2Kg(String weight,Integer weightType){
String result = "";
if(StringUtils.isNotBlank(weight)){
if(weightType == 1){
result = new BigDecimal(weight).divide(new BigDecimal(1000000000)).toString();
}else if(weightType == 2){
result = new BigDecimal(weight).divide(new BigDecimal(1000000)).toString();
}else if(weightType == 3){
result = new BigDecimal(weight).divide(new BigDecimal(1000)).toString();
}else if(weightType == 4){
result = weight;
}else if(weightType == 5){
result = new BigDecimal(weight).multiply(new BigDecimal(1000)).toString();
}else{
result = "";
}
}
return result;
}
} }
...@@ -2,11 +2,12 @@ package cn.wise.sc.cement.business.mapper; ...@@ -2,11 +2,12 @@ package cn.wise.sc.cement.business.mapper;
import cn.wise.sc.cement.business.entity.SampleCheck; import cn.wise.sc.cement.business.entity.SampleCheck;
import cn.wise.sc.cement.business.model.IndustrialReport; import cn.wise.sc.cement.business.model.IndustrialReport;
import cn.wise.sc.cement.business.model.SixElementReport; import cn.wise.sc.cement.business.model.TenElementReport;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* <p> * <p>
...@@ -19,12 +20,12 @@ import java.util.List; ...@@ -19,12 +20,12 @@ import java.util.List;
public interface SampleCheckMapper extends BaseMapper<SampleCheck> { public interface SampleCheckMapper extends BaseMapper<SampleCheck> {
/** /**
* 获取样品六元素检测结果 * 获取样品十元素1检测结果
* *
* @param entrustId 项目id * @param entrustId 项目id
* @return SixElementReport * @return SixElementReport
*/ */
List<SixElementReport> getSampleSixElementCheck(@Param("entrustId") Integer entrustId); List<TenElementReport> getSampleElementCheck(@Param("entrustId") Integer entrustId, @Param("teamNames") Set<String> teamNames);
/** /**
* 获取样品工业检测结果 * 获取样品工业检测结果
......
...@@ -23,6 +23,9 @@ ...@@ -23,6 +23,9 @@
<if test="params.clientName != null and params.clientName != ''"> <if test="params.clientName != null and params.clientName != ''">
and c.name like concat('%', #{params.clientName}, '%') and c.name like concat('%', #{params.clientName}, '%')
</if> </if>
<if test="params.clientId != null">
and e.client_id = #{params.clientId}
</if>
<if test="params.projectName != null and params.projectName != ''"> <if test="params.projectName != null and params.projectName != ''">
and p.name like concat('%', #{params.projectName}, '%') and p.name like concat('%', #{params.projectName}, '%')
</if> </if>
...@@ -327,9 +330,7 @@ ...@@ -327,9 +330,7 @@
</where> </where>
</sql> </sql>
<!-- <select id="getReportDetail" resultType="cn.wise.sc.cement.business.entity.EntrustReport">
<select id="getReportDetail" resultType="cn.wise.sc.cement.business.entity.EntrustReport">
SELECT e.id,e.project_name,e.send_name,e.client_id,e.entrust_code,e.project_type,sscct.* FROM entrust e SELECT e.id,e.project_name,e.send_name,e.client_id,e.entrust_code,e.project_type,sscct.* FROM entrust e
RIGHT JOIN RIGHT JOIN
(SELECT id,entrust_id,team_ids,method_numbers,name,scct.check_id, (SELECT id,entrust_id,team_ids,method_numbers,name,scct.check_id,
...@@ -342,6 +343,25 @@ ...@@ -342,6 +343,25 @@
ON s.id = scct.sample_id) sscct ON s.id = scct.sample_id) sscct
ON sscct.entrust_id = e.id ON sscct.entrust_id = e.id
WHERE e.id IS NOT NULL WHERE e.id IS NOT NULL
</select>-->
<select id="getReportDetail" resultType="cn.wise.sc.cement.business.entity.EntrustReport">
SELECT e.id,e.project_name,e.send_name,e.client_id,e.entrust_code,e.project_type,s_tab.*
FROM entrust e
RIGHT JOIN
(
SELECT s.id,s.entrust_id,s.team_ids,s.method_numbers,s.name,s.create_time,
sd_tab.check_id,sd_tab.equipment_name,sd_tab.user_id,sd_tab.equipment_id
FROM sample s
RIGHT JOIN(
SELECT sd.id,sd.check_id,sd.sample_id,sd.user_id,
sde.equipment_id,sde.equipment_name FROM sample_distribution sd
left JOIN sample_distribution_equipment sde ON sde.distribution_id = sd.id where sd.entrust_id = 90
)sd_tab
ON s.id = sd_tab.sample_id
) s_tab
ON s_tab.entrust_id = e.id
WHERE e.id IS NOT NULL
</select> </select>
<select id="getQualityDetail" resultType="cn.wise.sc.cement.business.entity.QualityDetail"> <select id="getQualityDetail" resultType="cn.wise.sc.cement.business.entity.QualityDetail">
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<select id="exportList" resultType="java.util.HashMap"> <select id="exportList" resultType="java.util.HashMap">
SELECT SELECT
IF(ISNULL(pt.id.name),'',pt.id) as 序号, (@i:=@i+1) as 序号,
IF(ISNULL(pt.plan_object),'',pt.plan_object) as 培训对象, IF(ISNULL(pt.plan_object),'',pt.plan_object) as 培训对象,
IF(ISNULL(pt.objective),'',pt.objective) as 培训目的, IF(ISNULL(pt.objective),'',pt.objective) as 培训目的,
IF(ISNULL(pt.content),'',pt.content) as 培训内容, IF(ISNULL(pt.content),'',pt.content) as 培训内容,
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
IF(ISNULL(pt.assessment),'',pt.assessment) as 考核人, IF(ISNULL(pt.assessment),'',pt.assessment) as 考核人,
IF(ISNULL(pt.implementation),'',pt.implementation) as 实施情况 IF(ISNULL(pt.implementation),'',pt.implementation) as 实施情况
from plan_training pt from plan_training pt
(@i:=@i+1) as 序号,
<include refid="where"/> <include refid="where"/>
ORDER BY pt.id ASC ORDER BY pt.id ASC
</select> </select>
......
...@@ -2,18 +2,20 @@ ...@@ -2,18 +2,20 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wise.sc.cement.business.mapper.SampleCheckMapper"> <mapper namespace="cn.wise.sc.cement.business.mapper.SampleCheckMapper">
<select id="getSampleSixElementCheck" resultType="cn.wise.sc.cement.business.model.SixElementReport"> <select id="getSampleElementCheck" resultType="cn.wise.sc.cement.business.model.TenElementReport">
select s.id,s.name as sampleName,s.sample_form as sampleForm,s.sample_code as sampleCode,s.weight as weight,
SELECT * FROM (SELECT count_results,entrust_id,team_group_name,sct.sample_id,sc.id FROM sample_check sc s.weight_type as weightType,s.cement_code as cementCode,
LEFT JOIN t.name as teamName,IF(ISNULL(sdc.last_result),'—',sdc.last_result) as lastResult
(SELECT check_id,sample_id FROM sample_check_team) sct from sample_distribution sd
ON sct.check_id = sc.id left join team t on t.id = sd.team_id
WHERE sample_id IS NOT NULL AND sc.team_group_name = '六元素' ) sscct left join sample_distribution_check sdc on sdc.id = sd.check_id
RIGHT JOIN left join sample s on s.id = sd.sample_id
(SELECT cement_code,sample_code,sample_form,`name` as sample_name,parallel_code,weight,id where sd.entrust_id = #{entrustId} and sd.check_id is not null and s.cement_code = s.parallel_code
FROM sample) s and t.name in
ON s.id = sscct.sample_id AND entrust_id = #{entrustId} <foreach collection="teamNames" open="(" close=")" item="teamNames" separator=",">
WHERE count_results IS NOT NULL AND s.parallel_code = cement_code; #{teamNames}
</foreach>
group by s.id, sdc.id,t.name
</select> </select>
<select id="getSampleIndustrialCheck" resultType="cn.wise.sc.cement.business.model.IndustrialReport"> <select id="getSampleIndustrialCheck" resultType="cn.wise.sc.cement.business.model.IndustrialReport">
......
package cn.wise.sc.cement.business.model; package cn.wise.sc.cement.business.model;
/** /**
* @description: 元素检测结果中的key * @description: 元素检测结果中的key
* @author: qh * @author: qh
* @create: 2020-10-15 14:03 * @create: 2020-10-15 14:03
**/ **/
public enum SixElementKey { public enum TenElementKey {
//元素key //元素key
LOI("L.O.I"), LOI("L.O.I"),
SiO2("SiO2"), SiO2("SiO<sub>2</sub>"),
Al2O3("Al2O3"), Al2O3AndTiO2("Al<sub>2</sub>O<sub>3</sub>+TiO<sub>2</sub>"),
TiO2("TiO2"), Fe2O3("Fe<sub>2</sub>O<sub>3</sub>"),
CaO("CaO"), CaO("CaO"),
MgO("MgO"), MgO("MgO"),
SO3("So3"), K2O("K<sub>2</sub>O"),
Cl("Cl"), Na2O("Na<sub>2</sub>O"),
Fe2O3("Fe2O3"), SO3("SO<sub>3</sub>"),
Al2O3AndTiO2("Al2O3+TiO2"); Cl("Cl<sup>-</sup>"),
FSiO2("f-SiO<sub>2</sub>"),
Al2O3("Al<sub>2</sub>O<sub>3</sub>"),
TiO2("TiO<sub>2</sub>"),
MnO("MnO"),
;
private String key; private String key;
SixElementKey(String key) { TenElementKey(String key) {
this.key = key; this.key = key;
} }
......
package cn.wise.sc.cement.business.model; package cn.wise.sc.cement.business.model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
/** /**
* @description: 元素检测报告 * @description: 元素检测报告
* @author: qh * @author: ztw
* @create: 2020-10-15 12:24 * @create: 2020-10-15 12:24
**/ **/
@Data @Data
public class SixElementReport implements Serializable { public class TenElementReport implements Serializable {
private static final long serialVersionUID = 42L; private static final long serialVersionUID = 42L;
/**
* 样品id
*/
private Integer id;
/** /**
* 样品名称 * 样品名称
*/ */
...@@ -34,38 +42,45 @@ public class SixElementReport implements Serializable { ...@@ -34,38 +42,45 @@ public class SixElementReport implements Serializable {
*/ */
private String weight; private String weight;
/**
* 样品重量计量单位(1微克,2毫克,3克,4千克,5吨)
*/
private Integer weightType;
/** /**
* 本所编号 * 本所编号
*/ */
private String cementCode; private String cementCode;
/** /**
* 校核数据 * 检测项名称
*/ */
private String countResults; private String teamName;
//下面为六元素 /**
* 最终结果
*/
private String lastResult;
//下面为十元素1 十元素2共有的
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 k2o ="";
private String na2o ="";
private String so3 =""; private String so3 ="";
private String cl=""; private String cl="";
//情况一:Al2O3(含TiO3) //下面为十元素1
private String al2o3AndTio2 =""; private String al2o3AndTio2 ="";
private String fsio2="";
//情况二:Al2O3和TiO3单独分开 //下面为十元素2
private String al2o3="";
private String al2o3 =""; private String tio2="";
private String tio2 =""; private String mno="";
@Data
public static class Element implements Serializable{
private String name;
private String value;
}
} }
package cn.wise.sc.cement.business.service; package cn.wise.sc.cement.business.service;
import cn.wise.sc.cement.business.entity.*; import cn.wise.sc.cement.business.entity.*;
import cn.wise.sc.cement.business.model.BaseResponse; import cn.wise.sc.cement.business.model.*;
import cn.wise.sc.cement.business.model.IndustrialReport;
import cn.wise.sc.cement.business.model.PageQuery;
import cn.wise.sc.cement.business.model.ReportDetailVo;
import cn.wise.sc.cement.business.model.SixElementReport;
import cn.wise.sc.cement.business.model.query.*; import cn.wise.sc.cement.business.model.query.*;
import cn.wise.sc.cement.business.model.vo.*; import cn.wise.sc.cement.business.model.vo.*;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
...@@ -123,47 +119,30 @@ public interface IEntrustService extends IService<Entrust> { ...@@ -123,47 +119,30 @@ public interface IEntrustService extends IService<Entrust> {
BaseResponse<String> makePublicEnclosure(Integer isPublic, Integer id,Integer type); BaseResponse<String> makePublicEnclosure(Integer isPublic, Integer id,Integer type);
//委托单详情
BaseResponse<EntrustVo> getBaseDtail(Integer id);
//报告 BaseResponse<EntrustVo> getBaseDtailClient(Integer id);
BaseResponse<IPage<EntrustVo>> getReportPage(PageQuery pageQuery, String startDate,
String endDate, Integer clientId,
String projectName, String projectCode);
BaseResponse<Boolean> deleteById(Integer id);
ReportDetailVo getReportDetail(Integer entrustId);
BaseResponse<IPage<EntrustVo>> getQualityPage(PageQuery pageQuery, BaseResponse<List<SampleHandleVo>> getSampleHandleDtail(Integer id);
String startDate, String endDate,
Integer clientId, String projectName,
String projectCode);
QualityDetailVo getQualityDetail(Integer entrustId); BaseResponse<List<SampleVo>> getSampleCheckDetail(Integer id);
void export(String startDate, String endDate, Integer status, BaseResponse<List<SampleVo>> getSampleCheckDtail(Integer id);
Integer clientId, String projectName, String projectCode,
String fileName, HttpServletResponse response);
void exportConsignation(Integer cycle, String startDate,
String endDate, Integer clientId, String clientName, String fileName, HttpServletResponse response);
BaseResponse<EntrustVo> getBaseDtail(Integer id); //检测报告
BaseResponse<IPage<EntrustVo>> getReportPage(PageQuery pageQuery, String startDate,
String endDate, Integer clientId,
String projectName, String projectCode);
BaseResponse<EntrustVo> getBaseDtailClient(Integer id); ReportDetailVo getReportDetail(Integer entrustId);
BaseResponse<List<SampleHandleVo>> getSampleHandleDtail(Integer id); List<TenElementReport> getTen1List(Integer entrustId);
BaseResponse<List<SampleVo>> getSampleCheckDetail(Integer id); List<TenElementReport> getTen2List(Integer entrustId);
BaseResponse<List<SampleVo>> getSampleCheckDtail(Integer id);
/**
* 查询六元素的检测结果
*
* @param entrustId 委托id
* @return 六元素校核
*/
List<SixElementReport> getSampleSixElementCheck(Integer entrustId);
/** /**
* 查询工业特性 * 查询工业特性
...@@ -173,13 +152,24 @@ public interface IEntrustService extends IService<Entrust> { ...@@ -173,13 +152,24 @@ public interface IEntrustService extends IService<Entrust> {
*/ */
List<IndustrialReport> getSampleIndustrialCheck(Integer entrustId); List<IndustrialReport> getSampleIndustrialCheck(Integer entrustId);
/**
* 导出样品流转单
* @param entrustId
* @return
*/
BaseResponse<Map<String, Object>> getSampleFlowList(Integer entrustId);
//质量管理
BaseResponse<IPage<EntrustVo>> getQualityPage(PageQuery pageQuery,
String startDate, String endDate,
Integer clientId, String projectName,
String projectCode);
QualityDetailVo getQualityDetail(Integer entrustId);
//导出
void export(String startDate, String endDate, Integer status,
Integer clientId, String projectName, String projectCode,
String fileName, HttpServletResponse response);
BaseResponse<Map<String, Object>> getSampleFlowList(Integer entrustId);
void exportSampleLabel(Integer entrustId, void exportSampleLabel(Integer entrustId,
String fileName, HttpServletResponse response); String fileName, HttpServletResponse response);
......
...@@ -87,7 +87,6 @@ public interface IPlanTrainingService extends IService<PlanTraining> { ...@@ -87,7 +87,6 @@ public interface IPlanTrainingService extends IService<PlanTraining> {
/** /**
* 培训计划导出 * 培训计划导出
* *
* @param objective 培训目的
* @param filename 文件名 * @param filename 文件名
* @param response * @param response
*/ */
......
...@@ -294,6 +294,33 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -294,6 +294,33 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
Entrust entrust = new Entrust(); Entrust entrust = new Entrust();
BeanUtils.copyProperties(query, entrust); BeanUtils.copyProperties(query, entrust);
//对样品进行过校验
if (query.getSampleTmpList() != null && query.getSampleTmpList().size() > 0) {
for (SampleTmpQuery sampleTmpQuery : query.getSampleTmpList()) {
if (StringUtils.isEmpty(sampleTmpQuery.getName())) {
return BaseResponse.errorMsg("请填写样品名");
}
if (StringUtils.isEmpty(sampleTmpQuery.getSampleCode())) {
return BaseResponse.errorMsg("请填写来样编号");
}
if (StringUtils.isEmpty(sampleTmpQuery.getSampleForm())) {
return BaseResponse.errorMsg("请选择样品状态");
}
if (StringUtils.isEmpty(sampleTmpQuery.getTeamIds())) {
return BaseResponse.errorMsg("请选择检测项目");
}
if (sampleTmpQuery.getWeight() == null) {
return BaseResponse.errorMsg("请填写样品重量");
}
if (sampleTmpQuery.getWeightType() == null) {
return BaseResponse.errorMsg("请选择重量单位");
}
if (StringUtils.isEmpty(sampleTmpQuery.getOrigin())) {
return BaseResponse.errorMsg("请选择样品产地");
}
}
}
//生成委托编号 //生成委托编号
// String entrustCode = commonService.createNo("WT", entrustMapper.counts()); // String entrustCode = commonService.createNo("WT", entrustMapper.counts());
entrust.setEntrustCode(null) entrust.setEntrustCode(null)
...@@ -310,9 +337,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -310,9 +337,6 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
if (query.getSampleTmpList() != null && query.getSampleTmpList().size() > 0) { if (query.getSampleTmpList() != null && query.getSampleTmpList().size() > 0) {
List<SampleTmp> sampleTmpList = new ArrayList<>(); List<SampleTmp> sampleTmpList = new ArrayList<>();
for (SampleTmpQuery sampleTmpQuery : query.getSampleTmpList()) { for (SampleTmpQuery sampleTmpQuery : query.getSampleTmpList()) {
if (StringUtils.isEmpty(sampleTmpQuery.getOrigin())) {
return BaseResponse.errorMsg("请选择样品产地");
}
SampleTmp sampleTmp = new SampleTmp(); SampleTmp sampleTmp = new SampleTmp();
BeanUtils.copyProperties(sampleTmpQuery, sampleTmp); BeanUtils.copyProperties(sampleTmpQuery, sampleTmp);
String teamIds = sampleTmpQuery.getTeamIds(); //选择的检测项id集合 String teamIds = sampleTmpQuery.getTeamIds(); //选择的检测项id集合
...@@ -366,6 +390,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -366,6 +390,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} else { } else {
return BaseResponse.errorMsg("样品及检测项不可为空"); return BaseResponse.errorMsg("样品及检测项不可为空");
} }
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "提交了委托单", null); logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "提交了委托单", null);
//消息推送 //消息推送
List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审"); List<Integer> approvalIdList = sysApprovalMapper.getApprovalId("委托评审");
...@@ -502,17 +528,38 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -502,17 +528,38 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
.setUpdateTime(entrust.getCreateTime()) .setUpdateTime(entrust.getCreateTime())
.setSampleNum(query.getSampleList().size()) .setSampleNum(query.getSampleList().size())
.setIsTop(0); .setIsTop(0);
entrustMapper.updateById(entrust);
if (query.getSampleList() != null && query.getSampleList().size() > 0) { if (query.getSampleList() != null && query.getSampleList().size() > 0) {
//对样品信息进行判断
for (SampleQuery sampleQuery : query.getSampleList()) {
if (StringUtils.isEmpty(sampleQuery.getName())) {
return BaseResponse.errorMsg("请填写样品名");
}
if (StringUtils.isEmpty(sampleQuery.getSampleCode())) {
return BaseResponse.errorMsg("请填写来样编号");
}
if (StringUtils.isEmpty(sampleQuery.getSampleForm())) {
return BaseResponse.errorMsg("请选择样品状态");
}
if (StringUtils.isEmpty(sampleQuery.getTeamIds())) {
return BaseResponse.errorMsg("请选择检测项目");
}
if (sampleQuery.getWeight() == null) {
return BaseResponse.errorMsg("请填写样品重量");
}
if (sampleQuery.getWeightType() == null) {
return BaseResponse.errorMsg("请选择重量单位");
}
if (StringUtils.isEmpty(sampleQuery.getOrigin())) {
return BaseResponse.errorMsg("请选择样品产地");
}
}
//删除之前的样品 //删除之前的样品
QueryWrapper<SampleTmp> queryWrapper = new QueryWrapper<>(); QueryWrapper<SampleTmp> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("entrust_id", entrust.getId()); queryWrapper.eq("entrust_id", entrust.getId());
sampleTmpService.remove(queryWrapper); sampleTmpService.remove(queryWrapper);
List<SampleTmp> sampleTmpList = new ArrayList<>(); List<SampleTmp> sampleTmpList = new ArrayList<>();
for (SampleQuery sampleQuery : query.getSampleList()) { for (SampleQuery sampleQuery : query.getSampleList()) {
if (StringUtils.isEmpty(sampleQuery.getOrigin())) {
return BaseResponse.errorMsg("请选择样品产地");
}
SampleTmp sampleTmp = new SampleTmp(); SampleTmp sampleTmp = new SampleTmp();
BeanUtils.copyProperties(sampleQuery, sampleTmp); BeanUtils.copyProperties(sampleQuery, sampleTmp);
String teamIds = sampleQuery.getTeamIds(); //选择的检测项id集合 String teamIds = sampleQuery.getTeamIds(); //选择的检测项id集合
...@@ -577,6 +624,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -577,6 +624,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} else { } else {
return BaseResponse.errorMsg("样品及检测项不可为空"); return BaseResponse.errorMsg("样品及检测项不可为空");
} }
entrustMapper.updateById(entrust);
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "修改委托单", null); logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "修改委托单", null);
//如果是委托人修改的 //如果是委托人修改的
...@@ -1230,13 +1279,115 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1230,13 +1279,115 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(sampleVoList); return BaseResponse.okData(sampleVoList);
} }
/**
* 获取十元素1的检测信息
* @param entrustId 委托id
* @return
*/
@Override @Override
public List<SixElementReport> getSampleSixElementCheck(Integer entrustId) { public List<TenElementReport> getTen1List(Integer entrustId){
List<TenElementReport> list = getSampleTenElementCheck(entrustId);
Map<Integer, List<TenElementReport>> groupBySample = list.stream().collect(Collectors.groupingBy(TenElementReport::getId, Collectors.toList()));
List<TenElementReport> newList = new ArrayList<>();
for(Map.Entry<Integer,List<TenElementReport>> entry : groupBySample.entrySet()){
TenElementReport first = entry.getValue().get(0);
Map<String,TenElementReport> tenElementReportMap = entry.getValue().stream().collect(Collectors.toMap(TenElementReport::getTeamName, item -> item));
first.setLoi(tenElementReportMap.get(TenElementKey.LOI.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.LOI.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.LOI.getKey()).getLastResult());
first.setSio2(tenElementReportMap.get(TenElementKey.SiO2.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.SiO2.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.SiO2.getKey()).getLastResult());
first.setAl2o3AndTio2(tenElementReportMap.get(TenElementKey.Al2O3AndTiO2.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Al2O3AndTiO2.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Al2O3AndTiO2.getKey()).getLastResult());
first.setFe2o3(tenElementReportMap.get(TenElementKey.Fe2O3.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Fe2O3.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Fe2O3.getKey()).getLastResult());
first.setCao(tenElementReportMap.get(TenElementKey.CaO.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.CaO.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.CaO.getKey()).getLastResult());
first.setMgo(tenElementReportMap.get(TenElementKey.MgO.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.MgO.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.MgO.getKey()).getLastResult());
first.setK2o(tenElementReportMap.get(TenElementKey.K2O.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.K2O.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.K2O.getKey()).getLastResult());
first.setNa2o(tenElementReportMap.get(TenElementKey.Na2O.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Na2O.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Na2O.getKey()).getLastResult());
first.setSo3(tenElementReportMap.get(TenElementKey.SO3.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.SO3.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.SO3.getKey()).getLastResult());
first.setCl(tenElementReportMap.get(TenElementKey.Cl.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Cl.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Cl.getKey()).getLastResult());
first.setFsio2(tenElementReportMap.get(TenElementKey.FSiO2.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.FSiO2.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.FSiO2.getKey()).getLastResult());
newList.add(first);
}
//将样品重量换算成kg
newList.stream().forEach(arg ->{
arg.setWeight(Sample.weight2Kg(arg.getWeight(), arg.getWeightType()));
});
return newList;
}
//获取十元素1的检测项检测信息
private List<TenElementReport> getSampleTenElementCheck(Integer entrustId) {
Set<String> list = new HashSet<>(11);
list.add("L.O.I");
list.add("SiO<sub>2</sub>");
list.add("Al<sub>2</sub>O<sub>3</sub>+TiO<sub>2</sub>");
list.add("Fe<sub>2</sub>O<sub>3</sub>");
list.add("CaO");
list.add("MgO");
list.add("K<sub>2</sub>O");
list.add("Na<sub>2</sub>O");
list.add("SO<sub>3</sub>");
list.add("Cl<sup>-</sup>");
list.add("f-SiO<sub>2</sub>");
return sampleCheckMapper.getSampleElementCheck(entrustId, list);
}
return sampleCheckMapper.getSampleSixElementCheck(entrustId);
/**
* 获取十元素2的检测信息
* @param entrustId 委托id
* @return
*/
@Override
public List<TenElementReport> getTen2List(Integer entrustId){
List<TenElementReport> list = getSampleTenElementCheck2(entrustId);
Map<Integer, List<TenElementReport>> groupBySample = list.stream().collect(Collectors.groupingBy(TenElementReport::getId, Collectors.toList()));
List<TenElementReport> newList = new ArrayList<>();
for(Map.Entry<Integer,List<TenElementReport>> entry : groupBySample.entrySet()){
TenElementReport first = entry.getValue().get(0);
Map<String,TenElementReport> tenElementReportMap = entry.getValue().stream().collect(Collectors.toMap(TenElementReport::getTeamName, item -> item));
first.setLoi(tenElementReportMap.get(TenElementKey.LOI.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.LOI.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.LOI.getKey()).getLastResult());
first.setSio2(tenElementReportMap.get(TenElementKey.SiO2.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.SiO2.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.SiO2.getKey()).getLastResult());
first.setAl2o3(tenElementReportMap.get(TenElementKey.Al2O3.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Al2O3.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Al2O3.getKey()).getLastResult());
first.setFe2o3(tenElementReportMap.get(TenElementKey.Fe2O3.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Fe2O3.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Fe2O3.getKey()).getLastResult());
first.setCao(tenElementReportMap.get(TenElementKey.CaO.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.CaO.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.CaO.getKey()).getLastResult());
first.setMgo(tenElementReportMap.get(TenElementKey.MgO.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.MgO.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.MgO.getKey()).getLastResult());
first.setTio2(tenElementReportMap.get(TenElementKey.TiO2.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.TiO2.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.TiO2.getKey()).getLastResult());
first.setK2o(tenElementReportMap.get(TenElementKey.K2O.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.K2O.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.K2O.getKey()).getLastResult());
first.setNa2o(tenElementReportMap.get(TenElementKey.Na2O.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Na2O.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Na2O.getKey()).getLastResult());
first.setSo3(tenElementReportMap.get(TenElementKey.SO3.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.SO3.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.SO3.getKey()).getLastResult());
first.setCl(tenElementReportMap.get(TenElementKey.Cl.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.Cl.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.Cl.getKey()).getLastResult());
first.setMno(tenElementReportMap.get(TenElementKey.MnO.getKey())==null || org.springframework.util.StringUtils.isEmpty(tenElementReportMap.get(TenElementKey.MnO.getKey()).getLastResult()) ?"—":tenElementReportMap.get(TenElementKey.MnO.getKey()).getLastResult());
newList.add(first);
}
//将样品重量换算成kg
newList.stream().forEach(arg ->{
arg.setWeight(Sample.weight2Kg(arg.getWeight(), arg.getWeightType()));
});
return newList;
}
//获取十元素2的检测项检测信息
private List<TenElementReport> getSampleTenElementCheck2(Integer entrustId) {
Set<String> list = new HashSet<>(12);
list.add("L.O.I");
list.add("SiO<sub>2</sub>");
list.add("Al<sub>2</sub>O<sub>3</sub>");
list.add("Fe<sub>2</sub>O<sub>3</sub>");
list.add("CaO");
list.add("MgO");
list.add("TiO<sub>2</sub>");
list.add("K<sub>2</sub>O");
list.add("Na<sub>2</sub>O");
list.add("SO<sub>3</sub>");
list.add("Cl<sup>-</sup>");
list.add("MnO");
return sampleCheckMapper.getSampleElementCheck(entrustId, list);
} }
@Override @Override
public List<IndustrialReport> getSampleIndustrialCheck(Integer entrustId) { public List<IndustrialReport> getSampleIndustrialCheck(Integer entrustId) {
...@@ -1698,8 +1849,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -1698,8 +1849,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
sampleService.saveBatch(sampleList); sampleService.saveBatch(sampleList);
//最大的平行样编号放入redis //最大的平行样编号放入redis
System.out.println("审批时的最大本所编号*******************************************" + maxCementCode); System.out.println("审批时的最大本所编号*******************************************" + lastCementCode);
redisUtil.setString("maxCementCode", maxCementCode); redisUtil.setString("maxCementCode", lastCementCode);
} }
return BaseResponse.okMsg("成功"); return BaseResponse.okMsg("成功");
} }
...@@ -2936,8 +3087,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -2936,8 +3087,8 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
weiXinService.sendTextMessage(userIds, content); weiXinService.sendTextMessage(userIds, content);
//记录委托单日志 //记录委托单日志
logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "退回样品处理任务", null); logsService.saveLog(SysLogs.ObjType.ENTRUST_LOG, entrust.getId(), "退回样品检测任务", null);
return BaseResponse.okMsg("已退回样品处理任务"); return BaseResponse.okMsg("已退回样品检测任务");
} }
/** /**
...@@ -4732,13 +4883,24 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -4732,13 +4883,24 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(countResultMap); return BaseResponse.okData(countResultMap);
} }
/**
* 检测报告分页列表
* @param pageQuery
* @param startDate
* @param endDate
* @param clientId
* @param projectName
* @param projectCode
* @return
*/
@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) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("startDate", startDate); params.put("startDate", startDate);
params.put("endDate", endDate); params.put("endDate", endDate);
params.put("reportStatus", 4); // params.put("reportStatus", 4);
params.put("status", 8);
params.put("clientId", clientId); params.put("clientId", clientId);
params.put("projectName", projectName); params.put("projectName", projectName);
params.put("projectCode", projectCode); params.put("projectCode", projectCode);
...@@ -4799,6 +4961,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -4799,6 +4961,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(pages); return BaseResponse.okData(pages);
} }
/**
* 导出报告封面和首页
* @param entrustId
* @return
*/
@Override @Override
public ReportDetailVo getReportDetail(Integer entrustId) { public ReportDetailVo getReportDetail(Integer entrustId) {
...@@ -4863,19 +5030,16 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -4863,19 +5030,16 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return null; return null;
} }
@Override /**
@Transactional(rollbackFor = Exception.class) * 质量检测分页列表
public BaseResponse<Boolean> deleteById(Integer id) { * @param pageQuery
* @param startDate
if (id == null || id <= 0) { * @param endDate
return BaseResponse.errorMsg("id编号不能为空!"); * @param clientId
} * @param projectName
Entrust entrust = this.getById(id); * @param projectCode
entrust.setIsDelete(0); * @return
boolean b = this.updateById(entrust); */
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) {
...@@ -4931,6 +5095,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -4931,6 +5095,11 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
return BaseResponse.okData(pages); return BaseResponse.okData(pages);
} }
/**
* 获取质量详情
* @param entrustId
* @return
*/
@Override @Override
public QualityDetailVo getQualityDetail(Integer entrustId) { public QualityDetailVo getQualityDetail(Integer entrustId) {
...@@ -5143,7 +5312,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -5143,7 +5312,7 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
} }
List<Client> clients = JSON.parseArray(redisUtil.getString(clientKey) + "", Client.class); List<Client> clients = JSON.parseArray(redisUtil.getString(clientKey) + "", Client.class);
if (clients.size() == 0) { if (clients.size() == 0) {
log.error("=================送单位表中没有任何数据!=================="); log.error("=================送单位表中没有任何数据!==================");
} else { } else {
clients.stream().filter(arg -> arg.getId().intValue() == firstReportDetail.getClientId()) clients.stream().filter(arg -> arg.getId().intValue() == firstReportDetail.getClientId())
.findFirst().ifPresent(arg -> rts.setSendName(arg.getName())); .findFirst().ifPresent(arg -> rts.setSendName(arg.getName()));
...@@ -5270,7 +5439,16 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -5270,7 +5439,16 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
@Resource @Resource
private ISampleDistributionService sampleDistributionService; private ISampleDistributionService sampleDistributionService;
@Override /**
* 委托单进展导出(东哥写的例子)
* @param cycle
* @param startDate
* @param endDate
* @param clientId
* @param clientName
* @param fileName
* @param response
*/
public void exportConsignation(Integer cycle, String startDate, public void exportConsignation(Integer cycle, String startDate,
String endDate, Integer clientId, String clientName, String endDate, Integer clientId, String clientName,
String fileName, HttpServletResponse response) { String fileName, HttpServletResponse response) {
...@@ -5675,17 +5853,23 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl ...@@ -5675,17 +5853,23 @@ public class EntrustServiceImpl extends ServiceImpl<EntrustMapper, Entrust> impl
for (int i = infoHeader.size(); i < teamList.size() + infoHeader.size(); i++) { for (int i = infoHeader.size(); i < teamList.size() + infoHeader.size(); i++) {
XSSFCell tempCell = row0.createCell(i); XSSFCell tempCell = row0.createCell(i);
Team team = teamList.get(i - infoHeader.size()); Team team = teamList.get(i - infoHeader.size());
List<SampleDistribution> sdList = groupByTeamId.get(team.getId()); List<SampleDistribution> sdList = groupByTeamId.get(team.getId());
List<SampleDistribution> sdList2 = new ArrayList<>();
String lastResult = ""; String lastResult = "";
if (sdList != null && sdList.size() > 0) { if (sdList != null && sdList.size() > 0) {
if (sdList.get(0).getCheckId() != null) { sdList2 = sdList.stream().filter(arg -> (arg.getSampleId().equals(sample.getId()))).collect(Collectors.toList());
SampleDistributionCheck disCheck = sampleDistributionCheckMapper.selectById(sdList.get(0).getCheckId()); if(sdList2 != null && sdList2.size()>0){
if (sdList2.get(0).getCheckId() != null) {
SampleDistributionCheck disCheck = sampleDistributionCheckMapper.selectById(sdList2.get(0).getCheckId());
lastResult = disCheck.getLastResult(); lastResult = disCheck.getLastResult();
} else { } else {
lastResult = sdList.get(0).getDistributionResult(); lastResult = sdList2.get(0).getDistributionResult();
}
} }
} }
tempCell.setCellValue(sdList == null ? "" : lastResult); tempCell.setCellValue(sdList2 == null ? "" : lastResult);
tempCell.setCellStyle(style); tempCell.setCellStyle(style);
} }
......
...@@ -3829,7 +3829,7 @@ ...@@ -3829,7 +3829,7 @@
ss:Name="_FilterDatabase"/></Cell> ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s127"><ss:Data ss:Type="String" <Cell ss:StyleID="s127"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40"><Font html:Color="#FF0000"></Font><Font xmlns="http://www.w3.org/TR/REC-html40"><Font html:Color="#FF0000"></Font><Font
html:Face="宋体" x:CharSet="134" html:Color="#FF0000">3</Font><Font html:Face="宋体" x:CharSet="134" html:Color="#FF0000">9</Font><Font
html:Color="#FF0000"></Font></ss:Data><NamedCell ss:Name="_FilterDatabase"/></Cell> html:Color="#FF0000"></Font></ss:Data><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s128"><ss:Data ss:Type="String" <Cell ss:StyleID="s128"><ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40"><Font html:Face="宋体" xmlns="http://www.w3.org/TR/REC-html40"><Font html:Face="宋体"
...@@ -4054,11 +4054,9 @@ ...@@ -4054,11 +4054,9 @@
<Cell ss:MergeDown="8" ss:StyleID="s187"><Data ss:Type="String">主要仪器设备(编号)</Data><NamedCell <Cell ss:MergeDown="8" ss:StyleID="s187"><Data ss:Type="String">主要仪器设备(编号)</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell> ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s178"> <Cell ss:StyleID="s178">
<#if !firstEquipment??>
<ss:Data ss:Type="String" <ss:Data ss:Type="String"
xmlns="http://www.w3.org/TR/REC-html40"> <Font html:Size="12">${firstEquipment}</Font><Font xmlns="http://www.w3.org/TR/REC-html40"> <Font html:Size="12">${firstEquipment}</Font><Font
html:Face="Times New Roman" x:Family="Roman" html:Size="12"> </Font></ss:Data> html:Face="Times New Roman" x:Family="Roman" html:Size="12"> </Font></ss:Data>
</#if>
<NamedCell <NamedCell
ss:Name="_FilterDatabase"/></Cell> ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="4" ss:StyleID="s562"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:Index="4" ss:StyleID="s562"><NamedCell ss:Name="_FilterDatabase"/></Cell>
...@@ -4068,7 +4066,7 @@ ...@@ -4068,7 +4066,7 @@
<Cell ss:StyleID="s122"/> <Cell ss:StyleID="s122"/>
<Cell ss:StyleID="s122"/> <Cell ss:StyleID="s122"/>
</Row> </Row>
<#if !equipmentNames??> <#--<#if equipmentNames??>-->
<#list equipmentNames as item> <#list equipmentNames as item>
<Row ss:AutoFitHeight="0" ss:Height="18"> <Row ss:AutoFitHeight="0" ss:Height="18">
<Cell ss:Index="2" ss:StyleID="s179"> <Cell ss:Index="2" ss:StyleID="s179">
...@@ -4082,9 +4080,8 @@ ...@@ -4082,9 +4080,8 @@
<Cell ss:Index="11" ss:StyleID="s173"/> <Cell ss:Index="11" ss:StyleID="s173"/>
</Row> </Row>
</#list> </#list>
</#if> <#--</#if>-->
<#if !equipmentNames?? && equipmentNames?size lte 8> <#if equipmentNames?size lte 8>
<#list 1..(8-(quipmentNames?size)) as i>
<Row ss:AutoFitHeight="0" ss:Height="18"> <Row ss:AutoFitHeight="0" ss:Height="18">
<Cell ss:Index="2" ss:StyleID="s179"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:Index="2" ss:StyleID="s179"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="4" ss:StyleID="s563"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:Index="4" ss:StyleID="s563"><NamedCell ss:Name="_FilterDatabase"/></Cell>
...@@ -4093,10 +4090,7 @@ ...@@ -4093,10 +4090,7 @@
<Cell ss:StyleID="s122"/> <Cell ss:StyleID="s122"/>
<Cell ss:StyleID="s122"/> <Cell ss:StyleID="s122"/>
</Row> </Row>
</#list> <#list 1..(7-equipmentNames?size) as i>
</#if>
<#if equipmentNames??>
<#list 1..8 as i>
<Row ss:AutoFitHeight="0" ss:Height="18"> <Row ss:AutoFitHeight="0" ss:Height="18">
<Cell ss:Index="2" ss:StyleID="s179"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:Index="2" ss:StyleID="s179"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="4" ss:StyleID="s563"><NamedCell ss:Name="_FilterDatabase"/></Cell> <Cell ss:Index="4" ss:StyleID="s563"><NamedCell ss:Name="_FilterDatabase"/></Cell>
...@@ -4106,9 +4100,15 @@ ...@@ -4106,9 +4100,15 @@
<Cell ss:StyleID="s122"/> <Cell ss:StyleID="s122"/>
</Row> </Row>
</#list> </#list>
<Row ss:AutoFitHeight="0" ss:Height="18">
<Cell ss:Index="2" ss:StyleID="s179"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="4" ss:StyleID="s563"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:Index="8" ss:StyleID="s122"><NamedCell ss:Name="_FilterDatabase"/></Cell>
<Cell ss:StyleID="s122"/>
<Cell ss:StyleID="s122"/>
<Cell ss:StyleID="s122"/>
</Row>
</#if> </#if>
<Row ss:AutoFitHeight="0" ss:Height="18" ss:StyleID="s107"> <Row ss:AutoFitHeight="0" ss:Height="18" ss:StyleID="s107">
<Cell ss:StyleID="s195"><Data ss:Type="String">项目名称</Data><NamedCell <Cell ss:StyleID="s195"><Data ss:Type="String">项目名称</Data><NamedCell
ss:Name="_FilterDatabase"/></Cell> ss:Name="_FilterDatabase"/></Cell>
...@@ -4248,7 +4248,7 @@ ...@@ -4248,7 +4248,7 @@
<Cell ss:MergeAcross="15" ss:StyleID="s223"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:MergeAcross="15" ss:StyleID="s223"><NamedCell ss:Name="Print_Area"/></Cell>
</Row> </Row>
<Row ss:AutoFitHeight="0" ss:Height="43.5"> <Row ss:AutoFitHeight="0" ss:Height="43.5">
<Cell ss:MergeAcross="15" ss:StyleID="s227"><Data ss:Type="String">检 测 报 告1</Data><NamedCell <Cell ss:MergeAcross="15" ss:StyleID="s227"><Data ss:Type="String">检 测 报 告</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
</Row> </Row>
<Row ss:AutoFitHeight="0" ss:Height="15"> <Row ss:AutoFitHeight="0" ss:Height="15">
...@@ -4272,7 +4272,7 @@ ...@@ -4272,7 +4272,7 @@
<Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s290" ss:Formula=""><Data ss:Type="String">3</Data><NamedCell <Cell ss:StyleID="s290" ss:Formula=""><Data ss:Type="String">9</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s291"><Data ss:Type="String">第2页 </Data><NamedCell <Cell ss:StyleID="s291"><Data ss:Type="String">第2页 </Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
...@@ -4357,15 +4357,15 @@ ...@@ -4357,15 +4357,15 @@
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s261"><Data ss:Type="String">${item.mgo}</Data><NamedCell <Cell ss:StyleID="s261"><Data ss:Type="String">${item.mgo}</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s248"><Data ss:Type="String"></Data><NamedCell <Cell ss:StyleID="s248"><Data ss:Type="String">${item.k2o}</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s248"><Data ss:Type="String"></Data><NamedCell <Cell ss:StyleID="s248"><Data ss:Type="String">${item.na2o}</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s261"><Data ss:Type="String">${item.so3}</Data><NamedCell <Cell ss:StyleID="s261"><Data ss:Type="String">${item.so3}</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s262"><Data ss:Type="String">${item.cl}</Data><NamedCell <Cell ss:StyleID="s262"><Data ss:Type="String">${item.cl}</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s248"><Data ss:Type="String"></Data><NamedCell <Cell ss:StyleID="s248"><Data ss:Type="String">${item.fsio2}</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s259"/> <Cell ss:StyleID="s259"/>
</Row> </Row>
...@@ -6222,7 +6222,7 @@ ...@@ -6222,7 +6222,7 @@
<Cell ss:MergeAcross="16" ss:StyleID="s223"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:MergeAcross="16" ss:StyleID="s223"><NamedCell ss:Name="Print_Area"/></Cell>
</Row> </Row>
<Row ss:AutoFitHeight="0" ss:Height="43.5"> <Row ss:AutoFitHeight="0" ss:Height="43.5">
<Cell ss:MergeAcross="15" ss:StyleID="s227"><Data ss:Type="String">检 测 报 告1</Data><NamedCell <Cell ss:MergeAcross="15" ss:StyleID="s227"><Data ss:Type="String">检 测 报 告</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
</Row> </Row>
<Row ss:AutoFitHeight="0" ss:Height="15"> <Row ss:AutoFitHeight="0" ss:Height="15">
...@@ -6247,9 +6247,9 @@ ...@@ -6247,9 +6247,9 @@
<Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s425"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:StyleID="s425"><NamedCell ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell> <Cell ss:StyleID="s63"><NamedCell ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s290" ss:Formula="=首页!R[-2]C[-13]"><Data ss:Type="String">2</Data><NamedCell <Cell ss:StyleID="s290" ss:Formula="=首页!R[-2]C[-13]"><Data ss:Type="String">9</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
<Cell ss:StyleID="s291"><Data ss:Type="String">3</Data><NamedCell <Cell ss:StyleID="s291"><Data ss:Type="String">9</Data><NamedCell
ss:Name="Print_Area"/></Cell> ss:Name="Print_Area"/></Cell>
</Row> </Row>
<Row ss:AutoFitHeight="0" ss:Height="25.5"> <Row ss:AutoFitHeight="0" ss:Height="25.5">
...@@ -6315,11 +6315,11 @@ ...@@ -6315,11 +6315,11 @@
<Cell ss:StyleID="s264"><Data ss:Type="String">${item.cao}</Data></Cell> <Cell ss:StyleID="s264"><Data ss:Type="String">${item.cao}</Data></Cell>
<Cell ss:StyleID="s264"><Data ss:Type="String">${item.mgo}</Data></Cell> <Cell ss:StyleID="s264"><Data ss:Type="String">${item.mgo}</Data></Cell>
<Cell ss:StyleID="s264"><Data ss:Type="String">${item.tio2}</Data></Cell> <Cell ss:StyleID="s264"><Data ss:Type="String">${item.tio2}</Data></Cell>
<Cell ss:StyleID="s264"><Data ss:Type="String">-</Data></Cell> <Cell ss:StyleID="s264"><Data ss:Type="String">${item.k2o}</Data></Cell>
<Cell ss:StyleID="s264"><Data ss:Type="String">-</Data></Cell> <Cell ss:StyleID="s264"><Data ss:Type="String">${item.na2o}</Data></Cell>
<Cell ss:StyleID="s264"><Data ss:Type="String">${item.so3}</Data></Cell> <Cell ss:StyleID="s264"><Data ss:Type="String">${item.so3}</Data></Cell>
<Cell ss:StyleID="s265"><Data ss:Type="String">${item.cl}</Data></Cell> <Cell ss:StyleID="s265"><Data ss:Type="String">${item.cl}</Data></Cell>
<Cell ss:StyleID="s248"><Data ss:Type="String">-</Data></Cell> <Cell ss:StyleID="s248"><Data ss:Type="String">${item.mno}</Data></Cell>
</Row> </Row>
</#list> </#list>
<Row ss:AutoFitHeight="0" ss:Height="25.5" ss:StyleID="s223"> <Row ss:AutoFitHeight="0" ss:Height="25.5" ss:StyleID="s223">
......
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