@ -1,23 +1,32 @@
package com.chint.plm.SearchSapResult ;
package com.chint.plm.SearchSapResult ;
import java.awt.Component ;
import java.awt.Window ;
import java.awt.Window ;
import java.awt.event.ComponentEvent ;
import java.awt.event.ComponentListener ;
import java.sql.ResultSet ;
import java.sql.ResultSet ;
import java.time.LocalDateTime ;
import java.time.LocalDateTime ;
import java.time.format.DateTimeFormatter ;
import java.time.format.DateTimeFormatter ;
import java.util.ArrayList ;
import java.util.ArrayList ;
import java.util.List ;
import java.util.List ;
import javax.swing.JFrame ;
import org.casic.javafx.control.DateTimePicker ;
import org.casic.javafx.control.DateTimePicker ;
import com.chint.plm.createEcn.CreateEcnFrame ;
import com.chint.plm.fxUtil.KFXPanel ;
import com.chint.plm.fxUtil.KFXPanel ;
import com.chint.plm.fxUtil.KFXPanelController ;
import com.chint.plm.fxUtil.KFXPanelController ;
import com.connor.chint.sap2.util.ChintPreferenceUtil ;
import com.connor.chint.sap2.util.ChintPreferenceUtil ;
import com.connor.chint.sap2.util.SAPUtil ;
import com.connor.chint.sap2.util.SqlUtil ;
import com.connor.chint.sap2.util.SqlUtil ;
import com.connor.plm.CostListManagement.pojo.QuotationMX ;
import com.teamcenter.rac.aif.AbstractAIFApplication ;
import com.teamcenter.rac.aif.AbstractAIFApplication ;
import com.teamcenter.rac.aifrcp.AIFUtility ;
import com.teamcenter.rac.aifrcp.AIFUtility ;
import com.teamcenter.rac.kernel.TCSession ;
import com.teamcenter.rac.kernel.TCSession ;
import com.teamcenter.rac.util.MessageBox ;
import com.teamcenter.rac.util.MessageBox ;
import edu.emory.mathcs.backport.java.util.Arrays ;
import javafx.beans.property.ObjectProperty ;
import javafx.beans.property.ObjectProperty ;
import javafx.beans.property.SimpleIntegerProperty ;
import javafx.beans.property.SimpleIntegerProperty ;
import javafx.beans.property.SimpleStringProperty ;
import javafx.beans.property.SimpleStringProperty ;
@ -25,21 +34,24 @@ import javafx.collections.FXCollections;
import javafx.collections.ObservableList ;
import javafx.collections.ObservableList ;
import javafx.event.ActionEvent ;
import javafx.event.ActionEvent ;
import javafx.fxml.FXML ;
import javafx.fxml.FXML ;
import javafx.geometry.Pos ;
import javafx.scene.control.Button ;
import javafx.scene.control.Button ;
import javafx.scene.control.CheckBox ;
import javafx.scene.control.CheckBox ;
import javafx.scene.control.ComboBox ;
import javafx.scene.control.ComboBox ;
import javafx.scene.control.ScrollPane ;
import javafx.scene.control.SingleSelectionModel ;
import javafx.scene.control.SingleSelectionModel ;
import javafx.scene.control.TableCell ;
import javafx.scene.control.TableColumn ;
import javafx.scene.control.TableColumn ;
import javafx.scene.control.TableView ;
import javafx.scene.control.TableView ;
import javafx.scene.control.TextField ;
import javafx.scene.control.TextField ;
import javafx.scene.control.TitledPane ;
import javafx.scene.control.TitledPane ;
import javafx.scene.control.cell.PropertyValueFactory ;
import javafx.scene.control.cell.PropertyValueFactory ;
import javafx.scene.layout.BorderPane ;
import javafx.scene.layout.GridPane ;
import javafx.scene.layout.GridPane ;
import javafx.scene.layout.StackPane ;
import javafx.scene.layout.StackPane ;
public class SearchSapController extends KFXPanelController {
public class SearchSapController extends KFXPanelController {
@FXML
@FXML
private TitledPane tp_result ;
private TitledPane tp_result ;
@ -49,8 +61,6 @@ public class SearchSapController extends KFXPanelController {
@FXML
@FXML
private TitledPane mxtjPane ;
private TitledPane mxtjPane ;
@FXML
@FXML
private GridPane bt_cx ; // 按钮的pane
private GridPane bt_cx ; // 按钮的pane
@FXML
@FXML
@ -61,8 +71,6 @@ public class SearchSapController extends KFXPanelController {
@FXML
@FXML
private StackPane stackPane ;
private StackPane stackPane ;
// table的列
// table的列
@FXML
@FXML
private TableColumn < SumTableBean , String > tc_xh ;
private TableColumn < SumTableBean , String > tc_xh ;
@ -133,11 +141,13 @@ public class SearchSapController extends KFXPanelController {
private Button bt_search ;
private Button bt_search ;
@FXML
@FXML
private TableView < SumTableBean > tableView ;
private TableView < SumTableBean > tableView ;
// 全部关闭
// 全部关闭
@FXML
@FXML
void clossAll ( ActionEvent event ) {
void clossAll ( ActionEvent event ) {
frame . dispose ( ) ;
frame . dispose ( ) ;
}
}
String getCombText ( Object comb ) {
String getCombText ( Object comb ) {
String textVal = "" ;
String textVal = "" ;
if ( comb instanceof TextField ) {
if ( comb instanceof TextField ) {
@ -152,13 +162,16 @@ public class SearchSapController extends KFXPanelController {
}
}
return textVal ;
return textVal ;
}
}
private int pageNum ; // 分页显示当前第几页
private int pageNum ; // 分页显示当前第几页
private List < List < SumTableBean > > tableBeans = new ArrayList < List < SumTableBean > > ( ) ;
private List < List < SumTableBean > > tableBeans = new ArrayList < List < SumTableBean > > ( ) ;
// 查询操作
// 查询操作
@FXML
@FXML
void searchAction ( ActionEvent event ) {
void searchAction ( ActionEvent event ) {
// 拼接查询语句
// 拼接查询语句
StringBuilder sql = new StringBuilder ( "select \"CODE\",\"USER\",STARTTIME,\"NUMBER\",SAPRESULT,DATASTATUS,PLMRESULT,LOGURL from CHINT_BOM_TO_SAP_SUM where 1=1" ) ;
StringBuilder sql = new StringBuilder (
"select \"CODE\",\"USER\",STARTTIME,\"NUMBER\",SAPRESULT,DATASTATUS,PLMRESULT,LOGURL from CHINT_BOM_TO_SAP_SUM where 1=1" ) ;
String code = getCombText ( tx_bh ) ;
String code = getCombText ( tx_bh ) ;
if ( ! code . isEmpty ( ) ) {
if ( ! code . isEmpty ( ) ) {
sql . append ( " and \"CODE\" = '" ) . append ( code ) . append ( "'" ) ;
sql . append ( " and \"CODE\" = '" ) . append ( code ) . append ( "'" ) ;
@ -188,6 +201,9 @@ public class SearchSapController extends KFXPanelController {
if ( ! projectno . isEmpty ( ) ) {
if ( ! projectno . isEmpty ( ) ) {
sql . append ( " and projectno = '" ) . append ( projectno ) . append ( "'" ) ;
sql . append ( " and projectno = '" ) . append ( projectno ) . append ( "'" ) ;
}
}
if ( bt_errTask . isSelected ( ) ) {
sql . append ( " and SAPRESULT = '部分失败' " ) ;
}
ObjectProperty < LocalDateTime > dateTimeProperty = dateTimeStart . dateTimeProperty ( ) ;
ObjectProperty < LocalDateTime > dateTimeProperty = dateTimeStart . dateTimeProperty ( ) ;
if ( dateTimeProperty ! = null & & dateTimeProperty . get ( ) ! = null ) {
if ( dateTimeProperty ! = null & & dateTimeProperty . get ( ) ! = null ) {
String startTime = dateTimeProperty . get ( ) . format ( DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ) ;
String startTime = dateTimeProperty . get ( ) . format ( DateTimeFormatter . ofPattern ( "yyyy-MM-dd HH:mm:ss" ) ) ;
@ -200,6 +216,7 @@ public class SearchSapController extends KFXPanelController {
sql . append ( " and starttime <= to_date('" ) . append ( endTime ) . append ( "','yyyy-mm-ddhh24:mi:ss') " ) ; // to_date(?,'yyyy-mm-ddhh24:mi:ss')
sql . append ( " and starttime <= to_date('" ) . append ( endTime ) . append ( "','yyyy-mm-ddhh24:mi:ss') " ) ; // to_date(?,'yyyy-mm-ddhh24:mi:ss')
System . out . println ( "endTime==>" + endTime ) ;
System . out . println ( "endTime==>" + endTime ) ;
}
}
// 拼接DETAILS表的SQL信息
// 拼接DETAILS表的SQL信息
StringBuilder detailSql = new StringBuilder ( "" ) ;
StringBuilder detailSql = new StringBuilder ( "" ) ;
String batchNum = getCombText ( tx_batchNum ) ;
String batchNum = getCombText ( tx_batchNum ) ;
@ -231,6 +248,7 @@ public class SearchSapController extends KFXPanelController {
String [ ] prefs = ChintPreferenceUtil . getPreferences ( "database_tc" , session ) ;
String [ ] prefs = ChintPreferenceUtil . getPreferences ( "database_tc" , session ) ;
SqlUtil . getTCDataConnection ( prefs ) ;
SqlUtil . getTCDataConnection ( prefs ) ;
try {
try {
tableBeans . clear ( ) ;
sql . append ( " order by \"CODE\" asc " ) ;
sql . append ( " order by \"CODE\" asc " ) ;
System . out . println ( "read==>" + sql ) ;
System . out . println ( "read==>" + sql ) ;
ResultSet read = SqlUtil . read ( sql . toString ( ) ) ;
ResultSet read = SqlUtil . read ( sql . toString ( ) ) ;
@ -240,8 +258,9 @@ public class SearchSapController extends KFXPanelController {
// 分页 20 查询结果放入表格
// 分页 20 查询结果放入表格
System . out . println ( "read==>" + read . getInt ( 4 ) ) ;
System . out . println ( "read==>" + read . getInt ( 4 ) ) ;
SumTableBean sumBean = new SumTableBean ( new SimpleIntegerProperty ( i ) ,
SumTableBean sumBean = new SumTableBean ( new SimpleIntegerProperty ( i ) ,
new SimpleStringProperty ( String . valueOf ( read . getInt ( 1 ) ) ) , new SimpleStringProperty ( read . getString ( 2 ) ) ,
new SimpleStringProperty ( String . valueOf ( read . getInt ( 1 ) ) ) ,
new SimpleStringProperty ( read . getString ( 3 ) ) , new SimpleStringProperty ( String . valueOf ( read . getInt ( 4 ) ) ) ,
new SimpleStringProperty ( read . getString ( 2 ) ) , new SimpleStringProperty ( read . getString ( 3 ) ) ,
new SimpleStringProperty ( String . valueOf ( read . getInt ( 4 ) ) ) ,
new SimpleStringProperty ( read . getString ( 5 ) ) , new SimpleStringProperty ( read . getString ( 6 ) ) ,
new SimpleStringProperty ( read . getString ( 5 ) ) , new SimpleStringProperty ( read . getString ( 6 ) ) ,
new SimpleStringProperty ( read . getString ( 7 ) ) , bt_errMsg . isSelected ( ) , detailSql , prefs , code ,
new SimpleStringProperty ( read . getString ( 7 ) ) , bt_errMsg . isSelected ( ) , detailSql , prefs , code ,
read . getString ( 8 ) ) ;
read . getString ( 8 ) ) ;
@ -269,17 +288,28 @@ public class SearchSapController extends KFXPanelController {
}
}
// if(bt_errMsg)
// if(bt_errMsg)
}
}
@FXML
private ScrollPane scrollPane ;
@FXML
private BorderPane resultBorder ;
@FXML
private BorderPane topBorder ;
private SapResultFrame frame ;
private SapResultFrame frame ;
private DateTimePicker dateTimeStart ;
private DateTimePicker dateTimeStart ;
private DateTimePicker dateTimeEnd ;
private DateTimePicker dateTimeEnd ;
protected AbstractAIFApplication app ;
protected AbstractAIFApplication app ;
private TCSession session ;
private TCSession session ;
@Override
@Override
public void initData ( KFXPanel paramKFXPanel ) throws Exception {
public void initData ( KFXPanel paramKFXPanel ) throws Exception {
// TODO Auto-generated method stub
// TODO Auto-generated method stub
frame = ( SapResultFrame ) paramKFXPanel . getParentDialog ( ) ;
frame = ( SapResultFrame ) paramKFXPanel . getParentDialog ( ) ;
addWindListener ( frame ) ;
frame . setExtendedState ( JFrame . MAXIMIZED_BOTH ) ;
System . out . println ( "frame==>" + frame ) ;
this . app = AIFUtility . getCurrentApplication ( ) ;
this . app = AIFUtility . getCurrentApplication ( ) ;
this . session = ( TCSession ) app . getSession ( ) ;
this . session = ( TCSession ) app . getSession ( ) ;
dateTimeStart = new DateTimePicker ( ) ;
dateTimeStart = new DateTimePicker ( ) ;
@ -311,11 +341,49 @@ public class SearchSapController extends KFXPanelController {
tc_plm . setCellValueFactory ( new PropertyValueFactory < SumTableBean , String > ( "plmResult" ) ) ;
tc_plm . setCellValueFactory ( new PropertyValueFactory < SumTableBean , String > ( "plmResult" ) ) ;
tc_result . setCellValueFactory ( new PropertyValueFactory < SumTableBean , Object > ( "details" ) ) ;
tc_result . setCellValueFactory ( new PropertyValueFactory < SumTableBean , Object > ( "details" ) ) ;
tc_xh . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.05 ) ) ;
tc_zrws . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.08 ) ) ;
tc_rwh . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.12 ) ) ;
tc_fqsj . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.1 ) ) ;
tc_fqr . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.1 ) ) ;
tc_status . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.15 ) ) ;
tc_log . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.1 ) ) ;
tc_sapState . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.1 ) ) ;
tc_plm . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.1 ) ) ;
tc_result . prefWidthProperty ( ) . bind ( tableView . widthProperty ( ) . multiply ( 0.1 ) ) ;
tp_result . setCollapsible ( false ) ;
tp_result . setCollapsible ( false ) ;
mxtjPane . setCollapsible ( false ) ;
mxtjPane . setCollapsible ( false ) ;
tp_sxtj . setCollapsible ( false ) ;
tp_sxtj . setCollapsible ( false ) ;
rwtjPane . setCollapsible ( false ) ;
rwtjPane . setCollapsible ( false ) ;
tc_sapState . setCellFactory ( column - > {
return new TableCell < SumTableBean , String > ( ) {
@Override
protected void updateItem ( String item , boolean empty ) {
super . updateItem ( item , empty ) ;
if ( item ! = null & & ! empty & & ! item . isEmpty ( ) ) {
// double contrastPrice = Double.parseDouble(item);
if ( item . equals ( "未返回" ) ) {
// 不做格式
setStyle ( "-fx-background-color: #ffff99;" ) ;
} else if ( item . equals ( "部分失败" ) ) {
setStyle ( "-fx-background-color: #FF6600;" ) ;
} else {
setStyle ( "-fx-background-color: #A9D08E;" ) ;
}
setText ( getItem ( ) ) ;
setAlignment ( Pos . CENTER ) ; // 设置单元格内容居中对齐
} else {
setStyle ( "" ) ;
setText ( empty ? null : getItem ( ) ) ;
setAlignment ( Pos . CENTER ) ; // 设置单元格内容居中对齐
}
}
} ;
} ) ;
// tableView.setMaxHeight(pageNum);
// tableView.setMaxHeight(pageNum);
}
}
@ -343,7 +411,6 @@ public class SearchSapController extends KFXPanelController {
tx_sapStatus . getItems ( ) . addAll ( sapStatusList ) ;
tx_sapStatus . getItems ( ) . addAll ( sapStatusList ) ;
}
}
// 跳转首页
// 跳转首页
@FXML
@FXML
void firstBtnAction ( ActionEvent event ) {
void firstBtnAction ( ActionEvent event ) {
@ -352,6 +419,7 @@ public class SearchSapController extends KFXPanelController {
tableView . getItems ( ) . clear ( ) ;
tableView . getItems ( ) . clear ( ) ;
tableView . setItems ( data ) ;
tableView . setItems ( data ) ;
}
}
// 跳转上一页
// 跳转上一页
@FXML
@FXML
void lastBtnAction ( ActionEvent event ) {
void lastBtnAction ( ActionEvent event ) {
@ -362,6 +430,7 @@ public class SearchSapController extends KFXPanelController {
tableView . getItems ( ) . clear ( ) ;
tableView . getItems ( ) . clear ( ) ;
tableView . setItems ( data ) ;
tableView . setItems ( data ) ;
}
}
// 跳转下一页
// 跳转下一页
@FXML
@FXML
void nextBtnAction ( ActionEvent event ) {
void nextBtnAction ( ActionEvent event ) {
@ -372,6 +441,7 @@ public class SearchSapController extends KFXPanelController {
tableView . getItems ( ) . clear ( ) ;
tableView . getItems ( ) . clear ( ) ;
tableView . setItems ( data ) ;
tableView . setItems ( data ) ;
}
}
// 跳转尾页
// 跳转尾页
@FXML
@FXML
void tailBtnAction ( ActionEvent event ) {
void tailBtnAction ( ActionEvent event ) {
@ -381,4 +451,76 @@ public class SearchSapController extends KFXPanelController {
tableView . setItems ( data ) ;
tableView . setItems ( data ) ;
}
}
/ * *
* @param frame
* @function 添 加 页 面 的 监 听
* /
private void addWindListener ( SapResultFrame frame ) {
// TODO Auto-generated method stub
frame . addComponentListener ( new ComponentListener ( ) {
@Override
public void componentShown ( ComponentEvent e ) {
// TODO Auto-generated method stub
}
@Override
public void componentResized ( ComponentEvent e ) {
// TODO Auto-generated method stub
// System.out.println("==============");
Component component = e . getComponent ( ) ;
System . out . println ( "component==>" + component ) ;
double width = component . getSize ( ) . getWidth ( ) ;
// // double width = primaryStage.getWidth();
System . out . println ( "width==>" + width ) ;
scrollPane . setPrefWidth ( width * 0.98 ) ;
topBorder . setPrefWidth ( width * 0.98 ) ;
tp_sxtj . setPrefWidth ( width * 0.98 ) ;
resultBorder . setPrefWidth ( width * 0.98 ) ;
gridPane . setPrefWidth ( width * 0.98 ) ;
tableView . setPrefWidth ( width * 0.97 ) ;
// refTable.setPrefWidth(width * 0.97);
}
@Override
public void componentMoved ( ComponentEvent e ) {
// TODO Auto-generated method stub
}
@Override
public void componentHidden ( ComponentEvent e ) {
// TODO Auto-generated method stub
}
} ) ;
}
@FXML
void resetClick ( ActionEvent event ) {
tx_bh . setText ( "" ) ;
cb_sapState . getSelectionModel ( ) . clearSelection ( ) ;
cb_factory . getSelectionModel ( ) . clearSelection ( ) ;
tx_user . setText ( "" ) ;
tx_wbs . setText ( "" ) ;
tx_projectName . setText ( "" ) ;
tx_pcode . setText ( "" ) ;
tx_wbsMx . setText ( "" ) ;
tx_batchNum . setText ( "" ) ;
tx_sapReturn . setText ( "" ) ;
cb_status . getSelectionModel ( ) . clearSelection ( ) ;
tx_sapStatus . getSelectionModel ( ) . clearSelection ( ) ;
bt_errTask . setSelected ( false ) ;
bt_errMsg . setSelected ( false ) ;
dateTimeStart . clearTimeProperty ( ) ;
dateTimeEnd . clearTimeProperty ( ) ;
}
@FXML
void closeClick ( ActionEvent event ) {
frame . dispose ( ) ;
}
}
}