|
|
|
@ -2,7 +2,6 @@ package com.chint.plm.createEcn;
|
|
|
|
|
|
|
|
|
|
import java.sql.Connection;
|
|
|
|
|
import java.sql.ResultSet;
|
|
|
|
|
import java.sql.SQLException;
|
|
|
|
|
import java.sql.Statement;
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
@ -10,20 +9,18 @@ import java.util.Date;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Vector;
|
|
|
|
|
|
|
|
|
|
import com.chint.plm.fxUtil.KFXPanel;
|
|
|
|
|
import com.chint.plm.fxUtil.KFXPanelController;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCComponent;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCException;
|
|
|
|
|
import com.teamcenter.rac.kernel.TCSession;
|
|
|
|
|
import com.teamcenter.rac.util.MessageBox;
|
|
|
|
|
|
|
|
|
|
import javafx.collections.ObservableList;
|
|
|
|
|
import javafx.event.ActionEvent;
|
|
|
|
|
import javafx.event.EventHandler;
|
|
|
|
|
import javafx.fxml.FXML;
|
|
|
|
|
import javafx.scene.control.Button;
|
|
|
|
|
import javafx.scene.control.ComboBox;
|
|
|
|
|
import javafx.scene.control.RadioButton;
|
|
|
|
|
import javafx.scene.control.TextField;
|
|
|
|
|
import javafx.scene.control.ToggleGroup;
|
|
|
|
|
import javafx.stage.Stage;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -34,23 +31,27 @@ public class AssignIdController {
|
|
|
|
|
private String groupID;
|
|
|
|
|
private TCSession session;
|
|
|
|
|
private TextField field;
|
|
|
|
|
private TCComponent tar;
|
|
|
|
|
private boolean flag;
|
|
|
|
|
// private TCComponent tar;
|
|
|
|
|
// private boolean flag;
|
|
|
|
|
@FXML
|
|
|
|
|
private Button assignBtn;
|
|
|
|
|
private Button assignBtnTop; // 变更管理中的指派按钮
|
|
|
|
|
@FXML
|
|
|
|
|
private TextField ylText;
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
private Button closeBtn;
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
private ComboBox<String> bmComb;
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
private ComboBox<String> factoryComb;
|
|
|
|
|
@FXML
|
|
|
|
|
private RadioButton rb_tempChange; // 临时更改通知单
|
|
|
|
|
@FXML
|
|
|
|
|
private RadioButton rb_formalChange; // 正式更改通知单
|
|
|
|
|
|
|
|
|
|
private RadioButton p_tempChange;
|
|
|
|
|
private RadioButton p_formalChange;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param session
|
|
|
|
|
* @param groupID 组ID
|
|
|
|
@ -58,47 +59,82 @@ public class AssignIdController {
|
|
|
|
|
* @param tar 选中对象
|
|
|
|
|
* @param flag 正式变更或临时变更
|
|
|
|
|
* @param assignBtn 指派按钮
|
|
|
|
|
* @param p_tempChange 更改界面临时变更
|
|
|
|
|
* @param p_formalChange 指派按钮正式变更
|
|
|
|
|
* @function 初始化
|
|
|
|
|
*/
|
|
|
|
|
public void initData(TCSession session, String groupID, TextField field, TCComponent tar, boolean flag,
|
|
|
|
|
Button assignBtn) {
|
|
|
|
|
// TODO Auto-generated method stub
|
|
|
|
|
public void initData(TCSession session, String groupID, TextField field, Button assignBtn,
|
|
|
|
|
RadioButton p_tempChange, RadioButton p_formalChange) {
|
|
|
|
|
// Auto-generated method stub
|
|
|
|
|
this.groupID = groupID;
|
|
|
|
|
this.session = session;
|
|
|
|
|
this.field = field;
|
|
|
|
|
this.flag = flag;
|
|
|
|
|
this.tar = tar;
|
|
|
|
|
this.assignBtnTop = assignBtn;
|
|
|
|
|
this.p_tempChange = p_tempChange;
|
|
|
|
|
this.p_formalChange = p_formalChange;
|
|
|
|
|
getCombox();
|
|
|
|
|
//lidy20240919变更指派通知单号界面增加更改类型,里面选择了正式或者临时,外面页要一起跟着变
|
|
|
|
|
ToggleGroup group = new ToggleGroup(); // 变更类型组
|
|
|
|
|
// 实现单选功能
|
|
|
|
|
rb_formalChange.setToggleGroup(group);
|
|
|
|
|
rb_tempChange.setToggleGroup(group);
|
|
|
|
|
if(p_tempChange.isSelected())
|
|
|
|
|
rb_tempChange.setSelected(true);
|
|
|
|
|
else
|
|
|
|
|
rb_formalChange.setSelected(true);
|
|
|
|
|
rb_tempChange.setOnAction(new EventHandler<ActionEvent>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void handle(ActionEvent event) {
|
|
|
|
|
try {
|
|
|
|
|
updateYL();
|
|
|
|
|
} catch (Exception e1) {
|
|
|
|
|
e1.printStackTrace();
|
|
|
|
|
MessageBox.post("生成单号失败,error:" + e1.getMessage(), "", MessageBox.INFORMATION);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
rb_formalChange.setOnAction(new EventHandler<ActionEvent>() {
|
|
|
|
|
@Override
|
|
|
|
|
public void handle(ActionEvent event) {
|
|
|
|
|
try {
|
|
|
|
|
updateYL();
|
|
|
|
|
} catch (Exception e1) {
|
|
|
|
|
e1.printStackTrace();
|
|
|
|
|
MessageBox.post("生成单号失败,error:" + e1.getMessage(), "", MessageBox.INFORMATION);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
|
void okBtnClick(ActionEvent event) {
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yy");
|
|
|
|
|
String year = sdf.format(new Date());
|
|
|
|
|
String fac = factoryComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
String off = bmComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
if (off.equals("-")) {
|
|
|
|
|
off = "";
|
|
|
|
|
}
|
|
|
|
|
String TF = "";
|
|
|
|
|
/// if(1==1)
|
|
|
|
|
// return;
|
|
|
|
|
if (flag) { // 临时
|
|
|
|
|
TF = "L";
|
|
|
|
|
} else { // if (TF.trim().equals("正式更改通知单"))
|
|
|
|
|
TF = "";
|
|
|
|
|
}
|
|
|
|
|
String searchWord = fac.split("-")[0] + off.split("-")[0] + "-" + year + TF;
|
|
|
|
|
String flow = searchWord;
|
|
|
|
|
Connection conn = null;
|
|
|
|
|
conn = util.connect(conn, session);
|
|
|
|
|
String query = "select FLOW from CHINT_ECN_CODE where CODE='" + searchWord + "'";
|
|
|
|
|
System.out.println(query);
|
|
|
|
|
|
|
|
|
|
Statement stmt;
|
|
|
|
|
ResultSet rs_get;
|
|
|
|
|
Statement stmt = null;
|
|
|
|
|
ResultSet rs_get = null;
|
|
|
|
|
try {
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yy");
|
|
|
|
|
String year = sdf.format(new Date());
|
|
|
|
|
String fac = factoryComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
String off = bmComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
if (off.equals("-")) {
|
|
|
|
|
off = "";
|
|
|
|
|
}
|
|
|
|
|
String TF = "";
|
|
|
|
|
/// if(1==1)
|
|
|
|
|
// return;
|
|
|
|
|
if (rb_tempChange.isSelected()) { // 临时
|
|
|
|
|
TF = "L";
|
|
|
|
|
p_tempChange.setSelected(true);
|
|
|
|
|
} else { // if (TF.trim().equals("正式更改通知单"))
|
|
|
|
|
TF = "";
|
|
|
|
|
p_formalChange.setSelected(true);
|
|
|
|
|
}
|
|
|
|
|
String searchWord = fac.split("-")[0] + off.split("-")[0] + "-" + year + TF;
|
|
|
|
|
String flow = searchWord;
|
|
|
|
|
conn = util.connect(conn, session);
|
|
|
|
|
String query = "select FLOW from CHINT_ECN_CODE where CODE='" + searchWord + "'";
|
|
|
|
|
System.out.println(query);
|
|
|
|
|
|
|
|
|
|
stmt = conn.createStatement();
|
|
|
|
|
rs_get = null;
|
|
|
|
|
rs_get = stmt.executeQuery(query);
|
|
|
|
@ -123,14 +159,19 @@ public class AssignIdController {
|
|
|
|
|
}
|
|
|
|
|
rs_get = stmt.executeQuery(query);
|
|
|
|
|
|
|
|
|
|
util.disconnect(conn, stmt, rs_get);
|
|
|
|
|
} catch (SQLException e1) {
|
|
|
|
|
|
|
|
|
|
assignBtnTop.setDisable(true);// 只能指派一次
|
|
|
|
|
assignBtn.setDisable(true);// 只能指派一次
|
|
|
|
|
//lidy20240919指派了,更改界面临时正式变更就不能改了
|
|
|
|
|
p_tempChange.setDisable(true);
|
|
|
|
|
p_formalChange.setDisable(true);
|
|
|
|
|
Stage stage = (Stage) closeBtn.getScene().getWindow();
|
|
|
|
|
stage.close();
|
|
|
|
|
} catch (Exception e1) {
|
|
|
|
|
e1.printStackTrace();
|
|
|
|
|
MessageBox.post("生成单号失败,error:" + e1.getMessage(), "", MessageBox.INFORMATION);
|
|
|
|
|
}
|
|
|
|
|
assignBtnTop.setDisable(true);// 只能指派一次
|
|
|
|
|
assignBtn.setDisable(true);// 只能指派一次
|
|
|
|
|
Stage stage = (Stage) closeBtn.getScene().getWindow();
|
|
|
|
|
stage.close();
|
|
|
|
|
util.disconnect(conn, stmt, rs_get);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@FXML
|
|
|
|
@ -201,48 +242,11 @@ public class AssignIdController {
|
|
|
|
|
// 添加监听 预览信息
|
|
|
|
|
bmComb.valueProperty().addListener((obs, oldVal, newVal) -> {
|
|
|
|
|
System.out.println("选择了:" + newVal);
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yy");
|
|
|
|
|
String year = sdf.format(new Date());
|
|
|
|
|
String fac = factoryComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
String off = bmComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
if (off.equals("-")) {
|
|
|
|
|
off = "";
|
|
|
|
|
}
|
|
|
|
|
String TF = "";
|
|
|
|
|
if (flag) { // 临时
|
|
|
|
|
TF = "L";
|
|
|
|
|
} else { // if (TF.trim().equals("正式更改通知单"))
|
|
|
|
|
TF = "";
|
|
|
|
|
}
|
|
|
|
|
String searchWord = fac.split("-")[0] + off.split("-")[0] + "-" + year + TF;
|
|
|
|
|
String flow = searchWord;
|
|
|
|
|
Connection conn = null;
|
|
|
|
|
conn = util.connect(conn, session);
|
|
|
|
|
String query = "select FLOW from CHINT_ECN_CODE where CODE='" + searchWord + "'";
|
|
|
|
|
System.out.println(query);
|
|
|
|
|
|
|
|
|
|
Statement stmt;
|
|
|
|
|
ResultSet rs_get;
|
|
|
|
|
try {
|
|
|
|
|
stmt = conn.createStatement();
|
|
|
|
|
rs_get = null;
|
|
|
|
|
rs_get = stmt.executeQuery(query);
|
|
|
|
|
if (rs_get.next()) {
|
|
|
|
|
String FLOW = rs_get.getString("FLOW");
|
|
|
|
|
flow = flow + FLOW;
|
|
|
|
|
FLOW = String.format("%04d", Integer.valueOf(FLOW) + 1);
|
|
|
|
|
} else {
|
|
|
|
|
flow = flow + "0001";
|
|
|
|
|
}
|
|
|
|
|
ylText.setText(flow);
|
|
|
|
|
System.out.println(query);
|
|
|
|
|
if (rs_get != null) {
|
|
|
|
|
rs_get.close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
util.disconnect(conn, stmt, rs_get);
|
|
|
|
|
} catch (SQLException e1) {
|
|
|
|
|
updateYL();
|
|
|
|
|
} catch (Exception e1) {
|
|
|
|
|
e1.printStackTrace();
|
|
|
|
|
MessageBox.post("生成单号失败,error:" + e1.getMessage(), "", MessageBox.INFORMATION);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -266,6 +270,53 @@ public class AssignIdController {
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private boolean updateYL() throws Exception {
|
|
|
|
|
boolean update = true;
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yy");
|
|
|
|
|
String year = sdf.format(new Date());
|
|
|
|
|
String fac = factoryComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
String off = bmComb.getSelectionModel().getSelectedItem();
|
|
|
|
|
if (off.equals("-")) {
|
|
|
|
|
off = "";
|
|
|
|
|
}
|
|
|
|
|
String TF = "";
|
|
|
|
|
if (rb_tempChange.isSelected()) { // 临时
|
|
|
|
|
TF = "L";
|
|
|
|
|
p_tempChange.setSelected(true);
|
|
|
|
|
} else {
|
|
|
|
|
TF = "";
|
|
|
|
|
p_formalChange.setSelected(true);
|
|
|
|
|
}
|
|
|
|
|
String searchWord = fac.split("-")[0] + off.split("-")[0] + "-" + year + TF;
|
|
|
|
|
String flow = searchWord;
|
|
|
|
|
Connection conn = null;
|
|
|
|
|
conn = util.connect(conn, session);
|
|
|
|
|
String query = "select FLOW from CHINT_ECN_CODE where CODE='" + searchWord + "'";
|
|
|
|
|
System.out.println(query);
|
|
|
|
|
|
|
|
|
|
Statement stmt;
|
|
|
|
|
ResultSet rs_get;
|
|
|
|
|
stmt = conn.createStatement();
|
|
|
|
|
rs_get = null;
|
|
|
|
|
System.out.println(query);
|
|
|
|
|
rs_get = stmt.executeQuery(query);
|
|
|
|
|
if (rs_get.next()) {
|
|
|
|
|
String FLOW = rs_get.getString("FLOW");
|
|
|
|
|
flow = flow + FLOW;
|
|
|
|
|
FLOW = String.format("%04d", Integer.valueOf(FLOW) + 1);
|
|
|
|
|
} else {
|
|
|
|
|
flow = flow + "0001";
|
|
|
|
|
update = false;
|
|
|
|
|
}
|
|
|
|
|
ylText.setText(flow);
|
|
|
|
|
if (rs_get != null) {
|
|
|
|
|
rs_get.close();
|
|
|
|
|
}
|
|
|
|
|
util.disconnect(conn, stmt, rs_get);
|
|
|
|
|
|
|
|
|
|
return update;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Util util = new Util();
|
|
|
|
|
}
|
|
|
|
|