Compare commits

..

1 Commits
main ... ldy

Author SHA1 Message Date
李冬阳 6451df480e 1、创建编辑更改通知单增加空值处理逻辑
6 months ago

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>chint_wuhan</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

@ -48,6 +48,7 @@ Require-Bundle: org.eclipse.ui,
com.teamcenter.rac.util;bundle-version="11000.2.0", com.teamcenter.rac.util;bundle-version="11000.2.0",
org.eclipse.osgi.services;bundle-version="3.3.100", org.eclipse.osgi.services;bundle-version="3.3.100",
TcSoaCaeRac;bundle-version="11000.2.0", TcSoaCaeRac;bundle-version="11000.2.0",
com.teamcenter.rac.project;bundle-version="11000.2.0",
org.apache.poi.39;bundle-version="3.9.0" org.apache.poi.39;bundle-version="3.9.0"
Automatic-Module-Name: com.connor.chint.yunpi Automatic-Module-Name: com.connor.chint.yunpi
Bundle-RequiredExecutionEnvironment: JavaSE-1.8, Bundle-RequiredExecutionEnvironment: JavaSE-1.8,

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import tornadofx.control.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.SearchSapResult.DetailsController">
<children>
<GridPane fx:id="girdPane">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="100.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<FlowPane fx:id="flowPane" alignment="TOP_CENTER" prefHeight="200.0" prefWidth="200.0" style="-fx-padding: 5;">
<children>
<CheckBox fx:id="cb_errBtn" mnemonicParsing="false" text="仅显示错误数据" />
</children>
</FlowPane>
<ScrollPane fx:id="scrollPane" prefHeight="1200.0" prefWidth="1200.0" style="-fx-padding: 5;" GridPane.rowIndex="1">
<content>
<TableView fx:id="tableView" prefHeight="660.0" prefWidth="1180.0" style="-fx-faint-focus-color: transparent;">
<columns>
<TableColumn fx:id="tc_xh" prefWidth="75.0" text="序号" />
<TableColumn fx:id="tc_batch" prefWidth="75.0" text="批次号" />
<TableColumn fx:id="tc_material" prefWidth="162.0" text="父物料编码" />
<TableColumn fx:id="tc_wbs" minWidth="0.0" prefWidth="127.0" text="WBS号" />
<TableColumn fx:id="tc_SapResult" minWidth="0.0" prefWidth="99.0" text="SAP处理结果" />
<TableColumn fx:id="tc_msg" prefWidth="126.0" text="结果内容" />
<TableColumn fx:id="tc_cDate" prefWidth="114.0" text="BOM创建日期" />
<TableColumn fx:id="tc_cTime" prefWidth="110.0" text="BOM创建时间" />
<TableColumn fx:id="tc_returnDate" prefWidth="110.0" text="BOM同步日期" />
<TableColumn fx:id="tc_returnTime" prefWidth="104.0" text="BOM同步时间" />
<TableColumn fx:id="tc_plm" prefWidth="82.0" text="PLM状态" />
</columns>
</TableView>
</content>
</ScrollPane>
<BorderPane prefHeight="100.0" prefWidth="200.0" style="-fx-padding: 10;" GridPane.rowIndex="2">
<left>
<FlowPane hgap="15.0" prefHeight="140.0" prefWidth="552.0" style="-fx-padding: 0;" BorderPane.alignment="CENTER">
<children>
<Button fx:id="bt_first" mnemonicParsing="false" onAction="#firstAction" prefHeight="30.0" prefWidth="80.0" text="首页" />
<Button fx:id="bt_last" mnemonicParsing="false" onAction="#lastAction" prefHeight="30.0" prefWidth="80.0" text="上一页" />
<Button fx:id="bt_next" mnemonicParsing="false" onAction="#nextAction" prefWidth="80.0" text="下一页" />
<Button fx:id="bt_tail" mnemonicParsing="false" onAction="#tailAction" prefWidth="80.0" text="尾页" />
<Button fx:id="bt_all" mnemonicParsing="false" onAction="#allAction" text="本页全部加载" />
</children>
<BorderPane.margin>
<Insets bottom="5.0" left="10.0" right="10.0" top="5.0" />
</BorderPane.margin>
<padding>
<Insets left="10.0" right="10.0" />
</padding>
</FlowPane>
</left>
<right>
<FlowPane alignment="TOP_CENTER" prefHeight="140.0" prefWidth="589.0" BorderPane.alignment="CENTER">
<children>
<TextField fx:id="pageNumTxt" alignment="TOP_RIGHT" prefHeight="30.0" prefWidth="154.0" text="1" />
<Label fx:id="lb_page" prefWidth="80.0" text="/" />
<Button mnemonicParsing="false" onAction="#outputAction" text="结果导出" />
</children>
<BorderPane.margin>
<Insets bottom="5.0" left="10.0" right="10.0" top="5.0" />
</BorderPane.margin>
</FlowPane>
</right>
</BorderPane>
</children>
</GridPane>
</children>
</StackPane>

@ -1,204 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import tornadofx.control.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1600.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.SearchSapResult.SearchSapController">
<children>
<ScrollPane fx:id="scrollPane" prefHeight="200.0">
<content>
<BorderPane fx:id="topBorder" prefHeight="200.0" prefWidth="200.0">
<top>
<TitledPane fx:id="tp_sxtj" prefHeight="650.0" text="筛选条件" BorderPane.alignment="CENTER">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="10.0" />
</padding>
<content>
<BorderPane prefHeight="200.0" prefWidth="200.0">
<top>
<TitledPane fx:id="rwtjPane" prefHeight="300.0" prefWidth="200.0" text="任务条件" BorderPane.alignment="CENTER">
<content>
<GridPane fx:id="gridPane" style="-fx-padding: 15;">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="40.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="60.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<padding>
<Insets bottom="5.0" left="5.0" right="10.0" top="5.0" />
</padding>
<children>
<Label text="任务编号:" />
<Label text="工厂:" GridPane.rowIndex="1" />
<Label text="发起人:" GridPane.rowIndex="2" />
<Label text="发起时间晚于:" GridPane.rowIndex="3" />
<Label text="发起时间早于:" GridPane.rowIndex="4" />
<Label text="项目名称:" GridPane.columnIndex="3" GridPane.rowIndex="4" />
<Label text="WBS号:" GridPane.columnIndex="3" GridPane.rowIndex="3" />
<Label text="数据状态:" GridPane.columnIndex="3" GridPane.rowIndex="5" />
<Label text="是否仅查看错误数据:" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label text="是否仅查看错误任务:" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<Label text="任务SAP处理结果:" GridPane.columnIndex="3" />
<TextField fx:id="tx_bh" GridPane.columnIndex="1" />
<TextField fx:id="tx_user" promptText="用户名称或用户ID" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField fx:id="tx_wbs" promptText="wbs号" GridPane.columnIndex="4" GridPane.rowIndex="3" />
<TextField fx:id="tx_projectName" promptText="项目名称" GridPane.columnIndex="4" GridPane.rowIndex="4" />
<ComboBox fx:id="cb_factory" prefWidth="250.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<ComboBox fx:id="cb_status" prefWidth="250.0" GridPane.columnIndex="4" GridPane.rowIndex="5" />
<ComboBox fx:id="cb_sapState" prefWidth="250.0" GridPane.columnIndex="4" />
<CheckBox fx:id="bt_errMsg" mnemonicParsing="false" text="是" GridPane.columnIndex="4" GridPane.rowIndex="2" />
<CheckBox fx:id="bt_errTask" mnemonicParsing="false" text="是" GridPane.columnIndex="4" GridPane.rowIndex="1" />
</children>
</GridPane>
</content>
</TitledPane>
</top>
<center>
<TitledPane fx:id="mxtjPane" prefHeight="200.0" prefWidth="200.0" text="明细条件" BorderPane.alignment="CENTER">
<content>
<GridPane style="-fx-padding: 15;">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="40.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="60.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="父物料编码:" />
<Label text="SAP数据状态:" GridPane.rowIndex="1" />
<Label text="SAP返回信息" GridPane.rowIndex="2" />
<TextField fx:id="tx_pcode" promptText="多个物料以;隔开" GridPane.columnIndex="1" />
<TextField fx:id="tx_sapReturn" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<ComboBox fx:id="tx_sapStatus" prefWidth="250.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<Label text="WBS号:" GridPane.columnIndex="3" />
<Label text="批次号:" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="tx_wbsMx" GridPane.columnIndex="4" />
<TextField fx:id="tx_batchNum" GridPane.columnIndex="4" GridPane.rowIndex="1" />
</children>
</GridPane>
</content>
</TitledPane>
</center>
<bottom>
<GridPane fx:id="bt_cx" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="bt_close" mnemonicParsing="false" onAction="#closeClick" text="关闭" GridPane.columnIndex="3" />
<Button fx:id="bt_search" mnemonicParsing="false" onAction="#searchAction" text="查询" GridPane.columnIndex="1" />
<Button fx:id="bt_czcx" mnemonicParsing="false" onAction="#resetClick" text="重置查询" GridPane.columnIndex="2" />
</children>
</GridPane>
</bottom>
</BorderPane>
</content>
</TitledPane>
</top>
<center>
<BorderPane fx:id="resultBorder" prefHeight="800.0" prefWidth="1200.0" BorderPane.alignment="CENTER">
<top>
<TitledPane fx:id="tp_result" prefHeight="600.0" prefWidth="200.0" text="结果" BorderPane.alignment="CENTER">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="10.0" />
</padding>
<content>
<BorderPane prefHeight="200.0" prefWidth="200.0" style="-fx-padding: 5;">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<opaqueInsets>
<Insets />
</opaqueInsets>
<top>
<TableView fx:id="tableView" prefHeight="460.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<columns>
<TableColumn fx:id="tc_xh" prefWidth="75.0" text="序号" />
<TableColumn fx:id="tc_rwh" prefWidth="102.0" text="任务号" />
<TableColumn fx:id="tc_fqr" prefWidth="133.0" text="发起人" />
<TableColumn fx:id="tc_fqsj" prefWidth="160.0" text="发起时间" />
<TableColumn fx:id="tc_zrws" prefWidth="85.0" text="子任务数" />
<TableColumn fx:id="tc_sapState" prefWidth="142.0" text="SAP处理结果" />
<TableColumn fx:id="tc_status" prefWidth="111.0" text="数据状态" />
<TableColumn fx:id="tc_plm" prefWidth="133.0" text="PLM处理进度" />
<TableColumn fx:id="tc_result" minWidth="7.0" prefWidth="103.0" text="结果明细" />
<TableColumn fx:id="tc_log" minWidth="0.0" prefWidth="91.0" text="日志获取" />
</columns>
</TableView>
</top>
<bottom>
<GridPane BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<BorderPane.margin>
<Insets bottom="10.0" left="10.0" right="10.0" />
</BorderPane.margin>
<children>
<Button fx:id="bt_sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="1" />
<Button fx:id="bt_syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="2" />
<Button fx:id="bt_xyy" mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="3" />
<Button fx:id="bt_wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="4" />
</children>
</GridPane>
</bottom>
</BorderPane>
</content>
</TitledPane>
</top>
</BorderPane>
</center>
<bottom>
<AnchorPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<children>
<Button fx:id="bt_closeAll" layoutX="1108.0" layoutY="14.0" mnemonicParsing="false" onAction="#clossAll" text="关闭" />
</children>
</AnchorPane>
</bottom>
<padding>
<Insets left="10.0" />
</padding>
</BorderPane>
</content>
</ScrollPane>
</children>
</StackPane>

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import tornadofx.control.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.SearchSapResult.DetailsController">
<children>
<GridPane>
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="100.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<FlowPane alignment="TOP_CENTER" prefHeight="200.0" prefWidth="200.0" style="-fx-padding: 5;">
<children>
<CheckBox fx:id="cb_errBtn" mnemonicParsing="false" onAction="#errBtnAction" text="仅显示错误数据" />
</children>
</FlowPane>
<ScrollPane prefHeight="1200.0" prefWidth="1200.0" style="-fx-padding: 5;" GridPane.rowIndex="1">
<content>
<TableView fx:id="tableView" prefHeight="700.0" prefWidth="1190.0" style="-fx-faint-focus-color: transparent;">
<columns>
<TableColumn fx:id="tc_xh" prefWidth="75.0" text="序号" />
<TableColumn fx:id="tc_batch" prefWidth="75.0" text="批次号" />
<TableColumn fx:id="tc_material" prefWidth="162.0" text="父物料编码" />
<TableColumn fx:id="tc_wbs" minWidth="0.0" prefWidth="127.0" text="WBS号" />
<TableColumn fx:id="tc_SapResult" minWidth="0.0" prefWidth="99.0" text="SAP处理结果" />
<TableColumn fx:id="tc_msg" prefWidth="126.0" text="结果内容" />
<TableColumn fx:id="tc_cDate" prefWidth="114.0" text="BOM创建日期" />
<TableColumn fx:id="tc_cTime" prefWidth="110.0" text="BOM创建时间" />
<TableColumn fx:id="tc_returnDate" prefWidth="110.0" text="BOM同步日期" />
<TableColumn fx:id="tc_returnTime" prefWidth="104.0" text="BOM同步时间" />
<TableColumn fx:id="tc_plm" prefWidth="82.0" text="PLM状态" />
</columns>
</TableView>
</content>
</ScrollPane>
<BorderPane prefHeight="100.0" prefWidth="200.0" style="-fx-padding: 10;" GridPane.rowIndex="2">
<left>
<FlowPane hgap="15.0" prefHeight="140.0" prefWidth="552.0" style="-fx-padding: 0;" BorderPane.alignment="CENTER">
<children>
<Button fx:id="bt_first" mnemonicParsing="false" onAction="#firstAction" prefHeight="30.0" prefWidth="80.0" text="首页" />
<Button fx:id="bt_last" mnemonicParsing="false" onAction="#lastAction" prefHeight="30.0" prefWidth="80.0" text="上一页" />
<Button fx:id="bt_next" mnemonicParsing="false" onAction="#nextAction" prefWidth="80.0" text="下一页" />
<Button fx:id="bt_tail" mnemonicParsing="false" onAction="#tailAction" prefWidth="80.0" text="尾页" />
<Button fx:id="bt_all" mnemonicParsing="false" onAction="#allAction" text="本页全部加载" />
</children>
<BorderPane.margin>
<Insets bottom="5.0" left="10.0" right="10.0" top="5.0" />
</BorderPane.margin>
<padding>
<Insets left="10.0" right="10.0" />
</padding>
</FlowPane>
</left>
<right>
<FlowPane alignment="TOP_CENTER" prefHeight="140.0" prefWidth="589.0" BorderPane.alignment="CENTER">
<children>
<TextField alignment="TOP_RIGHT" prefHeight="30.0" prefWidth="154.0" text="1" />
<Label fx:id="lb_page" prefWidth="80.0" text="/" />
<Button mnemonicParsing="false" onAction="#outputAction" text="结果导出" />
</children>
<BorderPane.margin>
<Insets bottom="5.0" left="10.0" right="10.0" top="5.0" />
</BorderPane.margin>
</FlowPane>
</right>
</BorderPane>
</children>
</GridPane>
</children>
</StackPane>

@ -1,135 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import tornadofx.control.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1600.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.SearchSapResult.SearchSapController">
<children>
<ScrollPane prefHeight="865.0" prefWidth="1192.0">
<content>
<BorderPane prefHeight="849.0" prefWidth="1075.0">
<center>
<BorderPane prefHeight="503.0" prefWidth="1075.0" BorderPane.alignment="CENTER">
<right>
<TitledPane fx:id="tp_result" animated="false" prefHeight="480.0" prefWidth="1075.0" text="结果" BorderPane.alignment="CENTER">
<content>
<BorderPane prefHeight="400.0" prefWidth="900.0">
<top>
<TableView fx:id="tableView" BorderPane.alignment="CENTER">
<columns>
<TableColumn fx:id="tc_xh" prefWidth="54.0" text="序号" />
<TableColumn fx:id="tc_drawingno" prefWidth="96.0" text="图号" />
<TableColumn fx:id="tc_datesetname" prefWidth="103.0" text="文件名称" />
<TableColumn fx:id="tc_materialno" prefWidth="98.0" text="物料编码" />
<TableColumn fx:id="tc_wbs" prefWidth="97.0" text="WBS号" />
<TableColumn fx:id="tc_revision" prefWidth="45.0" text="版本" />
<TableColumn fx:id="tc_code" prefWidth="66.0" text="文件类型" />
<TableColumn fx:id="tc_urlcreatetime" prefWidth="94.0" text="提交时间" />
<TableColumn fx:id="tc_released" prefWidth="71.0" text="发放状态" />
<TableColumn fx:id="tc_username" prefWidth="59.0" text="提交人" />
<TableColumn fx:id="tc_fileurl" prefWidth="265.0" text="链接" />
</columns>
</TableView>
</top>
<bottom>
<GridPane BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="321.0" minWidth="10.0" prefWidth="265.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="349.0" minWidth="10.0" prefWidth="160.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="334.0" minWidth="10.0" prefWidth="155.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="309.0" minWidth="10.0" prefWidth="149.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="219.0" minWidth="10.0" prefWidth="213.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="bt_sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="1" />
<Button fx:id="bt_syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="2" />
<Button fx:id="bt_xyy" mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="3" />
<Button fx:id="bt_wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="4" />
</children>
</GridPane>
</bottom>
</BorderPane>
</content>
</TitledPane>
</right>
</BorderPane>
</center>
<top>
<TitledPane fx:id="tp_sxtj" animated="false" text="筛选条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="331.0" prefWidth="1073.0">
<children>
<BorderPane layoutX="26.0" layoutY="8.0" prefHeight="235.0" prefWidth="1022.0">
<top>
<TitledPane fx:id="rwtjPane" animated="false" prefHeight="236.0" prefWidth="1022.0" text="查询条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<GridPane fx:id="gridPane" layoutX="20.0" layoutY="16.0" prefHeight="175.0" prefWidth="980.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="208.0" minWidth="10.0" prefWidth="157.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="300.0" minWidth="10.0" prefWidth="268.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="291.0" minWidth="10.0" prefWidth="101.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="214.0" minWidth="10.0" prefWidth="97.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="356.0" minWidth="10.0" prefWidth="356.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="发放人:" GridPane.rowIndex="1" />
<Label text="物料编码" GridPane.rowIndex="2" />
<Label text="发放状态" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<Label text="工厂" GridPane.columnIndex="3" />
<Label text="WBS号:" />
<TextField fx:id="tx_bh" GridPane.columnIndex="1" />
<TextField fx:id="tx_projectName" prefHeight="30.0" prefWidth="291.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="tx_user" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<ComboBox fx:id="cb_sapState" prefHeight="30.0" prefWidth="271.0" GridPane.columnIndex="4" />
<ComboBox fx:id="cb_status" prefHeight="30.0" prefWidth="272.0" GridPane.columnIndex="4" GridPane.rowIndex="1" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
</BorderPane>
<GridPane layoutX="216.0" layoutY="270.0" prefHeight="30.0" prefWidth="702.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="95.0" minWidth="10.0" prefWidth="80.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="219.0" minWidth="10.0" prefWidth="219.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="210.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="185.0" minWidth="10.0" prefWidth="74.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="bt_close" mnemonicParsing="false" onAction="#closeClick" prefHeight="30.0" prefWidth="86.0" text="关闭" GridPane.columnIndex="3" />
<Button fx:id="bt_search" mnemonicParsing="false" onAction="#searchAction" prefHeight="30.0" prefWidth="96.0" text="查询" GridPane.columnIndex="1" />
<Button fx:id="bt_czcx" mnemonicParsing="false" onAction="#resetClick" prefHeight="30.0" prefWidth="88.0" text="重置查询" GridPane.columnIndex="2" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
</BorderPane>
</content>
</ScrollPane>
</children>
</StackPane>

@ -1,135 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import tornadofx.control.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1600.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.SearchSapResult9.SearchSapController">
<children>
<ScrollPane fx:id="scrollPane" prefHeight="865.0" prefWidth="1192.0">
<content>
<BorderPane prefHeight="849.0" prefWidth="1075.0">
<center>
<BorderPane fx:id="resultBorder" prefHeight="503.0" prefWidth="1075.0" BorderPane.alignment="CENTER">
<right>
<TitledPane fx:id="tp_result" animated="false" prefHeight="480.0" prefWidth="1075.0" text="结果" BorderPane.alignment="CENTER">
<content>
<BorderPane prefHeight="400.0" prefWidth="900.0">
<top>
<TableView fx:id="tableView" prefHeight="374.0" prefWidth="1049.0" BorderPane.alignment="CENTER">
<columns>
<TableColumn fx:id="tc_xh" prefWidth="54.0" text="序号" />
<TableColumn fx:id="tc_drawingno" prefWidth="96.0" text="图号" />
<TableColumn fx:id="tc_datesetname" prefWidth="103.0" text="文件名称" />
<TableColumn fx:id="tc_materialno" prefWidth="98.0" text="物料编码" />
<TableColumn fx:id="tc_wbs" prefWidth="97.0" text="WBS号" />
<TableColumn fx:id="tc_revision" prefWidth="45.0" text="版本" />
<TableColumn fx:id="tc_code" prefWidth="66.0" text="文件类型" />
<TableColumn fx:id="tc_urlcreatetime" prefWidth="94.0" text="提交时间" />
<TableColumn fx:id="tc_released" prefWidth="71.0" text="发放状态" />
<TableColumn fx:id="tc_username" prefWidth="59.0" text="提交人" />
<TableColumn fx:id="tc_fileurl" prefWidth="265.0" text="链接" />
</columns>
</TableView>
</top>
<bottom>
<GridPane BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="321.0" minWidth="10.0" prefWidth="265.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="349.0" minWidth="10.0" prefWidth="160.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="334.0" minWidth="10.0" prefWidth="155.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="309.0" minWidth="10.0" prefWidth="149.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="219.0" minWidth="10.0" prefWidth="213.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="bt_sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="1" />
<Button fx:id="bt_syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="2" />
<Button fx:id="bt_xyy" mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="3" />
<Button fx:id="bt_wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="4" />
</children>
</GridPane>
</bottom>
</BorderPane>
</content>
</TitledPane>
</right>
</BorderPane>
</center>
<top>
<TitledPane fx:id="tp_sxtj" animated="false" text="筛选条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="331.0" prefWidth="1073.0">
<children>
<BorderPane layoutX="26.0" layoutY="8.0" prefHeight="235.0" prefWidth="1022.0">
<top>
<TitledPane fx:id="rwtjPane" animated="false" prefHeight="236.0" prefWidth="1022.0" text="查询条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0" prefWidth="200.0">
<children>
<GridPane fx:id="gridPane" layoutX="20.0" layoutY="16.0" prefHeight="175.0" prefWidth="980.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="208.0" minWidth="10.0" prefWidth="157.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="300.0" minWidth="10.0" prefWidth="268.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="291.0" minWidth="10.0" prefWidth="101.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="214.0" minWidth="10.0" prefWidth="97.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="356.0" minWidth="10.0" prefWidth="356.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="发放人:" GridPane.rowIndex="1" />
<Label text="物料编码" GridPane.rowIndex="2" />
<Label text="发放状态" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<Label text="工厂" GridPane.columnIndex="3" />
<Label text="WBS号:" />
<TextField fx:id="tx_bh" GridPane.columnIndex="1" />
<TextField fx:id="tx_projectName" prefHeight="30.0" prefWidth="291.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="tx_user" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<ComboBox fx:id="cb_sapState" prefHeight="30.0" prefWidth="271.0" GridPane.columnIndex="4" />
<ComboBox fx:id="cb_status" prefHeight="30.0" prefWidth="272.0" GridPane.columnIndex="4" GridPane.rowIndex="1" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
</BorderPane>
<GridPane layoutX="216.0" layoutY="270.0" prefHeight="30.0" prefWidth="702.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="95.0" minWidth="10.0" prefWidth="80.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="219.0" minWidth="10.0" prefWidth="219.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="210.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="185.0" minWidth="10.0" prefWidth="74.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="bt_close" mnemonicParsing="false" onAction="#closeClick" prefHeight="30.0" prefWidth="86.0" text="关闭" GridPane.columnIndex="3" />
<Button fx:id="bt_search" mnemonicParsing="false" onAction="#searchAction" prefHeight="30.0" prefWidth="96.0" text="查询" GridPane.columnIndex="1" />
<Button fx:id="bt_czcx" mnemonicParsing="false" onAction="#resetClick" prefHeight="30.0" prefWidth="88.0" text="重置查询" GridPane.columnIndex="2" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
</BorderPane>
</content>
</ScrollPane>
</children>
</StackPane>

@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<GridPane hgap="5.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="240.0" prefWidth="400.0" vgap="5.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.createEcn.AssignIdController">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" vgrow="NEVER" />
<RowConstraints minHeight="10.0" vgrow="NEVER" />
</rowConstraints>
<children>
<FlowPane alignment="CENTER" hgap="12.0" GridPane.rowIndex="1">
<children>
<Button fx:id="assignBtn" mnemonicParsing="false" onAction="#okBtnClick" prefWidth="77.0" text="指派" />
<Button fx:id="closeBtn" mnemonicParsing="false" onAction="#cancelBtnClick" text=" 取消 " />
</children>
</FlowPane>
<GridPane alignment="CENTER" prefHeight="200.0">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" maxWidth="100.0" minWidth="10.0" prefWidth="50.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="创建者工厂:" />
<ComboBox fx:id="factoryComb" maxWidth="200.0" prefWidth="150.0" GridPane.columnIndex="1" />
<Label text="创建者部门:" GridPane.rowIndex="1" />
<ComboBox fx:id="bmComb" maxWidth="200.0" prefWidth="150.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<RadioButton fx:id="rb_formalChange" maxWidth="200.0" prefWidth="150.0" mnemonicParsing="false" text="正式更改" GridPane.rowIndex="2" />
<RadioButton fx:id="rb_tempChange" mnemonicParsing="false" text="临时更改" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label text="预览" GridPane.rowIndex="3" />
<TextField fx:id="ylText" maxWidth="200.0" prefWidth="150.0" GridPane.columnIndex="1" GridPane.rowIndex="3" />
</children>
</GridPane>
</children>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</GridPane>

