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
*/ */
......
...@@ -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