创建/编辑更改通知单1、增加时间的必填检查2、OA获取用户增加多人选择界面 #18

Merged
lidy merged 1 commits from ldy into main 12 months ago

@ -684,7 +684,6 @@
</command> </command>
</menuContribution> </menuContribution>
</extension> </extension>

@ -0,0 +1,120 @@
package com.chint.plm.createEcn;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumnModel;
import com.teamcenter.rac.aif.AbstractAIFDialog;
import com.teamcenter.rac.util.MessageBox;
import javafx.scene.control.TableView;
public class ChooseUuidDialog extends AbstractAIFDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private JTable impTable;
private DefaultTableModel impModel;
private JButton okBtn;
private JButton cancelBtn;
private TableView<RefTableBean> refTable;
private String[][] datas;
private List<RefTableBean> refTableBeans;
private int[] rows;
public ChooseUuidDialog(CreateEcnFrame parent, TableView<RefTableBean> refTable, String[][] datas, int[] rows, List<RefTableBean> refTableBeans) {
super(parent, true);
this.refTable = refTable;
this.datas = datas;
this.refTableBeans = refTableBeans;
this.rows = rows;
String[] header = { "姓名", "所属部门", "邮箱", "长工号", "短工号" };
impModel = new DefaultTableModel(header, 0);
impTable = new JTable(impModel) {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
int[] width = { 100, 850, 200, 100, 100 };
impModel.setDataVector(datas, header);
impTable.getTableHeader().setReorderingAllowed(false); // 设置列不可移动,否则会发生类型转换错误(第三列)
impTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
impTable.setRowHeight(23);
TableColumnModel colModel = impTable.getColumnModel();
for (int i = 0; i < width.length; i++) {
colModel.getColumn(i).setPreferredWidth(width[i]);
}
JPanel panel = new JPanel(new FlowLayout());
okBtn = new JButton("确定");
cancelBtn = new JButton("取消");
panel.add(okBtn);
panel.add(cancelBtn);
addActionListener();
this.setLayout(new BorderLayout());
this.add(BorderLayout.CENTER, new JScrollPane(impTable));
this.add(BorderLayout.SOUTH, panel);
this.setPreferredSize(new Dimension(1400, 400));
Dimension screen = getToolkit().getScreenSize();
setLocation((screen.width - getSize().width) / 2, (screen.height - getSize().height) / 2);
setAlwaysOnTop(true);
this.setAlwaysOnTop(true);
}
public void run(){
showDialog();
}
private void addActionListener() {
//final Shell dialog = shell;
okBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
int row = impTable.getSelectedRow();
if(row < 0) {
MessageBox.post("请选择行", "", MessageBox.WARNING);
return;
}
for (int i = rows[0]; i < rows[1]; i++) {
refTableBeans.get(i).setUserUUid("" + datas[row][5]);
refTableBeans.get(i).setUserPane("" + datas[row][0]);
}
refTable.refresh();
dispose();
}
});
cancelBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
for (int i = rows[0]; i < rows[1]; i++) {
refTableBeans.get(i).setUserUUid("");
refTableBeans.get(i).setUserPane("");
}
refTable.refresh();
dispose();
}
});
}
}