@ -1,285 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.createEcn.CreateEcnController">
<children>
<ScrollPane fx:id="scollPane" prefHeight="800.0" prefWidth="1200.0">
<content>
<GridPane fx:id="gridPane" prefHeight="1600.0" prefWidth="1180.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="160.0" minHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="280.0" minHeight="10.0" prefHeight="230.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="600.0" minHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" vgrow="NEVER" />
</rowConstraints>
<children>
<BorderPane prefHeight="160.0" prefWidth="200.0">
<left>
<FlowPane alignment="CENTER_LEFT" hgap="12.0" prefHeight="80.0" prefWidth="400.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<children>
<Label text="单位:" />
<TextField fx:id="factoryText" />
</children>
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<padding>
<Insets left="10.0" />
</padding>
</FlowPane>
</left>
<center>
<FlowPane alignment="CENTER" prefHeight="200.0" prefWidth="100.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<children>
<Label text="更改通知单">
<font>
<Font size="22.0" />
</font>
</Label>
</children>
</FlowPane>
</center>
<padding>
<Insets left="2.0" right="2.0" top="2.0" />
</padding>
<bottom>
<BorderPane prefHeight="80.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<left>
<FlowPane alignment="CENTER" prefHeight="200.0" prefWidth="200.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<children>
<Label text="更改类型">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</FlowPane>
</left>
<center>
<GridPane style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="400.0" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<FlowPane alignment="CENTER_LEFT" hgap="100.0" prefHeight="200.0" prefWidth="200.0">
<children>
<RadioButton fx:id="rb_formalChange" mnemonicParsing="false" text="正式更改" />
<RadioButton fx:id="rb_tempChange" mnemonicParsing="false" text="临时更改" />
</children>
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
<FlowPane alignment="CENTER_LEFT" hgap="100.0" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1">
<children>
<RadioButton fx:id="rb_product" mnemonicParsing="false" text="产品" />
<RadioButton fx:id="rb_Process" mnemonicParsing="false" text="过程" />
</children>
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
<FlowPane alignment="CENTER_LEFT" hgap="15.0" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
</children>
</GridPane>
</center>
</BorderPane>
</bottom>
<right>
<GridPane prefHeight="78.0" prefWidth="400.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="120.0" minWidth="10.0" prefWidth="80.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="150.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="60.0" minWidth="10.0" prefWidth="20.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="通知单编号:" />
<Label text="关联申请单编号:" GridPane.rowIndex="1" />
<Button fx:id="assignBtn" mnemonicParsing="false" onAction="#assignClick" text="指派" GridPane.columnIndex="2" />
<Button mnemonicParsing="false" onAction="#relateClick" text="查看" GridPane.columnIndex="2" GridPane.rowIndex="1" />
<TextField fx:id="ecnId" GridPane.columnIndex="1" />
<TextField fx:id="relateEcnText" GridPane.columnIndex="1" GridPane.rowIndex="1" />
</children>
<padding>
<Insets left="5.0" />
</padding>
</GridPane>
</right>
</BorderPane>
<TitledPane fx:id="tp_product" animated="false" prefHeight="280.0" prefWidth="1200.0" text="产品及项目信息:" GridPane.rowIndex="1">
<content>
<BorderPane prefHeight="200.0" prefWidth="200.0">
<center>
<GridPane fx:id="productPane" alignment="CENTER" maxHeight="200.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" maxWidth="160.0" minWidth="10.0" prefWidth="20.0" />
<ColumnConstraints halignment="LEFT" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" maxWidth="160.0" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="LEFT" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="产品型号:" />
<Label text="产品名称:" GridPane.rowIndex="1" />
<Label text="文件代号及名称:" GridPane.rowIndex="2" />
<ComboBox fx:id="pmCombox" prefHeight="30.0" prefWidth="370.0" GridPane.columnIndex="1" />
<ComboBox fx:id="prodNameComb" prefHeight="30.0" prefWidth="370.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="markText" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label text="合同代号:" GridPane.columnIndex="2" />
<Label text="合同名称:" GridPane.columnIndex="2" GridPane.rowIndex="1" />
<Label text="更改实施日期:" GridPane.columnIndex="2" GridPane.rowIndex="2" />
<TextField fx:id="contractText" GridPane.columnIndex="3" />
<TextField fx:id="htNameText" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<DatePicker fx:id="changeDate" GridPane.columnIndex="3" GridPane.rowIndex="2" />
</children>
<padding>
<Insets right="10.0" />
</padding>
</GridPane>
</center>
<bottom>
<BorderPane prefHeight="40.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<BorderPane.margin>
<Insets top="5.0" />
</BorderPane.margin>
<left>
<FlowPane alignment="CENTER" prefHeight="200.0" prefWidth="200.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<children>
<Label text="发放部门" />
</children>
</FlowPane>
</left>
<center>
<FlowPane fx:id="departPane" alignment="CENTER_LEFT" hgap="20.0" prefHeight="200.0" prefWidth="200.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<BorderPane.margin>
<Insets />
</BorderPane.margin>
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
</center>
</BorderPane>
</bottom>
</BorderPane>
</content>
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TitledPane>
<TitledPane fx:id="tc_details" prefHeight="1200.0" prefWidth="200.0" text="变更明细:" GridPane.rowIndex="2">
<GridPane.margin>
<Insets top="5.0" />
</GridPane.margin>
<padding>
<Insets left="2.0" right="2.0" />
</padding>
<content>
<BorderPane>
<center>
<ScrollPane prefHeight="500.0" style="-fx-padding: 5;" BorderPane.alignment="CENTER">
<content>
<TableView fx:id="tableView" prefHeight="480.0" prefWidth="1142.0" style="-fx-faint-focus-color: transparent;" />
</content>
</ScrollPane>
</center>
<top>
<FlowPane alignment="CENTER" hgap="25.0" prefHeight="80.0" BorderPane.alignment="CENTER">
<children>
<Button fx:id="addRows" mnemonicParsing="false" onAction="#addRows" text="增加五行" />
<Button fx:id="addRow" mnemonicParsing="false" onAction="#addRow" text="增加行" />
<Button fx:id="deleteRow" mnemonicParsing="false" onAction="#deleteRow" text="删除行" />
</children>
<BorderPane.margin>
<Insets bottom="5.0" />
</BorderPane.margin>
</FlowPane>
</top>
</BorderPane>
</content>
</TitledPane>
<GridPane GridPane.rowIndex="3">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" vgrow="NEVER" />
<RowConstraints minHeight="10.0" prefHeight="100.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<TitledPane fx:id="referencePane" animated="false" text="影响分析(会签):">
<GridPane.margin>
<Insets top="5.0" />
</GridPane.margin>
<padding>
<Insets left="2.0" right="2.0" />
</padding>
<content>
<ScrollPane prefHeight="400.0">
<content>
<TableView fx:id="refTable" prefHeight="400.0" prefWidth="1170.0" />
</content>
</ScrollPane>
</content>
</TitledPane>
<BorderPane prefHeight="100.0" prefWidth="200.0" GridPane.rowIndex="1">
<left>
<Label text="备注:" />
</left>
<center>
<ScrollPane prefHeight="100.0" style="-fx-padding: 5;" BorderPane.alignment="CENTER">
<content>
<TextArea fx:id="remarkArea" prefHeight="99.0" prefWidth="1100.0" wrapText="true" />
</content>
</ScrollPane>
</center>
</BorderPane>
<FlowPane alignment="TOP_CENTER" hgap="40.0" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="2">
<children>
<Button fx:id="createBtn" mnemonicParsing="false" onAction="#createClick" text="确定" />
<Button alignment="CENTER" mnemonicParsing="false" onAction="#disposeClick" text="取消" />
</children>
<GridPane.margin>
<Insets top="5.0" />
</GridPane.margin>
</FlowPane>
</children>
</GridPane>
</children>
</GridPane>
</content>
</ScrollPane>
</children>
</StackPane>

@ -1,187 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import tornadofx.control.*?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.chint.plm.createEcn.RelateEcnController">
<children>
<ScrollPane fx:id="scollPane" prefHeight="800.0" prefWidth="1200.0">
<content>
<GridPane fx:id="gridPane" prefHeight="800.0" prefWidth="1180.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="85.0" minHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="280.0" minHeight="10.0" prefHeight="230.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="400.0" minHeight="10.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<BorderPane maxHeight="80.0" prefHeight="80.0" prefWidth="200.0">
<padding>
<Insets left="2.0" right="2.0" top="2.0" />
</padding>
<bottom>
<BorderPane prefHeight="80.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<left>
<FlowPane alignment="CENTER" prefHeight="200.0" prefWidth="200.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<children>
<Label text="更改类型">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</FlowPane>
</left>
<center>
<GridPane style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="400.0" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<FlowPane alignment="CENTER_LEFT" hgap="100.0" prefHeight="200.0" prefWidth="200.0">
<children>
<RadioButton fx:id="rb_formalChange" mnemonicParsing="false" text="正式更改" />
<RadioButton fx:id="rb_tempChange" mnemonicParsing="false" text="临时更改" />
</children>
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
<FlowPane alignment="CENTER_LEFT" hgap="15.0" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1">
<children>
<RadioButton fx:id="rb_product" mnemonicParsing="false" text="产品" />
<Label text="产品特性:" />
<RadioButton mnemonicParsing="false" text="A" />
<RadioButton mnemonicParsing="false" text="B" />
<RadioButton mnemonicParsing="false" text="C" />
</children>
<GridPane.margin>
<Insets />
</GridPane.margin>
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
<FlowPane alignment="CENTER_LEFT" hgap="15.0" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
<children>
<RadioButton fx:id="rb_Process" mnemonicParsing="false" text="过程" />
<Label text="过程特性:" />
<RadioButton mnemonicParsing="false" text="A" />
<RadioButton mnemonicParsing="false" text="B" />
<RadioButton mnemonicParsing="false" text="C" />
</children>
<padding>
<Insets left="5.0" />
</padding>
</FlowPane>
</children>
</GridPane>
</center>
</BorderPane>
</bottom>
</BorderPane>
<TitledPane fx:id="tp_product" animated="false" prefHeight="280.0" prefWidth="1200.0" text="更改涉及内容:" GridPane.rowIndex="1">
<content>
<BorderPane prefHeight="200.0" prefWidth="200.0">
<center>
<GridPane alignment="CENTER" maxHeight="200.0" style="-fx-border-color: black;" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" maxWidth="160.0" minWidth="10.0" prefWidth="20.0" />
<ColumnConstraints halignment="LEFT" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" maxWidth="160.0" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="产品型号:" />
<Label text="产品名称:" GridPane.rowIndex="1" />
<Label text="文件代号及名称:" GridPane.rowIndex="2" />
<TextField fx:id="prodModelText" GridPane.columnIndex="1" />
<TextField fx:id="prodNameText" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="docCodeText" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label text="合同代号:" GridPane.columnIndex="2" />
<Label text="合同名称:" GridPane.columnIndex="2" GridPane.rowIndex="1" />
<Label text="图样代号及名称:" GridPane.columnIndex="2" GridPane.rowIndex="2" />
<TextField fx:id="contCondeText" GridPane.columnIndex="3" />
<TextField fx:id="contNameText" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="pattCodeText" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label text="申请人:" GridPane.rowIndex="3" />
<Label text="申请单号:" GridPane.columnIndex="2" GridPane.rowIndex="3" />
<Label text="申请时间晚于:" GridPane.rowIndex="4" />
<Label text="申请时间早于:" GridPane.columnIndex="2" GridPane.rowIndex="4" />
<TextField fx:id="applicantText" GridPane.columnIndex="1" GridPane.rowIndex="3" />
<TextField fx:id="requestNoText" GridPane.columnIndex="3" GridPane.rowIndex="3" />
<DatePicker fx:id="startTime" GridPane.columnIndex="1" GridPane.rowIndex="4" />
<DatePicker fx:id="endTime" GridPane.columnIndex="3" GridPane.rowIndex="4" />
</children>
<padding>
<Insets right="10.0" top="2.0" />
</padding>
</GridPane>
</center>
<bottom>
<BorderPane prefHeight="40.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<BorderPane.margin>
<Insets top="5.0" />
</BorderPane.margin>
<right>
<FlowPane alignment="CENTER" hgap="30.0" prefHeight="40.0" prefWidth="318.0" BorderPane.alignment="CENTER">
<children>
<Button mnemonicParsing="false" onAction="#searchClick" prefWidth="80.0" text="查询" />
<Button mnemonicParsing="false" onAction="#closeClick" prefWidth="80.0" text="关闭" />
</children>
</FlowPane>
</right>
</BorderPane>
</bottom>
</BorderPane>
</content>
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TitledPane>
<TitledPane fx:id="tc_details" prefHeight="400.0" prefWidth="200.0" text="搜索结果:" GridPane.rowIndex="2">
<GridPane.margin>
<Insets top="5.0" />
</GridPane.margin>
<padding>
<Insets left="2.0" right="2.0" />
</padding>
<content>
<BorderPane>
<center>
<ScrollPane prefHeight="400.0" style="-fx-padding: 5;" BorderPane.alignment="CENTER">
<content>
<TableView fx:id="tableView" prefHeight="400.0" prefWidth="1142.0" style="-fx-faint-focus-color: transparent;" />
</content>
</ScrollPane>
</center>
</BorderPane>
</content>
</TitledPane>
</children>
</GridPane>
</content>
</ScrollPane>
</children>
</StackPane>

@ -1,3 +0,0 @@
ERROR_NOT_CHANGE=\u8BF7\u9009\u62E9\u66F4\u6539\u901A\u77E5\u5355\u5BF9\u8C61
ERROR_NO_CHANGE=\u672A\u627E\u5230\u53D8\u66F4\u524D\u540E\u5BF9\u8C61,\u65E0\u6CD5\u63D0\u53D6\u5DEE\u5F02\u9879\uFF01
SUCC_CHANGE=\u63D0\u53D6\u5B8C\u6210

@ -1,148 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<StackPane fx:id="stackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1200.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.chint.JDBPackage.MySceneController">
<children>
<ScrollPane fx:id="scollPane" prefHeight="1200.0" prefWidth="1200.0">
<content>
<AnchorPane fx:id="parentPane" minHeight="0.0" minWidth="0.0" prefHeight="1800.0" prefWidth="1200.0">
<children>
<BorderPane fx:id="borderPane" layoutX="-7.0" prefHeight="1800.0" prefWidth="1200.0" style="-fx-padding: 5;">
<padding>
<Insets bottom="18.0" left="18.0" right="18.0" top="18.0" />
</padding>
<top>
<TitledPane fx:id="topTitlePane" animated="false" blendMode="DARKEN" pickOnBounds="false" style="-fx-padding: 10;" text="校对条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="182.0" prefWidth="1162.0" style="-fx-padding: 5;">
<children>
<GridPane fx:id="gridPane" hgap="9.0" layoutX="17.0" maxWidth="1400.0" prefHeight="175.0" prefWidth="1098.0" style="-fx-padding: 7;" vgap="9.0">
<columnConstraints>
<ColumnConstraints hgrow="NEVER" maxWidth="104.0" minWidth="10.0" prefWidth="104.0" />
<ColumnConstraints hgrow="ALWAYS" maxWidth="373.0" minWidth="10.0" prefWidth="283.0" />
<ColumnConstraints halignment="CENTER" hgrow="NEVER" maxWidth="361.0" minWidth="10.0" prefWidth="208.0" />
<ColumnConstraints hgrow="ALWAYS" maxWidth="317.0" minWidth="0.0" prefWidth="122.0" />
<ColumnConstraints halignment="RIGHT" hgrow="NEVER" maxWidth="146.0" minWidth="0.0" prefWidth="0.0" />
<ColumnConstraints hgrow="ALWAYS" maxWidth="322.0" minWidth="10.0" prefWidth="322.0" />
<ColumnConstraints hgrow="NEVER" maxWidth="5.0" minWidth="0.0" prefWidth="0.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="36.0" minHeight="10.0" prefHeight="36.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="23.0" minHeight="10.0" prefHeight="20.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="编号:" />
<Label text="检查次数:" GridPane.columnIndex="3" />
<Label text="校对表编号:" GridPane.rowIndex="2" />
<Label text="校对日期:" GridPane.rowIndex="1" />
<Label text="检查人:" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<ComboBox fx:id="cb_jccs" editable="true" maxWidth="1.7976931348623157E308" onAction="#selectJccs" GridPane.columnIndex="5" />
<TextField fx:id="tf_bh" prefHeight="30.0" prefWidth="288.0" GridPane.columnIndex="1" />
<ComboBox fx:id="cb_jclx" maxWidth="1.7976931348623157E308" prefWidth="150.0" GridPane.columnIndex="5" GridPane.rowIndex="3" />
<TextField fx:id="tf_jcr" GridPane.columnIndex="5" GridPane.rowIndex="1" />
<Label text="图号清单:" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<ComboBox fx:id="cb_thqd" maxWidth="1.7976931348623157E308" GridPane.columnIndex="5" GridPane.rowIndex="2" />
<Label text="版本号:" GridPane.rowIndex="3" />
<Label text="检查类型:" GridPane.columnIndex="3" GridPane.rowIndex="3" />
<TextField fx:id="jdrq" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="revId" GridPane.columnIndex="1" GridPane.rowIndex="3" />
<TextField fx:id="jdbbh" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label text="过滤不通过项:" GridPane.rowIndex="4" />
<CheckBox fx:id="glBtn" mnemonicParsing="false" onAction="#selectBtnGl" GridPane.columnIndex="1" GridPane.rowIndex="4" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
<center>
<TabPane fx:id="TestPane" prefHeight="263.0" prefWidth="1180.0" style="-fx-padding: 10;" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0" BorderPane.alignment="CENTER">
<tabs>
<Tab text="检查结果">
<content>
<TableView fx:id="table" prefHeight="292.0" prefWidth="1170.0" style="-fx-faint-focus-color: transparent; -fx-focus-color: rgba(0,0,0,0.2);" />
</content>
</Tab>
</tabs>
</TabPane>
</center>
<bottom>
<BorderPane prefHeight="200.0" prefWidth="200.0" style="-fx-padding: 10;" BorderPane.alignment="CENTER">
<top>
<TitledPane fx:id="btoTitlePane" animated="false" prefHeight="260.0" prefWidth="1160.0" style="-fx-padding: 5;" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="457.0" prefWidth="1178.0">
<children>
<GridPane prefHeight="214.0" prefWidth="1178.0" style="-fx-padding: 15;">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1166.0" minWidth="10.0" prefWidth="1127.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="584.0" minWidth="10.0" prefWidth="51.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="校对人员发现的问题真实记录:" />
<Label text="审核人员发现的问题真实记录:" GridPane.rowIndex="2" />
<Label text="校对、审核发现的问题“是否”已逐条进行更改?如未更改则写明未更改理由。(审核人再审签字):" GridPane.rowIndex="4" />
<TextField fx:id="tx1" GridPane.rowIndex="1" />
<TextField fx:id="tx2" GridPane.rowIndex="3" />
<TextField fx:id="tx3" GridPane.rowIndex="5" />
</children>
</GridPane>
</children></AnchorPane>
</content>
</TitledPane>
</top>
<bottom>
<GridPane style="-fx-padding: 30;" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="bt_tj" mnemonicParsing="false" onAction="#tjBtnClick" text="提交" />
<Button fx:id="bt_sc" mnemonicParsing="false" text="输出" GridPane.columnIndex="1" />
<Button fx:id="bt_lsbc" mnemonicParsing="false" onAction="#lsbcBtnClick" text="临时保存" GridPane.columnIndex="2" />
<Button fx:id="bt_outbtg" mnemonicParsing="false" text="输出不通过项" GridPane.columnIndex="3" />
<Button mnemonicParsing="false" text="输出当前检查" GridPane.columnIndex="4" />
<Button fx:id="qxBtn" mnemonicParsing="false" onAction="#qxBtnClick" text="取消" GridPane.columnIndex="5" />
</children>
</GridPane>
</bottom>
</BorderPane>
</bottom>
</BorderPane>
</children>
</AnchorPane>
</content>
</ScrollPane>
</children>
</StackPane>

@ -1,19 +0,0 @@
#\u6570\u636E\u5E93\u9A71\u52A8
driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
#\u6570\u636E\u5E93\u8FDE\u63A5\u5730\u5740
url=jdbc:sqlserver://10.128.10.135:1433;DatabaseName=CHINT_DB
#\u7528\u6237\u540D
username=PLMUser
#\u5BC6\u7801
password=PLMUser
#\u8FDE\u63A5\u6C60\u7684\u6700\u5927\u6570\u636E\u5E93\u8FDE\u63A5\u6570\u3002\u8BBE\u4E3A0\u8868\u793A\u65E0\u9650\u5236
maxActive=30
#\u6700\u5927\u7A7A\u95F2\u6570\uFF0C\u6570\u636E\u5E93\u8FDE\u63A5\u7684\u6700\u5927\u7A7A\u95F2\u65F6\u95F4\u3002\u8D85\u8FC7\u7A7A\u95F2\u65F6\u95F4\uFF0C\u6570\u636E\u5E93\u8FDE
#\u63A5\u5C06\u88AB\u6807\u8BB0\u4E3A\u4E0D\u53EF\u7528\uFF0C\u7136\u540E\u88AB\u91CA\u653E\u3002\u8BBE\u4E3A0\u8868\u793A\u65E0\u9650\u5236
maxIdle=10
#\u6700\u5927\u5EFA\u7ACB\u8FDE\u63A5\u7B49\u5F85\u65F6\u95F4\u3002\u5982\u679C\u8D85\u8FC7\u6B64\u65F6\u95F4\u5C06\u63A5\u5230\u5F02\u5E38\u3002\u8BBE\u4E3A-1\u8868\u793A\u65E0\u9650\u5236
maxWait=1000
#\u8D85\u8FC7removeAbandonedTimeout\u65F6\u95F4\u540E\uFF0C\u662F\u5426\u8FDB \u884C\u6CA1\u7528\u8FDE\u63A5\uFF08\u5E9F\u5F03\uFF09\u7684\u56DE\u6536\uFF08\u9ED8\u8BA4\u4E3Afalse\uFF0C\u8C03\u6574\u4E3Atrue)
removeAbandoned=true
#\u8D85\u8FC7\u65F6\u95F4\u9650\u5236\uFF0C\u56DE\u6536\u6CA1\u6709\u7528(\u5E9F\u5F03)\u7684\u8FDE\u63A5\uFF08\u9ED8\u8BA4\u4E3A 300\u79D2\uFF0C\u8C03\u6574\u4E3A180\uFF09
removeAbandonedTimeout=180

@ -1,41 +0,0 @@
SQL.URL=jdbc:sqlserver://10.128.20.35:1433;DatabaseName=BDP2020
SQL.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
SQL.USER=PLMUser
SQL.PASSWORD=PLMUser
#\u4F4E\u538B\u8BDA\u521B
SQL.CC.URL=jdbc:sqlserver://10.128.10.135:1433;DatabaseName=CHINT_DB
SQL.CC.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
SQL.CC.USER=PLMUser
SQL.CC.PASSWORD=PLMUser
# Test
#SQL.SH.URL=jdbc:sqlserver://10.128.155.236:1433;DatabaseName=ISP.CADAssistant
#SQL.SH.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
#SQL.SH.USER=sa
#SQL.SH.PASSWORD=2wsx#EDC
#
SQL.SH.URL=jdbc:sqlserver://10.128.155.140:1433;DatabaseName=ISP.CADAssistant
SQL.SH.DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
SQL.SH.USER=sa
SQL.SH.PASSWORD=2wsx#EDC
SQL.TC.URL=jdbc:oracle:thin:@10.128.10.207:1521:tcprod
SQL.TC.DRIVER=oracle.jdbc.driver.OracleDriver
SQL.TC.USER=infodba
SQL.TC.PASSWORD=infodba
#SQL.TCDATA.URL=jdbc:oracle:thin:@192.168.0.103:1521:TC
SQL.TCDATA.URL=jdbc:oracle:thin:@10.128.18.139:1521:testdb
SQL.TCDATA.DRIVER=oracle.jdbc.driver.OracleDriver
SQL.TCDATA.USER=infodba
SQL.TCDATA.PASSWORD=infodba
SQL.TEMPLATE_TREE=select t.PmpcCode, t.PmpcCompanyCode, t.PmpcName, t.PmpcUpperCode, t.PmpcItem, t.PmpcPrhCode, t.PmpcEnd,t.PmpcCanzz,t.PmpcPType,t.PmpcMType from CcemVW_Pmpc t;
SQL.TEMPLATE=select t.PrhName,t.PrdLine,t.PrdNo,t.PrdFeatureCode,t.FeatureName,t.PrdCanInput,t.PrdSign from CcemVW_Prd t where t.prhcode = ? order by t.PrdNo
SQL.LOV=select t.PrddNo,t.PrddFeatureCode,t.PrddValue from CcemVW_Prdd t where t.PrddCode = ? and PrddLine = ? order by t.PrddNo
SQL.FEATURE=select t.FeatureCode,t.FeatureName from CcemVW_Feature t
SQL.GROUP=select t.ProductGroupCode,t.ProductGroupName from CcemVW_ProductGroup t

@ -1,191 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextArea?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.FlowPane?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<AnchorPane fx:id="coverPane" prefHeight="842.0" prefWidth="1326.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.CreateOuotation.MyController">
<children>
<GridPane fx:id="gridPane" layoutX="14.0" layoutY="108.0" prefHeight="189.0" prefWidth="1302.0" style="-fx-border-color: gray; -fx-border-width: 0.5px; -fx-border-radius: 5px;" AnchorPane.leftAnchor="9.0" AnchorPane.rightAnchor="10.0">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label fx:id="projectNameLabel" prefHeight="20.0" prefWidth="83.0" text="项目名称:" />
<TextField fx:id="projectNameTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" />
<Label fx:id="transformerModelLabel" prefHeight="20.0" prefWidth="83.0" text="变压器型号:" GridPane.rowIndex="1" />
<TextField fx:id="transformerModelTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<Label fx:id="noLoadLossLabel" prefHeight="20.0" prefWidth="83.0" text="空载损耗:" GridPane.rowIndex="2" />
<TextField fx:id="noLoadLossTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label fx:id="loadLossLabel" prefHeight="20.0" prefWidth="120.0" text="负载损耗(KW):" GridPane.rowIndex="3" />
<TextField fx:id="loadLossTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" GridPane.rowIndex="3" />
<Label fx:id="biddingNumberLabel" prefHeight="20.0" prefWidth="83.0" text="投标编号:" GridPane.columnIndex="2" />
<Label fx:id="capacityRatioLabel" prefHeight="20.0" prefWidth="120.0" text="容量比(MVA):" GridPane.columnIndex="2" GridPane.rowIndex="1" />
<Label fx:id="impedanceVoltageLabel" prefHeight="20.0" prefWidth="83.0" text="阻抗电压:" GridPane.columnIndex="2" GridPane.rowIndex="2" />
<TextField fx:id="biddingNumberTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" />
<TextField fx:id="capacityRatioTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="impedanceVoltageTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label fx:id="projectManagerLabel" prefHeight="20.0" prefWidth="83.0" text="项目经理:" GridPane.columnIndex="4" />
<Label fx:id="voltageRatioLabel" prefHeight="20.0" prefWidth="83.0" text="电压比(kV):" GridPane.columnIndex="4" GridPane.rowIndex="1" />
<Label fx:id="transportationWeightLabel" prefHeight="20.0" prefWidth="83.0" text="运输重(t):" GridPane.columnIndex="4" GridPane.rowIndex="2" />
<TextField fx:id="projectManagerTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" />
<TextField fx:id="voltageRatioTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" GridPane.rowIndex="1" />
<TextField fx:id="transportationWeightTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" GridPane.rowIndex="2" />
<Label fx:id="quantityLabel" prefHeight="20.0" prefWidth="83.0" text="数量:" GridPane.columnIndex="6" />
<TextField fx:id="quantityTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="7" />
<Label fx:id="totalWeightLabel" prefHeight="20.0" prefWidth="83.0" text="总重(t):" GridPane.columnIndex="6" GridPane.rowIndex="2" />
<TextField fx:id="totalWeightTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="7" GridPane.rowIndex="2" />
</children>
<padding>
<Insets right="15.0" />
</padding>
</GridPane>
<FlowPane fx:id="buttonPane" alignment="CENTER_RIGHT" hgap="40.0" layoutX="618.0" layoutY="766.0" prefHeight="60.0" prefWidth="698.0" AnchorPane.bottomAnchor="1.0" AnchorPane.rightAnchor="10.0">
<children>
<Button fx:id="saveButton" mnemonicParsing="false" prefWidth="100.0" text="保存" />
<Button fx:id="calculateButton" mnemonicParsing="false" prefWidth="100.0" text="计算金额" />
<Button fx:id="selectComparisonButton" mnemonicParsing="false" prefWidth="100.0" text="选择对比" />
<Button fx:id="compareButton" mnemonicParsing="false" prefWidth="100.0" text="对比" />
</children>
<padding>
<Insets right="30.0" />
</padding>
</FlowPane>
<BorderPane fx:id="tablePane" layoutX="14.0" layoutY="365.0" prefHeight="379.0" prefWidth="1302.0" AnchorPane.bottomAnchor="80.0" AnchorPane.leftAnchor="9.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="350.0">
<center>
<TableView fx:id="materialsTable" prefHeight="320.0" prefWidth="1302.0" BorderPane.alignment="CENTER">
<columns>
<TableColumn fx:id="no" prefWidth="54.0" />
<TableColumn fx:id="materialNameColumn" prefWidth="78.0" text="材料名称" />
<TableColumn fx:id="relatedMaterialColumn" prefWidth="76.0" text="材料名称" />
<TableColumn fx:id="specificationColumn" prefWidth="223.0" text="规格" />
<TableColumn fx:id="manufacturerColumn" minWidth="0.0" prefWidth="215.0" text="制造厂商" />
<TableColumn fx:id="quantityColumn" prefWidth="81.0" text="数量(净重)" />
<TableColumn fx:id="utilizationRateColumn" prefWidth="71.0" text="利用率" />
<TableColumn fx:id="unitColumn" prefWidth="60.0" text="单位" />
<TableColumn fx:id="unitPriceColumn" prefWidth="89.0" text="单价(元)" />
<TableColumn fx:id="amountColumn" prefWidth="85.0" text="金额(元)" />
<TableColumn fx:id="comparedQuantityColumn" prefWidth="74.0" text="对比数量" />
<TableColumn fx:id="comparedUnitPriceColumn" prefWidth="75.0" text="对比单价" />
<TableColumn fx:id="comparedResultColumn" prefWidth="114.0" text="对比结果(元)" />
</columns>
</TableView>
</center>
<bottom>
<BorderPane fx:id="bordPane" prefHeight="60.0" prefWidth="314.0" BorderPane.alignment="CENTER">
<center>
<FlowPane alignment="CENTER_RIGHT" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<children>
<FlowPane alignment="CENTER" prefHeight="43.0" prefWidth="447.0">
<children>
<Label alignment="CENTER" contentDisplay="CENTER" nodeOrientation="LEFT_TO_RIGHT" text="颜色备注:">
<FlowPane.margin>
<Insets top="10.0" />
</FlowPane.margin>
</Label>
<TextField editable="false" prefHeight="20.0" prefWidth="37.0" style="-fx-background-color: #FF6600;">
<FlowPane.margin>
<Insets top="10.0" />
</FlowPane.margin>
</TextField>
<Label text=":代表亏损 ">
<FlowPane.margin>
<Insets top="10.0" />
</FlowPane.margin>
</Label>
<TextField editable="false" prefHeight="20.0" prefWidth="37.0" style="-fx-background-color: #A9D08E;">
<FlowPane.margin>
<Insets top="10.0" />
</FlowPane.margin>
</TextField>
<Label text=":代表盈利 ">
<FlowPane.margin>
<Insets top="10.0" />
</FlowPane.margin>
</Label>
</children>
</FlowPane>
<Label prefWidth="86.0" text=" 总价:" />
<TextField fx:id="totalPriceTextField" prefHeight="30.0" prefWidth="131.0" />
</children>
</FlowPane>
</center>
<bottom>
<FlowPane alignment="CENTER_RIGHT" prefHeight="50.0" prefWidth="1237.0" BorderPane.alignment="CENTER">
<children>
<Label text="总价对比结果:" />
<TextField fx:id="totalPriceCompareTextField" prefHeight="30.0" prefWidth="131.0" />
</children>
</FlowPane>
</bottom>
<padding>
<Insets top="2.0" />
</padding>
</BorderPane>
</bottom>
</BorderPane>
<FlowPane alignment="TOP_RIGHT" hgap="40.0" layoutX="160.0" layoutY="26.0" prefHeight="48.0" prefWidth="1151.0" AnchorPane.rightAnchor="10.0">
<children>
<Label fx:id="costSheetTypeLabel" prefHeight="20.0" prefWidth="83.0" text="成本单类型:" />
<ComboBox fx:id="costSheetTypeComboBox" prefHeight="30.0" prefWidth="216.0" />
<Label fx:id="editionLabel" prefHeight="20.0" prefWidth="52.0" text="版次:" />
<ComboBox fx:id="editionComboBox" prefWidth="100.0" />
<Label fx:id="comparedCostSheetLabel" prefHeight="20.0" prefWidth="113.0" text="要对比的成本单:" />
<TextField fx:id="comparedCostSheetTextField" prefHeight="30.0" prefWidth="200.0" />
</children>
</FlowPane>
<GridPane fx:id="centerPane" layoutX="14.0" layoutY="304.0" prefHeight="48.0" prefWidth="1297.0" style="-fx-border-color: gray; -fx-border-width: 0.5px; -fx-border-radius: 5px;" AnchorPane.leftAnchor="9.0" AnchorPane.rightAnchor="10.0">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label fx:id="copperAmountLabel" prefHeight="20.0" prefWidth="83.0" text="用铜量(kg):" />
<TextField fx:id="copperAmountTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" />
<Label fx:id="copperMarketPriceLabel" prefHeight="20.0" prefWidth="139.0" text="铜价市场价(元/kg):" GridPane.columnIndex="2" />
<TextField fx:id="copperMarketPriceTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" />
<Label fx:id="voltageLevelLabel" prefHeight="20.0" prefWidth="74.0" text="电压等级:" GridPane.columnIndex="4" />
<TextField fx:id="voltageLevelTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" />
</children>
<padding>
<Insets right="15.0" />
</padding>
</GridPane>
<TextArea fx:id="changeReason" layoutX="106.0" layoutY="794.0" prefHeight="106.0" prefWidth="450.0" AnchorPane.bottomAnchor="1.0" />
<Label layoutX="37.0" layoutY="796.0" text="更改原因:" AnchorPane.bottomAnchor="90.0" />
</children>
<padding>
<Insets bottom="30.0" left="5.0" right="5.0" top="10.0" />
</padding>
</AnchorPane>

