Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/basedataDemo.xls
===================================================================
diff -u -r34951 -r36097
Binary files differ
Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ExportBasedataManager.java
===================================================================
diff -u -r33772 -r36097
--- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ExportBasedataManager.java (.../ExportBasedataManager.java) (revision 33772)
+++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ExportBasedataManager.java (.../ExportBasedataManager.java) (revision 36097)
@@ -15,6 +15,12 @@
public interface ExportBasedataManager {
public void exportBasedata(OutputStream os);
+
+ /**
+ * 导出示例文件
+ */
+ public void exportBasedataDemo(OutputStream os);
+
/*
* 获取导出xls的数据
*/
Index: forgon-tools/src/main/java/com/forgon/tools/excel/ExcelHelper.java
===================================================================
diff -u -r28013 -r36097
--- forgon-tools/src/main/java/com/forgon/tools/excel/ExcelHelper.java (.../ExcelHelper.java) (revision 28013)
+++ forgon-tools/src/main/java/com/forgon/tools/excel/ExcelHelper.java (.../ExcelHelper.java) (revision 36097)
@@ -173,7 +173,56 @@
cell.setCellStyle(cellHSSFCellStyle);
return cell;
}
+
+ /**
+ * 删除列
+ * @param sheet
+ * @param columnToDelete
+ */
+ public static void deleteColumn(HSSFSheet sheet, int columnToDelete) {
+ for (int rId = 0; rId <= sheet.getLastRowNum(); rId++) {
+ HSSFRow row = sheet.getRow(rId);
+ for (int cID = columnToDelete; cID <= row.getLastCellNum(); cID++) {
+ HSSFCell cOld = row.getCell(cID);
+ if (cOld != null) {
+ row.removeCell(cOld);
+ }
+ HSSFCell cNext = row.getCell(cID + 1);
+ if (cNext != null) {
+ HSSFCell cNew = row.createCell(cID, cNext.getCellType());
+ cloneCell(cNew, cNext);
+ //Set the column width only on the first row.
+ //Other wise the second row will overwrite the original column width set previously.
+ if (rId == 0) {
+ sheet.setColumnWidth(cID, sheet.getColumnWidth(cID + 1));
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * 右边列左移
+ * @param cNew
+ * @param cOld
+ */
+ private static void cloneCell(HSSFCell cNew, HSSFCell cOld) {
+ cNew.setCellComment(cOld.getCellComment());
+ cNew.setCellStyle(cOld.getCellStyle());
+ if (HSSFCell.CELL_TYPE_BOOLEAN == cNew.getCellType()) {
+ cNew.setCellValue(cOld.getBooleanCellValue());
+ } else if (HSSFCell.CELL_TYPE_NUMERIC == cNew.getCellType()) {
+ cNew.setCellValue(cOld.getNumericCellValue());
+ } else if (HSSFCell.CELL_TYPE_STRING == cNew.getCellType()) {
+ cNew.setCellValue(cOld.getStringCellValue());
+ } else if (HSSFCell.CELL_TYPE_ERROR == cNew.getCellType()) {
+ cNew.setCellValue(cOld.getErrorCellValue());
+ } else if (HSSFCell.CELL_TYPE_FORMULA == cNew.getCellType()) {
+ cNew.setCellValue(cOld.getCellFormula());
+ }
+ }
+
@SuppressWarnings("deprecation")
public static HSSFCell createCell(HSSFRow row, int cellNumer, String value,
HSSFCellStyle cellHSSFCellStyle) {
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/exportBasedataDemo.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/exportBasedataDemo.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/exportBasedataDemo.jsp (revision 36097)
@@ -0,0 +1,15 @@
+
+<%@page import="com.forgon.disinfectsystem.maintain.importbasedata.service.ExportBasedataManager,com.forgon.tools.SpringBeanManger"%>
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%
+String fileName="基础数据导出.xls";
+out.clear();
+out = pageContext.pushBody();
+ServletOutputStream servletOutputStream = response.getOutputStream();
+response.setContentType("application/octet-stream");
+response.addHeader("Content-Disposition","attachment;filename=" + new String(fileName.getBytes("GBK"), "ISO-8859-1"));
+ExportBasedataManager exportBasedataManager = (ExportBasedataManager)SpringBeanManger.getBean("exportBasedataManager");
+exportBasedataManager.exportBasedataDemo(servletOutputStream);
+out.clear();
+out = pageContext.pushBody();
+%>
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/importBasedata.jsp
===================================================================
diff -u -r33784 -r36097
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/importBasedata.jsp (.../importBasedata.jsp) (revision 33784)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/importBasedata.jsp (.../importBasedata.jsp) (revision 36097)
@@ -147,6 +147,10 @@
function exportData(){
location.href = "${ctx}/disinfectsystem/basedatamanager/importbasedata/exportBasedata.jsp";
}
+
+function exportDemo(){
+ location.href = "${ctx}/disinfectsystem/basedatamanager/importbasedata/exportBasedataDemo.jsp";
+}
function exportZipData(type){
var html = '
正在导出,根据导出内容的大小不同,可能需要等待30-90分钟或者更长时间,请稍候......
';
var url = '';
@@ -262,8 +266,7 @@
取消
- ![]()
查看文件格式
导出包定义的影像及关联文件
Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/action/ImportBasedataController.java
===================================================================
diff -u -r31770 -r36097
--- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/action/ImportBasedataController.java (.../ImportBasedataController.java) (revision 31770)
+++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/action/ImportBasedataController.java (.../ImportBasedataController.java) (revision 36097)
@@ -1,6 +1,5 @@
package com.forgon.disinfectsystem.maintain.importbasedata.action;
-import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
@@ -17,8 +16,6 @@
import com.forgon.attachfile.service.AttachFileManager;
import com.forgon.disinfectsystem.maintain.importbasedata.service.ImportBaseDataFromZipManager;
import com.forgon.disinfectsystem.maintain.importbasedata.service.ImportBasedataManager;
-import com.forgon.tools.Path;
-import com.forgon.tools.util.ConfigUtils;
/**
*
@@ -140,21 +137,6 @@
"/disinfectsystem/basedatamanager/importbasedata/importBasedata.mhtml");
request.setAttribute("formatFile",
"/disinfectsystem/basedatamanager/importbasedata/basedataDemo.xls");
- boolean enableToussePointsStatistics =
- ConfigUtils.getSystemSetConfigByNameBool("enableToussePointsStatistics");
- // 器械包种类GDSZYY-86
- boolean enableInstrumentSetTypeSetting =
- ConfigUtils.getSystemSetConfigByNameBool("enableInstrumentSetTypeSetting");
- if(enableToussePointsStatistics && enableInstrumentSetTypeSetting){
- request.setAttribute("formatFile",
- "/disinfectsystem/basedatamanager/importbasedata/basedataDemoInstrumentSetType_ToussePoint.xls");
- }else if(enableToussePointsStatistics){
- request.setAttribute("formatFile",
- "/disinfectsystem/basedatamanager/importbasedata/basedataDemoToussePoint.xls");
- }else if(enableInstrumentSetTypeSetting){
- request.setAttribute("formatFile",
- "/disinfectsystem/basedatamanager/importbasedata/basedataDemoInstrumentSetType.xls");
- }
return "/disinfectsystem/basedatamanager/importbasedata/importBasedata";
}
}
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/importbasedata/basedataDemoInstrumentSetType_ToussePoint.xls
===================================================================
diff -u -r34951 -r36097
Binary files differ
Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ExportBasedataManagerImpl.java
===================================================================
diff -u -r34228 -r36097
--- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ExportBasedataManagerImpl.java (.../ExportBasedataManagerImpl.java) (revision 34228)
+++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ExportBasedataManagerImpl.java (.../ExportBasedataManagerImpl.java) (revision 36097)
@@ -66,6 +66,7 @@
import com.forgon.exception.SystemException;
import com.forgon.knowledge.model.KnowledgeFile1;
import com.forgon.knowledge.model.KnowledgeFolder1;
+import com.forgon.reflect.ReflectUtil;
import com.forgon.systemsetting.model.HttpOption;
import com.forgon.tools.Path;
import com.forgon.tools.date.DateTools;
@@ -74,7 +75,6 @@
import com.forgon.tools.excel.ExcelHelper;
import com.forgon.tools.hibernate.ObjectDao;
import com.forgon.tools.util.ConfigUtils;
-import com.forgon.tools.util.FileUtils;
import com.forgon.tools.util.SqlUtils;
import edu.emory.mathcs.backport.java.util.Arrays;
@@ -141,6 +141,101 @@
}
}
}
+
+ @Override
+ public void exportBasedataDemo(OutputStream os) {
+ try {
+ POIFSFileSystem fs = new POIFSFileSystem(getExcelFileInputStream());
+
+ HSSFWorkbook wb = new HSSFWorkbook(fs);
+ ExcelHelper.setWorkbook(wb);
+ ExcelCellStyle.iniAllStyles();
+
+ //根据配置项决定导出哪些字段,删除多余表格列
+ deleteColumn(wb);
+
+ if(wb != null){
+ wb.write(os);
+ }
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+
+ } catch(Exception e){
+ e.printStackTrace();
+ }
+ finally {
+
+ try {
+ os.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * 根据配置项决定导出哪些字段,删除多余表格列
+ * @param wb
+ */
+ private List deleteColumn(HSSFWorkbook wb) {
+ HSSFSheet sheet = wb.getSheet("器械包管理");
+ HSSFSheet sheetDisable = wb.getSheet("停用器械包导出");
+ //字段顺序
+ List columnNameAndIndexList= getTousseDefinitionColumnNameAndIndexList();
+ //需要隐藏的字段
+ List hideFieldList = getTousseDefinitionHideColumnNameList();
+ if(CollectionUtils.isNotEmpty(hideFieldList)){
+ for (String hideField : hideFieldList) {
+ int index = columnNameAndIndexList.indexOf(hideField);
+ if(index == -1){
+ continue;
+ }
+ ExcelHelper.deleteColumn(sheet, index);
+ ExcelHelper.deleteColumn(sheetDisable, index);
+ columnNameAndIndexList.remove(hideField);
+ }
+ }
+ return columnNameAndIndexList;
+ }
+
+ /**
+ * 获取隐藏的列名称
+ * @return
+ */
+ private List getTousseDefinitionHideColumnNameList() {
+
+ List hideFieldList = new ArrayList();
+ //隐藏器械包定义的字段NFYY-76
+ String hideFieldsOfTousseView = ConfigUtils.getSystemSetConfigByName("hideFieldsOfTousseView");
+ if(StringUtils.isNotBlank(hideFieldsOfTousseView)){
+ hideFieldsOfTousseView = hideFieldsOfTousseView.substring(1, hideFieldsOfTousseView.length() -1);
+ hideFieldsOfTousseView = hideFieldsOfTousseView.replaceAll("\"", "");
+ String[] hideFields = hideFieldsOfTousseView.split(",");
+ for(int i=0;i columnNameAndIndexList = deleteColumn(wb);
+ if(CollectionUtils.isEmpty(columnNameAndIndexList)){
+ return;
+ }
//需要导出的器械包类型
String[] tousseTypes = {TousseDefinition.PACKAGE_TYPE_INSIDE, //器械包
TousseDefinition.PACKAGE_TYPE_DRESSING, //敷料包
@@ -585,13 +679,7 @@
int ableTousseDefinitionRowNum = 1;
int disableTousseDefinitionRowNum = 1;
if (tousseDefinitions != null && tousseDefinitions.size() > 0) {
- int len = 33;
- if(enableToussePointsStatistics){
- len += 1;
- }
- if(enableInstrumentSetTypeSetting){
- len += 1;
- }
+ int len = columnNameAndIndexList.size();
HSSFCellStyle[] contentCellStyleArray = getContentCellStyle(len);
HSSFRow row = null;
for (TousseDefinition tousseDefinition : tousseDefinitions) {
@@ -604,159 +692,90 @@
}else{
row = createRowIfEmpty(sheet, ableTousseDefinitionRowNum++);
}
- // 器械包名称
- inertStringValueToCell(row, cellNumer,
- contentCellStyleArray[cellNumer++],
- tousseDefinition.getName());
-
- int tempCellNum = cellNumer + 4;
-
- // 灭菌程序
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getSterilingMethod());
- // 消毒程序
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getCleanMethod());
- // 器械包类型
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getTousseType());
-
- //器械包种类GDSZYY-86
- if(enableInstrumentSetTypeSetting){
- String types = tousseDefinition.getInstrumentSetTypes(objectDao);
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- types);
+ for (String columnName : columnNameAndIndexList) {
+
+ //篮筐序列号
+ if(StringUtils.equals(columnName, "basketSerialNumber")){
+ cellNumer++;
+ continue;
+ }
+ //材料名称
+ if(StringUtils.equals(columnName, "materialName")){
+ cellNumer++;
+ continue;
+ }
+ //材料规格
+ if(StringUtils.equals(columnName, "materialSpecification")){
+ cellNumer++;
+ continue;
+ }
+ //材料数量
+ if(StringUtils.equals(columnName, "materialAmount")){
+ cellNumer++;
+ continue;
+ }
+ //器械种类
+ if(StringUtils.equals(columnName, "instrumentSetType")){
+ String types = tousseDefinition.getInstrumentSetTypes(objectDao);
+ inertStringValueToCell(row, cellNumer,
+ contentCellStyleArray[cellNumer++],
+ types);
+ continue;
+ }
+ //资产归宿
+ if(StringUtils.equals(columnName, "assetsBelong")){
+ inertStringValueToCell(row, cellNumer,
+ contentCellStyleArray[cellNumer++],
+ tousseDefinition.getAssetsBelong(objectDao));
+ continue;
+ }
+ //配包注意事项(ZSRY-9"配包注意事项"支持富文本编辑,数据库保存的数据包含html标签,导出时需要屏蔽"配包注意事项"列的内容)
+ if(StringUtils.equals(columnName, "note")){
+ inertStringValueToCell(row, cellNumer,
+ contentCellStyleArray[cellNumer++],
+ "");
+ continue;
+ }
+
+ String typeName = ReflectUtil.getTypeNameByObjectAndProperty(TousseDefinition.class, columnName);
+ if(StringUtils.equals(String.class.getName(), typeName)){
+ String value = ReflectUtil.getValueByGetMethod(tousseDefinition, columnName);
+ inertStringValueToCell(row, cellNumer,
+ contentCellStyleArray[cellNumer++],
+ value);
+ }else if(StringUtils.equals(Double.class.getName(), typeName)){
+ String value = ReflectUtil.getValueByGetMethod(tousseDefinition, columnName);
+ Double valueDouble = null;
+ if(StringUtils.isNotBlank(value)){
+ try {
+ valueDouble = Double.valueOf(value);
+ } catch (Exception e) {
+ }
+ }
+ inertDoubleValueToCell(row, cellNumer,
+ contentCellStyleArray[cellNumer++],
+ valueDouble);
+ }else{
+ cellNumer++;
+ }
}
+ //隐藏的列名称
+ List hideColumnNameList = getTousseDefinitionHideColumnNameList();
- // 任务组
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getTaskGroup());
- // 是否整个清洗
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsCleanedEntirely());
- // 默认包装类型
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getPackageType());
-
- // 价格
- inertDoubleValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getPrice());
- // 成本价格
- inertDoubleValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getCostPrice());
- // 借出价格
- inertDoubleValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getBorrowPrice());
- // 代理灭菌费
- inertDoubleValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getProxyDisinfectionPrice());
- // 资产归宿
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getAssetsBelong(objectDao));
- // 器械包大小
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getPackageSize());
- // 供应商
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getSupplierName());
- // 是否外部器械包
- // inertStringValueToCell(row, tempCellNum,
- // contentCellStyleArray[tempCellNum++],
- // tousseDefinition.getIsExternal());
- // 外部编码
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getExternalCode());
- // 标签纸类型
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getBarcodePaperType());
- // 是否可追溯
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsTraceable());
- // 处理科室
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getHandlerDepartName());
- // 是否回收
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsRecycling());
- // 工作量统计方式
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getWorkLoadStatisticalMethod());
- // 是否自定义装配
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsCustomPacking());
- // 是否快速回收
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getExpressRecycling());
- // 是否装配
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsPacking());
- // 是否打印标签
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsPrint());
- // 是否审核
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsReview());
-
- // 打印科室来源
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getPrintOrgSource());
-
- // 是否限制发货科室
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getLimitInvoiceDepart());
-
- //配包注意事项(ZSRY-9"配包注意事项"支持富文本编辑,数据库保存的数据包含html标签,导出时需要屏蔽"配包注意事项"列的内容)
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- "");
-
- //是否转换申请物品
- inertStringValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIsConvertApplyGoods());
-
- //器械包积分
- if(enableToussePointsStatistics){
- inertDoubleValueToCell(row, tempCellNum,
- contentCellStyleArray[tempCellNum++],
- tousseDefinition.getIntegral());
+ if(hideColumnNameList.contains("materialName")
+ && hideColumnNameList.contains("materialSpecification")
+ && hideColumnNameList.contains("materialAmount")){
+ continue;
}
-
+
boolean isInsertMaterial = false;
// 器械
List materialInstances = tousseDefinition
.getMaterialInstances();
if (materialInstances != null
&& materialInstances.size() > 0) {
insertMaterialValueToCell(contentCellStyleArray, row,
- materialInstances.get(0));
+ materialInstances.get(0), hideColumnNameList);
isInsertMaterial = true;
for (int i = 1, k = materialInstances.size(); i < k; i++) {
if(isDisable){
@@ -767,7 +786,7 @@
setBlankCellStyle(row, contentCellStyleArray,
contentCellStyleArray.length);
insertMaterialValueToCell(contentCellStyleArray,
- row, materialInstances.get(i));
+ row, materialInstances.get(i), hideColumnNameList);
}
}
@@ -786,7 +805,7 @@
contentCellStyleArray.length);
}// 否则,不创建row
insertDiposableValueToCell(contentCellStyleArray, row,
- diposableGoodsInstances.get(0));
+ diposableGoodsInstances.get(0), hideColumnNameList);
for (int i = 1, k = diposableGoodsInstances.size(); i < k; i++) {
if(isDisable){
row = createRowIfEmpty(sheetDisable, disableTousseDefinitionRowNum++);
@@ -796,14 +815,96 @@
setBlankCellStyle(row, contentCellStyleArray,
contentCellStyleArray.length);
insertDiposableValueToCell(contentCellStyleArray,
- row, diposableGoodsInstances.get(i));
+ row, diposableGoodsInstances.get(i), hideColumnNameList);
}
}
}
setFootCellStyle(row, getFootCellStyle(len));
}
}
}
+
+ /**
+ * 器械包字段导出的顺序
+ * @return
+ */
+ private List getTousseDefinitionColumnNameAndIndexList() {
+ List columnNameList = new ArrayList();
+ // 器械包名称
+ columnNameList.add("name");
+ // 材料名称
+ columnNameList.add("materialName");
+ // 材料规格
+ columnNameList.add("materialSpecification");
+ // 材料数量
+ columnNameList.add("materialAmount");
+ // 篮筐序列号
+ columnNameList.add("basketSerialNumber");
+ // 灭菌程序
+ columnNameList.add("sterilingMethod");
+ // 消毒程序
+ columnNameList.add("cleanMethod");
+ // 器械包类型
+ columnNameList.add("tousseType");
+ //器械包种类GDSZYY-86
+ columnNameList.add("instrumentSetType");
+ // 任务组
+ columnNameList.add("taskGroup");
+ // 是否整个清洗
+ columnNameList.add("isCleanedEntirely");
+ // 默认包装类型
+ columnNameList.add("packageType");
+ // 价格
+ columnNameList.add("price");
+ // 成本价格
+ columnNameList.add("costPrice");
+ // 借出价格
+ columnNameList.add("borrowPrice");
+ // 代理灭菌费
+ columnNameList.add("proxyDisinfectionPrice");
+ // 资产归宿
+ columnNameList.add("assetsBelong");
+ // 器械包大小
+ columnNameList.add("packageSize");
+ // 供应商
+ columnNameList.add("supplierName");
+ // ---是否外部器械包
+ //columnNameList.add("", 0);
+ // 外部编码
+ columnNameList.add("externalCode");
+ // 标签纸类型
+ columnNameList.add("barcodePaperType");
+ // 是否可追溯
+ columnNameList.add("isTraceable");
+ // 处理科室
+ columnNameList.add("handlerDepartName");
+ // 是否回收
+ columnNameList.add("isRecycling");
+ // 工作量统计方式
+ columnNameList.add("workLoadStatisticalMethod");
+ // 是否自定义装配
+ columnNameList.add("isCustomPacking");
+ // 是否快速回收
+ columnNameList.add("expressRecycling");
+ // 是否装配
+ columnNameList.add("isPacking");
+ // 是否打印标签
+ columnNameList.add("isPrint");
+ // 是否审核
+ columnNameList.add("isReview");
+ // 打印科室来源
+ columnNameList.add("printOrgSource");
+ // 是否限制发货科室
+ columnNameList.add("limitInvoiceDepart");
+ // 配包注意事项(ZSRY-9"配包注意事项"支持富文本编辑,数据库保存的数据包含html标签,导出时需要屏蔽"配包注意事项"列的内容)
+ columnNameList.add("note");
+ // 是否转换申请物品
+ columnNameList.add("isConvertApplyGoods");
+ // 器械包积分
+ columnNameList.add("integral");
+ return columnNameList;
+ }
+
// 导出外来器械包
@SuppressWarnings("unchecked")
private void foreignTousseDefinitionExport(HSSFWorkbook wb) {
@@ -891,38 +992,50 @@
private void insertDiposableValueToCell(
HSSFCellStyle[] contentCellStyleArray, HSSFRow row,
- DiposableGoodsInstance diposableGoodsInstance) {
+ DiposableGoodsInstance diposableGoodsInstance, List hideColumnNameList) {
String name = "", spec = "";
if (diposableGoodsInstance.getDiposableGoods() != null) {
name = diposableGoodsInstance.getDiposableGoods().getName();
spec = diposableGoodsInstance.getDiposableGoods()
.getSpecification();
}
- inertStringValueToCell(row, 1, contentCellStyleArray[1], name);
- inertStringValueToCell(row, 2, contentCellStyleArray[2], spec);
- inertDoubleValueToCell(row, 3, contentCellStyleArray[3],
- (double) diposableGoodsInstance.getAmount());
+ if(hideColumnNameList == null || !hideColumnNameList.contains("materialName")){
+ inertStringValueToCell(row, 1, ExcelCellStyle.allThin_CommomFont_AlignCenter, name);
+ }
+ if(hideColumnNameList == null || !hideColumnNameList.contains("materialSpecification")){
+ inertStringValueToCell(row, 2, ExcelCellStyle.allThin_CommomFont_AlignCenter, spec);
+ }
+ if(hideColumnNameList == null || !hideColumnNameList.contains("materialAmount")){
+ inertDoubleValueToCell(row, 3, ExcelCellStyle.allThin_CommomFont_AlignCenter,
+ (double) diposableGoodsInstance.getAmount());
+ }
}
private void insertMaterialValueToCell(
HSSFCellStyle[] contentCellStyleArray, HSSFRow row,
- MaterialInstance materialInstance) {
- if( materialInstance.getMaterialDefinition() != null)
- {
- inertStringValueToCell(row, 1, contentCellStyleArray[1],
- materialInstance.getMaterialDefinition().getName());
- }else
- {
- inertStringValueToCell(row, 1, contentCellStyleArray[1],
- materialInstance.getMaterialName());
+ MaterialInstance materialInstance, List hideColumnNameList) {
+ if(hideColumnNameList == null || !hideColumnNameList.contains("materialName")){
+ if( materialInstance.getMaterialDefinition() != null)
+ {
+ inertStringValueToCell(row, 1, ExcelCellStyle.allThin_CommomFont_AlignCenter,
+ materialInstance.getMaterialDefinition().getName());
+ }else
+ {
+ inertStringValueToCell(row, 1, ExcelCellStyle.allThin_CommomFont_AlignCenter,
+ materialInstance.getMaterialName());
+ }
}
- String spec = "";
- if (materialInstance.getMaterialDefinition() != null) {
- spec = materialInstance.getMaterialDefinition().getSpecification();
+ if(hideColumnNameList == null || !hideColumnNameList.contains("materialSpecification")){
+ String spec = "";
+ if (materialInstance.getMaterialDefinition() != null) {
+ spec = materialInstance.getMaterialDefinition().getSpecification();
+ }
+ inertStringValueToCell(row, 2, ExcelCellStyle.allThin_CommomFont_AlignCenter, spec);
}
- inertStringValueToCell(row, 2, contentCellStyleArray[2], spec);
- inertDoubleValueToCell(row, 3, contentCellStyleArray[3],
- (double) materialInstance.getCount());
+ if(hideColumnNameList == null || !hideColumnNameList.contains("materialAmount")){
+ inertDoubleValueToCell(row, 3, ExcelCellStyle.allThin_CommomFont_AlignCenter,
+ (double) materialInstance.getCount());
+ }
}
// 插入外来器械材料信息
private void insertForeignTousseMaterialValueToCell(
@@ -1105,29 +1218,6 @@
private FileInputStream getExcelFileInputStream()
throws FileNotFoundException {
- boolean enableToussePointsStatistics =
- ConfigUtils.getSystemSetConfigByNameBool("enableToussePointsStatistics");
- // 器械包种类GDSZYY-86
- boolean enableInstrumentSetTypeSetting =
- ConfigUtils.getSystemSetConfigByNameBool("enableInstrumentSetTypeSetting");
- if(enableToussePointsStatistics && enableInstrumentSetTypeSetting){
- String fileName = Path.getWebAppRoot()
- + "/disinfectsystem/basedatamanager/importbasedata/basedataDemoInstrumentSetType_ToussePoint.xls";
- FileInputStream fin = new FileInputStream(fileName);
- return fin;
- }
- if(enableToussePointsStatistics){
- String fileName = Path.getWebAppRoot()
- + "/disinfectsystem/basedatamanager/importbasedata/basedataDemoToussePoint.xls";
- FileInputStream fin = new FileInputStream(fileName);
- return fin;
- }
- if(enableInstrumentSetTypeSetting){
- String fileName = Path.getWebAppRoot()
- + "/disinfectsystem/basedatamanager/importbasedata/basedataDemoInstrumentSetType.xls";
- FileInputStream fin = new FileInputStream(fileName);
- return fin;
- }
String fileName = Path.getWebAppRoot()
+ "/disinfectsystem/basedatamanager/importbasedata/basedataDemo.xls";
FileInputStream fin = new FileInputStream(fileName);