@ -11,9 +11,7 @@ import java.sql.SQLException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.commons.httpclient.util.URIUtil; import org.apache.commons.httpclient.util.URIUtil;
import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFRow;
@ -231,6 +229,15 @@ public class CreateEcnController extends KFXPanelController {
alert.showAndWait(); alert.showAndWait();
return; return;
} }
String date = changeDate.getEditor().getText();
if(date == null || date.isEmpty()) {
Alert alert = new Alert(AlertType.INFORMATION);
alert.setTitle("提示");
alert.setHeaderText("更改实施日期不允许为空");
//alert.setContentText("导入完成");
alert.showAndWait();
return;
}
String changeName = "临时更改通知单"; String changeName = "临时更改通知单";
if (rb_formalChange.isSelected()) { if (rb_formalChange.isSelected()) {
changeName = "正式更改通知单"; changeName = "正式更改通知单";
@ -1151,16 +1158,33 @@ public class CreateEcnController extends KFXPanelController {
String userVal = refTableBeans.get(start).getUserVal(); String userVal = refTableBeans.get(start).getUserVal();
String encodeQuery = URIUtil.encodeQuery(userVal); String encodeQuery = URIUtil.encodeQuery(userVal);
System.out.println("setOnAction" + encodeQuery); System.out.println("setOnAction" + encodeQuery);
Map<String, String> userItemMap = getUserItemOA(encodeQuery); String[][] datas = getUserItemOA(encodeQuery);
Platform.runLater(() -> { if(datas == null || datas.length == 0)
for (int i = start; i < end; i++) { return;
String next = userItemMap.keySet().iterator().next(); if(datas.length == 1) {
refTableBeans.get(i).setUserUUid(userItemMap.get(next)); Platform.runLater(() -> {
refTableBeans.get(i).setUserPane(userVal); for (int i = start; i < end; i++) {
} refTableBeans.get(i).setUserUUid(datas[0][5]);
System.out.println("setOnAction" + encodeQuery); refTableBeans.get(i).setUserPane(userVal);
refTable.refresh(); }
}); refTable.refresh();
});
}else {
new ChooseUuidDialog(frame, refTable, datas, new int[] { start, end }, refTableBeans).showDialog();
}
// Map<String, String> userItemMap = getUserItemOA(encodeQuery);
// System.out.println("userItemMap" + userItemMap);
// Platform.runLater(() -> {
// for (int i = start; i < end; i++) {
// String next = userItemMap.keySet().iterator().next();
// System.out.println(i + "===" + next + ">>>" + userItemMap.get(next));
// refTableBeans.get(i).setUserUUid(userItemMap.get(next));
// refTableBeans.get(i).setUserPane(userVal);
// }
// System.out.println("setOnAction" + encodeQuery);
// refTable.refresh();
// });
} catch (Exception e1) { } catch (Exception e1) {
// Auto-generated catch block // Auto-generated catch block
@ -1175,9 +1199,8 @@ public class CreateEcnController extends KFXPanelController {
* @throws Exception * @throws Exception
* @function OA9ID * @function OA9ID
*/ */
private Map<String, String> getUserItemOA(String name) throws Exception {//TODO µ÷ÓÃOA½Ó¿Ú private String[][] getUserItemOA(String name) throws Exception {//TODO 调用OA接口
OkHttpClient client = new OkHttpClient(); OkHttpClient client = new OkHttpClient();
Map<String, String> emailMap = new HashMap<>();
String url = session.getPreferenceService().getStringValues("CHINT_OAUserID_RUL")[0]; String url = session.getPreferenceService().getStringValues("CHINT_OAUserID_RUL")[0];
System.out.println("url==>" + url); System.out.println("url==>" + url);
@ -1198,28 +1221,28 @@ public class CreateEcnController extends KFXPanelController {
Element rootElement = document.getRootElement(); Element rootElement = document.getRootElement();
String type = rootElement.elementText("TYPE"); String type = rootElement.elementText("TYPE");
String message = rootElement.elementText("MESSAGE"); String message = rootElement.elementText("MESSAGE");
String[][] datas = null;
if (type.equals("S")) { if (type.equals("S")) {
Element element = rootElement.element("items");
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
List<Element> elements = rootElement.elements("items"); List<Element> elements = element.elements("EH_HR_UserItems_CS");
datas = new String[elements.size()][6];
for (Element element : elements) { for (int i = 0; i < elements.size(); i++) {
Element userItemCs = element.element("EH_HR_UserItems_CS"); // Element userItemCs = element.element("EH_HR_UserItems_CS");
String email = userItemCs.elementText("Email"); Element userItemCs = elements.get(i);
String status = userItemCs.elementText("ObjectID"); datas[i][0] = userItemCs.elementText("Name");
emailMap.put(email, status); datas[i][1] = userItemCs.elementText("DepName");
} datas[i][2] = userItemCs.elementText("Email");
if (emailMap.size() > 0) { datas[i][3] = userItemCs.elementText("Code");
datas[i][4] = userItemCs.elementText("SourceID");
} else { datas[i][5] = userItemCs.elementText("ObjectID");
// String key = emailMap.keySet().iterator().next();
// return emailMap.get(key);
} }
} else { } else {
MessageBox.post("指派失败:" + message, "提示", 2); MessageBox.post("指派失败:" + message, "提示", 2);
} }
// Element element = body.element("MT_MATERIAL_BOP_REQ"); // Element element = body.element("MT_MATERIAL_BOP_REQ");
// Element INTERGRATIONLIST = element.addElement("INTERGRATIONLIST"); // Element INTERGRATIONLIST = element.addElement("INTERGRATIONLIST");
return emailMap; return datas;
} }
// 最大化 // 最大化

Loading…
Cancel
Save