@ -1,123 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.Pane?>
<AnchorPane fx:id="coverPane" prefHeight="814.0" prefWidth="1329.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.CreateOuotation.MyController">
<children>
<Label fx:id="costSheetTypeLabel" layoutX="461.0" layoutY="50.0" prefHeight="20.0" prefWidth="83.0" text="成本单类型:" />
<ComboBox fx:id="costSheetTypeComboBox" layoutX="560.0" layoutY="45.0" prefWidth="160.0" />
<Label fx:id="editionLabel" layoutX="762.0" layoutY="50.0" prefHeight="20.0" prefWidth="52.0" text="版次:" />
<ComboBox fx:id="editionComboBox" layoutX="822.0" layoutY="45.0" prefWidth="100.0" />
<Label fx:id="comparedCostSheetLabel" layoutX="957.0" layoutY="50.0" prefHeight="20.0" prefWidth="113.0" text="要对比的成本单:" />
<TextField fx:id="comparedCostSheetTextField" layoutX="1093.0" layoutY="45.0" prefHeight="30.0" prefWidth="200.0" />
<Pane fx:id="centerPane" layoutX="14.0" layoutY="299.0" prefHeight="48.0" prefWidth="1302.0" style="-fx-border-color: gray; -fx-border-width: 0.5px; -fx-border-radius: 5px;">
<children>
<Label fx:id="copperAmountLabel" layoutX="25.0" layoutY="14.0" prefHeight="20.0" prefWidth="83.0" text="用铜量(kg):" />
<TextField fx:id="copperAmountTextField" layoutX="131.0" layoutY="9.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="copperMarketPriceLabel" layoutX="375.0" layoutY="14.0" prefHeight="20.0" prefWidth="139.0" text="铜价市场价(元/kg):" />
<TextField fx:id="copperMarketPriceTextField" layoutX="533.0" layoutY="9.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="voltageLevelLabel" layoutX="766.0" layoutY="14.0" prefHeight="20.0" prefWidth="74.0" text="电压等级:" />
<TextField fx:id="voltageLevelTextField" layoutX="854.0" layoutY="9.0" prefHeight="20.0" prefWidth="166.0" />
</children>
</Pane>
<Pane fx:id="tablePane" layoutX="14.0" layoutY="365.0" prefHeight="380.0" prefWidth="1302.0">
<children>
<TableView fx:id="materialsTable" prefHeight="309.0" prefWidth="1302.0">
<columns>
<TableColumn fx:id="no" prefWidth="75.0" />
<TableColumn fx:id="materialNameColumn" prefWidth="126.0" text="材料名称" />
<TableColumn fx:id="relatedMaterialColumn" prefWidth="122.0" text="材料名称" />
<TableColumn fx:id="specificationColumn" prefWidth="250.0" text="规格" />
<TableColumn fx:id="manufacturerColumn" minWidth="0.0" prefWidth="203.0" text="制造厂商" />
<TableColumn fx:id="quantityColumn" prefWidth="91.0" text="数量(净重)" />
<TableColumn fx:id="utilizationRateColumn" prefWidth="69.0" text="利用率" />
<TableColumn fx:id="unitColumn" prefWidth="70.0" text="单位" />
<TableColumn fx:id="unitPriceColumn" prefWidth="86.0" text="单价(元)" />
<TableColumn fx:id="amountColumn" prefWidth="94.0" text="金额(元)" />
<TableColumn fx:id="comparedResultColumn" prefWidth="115.0" text="对比结果(元)" />
</columns>
</TableView>
<BorderPane fx:id="bordPane" layoutX="974.0" layoutY="309.0" prefHeight="60.0" prefWidth="314.0">
<center>
<FlowPane alignment="CENTER_RIGHT" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<children>
<Label prefWidth="86.0" text=" 总价:" />
<TextField fx:id="totalPriceTextField" prefHeight="30.0" prefWidth="131.0" />
</children>
</FlowPane>
</center>
<bottom>
<FlowPane alignment="CENTER_RIGHT" prefHeight="50.0" prefWidth="314.0" BorderPane.alignment="CENTER">
<children>
<Label text="总价对比结果:" />
<TextField fx:id="totalPriceCompareTextField" prefHeight="30.0" prefWidth="131.0" />
</children>
</FlowPane>
</bottom>
<padding>
<Insets top="2.0" />
</padding>
</BorderPane>
</children>
</Pane>
<Button fx:id="saveButton" layoutX="750.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="保存" />
<Button fx:id="calculateButton" layoutX="900.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="计算金额" />
<Button fx:id="selectComparisonButton" layoutX="1050.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="选择对比" />
<Button fx:id="compareButton" layoutX="1200.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="对比" />
<GridPane fx:id="gridPane" layoutX="14.0" layoutY="108.0" prefHeight="189.0" prefWidth="1302.0">
<columnConstraints>
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints halignment="CENTER" hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label fx:id="projectNameLabel" prefHeight="20.0" prefWidth="83.0" text="项目名称:" />
<TextField fx:id="projectNameTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" />
<Label fx:id="transformerModelLabel" prefHeight="20.0" prefWidth="83.0" text="变压器型号:" GridPane.rowIndex="1" />
<TextField fx:id="transformerModelTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<Label fx:id="noLoadLossLabel" prefHeight="20.0" prefWidth="83.0" text="空载损耗:" GridPane.rowIndex="2" />
<TextField fx:id="noLoadLossTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<Label fx:id="loadLossLabel" prefHeight="20.0" prefWidth="120.0" text="负载损耗(KW):" GridPane.rowIndex="3" />
<TextField fx:id="loadLossTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="1" GridPane.rowIndex="3" />
<Label fx:id="biddingNumberLabel" prefHeight="20.0" prefWidth="83.0" text="投标编号:" GridPane.columnIndex="2" />
<Label fx:id="capacityRatioLabel" prefHeight="20.0" prefWidth="120.0" text="容量比(MVA):" GridPane.columnIndex="2" GridPane.rowIndex="1" />
<Label fx:id="impedanceVoltageLabel" prefHeight="20.0" prefWidth="83.0" text="阻抗电压:" GridPane.columnIndex="2" GridPane.rowIndex="2" />
<TextField fx:id="biddingNumberTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" />
<TextField fx:id="capacityRatioTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="impedanceVoltageTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label fx:id="projectManagerLabel" prefHeight="20.0" prefWidth="83.0" text="项目经理:" GridPane.columnIndex="4" />
<Label fx:id="voltageRatioLabel" prefHeight="20.0" prefWidth="83.0" text="电压比(kV):" GridPane.columnIndex="4" GridPane.rowIndex="1" />
<Label fx:id="transportationWeightLabel" prefHeight="20.0" prefWidth="83.0" text="运输重(t):" GridPane.columnIndex="4" GridPane.rowIndex="2" />
<TextField fx:id="projectManagerTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" />
<TextField fx:id="voltageRatioTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" GridPane.rowIndex="1" />
<TextField fx:id="transportationWeightTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="5" GridPane.rowIndex="2" />
<Label fx:id="quantityLabel" prefHeight="20.0" prefWidth="83.0" text="数量:" GridPane.columnIndex="6" />
<TextField fx:id="quantityTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="7" />
<Label fx:id="totalWeightLabel" prefHeight="20.0" prefWidth="83.0" text="总重(t):" GridPane.columnIndex="6" GridPane.rowIndex="2" />
<TextField fx:id="totalWeightTextField" prefHeight="20.0" prefWidth="166.0" GridPane.columnIndex="7" GridPane.rowIndex="2" />
</children>
</GridPane>
</children>
</AnchorPane>

@ -1,86 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ComboBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.Pane?>
<AnchorPane fx:id="coverPane" prefHeight="814.0" prefWidth="1329.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.CreateOuotation.MyController">
<children>
<Pane fx:id="topPane" layoutX="14.0" layoutY="91.0" prefHeight="189.0" prefWidth="1302.0" style="-fx-border-color: gray; -fx-border-width: 0.5px; -fx-border-radius: 5px;">
<children>
<Label fx:id="projectNameLabel" layoutX="23.0" layoutY="16.0" prefHeight="20.0" prefWidth="83.0" text="项目名称:" />
<Label fx:id="transformerModelLabel" layoutX="23.0" layoutY="60.0" prefHeight="20.0" prefWidth="83.0" text="变压器型号:" />
<Label fx:id="noLoadLossLabel" layoutX="23.0" layoutY="105.0" prefHeight="20.0" prefWidth="83.0" text="空载损耗:" />
<Label fx:id="loadLossLabel" layoutX="23.0" layoutY="148.0" prefHeight="20.0" prefWidth="120.0" text="负载损耗(KW):" />
<TextField fx:id="projectNameTextField" layoutX="129.0" layoutY="11.0" prefHeight="20.0" prefWidth="166.0" />
<TextField fx:id="transformerModelTextField" layoutX="129.0" layoutY="55.0" prefHeight="20.0" prefWidth="166.0" />
<TextField fx:id="noLoadLossTextField" layoutX="129.0" layoutY="100.0" prefHeight="20.0" prefWidth="166.0" />
<TextField fx:id="loadLossTextField" layoutX="129.0" layoutY="143.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="biddingNumberLabel" layoutX="355.0" layoutY="16.0" prefHeight="20.0" prefWidth="83.0" text="投标编号:" />
<TextField fx:id="biddingNumberTextField" layoutX="473.0" layoutY="11.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="capacityRatioLabel" layoutX="355.0" layoutY="60.0" prefHeight="20.0" prefWidth="120.0" text="容量比(MVA):" />
<TextField fx:id="capacityRatioTextField" layoutX="473.0" layoutY="55.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="impedanceVoltageLabel" layoutX="355.0" layoutY="105.0" prefHeight="20.0" prefWidth="83.0" text="阻抗电压:" />
<Label fx:id="projectManagerLabel" layoutX="705.0" layoutY="16.0" prefHeight="20.0" prefWidth="83.0" text="项目经理:" />
<TextField fx:id="impedanceVoltageTextField" layoutX="473.0" layoutY="100.0" prefHeight="20.0" prefWidth="166.0" />
<TextField fx:id="projectManagerTextField" layoutX="825.0" layoutY="11.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="voltageRatioLabel" layoutX="705.0" layoutY="60.0" prefHeight="20.0" prefWidth="83.0" text="电压比(kV):" />
<Label fx:id="transportationWeightLabel" layoutX="705.0" layoutY="105.0" prefHeight="20.0" prefWidth="83.0" text="运输重(t):" />
<TextField fx:id="voltageRatioTextField" layoutX="825.0" layoutY="55.0" prefHeight="20.0" prefWidth="166.0" />
<TextField fx:id="transportationWeightTextField" layoutX="825.0" layoutY="100.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="quantityLabel" layoutX="1044.0" layoutY="15.0" prefHeight="20.0" prefWidth="83.0" text="数量:" />
<Label fx:id="totalWeightLabel" layoutX="1044.0" layoutY="105.0" prefHeight="20.0" prefWidth="83.0" text="总重(t):" />
<TextField fx:id="quantityTextField" layoutX="1113.0" layoutY="11.0" prefHeight="20.0" prefWidth="166.0" />
<TextField fx:id="totalWeightTextField" layoutX="1113.0" layoutY="100.0" prefHeight="20.0" prefWidth="166.0" />
</children>
</Pane>
<Label fx:id="costSheetTypeLabel" layoutX="461.0" layoutY="50.0" prefHeight="20.0" prefWidth="83.0" text="成本单类型:" />
<ComboBox fx:id="costSheetTypeComboBox" layoutX="560.0" layoutY="45.0" prefWidth="160.0" />
<Label fx:id="editionLabel" layoutX="762.0" layoutY="50.0" prefHeight="20.0" prefWidth="52.0" text="版次:" />
<ComboBox fx:id="editionComboBox" layoutX="822.0" layoutY="45.0" prefWidth="100.0" />
<Label fx:id="comparedCostSheetLabel" layoutX="957.0" layoutY="50.0" prefHeight="20.0" prefWidth="113.0" text="要对比的成本单:" />
<TextField fx:id="comparedCostSheetTextField" layoutX="1093.0" layoutY="45.0" prefHeight="30.0" prefWidth="200.0" />
<Pane fx:id="centerPane" layoutX="14.0" layoutY="299.0" prefHeight="48.0" prefWidth="1302.0" style="-fx-border-color: gray; -fx-border-width: 0.5px; -fx-border-radius: 5px;">
<children>
<Label fx:id="copperAmountLabel" layoutX="25.0" layoutY="14.0" prefHeight="20.0" prefWidth="83.0" text="用铜量(kg):" />
<TextField fx:id="copperAmountTextField" layoutX="131.0" layoutY="9.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="copperMarketPriceLabel" layoutX="375.0" layoutY="14.0" prefHeight="20.0" prefWidth="139.0" text="铜价市场价(元/kg):" />
<TextField fx:id="copperMarketPriceTextField" layoutX="533.0" layoutY="9.0" prefHeight="20.0" prefWidth="166.0" />
<Label fx:id="voltageLevelLabel" layoutX="766.0" layoutY="14.0" prefHeight="20.0" prefWidth="74.0" text="电压等级:" />
<TextField fx:id="voltageLevelTextField" layoutX="854.0" layoutY="9.0" prefHeight="20.0" prefWidth="166.0" />
</children>
</Pane>
<Pane fx:id="tablePane" layoutX="14.0" layoutY="365.0" prefHeight="380.0" prefWidth="1302.0">
<children>
<TableView fx:id="materialsTable" prefHeight="309.0" prefWidth="1302.0">
<columns>
<TableColumn fx:id="no" prefWidth="75.0" />
<TableColumn fx:id="materialNameColumn" prefWidth="126.0" text="材料名称" />
<TableColumn fx:id="relatedMaterialColumn" prefWidth="122.0" text="材料名称" />
<TableColumn fx:id="specificationColumn" prefWidth="250.0" text="规格" />
<TableColumn fx:id="manufacturerColumn" minWidth="0.0" prefWidth="203.0" text="制造厂商" />
<TableColumn fx:id="quantityColumn" prefWidth="91.0" text="数量(净重)" />
<TableColumn fx:id="utilizationRateColumn" prefWidth="69.0" text="利用率" />
<TableColumn fx:id="unitColumn" prefWidth="70.0" text="单位" />
<TableColumn fx:id="unitPriceColumn" prefWidth="86.0" text="单价(元)" />
<TableColumn fx:id="amountColumn" prefWidth="94.0" text="金额(元)" />
<TableColumn fx:id="comparedResultColumn" prefWidth="115.0" text="对比结果(元)" />
</columns>
</TableView>
<TextField fx:id="totalPriceTextField" layoutX="1171.0" layoutY="308.0" prefHeight="30.0" prefWidth="131.0" />
<Label layoutX="1085.0" layoutY="313.0" prefWidth="86.0" text=" 总价:" />
<Label layoutX="1050.0" layoutY="346.0" text="总价对比结果:" />
<TextField fx:id="totalPriceCompareTextField" layoutX="1171.0" layoutY="341.0" prefHeight="30.0" prefWidth="131.0" />
</children>
</Pane>
<Button fx:id="saveButton" layoutX="750.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="保存" />
<Button fx:id="calculateButton" layoutX="900.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="计算金额" />
<Button fx:id="selectComparisonButton" layoutX="1050.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="选择对比" />
<Button fx:id="compareButton" layoutX="1200.0" layoutY="759.0" mnemonicParsing="false" prefWidth="100.0" text="对比" />
</children>
</AnchorPane>

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<Pane fx:id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="840.0" prefWidth="1270.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.GZXQ.GZXQController">
<children>
<BorderPane fx:id="bpane" layoutX="5.0" layoutY="14.0" prefHeight="840.0" prefWidth="1261.0">
<top>
<TitledPane fx:id="titlePaneCondition" animated="false" prefHeight="182.0" prefWidth="1034.0" text="条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="151.0" prefWidth="964.0">
<children>
<GridPane fx:id="gridPaneCondition" layoutX="13.0" layoutY="11.0" prefHeight="114.0" prefWidth="1218.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="109.0" minWidth="10.0" prefWidth="86.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="164.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="112.0" minWidth="10.0" prefWidth="93.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="233.0" minWidth="10.0" prefWidth="185.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="103.0" minWidth="10.0" prefWidth="95.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="246.0" minWidth="10.0" prefWidth="191.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="189.0" minWidth="10.0" prefWidth="97.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="212.0" minWidth="10.0" prefWidth="212.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<TextField fx:id="jTextField1" GridPane.columnIndex="1" />
<TextField fx:id="jTextField2" prefHeight="30.0" prefWidth="189.0" GridPane.columnIndex="3" />
<TextField fx:id="jTextField5" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="jTextField6" prefHeight="30.0" prefWidth="152.0" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="jTextField7" GridPane.columnIndex="5" GridPane.rowIndex="1" />
<TextField fx:id="jTextField3" GridPane.columnIndex="5" />
<TextField fx:id="jTextField8" GridPane.columnIndex="7" GridPane.rowIndex="1" />
<TextField fx:id="jTextField4" prefHeight="30.0" prefWidth="168.0" GridPane.columnIndex="7" />
<TextField fx:id="jTextField9" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField fx:id="jTextField10" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label text="流程实例ID" GridPane.halignment="CENTER" />
<Label text="工装名称" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="产品名称" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="工艺负责人" GridPane.columnIndex="2" GridPane.halignment="CENTER" />
<Label text="委托理由" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="工装等级" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="产品型号" GridPane.columnIndex="4" GridPane.halignment="CENTER" />
<Label text="计划时间" GridPane.columnIndex="4" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label GridPane.columnIndex="4" GridPane.rowIndex="2" />
<Label text="工装编号" GridPane.columnIndex="6" GridPane.halignment="CENTER" />
<Label text="申请人" GridPane.columnIndex="6" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Button fx:id="jButton2" mnemonicParsing="false" onAction="#cxAction" prefHeight="30.0" prefWidth="98.0" text="查 询" GridPane.columnIndex="7" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="BOTTOM">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Button>
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
<center>
<TitledPane fx:id="titlePaneResult" animated="false" prefHeight="620.0" prefWidth="966.0" text="结果" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="570.0" prefWidth="964.0">
<children>
<BorderPane fx:id="tablePane" layoutX="8.0" layoutY="6.0" prefHeight="573.0" prefWidth="1245.0">
<top>
<TableView fx:id="tableView" prefHeight="544.0" prefWidth="1195.0" BorderPane.alignment="CENTER" />
</top>
<bottom>
<GridPane fx:id="gridPaneResult" prefHeight="29.0" prefWidth="948.0" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="2" />
<Button fx:id="syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="3" />
<Button mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="4" fx:id="xyy" />
<Button fx:id="wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="5" />
</children>
</GridPane>
</bottom>
</BorderPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</center>
</BorderPane>
</children>
</Pane>

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<Pane fx:id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="840.0" prefWidth="1270.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.GZXQ.GZXQController">
<children>
<BorderPane fx:id="bpane" layoutX="5.0" layoutY="14.0" prefHeight="840.0" prefWidth="1261.0">
<top>
<TitledPane fx:id="titlePaneCondition" animated="false" prefHeight="182.0" prefWidth="1034.0" text="条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="151.0" prefWidth="964.0">
<children>
<GridPane fx:id="gridPaneCondition" layoutX="13.0" layoutY="11.0" prefHeight="114.0" prefWidth="1218.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="109.0" minWidth="10.0" prefWidth="86.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="164.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="112.0" minWidth="10.0" prefWidth="93.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="233.0" minWidth="10.0" prefWidth="185.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="103.0" minWidth="10.0" prefWidth="95.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="246.0" minWidth="10.0" prefWidth="191.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="189.0" minWidth="10.0" prefWidth="97.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="212.0" minWidth="10.0" prefWidth="212.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<TextField fx:id="jTextField1" GridPane.columnIndex="1" />
<TextField fx:id="jTextField2" prefHeight="30.0" prefWidth="189.0" GridPane.columnIndex="3" />
<TextField fx:id="jTextField5" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="jTextField6" prefHeight="30.0" prefWidth="152.0" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="jTextField3" GridPane.columnIndex="5" />
<TextField fx:id="jTextField8" GridPane.columnIndex="7" GridPane.rowIndex="1" />
<TextField fx:id="jTextField4" prefHeight="30.0" prefWidth="168.0" GridPane.columnIndex="7" />
<TextField fx:id="jTextField9" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField fx:id="jTextField10" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label text="流程实例ID" GridPane.halignment="CENTER" />
<Label text="工装名称" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="产品名称" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="工艺负责人" GridPane.columnIndex="2" GridPane.halignment="CENTER" />
<Label text="委托理由" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="工装等级" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="产品型号" GridPane.columnIndex="4" GridPane.halignment="CENTER" />
<Label text="计划时间" GridPane.columnIndex="4" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label GridPane.columnIndex="4" GridPane.rowIndex="2" />
<Label text="工装编号" GridPane.columnIndex="6" GridPane.halignment="CENTER" />
<Label text="申请人" GridPane.columnIndex="6" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Button fx:id="jButton2" mnemonicParsing="false" onAction="#cxAction" prefHeight="30.0" prefWidth="98.0" text="查 询" GridPane.columnIndex="7" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="BOTTOM">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Button>
<DatePicker GridPane.columnIndex="5" GridPane.rowIndex="1" />
<DatePicker fx:id="jTextField7" GridPane.columnIndex="5" GridPane.rowIndex="1" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
<center>
<TitledPane fx:id="titlePaneResult" animated="false" prefHeight="620.0" prefWidth="966.0" text="结果" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="570.0" prefWidth="964.0">
<children>
<BorderPane fx:id="tablePane" layoutX="8.0" layoutY="6.0" prefHeight="573.0" prefWidth="1245.0">
<top>
<TableView fx:id="tableView" prefHeight="544.0" prefWidth="1195.0" BorderPane.alignment="CENTER" />
</top>
<bottom>
<GridPane fx:id="gridPaneResult" prefHeight="29.0" prefWidth="948.0" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="2" />
<Button fx:id="syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="3" />
<Button mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="4" fx:id="xyy" />
<Button fx:id="wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="5" />
</children>
</GridPane>
</bottom>
</BorderPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</center>
</BorderPane>
</children>
</Pane>

@ -1,24 +0,0 @@
preferr=\u9996\u9009\u9879\u914D\u7F6E\u4E0D\u6B63\u786E
err=\u9519\u8BEF\uFF1A
#ProcessCheckDialog
title=\u5DE5\u827A\u8DEF\u7EBF\u9F50\u5957\u6027\u68C0\u67E5
cols=\u5E8F\u53F7;\u7269\u6599\u7F16\u7801;\u7269\u6599\u540D\u79F0;\u662F\u5426\u5173\u8054\u5DE5\u827A\u8DEF\u7EBF
xmzx=\u9879\u76EE\u6267\u884C
zztz=13-\u603B\u88C5\u56FE\u7EB8
msg1=\u8BF7\u9009\u62E9\u9879\u76EE\u5BF9\u8C61
msg2=\u672A\u627E\u5230\u603B\u88C5\u56FE\u7EB8
yes=\u662F
no=\u5426
#AssProcessAutoFeedingCommand
cpxh=\u4EA7\u54C1\u578B\u53F7
info1=\u8BF7\u767B\u5F55\u6B63\u786E\u7EC4
info2=\u8BF7\u9009\u62E9BOM\u884C\u6216\u8005\u7248\u672C\u5BF9\u8C61
info3=\u8BF7\u9009\u62E9PBOM\u5BF9\u8C61
info4=\u672A\u627E\u5230\u4EA7\u6210\u54C1\u6587\u4EF6\u5939\uFF0C\u8BF7\u68C0\u67E5
info5=\u5B58\u5728\u9876\u5C42P\u7269\u6599\u6CA1\u6709\u5173\u8054\u56FE\u7EB8\uFF0C\u8BF7\u68C0\u67E5
info6=\u5F53\u524D\u4EA7\u54C1\u578B\u53F7\u672A\u7EF4\u62A4\uFF0C\u8BF7\u9009\u62E9\u5BF9\u5E94\u4EA7\u54C1\u65CF
info7=\u6B63\u5728\u8FDB\u884C\u4E00\u952E\u6307\u6D3E\u5DE5\u827A\u8DEF\u7EBF......
info8=\u6307\u6D3E\u5DE5\u827A\u8DEF\u7EBF\u5B58\u5728\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5\uFF1A\n
info9=\u6B63\u5728\u8FDB\u884C\u81EA\u52A8\u6295\u6599......
info10=\u81EA\u52A8\u6295\u6599\u5B58\u5728\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5\uFF1A\n
info11=\u6307\u6D3E\u5DE5\u827A\u8DEF\u7EBF\u4E0E\u81EA\u52A8\u6295\u6599\u5B8C\u6210

@ -1,24 +0,0 @@
preferr=\u9996\u9009\u9879\u914D\u7F6E\u4E0D\u6B63\u786E
#ProcessCheckDialog
err=\u9519\u8BEF\uFF1A
title=\u5DE5\u827A\u8DEF\u7EBF\u9F50\u5957\u6027\u68C0\u67E5
cols=\u5E8F\u53F7;\u7269\u6599\u7F16\u7801;\u7269\u6599\u540D\u79F0;\u662F\u5426\u5173\u8054\u5DE5\u827A\u8DEF\u7EBF
xmzx=\u9879\u76EE\u6267\u884C
zztz=13-\u603B\u88C5\u56FE\u7EB8
msg1=\u8BF7\u9009\u62E9\u9879\u76EE\u5BF9\u8C61
msg2=\u672A\u627E\u5230\u603B\u88C5\u56FE\u7EB8
yes=\u662F
no=\u5426
#AssProcessAutoFeedingCommand
cpxh=\u4EA7\u54C1\u578B\u53F7
info1=\u8BF7\u767B\u5F55\u6B63\u786E\u7EC4
info2=\u8BF7\u9009\u62E9BOM\u884C\u6216\u8005\u7248\u672C\u5BF9\u8C61
info3=\u8BF7\u9009\u62E9PBOM\u5BF9\u8C61
info4=\u672A\u627E\u5230\u4EA7\u6210\u54C1\u6587\u4EF6\u5939\uFF0C\u8BF7\u68C0\u67E5
info5=\u5B58\u5728\u9876\u5C42P\u7269\u6599\u6CA1\u6709\u5173\u8054\u56FE\u7EB8\uFF0C\u8BF7\u68C0\u67E5
info6=\u5F53\u524D\u4EA7\u54C1\u578B\u53F7\u672A\u7EF4\u62A4\uFF0C\u8BF7\u9009\u62E9\u5BF9\u5E94\u4EA7\u54C1\u65CF
info7=\u6B63\u5728\u8FDB\u884C\u4E00\u952E\u6307\u6D3E\u5DE5\u827A\u8DEF\u7EBF......
info8=\u6307\u6D3E\u5DE5\u827A\u8DEF\u7EBF\u5B58\u5728\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5\uFF1A\n
info9=\u6B63\u5728\u8FDB\u884C\u81EA\u52A8\u6295\u6599......
info10=\u81EA\u52A8\u6295\u6599\u5B58\u5728\u5F02\u5E38\uFF0C\u8BF7\u68C0\u67E5\uFF1A\n
info11=\u6307\u6D3E\u5DE5\u827A\u8DEF\u7EBF\u4E0E\u81EA\u52A8\u6295\u6599\u5B8C\u6210

