@ -6,7 +6,6 @@ import java.awt.Component;
import java.awt.Dimension ;
import java.awt.FlowLayout ;
import java.awt.Font ;
import java.awt.ScrollPane ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.awt.event.MouseAdapter ;
@ -14,6 +13,9 @@ import java.awt.event.MouseEvent;
import java.sql.SQLException ;
import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.Collections ;
import java.util.Comparator ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Map ;
@ -22,8 +24,10 @@ import javax.swing.DefaultCellEditor;
import javax.swing.JButton ;
import javax.swing.JLabel ;
import javax.swing.JMenuItem ;
import javax.swing.JOptionPane ;
import javax.swing.JPanel ;
import javax.swing.JPopupMenu ;
import javax.swing.JScrollPane ;
import javax.swing.JTable ;
import javax.swing.JTextField ;
import javax.swing.SwingConstants ;
@ -31,16 +35,23 @@ import javax.swing.table.DefaultTableCellRenderer;
import com.connor.jd.plm.table.CTMap ;
import com.connor.jd.plm.table.CTable ;
import com.connor.jd.plm.table.JCheckPanel ;
import com.connor.jd.plm.table.ModelList ;
import com.connor.jd.plm.table.ModelValue ;
import com.connor.jd.plm.table.MyCellEditor3 ;
import com.connor.jd.plm.table.TCTableUtil ;
import com.connor.jd.plm.utils.DBUtil ;
import com.connor.jd.plm.utils.DialogUtil ;
import com.teamcenter.rac.aif.kernel.AIFComponentContext ;
import com.teamcenter.rac.aifrcp.AIFUtility ;
import com.teamcenter.rac.kernel.TCComponent ;
import com.teamcenter.rac.kernel.TCComponentDataset ;
import com.teamcenter.rac.kernel.TCComponentForm ;
import com.teamcenter.rac.kernel.TCComponentItem ;
import com.teamcenter.rac.kernel.TCComponentItemRevision ;
import com.teamcenter.rac.kernel.TCComponentItemType ;
import com.teamcenter.rac.kernel.TCComponentProject ;
import com.teamcenter.rac.kernel.TCComponentSchedule ;
import com.teamcenter.rac.kernel.TCException ;
import com.teamcenter.rac.kernel.TCSession ;
import com.teamcenter.rac.stylesheet.AbstractRendering ;
@ -65,14 +76,31 @@ public class NewProductTestForm extends AbstractRendering {
private String [ ] colNames = { "jd2_no" , "jd2_lb" , "jd2_xm" , "jd2_xmfy" , "jd2_DV" , "jd2_PV" , "jd2_PR" , "jd2_SR" ,
"jd2_bz" } ;
private String [ ] colNames2 = { "jd2_no" , "jd2_wtry" , "jd2_syxm" , "jd2_syts" , "jd2_syfy" , "jd2_sycs" } ;
private String [ ] colNames3 = { "jd2_no" , "jd2_syxh" , "jd2_symd" , "jd2_wtry" , "jd2_syxm" , "jd2_syts" , "jd2_syzq" ,
"jd2_syfy" , "jd2_jhrc" , "jd2_jhrc1" , "jd2_sjrc" , "jd2_sjrc1" , "jd2_syzt" , "jd2_syjg" , "jd2_sycs" ,
"jd2_syry" , "jd2_csbg" , "jd2_bz" } ;
private String [ ] jieduan = { "DV" , "PV" , "PR" , "SR" } ;
private TCSession session ;
private List < String [ ] > compareDataList = new ArrayList < String [ ] > ( ) ;
private boolean testFlag = false ;
private List < String > realIdStr = new ArrayList < String > ( ) ;
private TCComponentProject project ;
private NewProductTestForm $this ;
public NewProductTestForm ( TCComponent arg0 ) throws Exception {
super ( arg0 ) ;
if ( arg0 instanceof TCComponentForm ) {
this . form = ( TCComponentForm ) arg0 ;
this . session = ( TCSession ) AIFUtility . getCurrentApplication ( ) . getSession ( ) ;
try {
dbData = Db . use ( DBUtil . getDataSource ( session ) )
. query ( "select * from JD2_Machine ORDER BY TEST_TYPE ASC" ) ;
} catch ( Exception e ) {
MessageBox . post ( "数据库配置错误" , "错误" , MessageBox . ERROR ) ;
e . printStackTrace ( ) ;
return ;
}
$this = this ;
loadRendering ( ) ;
}
}
@ -125,6 +153,7 @@ public class NewProductTestForm extends AbstractRendering {
table1 . getColumnModel ( ) . getColumn ( 1 ) . setPreferredWidth ( 100 ) ;
table1 . getColumnModel ( ) . getColumn ( 2 ) . setPreferredWidth ( 100 ) ;
table1 . getColumnModel ( ) . getColumn ( 3 ) . setPreferredWidth ( 200 ) ;
table1 . putClientProperty ( "terminateEditOnFocusLost" , true ) ;
DefaultTableCellRenderer tcr1 = new DefaultTableCellRenderer ( ) {
// 重写方法
@ -132,6 +161,9 @@ public class NewProductTestForm extends AbstractRendering {
public Component getTableCellRendererComponent ( JTable table , Object value , boolean isSelected ,
boolean hasFocus , int row , int column ) {
// TODO Auto-generated method stub
if ( value instanceof JCheckPanel ) {
return ( JCheckPanel ) value ;
}
int maxPreferredHeight = 0 ;
for ( int i = 0 ; i < table . getColumnCount ( ) ; i + + ) {
@ -177,16 +209,10 @@ public class NewProductTestForm extends AbstractRendering {
data = TCTableUtil . getTableRows ( form , "jd2_xpcsxqd" , colNames ) ;
if ( data . length = = 0 ) {
try {
dbData = Db . use ( ) . query ( "select * from JD2_Machine ORDER BY TEST_TYPE ASC" ) ;
model2 = new CTMap ( dbData . size ( ) + 3 , 9 ) ;
} catch ( SQLException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
}
model2 = new CTMap ( dbData . size ( ) + 3 , 9 ) ;
for ( int i = 0 ; i < dbData . size ( ) ; i + + ) {
System. out . println ( dbData . get ( i ) . to String ( ) ) ;
realIdStr . add ( dbData . get ( i ) . getStr ( "TEST_ID" ) ) ;
modelList2 . add ( new ModelValue ( dbData . get ( i ) . getStr ( "TEST_PROJECT" ) , false , i + 2 , 2 , false ) ) ;
modelList2 . add ( new ModelValue ( dbData . get ( i ) . getInt ( "TEST_COST" ) + "" , false , i + 2 , 3 , false ) ) ;
if ( i = = 0 ) {
@ -199,7 +225,8 @@ public class NewProductTestForm extends AbstractRendering {
type = dbData . get ( i ) . getStr ( "TEST_TYPE" ) ;
typeSpan = 0 ;
}
if ( ( i = = dbData . size ( ) - 1 ) ) {
System . out . println ( dbData . get ( i ) . toString ( ) ) ;
if ( i = = dbData . size ( ) - 1 ) {
System . out . println ( type ) ;
modelList2 . add (
new ModelValue ( type , false , i - typeSpan + 2 , 1 , false , i - typeSpan + 2 , i + 2 , 1 , 1 ) ) ;
@ -211,11 +238,44 @@ public class NewProductTestForm extends AbstractRendering {
typeSpan + + ;
}
} else {
for ( int i = 0 ; i < data . length ; i + + ) {
compareDataList . add ( data [ i ] ) ;
realIdStr . add ( data [ i ] [ 0 ] ) ;
}
for ( int i = 0 ; i < dbData . size ( ) ; i + + ) {
String realId = dbData . get ( i ) . getStr ( "TEST_ID" ) ;
String [ ] rowData ;
if ( realIdStr . indexOf ( realId ) > = 0 ) {
rowData = compareDataList . get ( realIdStr . indexOf ( realId ) ) ;
rowData [ 1 ] = dbData . get ( i ) . getStr ( "TEST_TYPE" ) ;
rowData [ 2 ] = dbData . get ( i ) . getStr ( "TEST_PROJECT" ) ;
rowData [ 3 ] = dbData . get ( i ) . getStr ( "TEST_COST" ) ;
compareDataList . set ( realIdStr . indexOf ( realId ) , rowData ) ;
} else {
rowData = new String [ data [ 0 ] . length ] ;
rowData [ 0 ] = realId ;
rowData [ 1 ] = dbData . get ( i ) . getStr ( "TEST_TYPE" ) ;
rowData [ 2 ] = dbData . get ( i ) . getStr ( "TEST_PROJECT" ) ;
rowData [ 3 ] = dbData . get ( i ) . getStr ( "TEST_COST" ) ;
rowData [ data [ 0 ] . length - 1 ] = "" ;
compareDataList . add ( rowData ) ;
}
}
Collections . sort ( compareDataList , new Comparator < String [ ] > ( ) {
@Override
public int compare ( String [ ] o1 , String [ ] o2 ) {
// TODO Auto-generated method stub
return o1 [ 1 ] . compareTo ( o2 [ 1 ] ) ;
}
} ) ;
data = compareDataList . toArray ( new String [ compareDataList . size ( ) ] [ ] ) ;
model2 = new CTMap ( data . length + 3 , 9 ) ;
realIdStr . clear ( ) ;
for ( int i = 0 ; i < data . length ; i + + ) {
System . out . println ( Arrays . toString ( data [ i ] ) ) ;
modelList2 . add ( new ModelValue ( data [ i ] [ 2 ] , false , i + 2 , 2 , false ) ) ;
modelList2 . add ( new ModelValue ( data [ i ] [ 3 ] , false , i + 2 , 3 , false ) ) ;
realIdStr. add ( data [ i ] [ 0 ] ) ;
modelList2 . add ( new ModelValue ( data [ i ] [ 2 ] = = null ? "" : data [ i ] [ 2 ] , false , i + 2 , 2 , false ) ) ;
modelList2 . add ( new ModelValue ( data [ i ] [ 3 ] = = null ? "" : data [ i ] [ 3 ] , false , i + 2 , 3 , false ) ) ;
if ( i = = 0 ) {
type = data [ i ] [ 1 ] ;
}
@ -226,14 +286,16 @@ public class NewProductTestForm extends AbstractRendering {
type = data [ i ] [ 1 ] ;
typeSpan = 0 ;
}
if ( ( i = = data . length - 1 ) ) {
System . out . println ( Arrays . toString ( data [ i ] ) ) ;
if ( i = = data . length - 1 ) {
System . out . println ( type ) ;
modelList2 . add (
new ModelValue ( type , false , i - typeSpan + 2 , 1 , false , i - typeSpan + 2 , i + 2 , 1 , 1 ) ) ;
}
model2 . setValueAt ( i + 1 , i + 2 , 0 ) ;
for ( int ii = 4 ; ii < 9 ; ii + + ) {
model2 . setValueAt ( data [ i ] [ ii ] , i + 2 , ii ) ;
model2 . setValueAt ( ( data [ i ] [ ii ] = = null ) ? "/" : data [ i ] [ ii ] , i + 2 , ii ) ;
}
typeSpan + + ;
}
@ -252,7 +314,7 @@ public class NewProductTestForm extends AbstractRendering {
table2 = new CTable ( model2 ) {
@Override
public boolean isCellEditable ( int row , int col ) {
if ( modelList2 . isDisableEdit ( row , col ) | | col = = 0 | | row = = table2 . getRowCount ( ) - 1 ) {
if ( modelList2 . isDisableEdit ( row , col ) ) {
return false ;
}
return true ;
@ -270,6 +332,7 @@ public class NewProductTestForm extends AbstractRendering {
table2 . getColumnModel ( ) . getColumn ( 6 ) . setPreferredWidth ( 50 ) ;
table2 . getColumnModel ( ) . getColumn ( 7 ) . setPreferredWidth ( 50 ) ;
table2 . getColumnModel ( ) . getColumn ( 8 ) . setPreferredWidth ( 60 ) ;
table2 . putClientProperty ( "terminateEditOnFocusLost" , true ) ;
DefaultTableCellRenderer tcr2 = new DefaultTableCellRenderer ( ) {
// 重写方法
@ -321,7 +384,7 @@ public class NewProductTestForm extends AbstractRendering {
if ( obj ! = null ) {
String objStr = obj . toString ( ) . trim ( ) ;
try {
if ( "/" . equals ( objStr ) ) {
if ( "/" . equals ( objStr ) | | "" . equals ( objStr ) ) {
objStr = "0" ;
}
int num = Integer . parseInt ( objStr ) ;
@ -396,7 +459,42 @@ public class NewProductTestForm extends AbstractRendering {
JPanel btns = new JPanel ( new FlowLayout ( FlowLayout . CENTER ) ) ;
JButton create = new JButton ( "创建测试计划" ) ;
create . addActionListener ( create ( ) ) ;
JButton updateDV = new JButton ( "更新DV" ) ;
updateDV . addActionListener ( update ( "DV" ) ) ;
JButton updatePV = new JButton ( "更新PV" ) ;
updatePV . addActionListener ( update ( "PV" ) ) ;
JButton updatePR = new JButton ( "更新PR" ) ;
updatePR . addActionListener ( update ( "PR" ) ) ;
JButton updateSR = new JButton ( "更新SR" ) ;
updateSR . addActionListener ( update ( "SR" ) ) ;
JButton testBtn = new JButton ( "清空table内容" ) ;
testBtn . addActionListener ( new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent e ) {
// TODO Auto-generated method stub
String [ ] [ ] temp = new String [ 0 ] [ ] ;
TCTableUtil . setTableRows ( form , "jd2_xpcsxqd" , "JD2_XPCSXQD" , colNames , temp ) ;
// try {
// Map<String, String> testMap = ((TCComponentItemRevision) form.whereReferenced()[0].getComponent())
// .getClassificationAttributes();
// for (Entry<String, String> entry : testMap.entrySet()) {
// System.out.println(entry.getKey() + "====>" + entry.getValue());
// }
// } catch (TCException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
testFlag = true ;
}
} ) ;
btns . add ( create ) ;
btns . add ( updateDV ) ;
btns . add ( updatePV ) ;
btns . add ( updatePR ) ;
btns . add ( updateSR ) ;
btns . add ( testBtn ) ;
menu . setVisible ( false ) ;
addR = new JMenuItem ( "新增测试项" ) ;
@ -404,24 +502,26 @@ public class NewProductTestForm extends AbstractRendering {
addR . addActionListener ( addRow ( ) ) ;
menu . add ( addR ) ;
ScrollPane sc = new ScrollPane ( ) ;
sc . add ( inner ) ;
root . add ( sc , BorderLayout . CENTER ) ;
JScrollPane jsp = new JScrollPane ( inner ) ;
root . add ( jsp , BorderLayout . CENTER ) ;
root . add ( btns , BorderLayout . SOUTH ) ;
this . add ( root ) ;
}
@Override
public void saveRendering ( ) {
savePropValue ( table1 , modelList1 ) ;
savePropValue ( table2 , modelList2 ) ;
if ( testFlag ) {
return ;
}
saveModel ( table1 , modelList1 ) ;
saveModel ( table2 , modelList2 ) ;
Object obj ;
if ( data . length = = 0 ) {
if ( dbData . size ( ) = = 0 ) {
try {
dbData = Db . use ( ) . query ( "select * from JD2_Machine ORDER BY TEST_TYPE ASC" ) ;
dbData = Db . use ( DBUtil . getDataSource ( session ) )
. query ( "select * from JD2_Machine ORDER BY TEST_TYPE ASC" ) ;
} catch ( SQLException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
@ -430,7 +530,7 @@ public class NewProductTestForm extends AbstractRendering {
data = new String [ table2 . getRowCount ( ) - 3 ] [ 9 ] ;
for ( int i = 0 ; i < dbData . size ( ) ; i + + ) {
data [ i ] [ 0 ] = ( obj = model2 . getValueAt ( i + 2 , 0 ) ) = = null ? "" : obj . toString ( ) ;
data [ i ] [ 0 ] = dbData . get ( i ) . getStr ( "TEST_ID" ) ;
data [ i ] [ 1 ] = dbData . get ( i ) . getStr ( "TEST_TYPE" ) ;
data [ i ] [ 2 ] = dbData . get ( i ) . getStr ( "TEST_PROJECT" ) ;
data [ i ] [ 3 ] = dbData . get ( i ) . getStr ( "TEST_COST" ) ;
@ -440,8 +540,9 @@ public class NewProductTestForm extends AbstractRendering {
}
System . out . println ( "dbData.size() " + dbData . size ( ) ) ;
System . out . println ( "table2.getRowCount() " + table2 . getRowCount ( ) ) ;
for ( int i = dbData . size ( ) + 2 ; i < table2 . getRowCount ( ) - 1 ; i + + ) {
for ( int ii = 0 ; ii < 9 ; ii + + ) {
for ( int i = dbData . size ( ) ; i < table2 . getRowCount ( ) - 3 ; i + + ) {
data [ i ] [ 0 ] = realIdStr . get ( i ) ;
for ( int ii = 1 ; ii < 9 ; ii + + ) {
data [ i ] [ ii ] = ( obj = model2 . getValueAt ( i + 2 , ii ) ) = = null ? "" : obj . toString ( ) ;
}
}
@ -455,8 +556,9 @@ public class NewProductTestForm extends AbstractRendering {
newData [ i ] [ ii ] = ( obj = model2 . getValueAt ( i + 2 , ii ) ) = = null ? "" : obj . toString ( ) ;
}
}
for ( int i = data . length + 2 ; i < table2 . getRowCount ( ) - 1 ; i + + ) {
for ( int ii = 0 ; ii < 9 ; ii + + ) {
for ( int i = data . length ; i < table2 . getRowCount ( ) - 3 ; i + + ) {
newData [ i ] [ 0 ] = realIdStr . get ( i ) ;
for ( int ii = 1 ; ii < 9 ; ii + + ) {
newData [ i ] [ ii ] = ( obj = model2 . getValueAt ( i + 2 , ii ) ) = = null ? "" : obj . toString ( ) ;
}
}
@ -465,22 +567,6 @@ public class NewProductTestForm extends AbstractRendering {
}
}
private void savePropValue ( CTable table , ModelList ml ) {
for ( ModelValue mv : ml ) {
if ( mv . isProp ( ) ) {
Object obj = table . getValueAt ( mv . getRow ( ) , mv . getCol ( ) ) ;
try {
if ( prop . containsKey ( mv . getValue ( ) ) ) {
form . setProperty ( mv . getValue ( ) , obj = = null ? "" : obj . toString ( ) ) ;
}
} catch ( TCException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
}
}
}
}
private MouseAdapter rightClick ( ) {
return new MouseAdapter ( ) {
@Override
@ -503,8 +589,13 @@ public class NewProductTestForm extends AbstractRendering {
// TODO Auto-generated method stub
int row = model2 . getRowCount ( ) - 2 ;
int num = Integer . parseInt ( model2 . getValueAt ( row , 0 ) . toString ( ) ) ;
modelList2 . findAndAddRow ( row + 1 , table2 . getColumnCount ( ) , 1 ) ;
model2 . insertRow ( model2 . getRowCount ( ) - 1 ) ;
realIdStr . add ( System . currentTimeMillis ( ) + "" ) ;
model2 . setValueAt ( num + 1 , row + 1 , 0 ) ;
for ( int i = 4 ; i < 8 ; i + + ) {
model2 . setValueAt ( "/" , row + 1 , i ) ;
}
table2 . revalidate ( ) ;
table2 . repaint ( ) ;
}
@ -518,65 +609,55 @@ public class NewProductTestForm extends AbstractRendering {
public void actionPerformed ( ActionEvent paramActionEvent ) {
// TODO Auto-generated method stub
try {
AIFComponentContext [ ] comps = form . whereReferenced ( ) ;
StringBuilder msg = new StringBuilder ( ) ;
for ( AIFComponentContext aif : comps ) {
System . out . println ( "ref type:" + aif . getComponent ( ) . getType ( ) ) ;
if ( "JD2_GTXPCSXQDRevision" . equals ( aif . getComponent ( ) . getType ( ) ) ) {
TCComponentItemRevision rev = ( TCComponentItemRevision ) aif . getComponent ( ) ;
TCComponent [ ] compArr = rev . getTCProperty ( "JD2_CSJH" ) . getReferenceValueArray ( ) ;
String exist = "" ;
for ( TCComponent t : compArr ) {
exist + = t . getProperty ( "object_name" ) ;
}
List < String [ ] > colData = new ArrayList < String [ ] > ( ) ;
String ownner = form . getTCProperty ( "owning_user" ) . getUIFValue ( ) ;
for ( int i = 0 ; i < 4 ; i + + ) {
if ( exist . contains ( jieduan [ i ] ) ) {
System . out . println ( "\"" + jieduan [ i ] + "阶段\"测试计划已创建" ) ;
msg . append ( "\"" + jieduan [ i ] + "阶段\"测试计划已创建\n" ) ;
continue ;
}
Object obj ;
Object temp ;
int rowNum = 0 ;
for ( int ii = 2 ; ii < table2 . getRowCount ( ) - 1 ; ii + + ) {
obj = table2 . getValueAt ( ii , i + 4 ) ;
if ( obj ! = null & & ! "/" . equals ( obj . toString ( ) . trim ( ) ) ) {
// colNames2 = { "jd2_no", "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syfy",
// "jd2_sycs" };
String [ ] row = new String [ 6 ] ;
row [ 0 ] = rowNum + "" ;
row [ 1 ] = ownner ;
row [ 2 ] = ( temp = table2 . getValueAt ( ii , 2 ) ) = = null ? "" : temp . toString ( ) ;
row [ 3 ] = obj . toString ( ) . trim ( ) ;
row [ 4 ] = ( temp = table2 . getValueAt ( ii , 3 ) ) = = null ? "0"
: temp . toString ( ) . trim ( ) ;
row [ 5 ] = "1" ;
System . out . println ( Arrays . toString ( row ) ) ;
colData . add ( row ) ;
rowNum + + ;
}
}
if ( colData . size ( ) ! = 0 ) {
TCComponentItemType type = ( TCComponentItemType ) session
. getTypeComponent ( "JD2_GTXPXMCSJH" ) ;
TCComponentItem item = type . create ( null , null , "JD2_GTXPXMCSJH" ,
jieduan [ i ] + "阶段测试计划" , "" , null ) ;
rev . add ( "JD2_CSJH" , item ) ;
TCComponentItemRevision rev1 = item . getLatestItemRevision ( ) ;
TCComponentForm form1 = ( TCComponentForm ) rev1
. getRelatedComponents ( "IMAN_master_form_rev" ) [ 0 ] ;
String [ ] [ ] dataArr = colData . toArray ( new String [ colData . size ( ) ] [ 6 ] ) ;
System . out . println ( Arrays . deepToString ( dataArr ) ) ;
TCTableUtil . setTableRows ( form1 , "jd2_csjhtable" , "JD2_CSJHTABLE" , colNames2 ,
dataArr ) ;
msg . append ( "\"" + jieduan [ i ] + "阶段\"测试计划创建成功\n" ) ;
}
colData . clear ( ) ;
TCComponentItemRevision rev = ( TCComponentItemRevision ) form . whereReferenced ( ) [ 0 ] . getComponent ( ) ;
TCComponent [ ] comps = rev . getRelatedComponents ( "JD2_CSJH" ) ;
String exist = "" ;
for ( TCComponent t : comps ) {
exist + = t . getProperty ( "object_name" ) ;
}
List < String [ ] > colData = new ArrayList < String [ ] > ( ) ;
String ownner = form . getTCProperty ( "owning_user" ) . getUIFValue ( ) ;
for ( int i = 0 ; i < 4 ; i + + ) {
if ( exist . contains ( jieduan [ i ] ) ) {
System . out . println ( "\"" + jieduan [ i ] + "阶段\"测试计划已创建" ) ;
msg . append ( "\"" + jieduan [ i ] + "阶段\"测试计划已创建\n" ) ;
continue ;
}
Object obj ;
Object temp ;
for ( int ii = 2 ; ii < table2 . getRowCount ( ) - 1 ; ii + + ) {
obj = table2 . getValueAt ( ii , i + 4 ) ;
if ( obj ! = null & & ! "/" . equals ( obj . toString ( ) . trim ( ) ) ) {
// colNames2 = { "jd2_no", "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syfy",
// "jd2_sycs" };
String [ ] row = new String [ 6 ] ;
row [ 0 ] = realIdStr . get ( ii - 2 ) ;
row [ 1 ] = ownner ;
row [ 2 ] = ( temp = table2 . getValueAt ( ii , 2 ) ) = = null ? "" : temp . toString ( ) ;
row [ 3 ] = obj . toString ( ) . trim ( ) ;
row [ 4 ] = ( temp = table2 . getValueAt ( ii , 3 ) ) = = null ? "0" : temp . toString ( ) . trim ( ) ;
row [ 5 ] = "1" ;
System . out . println ( Arrays . toString ( row ) ) ;
colData . add ( row ) ;
}
}
if ( colData . size ( ) ! = 0 ) {
TCComponentItemType type = ( TCComponentItemType ) session . getTypeComponent ( "JD2_GTXPXMCSJH" ) ;
TCComponentItem item = type . create ( null , null , "JD2_GTXPXMCSJH" , jieduan [ i ] + "阶段测试计划" , "" ,
null ) ;
rev . add ( "JD2_CSJH" , item ) ;
TCComponentItemRevision rev1 = item . getLatestItemRevision ( ) ;
TCComponentForm form1 = ( TCComponentForm ) rev1
. getRelatedComponents ( "IMAN_master_form_rev" ) [ 0 ] ;
String [ ] [ ] dataArr = colData . toArray ( new String [ colData . size ( ) ] [ 6 ] ) ;
System . out . println ( Arrays . deepToString ( dataArr ) ) ;
TCTableUtil . setTableRows ( form1 , "jd2_csjhtable" , "JD2_CSJHTABLE" , colNames2 , dataArr ) ;
msg . append ( "\"" + jieduan [ i ] + "阶段\"测试计划创建成功\n" ) ;
}
colData . clear ( ) ;
}
MessageBox . post ( msg . toString ( ) , "提示" , MessageBox . WARNING ) ;
} catch ( TCException e ) {
// TODO Auto-generated catch block
@ -592,11 +673,98 @@ public class NewProductTestForm extends AbstractRendering {
return form . isCheckedOut ( ) ;
}
// String[] textArr1 = { "项目信息:", "立项时间:", "基本型号:", "测试型号:", "产品型号:", "项目资料:", "产品经理:", "产品变更点:", "品质经理:", "开发日程:",
// "开发等级:", "开发阶段:" };
// String[] propArr = { "jd2_xmxx", "jd2_lxsj", "jd2_jbxh", "jd2_csxh", "jd2_cpxh", "jd2_xmzl", "jd2_cpjl",
// "jd2_cpbgd", "jd2_pzjl", "jd2_kfrc", "jd2_kfdj", "jd2_kfjd" };
private void initModel ( CTMap model , ModelList modelList ) {
try {
TCComponentItemRevision rev = ( TCComponentItemRevision ) form . whereReferenced ( ) [ 0 ] . getComponent ( ) ;
AIFComponentContext [ ] aifs = rev . whereReferenced ( ) ;
for ( AIFComponentContext aif : aifs ) {
if ( aif . getComponent ( ) instanceof TCComponentProject ) {
project = ( TCComponentProject ) aif . getComponent ( ) ;
break ;
}
}
} catch ( TCException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
}
for ( ModelValue mv : modelList ) {
if ( mv . isProp ( ) ) {
if ( prop . containsKey ( mv . getValue ( ) ) ) {
model . setValueAt ( prop . get ( mv . getValue ( ) ) , mv . getRow ( ) , mv . getCol ( ) ) ;
if ( modelList = = modelList1 & & project ! = null ) {
// 属性映射
try {
switch ( mv . getValue ( ) ) {
case "jd2_lxsj" :
model . setValueAt ( project . getProperty ( "creation_date" ) , mv . getRow ( ) , mv . getCol ( ) ) ;
break ;
case "jd2_xmxx" :
model . setValueAt ( project . getProjectID ( ) , mv . getRow ( ) , mv . getCol ( ) ) ;
break ;
case "jd2_jbxh" :
model . setValueAt ( project . getProperty ( "jd2_cpxh" ) , mv . getRow ( ) , mv . getCol ( ) ) ;
break ;
case "jd2_kfdj" :
model . setValueAt ( project . getProperty ( "jd2_xmdj" ) , mv . getRow ( ) , mv . getCol ( ) ) ;
break ;
case "jd2_kfjd" :
String str = form . getProperty ( "jd2_kfjd" ) ;
JCheckPanel checkPanel = new JCheckPanel ( jieduan , false ) ;
checkPanel . setSelected ( str ) ;
model . setValueAt ( checkPanel , mv . getRow ( ) , mv . getCol ( ) ) ;
table1 . getColumnModel ( ) . getColumn ( mv . getCol ( ) )
. setCellEditor ( new MyCellEditor3 ( new JTextField ( ) ) ) ;
break ;
case "jd2_cpbgd" :
TCComponent [ ] cpbgd = project . getRelatedComponents ( "jd2_cpbgd" ) ; // 不知道是什么属性
if ( cpbgd . length > 0 ) {
String displayValue = "" ;
for ( TCComponent comp : cpbgd ) {
displayValue + = comp . toString ( ) + ";" ;
}
model . setValueAt ( displayValue , mv . getRow ( ) , mv . getCol ( ) ) ;
table1 . addMouseListener ( openCPBGD ( cpbgd , mv ) ) ;
}
break ;
case "jd2_kfrc" :
TCComponent [ ] kfrc = project . getRelatedComponents ( "jd2_kfrc" ) ;
if ( kfrc . length > 0 ) {
TCComponentSchedule schedule = ( TCComponentSchedule ) kfrc [ 0 ] ;
TCComponent [ ] tasks = schedule . getAllTasks ( ) ;
String startTime = "" ;
String endTime = "" ;
for ( TCComponent task : tasks ) {
if ( "立项申请" . equals ( task . getProperty ( "object_name" ) ) ) {
startTime = task . getProperty ( "" ) ;
}
if ( "小批量产评审PRA" . equals ( task . getProperty ( "object_name" ) ) ) {
endTime = task . getProperty ( "" ) ;
}
}
if ( ! "" . equals ( startTime ) | | ! "" . equals ( endTime ) ) {
model . setValueAt ( startTime + "-" + endTime , mv . getRow ( ) , mv . getCol ( ) ) ;
}
}
break ;
default :
if ( "" . equals ( prop . get ( mv . getValue ( ) ) ) ) {
model . setValueAt ( "/" , mv . getRow ( ) , mv . getCol ( ) ) ;
} else {
model . setValueAt ( prop . get ( mv . getValue ( ) ) , mv . getRow ( ) , mv . getCol ( ) ) ;
}
}
} catch ( TCException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
}
} else {
model . setValueAt ( prop . get ( mv . getValue ( ) ) , mv . getRow ( ) , mv . getCol ( ) ) ;
}
} else {
System . out . println ( "属性‘" + mv . getValue ( ) + "’不存在" ) ;
}
@ -607,14 +775,67 @@ public class NewProductTestForm extends AbstractRendering {
model . combine ( mv . getCombineRows ( ) , mv . getCombineColumns ( ) ) ;
}
}
}
private void saveModel ( ModelList modelList ) {
private MouseAdapter openCPBGD ( TCComponent [ ] cpbgd , ModelValue mv ) {
return new MouseAdapter ( ) {
@Override
public void mouseClicked ( MouseEvent e ) {
if ( e . getClickCount ( ) = = 2 & & table1 . getSelectedRow ( ) = = mv . getRow ( )
& & table1 . getSelectedColumn ( ) = = mv . getCol ( ) ) {
try {
if ( cpbgd . length > 1 ) {
List < String [ ] > data = new ArrayList < String [ ] > ( ) ;
for ( TCComponent comp : cpbgd ) {
data . add ( new String [ ] { data . size ( ) + 1 + "" , comp . toString ( ) } ) ;
}
DialogUtil . TableMsg msg = DialogUtil . createTableMsg ( new String [ ] { "序号" , "名称" } , data ) ;
int res = JOptionPane . showConfirmDialog ( $this , msg . panel , "选择" , JOptionPane . PLAIN_MESSAGE ) ;
if ( res = = JOptionPane . OK_OPTION ) {
if ( msg . table . getSelectedRow ( ) > 0 ) {
TCComponentItem item = ( TCComponentItem ) cpbgd [ msg . table . getSelectedRow ( ) ] ;
TCComponent [ ] tccitem = item . getLatestItemRevision ( )
. getTCProperty ( "IMAN_specification" ) . getReferenceValueArray ( ) ;
TCComponentDataset dataset = ( TCComponentDataset ) tccitem [ 0 ] ;
dataset . open ( ) ;
}
}
} else {
TCComponentItem item = ( TCComponentItem ) cpbgd [ 0 ] ;
TCComponent [ ] tccitem = item . getLatestItemRevision ( ) . getTCProperty ( "IMAN_specification" )
. getReferenceValueArray ( ) ;
TCComponentDataset dataset = ( TCComponentDataset ) tccitem [ 0 ] ;
dataset . open ( ) ;
}
} catch ( Exception e1 ) {
e1 . printStackTrace ( ) ;
}
}
}
} ;
}
private void saveModel ( JTable table , ModelList modelList ) {
Object obj ;
for ( ModelValue mv : modelList ) {
if ( mv . isProp ( ) ) {
if ( prop . containsKey ( mv . getValue ( ) ) ) {
obj = table2 . getValueAt ( mv . getRow ( ) , mv . getCol ( ) ) ;
obj = table . getValueAt ( mv . getRow ( ) , mv . getCol ( ) ) ;
if ( modelList = = modelList1 & & project ! = null ) {
if ( "jd2_kfjd" . equals ( mv . getValue ( ) ) ) {
obj = table . getValueAt ( mv . getRow ( ) , mv . getCol ( ) ) ;
if ( obj ! = null ) {
String selectedText = ( ( JCheckPanel ) obj ) . getSelectedText ( ) ;
try {
form . setProperty ( mv . getValue ( ) , selectedText ) ;
} catch ( TCException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
}
}
}
}
try {
form . setProperty ( mv . getValue ( ) , obj = = null ? "" : obj . toString ( ) ) ;
} catch ( TCException e ) {
@ -628,4 +849,82 @@ public class NewProductTestForm extends AbstractRendering {
}
} ;
private ActionListener update ( String jieduanStr ) {
return new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent paramActionEvent ) {
// TODO Auto-generated method stub
try {
TCComponentItemRevision rev = ( TCComponentItemRevision ) form . whereReferenced ( ) [ 0 ] . getComponent ( ) ;
TCComponent [ ] comps = rev . getRelatedComponents ( "JD2_CSJH" ) ;
TCComponentItem item = null ;
for ( TCComponent comp : comps ) {
System . out . println ( comp . getProperty ( "object_string" ) ) ;
if ( comp . getProperty ( "object_string" ) . contains ( jieduanStr ) ) {
item = ( TCComponentItem ) comp ;
break ;
}
}
if ( item = = null ) {
MessageBox . post ( "\"" + jieduanStr + "阶段\"测试计划未创建,请先创建" , "提示" , MessageBox . WARNING ) ;
return ;
}
TCComponentItemRevision rev1 = item . getLatestItemRevision ( ) ;
TCComponentForm form1 = ( TCComponentForm ) rev1 . getRelatedComponents ( "IMAN_master_form_rev" ) [ 0 ] ;
List < Map < String , String > > tableRows = TCTableUtil . getTableMapList ( form1 , "jd2_csjhtable" ,
colNames3 ) ;
List < String > realNo = new ArrayList < String > ( ) ;
for ( Map < String , String > map : tableRows ) {
realNo . add ( map . get ( "jd2_no" ) ) ;
}
String ownner = form . getTCProperty ( "owning_user" ) . getUIFValue ( ) ;
Object obj , temp ;
List < String > jieduanList = Arrays . asList ( jieduan ) ;
for ( int i = 2 ; i < table2 . getRowCount ( ) - 1 ; i + + ) {
obj = table2 . getValueAt ( i , jieduanList . indexOf ( jieduanStr ) + 4 ) ;
if ( obj ! = null & & ! "/" . equals ( obj . toString ( ) . trim ( ) ) ) {
// colNames2 = { "jd2_no", "jd2_wtry", "jd2_syxm", "jd2_syts", "jd2_syfy",
// "jd2_sycs" };
Map < String , String > tempMap ;
if ( realNo . contains ( realIdStr . get ( i - 2 ) ) ) {
int index = realNo . indexOf ( realIdStr . get ( i - 2 ) ) ;
for ( int ii = index ; ii < realNo . size ( ) ; ii + + ) { // 再次试验会出现重复realNo
if ( realNo . get ( ii ) . equals ( realIdStr . get ( i - 2 ) ) ) {
tempMap = tableRows . get ( ii ) ;
tempMap . put ( "jd2_syxm" ,
( temp = table2 . getValueAt ( i , 2 ) ) = = null ? "" : temp . toString ( ) ) ;
tempMap . put ( "jd2_syts" , obj . toString ( ) . trim ( ) ) ;
tempMap . put ( "jd2_syfy" ,
( temp = table2 . getValueAt ( i , 3 ) ) = = null ? "" : temp . toString ( ) ) ;
tableRows . set ( ii , tempMap ) ;
}
}
} else {
tempMap = new HashMap < String , String > ( ) ;
tempMap . put ( "jd2_no" , realIdStr . get ( i - 2 ) ) ;
tempMap . put ( "jd2_wtry" , ownner ) ;
tempMap . put ( "jd2_syxm" ,
( temp = table2 . getValueAt ( i , 2 ) ) = = null ? "" : temp . toString ( ) ) ;
tempMap . put ( "jd2_syts" , obj . toString ( ) . trim ( ) ) ;
tempMap . put ( "jd2_syfy" ,
( temp = table2 . getValueAt ( i , 3 ) ) = = null ? "0" : temp . toString ( ) . trim ( ) ) ;
tempMap . put ( "jd2_sycs" , "1" ) ;
tableRows . add ( tempMap ) ;
}
}
}
TCTableUtil . setTableMapList ( form1 , "jd2_csjhtable" , "JD2_CSJHTABLE" , tableRows ) ;
MessageBox . post ( "更新成功" , "提示" , MessageBox . WARNING ) ;
} catch ( TCException e ) {
// TODO Auto-generated catch block
e . printStackTrace ( ) ;
}
}
} ;
}
}