@ -26,6 +26,7 @@ import java.util.Collections;
import java.util.Comparator ;
import java.util.Comparator ;
import java.util.Date ;
import java.util.Date ;
import java.util.HashSet ;
import java.util.HashSet ;
import java.util.Iterator ;
import java.util.List ;
import java.util.List ;
import java.util.Set ;
import java.util.Set ;
import java.util.function.Consumer ;
import java.util.function.Consumer ;
@ -59,13 +60,14 @@ import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow ;
import org.apache.poi.xssf.usermodel.XSSFRow ;
import org.apache.poi.xssf.usermodel.XSSFSheet ;
import org.apache.poi.xssf.usermodel.XSSFSheet ;
import org.apache.poi.xssf.usermodel.XSSFWorkbook ;
import org.apache.poi.xssf.usermodel.XSSFWorkbook ;
import org.jacorb.idl.runtime.int_token ;
//import org.jacorb.idl.runtime.int_token;
//import com.connor.dfl.plm.dfl038.MyComparator;
//import com.connor.dfl.plm.dfl038.MyComparator;
import com.connor.dfl.plm.util.DataBaseControl ;
import com.connor.dfl.plm.util.DataBaseControl ;
import com.connor.dfl.plm.util.ProgressBar ;
import com.connor.dfl.plm.util.ProgressBar ;
import com.connor.dfl.plm.util.ProgressBarThread ;
import com.connor.dfl.plm.util.ProgressBarThread ;
import com.lowagie.text.Row ;
import com.lowagie.text.Row ;
import com.sun.mail.handlers.image_gif ;
//import com.sun.javafx.image.IntPixelAccessor;
//import com.sun.javafx.image.IntPixelAccessor;
import com.teamcenter.rac.aif.kernel.AIFComponentContext ;
import com.teamcenter.rac.aif.kernel.AIFComponentContext ;
import com.teamcenter.rac.kernel.TCComponent ;
import com.teamcenter.rac.kernel.TCComponent ;
@ -77,6 +79,7 @@ import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox ;
import com.teamcenter.rac.util.MessageBox ;
import jdk.internal.org.objectweb.asm.tree.IntInsnNode ;
import jdk.internal.org.objectweb.asm.tree.IntInsnNode ;
import oracle.net.aso.s ;
public class DFL038Jframe extends JFrame {
public class DFL038Jframe extends JFrame {
@ -86,7 +89,7 @@ public class DFL038Jframe extends JFrame {
private String [ ] drawChangeType = new String [ ] { "全部" , "其他" } ;
private String [ ] drawChangeType = new String [ ] { "全部" , "其他" } ;
private String [ ] changeType = new String [ ] { "设计错误" , " 设计优化", "内部方案更改" , "方案更改" , "采购更改 ", "销售更改" } ;
private String [ ] changeType = new String [ ] { "设计错误" , " 内部方案变更", "设计优化" , "系统方案变更" , "采购变更 ", "销售更改" } ;
private String [ ] productType = new String [ ] { "冻干机" , "灭菌柜" , "清洗机" , "联动线" , "自动机械" , "灯检机" } ;
private String [ ] productType = new String [ ] { "冻干机" , "灭菌柜" , "清洗机" , "联动线" , "自动机械" , "灯检机" } ;
@ -94,6 +97,9 @@ public class DFL038Jframe extends JFrame {
private String [ ] errorType = new String [ ] { "P&ID图" , "容器图" , "机架图" , "BOM表" , "外协件图" , "平面布局图" , "其他" } ;
private String [ ] errorType = new String [ ] { "P&ID图" , "容器图" , "机架图" , "BOM表" , "外协件图" , "平面布局图" , "其他" } ;
private String [ ] exportType = new String [ ] { "明细导出" , "合并导出" } ;
private JLabel startDateLabel = new JLabel ( "申请日期晚于" ) ;
private JLabel startDateLabel = new JLabel ( "申请日期晚于" ) ;
private JLabel endDateLabel = new JLabel ( "申请日期早于" ) ;
private JLabel endDateLabel = new JLabel ( "申请日期早于" ) ;
private JLabel depLabel = new JLabel ( "产品部门" ) ;
private JLabel depLabel = new JLabel ( "产品部门" ) ;
@ -144,32 +150,145 @@ public class DFL038Jframe extends JFrame {
private JButton cancelButton ;
private JButton cancelButton ;
private JPanel centerPanel1 ;
private JPanel centerPanel1 ;
private String [ ] title = new String [ ] { "产品部门" , "产品名称" , "变更通知单号" , "产品型号" , "客户名称" , "申请人" , "更改类型" , "更改原因" , "图纸更改类型" , "责任部门" ,
private JLabel exportTypeLabel ;
"责任人" , "品号" , "品名" , "原版本" , "现版本" , "变更数量" , "产品类型" , "错误类型" , "价格预告" , "销售分类" , "是否产生成本损失" , "项目阶段" , "料件领用分类" ,
private JComboBox < String > exportTypeBox ;
"图纸发至" , "项目编号" , "通知紧急程度" , "申请时间" , "账套" , "流程阶段" } ;
private DefaultComboBoxModel < String > exportTypeModel ;
private JFrame frame ;
private Boolean flag = true ;
private String [ ] title = new String [ ] { "产品部门" , "产品名称" , "变更通知单号" , "产品型号" , "客户名称" , "申请人" , "更改类型" , "更改原因" , "图纸更改类型" ,
"责任部门" , "责任人" , "品号" , "品名" , "原版本" , "现版本" , "变更数量" , "产品类型" , "错误类型" , "价格预告" , "销售分类" , "是否产生成本损失" , "项目阶段" ,
"料件领用分类" , "图纸发至" , "项目编号" , "通知紧急程度" , "申请时间" , "账套" , "流程阶段" } ;
public DFL038Jframe ( TCSession session ) {
public DFL038Jframe ( TCSession session ) {
this . session = session ;
this . session = session ;
departs = session . getPreferenceService ( ) . getStringValues ( "T2_ECNReport" ) ;
frame = new JFrame ( ) ;
changeType = session . getPreferenceService ( ) . getStringValues ( "T2_changeType" ) ;
frame . setTitle ( "请选择导出类型" ) ;
drawChangeType = session . getPreferenceService ( ) . getStringValues ( "T2_drawChangeType" ) ;
frame . setDefaultCloseOperation ( JFrame . DISPOSE_ON_CLOSE ) ;
productType = session . getPreferenceService ( ) . getStringValues ( "DFL_Form_Product_Type" ) ;
GraphicsEnvironment ge = GraphicsEnvironment . getLocalGraphicsEnvironment ( ) ;
errorType = session . getPreferenceService ( ) . getStringValues ( "DFL_Form_Error_Type" ) ;
Rectangle rect = ge . getMaximumWindowBounds ( ) ;
if ( departs = = null | | changeType = = null | | productType = = null | | errorType = = null | | departs . length = = 0
int sw = rect . width ;
| | changeType . length = = 0 | | errorType . length = = 0 ) {
int sh = rect . height ;
MessageBox . post ( "首选项T2_ECNReport或者T2_changeType有问题, 请联系管理员! " , "错误" , MessageBox . ERROR ) ;
frame . setBounds ( ( sw - 350 ) / 2 , ( sh - 300 ) / 2 , 350 , 300 ) ; // 设置位置即大小
return ;
this . setLayout ( new BorderLayout ( ) ) ;
}
JPanel myJPanel = new JPanel ( ) ;
myJPanel . setLayout ( null ) ;
JButton okbutton ;
exportTypeLabel = new JLabel ( "导出类型" ) ;
exportTypeLabel . setFont ( new Font ( "微软雅黑" , Font . BOLD , 20 ) ) ;
exportTypeLabel . setSize ( 100 , 30 ) ;
exportTypeModel = new DefaultComboBoxModel < String > ( ) ;
exportTypeBox = new JComboBox < String > ( exportTypeModel ) ;
exportTypeBox . setBounds ( 200 , 190 , 170 , 30 ) ;
exportTypeBox . setFont ( new Font ( "微软雅黑" , Font . BOLD , 20 ) ) ;
for ( String string : exportType ) {
exportTypeModel . addElement ( string ) ;
}
exportTypeLabel . setBounds ( 30 , 50 , 100 , 30 ) ;
exportTypeBox . setBounds ( 150 , 50 , 150 , 30 ) ;
okbutton = new JButton ( "确定" ) ;
okbutton . setFont ( new Font ( "微软雅黑" , Font . BOLD , 20 ) ) ;
okbutton . setBounds ( 100 , 180 , 120 , 30 ) ;
okbutton . addActionListener ( new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent e ) {
// TODO Auto-generated method stub
final String element = exportTypeModel . getElementAt ( exportTypeBox . getSelectedIndex ( ) ) ;
System . out . println ( element ) ;
if ( "合并导出" . equals ( element ) ) {
flag = false ;
}
frame . setVisible ( false ) ;
InitUI ( ) ;
InitUI ( ) ;
}
}
} ) ;
myJPanel . add ( exportTypeLabel ) ;
myJPanel . add ( exportTypeBox ) ;
myJPanel . add ( okbutton ) ;
Container contentPane = frame . getContentPane ( ) ;
contentPane . add ( myJPanel , BorderLayout . CENTER ) ;
frame . setVisible ( true ) ;
}
public DFL038Jframe ( ) {
public DFL038Jframe ( ) {
frame = new JFrame ( ) ;
frame . setTitle ( "请选择导出类型" ) ;
frame . setDefaultCloseOperation ( JFrame . DISPOSE_ON_CLOSE ) ;
GraphicsEnvironment ge = GraphicsEnvironment . getLocalGraphicsEnvironment ( ) ;
Rectangle rect = ge . getMaximumWindowBounds ( ) ;
int sw = rect . width ;
int sh = rect . height ;
frame . setBounds ( ( sw - 350 ) / 2 , ( sh - 300 ) / 2 , 350 , 300 ) ; // 设置位置即大小
this . setLayout ( new BorderLayout ( ) ) ;
JPanel myJPanel = new JPanel ( ) ;
myJPanel . setLayout ( null ) ;
exportTypeLabel = new JLabel ( "导出类型" ) ;
exportTypeLabel . setFont ( new Font ( "微软雅黑" , Font . BOLD , 20 ) ) ;
exportTypeLabel . setSize ( 100 , 30 ) ;
exportTypeModel = new DefaultComboBoxModel < String > ( ) ;
exportTypeBox = new JComboBox < String > ( exportTypeModel ) ;
exportTypeBox . setBounds ( 200 , 190 , 170 , 30 ) ;
exportTypeBox . setFont ( new Font ( "微软雅黑" , Font . BOLD , 20 ) ) ;
for ( String string : exportType ) {
exportTypeModel . addElement ( string ) ;
}
exportTypeLabel . setBounds ( 30 , 50 , 100 , 30 ) ;
exportTypeBox . setBounds ( 150 , 50 , 150 , 30 ) ;
okbutton = new JButton ( "确定" ) ;
okbutton . setFont ( new Font ( "微软雅黑" , Font . BOLD , 20 ) ) ;
okbutton . setBounds ( 100 , 180 , 120 , 30 ) ;
okbutton . addActionListener ( new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent e ) {
// TODO Auto-generated method stub
String element = exportTypeModel . getElementAt ( exportTypeBox . getSelectedIndex ( ) ) ;
// System.out.println(element);
if ( "合并导出" . equals ( element ) )
flag = false ;
frame . setVisible ( false ) ;
InitUI ( ) ;
InitUI ( ) ;
}
}
} ) ;
myJPanel . add ( exportTypeLabel ) ;
myJPanel . add ( exportTypeBox ) ;
myJPanel . add ( okbutton ) ;
Container contentPane = frame . getContentPane ( ) ;
contentPane . add ( myJPanel , BorderLayout . CENTER ) ;
frame . setVisible ( true ) ;
}
private void InitUI ( ) {
private void InitUI ( ) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
departs = session . getPreferenceService ( ) . getStringValues ( "T2_ECNReport" ) ;
if ( flag ) {
changeType = session . getPreferenceService ( ) . getStringValues ( "T2_changeType" ) ;
}
drawChangeType = session . getPreferenceService ( ) . getStringValues ( "T2_drawChangeType" ) ;
productType = session . getPreferenceService ( ) . getStringValues ( "DFL_Form_Product_Type" ) ;
errorType = session . getPreferenceService ( ) . getStringValues ( "DFL_Form_Error_Type" ) ;
if ( departs = = null | | changeType = = null | | productType = = null | | errorType = = null
| | departs . length = = 0 | | changeType . length = = 0 | | errorType . length = = 0 ) {
MessageBox . post ( "首选项T2_ECNReport或者T2_changeType有问题, 请联系管理员! " , "错误" , MessageBox . ERROR ) ;
return ;
}
// 初始化窗体
// 初始化窗体
// 设置标题
// 设置标题
@ -454,6 +573,11 @@ public class DFL038Jframe extends JFrame {
@Override
@Override
public void actionPerformed ( ActionEvent e ) {
public void actionPerformed ( ActionEvent e ) {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
new Thread ( new Runnable ( ) {
@Override
public void run ( ) {
// TODO Auto-generated method stub
ProgressBarThread progressBarThread = new ProgressBarThread ( "数据导出" , "数据导出中,请稍等..." ) ;
ProgressBarThread progressBarThread = new ProgressBarThread ( "数据导出" , "数据导出中,请稍等..." ) ;
progressBarThread . setBool ( true ) ;
progressBarThread . setBool ( true ) ;
@ -468,10 +592,10 @@ public class DFL038Jframe extends JFrame {
String depart = model . getElementAt ( comboBox . getSelectedIndex ( ) ) ;
String depart = model . getElementAt ( comboBox . getSelectedIndex ( ) ) ;
String selectPath = sourcefile . getText ( ) ;
String selectPath = sourcefile . getText ( ) ;
ChangeFormBean changeFormBean = new ChangeFormBean ( applyNameField . getText ( ) , changeIdField . getText ( ) ,
ChangeFormBean changeFormBean = new ChangeFormBean ( applyNameField . getText ( ) ,
productIdField . getText ( ) , productModNumField . getText ( ) , clientNameField . getText ( ) ,
changeIdField . getText ( ) , productIdField . getText ( ) , productModNumField . getText ( ) ,
dutyModel . getElementAt ( dutyDeptBox . getSelectedIndex ( ) ) , dutyManField . getText ( ) ,
clientNameField . getText ( ) , dutyModel . getElementAt ( dutyDeptBox . getSelectedIndex ( ) ) ,
changeTypeModel . getElementAt ( changeTypeBox . getSelectedIndex ( ) ) ,
dutyManField . getText ( ) , changeTypeModel . getElementAt ( changeTypeBox . getSelectedIndex ( ) ) ,
productTypeModel . getElementAt ( productTypeBox . getSelectedIndex ( ) ) ,
productTypeModel . getElementAt ( productTypeBox . getSelectedIndex ( ) ) ,
drawChangeTypeModel . getElementAt ( drawChangeTypeBox . getSelectedIndex ( ) ) ,
drawChangeTypeModel . getElementAt ( drawChangeTypeBox . getSelectedIndex ( ) ) ,
( String ) isCostLossModel . getElementAt ( isCostLossBox . getSelectedIndex ( ) ) ,
( String ) isCostLossModel . getElementAt ( isCostLossBox . getSelectedIndex ( ) ) ,
@ -479,16 +603,17 @@ public class DFL038Jframe extends JFrame {
String conditions = changeFormBean . generateSql ( ) ;
String conditions = changeFormBean . generateSql ( ) ;
String leftConditions = "D.OBJECTCODE = F.OBJECTCODE where " ;
String leftConditions = "D.OBJECTCODE = F.OBJECTCODE where " ;
DataBaseControl control = new DataBaseControl ( "oracle.jdbc.driver.OracleDriver" ,
DataBaseControl control = new DataBaseControl ( "oracle.jdbc.driver.OracleDriver" ,
"jdbc:oracle:thin:@192.168.1.138:1521/tc12 ", "infodba" , "infodba" ) ;
"jdbc:oracle:thin:@192.168.1.152:1521/plmdb ", "infodba" , "infodba" ) ;
control . openDataBase ( ) ;
control . openDataBase ( ) ;
String colString = " F.PRODUCTDEPARTMENT,F.PRODUCTNAME,F. CHANGELIS TCODE,F.PROJECTMODEL,F.CLIENTNAME,F.APPLYNAME,F.CHANGETYPE,F.CHANGEREASON,F.TZGGLX,F.DUTYDEPARTMENT,F.DUTYMAN,D.PH,D.PM,D.YBB,D.XBB,D.BGSL,F.PRODUCTTYPE,F.ERRORTYPE,F.PRICEBOOKING,F.SALSECLASSIFY,F.ISNOTPRODUCTLOSS,F.XMJD,F.RECEIVECLASSIFY,F.DRAWINGTO,F.PROJECTCODE,F.NOTIFYEMERGENCYPROCEDURES,F.APPLYDATE,F.ACCOUNTSET ";
String colString = " F.PRODUCTDEPARTMENT,F.PRODUCTNAME,F. OBJEC TCODE,F.PROJECTMODEL,F.CLIENTNAME,F.APPLYNAME,F.CHANGETYPE,F.CHANGEREASON,F.TZGGLX,F.DUTYDEPARTMENT,F.DUTYMAN,D.PH,D.PM,D.YBB,D.XBB,D.BGSL,F.PRODUCTTYPE,F.ERRORTYPE,F.PRICEBOOKING,F.SALSECLASSIFY,F.ISNOTPRODUCTLOSS,F.XMJD,F.RECEIVECLASSIFY,F.DRAWINGTO,F.PROJECTCODE,F.NOTIFYEMERGENCYPROCEDURES,F.APPLYDATE,F.ACCOUNTSET ";
// 获取需要判断的列
// 获取需要判断的列
// 如果先进行进行判断
// 如果先进行进行判断
String sql1 = "select " + colString + " from DFL_CHANGEFORM F LEFT OUTER JOIN DFL_CHANGEDETAILS D ON "
String sql1 = "select " + colString
+ leftConditions + " (F.OBJECTCODE like'ECN%' or F.OBJECTCODE like'QECN%') "
+ " from DFL_CHANGEFORM F LEFT OUTER JOIN DFL_CHANGEDETAILS D ON " + leftConditions
+ " (F.OBJECTCODE like'ECN%' or F.OBJECTCODE like'QECN%') "
+ "AND F.PRODUCTDEPARTMENT = '" + depart + "' AND "
+ "AND F.PRODUCTDEPARTMENT = '" + depart + "' AND "
+ " F.APPLYDATE IS NOT NULL AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
+ " F.APPLYDATE IS NOT NULL AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
+ startTime
+ startTime
@ -496,16 +621,18 @@ public class DFL038Jframe extends JFrame {
+ endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
+ endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
+ " order by F.PRODUCTDEPARTMENT,F.APPLYDATE" ;
+ " order by F.PRODUCTDEPARTMENT,F.APPLYDATE" ;
if ( depart = = null | | depart . trim ( ) . equals ( "" ) ) {
if ( depart = = null | | depart . trim ( ) . equals ( "" ) ) {
sql1 = "select " + colString + " from DFL_CHANGEFORM F LEFT OUTER JOIN DFL_CHANGEDETAILS D ON "
sql1 = "select " + colString
+ leftConditions + " (F.OBJECTCODE like'ECN%' or F.OBJECTCODE like'QECN%') " + " AND "
+ " from DFL_CHANGEFORM F LEFT OUTER JOIN DFL_CHANGEDETAILS D ON " + leftConditions
+ " (F.OBJECTCODE like'ECN%' or F.OBJECTCODE like'QECN%') " + " AND "
+ " F.APPLYDATE IS NOT NULL AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
+ " F.APPLYDATE IS NOT NULL AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
+ startTime
+ startTime
+ "','yyyy-MM-dd HH24:mi:ss') AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') <= to_date('"
+ "','yyyy-MM-dd HH24:mi:ss') AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') <= to_date('"
+ endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
+ endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
+ " order by F.PRODUCTDEPARTMENT,F.APPLYDATE" ;
+ " order by F.PRODUCTDEPARTMENT,F.APPLYDATE" ;
} else if ( depart ! = null & & "全部" . equals ( depart ) ) {
} else if ( depart ! = null & & "全部" . equals ( depart ) ) {
sql1 = "select " + colString + " from DFL_CHANGEFORM F LEFT OUTER JOIN DFL_CHANGEDETAILS D ON "
sql1 = "select " + colString
+ leftConditions + " (F.OBJECTCODE like'ECN%' or F.OBJECTCODE like'QECN%') " + " AND "
+ " from DFL_CHANGEFORM F LEFT OUTER JOIN DFL_CHANGEDETAILS D ON " + leftConditions
+ " (F.OBJECTCODE like'ECN%' or F.OBJECTCODE like'QECN%') " + " AND "
+ " F.APPLYDATE IS NOT NULL AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
+ " F.APPLYDATE IS NOT NULL AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
+ startTime
+ startTime
+ "','yyyy-MM-dd HH24:mi:ss') AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') <= to_date('"
+ "','yyyy-MM-dd HH24:mi:ss') AND to_date(F.applydate,'yyyy-MM-dd HH24:mi:ss') <= to_date('"
@ -536,6 +663,520 @@ public class DFL038Jframe extends JFrame {
+ endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
+ endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
+ " group by substr(applydate,0,7),CHANGETYPE order by date1 asc" ;
+ " group by substr(applydate,0,7),CHANGETYPE order by date1 asc" ;
}
}
if ( depart = = null | | "全部" . equals ( depart ) | | depart . trim ( ) . length ( ) = = 0 ) {
System . out . println ( "导出各个部门的月份清单!" ) ;
Date date = new Date ( ) ;
SimpleDateFormat df = new SimpleDateFormat ( "yyyyMMdd_HHmm" ) ;
String currentTime = df . format ( date ) ;
String absoluteFilePath = selectPath + "\\" + "更改通知单报表-" + currentTime + ".xlsx" ;
// System.out.println(absoluteFilePath);
File file = new File ( absoluteFilePath ) ;
if ( ! file . exists ( ) ) {
try {
file . createNewFile ( ) ;
// System.out.println("111:"+file.getAbsolutePath());
} catch ( IOException e1 ) {
// TODO Auto-generated catch block
e1 . printStackTrace ( ) ;
}
}
try {
XSSFWorkbook workbook = new XSSFWorkbook ( ) ;
XSSFCellStyle cellStyle = workbook . createCellStyle ( ) ;
cellStyle . setBorderBottom ( BorderStyle . THIN ) ; // 下边框
cellStyle . setBorderLeft ( BorderStyle . THIN ) ; // 左边框
cellStyle . setBorderTop ( BorderStyle . THIN ) ; // 上边框
cellStyle . setBorderRight ( BorderStyle . THIN ) ; // 右边框
cellStyle . setVerticalAlignment ( VerticalAlignment . CENTER ) ; // 垂直居中
cellStyle . setAlignment ( HorizontalAlignment . CENTER ) ; // 水平居中
cellStyle . setWrapText ( true ) ;
// 写第一个单元格
XSSFSheet sheet2 = workbook . createSheet ( "详细清单" ) ;
int i = 0 ;
XSSFRow titleRow = sheet2 . createRow ( i ) ;
for ( int j = 0 ; j < title . length ; j + + ) {
XSSFCell createCell = titleRow . createCell ( j ) ;
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellValue ( title [ j ] ) ;
}
String lastChangeFormId = null ;
Boolean isRelease = false ;
while ( dbQuery . next ( ) ) {
i + + ;
XSSFRow Row = sheet2 . createRow ( i ) ;
String changeFormId = dbQuery . getString ( 3 ) . substring ( 0 , dbQuery . getString ( 3 ) . indexOf ( "/" ) ) ;
if ( changeFormId ! = null & & ! changeFormId . equals ( lastChangeFormId ) ) {
List < TCComponent > queryObject = queryObject ( "零组件 ID" , new String [ ] { "零组件 ID" } ,
new String [ ] { changeFormId } ) ;
System . out . println ( changeFormId ) ;
if ( queryObject ! = null & & queryObject . size ( ) > 0 ) {
TCComponent component = queryObject . get ( 0 ) ;
AIFComponentContext [ ] versions = component . getChildren ( "revision_list" ) ;
TCComponent versionComponent = ( TCComponent ) versions [ 0 ] . getComponent ( ) ;
TCProperty tcProperty = versionComponent
. getTCProperty ( "release_status_list" ) ;
TCComponent [ ] releases = tcProperty . getReferenceValueArray ( ) ;
if ( releases ! = null & & releases . length > 0 ) {
isRelease = true ;
} else {
isRelease = false ;
}
}
}
for ( int j = 0 ; j < title . length - 1 ; j + + ) {
XSSFCell createCell = Row . createCell ( j ) ;
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellValue ( dbQuery . getString ( j + 1 ) ) ;
if ( j = = title . length - 2 ) {
createCell = Row . createCell ( j + 1 ) ;
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellValue ( isRelease ? "已发布" : "未发布" ) ;
}
}
}
// 写第二个单元
// 创建表头
// for (int ct = 0; ct <= departs.length; ct++) {
// if (ct == departs.length) {
// sql2 = "select count(*),CHANGETYPE,substr(applydate,0,7) as date1 FROM DFL_CHANGEFORM WHERE (OBJECTCODE like'ECN%' or OBJECTCODE like'QECN%') AND CHANGETYPE IS NOT NULL AND applydate IS NOT NULL AND to_date(applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
// + startTime
// + "','yyyy-MM-dd HH24:mi:ss') AND to_date(applydate,'yyyy-MM-dd HH24:mi:ss') <= to_date('"
// + endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
// + " group by substr(applydate,0,7),CHANGETYPE order by date1 asc";
// System.out.println("月份汇总清单sql=>:" + sql2);
// } else if ("全部".equals(departs[ct])) {
// continue;
// } else {
// sql2 = "select count(*),CHANGETYPE,substr(applydate,0,7) as date1 FROM DFL_CHANGEFORM WHERE productdepartment='"
// + departs[ct].trim()
// + "' AND (OBJECTCODE like'ECN%' or OBJECTCODE like'QECN%') AND CHANGETYPE IS NOT NULL AND applydate IS NOT NULL AND to_date(applydate,'yyyy-MM-dd HH24:mi:ss') >= to_date('"
// + startTime
// + "','yyyy-MM-dd HH24:mi:ss') AND to_date(applydate,'yyyy-MM-dd HH24:mi:ss') <= to_date('"
// + endTime + "','yyyy-MM-dd HH24:mi:ss') " + conditions
// + " group by substr(applydate,0,7),CHANGETYPE order by date1 asc";
// System.out.println(departs[ct] + "sql=>:" + sql2);
// }
//
// ResultSet dbQuery2 = control.dbQuery3(sql2);
// XSSFSheet sheet1 = null;
// if (ct == departs.length) {
// sheet1 = workbook.createSheet("汇总月份清单");
// } else {
// System.out.println(departs[ct] + "月份清单");
// sheet1 = workbook.createSheet(departs[ct] + "月份清单");
// }
// XSSFRow titleRow2 = sheet1.createRow(0);
// for (int j = 0; j < changeType.length; j++) {
// XSSFCell createCell = titleRow2.createCell(j + 1);
// createCell.setCellStyle(cellStyle);
// createCell.setCellValue(changeType[j]);
// }
// Set<String> set = new HashSet<String>();
//
// int db2 = 0;
//
// while (dbQuery2.next()) {
// set.add(dbQuery2.getString(3));
// db2++;
// }
// System.out.println(set.size());
// if (set.size() == 0) {
// continue;
// }
// dbQuery2.first();
// dbQuery2.previous();
//
// ArrayList<String> list = new ArrayList<String>();
// for (String string2 : set) {
// list.add(string2);
// }
//
//// Collections.sort(list,new MyComparator());
// Collections.sort(list);
//
// // 创建列头
//
// XSSFRow[] rows = new XSSFRow[list.size()];
// for (int j = 0; j < list.size(); j++) {
// rows[j] = sheet1.createRow(j + 1);
// XSSFCell createCell = rows[j].createCell(0);
// createCell.setCellStyle(cellStyle);
// createCell.setCellValue(list.get(j).endsWith("-")
// ? list.get(j).substring(0, list.get(j).length() - 1)
// : list.get(j));
// }
//
// // 初始化每列的合计
//
// int num[] = new int[changeType.length];
// for (int j = 0; j < changeType.length; j++) {
// num[j] = 0;
// }
//
// for (int rowNum = 1; rowNum <= list.size(); rowNum++) {
// for (int colNum = 1; colNum <= changeType.length; colNum++) {
// XSSFCell createCell = rows[rowNum - 1].createCell(colNum);
// createCell.setCellStyle(cellStyle);
// createCell.setCellValue(0);
// }
// }
//
// System.out.println(dbQuery2.getRow() + "--1--" + changeType.length);
// int[][] CTN = new int[list.size()][changeType.length];
// int[] countNum = null;
// int countYear = 0;
// String year = list.get(0).substring(0, 4);
// int rowY = 0;
// int lastRN = list.size() + 1;
// int current = 0;
// if(flag) {
// while (dbQuery2.next()) {
// current++;
// for (int j = 0; j < list.size(); j++) {
//
// if (dbQuery2.getString(3).equals(list.get(j))) {
// System.out.println(dbQuery2.getString(3));
// for (int n = 0; n < changeType.length; n++) {
// System.out.println(dbQuery2.getString(2) + "===" + changeType[n]);
// if (dbQuery2.getString(2) != null
// && dbQuery2.getString(2).equals(changeType[n])) {
// XSSFCell createCell = rows[j].createCell(n + 1);
// createCell.setCellStyle(cellStyle);
// createCell.setCellValue(dbQuery2.getString(1));
// num[n] += Integer.parseInt(dbQuery2.getString(1));
// if (!year.equals(rows[j].getCell(0).getStringCellValue()
// .substring(0, 4))) {
// System.out.println(list);
// System.out.println(year);
// XSSFRow row = sheet1.createRow(lastRN++);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(year + "合计:");
// year = rows[j].getCell(0).getStringCellValue().substring(0,
// 4);
// System.out.println("after" + year);
// for (int o = 0; o < changeType.length; o++) {
// cell = row.createCell(o + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(CTN[j - 1][o]);
// }
// cell = row.createCell(changeType.length + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(getArrayCount(CTN[j - 1]));
// countNum = arrayAdd(CTN[j - 1], countNum);
//
// // sheet1.shiftRows(j, lastRN-1, 1, true, false);
// }
// }
// }
// for (int n = 0; n < changeType.length; n++) {
// CTN[j][n] = num[n];
// }
// }
//
// }
// if (current == db2) {
// if (countNum != null) {
// XSSFRow row = sheet1.createRow(lastRN++);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(list.get(list.size() - 1).substring(0, 4) + "合计:");
// for (int o = 0; o < changeType.length; o++) {
// cell = row.createCell(o + 1);
// cell.setCellStyle(cellStyle);
// System.out.println("cell=>" + (null == cell));
// System.out.println(
// "CTN[CTN.length-1]=>" + (null == CTN[CTN.length - 1]));
// System.out
// .println("CTN[CTN.length-1][o]=>" + CTN[CTN.length - 1][o]);
// System.out.println("countNum[o]=>" + countNum[o]);
// cell.setCellValue(CTN[CTN.length - 1][o] - countNum[o]);
// }
// cell = row.createCell(changeType.length + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(
// getArrayCount(CTN[CTN.length - 1]) - getArrayCount(countNum));
// }
//
// XSSFRow row = sheet1.createRow(lastRN++);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue("合计:");
// for (int o = 0; o < changeType.length; o++) {
// cell = row.createCell(o + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(CTN[CTN.length - 1][o]);
// }
// cell = row.createCell(changeType.length + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(getArrayCount(CTN[CTN.length - 1]));
// }
// }
// }else {
// List<CountBean> countBeans = new ArrayList<CountBean>();
// for (String changetype : changeType) {
// for (String date1 : list) {
// countBeans.add(new CountBean(changetype, 0, date1));
// }
// }
//
// while(dbQuery2.next()) {
// for (CountBean countBean : countBeans) {
// if(dbQuery2.getString(3).equals(countBean.getDate()) && dbQuery2.getString(2).contains(countBean.getType())) {
// countBean.setCount(countBean.getCount()+Integer.parseInt(dbQuery2.getString(1)));
// }
// }
// }
//
//
// db2 = countBeans.size();
// Iterator<CountBean> iterator = countBeans.iterator();
//
// while (iterator.hasNext()) {
// CountBean bean = (CountBean)iterator.next();
// current++;
// for (int j = 0; j < list.size(); j++) {
//
// if (bean.getDate().equals(list.get(j))) {
// System.out.println(bean.getDate());
// for (int n = 0; n < changeType.length; n++) {
// System.out.println(bean.getType() +"==="+bean.getCount()+"===" + changeType[n]);
// if (bean.getType() != null
// && bean.getType().equals(changeType[n])) {
// XSSFCell createCell = rows[j].createCell(n + 1);
// createCell.setCellStyle(cellStyle);
// createCell.setCellValue(bean.getCount());
// num[n] += bean.getCount();
// if (!year.equals(rows[j].getCell(0).getStringCellValue()
// .substring(0, 4))) {
// System.out.println(list);
// System.out.println(year);
// XSSFRow row = sheet1.createRow(lastRN++);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(year + "合计:");
// year = rows[j].getCell(0).getStringCellValue().substring(0,
// 4);
// System.out.println("after" + year);
// for (int o = 0; o < changeType.length; o++) {
// cell = row.createCell(o + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(CTN[j - 1][o]);
// }
// cell = row.createCell(changeType.length + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(getArrayCount(CTN[j - 1]));
// countNum = arrayAdd(CTN[j - 1], countNum);
//
// // sheet1.shiftRows(j, lastRN-1, 1, true, false);
// }
// }
// }
// for (int n = 0; n < changeType.length; n++) {
// CTN[j][n] = num[n];
// }
// }
//
// }
// if (current == db2) {
// if (countNum != null) {
// XSSFRow row = sheet1.createRow(lastRN++);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(list.get(list.size() - 1).substring(0, 4) + "合计:");
// for (int o = 0; o < changeType.length; o++) {
// cell = row.createCell(o + 1);
// cell.setCellStyle(cellStyle);
// System.out.println("cell=>" + (null == cell));
// System.out.println(
// "CTN[CTN.length-1]=>" + (null == CTN[CTN.length - 1]));
// System.out
// .println("CTN[CTN.length-1][o]=>" + CTN[CTN.length - 1][o]);
// System.out.println("countNum[o]=>" + countNum[o]);
// cell.setCellValue(CTN[CTN.length - 1][o] - countNum[o]);
// }
// cell = row.createCell(changeType.length + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(
// getArrayCount(CTN[CTN.length - 1]) - getArrayCount(countNum));
// }
//
// XSSFRow row = sheet1.createRow(lastRN++);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue("合计:");
// System.out.println("创建合计");
// for (int o = 0; o < changeType.length; o++) {
// cell = row.createCell(o + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(CTN[CTN.length - 1][o]);
// }
// cell = row.createCell(changeType.length + 1);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(getArrayCount(CTN[CTN.length - 1]));
// }
// }
// }
//
// for (int p = 0; p < list.size(); p++) {
// System.out.println(Arrays.toString(CTN[p]));
// }
// }
FileOutputStream fos = FileUtils . openOutputStream ( new File ( absoluteFilePath ) ) ;
workbook . write ( fos ) ;
if ( fos ! = null ) {
fos . close ( ) ;
}
} catch ( Exception e2 ) {
// TODO Auto-generated catch block
e2 . printStackTrace ( ) ;
}
control . closeDataBase ( ) ;
try {
merge ( absoluteFilePath ) ;
} catch ( Exception e1 ) {
// TODO Auto-generated catch block
e1 . printStackTrace ( ) ;
}
// try {
//
// File countFile = new File(absoluteFilePath);
// FileInputStream fis = FileUtils.openInputStream(countFile);
// XSSFWorkbook workbook = new XSSFWorkbook(fis);
// XSSFCellStyle cellStyle = workbook.createCellStyle();
// cellStyle.setBorderBottom(BorderStyle.THIN); // 下边框
// cellStyle.setBorderLeft(BorderStyle.THIN);// 左边框
// cellStyle.setBorderTop(BorderStyle.THIN);// 上边框
// cellStyle.setBorderRight(BorderStyle.THIN);// 右边框
// cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); // 垂直居中
// cellStyle.setAlignment(HorizontalAlignment.CENTER); // 水平居中
// cellStyle.setWrapText(true);
//
// ArrayList<Bean> list = new ArrayList<Bean>();
//
// for (int cn = 0; cn <= departs.length; cn++) {
// XSSFSheet sheet = null;
// int sheetLastRow = -1;
// String departStr = null;
// if (cn == departs.length) {
// sheet = workbook.getSheet("汇总月份清单");
// System.out.println("汇总月份清单=>l:" + sheet.getLastRowNum());
// if (sheet.getLastRowNum() == 0) {
// continue;
// }
// Bean bean = new Bean();
// ArrayList<String[]> list1 = new ArrayList<String[]>();
// bean.setDepartName("全部");
//
// for (int i = 1; i <= sheet.getLastRowNum(); i++) {
// XSSFRow row = sheet.getRow(i);
// String[] arr = new String[row.getLastCellNum()];
// for (int j = 0; j < row.getLastCellNum(); j++) {
// arr[j] = ExcelUtil.getFormatterValue(row.getCell(j));
// }
// list1.add(arr);
// }
// bean.setList(list1);
// list.add(bean);
//
// } else if ("全部".equals(departs[cn])) {
// System.out.println("全部");
// continue;
// } else {
// sheet = workbook.getSheet(departs[cn] + "月份清单");
// System.out.println(departs[cn] + "月份清单=>l:" + sheet.getLastRowNum());
// if (sheet.getLastRowNum() == 0) {
// continue;
// }
// Bean bean = new Bean();
// ArrayList<String[]> list1 = new ArrayList<String[]>();
// bean.setDepartName(departs[cn]);
//
// for (int i = 1; i <= sheet.getLastRowNum(); i++) {
// XSSFRow row = sheet.getRow(i);
// String[] arr = new String[row.getLastCellNum()];
// for (int j = 0; j < row.getLastCellNum(); j++) {
// arr[j] = ExcelUtil.getFormatterValue(row.getCell(j));
// }
// list1.add(arr);
// }
// bean.setList(list1);
// list.add(bean);
// }
// }
// for (int i = 0; i < list.size(); i++) {
// System.out.println(list.get(i).getDepartName());
// for (String[] str : list.get(i).getList()) {
// System.out.println(Arrays.toString(str));
// }
// }
//
// XSSFSheet countSheet = workbook.createSheet("合并清单");
// // 创建标题行
// XSSFRow titleRow = countSheet.createRow(0);
// for (int i = 0; i < changeType.length; i++) {
// XSSFCell cell = titleRow.createCell(i + 2);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(changeType[i]);
// }
// // 创建数据行
//
// int lastDepartRowNum = 0;
// for (int i = 0; i < list.size(); i++) {
// Bean bean = list.get(i);
// String departName = bean.getDepartName();
// ArrayList<String[]> departArrayList = bean.getList();
// for (int j = 0; j < departArrayList.size(); j++) {
// String[] rowStrs = departArrayList.get(j);
// XSSFRow row = countSheet.createRow(j + 1 + lastDepartRowNum);
// XSSFCell cell = row.createCell(0);
// cell.setCellStyle(cellStyle);
// cell.setCellValue(departName);
// for (int n = 0; n < rowStrs.length; n++) {
// XSSFCell cell2 = row.createCell(n + 1);
// cell2.setCellStyle(cellStyle);
// cell2.setCellValue(rowStrs[n]);
// }
// }
// lastDepartRowNum += departArrayList.size();
// }
// FileOutputStream fos = FileUtils.openOutputStream(countFile);
// workbook.write(fos);
//
// if (fis != null) {
// fis.close();
// }
// if (fos != null) {
// fos.close();
// }
//
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
System . out . println ( "结束" ) ;
setVisible ( false ) ;
progressBarThread . setBool ( false ) ;
progressBarThread . interrupt ( ) ;
MessageBox . post ( "导出完成!" , "提示" , MessageBox . INFORMATION ) ;
return ;
}
ResultSet dbQuery2 = control . dbQuery3 ( sql2 ) ;
ResultSet dbQuery2 = control . dbQuery3 ( sql2 ) ;
System . out . println ( sql1 ) ;
System . out . println ( sql1 ) ;
@ -582,7 +1223,7 @@ public class DFL038Jframe extends JFrame {
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellValue ( title [ j ] ) ;
createCell . setCellValue ( title [ j ] ) ;
}
}
Boolean flag = false ;
Boolean isRelease = true ;
Boolean isRelease = true ;
String lastChangeFormId = null ;
String lastChangeFormId = null ;
while ( dbQuery . next ( ) ) {
while ( dbQuery . next ( ) ) {
@ -687,13 +1328,15 @@ public class DFL038Jframe extends JFrame {
if ( dbQuery2 . getString ( 3 ) . equals ( list . get ( j ) ) ) {
if ( dbQuery2 . getString ( 3 ) . equals ( list . get ( j ) ) ) {
System . out . println ( dbQuery2 . getString ( 3 ) ) ;
System . out . println ( dbQuery2 . getString ( 3 ) ) ;
for ( int n = 0 ; n < changeType . length ; n + + ) {
for ( int n = 0 ; n < changeType . length ; n + + ) {
System . out . println ( dbQuery2 . getString ( 2 ) + "===" + changeType [ n ] ) ;
System . out . println ( dbQuery2 . getString ( 2 ) + "===" + dbQuery2 . getString ( 1 ) + "===" + changeType [ n ] ) ;
if ( dbQuery2 . getString ( 2 ) ! = null & & dbQuery2 . getString ( 2 ) . equals ( changeType [ n ] ) ) {
if ( dbQuery2 . getString ( 2 ) ! = null
& & flag ? dbQuery2 . getString ( 2 ) . equals ( changeType [ n ] ) : dbQuery2 . getString ( 2 ) . contains ( changeType [ n ] ) ) {
XSSFCell createCell = rows [ j ] . createCell ( n + 1 ) ;
XSSFCell createCell = rows [ j ] . createCell ( n + 1 ) ;
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellStyle ( cellStyle ) ;
createCell . setCellValue ( dbQuery2 . getString ( 1 ) ) ;
createCell . setCellValue ( dbQuery2 . getString ( 1 ) ) ;
num [ n ] + = Integer . parseInt ( dbQuery2 . getString ( 1 ) ) ;
num [ n ] + = Integer . parseInt ( dbQuery2 . getString ( 1 ) ) ;
if ( ! year . equals ( rows [ j ] . getCell ( 0 ) . getStringCellValue ( ) . substring ( 0 , 4 ) ) ) {
if ( ! year . equals (
rows [ j ] . getCell ( 0 ) . getStringCellValue ( ) . substring ( 0 , 4 ) ) ) {
System . out . println ( list ) ;
System . out . println ( list ) ;
System . out . println ( year ) ;
System . out . println ( year ) ;
XSSFRow row = sheet1 . createRow ( lastRN + + ) ;
XSSFRow row = sheet1 . createRow ( lastRN + + ) ;
@ -722,24 +1365,24 @@ public class DFL038Jframe extends JFrame {
}
}
}
}
if ( current = = db2 ) {
if ( current = = db2 ) {
if ( countNum ! = null ) {
if ( countNum ! = null ) {
XSSFRow row = sheet1 . createRow ( lastRN + + ) ;
XSSFRow row = sheet1 . createRow ( lastRN + + ) ;
XSSFCell cell = row . createCell ( 0 ) ;
XSSFCell cell = row . createCell ( 0 ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellValue ( list . get ( list . size ( ) - 1 ) . substring ( 0 , 4 ) + "合计:" ) ;
cell . setCellValue ( list . get ( list . size ( ) - 1 ) . substring ( 0 , 4 ) + "合计:" ) ;
for ( int o = 0 ; o < changeType . length ; o + + ) {
for ( int o = 0 ; o < changeType . length ; o + + ) {
cell = row . createCell ( o + 1 ) ;
cell = row . createCell ( o + 1 ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellStyle ( cellStyle ) ;
System . out . println ( "cell=>" + ( null = = cell ) ) ;
System . out . println ( "cell=>" + ( null = = cell ) ) ;
System . out . println ( "CTN[CTN.length-1]=>" + ( null = = CTN [ CTN . length - 1 ] ) ) ;
System . out . println ( "CTN[CTN.length-1]=>" + ( null = = CTN [ CTN . length - 1 ] ) ) ;
System . out . println ( "CTN[CTN.length-1][o]=>" + CTN [ CTN . length - 1 ] [ o ] ) ;
System . out . println ( "CTN[CTN.length-1][o]=>" + CTN [ CTN . length - 1 ] [ o ] ) ;
System . out . println ( "countNum[o]=>" + countNum [ o ] ) ;
System . out . println ( "countNum[o]=>" + countNum [ o ] ) ;
cell . setCellValue ( CTN [ CTN . length - 1 ] [ o ] - countNum [ o ] ) ;
cell . setCellValue ( CTN [ CTN . length - 1 ] [ o ] - countNum [ o ] ) ;
}
}
cell = row . createCell ( changeType . length + 1 ) ;
cell = row . createCell ( changeType . length + 1 ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellValue ( getArrayCount ( CTN [ CTN . length - 1 ] ) - getArrayCount ( countNum ) ) ;
cell . setCellValue ( getArrayCount ( CTN [ CTN . length - 1 ] ) - getArrayCount ( countNum ) ) ;
}
}
XSSFRow row = sheet1 . createRow ( lastRN + + ) ;
XSSFRow row = sheet1 . createRow ( lastRN + + ) ;
@ -749,11 +1392,11 @@ public class DFL038Jframe extends JFrame {
for ( int o = 0 ; o < changeType . length ; o + + ) {
for ( int o = 0 ; o < changeType . length ; o + + ) {
cell = row . createCell ( o + 1 ) ;
cell = row . createCell ( o + 1 ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellValue ( CTN [ CTN . length - 1 ] [ o ] ) ;
cell . setCellValue ( CTN [ CTN . length - 1 ] [ o ] ) ;
}
}
cell = row . createCell ( changeType . length + 1 ) ;
cell = row . createCell ( changeType . length + 1 ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellStyle ( cellStyle ) ;
cell . setCellValue ( getArrayCount ( CTN [ CTN . length - 1 ] ) ) ;
cell . setCellValue ( getArrayCount ( CTN [ CTN . length - 1 ] ) ) ;
}
}
}
}
@ -783,11 +1426,13 @@ public class DFL038Jframe extends JFrame {
System . out . println ( "结束" ) ;
System . out . println ( "结束" ) ;
setVisible ( false ) ;
progressBarThread . setBool ( false ) ;
progressBarThread . setBool ( false ) ;
progressBarThread . interrupt ( ) ;
progressBarThread . interrupt ( ) ;
MessageBox . post ( "导出完成!" , "提示" , MessageBox . INFORMATION ) ;
MessageBox . post ( "导出完成!" , "提示" , MessageBox . INFORMATION ) ;
}
} ) . start ( ) ;
setVisible ( false ) ;
}
}
} ) ;
} ) ;
@ -978,7 +1623,7 @@ public class DFL038Jframe extends JFrame {
CellRangeAddress region = new CellRangeAddress ( startRow , i - 1 , 0 , 0 ) ;
CellRangeAddress region = new CellRangeAddress ( startRow , i - 1 , 0 , 0 ) ;
sheet . addMergedRegion ( region ) ;
sheet . addMergedRegion ( region ) ;
for ( int j = 1 ; j < title . length ; j + + ) {
for ( int j = 1 ; j < title . length ; j + + ) {
if ( j = = 1 0 | | j = = 1 1 | | j = = 12 | | j = = 13 | | j = = 14 ) {
if ( j = = 1 1 | | j = = 12 | | j = = 13 | | j = = 14 | | j = = 15 ) {
continue ;
continue ;
}
}
region = new CellRangeAddress ( startRow , i - 1 , j , j ) ;
region = new CellRangeAddress ( startRow , i - 1 , j , j ) ;
@ -1013,14 +1658,13 @@ public class DFL038Jframe extends JFrame {
return count ;
return count ;
}
}
public static int [ ] arrayAdd ( int [ ] array , int [ ] val ) {
public static int [ ] arrayAdd ( int [ ] array , int [ ] val ) {
int [ ] back = new int [ array . length ] ;
int [ ] back = new int [ array . length ] ;
for ( int i = 0 ; i < array . length ; i + + ) {
for ( int i = 0 ; i < array . length ; i + + ) {
if ( val = = null ) {
if ( val = = null ) {
back [ i ] = array [ i ] ;
back [ i ] = array [ i ] ;
}
} else {
else {
back [ i ] = array [ i ] + val [ i ] ;
back [ i ] = array [ i ] + val [ i ] ;
}
}
}
}
return back ;
return back ;
@ -1034,5 +1678,7 @@ public class DFL038Jframe extends JFrame {
// String currentTime = df.format(date);
// String currentTime = df.format(date);
// String absoluteFilePath = "更改通知单报表-"+currentTime;
// String absoluteFilePath = "更改通知单报表-"+currentTime;
// System.out.println(absoluteFilePath);
// System.out.println(absoluteFilePath);
String string = "QECN0002131/01" ;
// System.out.println(string.substring(0,string.indexOf("/")));
}
}
}
}