@ -4,12 +4,8 @@
<extension point="org.eclipse.ui.commands"> <extension point="org.eclipse.ui.commands">
<!--工具条--> <!--工具条-->
<!-- <command name="创建RDM研发项目" id="com.connor.plm.rdmCreate.RdmCreateHandler"/>-->
<command name="SRM图纸下发查询" id="com.chint.plm.SearchSapResult9.PlclIDHandler"/> <command name="SRM图纸下发查询" id="com.chint.plm.SearchSapResult9.PlclIDHandler"/>
<command name="SRM图纸下发" id="com.connor.plm.srm.SRMHandler"/> <command name="SRM图纸下发" id="com.connor.plm.srm.SRMHandler"/>
<command name="更新图纸自制外购" id="com.connor.plm.txdp.GXTZHandler"/>
<command name="铁心数据管理" id="com.connor.plm.txdp.TXDPHandler"/>
<command name="标准工时维护" id="com.connor.plm.txdp.BZGSHandler"/>
<command name="获取售前资料" id="com.connor.plm.srm.FileIntegrationHandler"/> <command name="获取售前资料" id="com.connor.plm.srm.FileIntegrationHandler"/>
<command name="DBOM转EBOM" id="com.connor.chint.yunpi.command.DbomToECommand"/> <command name="DBOM转EBOM" id="com.connor.chint.yunpi.command.DbomToECommand"/>
<command name="EBOM转PBOM" id="com.connor.chint.yunpi.command.EbomToPCommand"/> <command name="EBOM转PBOM" id="com.connor.chint.yunpi.command.EbomToPCommand"/>
@ -17,7 +13,6 @@
<command name="框架BOM传递SAP" id="com.connor.chint.yunpi.command.BomSapKjSendCommand"/> <command name="框架BOM传递SAP" id="com.connor.chint.yunpi.command.BomSapKjSendCommand"/>
<command name="项目BOM传递SAP" id="com.connor.chint.yunpi.command.BomSapWhCommand"/> <command name="项目BOM传递SAP" id="com.connor.chint.yunpi.command.BomSapWhCommand"/>
<command name="拆卸一览表下发" id="com.connor.chint.yunpi.command.ZxjcCommand"/> <command name="拆卸一览表下发" id="com.connor.chint.yunpi.command.ZxjcCommand"/>
<command name="拆卸一览表默认数据管理" id="com.connor.chint.yunpi.command.QueryZxjcHandler"/>
<command name="部件BOM传递SAP" id="com.connor.chint.yunpi.command.BomSapWhBjCommand"/> <command name="部件BOM传递SAP" id="com.connor.chint.yunpi.command.BomSapWhBjCommand"/>
<command name="物料编码批量申请-全部图纸" id="com.chint.plm.applyMatnr.ApplyMatnrCommand#all"/> <command name="物料编码批量申请-全部图纸" id="com.chint.plm.applyMatnr.ApplyMatnrCommand#all"/>
<!--正泰定制下 中压开关--> <!--正泰定制下 中压开关-->
@ -46,12 +41,8 @@
<extension <extension
point="org.eclipse.ui.handlers"> point="org.eclipse.ui.handlers">
<handler commandId="com.connor.plm.srm.FileIntegrationHandler" class="com.connor.plm.srm.FileIntegrationHandler"/> <handler commandId="com.connor.plm.srm.FileIntegrationHandler" class="com.connor.plm.srm.FileIntegrationHandler"/>
<!--<handler commandId="com.connor.plm.rdmCreate.RdmCreateHandler" class="com.connor.plm.rdmCreate.RdmCreateHandler"/>-->
<handler commandId="com.chint.plm.SearchSapResult9.PlclIDHandler" class="com.chint.plm.SearchSapResult9.PlclIDHandler"/> <handler commandId="com.chint.plm.SearchSapResult9.PlclIDHandler" class="com.chint.plm.SearchSapResult9.PlclIDHandler"/>
<handler commandId="com.connor.plm.srm.SRMHandler" class="com.connor.plm.srm.SRMHandler"/> <handler commandId="com.connor.plm.srm.SRMHandler" class="com.connor.plm.srm.SRMHandler"/>
<handler commandId="com.connor.plm.txdp.TXDPHandler" class="com.connor.plm.txdp.TXDPHandler"/>
<handler commandId="com.connor.plm.txdp.BZGSHandler" class="com.connor.plm.txdp.BZGSHandler"/>
<handler commandId="com.connor.plm.txdp.GXTZHandler" class="com.connor.plm.txdp.GXTZHandler"/>
<handler commandId="com.chint.plm.createbomdifference.BomCompareComd" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.chint.plm.createbomdifference.BomCompareComd" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.chint.plm.createbomdifference.ExtractDiffComd" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.chint.plm.createbomdifference.ExtractDiffComd" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.chint.plm.extractdraw.ExtractDrawComd" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.chint.plm.extractdraw.ExtractDrawComd" class="com.connor.chint.yunpi.KHandler"/>
@ -68,7 +59,6 @@
<handler commandId="com.connor.chint.yunpi.command.EbomToPCommand" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.connor.chint.yunpi.command.EbomToPCommand" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.connor.chint.yunpi.command.BomSapWhCommand" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.connor.chint.yunpi.command.BomSapWhCommand" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.connor.chint.yunpi.command.ZxjcCommand" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.connor.chint.yunpi.command.ZxjcCommand" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.connor.chint.yunpi.command.QueryZxjcHandler" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.connor.chint.yunpi.command.BomSapWhBjCommand" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.connor.chint.yunpi.command.BomSapWhBjCommand" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.chint.plm.createKjBom.CreateKjBomCommand" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.chint.plm.createKjBom.CreateKjBomCommand" class="com.connor.chint.yunpi.KHandler"/>
<handler commandId="com.connor.chint.yunpi.command.DbomToECommand" class="com.connor.chint.yunpi.KHandler"/> <handler commandId="com.connor.chint.yunpi.command.DbomToECommand" class="com.connor.chint.yunpi.KHandler"/>
@ -83,34 +73,6 @@
</extension> </extension>
<extension point="org.eclipse.ui.menus"> <extension point="org.eclipse.ui.menus">
<menuContribution locationURI="menu:com.connor.chint.sap2.menu.test?after=additions">
<command commandId = "com.connor.plm.GZXQHandler" id = "com.connor.plm.GZXQHandler">
</command>
<command commandId = "com.connor.plm.txdp.TXDPHandler" id = "com.connor.plm.txdp.TXDPHandler">
<visibleWhen>
<and>
<or>
<reference definitionId="com.teamcenter.rac.ui.inMainPerspective"/>
<reference definitionId="com.teamcenter.rac.pse.inMainView"/>
</or>
<with
variable="rac_command_suppression">
<not>
<iterate
operator="or">
<equals
value="com.connor.plm.txdp.TXDPHandler">
</equals>
</iterate>
</not>
</with>
</and>
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions"> <menuContribution locationURI="menu:org.eclipse.ui.main.menu?after=additions">
@ -524,29 +486,6 @@
</visibleWhen> </visibleWhen>
</command> </command>
<command commandId = "com.connor.chint.yunpi.command.QueryZxjcHandler" id = "com.connor.chint.yunpi.command.QueryZxjcHandler">
<visibleWhen>
<and>
<or>
<reference definitionId="com.teamcenter.rac.ui.inMainPerspective"/>
<reference definitionId="com.teamcenter.rac.pse.inMainView"/>
</or>
<with
variable="rac_command_suppression">
<not>
<iterate
operator="or">
<equals
value="com.connor.chint.yunpi.command.QueryZxjcHandler">
</equals>
</iterate>
</not>
</with>
</and>
</visibleWhen>
</command>
<command commandId = "com.connor.chint.yunpi.command.BomDcSapCommand" id = "com.connor.chint.yunpi.command.BomDcSapCommand"> <command commandId = "com.connor.chint.yunpi.command.BomDcSapCommand" id = "com.connor.chint.yunpi.command.BomDcSapCommand">
<visibleWhen> <visibleWhen>
<and> <and>
@ -698,71 +637,6 @@
</visibleWhen> </visibleWhen>
</command> </command>
<command commandId = "com.connor.plm.txdp.TXDPHandler" id = "com.connor.plm.txdp.TXDPHandler">
<visibleWhen>
<and>
<or>
<reference definitionId="com.teamcenter.rac.ui.inMainPerspective"/>
<reference definitionId="com.teamcenter.rac.pse.inMainView"/>
</or>
<with
variable="rac_command_suppression">
<not>
<iterate
operator="or">
<equals
value="com.connor.plm.txdp.TXDPHandler">
</equals>
</iterate>
</not>
</with>
</and>
</visibleWhen>
</command>
<command commandId = "com.connor.plm.txdp.BZGSHandler" id = "com.connor.plm.txdp.BZGSHandler">
<visibleWhen>
<and>
<or>
<reference definitionId="com.teamcenter.rac.ui.inMainPerspective"/>
<reference definitionId="com.teamcenter.rac.pse.inMainView"/>
</or>
<with
variable="rac_command_suppression">
<not>
<iterate
operator="or">
<equals
value="com.connor.plm.txdp.BZGSHandler">
</equals>
</iterate>
</not>
</with>
</and>
</visibleWhen>
</command>
<command commandId = "com.connor.plm.txdp.GXTZHandler" id = "com.connor.plm.txdp.GXTZHandler">
<visibleWhen>
<and>
<or>
<reference definitionId="com.teamcenter.rac.ui.inMainPerspective"/>
<reference definitionId="com.teamcenter.rac.pse.inMainView"/>
</or>
<with
variable="rac_command_suppression">
<not>
<iterate
operator="or">
<equals
value="com.connor.plm.txdp.GXTZHandler">
</equals>
</iterate>
</not>
</with>
</and>
</visibleWhen>
</command>
<command commandId = "com.connor.plm.srm.FileIntegrationHandler" id = "com.connor.plm.srm.FileIntegrationHandler"> <command commandId = "com.connor.plm.srm.FileIntegrationHandler" id = "com.connor.plm.srm.FileIntegrationHandler">
<visibleWhen> <visibleWhen>
@ -809,29 +683,7 @@
</visibleWhen> </visibleWhen>
</command> </command>
<!--
<command commandId = "com.connor.plm.rdmCreate.RdmCreateHandler" id = "com.connor.plm.rdmCreate.RdmCreateHandler">
<visibleWhen>
<and>
<or>
<reference definitionId="com.teamcenter.rac.ui.inMainPerspective"/>
<reference definitionId="com.teamcenter.rac.pse.inMainView"/>
</or>
<with
variable="rac_command_suppression">
<not>
<iterate
operator="or">
<equals
value="com.connor.plm.rdmCreate.RdmCreateHandler">
</equals>
</iterate>
</not>
</with>
</and>
</visibleWhen>
</command>
-->
</menuContribution> </menuContribution>
</extension> </extension>

@ -13,7 +13,6 @@ public class ApplyBean {
this.mCode = mCode; this.mCode = mCode;
} }
public String getIdType() { public String getIdType() {
return idType; return idType;
} }

