Commit db53f641 by wangweidong

hmhj优化

parent 2dfede64
...@@ -617,7 +617,21 @@ public class StringHandleUtils { ...@@ -617,7 +617,21 @@ public class StringHandleUtils {
return ""; return "";
} }
if (StringHandleUtils.is_alpha(dataAttribute)){ if (StringHandleUtils.is_alpha(dataAttribute)){
return StringHandleUtils.getFieldIfNummReturnBlankValueByFieldName(dataAttribute,vo);
String value= StringHandleUtils.getFieldIfNummReturnBlankValueByFieldName(dataAttribute,vo);
if (StringUtils.isNotBlank(value)){
return value;
}
List<EntrustSampleItemIndex> sampleItemVOList = vo.getIndexList();
if (CollectionUtils.isEmpty(sampleItemVOList)){
return "";
}
for (EntrustSampleItemIndex itemVO : sampleItemVOList) {
if (dataAttribute.equals(itemVO.getName())){
return itemVO.getTestValue();
}
}
}else{ }else{
List<EntrustSampleItemIndex> sampleItemVOList = vo.getIndexList(); List<EntrustSampleItemIndex> sampleItemVOList = vo.getIndexList();
if (CollectionUtils.isEmpty(sampleItemVOList)){ if (CollectionUtils.isEmpty(sampleItemVOList)){
......
...@@ -95,14 +95,20 @@ public class OriginalTemplateController extends ServiceController implements Ori ...@@ -95,14 +95,20 @@ public class OriginalTemplateController extends ServiceController implements Ori
return success(originalTemplateService.editOriginal(someParam, obsFileResult)); return success(originalTemplateService.editOriginal(someParam, obsFileResult));
} }
@Login(action = Action.Skip)
@ApiOperation(value = "编辑原始记录模板", notes = "编辑证书模板")
@PostMapping({"/edit_template_{someParam}"})
@Override @Override
public RestResult<Boolean> editTemplate(String s, OssFileResult ossFileResult) { public RestResult<Boolean> editTemplate(String someParam, OssFileResult obsFileResult) {
return null; return success(originalTemplateService.editTemplate(someParam, obsFileResult));
} }
@Login(action = Action.Skip)
@ApiOperation(value = "编辑报告模板记录", notes = "编辑证书模板")
@PostMapping({"/edit_report_template_{someParam}"})
@Override @Override
public RestResult<Boolean> editReportTemplate(String s, OssFileResult ossFileResult) { public RestResult<Boolean> editReportTemplate(String someParam, OssFileResult obsFileResult) {
return null; return success(originalTemplateService.editReportTemplate(someParam, obsFileResult));
} }
@Override @Override
......
...@@ -20,6 +20,9 @@ public class ItemCollectEntity { ...@@ -20,6 +20,9 @@ public class ItemCollectEntity {
private Integer singleElse; private Integer singleElse;
private String name;
public String getItemName() { public String getItemName() {
return itemName; return itemName;
} }
...@@ -75,4 +78,12 @@ public class ItemCollectEntity { ...@@ -75,4 +78,12 @@ public class ItemCollectEntity {
public void setSingleElse(Integer singleElse) { public void setSingleElse(Integer singleElse) {
this.singleElse = singleElse; this.singleElse = singleElse;
} }
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
} }
...@@ -16,6 +16,17 @@ public class SoilItemCollectData { ...@@ -16,6 +16,17 @@ public class SoilItemCollectData {
private Long expId; private Long expId;
private String attraute;
public String getAttraute() {
return attraute;
}
public void setAttraute(String attraute) {
this.attraute = attraute;
}
public String getItemName() { public String getItemName() {
return itemName; return itemName;
} }
......
package com.patzn.cloud.service.lims.hmhj.original;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*;
import java.util.List;
public class MoreItemMoreOperation implements Operation {
private OriginalTemplate template;
private List<EntrustSampleVO> voList;
private Entrust entrust ;
private List<OriginalTemplateConfig> configList;
private XSSFWorkbook xssfWorkbook;
public MoreItemMoreOperation(OriginalTemplate template, List<EntrustSampleVO> voList, Entrust entrust, List<OriginalTemplateConfig> configList, XSSFWorkbook xssfWorkbook) {
this.template = template;
this.voList = voList;
this.entrust = entrust;
this.configList = configList;
this.xssfWorkbook = xssfWorkbook;
}
@Override
public void doMakeOriginal() {
OriginalUtil.doReplace(xssfWorkbook,entrust);
XSSFSheet sheetOne = xssfWorkbook.getSheetAt(0);
sheetOne.setForceFormulaRecalculation(true);
Integer beginRow = template.getSampleBeginRow();
int sampleMergerNum = template.getSampleMergerNum();
int templateSampleNum = template.getTemplateSampleNum();
int insertRow = beginRow+sampleMergerNum*templateSampleNum;
XSSFRow zeroRow = sheetOne.getRow(beginRow);
XSSFCellStyle cellStyle = zeroRow.getCell(0).getCellStyle();
int lastCellNum = zeroRow.getLastCellNum();
int insertCount = voList.size()-templateSampleNum;
for (int m = 0 ; m<insertCount ;m++) {
for (int i = 0; i < sampleMergerNum; i++) {
sheetOne.shiftRows(insertRow, sheetOne.getLastRowNum(), 1,true,false);
XSSFRow row = sheetOne.createRow(insertRow);
row.setHeight(zeroRow.getHeight());
for (int j = 0; j < lastCellNum; j++) {
XSSFCell xssfCell = row.createCell(j);
xssfCell.setCellStyle(cellStyle);
}
insertRow++;
}
}
int sn = 1;
for (EntrustSampleVO vo:voList) {
XSSFRow xssfRow = sheetOne.getRow(beginRow);
for (OriginalTemplateConfig config:configList) {
if (null == config.getColumnPlace()){
continue;
}
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())){
cell.setCellValue(sn);
}else{
cell.setCellValue(StringHandleUtils.getFieldValue(config.getDataAttribute(),vo));
}
}
beginRow+=sampleMergerNum;
sn++;
}
for (OriginalTemplateConfig config:configList) {
if (null==config.getMergeRowNum()){
config.setMergeRowNum(1);
}
if (StringUtils.isNotBlank(config.getFormula())&&null != config.getColumnPlace() && null != config.getMergeRowNum()){
Integer sampleBgMum = template.getSampleBeginRow();
Integer mergeRowNum = config.getMergeRowNum();
int formulaNum = template.getSampleBeginRow()+sampleMergerNum*voList.size()-1 ;
for (int i =sampleBgMum ; i <= formulaNum; i+=mergeRowNum) {
XSSFRow row = sheetOne.getRow(i);
if (null == row){
continue;
}
XSSFCell cell = row.getCell(config.getColumnPlace());
if (null == cell){
continue;
}
String formula = config.getFormula();
cell.setCellFormula(OriginalUtil.initFormula(formula,i));
}
}
}
for (OriginalTemplateConfig config:configList) {
if (null==config.getMergeRowNum()){
config.setMergeRowNum(1);
}
if (null == config.getMergeBegin()){
continue;
}
if (null == config.getMergeEnd()){
continue;
}
int step= config.getMergeRowNum();
if (step==1 && config.getMergeEnd() == config.getMergeBegin()){
continue;
}
if (null != config.getColumnPlace() && null != config.getMergeRowNum()){
Integer sampleBgMum = template.getSampleBeginRow()+templateSampleNum*sampleMergerNum;
Integer sampleEnMum = template.getSampleBeginRow()+voList.size()*sampleMergerNum-1;
while (sampleBgMum<=sampleEnMum) {
sheetOne.addMergedRegion(new CellRangeAddress(sampleBgMum,sampleBgMum+step-1,config.getMergeBegin(),config.getMergeEnd()));
sampleBgMum=sampleBgMum+step;
}
}
}
}
}
package com.patzn.cloud.service.lims.hmhj.original;
import com.patzn.cloud.service.hmhj.entity.Entrust;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplate;
import com.patzn.cloud.service.hmhj.entity.OriginalTemplateConfig;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.util.List;
public class MoreItemOperation implements Operation {
private OriginalTemplate template;
private List<EntrustSampleVO> voList;
private Entrust entrust ;
private List<OriginalTemplateConfig> configList;
private XSSFWorkbook xssfWorkbook;
public MoreItemOperation(OriginalTemplate template, List<EntrustSampleVO> voList, Entrust entrust, List<OriginalTemplateConfig> configList, XSSFWorkbook xssfWorkbook) {
this.template = template;
this.voList = voList;
this.entrust = entrust;
this.configList = configList;
this.xssfWorkbook = xssfWorkbook;
}
@Override
public void doMakeOriginal() {
OriginalUtil.doReplace(xssfWorkbook,entrust);
XSSFSheet sheetOne = xssfWorkbook.getSheetAt(0);
String sheetName = sheetOne.getSheetName();
System.out.println(sheetName);
sheetOne.setForceFormulaRecalculation(true);
Integer beginRow = template.getSampleBeginRow();
int sampleMergerNum = template.getSampleMergerNum();
int templateSampleNum = template.getTemplateSampleNum();
for (EntrustSampleVO vo:voList) {
XSSFRow xssfRow = sheetOne.getRow(beginRow);
for (OriginalTemplateConfig config:configList) {
XSSFCell cell = xssfRow.getCell(config.getColumnPlace());
if ("sn".equals(config.getDataAttribute())){
continue;
}
if (StringUtils.isBlank(config.getDataAttribute())){
continue;
}
String value= StringHandleUtils.getFieldValue(config.getDataAttribute(),vo);
cell.setCellValue(value);
}
beginRow+=sampleMergerNum;
}
Integer sampleBgMum = template.getSampleBeginRow();
for (OriginalTemplateConfig config:configList) {
if (null == config.getMergeRowNum()){
config.setMergeRowNum(1);
}
String formula = config.getFormula();
if (StringUtils.isBlank(formula)){
continue;
}
Integer columnPlace = config.getColumnPlace();
if (null == config.getColumnPlace()){
continue;
}
if (null == config.getMergeRowNum()){
continue;
}
Integer mergeRowNum = config.getMergeRowNum();
int formulaNum = template.getSampleBeginRow()+sampleMergerNum*templateSampleNum-1 ;
for (int i =sampleBgMum ; i <= formulaNum; i+=mergeRowNum) {
XSSFRow row = sheetOne.getRow(i);
XSSFCell cell = row.getCell(columnPlace);
cell.setCellFormula(OriginalUtil.initFormula(formula,i));
}
}
}
}
...@@ -25,4 +25,8 @@ public interface IOriginalTemplateService extends IBaseService<OriginalTemplate> ...@@ -25,4 +25,8 @@ public interface IOriginalTemplateService extends IBaseService<OriginalTemplate>
boolean editOriginalRecord(String someParam, OssFileResult obsFileResult); boolean editOriginalRecord(String someParam, OssFileResult obsFileResult);
boolean editOriginal(String someParam, OssFileResult obsFileResult); boolean editOriginal(String someParam, OssFileResult obsFileResult);
boolean editTemplate(String someParam, OssFileResult obsFileResult);
boolean editReportTemplate(String someParam, OssFileResult obsFileResult);
} }
...@@ -12,18 +12,14 @@ import com.patzn.cloud.service.hmhj.entity.*; ...@@ -12,18 +12,14 @@ import com.patzn.cloud.service.hmhj.entity.*;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum;
import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum; import com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO; import com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO;
import com.patzn.cloud.service.hmhj.vo.EntrustSampleVO;
import com.patzn.cloud.service.lims.common.CompareUtils; import com.patzn.cloud.service.lims.common.CompareUtils;
import com.patzn.cloud.service.lims.common.StringHandleUtils;
import com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil;
import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper; import com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleItemMapper;
import com.patzn.cloud.service.lims.hmhj.original.Operation; import com.patzn.cloud.service.lims.hmhj.original.*;
import com.patzn.cloud.service.lims.hmhj.original.OriginalFactory;
import com.patzn.cloud.service.lims.hmhj.service.*; import com.patzn.cloud.service.lims.hmhj.service.*;
import com.patzn.cloud.commons.service.impl.BaseServiceImpl; import com.patzn.cloud.commons.service.impl.BaseServiceImpl;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.*; import org.apache.poi.xssf.usermodel.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -53,6 +49,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -53,6 +49,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
private IEntrustSampleService entrustSampleService; private IEntrustSampleService entrustSampleService;
@Autowired @Autowired
private IEntrustSampleItemIndexService entrustSampleItemIndexService;
@Autowired
private IEntrustSampleItemRecordService entrustSampleItemRecordService; private IEntrustSampleItemRecordService entrustSampleItemRecordService;
@Autowired @Autowired
...@@ -339,11 +339,44 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -339,11 +339,44 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
e.printStackTrace(); e.printStackTrace();
} }
if (null!=template.getMoreItem()&&1==template.getMoreItem()){
Set<Long> sampleIdsList = new HashSet<>();
for (EntrustSampleItemVO itemVO : voList) {
sampleIdsList.add(itemVO.getEntrustSampleId());
}
List<EntrustSample> sampleList = entrustSampleService.list(Condition.create().in("id",sampleIdsList));
List<EntrustSampleVO> sampleVOList = new ArrayList<>(sampleList.size());
for (EntrustSample sample : sampleList) {
EntrustSampleVO vo= sample.convert(EntrustSampleVO.class);
vo.setIndexList(entrustSampleItemIndexService.listBySampleId(sample.getId()));
sampleVOList.add(vo);
}
if (null == template.getSampleBeginRow()|| null==template.getSampleMergerNum()||null==template.getTemplateSampleNum()){
return null;
}
if (voList.size()<template.getTemplateSampleNum()){
MoreItemOperation moreItemOperation = new MoreItemOperation(template,sampleVOList,entrust,configList,xssfWorkbook);
moreItemOperation.doMakeOriginal();
}else{
MoreItemMoreOperation moreItemOperation = new MoreItemMoreOperation(template,sampleVOList,entrust,configList,xssfWorkbook);
moreItemOperation.doMakeOriginal();
}
}else{
OriginalFactory factory = new OriginalFactory(template, voList, entrust, configList, xssfWorkbook); OriginalFactory factory = new OriginalFactory(template, voList, entrust, configList, xssfWorkbook);
Operation operation = factory.getOperation(); Operation operation = factory.getOperation();
if (null != operation) { if (null != operation) {
operation.doMakeOriginal(); operation.doMakeOriginal();
} }
}
FileOutputStream os = null; FileOutputStream os = null;
File file = null; File file = null;
String generated = "原始记录"; String generated = "原始记录";
......
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