|
@ -120,6 +120,7 @@ import com.ylzinfo.ehc.trans.TransRequest;
|
|
|
import com.ylzinfo.ehc.trans.TransResponse;
|
|
|
import com.zaxxer.hikari.HikariDataSource;
|
|
|
import com.zaxxer.hikari.HikariPoolMXBean;
|
|
|
import jxl.format.*;
|
|
|
import jxl.write.*;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
@ -143,6 +144,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
import javax.management.JMX;
|
|
|
import javax.management.MBeanServer;
|
|
|
import javax.management.ObjectName;
|
|
|
import java.io.DataOutput;
|
|
|
import java.io.IOException;
|
|
|
import java.io.OutputStream;
|
|
|
import java.lang.Boolean;
|
|
@ -3881,6 +3883,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
//添加单元格内容
|
|
|
public void addCell(WritableSheet ws, int row, int column, String data) throws WriteException {
|
|
|
Label label = new Label(column, row, data);
|
|
|
WritableCellFormat cellFormat = new WritableCellFormat();
|
|
|
cellFormat.setAlignment(jxl.format.Alignment.CENTRE);
|
|
|
label.setCellFormat(cellFormat);
|
|
|
ws.addCell(label);
|
|
|
}
|
|
|
|
|
@ -13712,4 +13717,470 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 收入日报
|
|
|
*/
|
|
|
public List<Map<String, Object>> selectPriceTotal(String startTime,String endTime){
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
Map<String, Object> params = new HashedMap();
|
|
|
String sql =" SELECT ORDER_CATEGORY as \"orderCategory\",\"SUM\"(PAY_PRICE)/100 as \"payPrice\" FROM BASE_BUSINESS_ORDER_PAY WHERE ORDER_CATEGORY IN(1,2,3,4) and STATUS=1 ";
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time <= to_date('" + endTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time <='"+endTime+"' ";
|
|
|
}
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time >= to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time >='"+startTime+"' ";
|
|
|
}
|
|
|
|
|
|
sql+=" GROUP BY ORDER_CATEGORY ";
|
|
|
logger.info("sql="+sql);
|
|
|
mapList = hibenateUtils.createSQLQuery(sql, params);
|
|
|
return mapList;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 收入日报导出
|
|
|
* @param os
|
|
|
* @param ls
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public void pushListWritePriceTotal(OutputStream os, List<Map<String, Object>> ls,String startTime,String endTime) throws Exception {
|
|
|
WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
|
|
|
try {
|
|
|
WritableSheet ws;
|
|
|
ws = wwb.createSheet("sheet", 1);
|
|
|
String[] header = {"互联网医院收入日报表","","","","",""};//
|
|
|
int k = 0;
|
|
|
for (String h : header) {
|
|
|
addCell(ws, 0, k, h);//表名,行,列,header
|
|
|
k++;
|
|
|
}
|
|
|
|
|
|
String[] header1 = {"汇总日期:"+startTime+"至"+endTime,"","","","",""};//
|
|
|
int k1 = 0;
|
|
|
for (String h : header1) {
|
|
|
addCell(ws, 1, k1, h);//表名,行,列,header
|
|
|
k1++;
|
|
|
}
|
|
|
|
|
|
String j1="";
|
|
|
String j2="";
|
|
|
String j3 ="";
|
|
|
String j4="";
|
|
|
String price1 = "";
|
|
|
String price2 = "";
|
|
|
String price3 = "";
|
|
|
String price4 = "";
|
|
|
for (Map<String, Object> m : ls) {
|
|
|
if (m.get("orderCategory").toString().equalsIgnoreCase("1")){
|
|
|
j1 = m.get("orderCategory").toString();
|
|
|
price1=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("2")){
|
|
|
j2 = m.get("orderCategory").toString();
|
|
|
price2=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("3")){
|
|
|
j3 = m.get("orderCategory").toString();
|
|
|
price3=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("4")){
|
|
|
j4 = m.get("orderCategory").toString();
|
|
|
price4=m.get("payPrice").toString();
|
|
|
}
|
|
|
}
|
|
|
Double price5 =Double.parseDouble(price2)+Double.parseDouble(price3);
|
|
|
String[] header2 = {"咨询费",price1,"复诊费",price5+"","处方费",price4};//
|
|
|
int k2 = 0;
|
|
|
for (String h : header2) {
|
|
|
addCell(ws, 2, k2, h);//表名,行,列,header
|
|
|
k2++;
|
|
|
}
|
|
|
ws.mergeCells(0,0,5,0);
|
|
|
ws.mergeCells(0,1,5,1);
|
|
|
wwb.write();
|
|
|
wwb.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
if (wwb != null) wwb.close();
|
|
|
throw e;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 预交金日报
|
|
|
*/
|
|
|
public List<Map<String, Object>> selectCardPriceTotal(String startTime,String endTime){
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
Map<String, Object> params = new HashedMap();
|
|
|
String sql =" SELECT ORDER_CATEGORY as \"orderCategory\",\"SUM\"(PAY_PRICE) as \"payPrice\" FROM BASE_BUSINESS_ORDER_PAY WHERE ORDER_CATEGORY IN(5) and STATUS=1 ";
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time <= to_date('" + endTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time <='"+endTime+"' ";
|
|
|
}
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time >= to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time >='"+startTime+"' ";
|
|
|
}
|
|
|
sql+=" GROUP BY ORDER_CATEGORY ";
|
|
|
logger.info("sql="+sql);
|
|
|
mapList = hibenateUtils.createSQLQuery(sql, params);
|
|
|
return mapList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 预交金日报
|
|
|
* @param os
|
|
|
* @param ls
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public void pushListCardPriceTotal(OutputStream os, List<Map<String, Object>> ls,String startTime,String endTime) throws Exception {
|
|
|
WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
|
|
|
try {
|
|
|
WritableSheet ws;
|
|
|
ws = wwb.createSheet("sheet", 1);
|
|
|
String[] header = {"互联网医院预缴金日报表","","","",""};//
|
|
|
int k = 0;
|
|
|
for (String h : header) {
|
|
|
addCell(ws, 0, k, h);//表名,行,列,header
|
|
|
k++;
|
|
|
}
|
|
|
|
|
|
String[] header1 = {"汇总日期:"+startTime+"至"+endTime,"","","",""};//
|
|
|
int k1 = 0;
|
|
|
for (String h : header1) {
|
|
|
addCell(ws, 1, k1, h);//表名,行,列,header
|
|
|
k1++;
|
|
|
}
|
|
|
String[] header2 = {"上期结存","本期发生","充值HIS系统","合计","本期期末余额"};//
|
|
|
int k2 = 0;
|
|
|
for (String h : header2) {
|
|
|
addCell(ws, 2, k2, h);//表名,行,列,header
|
|
|
k2++;
|
|
|
}
|
|
|
|
|
|
String j1="";
|
|
|
String price1 = "";
|
|
|
for (Map<String, Object> m : ls) {
|
|
|
if (m.get("orderCategory").toString().equalsIgnoreCase("5")){
|
|
|
j1 = m.get("orderCategory").toString();
|
|
|
price1=m.get("payPrice").toString();
|
|
|
}
|
|
|
}
|
|
|
String[] header3 = {"","",price1,price1,""};//
|
|
|
int k3 = 0;
|
|
|
for (String h : header3) {
|
|
|
addCell(ws, 3, k3, h);//表名,行,列,header
|
|
|
k3++;
|
|
|
}
|
|
|
ws.mergeCells(0,0,4,0);
|
|
|
ws.mergeCells(0,1,4,1);
|
|
|
wwb.write();
|
|
|
wwb.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
if (wwb != null) wwb.close();
|
|
|
throw e;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 资金分部报表
|
|
|
*
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String, Object>> selectTotal(String startTime,String endTime){
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
Map<String, Object> params = new HashedMap();
|
|
|
String sql =" SELECT ORDER_CATEGORY as \"orderCategory\",\"SUM\"(PAY_PRICE)/100 as \"payPrice\" FROM BASE_BUSINESS_ORDER_PAY WHERE ORDER_CATEGORY IN(1,2,3,4,5) and STATUS=1 ";
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time <= to_date('" + endTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time <='"+endTime+"' ";
|
|
|
}
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time >= to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time >='"+startTime+"' ";
|
|
|
}
|
|
|
sql+=" GROUP BY ORDER_CATEGORY ";
|
|
|
logger.info("sql="+sql);
|
|
|
mapList = hibenateUtils.createSQLQuery(sql, params);
|
|
|
for (Map<String, Object> map:mapList){
|
|
|
if (map.get("orderCategory")!=null){
|
|
|
if(map.get("orderCategory").toString().equalsIgnoreCase("5")){
|
|
|
map.put("payPrice",Double.parseDouble(map.get("orderCategory").toString())*100);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return mapList;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 资金分部报表
|
|
|
* @param os
|
|
|
* @param ls
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public void pushListTotal(OutputStream os, List<Map<String, Object>> ls,String startTime,String endTime) throws Exception {
|
|
|
WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
|
|
|
try {
|
|
|
WritableSheet ws;
|
|
|
ws = wwb.createSheet("sheet", 1);
|
|
|
String[] header = {"资金分布报表","","","",""};//
|
|
|
int k = 0;
|
|
|
for (String h : header) {
|
|
|
addCell(ws, 0, k, h);//表名,行,列,header
|
|
|
k++;
|
|
|
}
|
|
|
|
|
|
String[] header1 = {"汇总日期:"+startTime+"至"+endTime,"","","",""};//
|
|
|
int k1 = 0;
|
|
|
for (String h : header1) {
|
|
|
addCell(ws, 1, k1, h);//表名,行,列,header
|
|
|
k1++;
|
|
|
}
|
|
|
String[] header2 = {"本期发生","互联网医院","充值HIS系统","药店","问诊费"};//
|
|
|
int k2 = 0;
|
|
|
for (String h : header2) {
|
|
|
addCell(ws, 2, k2, h);//表名,行,列,header
|
|
|
k2++;
|
|
|
}
|
|
|
String j1="";
|
|
|
String j2="";
|
|
|
String j3 ="";
|
|
|
String j4="";
|
|
|
String j5="";
|
|
|
String price1 = "";
|
|
|
String price2 = "";
|
|
|
String price3 = "";
|
|
|
String price4 = "";
|
|
|
String price5="";
|
|
|
for (Map<String, Object> m : ls) {
|
|
|
if (m.get("orderCategory").toString().equalsIgnoreCase("1")){
|
|
|
j1 = m.get("orderCategory").toString();
|
|
|
price1=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("2")){
|
|
|
j2 = m.get("orderCategory").toString();
|
|
|
price2=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("3")){
|
|
|
j3 = m.get("orderCategory").toString();
|
|
|
price3=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("4")){
|
|
|
j4 = m.get("orderCategory").toString();
|
|
|
price4=m.get("payPrice").toString();
|
|
|
}else if (m.get("orderCategory").toString().equalsIgnoreCase("5")){
|
|
|
j5 = m.get("orderCategory").toString();
|
|
|
price5=m.get("payPrice").toString();
|
|
|
}
|
|
|
}
|
|
|
Double price6 = Double.parseDouble(price1)+Double.parseDouble(price2)+Double.parseDouble(price3);//问诊费
|
|
|
Double price7 = Double.parseDouble(price4);//处方费
|
|
|
Double price8 = Double.parseDouble(price5);//就诊卡充值
|
|
|
String[] header3 = {"",price6+price7+price8+"",price8+"",price7+"",price6+""};//
|
|
|
int k3 = 0;
|
|
|
for (String h : header3) {
|
|
|
addCell(ws, 3, k3, h);//表名,行,列,header
|
|
|
k3++;
|
|
|
}
|
|
|
ws.mergeCells(0,0,4,0);
|
|
|
ws.mergeCells(0,1,4,1);
|
|
|
wwb.write();
|
|
|
wwb.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
if (wwb != null) wwb.close();
|
|
|
throw e;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 药品汇总表
|
|
|
*
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String, Object>> selectDoctorTotal(String startTime,String endTime){
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
Map<String, Object> params = new HashedMap();
|
|
|
String sql =" SELECT DOCTOR as \"doctor\",DOCTOR_NAME as \"doctorName\",SUM(DRUG_FEE) as \"fee\" FROM WLYY_PRESCRIPTION WHERE STATUS>=30 ";
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time <= to_date('" + endTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time <='"+endTime+"' ";
|
|
|
}
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)) {
|
|
|
sql+=" and create_time >= to_date('" + startTime + "', 'yyyy-mm-dd hh24:mi:ss') ";
|
|
|
} else {
|
|
|
sql+=" and create_time >='"+startTime+"' ";
|
|
|
}
|
|
|
sql+=" GROUP BY DOCTOR,DOCTOR_NAME ";
|
|
|
logger.info("sql="+sql);
|
|
|
mapList = hibenateUtils.createSQLQuery(sql, params);
|
|
|
return mapList;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 药品汇总表导出
|
|
|
* @param os
|
|
|
* @param ls
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public void pushListDoctorTotal(OutputStream os, List<Map<String, Object>> ls,String startTime,String endTime) throws Exception {
|
|
|
WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
|
|
|
try {
|
|
|
WritableSheet ws;
|
|
|
ws = wwb.createSheet("sheet", 1);
|
|
|
String[] header = {"互联网医院药品汇总表","",""};//
|
|
|
int k = 0;
|
|
|
for (String h : header) {
|
|
|
addCell(ws, 0, k, h);//表名,行,列,header
|
|
|
k++;
|
|
|
}
|
|
|
|
|
|
String[] header1 = {"汇总日期:"+startTime+"至"+endTime,"",""};//
|
|
|
int k1 = 0;
|
|
|
for (String h : header1) {
|
|
|
addCell(ws, 1, k1, h);//表名,行,列,header
|
|
|
k1++;
|
|
|
}
|
|
|
String[] header2 = {"诊疗小组","进货金额","零售金额"};//
|
|
|
int k2 = 0;
|
|
|
for (String h : header2) {
|
|
|
addCell(ws, 2, k2, h);//表名,行,列,header
|
|
|
k2++;
|
|
|
}
|
|
|
|
|
|
int i = 3;
|
|
|
String n = " ";
|
|
|
|
|
|
for (Map<String, Object> m : ls) {
|
|
|
addCell(ws, i, 0,m.get("doctorName")!=null?m.get("doctorName").toString():n);
|
|
|
addCell(ws, i, 1, "");
|
|
|
addCell(ws, i, 2, m.get("fee")!=null?m.get("fee").toString():n);
|
|
|
i++;
|
|
|
}
|
|
|
ws.mergeCells(0,0,2,0);
|
|
|
ws.mergeCells(0,1,2,1);
|
|
|
wwb.write();
|
|
|
wwb.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
if (wwb != null) wwb.close();
|
|
|
throw e;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 药品明细表
|
|
|
*
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String, Object>> selectDrugTotal(String startTime,String endTime){
|
|
|
List<Map<String, Object>> mapList = new ArrayList<>();
|
|
|
Date stateDate = DateUtil.strToDateLong(startTime);
|
|
|
Date endDate = DateUtil.strToDateLong(endTime);
|
|
|
List<WlyyPrescriptionDO> prescriptionDOList = prescriptionDao.findListBySuccessStatus(stateDate,endDate);
|
|
|
for (WlyyPrescriptionDO prescriptionDO:prescriptionDOList){
|
|
|
com.alibaba.fastjson.JSONObject objectString = (com.alibaba.fastjson.JSONObject) com.alibaba.fastjson.JSONObject.toJSON(prescriptionDO);
|
|
|
List<WlyyPrescriptionInfoDO> infoDOList = prescriptionInfoDao.findByPrescriptionId(prescriptionDO.getId(),1);
|
|
|
objectString.put("info",infoDOList);
|
|
|
Map<String,Object> map = new HashedMap();
|
|
|
map.put("prescription",objectString);
|
|
|
mapList.add(map);
|
|
|
}
|
|
|
return mapList;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 药品明细表导出
|
|
|
* @param os
|
|
|
* @param ls
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public void pushListDrugTotal(OutputStream os, List<Map<String, Object>> ls,String startTime,String endTime) throws Exception {
|
|
|
WritableWorkbook wwb = jxl.Workbook.createWorkbook(os);
|
|
|
try {
|
|
|
WritableSheet ws;
|
|
|
ws = wwb.createSheet("sheet", 1);
|
|
|
String[] header = {"互联网医院药品明细表","","","","","","","",""};//
|
|
|
int k = 0;
|
|
|
for (String h : header) {
|
|
|
addCell(ws, 0, k, h);//表名,行,列,header
|
|
|
k++;
|
|
|
}
|
|
|
|
|
|
String[] header1 = {"汇总日期:"+startTime+"至"+endTime,"","","","","","","",""};//
|
|
|
int k1 = 0;
|
|
|
for (String h : header1) {
|
|
|
addCell(ws, 1, k1, h);//表名,行,列,header
|
|
|
k1++;
|
|
|
}
|
|
|
String[] header2 = {"患者名称","订单药品","规格","总量","进价","零售价","进货金额","零售金额","发药时间"};//
|
|
|
int k2 = 0;
|
|
|
for (String h : header2) {
|
|
|
addCell(ws, 2, k2, h);//表名,行,列,header
|
|
|
k2++;
|
|
|
}
|
|
|
|
|
|
int i = 3;
|
|
|
String n = " ";
|
|
|
|
|
|
for (Map<String, Object> m : ls) {
|
|
|
com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(m.get("prescription").toString());
|
|
|
com.alibaba.fastjson.JSONArray array = jsonObject.getJSONArray("info");
|
|
|
addCell(ws, i, 0,jsonObject.get("patientName")!=null?jsonObject.get("patientName").toString():n);
|
|
|
for (int z=0;z<array.size();z++){
|
|
|
com.alibaba.fastjson.JSONObject object = array.getJSONObject(z);
|
|
|
addCell(ws, i, 1, object.get("drugName")!=null?object.get("drugName").toString():n);
|
|
|
addCell(ws, i, 2, object.get("specification")!=null?object.get("specification").toString():n);
|
|
|
addCell(ws, i, 3, object.get("quantity")!=null?object.get("quantity").toString():n);
|
|
|
addCell(ws, i, 4, "");
|
|
|
addCell(ws, i, 5, object.get("packRetprice")!=null?object.get("packRetprice").toString():n);
|
|
|
addCell(ws, i, 6, "");
|
|
|
if (object.get("quantity")!=null){
|
|
|
Double quantity = Double.parseDouble(object.get("quantity").toString());
|
|
|
Double packRetprice = Double.parseDouble(object.get("packRetprice").toString());
|
|
|
addCell(ws, i, 7,packRetprice*quantity+"");
|
|
|
}else {
|
|
|
addCell(ws, i, 7,"");
|
|
|
}
|
|
|
addCell(ws, i, 8,jsonObject.get("createTime")!=null?DateUtil.stampToString(jsonObject.get("createTime").toString()):n);
|
|
|
i++;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
ws.mergeCells(0,0,8,0);
|
|
|
ws.mergeCells(0,1,8,1);
|
|
|
wwb.write();
|
|
|
wwb.close();
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
if (wwb != null) wwb.close();
|
|
|
throw e;
|
|
|
}
|
|
|
}
|
|
|
}
|