@ -207,7 +207,7 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
// 220103001 CHINT_MadMaterialApply // 220103001 CHINT_MadMaterialApply
for(ApplyBean bean:beans) { for(ApplyBean bean:beans) {
if(bean.getIdType().equals("1ZD") || bean.getIdType().equals("6ZD")) { if(bean.getIdType().equals("1ZD")) {
m_code1 = bean.getmCode(); m_code1 = bean.getmCode();
}else { }else {
m_code2 = bean.getmCode(); m_code2 = bean.getmCode();
@ -388,7 +388,7 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
for(TCComponentItemRevision generalRev:general_maps.keySet()) { for(TCComponentItemRevision generalRev:general_maps.keySet()) {
String item_id = generalRev.getStringProperty("item_id"); String item_id = generalRev.getStringProperty("item_id");
String stringProperty = generalRev.getStringProperty("object_name"); String stringProperty = generalRev.getStringProperty("object_name");
if(item_id.startsWith("1ZD") || item_id.startsWith("6ZD")) { if(item_id.startsWith("1ZD")) {
if(!nameList.contains(stringProperty)) { if(!nameList.contains(stringProperty)) {
errBuff.append(generalRev.toString()).append("\n"); errBuff.append(generalRev.toString()).append("\n");
} }
@ -830,7 +830,7 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
} }
String bpNo = properties[0];//rev.getProperty("item_id"); // 非必填 String bpNo = properties[0];//rev.getProperty("item_id"); // 非必填
String zt2_DrawingNo = properties[2];//rev.getProperty("zt2_DrawingNo"); String zt2_DrawingNo = properties[2];//rev.getProperty("zt2_DrawingNo");
if (!KUtil.isEmpty(zt2_DrawingNo) && !stuf.equalsIgnoreCase("1ZD") && !stuf.equalsIgnoreCase("6ZD")) { if (!KUtil.isEmpty(zt2_DrawingNo)&& !stuf.equalsIgnoreCase("1ZD")) {
if (!bpNo.equals(zt2_DrawingNo)) if (!bpNo.equals(zt2_DrawingNo))
bpNo = zt2_DrawingNo; bpNo = zt2_DrawingNo;
} }
@ -984,7 +984,7 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
} }
String bpNo = properties[0].toString();// rev.getProperty("item_id"); // 非必填 String bpNo = properties[0].toString();// rev.getProperty("item_id"); // 非必填
String zt2_DrawingNo = properties[2];// rev.getProperty("zt2_DrawingNo"); String zt2_DrawingNo = properties[2];// rev.getProperty("zt2_DrawingNo");
if (!KUtil.isEmpty(zt2_DrawingNo) && !stuf.equalsIgnoreCase("1ZD") && !stuf.equalsIgnoreCase("6ZD")) { if (!KUtil.isEmpty(zt2_DrawingNo) && !stuf.equalsIgnoreCase("1ZD")) {
if (!bpNo.equals(zt2_DrawingNo)) if (!bpNo.equals(zt2_DrawingNo))
bpNo = zt2_DrawingNo; bpNo = zt2_DrawingNo;
} }
@ -1094,8 +1094,7 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
String item_id = revProperties[0]; String item_id = revProperties[0];
if (item_id.length() >= 3) { if (item_id.length() >= 3) {
String stuf = item_id.substring(0, 3); String stuf = item_id.substring(0, 3);
if (stuf.equalsIgnoreCase("2ZD") || stuf.equalsIgnoreCase("4ZD") if (stuf.equalsIgnoreCase("2ZD") || stuf.equalsIgnoreCase("4ZD") || stuf.equalsIgnoreCase("1ZD")) {
|| stuf.equalsIgnoreCase("1ZD") || stuf.equalsIgnoreCase("6ZD")) {
// flag = false; // flag = false;
// 开始根据通用件规格属性来判断是否需要申请物料 // 开始根据通用件规格属性来判断是否需要申请物料
String zt2_TYJSpec = line.getProperty("ZT2_TYSpecifications"); String zt2_TYJSpec = line.getProperty("ZT2_TYSpecifications");
@ -1145,11 +1144,6 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
general_maps.put(rev, specs); general_maps.put(rev, specs);
} }
} }
}else {//20240730ÔöźÓ˛éŃŻ˛éľ˝ľÄÂßź­
if(comps!= null && comps.length > 0) {
partRevs.add(comps[0]);
}
} }
@ -1176,8 +1170,7 @@ public class ApplyMatnrOp extends AbstractAIFOperation {
String bpNo = item_id; String bpNo = item_id;
//String zt2_DrawingNo = rev.getProperty("zt2_DrawingNo"); //String zt2_DrawingNo = rev.getProperty("zt2_DrawingNo");
String zt2_DrawingNo = revProperties[2]; String zt2_DrawingNo = revProperties[2];
if (!KUtil.isEmpty(zt2_DrawingNo) && !stuf.equalsIgnoreCase("1ZD") if (!KUtil.isEmpty(zt2_DrawingNo) && !stuf.equalsIgnoreCase("1ZD")) {
&& !stuf.equalsIgnoreCase("6ZD")) {
if (!item_id.equals(zt2_DrawingNo)) if (!item_id.equals(zt2_DrawingNo))
bpNo = zt2_DrawingNo; bpNo = zt2_DrawingNo;
} }

@ -1118,72 +1118,28 @@ public class ApplyMatnrOp2 extends AbstractAIFOperation {
general_maps.put(rev, specs); general_maps.put(rev, specs);
} }
}else if(stuf.equalsIgnoreCase("2ZD")){ }else if(stuf.equalsIgnoreCase("2ZD")){
//20240426 增加查询的代码 partRevs.add(comps[0]);
Map<String, String> field = new HashMap<String, String>(); boolean needApply = true;
String value = "* " + spec; for(TCComponent comp:comps) {
System.out.println("查询值:" + value+"item_id==>"+item_id); String specs = comp.getProperty("zt2_Specifications"); // ·Ç±ØÌî
field.put("描述", value); if(specs.equals(spec)) {
field.put("关联的图号", item_id); needApply = false;
TCComponentContextList contxt = KUtil.query(session, "chint_query_material_test", field); break;
//"*"+item_id+"*"+zt2_TYJSpec+"*"
if(contxt == null || contxt.getListCount() == 0) {
partRevs.add(comps[0]);
boolean needApply = true;
for(TCComponent comp:comps) {
String specs = comp.getProperty("zt2_Specifications"); // 非必填
if(specs.equals(spec)) {
needApply = false;
break;
}
} }
if(needApply) { }
if (general_maps.containsKey(rev)) { if(needApply) {
if (!general_maps.get(rev).contains(spec)) { if (general_maps.containsKey(rev)) {
general_maps.get(rev).add(spec); if (!general_maps.get(rev).contains(spec)) {
} general_maps.get(rev).add(spec);
} else {
List<String> specs = new ArrayList<String>();
specs.add(spec);
general_maps.put(rev, specs);
} }
} else {
List<String> specs = new ArrayList<String>();
specs.add(spec);
general_maps.put(rev, specs);
} }
}else {//20240730增加查询查到的逻辑
if(comps!= null && comps.length > 0) {
partRevs.add(comps[0]);
}
} }
} }
} } else {
// else if(stuf.equalsIgnoreCase("2ZD")){
// partRevs.add(comps[0]);
// boolean needApply = true;
// for(TCComponent comp:comps) {
// String specs = comp.getProperty("zt2_Specifications"); // 非必填
// if(specs.equals(spec)) {
// needApply = false;
// break;
// }
// }
// if(needApply) {
// if (general_maps.containsKey(rev)) {
// if (!general_maps.get(rev).contains(spec)) {
// general_maps.get(rev).add(spec);
// }
// } else {
// List<String> specs = new ArrayList<String>();
// specs.add(spec);
// general_maps.put(rev, specs);
// }
// }
// }
// }
else {
// 有通用件规格 // 有通用件规格
Map<String, String> field = new HashMap<String, String>(); Map<String, String> field = new HashMap<String, String>();
String value = "* " + zt2_TYJSpec; String value = "* " + zt2_TYJSpec;

@ -4,6 +4,7 @@ import java.util.Map;
import com.teamcenter.rac.kernel.TCComponentBOMLine; import com.teamcenter.rac.kernel.TCComponentBOMLine;
import com.teamcenter.rac.kernel.TCComponentItem; import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemType; import com.teamcenter.rac.kernel.TCComponentItemType;
import com.teamcenter.rac.kernel.TCProperty;
import com.teamcenter.rac.kernel.TCSession; import com.teamcenter.rac.kernel.TCSession;
public class RemarkUtil { public class RemarkUtil {
@ -13,31 +14,11 @@ public class RemarkUtil {
int len =0; int len =0;
try { try {
String[] split = itemId.split("-"); String[] split = itemId.split("-");
String id4 = itemId.substring(0, 4); String topId = "1ZDB300000P-"+split[1];
//lidy20250423
String[] ids = session.getPreferenceService().getStringValues("CHINT_FindDrawing");
String topId = "";//"1ZDB300000P-" + split[1];
for(String s : ids) {
if(s.substring(0, 4).equalsIgnoreCase(id4)) {
topId = s + split[1];
break;
}
}
TCComponentItemType partType = (TCComponentItemType) session.getTypeComponent("ZT2_Design3D");
TCComponentItem[] find = null;
if(topId.isEmpty()) {
for(String s : ids) {
topId = s + split[1];
find = partType.findItems(topId);
if(find != null && find.length > 0)
break;
}
}else {
find = partType.findItems(topId);
}
System.out.println("topId:" + topId); System.out.println("topId:" + topId);
// TCComponentItem find = partType.findItems(topId)[0]; TCComponentItemType partType = (TCComponentItemType) session.getTypeComponent("ZT2_Design3D");
Map<String, String> classificationAttributes = find[0].getClassificationAttributes(); TCComponentItem find = partType.findItems(topId)[0];
Map<String, String> classificationAttributes = find.getClassificationAttributes();
// System.out.println(classificationAttributes.toString()); // System.out.println(classificationAttributes.toString());
for(String key : classificationAttributes.keySet()) { for(String key : classificationAttributes.keySet()) {

@ -1,7 +1,6 @@
package com.chint.plm.createKjBom; package com.chint.plm.createKjBom;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -628,8 +627,6 @@ public class KjController {
//ÅúÁ¿¸´ÖÆ //ÅúÁ¿¸´ÖÆ
private void cloneOrUpdate(TCSession session, TCComponentBOMLine parentLine, private void cloneOrUpdate(TCSession session, TCComponentBOMLine parentLine,
List<TCComponentBOMLine> bomLines, List<TCComponentBOMLine> useLines) { List<TCComponentBOMLine> bomLines, List<TCComponentBOMLine> useLines) {
System.out.println("cloneOrUpdate==>" + bomLines);
System.out.println("useLines==>" + useLines);
com.teamcenter.services.rac.structuremanagement.StructureService service = com.teamcenter.services.rac.structuremanagement.StructureService service =
com.teamcenter.services.rac.structuremanagement.StructureService.getService(session); com.teamcenter.services.rac.structuremanagement.StructureService.getService(session);
// idMapAdd.clear(); // idMapAdd.clear();
@ -659,10 +656,6 @@ public class KjController {
// for(int i = 0; i < bomLines.size(); i++) { // for(int i = 0; i < bomLines.size(); i++) {
// TCComponentBOMLine subLine = bomLines.get(i); // TCComponentBOMLine subLine = bomLines.get(i);
TCComponentItem item = subLine.getItem(); TCComponentItem item = subLine.getItem();
// String name = item.getProperty("object_name");
// if(name.equals("Ïäµ×º¸×°") || name.equals("ÏäÑØº¸×°")) {//TODO
// continue;
// }
CloneStructureSaveAsIn dataMap = null; CloneStructureSaveAsIn dataMap = null;
if(item.getType().equals("ZT2_Design3D")) { if(item.getType().equals("ZT2_Design3D")) {
// subLine.replace // subLine.replace
@ -672,10 +665,10 @@ public class KjController {
} }
saveList.add(dataMap); saveList.add(dataMap);
} }
// for(TCComponentBOMLine subLine : useLines) { for(TCComponentBOMLine subLine : useLines) {
// CloneStructureSaveAsIn dataMap = getDataMap(subLine, 1, session); CloneStructureSaveAsIn dataMap = getDataMap(subLine, 1, session);
// saveList.add(dataMap); saveList.add(dataMap);
// } }
com.teamcenter.services.rac.structuremanagement._2014_10.Structure.CloneStructureDefaultNaming naming = com.teamcenter.services.rac.structuremanagement._2014_10.Structure.CloneStructureDefaultNaming naming =
new com.teamcenter.services.rac.structuremanagement._2014_10.Structure.CloneStructureDefaultNaming(); new com.teamcenter.services.rac.structuremanagement._2014_10.Structure.CloneStructureDefaultNaming();
CloneStructureSaveAsIn[] array = saveList.toArray(new CloneStructureSaveAsIn[saveList.size()]); CloneStructureSaveAsIn[] array = saveList.toArray(new CloneStructureSaveAsIn[saveList.size()]);
@ -694,8 +687,8 @@ public class KjController {
// cloneStructureExpandOrUpdate.serviceData; // cloneStructureExpandOrUpdate.serviceData;
if (cloneStructure.serviceData.sizeOfPartialErrors() > 0) { if (cloneStructure.serviceData.sizeOfPartialErrors() > 0) {
for (int i = 0; i < cloneStructure.serviceData.sizeOfPartialErrors(); i++) { for (int i = 0; i < cloneStructure.serviceData.sizeOfPartialErrors(); i++) {
System.out.println(i + "Save class Partial Error -- " + Arrays.toString(cloneStructure.serviceData System.out.println("Save class Partial Error -- " + cloneStructure.serviceData
.getPartialError(i).getMessages())); .getPartialError(i).getMessages()[0]);
} }
} }
try { try {

@ -147,8 +147,6 @@ public class MySceneController extends KFXPanelController {
private String findLovString = "SELECT result FROM CHINT_CHECK_LOV_TEMPLATE where lovcode = ? ORDER BY code asc"; private String findLovString = "SELECT result FROM CHINT_CHECK_LOV_TEMPLATE where lovcode = ? ORDER BY code asc";
private String addMsgString = "INSERT INTO CHINT_CHECK_DETAILS (no,imcheckproject,ipcheckdetials,designresult,proofreadresult,design,proofread," private String addMsgString = "INSERT INTO CHINT_CHECK_DETAILS (no,imcheckproject,ipcheckdetials,designresult,proofreadresult,design,proofread,"
+ "\"AUDIT\",checkno,modelversion,numberofchecks) VALUES (?,?,?,?,?,?,?,?,?,?,1)"; + "\"AUDIT\",checkno,modelversion,numberofchecks) VALUES (?,?,?,?,?,?,?,?,?,?,1)";
private String addMsgString1 = "INSERT INTO CHINT_CHECK_DETAILS (no,imcheckproject,ipcheckdetials,designresult,proofreadresult,design,proofread,"
+ "\"AUDIT\",checkno,modelversion,numberofchecks) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
private String oldMsgString = "SELECT no,designresult,PROOFREADRESULT,design,proofread,\"AUDIT\" FROM CHINT_CHECK_DETAILS where checkno = ? and modelversion = ? and numberofchecks = ? ORDER BY no asc "; private String oldMsgString = "SELECT no,designresult,PROOFREADRESULT,design,proofread,\"AUDIT\" FROM CHINT_CHECK_DETAILS where checkno = ? and modelversion = ? and numberofchecks = ? ORDER BY no asc ";
private String updMsgString = "UPDATE CHINT_CHECK_DETAILS SET designresult = ?,proofreadresult = ?,design = ?,proofread = ?,\"AUDIT\" = ? where checkno = ? and no = ? and modelversion = ? and numberofchecks = ? "; private String updMsgString = "UPDATE CHINT_CHECK_DETAILS SET designresult = ?,proofreadresult = ?,design = ?,proofread = ?,\"AUDIT\" = ? where checkno = ? and no = ? and modelversion = ? and numberofchecks = ? ";
private String getTempString = "SELECT no,imcheckproject,ipcheckdetials,designresultrule,proofreadresultrule,designrule,proofreadrule,auditrule" private String getTempString = "SELECT no,imcheckproject,ipcheckdetials,designresultrule,proofreadresultrule,designrule,proofreadrule,auditrule"
@ -262,20 +260,7 @@ public class MySceneController extends KFXPanelController {
shType = "2"; shType = "2";
} }
if(isFirst) { if(isFirst) {
SqlUtil.write(addMsgString, new String[] {String.valueOf(i),zdjc,zdhc,valYqz,valSjz,sjType,jdType,shType,code,version});
//update
String text = cb_jccs.getValue();
//20240805 增加非第一次检查次数逻辑
if(text != null && !text.isEmpty()) {
String substring = text.substring(1, 2);
System.out.println("text==="+substring);
SqlUtil.write(addMsgString1, new String[] {String.valueOf(i),zdjc,zdhc,valYqz,valSjz,sjType,jdType,shType,code,version,substring});
}else {
SqlUtil.write(addMsgString, new String[] {String.valueOf(i),zdjc,zdhc,valYqz,valSjz,sjType,jdType,shType,code,version});
}
}else { }else {
//update //update
String text = cb_jccs.getValue(); String text = cb_jccs.getValue();
@ -1274,7 +1259,6 @@ public class MySceneController extends KFXPanelController {
// String testTh = "TestTh00001"; // String testTh = "TestTh00001";
if(checkno!=null) { if(checkno!=null) {
ResultSet read2 = SqlUtil.read(oldMsgString, new String[] {checkno,version,String.valueOf(selectedIndex+1)}); ResultSet read2 = SqlUtil.read(oldMsgString, new String[] {checkno,version,String.valueOf(selectedIndex+1)});
System.out.println(checkno+"-"+version+"-"+String.valueOf(selectedIndex+1));
System.out.println("version==>"+version); System.out.println("version==>"+version);
while(read2.next()) { while(read2.next()) {
isFirst = false; isFirst = false;

@ -63,50 +63,30 @@ public class BomDcSapOp extends AbstractAIFOperation {
List<TCComponentItem> itemList = new ArrayList<>(); List<TCComponentItem> itemList = new ArrayList<>();
List<TCComponentItem> itemPList = new ArrayList<>(); List<TCComponentItem> itemPList = new ArrayList<>();
//lidy20250423 1ZDB300000P- String id = "1ZDB300000P-";
String[] ids = session.getPreferenceService().getStringValues("CHINT_FindDrawing"); if(rev2.getType().equals("Part Revision")) {
String id = "", idl = ""; String desc = rev2.getStringProperty("object_desc");
if (rev2.getType().equals("Part Revision")) { String[] split = desc.split(" ");
String desc = rev2.getStringProperty("object_desc"); if(split.length>=2) {
String[] split = desc.split(" "); String[] split2 = split[1].split("-");
if (split.length >= 2) { if(split2.length==2) {
String[] split2 = split[1].split("-"); id = id + split2[1];
if (split2.length == 2) { }else if(split2.length==3) {
idl = split2[1]; id = id + split2[2];
} else if (split2.length == 3) {
idl = split2[2];
}
}
} else if (rev2.getType().equals("ZT2_Design3DRevision")) {
String desc = rev2.getStringProperty("item_id");
String[] split2 = desc.split("-");
if (split2.length == 2) {
idl = split2[1];
} else if (split2.length == 3) {
idl = split2[2];
}
String id4 = desc.substring(0, 4);
for(String s : ids) {
if(s.substring(0, 4).equalsIgnoreCase(id4)) {
id = s + idl;
break;
} }
} }
} }else if(rev2.getType().equals("ZT2_Design3DRevision")) {
TCComponentItem[] find = null; String desc = rev2.getStringProperty("item_id");
if(id.isEmpty()) { String[] split2 = desc.split("-");
for(String s : ids) { if(split2.length==2) {
id = s + idl; id = id + split2[1];
find = ccomponentitemtype.findItems(id); }else if(split2.length==3) {
if(find != null && find.length > 0) id = id + split2[2];
break;
} }
}else {
find = ccomponentitemtype.findItems(id);
} }
System.out.print("id===>" + id); System.out.print("id===>"+id);
// TCComponentItem find = ccomponentitemtype.findItems(id)[0]; TCComponentItem find = ccomponentitemtype.findItems(id)[0];
TCComponentItemRevision zztRev = find[0].getLatestItemRevision(); TCComponentItemRevision zztRev = find.getLatestItemRevision();
TCComponent[] matnrs = zztRev.getRelatedComponents("representation_for"); TCComponent[] matnrs = zztRev.getRelatedComponents("representation_for");
for(TCComponent matnr:matnrs) { for(TCComponent matnr:matnrs) {
String[] properties = matnr.getProperties(new String[]{"zt2_ifpbom"}); String[] properties = matnr.getProperties(new String[]{"zt2_ifpbom"});

@ -65,50 +65,30 @@ public class BomSapWhBjOp extends AbstractAIFOperation {
List<TCComponentItem> itemList = new ArrayList<>(); List<TCComponentItem> itemList = new ArrayList<>();
List<TCComponentItem> itemPList = new ArrayList<>(); List<TCComponentItem> itemPList = new ArrayList<>();
//lidy20250423 1ZDB300000P- String id = "1ZDB300000P-";
String[] ids = session.getPreferenceService().getStringValues("CHINT_FindDrawing");
String id = "", idl = "";
if (rev2.getType().equals("Part Revision")) { if (rev2.getType().equals("Part Revision")) {
String desc = rev2.getStringProperty("object_desc"); String desc = rev2.getStringProperty("object_desc");
String[] split = desc.split(" "); String[] split = desc.split(" ");
if (split.length >= 2) { if (split.length >= 2) {
String[] split2 = split[1].split("-"); String[] split2 = split[1].split("-");
if (split2.length == 2) { if (split2.length == 2) {
idl = split2[1]; id = id + split2[1];
} else if (split2.length == 3) { } else if (split2.length == 3) {
idl = split2[2]; id = id + split2[2];
} }
} }
} else if (rev2.getType().equals("ZT2_Design3DRevision")) { } else if (rev2.getType().equals("ZT2_Design3DRevision")) {
String desc = rev2.getStringProperty("item_id"); String desc = rev2.getStringProperty("item_id");
String[] split2 = desc.split("-"); String[] split2 = desc.split("-");
if (split2.length == 2) { if (split2.length == 2) {
idl = split2[1]; id = id + split2[1];
} else if (split2.length == 3) { } else if (split2.length == 3) {
idl = split2[2]; id = id + split2[2];
} }
String id4 = desc.substring(0, 4);
for(String s : ids) {
if(s.substring(0, 4).equalsIgnoreCase(id4)) {
id = s + idl;
break;
}
}
} }
TCComponentItem[] find = null;
if(id.isEmpty()) {
for(String s : ids) {
id = s + idl;
find = ccomponentitemtype.findItems(id);
if(find != null && find.length > 0)
break;
}
}else {
find = ccomponentitemtype.findItems(id);
}
System.out.print("id===>" + id); System.out.print("id===>" + id);
// TCComponentItem find = ccomponentitemtype.findItems(id)[0]; TCComponentItem find = ccomponentitemtype.findItems(id)[0];
TCComponentItemRevision zztRev = find[0].getLatestItemRevision(); TCComponentItemRevision zztRev = find.getLatestItemRevision();
TCComponent[] matnrs = zztRev.getRelatedComponents("representation_for"); TCComponent[] matnrs = zztRev.getRelatedComponents("representation_for");
for (TCComponent matnr : matnrs) { for (TCComponent matnr : matnrs) {
String[] properties = matnr.getProperties(new String[] { "zt2_ifpbom" }); String[] properties = matnr.getProperties(new String[] { "zt2_ifpbom" });

@ -64,35 +64,12 @@ public class DbomToECommand extends KCommand {
String itemId = rev.getProperty("item_id"); String itemId = rev.getProperty("item_id");
String[] split = itemId.split("-"); String[] split = itemId.split("-");
if(split.length>=2) { if(split.length>=2) {
// String topId = "1ZDB300000P-"+split[1]; String topId = "1ZDB300000P-"+split[1];
String id4 = itemId.substring(0, 4);
//lidy20250423
String[] ids = session.getPreferenceService().getStringValues("CHINT_FindDrawing");
String topId = "";//"1ZDB300000P-" + split[1];
for(String s : ids) {
if(s.substring(0, 4).equalsIgnoreCase(id4)) {
topId = s + split[1];
break;
}
}
// TCComponentItemType itemType = (TCComponentItemType) session.getTypeComponent("ZT2_Design3D");
// TCComponentItem find = itemType.find(topId);
TCComponentItemType itemType = (TCComponentItemType) session.getTypeComponent("ZT2_Design3D"); TCComponentItemType itemType = (TCComponentItemType) session.getTypeComponent("ZT2_Design3D");
TCComponentItem[] find = null; TCComponentItem find = itemType.find(topId);
if(topId.isEmpty()) { if(find!=null) {
for(String s : ids) {
topId = s + split[1];
find = itemType.findItems(topId);
if(find != null && find.length > 0)
break;
}
}else {
find = itemType.findItems(topId);
}
System.out.println("topId:" + topId);
if(find != null && find.length > 0) {
//boolean equals = find.getLatestItemRevision().getProperty("zt2_SapState").equals("已传"); //boolean equals = find.getLatestItemRevision().getProperty("zt2_SapState").equals("已传");
boolean equals = find[0].getProperty("zt2_kjbomstate").equals("ÒÑ´«"); boolean equals = find.getProperty("zt2_kjbomstate").equals("ÒÑ´«");
if(!equals) { if(!equals) {
MessageBox.post("请联系主设传递框架BOM.", "", MessageBox.ERROR); MessageBox.post("请联系主设传递框架BOM.", "", MessageBox.ERROR);
return; return;

@ -1,474 +0,0 @@
package com.connor.chint.yunpi.command;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Month;
import java.time.YearMonth;
import java.time.temporal.ChronoUnit;
import java.time.temporal.WeekFields;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.connor.chint.sap2.util.SAPUtil;
import com.connor.chint.sap2.util.SqlUtil;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.DateButton;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.PropertyLayout;
public class QueryZxjcFram extends JFrame implements ActionListener {
private TCSession session;
protected DefaultTableModel tm_part;
private static ArrayList<String> dateConnList = new ArrayList<String>();
private String[] prefs;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private JTextField pathJTextField = new JTextField(30);
private JButton outputButton = new JButton("选择");
public QueryZxjcFram(TCSession session) {
// TODO Auto-generated constructor stub
this.session = session;
prefs = session.getPreferenceService().getStringValues("CHINT_SRM_SQL_CONNECT");
initUI();
}
// private String sqlString = "delete ML_CREATEORDERBOM where STATUS='2' and PRODUCTID=? and MATERIALNO=? "
// + "and OBJECTNAME=? and PRODPLANO=? and BATCHNO=?"
// + " and FACTORY=? and REPCODE=? and PRODORDERO=?";
private String sqlString = "";
private void initUI() {
// TODO Auto-generated method stub
try {
this.setTitle("WMS集成默认物料维护界面");
this.setLayout(new BorderLayout());
JPanel topPanel = getTopPanel();
// JScrollPane pane = getTablePanel();
// pane.setBorder(BorderFactory.createTitledBorder(""));
// JPanel btnPanel = getRightPanel();
JPanel btnPanel = getBtnPanel();
this.add(topPanel, BorderLayout.NORTH);
// this.add(pane,BorderLayout.CENTER);
this.add(btnPanel, BorderLayout.SOUTH);
this.setPreferredSize(new Dimension(550, 110));
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // 获取屏幕尺寸
int screenWidth = screenSize.width; // 获取屏幕宽度
int screenHeight = screenSize.height; // 获取屏幕高度
int x = (screenWidth - 550) / 2; // 计算Frame的左上角x坐标
int y = (screenHeight - 300) / 2; // 计算Frame的左上角y坐标
this.setLocation(x, y); // 设置Frame的位置
// this.setLocationRelativeTo(null);
this.createActionEvent();
this.pack();
// this.validate();
this.setVisible(true);
// this.setAlwaysOnTop(true);
} catch (Exception e) {
e.printStackTrace();
return;
}
}
// 添加监听
public void createActionEvent() {
this.btnOut.addActionListener(this);
this.btnIn.addActionListener(this);
}
private List<TCComponent> compList = new ArrayList<TCComponent>();
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object source = e.getSource();
System.out.println("source==>+" + source);
if (this.btnIn.equals(source)) {
//导入的逻辑
String pathJTextFieldStr = pathJTextField.getText();
if(pathJTextFieldStr == null || pathJTextFieldStr.isEmpty()) {
MessageBox.post("请选择需要导入的Excel。", "提示", 2);
return;
}
FileInputStream input = null;
try {
SqlUtil.SRMGetTCDataConnection(prefs);
String factory = "";
try {
factory = SAPUtil.getGroupID(session);
} catch (TCException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
if(!pathJTextFieldStr.contains(".xlsx")) {
MessageBox.post("请选择.xlsx格式的Excel。", "提示", 2);
return;
}
File file = new File(pathJTextFieldStr);
input = new FileInputStream(file);
Workbook workbook = new XSSFWorkbook(input);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
System.out.println("row.getRowNum()=================="+row.getRowNum());
if(row.getRowNum() != 0) {
if(getCellValue(row.getCell(4)).isEmpty()) {
String insertSql = "INSERT INTO CHINT_WMS_DEFAULT_MATERIAL_RULE(FACTORY,OBJECTNAME,SPECIFICATIONS,QUANTITY,DRAWINGNO,UNIT,REMARK) VALUES('"+
getCellValue(row.getCell(0))+"','"+
getCellValue(row.getCell(1))+"','"+
getCellValue(row.getCell(2))+"','"+
getCellValue(row.getCell(3))+"','"+
getCellValue(row.getCell(4))+"','"+
getCellValue(row.getCell(5))+"','"+
getCellValue(row.getCell(6))+"')";
System.out.println("sql语句:" + insertSql.toString());
SqlUtil.update(insertSql);
}else {//有物料编码
String selectSql = "SELECT SEQ FROM CHINT_WMS_DEFAULT_MATERIAL_RULE WHERE DRAWINGNO='"+getCellValue(row.getCell(4))+
"' AND FACTORY='"+getCellValue(row.getCell(0))+"'";
ResultSet rs = SqlUtil.read(selectSql);
String seq = "";
while (rs.next()) {
seq = rs.getString(1);
}
if(seq.isEmpty()) {
String insertSql = "INSERT INTO CHINT_WMS_DEFAULT_MATERIAL_RULE(FACTORY,OBJECTNAME,SPECIFICATIONS,QUANTITY,DRAWINGNO,UNIT,REMARK) VALUES('"+
getCellValue(row.getCell(0))+"','"+
getCellValue(row.getCell(1))+"','"+
getCellValue(row.getCell(2))+"','"+
getCellValue(row.getCell(3))+"','"+
getCellValue(row.getCell(4))+"','"+
getCellValue(row.getCell(5))+"','"+
getCellValue(row.getCell(6))+"')";
System.out.println("sql语句:" + insertSql.toString());
SqlUtil.update(insertSql);
}else {
int cellType = row.getCell(5).getCellType();
int cellType1 = row.getCell(6).getCellType();
System.out.println("type5==============================="+cellType);
System.out.println("cellType1==============================="+cellType1);
String updateSql = "UPDATE CHINT_WMS_DEFAULT_MATERIAL_RULE SET FACTORY='"+getCellValue(row.getCell(0))+
"',OBJECTNAME='"+getCellValue(row.getCell(1))+
"',SPECIFICATIONS='"+getCellValue(row.getCell(2))+
"',QUANTITY='"+getCellValue(row.getCell(3))+
"',DRAWINGNO='"+getCellValue(row.getCell(4))+
"',UNIT='"+getCellValue(row.getCell(5))+
"',REMARK='"+getCellValue(row.getCell(6))+"' WHERE DRAWINGNO='"+getCellValue(row.getCell(4))+
"' AND FACTORY='"+getCellValue(row.getCell(0))+"'";
System.out.println("sql语句:" + updateSql.toString());
SqlUtil.update(updateSql);
}
}
}
}
} catch (IOException e2) {
e2.printStackTrace();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
MessageBox.post("导入失败请联系管理员!", "提示", 2);
}
MessageBox.post("导入成功!", "提示", 2);
} else if (source.equals(this.btnOut)) {
File model_file = null;
File output_file = null;
SqlUtil.SRMGetTCDataConnection(prefs);
String factory = "";
try {
factory = SAPUtil.getGroupID(session);
} catch (TCException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
sqlString = "SELECT * FROM CHINT_WMS_DEFAULT_MATERIAL_RULE WHERE FACTORY = '"+factory+"'";
// 1.根据条件查询数据
System.out.println("查询语句:" + sqlString.toString());
List<ZxjcMATERIALBean> lists = new ArrayList<ZxjcMATERIALBean>();
try{
ResultSet result = SqlUtil.read(sqlString.toString());
while (result.next()) {
ZxjcMATERIALBean ZxjcMATERIALBean = new ZxjcMATERIALBean(result.getInt(1),
result.getString(2), result.getString(3),result.getString(4) , result.getInt(5),
result.getString(6), result.getString(7),result.getString(8));
System.out.println(ZxjcMATERIALBean);
// 过滤有处理人的数据
lists.add(ZxjcMATERIALBean);
}
} catch (SQLException e1) {
e1.printStackTrace();
}
if (lists.size() == 0) {
MessageBox.post("未查到数据,无法导出!", "提示", 2);
return;
} else {
// 导出数据的逻辑
InputStream input;
String targetPath = null;
try {
String[] CHINT_WMS_ModelUid = session.getPreferenceService()
.getStringValues("CHINT_WMS_ModelUid");
if (CHINT_WMS_ModelUid == null || CHINT_WMS_ModelUid.length == 0) {
MessageBox.post("首选项CHINT_WMS_ModelUid配置有误请检查。", "提示", 2);
return;
} else {
String pathJTextFieldStr = pathJTextField.getText();
if(pathJTextFieldStr == null || pathJTextFieldStr.isEmpty()) {
MessageBox.post("请选择需要导出的路径。", "提示", 2);
return;
}
TCComponentDataset excel = (TCComponentDataset) session
.stringToComponent(CHINT_WMS_ModelUid[0]);
model_file = ((TCComponentDataset) excel).getTcFiles()[0].getFmsFile();
String date = new SimpleDateFormat("yyyyMMddhhmmss").format(new Date());
String fileName = "WMS集成默认物料_" + date + ".xlsx";
// 定义源文件路径
Path sourcePath = Paths.get(model_file.getPath()); // 替换为你的源文件路径
// 定义目标文件路径
// targetPath = System.getProperty("user.home")+"\\Desktop"+"\\"+fileName;
targetPath = pathJTextFieldStr + "\\" + fileName;
// 使用Files.copy()方法复制文件
// Files.copy(sourcePath, targetPath);
// 设置可写
// makeFileWritable(System.getProperty("user.home")+"\\Desktop"+"\\"+fileName);
// output_file = new
// File(System.getProperty("user.home")+"\\Desktop"+"\\"+fileName);
}
input = new FileInputStream(model_file);
XSSFWorkbook wb = new XSSFWorkbook(input);// (
XSSFSheet sheet = wb.getSheetAt(0);
sheet.getSheetName();
for (int i = 0; i < lists.size(); i++) {
ZxjcMATERIALBean ZxjcMATERIALBean = lists.get(i);
int row = i + 1;
XSSFRow titleRow = sheet.getRow(row);
// setCellValue(titleRow, 0, i + 1 + "", sheet, row);
// 零件号合零件名称逻辑
if(titleRow == null) {
titleRow = sheet.createRow(row);
}
setCellValue(titleRow, 0, ZxjcMATERIALBean.getFACTORY());
setCellValue(titleRow, 1, ZxjcMATERIALBean.getOBJECTNAME());
setCellValue(titleRow, 2, ZxjcMATERIALBean.getSPECIFICATIONS());
setCellValue(titleRow, 3, ZxjcMATERIALBean.getQUANTITY()+"");
setCellValue(titleRow, 4, ZxjcMATERIALBean.getDRAWINGNO());
setCellValue(titleRow, 5, ZxjcMATERIALBean.getUNIT());
setCellValue(titleRow, 6, ZxjcMATERIALBean.getREMARK());
}
// 写入输出文件
try (FileOutputStream outputStream = new FileOutputStream(new File(targetPath))) {
wb.write(outputStream);
} catch (FileNotFoundException e1) {
System.err.println("目标文件未找到: " + targetPath);
e1.printStackTrace();
} catch (IOException e2) {
System.err.println("写入文件时发生错误: " + targetPath);
e2.printStackTrace();
}
this.dispose();
MessageBox.post("成功导出" + lists.size() + "条数据!", "提示", 2);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
}
/**
*
*
* @param filePath
*/
public static void makeFileWritable(String filePath) {
File file = new File(filePath);
if (!file.exists()) {
System.out.println("File does not exist.");
return;
}
try {
// 设置文件可写true 表示可写false 表示不可写null 表示使用系统默认值
boolean success = file.setWritable(true, false); // 第二个参数表示是否只改变文件所有者的权限
if (success) {
System.out.println("File permissions set to writable.");
} else {
System.out.println("Failed to set file as writable.");
}
} catch (SecurityException se) {
System.err.println("Security exception: " + se.getMessage());
}
}
public static void setCellValue(XSSFRow row, int colum, String str) {
// if (row == null) {
// // 处理空行的情况,比如插入一行或者给出提示
// row = sheet.createRow(rowNum);
// }
XSSFCell cell = row.getCell(colum);
if (cell == null) {
cell = row.createCell(colum);
}
cell.setCellValue(str);
}
private JButton btnOut;
private JButton btnIn;
private JPanel getBtnPanel() {
JPanel topPanel = new JPanel();
topPanel.setLayout(new PropertyLayout());
btnOut = new JButton("导出");
btnIn = new JButton("导入");
topPanel.add("1.1.center", new JLabel(""));
topPanel.add("2.1.center", new JLabel(""));
topPanel.add("2.3.center", new JLabel(""));
topPanel.add("2.5.center", new JLabel(""));
topPanel.add("2.2.center", btnIn);
topPanel.add("2.4.center", btnOut);
return topPanel;
}
// 查询部分
private JPanel getTopPanel() {
// TODO Auto-generated method stub
JPanel topPanel = new JPanel();
topPanel.setLayout(new PropertyLayout());
topPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
topPanel.add("1.1.left.center", new JLabel(""));
topPanel.add("2.1.left.center", new JLabel("文件存放位置:"));
topPanel.add("2.2.left.center", pathJTextField);
topPanel.add("2.3.left.center", outputButton);
// 注册输出按钮的点击事件监听器
outputButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 创建文件选择器
JFileChooser fileChooser = new JFileChooser();
// 设置文件选择器只能选择文件夹
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int result = fileChooser.showOpenDialog(topPanel);
if (result == JFileChooser.APPROVE_OPTION) {
// 获取用户选择的路径
String selectedPath = fileChooser.getSelectedFile().getPath();
// 输出用户选择的路径
System.out.println("用户选择的路径:" + selectedPath);
pathJTextField.setText(selectedPath);
}
}
});
return topPanel;
}
public String getCellValue(Cell cell) {
if(cell == null) {
return "";
}else {
int cellType = cell.getCellType();
if(cellType == 1) {//string
return cell.getStringCellValue();
}else if(cellType == 3 || cellType == 0) {//num
double numericCellValue = cell.getNumericCellValue();
System.out.println("================================numericCellValue===="+numericCellValue);
if(numericCellValue == 0.0) {
return ""; }
return cell.getNumericCellValue()+"";
}
}
return "";
}
}

@ -1,30 +0,0 @@
package com.connor.chint.yunpi.command;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCSession;
import com.connor.chint.yunpi.KCommand;
import com.teamcenter.rac.aif.AbstractAIFApplication;
public class QueryZxjcHandler extends KCommand {
public QueryZxjcHandler(AbstractAIFApplication app, String commandId, String actionInfo) {
super(app, commandId, actionInfo);
TCSession session = (TCSession) app.getSession();
try {
new QueryZxjcFram(session);
}catch(Exception e) {
e.printStackTrace();
}
}
}

@ -1,260 +0,0 @@
package com.connor.chint.yunpi.command;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
//import com.connor.chint.sap2.sap.SAPPushBOMBean;
//import com.connor.chint.sap2.sap_by.SAPZZDialogController;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
public class ZxjcBean extends SAPPushBOMBean {
public static final String TYPE_FACTNO = "ZT2_FactoryNo";
public static final String REL_PART_FACTNO = "ZT2_FactoryNumber";
private int index;
public TCComponentItemRevision part;
public TCComponentItem factoryNo;
public TCComponentItemRevision zzDesignRev = null;
public TCComponent[] factoryNos;
public String materialNo;
//出厂编号
public String ccbh;
public String getCcbh() {
return ccbh;
}
public void setCcbh(String ccbh) {
this.ccbh = ccbh;
}
public TCComponentItemRevision getZzDesignRev() {
return zzDesignRev;
}
public void setZzDesignRev(TCComponentItemRevision zzDesignRev) {
this.zzDesignRev = zzDesignRev;
}
public String getMaterialNo() {
return materialNo;
}
public void setMaterialNo(String materialNo) {
this.materialNo = materialNo;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public ZxjcBean(TCComponentItemRevision part, int index) {
this.index = index;
this.part = part;
try {
getZZDesign(this.part);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public ZxjcBean(TCComponentItemRevision part, int index,String dy) {
this.index = index;
this.part = part;
// try {
// getZZDesign(this.part);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
private TCComponentItemRevision getZZDesign(TCComponentItemRevision part) throws Exception {
try {
TCComponent[] facts = part.getRelatedComponents(REL_PART_FACTNO);
int len = facts.length;
for (int i = 0; i < len; i++) {
String type = facts[i].getType();
System.out.println(">> 找到子对象:" + facts[i] + "|" + type);
if (TYPE_FACTNO.equals(type)) {
// factNo = facts[i].getStringProperty("item_id");//出厂编码
this.factoryNo = (TCComponentItem) facts[i];
AIFComponentContext contexts[] = factoryNo.whereReferencedByTypeRelation(
new String[] { "ZT2_Design3DRevision" }, new String[] { "ZT2_FactoryNumber" });
Map<TCComponentItem, List<TCComponentItemRevision>> items2 = new HashMap<TCComponentItem, List<TCComponentItemRevision>>(
10);
for (int j = 0; j < contexts.length; j++) {
String type2 = contexts[j].getComponent().getType();
String name = contexts[j].getComponent().getProperty("object_name");
System.out.println(contexts[j] + "->type:" + type2);
// if (name.contains("总装")) { // || name.contains("变压器")
TCComponentItemRevision pRev = (TCComponentItemRevision) contexts[j].getComponent();
TCComponentItem item = pRev.getItem();
if (items2.containsKey(item)) {
items2.get(item).add(pRev);
} else {
List<TCComponentItemRevision> revs = new ArrayList<TCComponentItemRevision>();
revs.add(pRev);
items2.put(item, revs);
}
/*
* zzDesignRev =(TCComponentItemRevision) contexts[j].getComponent();
* if(isLastRev(zzDesignRev)) { //zztydh =
* contexts[j].getComponent().getProperty("item_id"); break; } zzDesignRev=null;
*/
// }
}
if (items2.size() > 0) {
List<TCComponentItemRevision> cZZRevs = new ArrayList<TCComponentItemRevision>();
addLastRevisions(items2, cZZRevs);
if (cZZRevs.size() > 0) {
zzDesignRev = cZZRevs.get(0);
}
}
break;
}
}
} catch (TCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
private void addLastRevisions(Map<TCComponentItem, List<TCComponentItemRevision>> items,
List<TCComponentItemRevision> cParts) throws TCException {
Iterator<Entry<TCComponentItem, List<TCComponentItemRevision>>> iterator = items.entrySet().iterator();
while (iterator.hasNext()) {
Entry<TCComponentItem, List<TCComponentItemRevision>> it = iterator.next();
List<TCComponentItemRevision> revs = it.getValue();
// System.out.println("item["+it.getKey()+"]已发布版本个数:"+revs.size());
if (revs.size() == 1) {
cParts.add(revs.get(0));
continue;
}
if (revs.size() > 1) {
TCComponentItemRevision max_Rev = null;
String s = "";
;
int index = -1;
for (int j = 0, len2 = revs.size(); j < len2; j++) {
String item_id = revs.get(j).getProperty("item_revision_id");
if (s.isEmpty()) {
s = item_id;
max_Rev = revs.get(j);
for (int k = 0; k < s.length(); k++) {
if (s.charAt(k) >= '0' && s.charAt(k) <= '9') {
index = k;
break;
}
}
} else {
String temp = item_id;
if (index != -1) {
if (temp.substring(0, index).compareTo(s.substring(0, index)) > 0) {
s = temp;
max_Rev = revs.get(j);
} else if (temp.substring(0, index).compareTo(s.substring(0, index)) == 0) {
String s1 = s.substring(index);
String temp1 = temp.substring(index);
int min = Math.min(s1.length(), temp1.length());
for (int k = 0; k < min; k++) {
if (temp1.charAt(k) > s1.charAt(k)) {
s = temp;
max_Rev = revs.get(j);
break;
}
}
if (temp1.length() > min) {
s = temp;
max_Rev = revs.get(j);
}
}
} else if (temp.compareTo(s) > 0) {
s = temp;
max_Rev = revs.get(j);
}
}
}
cParts.add(max_Rev);
}
}
}
public Object[] getRowDataZxjc() throws Exception {
String name = part.getStringProperty("object_name");
TCComponent[] facts = part.getRelatedComponents(REL_PART_FACTNO);
int len = facts == null ? 0 : facts.length;
System.out.println("获取出厂编号:" + part);
String factNo = "";
for (int i = 0; i < len; i++) {
String type = facts[i].getType();
System.out.println(">> 找到子对象:" + facts[i] + "|" + type);
factoryNos = facts;
if (TYPE_FACTNO.equals(type)) {
factNo = facts[i].getStringProperty("item_id");
this.factoryNo = (TCComponentItem) facts[i];
break;
}
}
//获取图纸id
String tzid = "";
TCComponent tzRev = part.getRelatedComponent("TC_Is_Represented_By");
if(tzRev != null) {
tzid = tzRev.getStringProperty("item_id");
}
//获取产成品数量
String zt2_Quantity = part.getStringProperty("zt2_Quantity");
String zt2_site = part.getStringProperty("zt2_Site");
String zt2_tankNo = part.getStringProperty("zt2_TankNo");
// return new Object[] {true,index,zt2_site,zt2_tankNo,name,this,factNo};
return new Object[] { true, index, zt2_site, zt2_tankNo, name, this, factNo,tzid,zt2_Quantity};
}
public Object[] getZYKGRowData() throws Exception {
String name = part.getStringProperty("object_name");
String zt2_site = part.getStringProperty("zt2_Site");
String zt2_tankNo = part.getStringProperty("zt2_TankNo");
System.out.println("->" + Arrays.toString(new Object[] { true, index, zt2_site, zt2_tankNo, name, this,
getZt2_SapBomState(), getUserName(), getZDATE() }));
return new Object[] { true, index, zt2_site, zt2_tankNo, name, this, getZt2_SapBomState(), getUserName(),
getZDATE() };
// return new Object[] {true,index,zt2_site,zt2_tankNo,name,this};
}
@Override
public String toString() {
try {
return part == null ? "" : part.getStringProperty("zt2_MaterialNo");
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
public TCComponentItemRevision getPart() {
return part;
}
public void setPart(TCComponentItemRevision part) {
this.part = part;
}
}

@ -1,154 +0,0 @@
package com.connor.chint.yunpi.command;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.regex.Pattern;
import javax.swing.AbstractCellEditor;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableCellEditor;
import javax.swing.text.JTextComponent;
import com.connor.chint.sap2.util.KUtil;
import com.connor.chint.sap2.util.POIUtil;
import com.connor.chint.sap2.util.ProgressBar;
import com.teamcenter.rac.util.MessageBox;
public class ZxjcCellEditor extends AbstractCellEditor implements TableCellEditor {
private static final long serialVersionUID = -5118171189856914639L;
private JTable t_part;
private JTextComponent jtf;
private ZxjcFram dialog;
public ZxjcCellEditor(ZxjcFram dialog) {
this.dialog = dialog;
}
@Override
public Object getCellEditorValue() {
jtf.selectAll();
return jtf.getText();
}
@Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
jtf = new JTextField();
t_part = table;
jtf.setText("");
final int selectRow = row;
final int col = column;
final String dh = (String) table.getValueAt(row, 2);
ProgressBar pb = new ProgressBar(dialog, new Dimension(300, 50));
try {
if (value != null) {
jtf.setText(String.valueOf(value));
jtf.selectAll();
if (column == 1) {
jtf.setEditable(false);
}
jtf.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int code = e.getKeyCode();
int i = jtf.getCaretPosition();
final String text = jtf.getText();
if (code == KeyEvent.VK_LEFT) {
System.out.println("触发修改2");
if (KUtil.isEmpty(text) || i == 0) {
switch (col) {
case 2:
if (selectRow > 0) {
setTableEditting(selectRow - 1, 7);
}
break;
case 6:
Pattern pattern = Pattern.compile("[0-9]*");
if (!pattern.matcher(text).matches() || POIUtil.getIntValue(text) < 1) {
MessageBox.post(dialog, "第" + (selectRow + 1) + "行数量请输入正整数", "", 2);
} else {
setTableEditting(selectRow, 3);
}
break;
case 3:
case 7:
setTableEditting(selectRow, col - 1);
break;
}
}
} else if (code == KeyEvent.VK_RIGHT) {
// 没有文本的时候 或者光标在最右边的时候
if (KUtil.isEmpty(text) || i == text.length()) {
switch (col) {
case 3:
setTableEditting(selectRow, 6);
break;
case 7:
if (selectRow != t_part.getRowCount() - 1 && selectRow > 0) {
setTableEditting(selectRow + 1, 2);
}
break;
case 2:
setTableEditting(selectRow, col + 1);
break;
case 6:
// String value = (String) t_part.getValueAt(selectRow, col);
Pattern pattern = Pattern.compile("[0-9]*");
if (!pattern.matcher(text).matches() || POIUtil.getIntValue(text) < 1) {
MessageBox.post(dialog, "第" + (selectRow + 1) + "行数量请输入正整数", "", 2);
} else {
setTableEditting(selectRow, col + 1);
}
break;
}
}
}
}
});
}
} catch (Exception e) {
pb.disposeDialog();
e.printStackTrace();
MessageBox.post(dialog, "异常:" + e.getMessage(), "", 2);
return null;
}
return jtf;
}
public void setTableEditting(int row, int col) {
// t_part.clearSelection();
t_part.changeSelection(row, col, false, false);
t_part.editCellAt(row, col, null);
// System.out.println("第一次:"+edit_row+";"+edit_col);
Component editor = t_part.getEditorComponent();
if (editor != null) {
// editor.requestFocusInWindow();
editor.requestFocus();
Component c = editor.getComponentAt(0, 0);
if (c != null && c instanceof JTextComponent) {
JTextComponent jtc = (JTextComponent) c;
String value = jtc.getText();
if (!KUtil.isEmpty(value)) {
jtc.setCaretPosition(value.length());
}
}
}
}
}

@ -1,18 +0,0 @@
package com.connor.chint.yunpi.command;
import com.connor.chint.yunpi.KCommand;
import com.teamcenter.rac.aif.AbstractAIFApplication;
public class ZxjcCommand extends KCommand {
public ZxjcCommand(AbstractAIFApplication app, String commandId, String actionInfo) {
super(app, commandId, actionInfo);
try {
this.setRunnable(new ZxjcFram(app));
}catch(Exception e) {
e.printStackTrace();
}
}
}

@ -1,224 +0,0 @@
package com.connor.chint.yunpi.command;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
//import com.connor.chint.sap2.sap_zy.SAPZYDialog;
import com.connor.chint.sap2.util.CheckBoxTableHeaderRenderer;
import com.connor.chint.sap2.util.KUtil;
import com.connor.chint.sap2.util.ProgressBar;
import com.connor.chint.sap2.util.SAPUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
/**
* ===============================================================================
* Copyright (c) 2012-2024 CONNOR Unpublished - All Rights Reserved
* ===============================================================================
* File description:
*
* ZxjcFram.java
*
* -
*
* ===============================================================================
* DATE Name Description of Change
*
* 2024-4-18 lijh modify
*
* ===============================================================================
*/
public class ZxjcFram extends AbstractAIFDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private ZxjcController controller;
// private AbstractAIFApplication app;
private TCSession session;
public ZxjcFram(AbstractAIFApplication app) {
super(false);
this.controller = new ZxjcController(this, app);
// this.app = app;
this.session = (TCSession) app.getSession();
}
private JButton b_cel;
private JButton b_qr;
protected DefaultTableModel tm_part;
protected JTable t_part;
public static final String[] HEADER = new String[] { "", "序号", "站点", "柜号", "物料名称", "物料编码", "出厂编号", "图号", "产成品数量" };
public static final int[] HEADERWIDTH = new int[] { 50, 60, 60, 60, 120, 180, 180, 100, 100 };
@Override
public void run() {
try {
// 获取组ID
controller.groupName = SAPUtil.getGroupID(session);
System.out.println("当前组:" + controller.groupName);
// dba用户不允许使用改功能
// if (KUtil.isEmpty(controller.groupName) || controller.groupName.equalsIgnoreCase("dba")) {
// MessageBox.post(this, "当前登录组不可使用该功能", "", MessageBox.INFORMATION);
// KUtil.setByPass(false);
// return;
// }
// 判断目标对象下是否存在产成品
if (!controller.checkTargets()) {
MessageBox.post(this, "没有找到产成品信息", "", MessageBox.INFORMATION);
return;
}
// controller.getSapState();
} catch (Exception e) {
KUtil.setByPass(false);
MessageBox.post(this, "检查选择对象时发生错误:" + e.getMessage(), "", MessageBox.ERROR);
e.printStackTrace();
return;
}
initUI();
try {
controller.dialog = this;
for (int i = 0; i < controller.partList.size(); i++) {
// 获取产成品数据
tm_part.addRow(controller.partList.get(i).getRowDataZxjc());
}
// 设置出厂编号列可编辑
// ZxjcCellEditor editor = new ZxjcCellEditor(ZxjcFram.this);
// t_part.getColumnModel().getColumn(6).setCellEditor(editor);
} catch (Exception e) {
MessageBox.post(this, "读取产成品信息时发生错误:" + e.getMessage(), "", MessageBox.ERROR);
e.printStackTrace();
return;
}
showDialog();
}
private void initUI() {
this.setTitle("拆卸一览表下发");
this.setPreferredSize(new Dimension(800, 400));
this.setMinimumSize(new Dimension(750, 400));
this.setLayout(new BorderLayout());
this.add(BorderLayout.CENTER, getTablePanel());
this.add(BorderLayout.SOUTH, getBtnPanel());
addListeners();
}
private void addListeners() {
b_qr.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Thread(new Runnable() {
@Override
public void run() {
try {
t_part.revalidate();
t_part.repaint();
// 组织数据传递
ProgressBar pb = new ProgressBar(ZxjcFram.this, new Dimension(300, 50));
pb.startProgress();
pb.setText("正在传递");
controller.sendZxjc();
pb.disposeDialog();
//发送成功弹窗
MessageBox.post("发送成功!","提示",2);
ZxjcFram.this.dispose();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
});
b_cel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
}
private JPanel getBtnPanel() {
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 30, 5));
b_cel = new JButton("取消");
b_qr = new JButton("确认");
panel.add(b_qr);
panel.add(b_cel);
return panel;
}
private JPanel getTablePanel() {
JPanel panel = new JPanel(new BorderLayout());
tm_part = new DefaultTableModel();
t_part = new JTable(tm_part) {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {
if (column == 0 || column == 6) {
return true;
}
return false;
}
@Override
public Class<?> getColumnClass(int column) { // 设置选择列(第三列)类型
if (column == 0) {
return Boolean.class;
}
return super.getColumnClass(column);
}
};
tm_part.setDataVector(null, HEADER);
t_part.getTableHeader().setReorderingAllowed(false); // 设置列不可移动,否则会发生类型转换错误(第三列)
this.t_part.setRowHeight(23);
TableColumnModel colModel = this.t_part.getColumnModel();
int colCnt = HEADERWIDTH.length;
colModel.getColumn(0).setMaxWidth(HEADERWIDTH[0]);
for (int i = 0; i < colCnt; i++) {
colModel.getColumn(i).setPreferredWidth(HEADERWIDTH[i]);
}
this.t_part.getTableHeader().setDefaultRenderer(new CheckBoxTableHeaderRenderer(t_part, 0, false));
this.t_part.getTableHeader().setBackground(Color.blue);
// 设置出厂编号可编辑
TableColumn editableColumn = t_part.getColumnModel().getColumn(6); // 获取第3列
editableColumn.setCellEditor(new DefaultCellEditor(new JTextField()));
// ZxjcCellEditor editor = new ZxjcCellEditor(ZxjcFram.this);
// t_part.getColumnModel().getColumn(6).setCellEditor(editor);
JScrollPane scroll = new JScrollPane(t_part);
panel.add(BorderLayout.CENTER, scroll);
panel.setBorder(BorderFactory.createLoweredBevelBorder());
return panel;
}
}

@ -1,84 +0,0 @@
package com.connor.chint.yunpi.command;
public class ZxjcMATERIALBean {
private int SEQ;
private String FACTORY;
private String OBJECTNAME;
private String SPECIFICATIONS;
private int QUANTITY;
private String DRAWINGNO;
private String UNIT;
private String REMARK;
public int getSEQ() {
return SEQ;
}
public void setSEQ(int sEQ) {
SEQ = sEQ;
}
public String getFACTORY() {
return FACTORY;
}
public void setFACTORY(String fACTORY) {
FACTORY = fACTORY;
}
public String getOBJECTNAME() {
return OBJECTNAME;
}
public void setOBJECTNAME(String oBJECTNAME) {
OBJECTNAME = oBJECTNAME;
}
public String getSPECIFICATIONS() {
return SPECIFICATIONS;
}
public void setSPECIFICATIONS(String sPECIFICATIONS) {
SPECIFICATIONS = sPECIFICATIONS;
}
public int getQUANTITY() {
return QUANTITY;
}
public void setQUANTITY(int qUANTITY) {
QUANTITY = qUANTITY;
}
public String getDRAWINGNO() {
return DRAWINGNO;
}
public void setDRAWINGNO(String dRAWINGNO) {
DRAWINGNO = dRAWINGNO;
}
public String getUNIT() {
return UNIT;
}
public void setUNIT(String uNIT) {
UNIT = uNIT;
}
public String getREMARK() {
return REMARK;
}
public void setREMARK(String rEMARK) {
REMARK = rEMARK;
}
public ZxjcMATERIALBean(int sEQ, String fACTORY, String oBJECTNAME, String sPECIFICATIONS, int qUANTITY,
String dRAWINGNO, String uNIT, String rEMARK) {
super();
SEQ = sEQ;
FACTORY = fACTORY;
OBJECTNAME = oBJECTNAME;
SPECIFICATIONS = sPECIFICATIONS;
QUANTITY = qUANTITY;
DRAWINGNO = dRAWINGNO;
UNIT = uNIT;
REMARK = rEMARK;
}
public ZxjcMATERIALBean() {
super();
}
@Override
public String toString() {
return "ZxjcMATERIALBean [SEQ=" + SEQ + ", FACTORY=" + FACTORY + ", OBJECTNAME=" + OBJECTNAME
+ ", SPECIFICATIONS=" + SPECIFICATIONS + ", QUANTITY=" + QUANTITY + ", DRAWINGNO=" + DRAWINGNO
+ ", UNIT=" + UNIT + ", REMARK=" + REMARK + "]";
}
}

@ -1,495 +1,164 @@
package com.connor.plm.CostListManagement.pojo; package com.connor.plm.CostListManagement.pojo;
/**
* ===============================================================================
* Copyright (c) 2012-2024 CONNOR lijh. Unpublished - All Rights Reserved
* ===============================================================================
* File description:
*
* GzxqBean.java bean
*
* ===============================================================================
* DATE Name Description of Change
*
* 2024-06-13 ljh create
* ===============================================================================
*/
import java.awt.Desktop;
import java.net.URI;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponentFolder;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCComponentItemType;
import com.teamcenter.rac.kernel.TCSession;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Button;
import javafx.scene.control.TextArea;
public class GzxqBean { public class GzxqBean {
private TextArea instanceId = new TextArea(); private String instanceId;
private TextArea factory = new TextArea(); private String factory;
private TextArea sfId = new TextArea(); private String sfId;
private TextArea head = new TextArea(); private String head;
private TextArea scheduledtime = new TextArea(); private String scheduledtime;
private TextArea model = new TextArea(); private String model;
private TextArea productname = new TextArea(); private String productname;
private TextArea toolnumber = new TextArea(); private String toolnumber;
private TextArea toolname = new TextArea(); private String toolname;
private TextArea toolinglevel = new TextArea(); private String toolinglevel;
private String reason;
private TextArea reason = new TextArea(); private String jsgyrequirements;
private TextArea jsgyrequirements = new TextArea(); private String link;
private Button link = new Button(); private String state;
private Button cjgzxq = new Button();
private String linkStr; public GzxqBean() {
private String sfIdStr; super();
private String instanceIdStr; }
private TCSession session;
private TextArea state = new TextArea(); public String getInstanceId() {
private TextArea xh = new TextArea(); return instanceId;
//设置TextArea的值和Button }
public GzxqBean(String instanceId, String factory, String sfId, String head, String scheduledtime,
String model, String productname, String toolnumber, String toolname, String toolinglevel, public void setInstanceId(String instanceId) {
String reason, String jsgyrequirements, String link, String state, String xh,TCSession session) { this.instanceId = instanceId;
super(); }
this.instanceId.setText(instanceId);
this.instanceId.setEditable(false); public String getFactory() {
this.instanceId.setPrefSize(200, 40); return factory;
}
this.factory.setText(factory);
this.factory.setEditable(false); public void setFactory(String factory) {
this.factory.setPrefSize(200, 40); this.factory = factory;
}
this.sfId.setText(sfId);
this.sfId.setEditable(false); public String getSfId() {
this.sfId.setPrefSize(200, 40); return sfId;
}
this.head.setText(head);
this.head.setEditable(false); public void setSfId(String sfId) {
this.head.setPrefSize(200, 40); this.sfId = sfId;
}
this.scheduledtime.setText(scheduledtime);
this.scheduledtime.setEditable(false); public String getHead() {
this.scheduledtime.setPrefSize(200, 40); return head;
}
this.model.setText(model); public void setHead(String head) {
this.model.setEditable(false); this.head = head;
this.model.setPrefSize(200, 40); }
this.productname.setText(productname); public String getScheduledtime() {
this.productname.setEditable(false); return scheduledtime;
this.productname.setPrefSize(200, 40); }
this.toolnumber.setText(toolnumber); public void setScheduledtime(String scheduledtime) {
this.toolnumber.setEditable(false); this.scheduledtime = scheduledtime;
this.toolnumber.setPrefSize(200, 40); }
this.toolname.setText(toolname); public String getModel() {
this.toolname.setEditable(false); return model;
this.toolname.setPrefSize(200, 40); }
this.toolinglevel.setText(toolinglevel); public void setModel(String model) {
this.toolinglevel.setEditable(false); this.model = model;
this.toolinglevel.setPrefSize(200, 40); }
public String getProductname() {
return productname;
this.reason.setText(reason); }
this.reason.setEditable(false);
this.reason.setPrefSize(200, 40); public void setProductname(String productname) {
this.productname = productname;
this.jsgyrequirements.setText(jsgyrequirements); }
this.jsgyrequirements.setEditable(false);
this.jsgyrequirements.setPrefSize(200, 40); public String getToolnumber() {
return toolnumber;
this.cjgzxq.setText("设计");; }
this.cjgzxq.setPrefSize(200, 40);
this.link.setText("打开"); public void setToolnumber(String toolnumber) {
this.link.setPrefSize(200, 40); this.toolnumber = toolnumber;
this.linkStr = link; }
this.sfIdStr = sfId;
this.instanceIdStr = instanceId; public String getToolname() {
this.session = session; return toolname;
}
this.state.setText(state);
this.state.setEditable(false); public void setToolname(String toolname) {
this.state.setPrefSize(200, 40); this.toolname = toolname;
}
this.xh.setText(xh);
this.xh.setEditable(false); public String getToolinglevel() {
this.xh.setPrefSize(200, 40); return toolinglevel;
}
//加按钮监听
this.link.setOnAction(new EventHandler<ActionEvent>() { public void setToolinglevel(String toolinglevel) {
@Override this.toolinglevel = toolinglevel;
public void handle(ActionEvent event) { }
System.out.println("Button was clicked!");
// 在这里可以添加更多的逻辑 public String getReason() {
try { return reason;
browse2(linkStr); }
} catch (Exception e1) {
// TODO Auto-generated catch block public void setReason(String reason) {
e1.printStackTrace(); this.reason = reason;
} }
}
}); public String getJsgyrequirements() {
return jsgyrequirements;
//加按钮监听 创建对象 }
this.cjgzxq.setOnAction(new EventHandler<ActionEvent>() {
@Override public void setJsgyrequirements(String jsgyrequirements) {
public void handle(ActionEvent event) { this.jsgyrequirements = jsgyrequirements;
System.out.println("Button was clicked!"); }
// 在这里可以添加更多的逻辑
public String getLink() {
String formnumber = instanceIdStr; return link;
String sfid =sfIdStr; }
AbstractAIFApplication app = AIFUtility.getCurrentApplication();
InterfaceAIFComponent target = app.getTargetComponent(); public void setLink(String link) {
if(target instanceof TCComponentFolder) { this.link = link;
TCComponentFolder folder = (TCComponentFolder)target; }
try {
TCComponentItemType typeComponent = (TCComponentItemType) session.getTypeComponent("ZT2_Frock"); public String getState() {
String newID = typeComponent.getNewID(); return state;
TCComponentItem item = typeComponent.create(newID, "A", "ZT2_Frock", "", "", null); }
TCComponentItemRevision itemRev = item.getLatestItemRevision();
if(itemRev != null && formnumber != null && !formnumber.isEmpty()) { public void setState(String state) {
itemRev.setStringProperty("zt2_formnumber", formnumber); this.state = state;
} }
if(itemRev != null && sfid != null && !sfid.isEmpty()) {
itemRev.setStringProperty("zt2_sfid", sfid); public GzxqBean(String instanceId, String factory, String sfId, String head, String scheduledtime, String model,
} String productname, String toolnumber, String toolname, String toolinglevel, String reason,
folder.add("contents", item); String jsgyrequirements, String link, String state) {
folder.refresh(); super();
} catch (Exception e2) { this.instanceId = instanceId;
// TODO: handle exception this.factory = factory;
e2.printStackTrace(); this.sfId = sfId;
} this.head = head;
this.scheduledtime = scheduledtime;
}else { this.model = model;
try { this.productname = productname;
TCComponentItemType typeComponent = (TCComponentItemType) session.getTypeComponent("ZT2_Frock"); this.toolnumber = toolnumber;
String newID = typeComponent.getNewID(); this.toolname = toolname;
TCComponentItem item = typeComponent.create(newID, "A", "ZT2_Frock", "", "", null); this.toolinglevel = toolinglevel;
TCComponentItemRevision itemRev = item.getLatestItemRevision(); this.reason = reason;
if(itemRev != null && formnumber != null && !formnumber.isEmpty()) { this.jsgyrequirements = jsgyrequirements;
itemRev.setStringProperty("zt2_formnumber", formnumber); this.link = link;
this.state = state;
} }
if(itemRev != null && sfid != null && !sfid.isEmpty()) {
itemRev.setStringProperty("zt2_sfid", sfid); @Override
} public String toString() {
session.getUser().getNewStuffFolder().add("contents", item); return "GzxqBean [instanceId=" + instanceId + ", factory=" + factory + ", sfId=" + sfId + ", head=" + head
} catch (Exception e2) { + ", scheduledtime=" + scheduledtime + ", model=" + model + ", productname=" + productname
// TODO: handle exception + ", toolnumber=" + toolnumber + ", toolname=" + toolname + ", toolinglevel=" + toolinglevel
e2.printStackTrace(); + ", reason=" + reason + ", jsgyrequirements=" + jsgyrequirements + ", link=" + link + ", state="
} + state + "]";
}
}
}
});
}
public TextArea getInstanceId() {
return instanceId;
}
public void setInstanceId(TextArea instanceId) {
this.instanceId = instanceId;
}
public TextArea getFactory() {
return factory;
}
public void setFactory(TextArea factory) {
this.factory = factory;
}
public TextArea getSfId() {
return sfId;
}
public void setSfId(TextArea sfId) {
this.sfId = sfId;
}
public TextArea getHead() {
return head;
}
public void setHead(TextArea head) {
this.head = head;
}
public TextArea getScheduledtime() {
return scheduledtime;
}
public void setScheduledtime(TextArea scheduledtime) {
this.scheduledtime = scheduledtime;
}
public TextArea getModel() {
return model;
}
public void setModel(TextArea model) {
this.model = model;
}
public TextArea getProductname() {
return productname;
}
public void setProductname(TextArea productname) {
this.productname = productname;
}
public TextArea getToolnumber() {
return toolnumber;
}
public void setToolnumber(TextArea toolnumber) {
this.toolnumber = toolnumber;
}
public TextArea getToolname() {
return toolname;
}
public void setToolname(TextArea toolname) {
this.toolname = toolname;
}
public TextArea getToolinglevel() {
return toolinglevel;
}
public void setToolinglevel(TextArea toolinglevel) {
this.toolinglevel = toolinglevel;
}
public TextArea getReason() {
return reason;
}
public void setReason(TextArea reason) {
this.reason = reason;
}
public Button getCjgzxq() {
return cjgzxq;
}
public void setCjgzxq(Button cjgzxq) {
this.cjgzxq = cjgzxq;
}
public Button getLink() {
return link;
}
public void setLink(Button link) {
this.link = link;
}
public TextArea getState() {
return state;
}
public void setState(TextArea state) {
this.state = state;
}
public TextArea getXh() {
return xh;
}
public void setXh(TextArea xh) {
this.xh = xh;
}
public TextArea getJsgyrequirements() {
return jsgyrequirements;
}
public void setJsgyrequirements(TextArea jsgyrequirements) {
this.jsgyrequirements = jsgyrequirements;
}
public String getLinkStr() {
return linkStr;
}
public void setLinkStr(String linkStr) {
this.linkStr = linkStr;
}
public String getSfIdStr() {
return sfIdStr;
}
public void setSfIdStr(String sfIdStr) {
this.sfIdStr = sfIdStr;
}
public String getInstanceIdStr() {
return instanceIdStr;
}
public void setInstanceIdStr(String instanceIdStr) {
this.instanceIdStr = instanceIdStr;
}
public TCSession getSession() {
return session;
}
public void setSession(TCSession session) {
this.session = session;
}
/**
*
*/
private void browse2(String url) throws Exception {
Desktop desktop = Desktop.getDesktop();
if (Desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) {
URI uri = new URI(url);
desktop.browse(uri);
}
}
// public GzxqBean() {
// super();
// }
//
// public String getInstanceId() {
// return instanceId;
// }
//
// public void setInstanceId(String instanceId) {
// this.instanceId = instanceId;
// }
//
// public String getFactory() {
// return factory;
// }
//
// public void setFactory(String factory) {
// this.factory = factory;
// }
//
// public String getSfId() {
// return sfId;
// }
//
// public void setSfId(String sfId) {
// this.sfId = sfId;
// }
//
// public String getHead() {
// return head;
// }
//
// public void setHead(String head) {
// this.head = head;
// }
//
// public String getScheduledtime() {
// return scheduledtime;
// }
//
// public void setScheduledtime(String scheduledtime) {
// this.scheduledtime = scheduledtime;
// }
//
// public String getModel() {
// return model;
// }
//
// public void setModel(String model) {
// this.model = model;
// }
//
// public String getProductname() {
// return productname;
// }
//
// public void setProductname(String productname) {
// this.productname = productname;
// }
//
// public String getToolnumber() {
// return toolnumber;
// }
//
// public void setToolnumber(String toolnumber) {
// this.toolnumber = toolnumber;
// }
//
// public String getToolname() {
// return toolname;
// }
//
// public void setToolname(String toolname) {
// this.toolname = toolname;
// }
//
// public String getToolinglevel() {
// return toolinglevel;
// }
//
// public void setToolinglevel(String toolinglevel) {
// this.toolinglevel = toolinglevel;
// }
//
// public String getReason() {
// return reason;
// }
//
// public void setReason(String reason) {
// this.reason = reason;
// }
//
// public String getJsgyrequirements() {
// return jsgyrequirements;
// }
//
// public void setJsgyrequirements(String jsgyrequirements) {
// this.jsgyrequirements = jsgyrequirements;
// }
//
// public String getLink() {
// return link;
// }
//
// public void setLink(String link) {
// this.link = link;
// }
//
// public String getState() {
// return state;
// }
//
// public void setState(String state) {
// this.state = state;
// }
//
// public GzxqBean(String instanceId, String factory, String sfId, String head, String scheduledtime, String model,
// String productname, String toolnumber, String toolname, String toolinglevel, String reason,
// String jsgyrequirements, String link, String state) {
// super();
// this.instanceId = instanceId;
// this.factory = factory;
// this.sfId = sfId;
// this.head = head;
// this.scheduledtime = scheduledtime;
// this.model = model;
// this.productname = productname;
// this.toolnumber = toolnumber;
// this.toolname = toolname;
// this.toolinglevel = toolinglevel;
// this.reason = reason;
// this.jsgyrequirements = jsgyrequirements;
// this.link = link;
// this.state = state;
// }
//
// @Override
// public String toString() {
// return "GzxqBean [instanceId=" + instanceId + ", factory=" + factory + ", sfId=" + sfId + ", head=" + head
// + ", scheduledtime=" + scheduledtime + ", model=" + model + ", productname=" + productname
// + ", toolnumber=" + toolnumber + ", toolname=" + toolname + ", toolinglevel=" + toolinglevel
// + ", reason=" + reason + ", jsgyrequirements=" + jsgyrequirements + ", link=" + link + ", state="
// + state + "]";
// }
} }

@ -1,124 +1,124 @@
//package com.connor.plm.GZXQ; package com.connor.plm.GZXQ;
//
//import java.awt.Component; import java.awt.Component;
//import java.awt.Desktop; import java.awt.Desktop;
//import java.net.URI; import java.net.URI;
//import java.util.List; import java.util.List;
//
//import javax.swing.AbstractCellEditor; import javax.swing.AbstractCellEditor;
//import javax.swing.JButton; import javax.swing.JButton;
//import javax.swing.JTable; import javax.swing.JTable;
//import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellEditor;
//
//import com.connor.plm.CostListManagement.pojo.Cusquotation; import com.connor.plm.CostListManagement.pojo.Cusquotation;
//import com.connor.plm.CostListManagement.pojo.GzxqBean; import com.connor.plm.CostListManagement.pojo.GzxqBean;
//import com.teamcenter.rac.aif.AbstractAIFApplication; import com.teamcenter.rac.aif.AbstractAIFApplication;
//import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent; import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
//import com.teamcenter.rac.aifrcp.AIFUtility; import com.teamcenter.rac.aifrcp.AIFUtility;
//import com.teamcenter.rac.kernel.TCComponent; import com.teamcenter.rac.kernel.TCComponent;
//import com.teamcenter.rac.kernel.TCComponentFolder; import com.teamcenter.rac.kernel.TCComponentFolder;
//import com.teamcenter.rac.kernel.TCComponentItem; import com.teamcenter.rac.kernel.TCComponentItem;
//import com.teamcenter.rac.kernel.TCComponentItemRevision; import com.teamcenter.rac.kernel.TCComponentItemRevision;
//import com.teamcenter.rac.kernel.TCComponentItemType; import com.teamcenter.rac.kernel.TCComponentItemType;
//import com.teamcenter.rac.kernel.TCSession; import com.teamcenter.rac.kernel.TCSession;
//
//public class ButtonCellEditor extends AbstractCellEditor implements TableCellEditor{ public class ButtonCellEditor extends AbstractCellEditor implements TableCellEditor{
//
//
// private JButton button; private JButton button;
// private JTable table; private JTable table;
// private List<GzxqBean> quotations; private List<GzxqBean> quotations;
// private Boolean flag = false; private Boolean flag = false;
// public static GzxqBean quotation; public static GzxqBean quotation;
// public static Cusquotation cusquotation; public static Cusquotation cusquotation;
// public static TCSession session; public static TCSession session;
//
// public ButtonCellEditor(JTable jTable2,List<GzxqBean> quotations,TCSession session, TCComponent f) { public ButtonCellEditor(JTable jTable2,List<GzxqBean> quotations,TCSession session, TCComponent f) {
// button = new JButton(); button = new JButton();
// this.table = jTable2; this.table = jTable2;
// this.quotations = quotations; this.quotations = quotations;
// this.session = session; this.session = session;
// button.addActionListener(e -> { button.addActionListener(e -> {
// // 这里可以添加按钮的点击事件响应逻辑 // 这里可以添加按钮的点击事件响应逻辑
// int selectedRow = table.getSelectedRow(); int selectedRow = table.getSelectedRow();
// System.out.println("点击了第"+selectedRow+"行"); System.out.println("点击了第"+selectedRow+"行");
// String text = button.getText(); String text = button.getText();
// System.out.println("点击按钮名称:"+text); System.out.println("点击按钮名称:"+text);
// if("打开".equals(text)) { if("打开".equals(text)) {
// String url = quotations.get(selectedRow).getLink(); String url = quotations.get(selectedRow).getLink();
// try { try {
// browse2(url); browse2(url);
// } catch (Exception e1) { } catch (Exception e1) {
// // TODO Auto-generated catch block // TODO Auto-generated catch block
// e1.printStackTrace(); e1.printStackTrace();
// } }
// }else if("设计".equals(text)){ }else if("设计".equals(text)){
// String formnumber = quotations.get(selectedRow).getInstanceId(); String formnumber = quotations.get(selectedRow).getInstanceId();
// String sfid = quotations.get(selectedRow).getSfId(); String sfid = quotations.get(selectedRow).getSfId();
// AbstractAIFApplication app = AIFUtility.getCurrentApplication(); AbstractAIFApplication app = AIFUtility.getCurrentApplication();
// InterfaceAIFComponent target = app.getTargetComponent(); InterfaceAIFComponent target = app.getTargetComponent();
// if(target instanceof TCComponentFolder) { if(target instanceof TCComponentFolder) {
// TCComponentFolder folder = (TCComponentFolder)target; TCComponentFolder folder = (TCComponentFolder)target;
// try { try {
// TCComponentItemType typeComponent = (TCComponentItemType) session.getTypeComponent("ZT2_Frock"); TCComponentItemType typeComponent = (TCComponentItemType) session.getTypeComponent("ZT2_Frock");
// String newID = typeComponent.getNewID(); String newID = typeComponent.getNewID();
// TCComponentItem item = typeComponent.create(newID, "A", "ZT2_Frock", "", "", null); TCComponentItem item = typeComponent.create(newID, "A", "ZT2_Frock", "", "", null);
// TCComponentItemRevision itemRev = item.getLatestItemRevision(); TCComponentItemRevision itemRev = item.getLatestItemRevision();
// if(itemRev != null && formnumber != null && !formnumber.isEmpty()) { if(itemRev != null && formnumber != null && !formnumber.isEmpty()) {
// itemRev.setStringProperty("zt2_formnumber", formnumber); itemRev.setStringProperty("zt2_formnumber", formnumber);
// } }
// if(itemRev != null && sfid != null && !sfid.isEmpty()) { if(itemRev != null && sfid != null && !sfid.isEmpty()) {
// itemRev.setStringProperty("zt2_sfid", sfid); itemRev.setStringProperty("zt2_sfid", sfid);
// } }
// folder.add("contents", item); folder.add("contents", item);
// folder.refresh(); folder.refresh();
// } catch (Exception e2) { } catch (Exception e2) {
// // TODO: handle exception // TODO: handle exception
// e2.printStackTrace(); e2.printStackTrace();
// } }
//
// }else { }else {
// try { try {
// TCComponentItemType typeComponent = (TCComponentItemType) session.getTypeComponent("ZT2_Frock"); TCComponentItemType typeComponent = (TCComponentItemType) session.getTypeComponent("ZT2_Frock");
// String newID = typeComponent.getNewID(); String newID = typeComponent.getNewID();
// TCComponentItem item = typeComponent.create(newID, "A", "ZT2_Frock", "", "", null); TCComponentItem item = typeComponent.create(newID, "A", "ZT2_Frock", "", "", null);
// TCComponentItemRevision itemRev = item.getLatestItemRevision(); TCComponentItemRevision itemRev = item.getLatestItemRevision();
// if(itemRev != null && formnumber != null && !formnumber.isEmpty()) { if(itemRev != null && formnumber != null && !formnumber.isEmpty()) {
// itemRev.setStringProperty("zt2_formnumber", formnumber); itemRev.setStringProperty("zt2_formnumber", formnumber);
//
// } }
// if(itemRev != null && sfid != null && !sfid.isEmpty()) { if(itemRev != null && sfid != null && !sfid.isEmpty()) {
// itemRev.setStringProperty("zt2_sfid", sfid); itemRev.setStringProperty("zt2_sfid", sfid);
// } }
// session.getUser().getNewStuffFolder().add("contents", item); session.getUser().getNewStuffFolder().add("contents", item);
// } catch (Exception e2) { } catch (Exception e2) {
// // TODO: handle exception // TODO: handle exception
// e2.printStackTrace(); e2.printStackTrace();
// } }
//
// } }
// } }
// }); });
//
// } }
//private void browse2(String url) throws Exception { private void browse2(String url) throws Exception {
// Desktop desktop = Desktop.getDesktop(); Desktop desktop = Desktop.getDesktop();
// if (Desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) { if (Desktop.isDesktopSupported() && desktop.isSupported(Desktop.Action.BROWSE)) {
// URI uri = new URI(url); URI uri = new URI(url);
// desktop.browse(uri); desktop.browse(uri);
// } }
//} }
//
//@Override @Override
//public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
// int row, int column) { int row, int column) {
// button.setText(value != null ? value.toString() : ""); button.setText(value != null ? value.toString() : "");
// return button; return button;
//} }
//
//@Override @Override
//public Object getCellEditorValue() { public Object getCellEditorValue() {
// return button.getText(); return button.getText();
//} }
//
//} }

@ -1,25 +0,0 @@
package com.connor.plm.GZXQ;
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
public class CenterRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
public CenterRenderer() {
// 设置水平对齐方式为居中
setHorizontalAlignment(SwingConstants.CENTER);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
// 调用父类的实现,然后根据需要做进一步的自定义
Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
// 如果需要,可以在这里做更多的自定义,如字体、颜色等
return c;
}
}

@ -1,24 +0,0 @@
package com.connor.plm.GZXQ;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
public class CustomHeaderRenderer extends JLabel implements TableCellRenderer {
private Border border = new LineBorder(Color.black, 1); // ÉèÖñ߿òÑÕÉ«ºÍ¿í¶È
public CustomHeaderRenderer() {
setOpaque(true);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
setText(value.toString());
setBorder(border);
return this;
}
}

@ -1,511 +0,0 @@
package com.connor.plm.GZXQ;
/**
* ===============================================================================
* Copyright (c) 2012-2024 CONNOR lijh. Unpublished - All Rights Reserved
* ===============================================================================
* File description:
*
* GZXQController.java
*
* ===============================================================================
* DATE Name Description of Change
*
* 2024-06-13 ljh create
* ===============================================================================
*/
import java.awt.Component;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.casic.javafx.control.DateTimePicker;
import com.chint.plm.fxUtil.KFXPanel;
import com.chint.plm.fxUtil.KFXPanelController;
import com.connor.chint.sap2.util.SAPUtil;
import com.connor.chint.sap2.util.SqlUtil;
import com.connor.plm.CostListManagement.pojo.GzxqBean;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.DatePicker;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableRow;
import javafx.scene.control.TableView;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;
import javafx.scene.control.TitledPane;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
public class GZXQController extends KFXPanelController {
private Connection conn;
private int pageNum;// 分页显示当前第几页
private List<List<GzxqBean>> tableBeans = new ArrayList<List<GzxqBean>>();//存储table分页数据
private String PlanTime;//
@FXML
private TextField jTextField8;
@FXML
private BorderPane tablePane;
@FXML
private DatePicker jTextField7;
@FXML
private Button jButton2;
@FXML
private Button wy;
@FXML
private TextField jTextField9;
@FXML
private TitledPane titlePaneResult;
@FXML
private TextField jTextField4;
@FXML
private TextField jTextField3;
@FXML
private Button sy;
@FXML
private TextField jTextField6;
@FXML
private GridPane gridPaneCondition;
@FXML
private TextField jTextField5;
@FXML
private TableView<GzxqBean> tableView;
@FXML
private TextField jTextField10;
@FXML
private Button syy;
@FXML
private BorderPane bpane;
@FXML
private TitledPane titlePaneCondition;
@FXML
private GridPane gridPaneResult;
@FXML
private Button xyy;
@FXML
private TextField jTextField2;
@FXML
private TextField jTextField1;
@FXML
private Pane pane;
// table的列
private TableColumn<GzxqBean, TextArea> tc_1 = new TableColumn<GzxqBean, TextArea>("序号");
private TableColumn<GzxqBean, TextArea> tc_2 = new TableColumn<GzxqBean, TextArea>("申请人");
private TableColumn<GzxqBean, TextArea> tc_3 = new TableColumn<GzxqBean, TextArea>("流程实例ID");
private TableColumn<GzxqBean, TextArea> tc_4 = new TableColumn<GzxqBean, TextArea>("工艺负责人");
private TableColumn<GzxqBean, TextArea> tc_5 = new TableColumn<GzxqBean, TextArea>("计划时间");
private TableColumn<GzxqBean, TextArea> tc_6 = new TableColumn<GzxqBean, TextArea>("委托理由");
private TableColumn<GzxqBean, TextArea> tc_7 = new TableColumn<GzxqBean, TextArea>("技术工艺要求");
private TableColumn<GzxqBean, Button> tc_8 = new TableColumn<GzxqBean, Button>("OA表单链接");
private TableColumn<GzxqBean, Button> tc_9 = new TableColumn<GzxqBean, Button>("创建工装需求");
private TableColumn<GzxqBean, TextArea> tc_10 = new TableColumn<GzxqBean, TextArea>("状态");
@FXML
private ScrollPane scrollPane;
@FXML
private BorderPane resultBorder;
@FXML
private BorderPane topBorder;
private GZXQFrame frame;
private DateTimePicker dateTimeStart;
private DateTimePicker dateTimeEnd;
protected AbstractAIFApplication app;
private TCSession session;
/**
*
*/
@Override
public void initData(KFXPanel paramKFXPanel) throws Exception {
// TODO Auto-generated method stub
frame = (GZXQFrame) paramKFXPanel.getParentDialog();
addWindListener(frame);
frame.setMaximumSize(frame.getMaximumSize());
System.out.println("frame==>" + frame);
this.app = AIFUtility.getCurrentApplication();
this.session = (TCSession) app.getSession();
dateTimeStart = new DateTimePicker();
dateTimeEnd = new DateTimePicker();
//设置文本框的高度
jTextField1.setPrefHeight(30);
jTextField2.setPrefHeight(30);
jTextField3.setPrefHeight(30);
jTextField4.setPrefHeight(30);
jTextField5.setPrefHeight(30);
jTextField6.setPrefHeight(30);
jTextField7.setPrefHeight(30);
jTextField7.setPrefWidth(244);
jTextField8.setPrefHeight(30);
jTextField9.setPrefHeight(30);
jTextField10.setPrefHeight(30);
// 表格列绑定bean对象
tc_1.setSortable(false);
tc_2.setSortable(false);
tc_3.setSortable(false);
tc_4.setSortable(false);
tc_5.setSortable(false);
tc_6.setSortable(false);
tc_7.setSortable(false);
tc_8.setSortable(false);
tc_9.setSortable(false);
tc_10.setSortable(false);
// 列绑定bean对象
tc_1.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("xh"));
tc_2.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("sfId"));// cTaskNum
tc_3.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("instanceId"));
tc_4.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("head"));
tc_5.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("scheduledtime"));
tc_6.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("reason"));
tc_7.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("jsgyrequirements"));
tc_8.setCellValueFactory(new PropertyValueFactory<GzxqBean, Button>("link"));
tc_9.setCellValueFactory(new PropertyValueFactory<GzxqBean, Button>("cjgzxq"));
tc_10.setCellValueFactory(new PropertyValueFactory<GzxqBean, TextArea>("state"));
//设置table列宽度
tc_1.prefWidthProperty().bind(tableView.widthProperty().multiply(0.04));
tc_2.prefWidthProperty().bind(tableView.widthProperty().multiply(0.07));
tc_3.prefWidthProperty().bind(tableView.widthProperty().multiply(0.12));
tc_4.prefWidthProperty().bind(tableView.widthProperty().multiply(0.09));
tc_5.prefWidthProperty().bind(tableView.widthProperty().multiply(0.1));
tc_6.prefWidthProperty().bind(tableView.widthProperty().multiply(0.2));
tc_7.prefWidthProperty().bind(tableView.widthProperty().multiply(0.12));
tc_8.prefWidthProperty().bind(tableView.widthProperty().multiply(0.09));
tc_9.prefWidthProperty().bind(tableView.widthProperty().multiply(0.09));
tc_10.prefWidthProperty().bind(tableView.widthProperty().multiply(0.08));
// //设置是否可编辑
// tc_1.setEditable(false);
// tc_2.setEditable(false);
// tc_3.setEditable(false);
// tc_4.setEditable(false);
// tc_5.setEditable(false);
// tc_6.setEditable(false);
// tc_7.setEditable(false);
// tc_8.setEditable(true);
// tc_9.setEditable(true);
// tc_10.setEditable(false);
//把代码中定义的table列加入tableView
tableView.getColumns().addAll(tc_1, tc_2, tc_3, tc_4, tc_5, tc_6, tc_7,
tc_8, tc_9, tc_10);
// tableView.setMaxHeight(pageNum);
}
// 跳转首页
@FXML
void firstBtnAction(ActionEvent event) {
pageNum = 0;
ObservableList<GzxqBean> data = FXCollections.observableArrayList(tableBeans.get(0));
tableView.getItems().clear();
tableView.setItems(data);
}
// 跳转上一页
@FXML
void lastBtnAction(ActionEvent event) {
if (pageNum > 0) {
pageNum = pageNum - 1;
}
ObservableList<GzxqBean> data = FXCollections.observableArrayList(tableBeans.get(pageNum));
tableView.getItems().clear();
tableView.setItems(data);
}
// 跳转下一页
@FXML
void nextBtnAction(ActionEvent event) {
if (pageNum < tableBeans.size() - 1) {
pageNum = pageNum + 1;
}
ObservableList<GzxqBean> data = FXCollections.observableArrayList(tableBeans.get(pageNum));
tableView.getItems().clear();
tableView.setItems(data);
}
// 跳转尾页
@FXML
void tailBtnAction(ActionEvent event) {
pageNum = tableBeans.size() - 1;
ObservableList<GzxqBean> data = FXCollections.observableArrayList(tableBeans.get(pageNum));
tableView.getItems().clear();
tableView.setItems(data);
}
/**
* @param frame
* @function
*/
private void addWindListener(GZXQFrame frame) {
// TODO Auto-generated method stub
frame.addComponentListener(new ComponentListener() {
@Override
public void componentShown(ComponentEvent e) {
// TODO Auto-generated method stub
}
/**
* pane
*/
@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);
pane.setPrefWidth(width * 0.98);
bpane.setPrefWidth(width * 0.98);
titlePaneCondition.setPrefWidth(width * 0.98);
titlePaneResult.setPrefWidth(width * 0.98);
gridPaneCondition.setPrefWidth(width * 0.97);
gridPaneCondition.setPrefWidth(width * 0.97);
tablePane.setPrefWidth(width * 0.98);
tableView.setPrefWidth(width * 0.97);
gridPaneResult.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 cxAction(ActionEvent event) throws ParseException {
//连接数据库
String[] prefs = session.getPreferenceService().getStringValues("database_tc");
System.out.println("===============开始连接tc数据库===============");
long time31 = System.nanoTime();
conn = SqlUtil.getTCDataConnection(prefs);
long time32 = System.nanoTime();
System.out.println("===============连接tc数据库用时(ms) " + ((time32 - time31) / 1000000L)+"===============");
System.out.println("======================清除");
tableView.getItems().clear();
tableBeans.clear();
String factory = "";
// 拼接查询语句
String sql = "select * from \"CHINT_ FROCK\" where 1=1 ";
try {
factory = SAPUtil.getGroupID(session);
sql = "select * from \"CHINT_ FROCK\" where FACTORY = '"+factory+"' ";
} catch (TCException e1) {
// TODO Auto-generated catch block
System.out.println("获取组织失败");
e1.printStackTrace();
}
if(jTextField1.getText()!=null && !"".equals(jTextField1.getText().trim())) {
sql += "and instanceId = \'" + jTextField1.getText() +"\'";
}
if(jTextField2.getText()!=null && !"".equals(jTextField2.getText().trim())) {
sql += "and \"HEAD\" = \'" + jTextField2.getText() +"\'";
}
if(jTextField3.getText()!=null && !"".equals(jTextField3.getText().trim())) {
sql += "and \"MODEL\" = \'" + jTextField3.getText() +"\'";
}
if(jTextField4.getText()!=null && !"".equals(jTextField4.getText().trim())) {
sql += "and \"TOOLNUMBER\" = \'" + jTextField4.getText() +"\'";
}
if(jTextField5.getText()!=null && !"".equals(jTextField5.getText().trim())) {
sql += "and \"TOOLNAME\" = \'" + jTextField5.getText() +"\'";
}
if(jTextField8.getText()!=null && !"".equals(jTextField8.getText().trim())) {
sql += "and sfId = \'" + jTextField8.getText() +"\'";
}
PlanTime = jTextField7.getEditor().getText();
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-M-dd");
if (PlanTime.length() > 0) {
if(PlanTime.contains("-")) {
PlanTime = PlanTime.replace("-", "/");
System.out.println("PlanTime==========="+PlanTime);
//Date date = sdf2.parse(PlanTime);
sql += "and \"SCHEDULEDTIME\" like \'%" + PlanTime +"%\'";
}
}
// if(jTextField7.getText()!=null && !"".equals(jTextField7.getText().trim())) {
// sql += "and \"SCHEDULEDTIME\" = \'" + jTextField7.getText() +"\'";
// }
if(jTextField9.getText()!=null && !"".equals(jTextField9.getText().trim())) {
sql += "and \"PRODUCTNAME\" = \'" + jTextField9.getText() +"\'";
}
if(jTextField10.getText()!=null && !"".equals(jTextField10.getText().trim())) {
sql += "and \"TOOLINGLEVEL\" = \'" + jTextField10.getText() +"\'";
}
if(jTextField6.getText()!=null && !"".equals(jTextField6.getText().trim())) {
sql += "and \"REASON\" = \'" + jTextField6.getText() +"\'";
}
System.out.println("sql:"+sql);
PreparedStatement statement;
try {
int z=1;
statement = conn.prepareStatement(sql);
ResultSet res = statement.executeQuery();
List<GzxqBean> quotations = new ArrayList<GzxqBean>();
//处理查询数据结果集
while (res.next()) {
GzxqBean gzxqBean = new GzxqBean(
res.getString("instanceId") != null ? res.getString("instanceId") : "",
res.getString("factory") != null ? res.getString("factory") : "",
res.getString("sfId") != null ? res.getString("sfId") : "",
res.getString("head") != null ? res.getString("head") : "",
res.getString("scheduledtime") != null ? res.getString("scheduledtime") : "",
res.getString("model") != null ? res.getString("model") : "",
res.getString("productname") != null ? res.getString("productname") : "",
res.getString("toolnumber") != null ? res.getString("toolnumber") : "",
res.getString("toolname") != null ? res.getString("toolname") : "",
res.getString("toolinglevel") != null ? res.getString("toolinglevel") : "",
res.getString("reason") != null ? res.getString("reason") : "",
res.getString("jsgyrequirements") != null ? res.getString("jsgyrequirements") : "",
res.getString("link") != null ? res.getString("link") : "",
res.getString("state") != null ? res.getString("state") : "",z+""
,session);
if(z % 10 ==1) {
quotations = new ArrayList<GzxqBean>();
tableBeans.add(quotations);
}
quotations.add(gzxqBean);
z = z+1;
}
pageNum = 0;
if(tableBeans == null || tableBeans.size() <= 0 || tableBeans.get(0).size() <= 0) {
//MessageBox.post("未查询到对应工装需求!","提示",2);
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("提示");
alert.setHeaderText("未查询到对应工装需求");
//alert.setContentText("导入完成");
alert.showAndWait();
}else {
ObservableList<GzxqBean> data = FXCollections.observableArrayList(tableBeans.get(0));
System.out.println("======================清除");
tableView.getItems().clear();
tableView.setItems(data);
}
tableView.setRowFactory(tv -> {
//TODO 设置行高
TableRow<GzxqBean> row = new TableRow<>();
row.setPrefHeight(50);
return row;
});
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

@ -1,26 +0,0 @@
package com.connor.plm.GZXQ;
import java.awt.BorderLayout;
import java.awt.Dimension;
import com.chint.plm.fxUtil.KFrame;
import javafx.embed.swing.JFXPanel;
public class GZXQFrame extends KFrame {
public GZXQFrame() {
super();
}
@Override
protected void initUI() throws Exception {
this.setTitle("¹¤×°ÐèÇó");
this.setLayout(new BorderLayout());
this.setPreferredSize(new Dimension(1490, 900));
JFXPanel panel = new JFXPanel();
panel.setScene(new GZXQPanel(this).getScene());
this.add(BorderLayout.CENTER, panel);
}
}

@ -3,11 +3,9 @@ package com.connor.plm.GZXQ;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Toolkit; import java.awt.Toolkit;
import org.apache.log4j.chainsaw.Main;
import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionEvent;
import com.chint.plm.SearchSapResult.SapResultFrame;
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;
@ -28,26 +26,22 @@ public class GZXQHandler extends AbstractHandler{
new Thread() { new Thread() {
@Override @Override
public void run() { public void run() {
// NewJFrame newJFrame = new NewJFrame(session); NewJFrame newJFrame = new NewJFrame(session);
// int width2 = newJFrame.getWidth(); int width2 = newJFrame.getWidth();
// int height2 = newJFrame.getHeight(); int height2 = newJFrame.getHeight();
// Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // 获取屏幕尺寸 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // 获取屏幕尺寸
// int screenWidth = screenSize.width; // 获取屏幕宽度 int screenWidth = screenSize.width; // 获取屏幕宽度
// int screenHeight = screenSize.height; // 获取屏幕高度 int screenHeight = screenSize.height; // 获取屏幕高度
// int x = (screenWidth - width2) / 2; // 计算Frame的左上角x坐标 int x = (screenWidth - width2) / 2; // 计算Frame的左上角x坐标
// int y = (screenHeight - height2) / 2; // 计算Frame的左上角y坐标 int y = (screenHeight - height2) / 2; // 计算Frame的左上角y坐标
// newJFrame.setTitle("工装需求查询"); newJFrame.setTitle("工装需求查询");
// // this.getContentPane().setBackground(Color.red); // this.getContentPane().setBackground(Color.red);
// newJFrame.getContentPane().setBackground(new java.awt.Color(255, 255, 255)); newJFrame.getContentPane().setBackground(new java.awt.Color(255, 255, 255));
// newJFrame.setSize(1240, height2); // 设置Frame的大小 newJFrame.setSize(950, height2); // 设置Frame的大小
// newJFrame.setLocation(x, y); // 设置Frame的位置 newJFrame.setLocation(x, y); // 设置Frame的位置
// newJFrame.setResizable(false); newJFrame.setResizable(false);
// newJFrame.setDefaultCloseOperation(2); // 设置窗口关闭时的默认操作 newJFrame.setDefaultCloseOperation(2); // 设置窗口关闭时的默认操作
// newJFrame.setVisible(true); newJFrame.setVisible(true);
new GZXQFrame();
} }
}.start(); }.start();
} catch (Exception e) { } catch (Exception e) {
@ -56,8 +50,4 @@ public class GZXQHandler extends AbstractHandler{
return null; return null;
} }
public static void main(String[] args) {
new GZXQFrame();
}
} }

@ -1,13 +0,0 @@
package com.connor.plm.GZXQ;
import java.awt.Window;
import com.chint.plm.fxUtil.KFXPanel;
public class GZXQPanel extends KFXPanel {
public GZXQPanel(Window dialog) {
super(dialog, "a.fxml");
// TODO Auto-generated constructor stub
}
}

@ -1,129 +0,0 @@
package com.connor.plm.GZXQ;
//import javax.swing.*;
//import javax.swing.table.*;
//import java.awt.*;
//
//public class MultiLineTableCellRenderer extends JTextArea implements TableCellRenderer {
//
// public MultiLineTableCellRenderer() {
// // 设置JTextArea的属性
// this.setEditable(false);
// this.setLineWrap(true); // 启用自动换行
// this.setWrapStyleWord(true); // 保持单词的完整性,不在单词中间换行
// }
//
// @Override
// public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
// // 清除样式,避免残留样式影响显示
// this.setText(value == null ? "" : value.toString());
//
// // 可以根据需要设置字体、颜色等样式
// if (isSelected) {
// this.setBackground(table.getSelectionBackground());
// this.setForeground(table.getSelectionForeground());
// } else {
// this.setBackground(table.getBackground());
// this.setForeground(table.getForeground());
// }
//
// return this;
// }
//}
//import javax.swing.*;
//import javax.swing.table.DefaultTableCellRenderer;
//import javax.swing.table.TableCellRenderer;
//import java.awt.*;
//
//public class MultiLineTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
//
// private JScrollPane scrollPane;
//
// public MultiLineTableCellRenderer() {
// JTextArea textArea = new JTextArea();
// textArea.setEditable(false); // 禁止编辑
// textArea.setLineWrap(true); // 允许换行
// textArea.setWrapStyleWord(true); // 单词整行换行
//
// scrollPane = new JScrollPane(textArea);
// scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
// scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
// scrollPane.setBorder(null); // 移除边框
// }
//
// @Override
// public Component getTableCellRendererComponent(JTable table, Object value,
// boolean isSelected, boolean hasFocus,
// int row, int column) {
// JTextArea textArea = (JTextArea) scrollPane.getViewport().getView();
// textArea.setText(value == null ? "" : value.toString());
//
// // 设置选中状态的颜色
// if (isSelected) {
// textArea.setBackground(table.getSelectionBackground());
// textArea.setForeground(table.getSelectionForeground());
// } else {
// textArea.setBackground(table.getBackground());
// textArea.setForeground(table.getForeground());
// }
//
// return scrollPane;
// }
//}
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
import java.awt.*;
public class MultiLineTableCellRenderer extends DefaultTableCellRenderer implements TableCellRenderer {
private JTextArea textArea;
private JScrollPane scrollPane;
public MultiLineTableCellRenderer() {
textArea = new JTextArea();
textArea.setEditable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
scrollPane = new JScrollPane(textArea);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scrollPane.setBorder(null);
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column) {
textArea.setText(value == null ? "" : value.toString());
// 设置选中状态的颜色
if (isSelected) {
textArea.setBackground(table.getSelectionBackground());
textArea.setForeground(table.getSelectionForeground());
} else {
textArea.setBackground(table.getBackground());
textArea.setForeground(table.getForeground());
}
// 获取单元格的首选大小
Dimension preferredSize = table.getColumnModel().getColumn(column).getPreferredWidth() > 0 ?
new Dimension(table.getColumnModel().getColumn(column).getPreferredWidth(), table.getRowHeight(row)) :
new Dimension(table.getColumnModel().getColumn(column).getWidth(), table.getRowHeight(row));
// 设置JScrollPane的大小
scrollPane.setPreferredSize(preferredSize);
scrollPane.setMaximumSize(preferredSize);
scrollPane.setMinimumSize(preferredSize);
scrollPane.setSize(preferredSize);
// 重新计算JScrollPane的布局
scrollPane.revalidate();
scrollPane.repaint();
return scrollPane;
}
}

@ -1,106 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<Pane fx:id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="840.0" prefWidth="1270.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.GZXQ.GZXQController">
<children>
<BorderPane fx:id="bpane" layoutX="5.0" layoutY="14.0" prefHeight="840.0" prefWidth="1261.0">
<top>
<TitledPane fx:id="titlePaneCondition" animated="false" prefHeight="182.0" prefWidth="1034.0" text="条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="151.0" prefWidth="964.0">
<children>
<GridPane fx:id="gridPaneCondition" layoutX="13.0" layoutY="11.0" prefHeight="114.0" prefWidth="1218.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="109.0" minWidth="10.0" prefWidth="86.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="164.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="112.0" minWidth="10.0" prefWidth="93.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="233.0" minWidth="10.0" prefWidth="185.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="103.0" minWidth="10.0" prefWidth="95.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="246.0" minWidth="10.0" prefWidth="191.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="189.0" minWidth="10.0" prefWidth="97.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="212.0" minWidth="10.0" prefWidth="212.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<TextField fx:id="jTextField1" GridPane.columnIndex="1" />
<TextField fx:id="jTextField2" prefHeight="30.0" prefWidth="189.0" GridPane.columnIndex="3" />
<TextField fx:id="jTextField5" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="jTextField6" prefHeight="30.0" prefWidth="152.0" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="jTextField7" GridPane.columnIndex="5" GridPane.rowIndex="1" />
<TextField fx:id="jTextField3" GridPane.columnIndex="5" />
<TextField fx:id="jTextField8" GridPane.columnIndex="7" GridPane.rowIndex="1" />
<TextField fx:id="jTextField4" prefHeight="30.0" prefWidth="168.0" GridPane.columnIndex="7" />
<TextField fx:id="jTextField9" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField fx:id="jTextField10" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label text="流程实例ID" GridPane.halignment="CENTER" />
<Label text="工装名称" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="产品名称" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="工艺负责人" GridPane.columnIndex="2" GridPane.halignment="CENTER" />
<Label text="委托理由" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="工装等级" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="产品型号" GridPane.columnIndex="4" GridPane.halignment="CENTER" />
<Label text="计划时间" GridPane.columnIndex="4" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label GridPane.columnIndex="4" GridPane.rowIndex="2" />
<Label text="工装编号" GridPane.columnIndex="6" GridPane.halignment="CENTER" />
<Label text="申请人" GridPane.columnIndex="6" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Button fx:id="jButton2" mnemonicParsing="false" onAction="#cxAction" prefHeight="30.0" prefWidth="98.0" text="查 询" GridPane.columnIndex="7" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="BOTTOM">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Button>
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
<center>
<TitledPane fx:id="titlePaneResult" animated="false" prefHeight="620.0" prefWidth="966.0" text="结果" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="570.0" prefWidth="964.0">
<children>
<BorderPane fx:id="tablePane" layoutX="8.0" layoutY="6.0" prefHeight="573.0" prefWidth="1245.0">
<top>
<TableView fx:id="tableView" prefHeight="544.0" prefWidth="1195.0" BorderPane.alignment="CENTER" />
</top>
<bottom>
<GridPane fx:id="gridPaneResult" prefHeight="29.0" prefWidth="948.0" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="2" />
<Button fx:id="syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="3" />
<Button mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="4" fx:id="xyy" />
<Button fx:id="wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="5" />
</children>
</GridPane>
</bottom>
</BorderPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</center>
</BorderPane>
</children>
</Pane>

@ -1,107 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<Pane fx:id="pane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="840.0" prefWidth="1270.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.connor.plm.GZXQ.GZXQController">
<children>
<BorderPane fx:id="bpane" layoutX="5.0" layoutY="14.0" prefHeight="840.0" prefWidth="1261.0">
<top>
<TitledPane fx:id="titlePaneCondition" animated="false" prefHeight="182.0" prefWidth="1034.0" text="条件" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="151.0" prefWidth="964.0">
<children>
<GridPane fx:id="gridPaneCondition" layoutX="13.0" layoutY="11.0" prefHeight="114.0" prefWidth="1218.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="109.0" minWidth="10.0" prefWidth="86.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="216.0" minWidth="10.0" prefWidth="164.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="112.0" minWidth="10.0" prefWidth="93.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="233.0" minWidth="10.0" prefWidth="185.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="103.0" minWidth="10.0" prefWidth="95.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="246.0" minWidth="10.0" prefWidth="191.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="189.0" minWidth="10.0" prefWidth="97.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="212.0" minWidth="10.0" prefWidth="212.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<TextField fx:id="jTextField1" GridPane.columnIndex="1" />
<TextField fx:id="jTextField2" prefHeight="30.0" prefWidth="189.0" GridPane.columnIndex="3" />
<TextField fx:id="jTextField5" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="jTextField6" prefHeight="30.0" prefWidth="152.0" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="jTextField3" GridPane.columnIndex="5" />
<TextField fx:id="jTextField8" GridPane.columnIndex="7" GridPane.rowIndex="1" />
<TextField fx:id="jTextField4" prefHeight="30.0" prefWidth="168.0" GridPane.columnIndex="7" />
<TextField fx:id="jTextField9" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField fx:id="jTextField10" GridPane.columnIndex="3" GridPane.rowIndex="2" />
<Label text="流程实例ID" GridPane.halignment="CENTER" />
<Label text="工装名称" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="产品名称" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="工艺负责人" GridPane.columnIndex="2" GridPane.halignment="CENTER" />
<Label text="委托理由" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label text="工装等级" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="2" />
<Label text="产品型号" GridPane.columnIndex="4" GridPane.halignment="CENTER" />
<Label text="计划时间" GridPane.columnIndex="4" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Label GridPane.columnIndex="4" GridPane.rowIndex="2" />
<Label text="工装编号" GridPane.columnIndex="6" GridPane.halignment="CENTER" />
<Label text="申请人" GridPane.columnIndex="6" GridPane.halignment="CENTER" GridPane.rowIndex="1" />
<Button fx:id="jButton2" mnemonicParsing="false" onAction="#cxAction" prefHeight="30.0" prefWidth="98.0" text="查 询" GridPane.columnIndex="7" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="BOTTOM">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Button>
<DatePicker GridPane.columnIndex="5" GridPane.rowIndex="1" />
<DatePicker fx:id="jTextField7" GridPane.columnIndex="5" GridPane.rowIndex="1" />
</children>
</GridPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</top>
<center>
<TitledPane fx:id="titlePaneResult" animated="false" prefHeight="620.0" prefWidth="966.0" text="结果" BorderPane.alignment="CENTER">
<content>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="570.0" prefWidth="964.0">
<children>
<BorderPane fx:id="tablePane" layoutX="8.0" layoutY="6.0" prefHeight="573.0" prefWidth="1245.0">
<top>
<TableView fx:id="tableView" prefHeight="544.0" prefWidth="1195.0" BorderPane.alignment="CENTER" />
</top>
<bottom>
<GridPane fx:id="gridPaneResult" prefHeight="29.0" prefWidth="948.0" BorderPane.alignment="CENTER">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Button fx:id="sy" mnemonicParsing="false" onAction="#firstBtnAction" text="首页" GridPane.columnIndex="2" />
<Button fx:id="syy" mnemonicParsing="false" onAction="#lastBtnAction" text="上一页" GridPane.columnIndex="3" />
<Button mnemonicParsing="false" onAction="#nextBtnAction" text="下一页" GridPane.columnIndex="4" fx:id="xyy" />
<Button fx:id="wy" mnemonicParsing="false" onAction="#tailBtnAction" text="尾页" GridPane.columnIndex="5" />
</children>
</GridPane>
</bottom>
</BorderPane>
</children>
</AnchorPane>
</content>
</TitledPane>
</center>
</BorderPane>
</children>
</Pane>

@ -4,7 +4,6 @@ import java.sql.Connection;
import java.sql.DriverManager; import java.sql.DriverManager;
import java.sql.SQLException; import java.sql.SQLException;
import com.connor.chint.sap2.util.SAPUtil;
import com.connor.chint.sap2.util.SqlUtil; import com.connor.chint.sap2.util.SqlUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication; import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.AbstractAIFDialog; import com.teamcenter.rac.aif.AbstractAIFDialog;
@ -13,7 +12,6 @@ import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentDataset; import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCComponentGroup; import com.teamcenter.rac.kernel.TCComponentGroup;
import com.teamcenter.rac.kernel.TCComponentItemRevision; import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession; import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox; import com.teamcenter.rac.util.MessageBox;
@ -39,7 +37,6 @@ public class SRMDialog extends AbstractAIFDialog {
public SRMDialog(AbstractAIFApplication app, TCSession session) throws Exception { public SRMDialog(AbstractAIFApplication app, TCSession session) throws Exception {
this.session = session; this.session = session;
System.out.println("222222222222222222222222222222222222");
this.app = app; this.app = app;
initUI(); initUI();
} }
@ -79,18 +76,13 @@ public class SRMDialog extends AbstractAIFDialog {
// »ñÈ¡uid // »ñÈ¡uid
String uid = revision.getUid(); String uid = revision.getUid();
System.out.println("uid===" + uid); System.out.println("uid===" + uid);
// 获取组信息
TCComponentGroup loginGroup = session.getUser().getLoginGroup();
//TCComponentGroup loginGroup = session.getUser().getLoginGroup();
String userName = session.getUserName(); String userName = session.getUserName();
String userId = session.getUser().getUserId(); String userId = session.getUser().getUserId();
System.out.println("userName================"+userName); System.out.println("userName================"+userName);
System.out.println("userId================"+userId); System.out.println("userId================"+userId);
String groupName = loginGroup.getStringProperty("full_name");
TCComponentGroup group = session.getCurrentGroup();
String groupName = group.getTCProperty("name").getStringValue();
//String groupName = loginGroup.getStringProperty("full_name");
System.out.println("groupName===" + groupName); System.out.println("groupName===" + groupName);
// insertÊý¾Ý¿â // insertÊý¾Ý¿â
String[] prefs = session.getPreferenceService().getStringValues("CHINT_SRM_SQL_CONNECT"); String[] prefs = session.getPreferenceService().getStringValues("CHINT_SRM_SQL_CONNECT");

@ -6,7 +6,6 @@ import org.eclipse.core.commands.ExecutionException;
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.TCException;
import com.teamcenter.rac.kernel.TCSession; import com.teamcenter.rac.kernel.TCSession;
public class SRMHandler extends AbstractHandler{ public class SRMHandler extends AbstractHandler{
@ -16,7 +15,6 @@ public class SRMHandler extends AbstractHandler{
public Object execute(ExecutionEvent arg0) throws ExecutionException { public Object execute(ExecutionEvent arg0) throws ExecutionException {
AbstractAIFApplication app = AIFUtility.getCurrentApplication(); AbstractAIFApplication app = AIFUtility.getCurrentApplication();
TCSession session = (TCSession) app.getSession(); TCSession session = (TCSession) app.getSession();
try { try {
new Thread() { new Thread() {

@ -1,378 +0,0 @@
package com.connor.plm.txdp;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.Month;
import java.time.YearMonth;
import java.time.temporal.ChronoUnit;
import java.time.temporal.WeekFields;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.connor.chint.sap2.util.MyProgressBarCompent;
import com.connor.chint.sap2.util.SAPUtil;
import com.connor.chint.sap2.util.SqlUtil;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.DateButton;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.rac.util.PropertyLayout;
public class BZGSFram extends JFrame implements ActionListener {
private TCSession session;
protected DefaultTableModel tm_part;
private static ArrayList<String> dateConnList = new ArrayList<String>();
private String[] prefs;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
StringBuilder insertSql = new StringBuilder();
private JTextField pathJTextField = new JTextField(30);
private JButton outputButton = new JButton("选择");
private Workbook workbook;
public BZGSFram(TCSession session) {
// TODO Auto-generated constructor stub
this.session = session;
prefs = session.getPreferenceService().getStringValues("CHINT_SRM_SQL_CONNECT");
initUI();
}
private String sqlString = "";
private void initUI() {
// TODO Auto-generated method stub
try {
this.setTitle("工时维护界面");
this.setLayout(new BorderLayout());
JPanel topPanel = getTopPanel();
JPanel btnPanel = getBtnPanel();
this.add(topPanel, BorderLayout.NORTH);
// this.add(pane,BorderLayout.CENTER);
this.add(btnPanel, BorderLayout.SOUTH);
this.setPreferredSize(new Dimension(550, 115));
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // 获取屏幕尺寸
int screenWidth = screenSize.width; // 获取屏幕宽度
int screenHeight = screenSize.height; // 获取屏幕高度
int x = (screenWidth - 550) / 2; // 计算Frame的左上角x坐标
int y = (screenHeight - 300) / 2; // 计算Frame的左上角y坐标
this.setLocation(x, y); // 设置Frame的位置
// this.setLocationRelativeTo(null);
this.createActionEvent();
this.pack();
// this.validate();
this.setVisible(true);
// this.setAlwaysOnTop(true);
} catch (Exception e) {
e.printStackTrace();
return;
}
}
// 添加监听
public void createActionEvent() {
this.btnIn.addActionListener(this);
}
private List<TCComponent> compList = new ArrayList<TCComponent>();
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Object source = e.getSource();
System.out.println("source==>+" + source);
if (this.btnIn.equals(source)) {
//导入的逻辑
String pathJTextFieldStr = pathJTextField.getText();
if(pathJTextFieldStr == null || pathJTextFieldStr.isEmpty()) {
MessageBox.post("请选择需要导入的Excel。", "提示", 2);
return;
}
MyProgressBarCompent comp = null;
FileInputStream input = null;
try {
SqlUtil.SRMGetTCDataConnection(prefs);
if(!pathJTextFieldStr.contains(".xlsx")) {
MessageBox.post("请选择.xlsx格式的Excel。", "提示", 2);
return;
}
File file = new File(pathJTextFieldStr);
input = new FileInputStream(file);
workbook = new XSSFWorkbook(input);
comp = new MyProgressBarCompent("", "正在进行导入...");
//获取sheet页
Sheet sheet0 = workbook.getSheet("工时规则表");
//excel每一列的字段和数据库对比 判断该列是否导入
LinkedHashMap<String, Integer> titleMap = new LinkedHashMap<String, Integer>();
Row row1 = sheet0.getRow(0);
for (int i = 0; i < 100; i++) {
Cell cell = row1.getCell(i);
if(cell == null || getCellValue(cell).isEmpty()) {
System.out.println("i==="+i);
break;
}else {
titleMap.put(getCellValue(cell), cell.getColumnIndex());
}
}
System.out.println("titleMap==="+titleMap.toString());
String selectTitleSql = "SELECT column_name FROM all_tab_columns WHERE owner = 'INFODBA' AND table_name = 'CHINT_WORKHOUR'";
System.out.println("selectTitleSql ========="+selectTitleSql);
ResultSet rs = SqlUtil.read(selectTitleSql.toString());
ArrayList<String> titleArray = new ArrayList<String>();
while (rs.next()) {
titleArray.add(rs.getString(1));
}
System.out.println("titleArray==="+titleArray.toString());
Iterator<Map.Entry<String, Integer>> iterator = titleMap.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> map = iterator.next();
if(!titleArray.contains(map.getKey())) {
iterator.remove();
System.out.println("被移除的key======================"+map.getKey());
}
}
//备份 将CHINT_WORKHOUR表中的数据全量拷贝至表CHINT_WORKHOUR_BACKUP中
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String newTime = simpleDateFormat.format(new Date());
String user = session.getUser().getStringProperty("object_string");
String saveSql = "INSERT INTO CHINT_WORKHOUR_BACKUP(\"COMPANYCODE\", \"PRODUCTTYPE\", \"PRODUCTXH\", \"JSASK\", \"GYNAME\", \"GYID\", \"GXNAME\", \"GXCODE\", \"ARTIFICIALTIME\", \"MACHINETIME\", \"READINESSTIME\", \"GXMARK\", \"BZTH\", \"ProCycle\", \"VOLTAGELEVEL\", \"USER\", \"CREATETIME\") " +
"SELECT \"COMPANYCODE\", \"PRODUCTTYPE\", \"PRODUCTXH\", \"JSASK\", \"GYNAME\", \"GYID\", \"GXNAME\", \"GXCODE\", \"ARTIFICIALTIME\", \"MACHINETIME\", \"READINESSTIME\", \"GXMARK\", \"BZTH\", \"ProCycle\", \"VOLTAGELEVEL\", '"+user+"', to_date('"+newTime+"','yyyy-mm-ddhh24:mi:ss')"+
"FROM CHINT_WORKHOUR";
System.out.println("saveSql ========="+saveSql);
SqlUtil.update(saveSql);
String groupID = SAPUtil.getGroupID(session);
//将当前用户登录组织的数据从CHINT_WORKHOUR表中删除
String deleteSql = "DELETE FROM CHINT_WORKHOUR WHERE COMPANYCODE ='"+groupID+"'";
SqlUtil.update(deleteSql);
//导入数据
//把导入的字段拼接
StringBuilder fieldStr = new StringBuilder();
//可以使用insert all into table(a) values(a) into table(a) values(a);
fieldStr.append("INSERT INTO CHINT_WORKHOUR(");
for (Map.Entry<String, Integer> map : titleMap.entrySet()) {
fieldStr.append("\"").append(map.getKey()).append("\",");
}
fieldStr.setLength(fieldStr.length() - 1);
fieldStr.append(") VALUES(");
// Integer[] values = (Integer[]) titleMap.values().toArray();
Integer[] values = titleMap.values().toArray(new Integer[0]);
for (int i = 2; i < sheet0.getLastRowNum()+1; i++) {
Row row = sheet0.getRow(i);
Cell cell = row.getCell(0);
if(getCellValue(cell).isEmpty()) {
break;
}else {
String insertSqlStr = getSql(fieldStr.toString(),row,values);
SqlUtil.update(insertSqlStr);
System.out.println("insertSqlStr==="+insertSqlStr);
}
}
// System.out.println("insertSql===="+insertSql.toString());
// SqlUtil.update(insertSql.toString());
} catch (Exception e2) {
e2.printStackTrace();
if (comp != null) {
comp.setVisible(false);
}
MessageBox.post("导入失败,请联系管理员!", "提示", 2);
}
if (comp != null) {
comp.setVisible(false);
}
MessageBox.post("导入成功!", "提示", 2);
}
}
private String getSql(String fieldStr, Row row, Integer[] values) {
// TODO Auto-generated method stub
StringBuilder tempInsertSql = new StringBuilder();
tempInsertSql.append(fieldStr);
for (int i = 0; i < values.length; i++) {
tempInsertSql.append("'").append(getCellValue(row.getCell(values[i]))).append("',");
}
tempInsertSql.setLength(tempInsertSql.length() - 1);
tempInsertSql.append(")");
System.out.println("tempInsertSql===="+tempInsertSql.toString());
insertSql.append(tempInsertSql).append(";");
return tempInsertSql.toString();
}
private JButton btnIn;
private JPanel getBtnPanel() {
JPanel topPanel = new JPanel();
topPanel.setLayout(new PropertyLayout());
btnIn = new JButton("导入");
topPanel.add("1.1.center", new JLabel(""));
topPanel.add("2.1.center", new JLabel(""));
topPanel.add("2.2.center", new JLabel(""));
topPanel.add("2.3.center", btnIn);
return topPanel;
}
// 查询部分
private JPanel getTopPanel() {
// TODO Auto-generated method stub
JPanel topPanel = new JPanel();
topPanel.setLayout(new PropertyLayout());
topPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
topPanel.add("1.1.left.center", new JLabel(""));
topPanel.add("2.1.left.center", new JLabel("文件存放位置:"));
topPanel.add("2.2.left.center", pathJTextField);
topPanel.add("2.3.left.center", outputButton);
// 注册输出按钮的点击事件监听器
outputButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 创建文件选择器
JFileChooser fileChooser = new JFileChooser();
// 设置文件选择器只能选择文件夹
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
int result = fileChooser.showOpenDialog(topPanel);
if (result == JFileChooser.APPROVE_OPTION) {
// 获取用户选择的路径
String selectedPath = fileChooser.getSelectedFile().getPath();
// 输出用户选择的路径
System.out.println("用户选择的路径:" + selectedPath);
pathJTextField.setText(selectedPath);
}
}
});
return topPanel;
}
public String getCellValue(Cell cell) {
if(cell == null) {
return "";
}else {
int cellType = cell.getCellType();
System.out.println("cellType="+cellType+"===cell.getRowIndex()="+cell.getRowIndex()+"===cell.getColumnIndex()="+cell.getColumnIndex());
if(cellType == 1) {//string
return cell.getStringCellValue();
}else if(cellType == 3 || cellType == 0) {//num
double numericCellValue = cell.getNumericCellValue();
System.out.println("numericCellValue====================="+numericCellValue);
if(numericCellValue == 0.0) {
return ""; }
if (numericCellValue == Math.floor(numericCellValue) && !Double.isInfinite(numericCellValue)) {
long integerPart = (long) numericCellValue;
return integerPart+"";
}else {
return numericCellValue+"";
}
}else if(cellType == 2) {
// 检查单元格是否是公式类型
// 创建FormulaEvaluator
FormulaEvaluator evaluator = workbook.getCreationHelper().createFormulaEvaluator();
// 评估公式
CellValue valueEval = evaluator.evaluate(cell);
//System.out.println("valueEval.getCellType()============================================"+valueEval.getCellType());
if(valueEval.getCellType() == 1) {
return valueEval.getStringValue();
}else if(valueEval.getCellType() == 0) {//num
double numericCellValue = valueEval.getNumberValue();
// 创建DecimalFormat对象指定格式模式
DecimalFormat df = new DecimalFormat("#.00");
// 格式化数字
String formattedNumber = df.format(numericCellValue);
if(numericCellValue == 0.0) {
return ""; }
return formattedNumber;
}
}
}
return "";
}
}

@ -1,69 +0,0 @@
package com.connor.plm.txdp;
import java.util.HashMap;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.connor.chint.sap2.util.SAPUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
public class BZGSHandler extends AbstractHandler{
@Override
public Object execute(ExecutionEvent arg0) throws ExecutionException {
AbstractAIFApplication app = AIFUtility.getCurrentApplication();
TCSession session = (TCSession) app.getSession();
try {
//获取首选项判断用户是否可以使用该功能
String[] prefs = session.getPreferenceService().getStringValues("CHINT_WORKHOUR_ACL");
String userId = session.getUser().getUserId();
String groupID = SAPUtil.getGroupID(session);
HashMap<String, String> groupNamesMap = new HashMap<String, String>();
for (int i = 0; i < prefs.length; i++) {
String[] split = prefs[i].split(":");
groupNamesMap.put(split[0], split[1]);
}
System.out.println("groupNamesMap==="+groupNamesMap.toString());
String names = groupNamesMap.get(groupID);
System.out.println("names==="+names);
if(names == null || names.isEmpty()) {
MessageBox.post("您无权使用此功能,请联系管理员处理。", "提示", MessageBox.INFORMATION);
return null;
}else {
if(!names.contains(userId)) {
MessageBox.post("您无权使用此功能,请联系管理员处理。", "提示", MessageBox.INFORMATION);
return null;
}
}
new Thread() {
@Override
public void run() {
try {
new BZGSFram(session);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
}

@ -1,44 +0,0 @@
package com.connor.plm.txdp;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.connor.chint.yunpi.command.BomDcSapOp;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCSession;
public class GXTZHandler extends AbstractHandler{
@Override
public Object execute(ExecutionEvent arg0) throws ExecutionException {
AbstractAIFApplication app = AIFUtility.getCurrentApplication();
TCSession session = (TCSession) app.getSession();
try {
new Thread() {
@Override
public void run() {
try {
new GXTZOp(app).executeOperation();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}.start();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
}

@ -1,178 +0,0 @@
package com.connor.plm.txdp;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.swing.JButton;
import javax.swing.JTextField;
import org.apache.poi.ss.usermodel.Workbook;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import com.connor.chint.sap2.util.BomToSapUtil;
import com.connor.chint.sap2.util.BomUtilWh;
import com.connor.chint.sap2.util.KUtil;
import com.connor.chint.sap2.util.MyProgressBarCompent;
import com.connor.chint.sap2.util.SAPMessageUtil;
import com.connor.chint.sap2.util.SAPUtil;
import com.connor.chint.sap2.util.SqlUtil;
import com.connor.chint.sap2.util.TXTUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aif.AbstractAIFOperation;
import com.teamcenter.rac.aif.kernel.AIFComponentContext;
import com.teamcenter.rac.aif.kernel.InterfaceAIFComponent;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentBOMLine;
import com.teamcenter.rac.kernel.TCComponentBOMWindow;
import com.teamcenter.rac.kernel.TCComponentBOMWindowType;
import com.teamcenter.rac.kernel.TCComponentDataset;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCComponentItemType;
import com.teamcenter.rac.kernel.TCComponentMEProcessRevision;
import com.teamcenter.rac.kernel.TCComponentUser;
import com.teamcenter.rac.kernel.TCException;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
import com.teamcenter.services.rac.cad._2007_01.StructureManagement.ExpandPSData;
public class GXTZOp extends AbstractAIFOperation {
private AbstractAIFApplication app;
private TCSession session;
private String groupName;
private String userName;
private String[] prefs;
public GXTZOp(AbstractAIFApplication app) {
// Auto-generated constructor stub
this.app = app;
this.session = (TCSession) app.getSession();
prefs = session.getPreferenceService().getStringValues("CHINT_SRM_SQL_CONNECT");
}
@Override
public void executeOperation() throws Exception {
// Auto-generated method stub
MyProgressBarCompent comp = null;
SqlUtil.SRMGetTCDataConnection(prefs);
try {
KUtil.setByPass(true);
groupName = SAPUtil.getGroupID(session);
userName = getUserName(session);
System.out.println(groupName + "------------------" + userName);
InterfaceAIFComponent target = app.getTargetComponent();
TCComponentItemRevision degignRev = null;
if (target != null && target.getType().equals("ZT2_Design3DRevision")) {
degignRev = (TCComponentItemRevision) target;
} else {
MessageBox.post("请选择图纸版本", "", MessageBox.INFORMATION);
return;
}
// sql查询获取对应组的图纸id
HashMap<String, String> sqlMap = new HashMap<String, String>();
String selectSql = "SELECT \"drawingno\",\"source\" FROM CHINT_DESIGN__SOURCE_RULE WHERE \"factory\" = '"
+ groupName + "'";
System.out.println("selectSql =========" + selectSql);
ResultSet rs = SqlUtil.read(selectSql);
while (rs.next()) {
sqlMap.put(rs.getString(1), rs.getString(2));
}
if (sqlMap.size() == 0) {
MessageBox.post("该组织未在数据库中获取到图纸", "", MessageBox.INFORMATION);
return;
}
System.out.println("sqlMap====" + sqlMap.toString());
comp = new MyProgressBarCompent("", "正在进行更新图纸自制外购....");
String lineSeparator = System.lineSeparator();// 换行符
StringBuffer errMessage = new StringBuffer("");
StringBuffer succMessage = new StringBuffer("");
succMessage.append("成功修改数据如下:").append(lineSeparator);
errMessage.append("无法修改数据如下:").append(lineSeparator);
String current_user_name = getUserName(session);
TCComponentBOMWindowType bomWinType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow");
TCComponentBOMWindow win = bomWinType.create(null);
TCComponentBOMLine setWindowTopLine = win.setWindowTopLine(degignRev.getItem(), degignRev, null, null);
// soa获取bom子
List<TCComponentItemRevision> childLines = BomToSapUtil.getBomLineTreeNodeSOA2(setWindowTopLine);
System.out.println("childLines.size====" + childLines.size());
// 遍历逻辑
for (int i = 0; i < childLines.size(); i++) {
TCComponentItemRevision tcComponentItemRevision = childLines.get(i);
String[] properties = tcComponentItemRevision
.getProperties(new String[] { "item_id", "item_revision_id" });
String zt2_Source = tcComponentItemRevision.getStringProperty("zt2_Source");
for (Entry<String, String> map : sqlMap.entrySet()) {
String key = map.getKey();
if (properties[0].contains(key)) {
String value = map.getValue();
System.out.println("item_id========" + properties[0]);
if (!zt2_Source.equals(value)) {
// 判断是否发布
if (KUtil.isTCM(tcComponentItemRevision)) {
errMessage.append(properties[0] + "-" + properties[1] + "因发布无法更改,请手工处理");
errMessage.append(lineSeparator);
} else {
// 判断登录人是否owning_user
TCComponent owning_user = tcComponentItemRevision.getReferenceProperty("owning_user");
String user_name = owning_user.getProperty("user_name");
if (current_user_name.equals(user_name)) {
// 修改版本的值
tcComponentItemRevision.setProperty("zt2_Source", value);
succMessage.append(
properties[0] + "-" + properties[1] + "已从" + (zt2_Source.equals("S1")?"自制":"外购") + "改成" + (value.equals("S1")?"自制":"外购"));
succMessage.append(lineSeparator);
} else {
errMessage.append(properties[0] + "-" + properties[1] + "所有者为" + user_name
+ ",无法更改,请联系" + user_name);
errMessage.append(lineSeparator);
}
}
}
}
}
}
win.close();
MessageBox.post(succMessage.toString() + lineSeparator + errMessage.toString(), "项目BOM传递SAP", 2);
} catch (Exception e) {
e.printStackTrace();
if (comp != null) {
comp.setVisible(false);
}
} finally {
KUtil.setByPass(false);
if (comp != null) {
comp.setVisible(false);
}
}
}
public String getUserName(TCSession session) throws TCException {
TCComponentUser user = session.getUser();
session.getUserName();
return user.getTCProperty("user_name").getDisplayValue();
}
}

File diff suppressed because it is too large Load Diff

@ -1,58 +0,0 @@
package com.connor.plm.txdp;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import com.connor.chint.sap2.util.ChintPreferenceUtil;
import com.teamcenter.rac.aif.AbstractAIFApplication;
import com.teamcenter.rac.aifrcp.AIFUtility;
import com.teamcenter.rac.kernel.TCComponent;
import com.teamcenter.rac.kernel.TCComponentFolder;
import com.teamcenter.rac.kernel.TCComponentItem;
import com.teamcenter.rac.kernel.TCComponentItemRevision;
import com.teamcenter.rac.kernel.TCSession;
import com.teamcenter.rac.util.MessageBox;
public class TXDPHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent arg0) throws ExecutionException {
AbstractAIFApplication app = AIFUtility.getCurrentApplication();
TCSession session = (TCSession) app.getSession();
try {
String type = ChintPreferenceUtil.getPreference("CHINT_IRON_TYPE", session);
if(type == null || type.isEmpty()) {
MessageBox.post("首选项CHINT_IRON_TYPE配置不正确", "提示", MessageBox.WARNING);
return null;
}
TCComponent target = (TCComponent) app.getTargetComponent();
if(target instanceof TCComponentItem && !target.isTypeOf(type)) {
MessageBox.post("请选择文件夹或铁心剪切单进行导入", "提示", MessageBox.WARNING);
return null;
}else if(target instanceof TCComponentItemRevision
&& !((TCComponentItemRevision)target).getItem().isTypeOf(type)) {
MessageBox.post("请选择文件夹或铁心剪切单进行导入", "提示", MessageBox.WARNING);
return null;
}else if(!(target instanceof TCComponentFolder)) {
MessageBox.post("请选择文件夹或铁心剪切单进行导入", "提示", MessageBox.WARNING);
return null;
}
new Thread() {
@Override
public void run() {
try {
new TXDPFram(session, target, type);
} catch (Exception e) {
// Auto-generated catch block
e.printStackTrace();
}
}
}.start();
} catch (Exception e) {
// : handle exception
e.printStackTrace();
}
return null;
}
}
Loading…
Cancel
Save