|
|
package com.langtech.plm.synchronize;
|
|
|
|
|
|
import java.awt.BorderLayout;
|
|
|
import java.awt.Dimension;
|
|
|
import java.awt.Toolkit;
|
|
|
import java.awt.event.ActionEvent;
|
|
|
import java.awt.event.ActionListener;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.Map.Entry;
|
|
|
|
|
|
import javax.swing.JButton;
|
|
|
import javax.swing.JComboBox;
|
|
|
import javax.swing.JFrame;
|
|
|
import javax.swing.JLabel;
|
|
|
import javax.swing.JPanel;
|
|
|
import javax.swing.border.EmptyBorder;
|
|
|
import javax.swing.table.DefaultTableModel;
|
|
|
|
|
|
import com.teamcenter.rac.kernel.TCComponent;
|
|
|
import com.teamcenter.rac.kernel.TCComponentForm;
|
|
|
import com.teamcenter.rac.kernel.TCComponentItem;
|
|
|
import com.teamcenter.rac.kernel.TCComponentItemRevision;
|
|
|
import com.teamcenter.rac.kernel.TCException;
|
|
|
import com.teamcenter.rac.kernel.TCSession;
|
|
|
import com.teamcenter.rac.util.MessageBox;
|
|
|
import com.teamcenter.rac.util.PropertyLayout;
|
|
|
|
|
|
public class SynchronizeDialog extends JFrame implements ActionListener {
|
|
|
|
|
|
private TCSession session;
|
|
|
protected DefaultTableModel tm_part;
|
|
|
private static ArrayList<String> dateConnList = new ArrayList<String>();
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
private TCComponentItemRevision rev;
|
|
|
private JComboBox<String> objectComboBox = new JComboBox<String>();
|
|
|
private JButton okButton = new JButton("È·¶¨");
|
|
|
private JButton concelButton = new JButton("È¡Ïû");
|
|
|
private HashMap<String, String> fieldMap = new HashMap<String, String>();
|
|
|
private String revType = "";
|
|
|
HashMap<String, TCComponentItemRevision> objectMap = new HashMap<String, TCComponentItemRevision>();
|
|
|
|
|
|
public SynchronizeDialog(TCSession session, TCComponentItemRevision rev) {
|
|
|
// TODO Auto-generated constructor stub
|
|
|
this.session = session;
|
|
|
this.rev = rev;
|
|
|
initUI();
|
|
|
}
|
|
|
|
|
|
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, 200));
|
|
|
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);
|
|
|
|
|
|
// »ñÈ¡Ê×Ñ¡Ïî ÉèÖÃÏÂÀ¿ò
|
|
|
String[] relations = session.getPreferenceService().getStringValues("LY6_CopyAttributeRelation");
|
|
|
String[] fields = session.getPreferenceService().getStringValues("LY6_CopyAttribute");
|
|
|
if (relations == null || relations.length <= 0) {
|
|
|
MessageBox.post("ÇëÅäÖÃLY6_CopyAttributeRelation£¡", "Ìáʾ", 2);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (fields == null || fields.length <= 0) {
|
|
|
MessageBox.post("ÇëÅäÖÃLY6_CopyAttribute£¡", "Ìáʾ", 2);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
for (int i = 0; i < fields.length; i++) {
|
|
|
String[] split = fields[i].split("=");
|
|
|
fieldMap.put(split[0], split[1]);
|
|
|
}
|
|
|
|
|
|
HashMap<String, String> relationsMap = new HashMap<String, String>();
|
|
|
for (int i = 0; i < relations.length; i++) {
|
|
|
String[] split = relations[i].split("=");
|
|
|
relationsMap.put(split[0], split[1]);
|
|
|
}
|
|
|
// »ñÈ¡°æ±¾ÀàÐÍ
|
|
|
revType = rev.getStringProperty("object_type");
|
|
|
String relation = relationsMap.get(revType);
|
|
|
if (relation == null || relation.isEmpty()) {
|
|
|
MessageBox.post("Ê×Ñ¡ÏîδƥÅäµ½¹ØÏµ£¡", "Ìáʾ", 2);
|
|
|
return;
|
|
|
}
|
|
|
// »ñÈ¡¹ØÏµÏµĶÔÏó
|
|
|
if (relation.contains(",")) {
|
|
|
String[] split = relation.split(",");
|
|
|
for (int i = 0; i < split.length; i++) {
|
|
|
TCComponent[] components = rev.getRelatedComponents(split[i]);
|
|
|
for (int j = 0; j < components.length; j++) {
|
|
|
if (components[j] instanceof TCComponentItemRevision) {
|
|
|
TCComponentItemRevision relationRev = (TCComponentItemRevision) components[j];
|
|
|
String object_string = relationRev.getStringProperty("object_string");
|
|
|
String object_type = relationRev.getStringProperty("object_type");
|
|
|
objectMap.put(object_string + "-" + object_type, relationRev);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
TCComponent[] components = rev.getRelatedComponents(relation);
|
|
|
for (int j = 0; j < components.length; j++) {
|
|
|
if (components[j] instanceof TCComponentItemRevision) {
|
|
|
TCComponentItemRevision relationRev = (TCComponentItemRevision) components[j];
|
|
|
String object_string = relationRev.getStringProperty("object_string");
|
|
|
String object_type = relationRev.getStringProperty("object_type");
|
|
|
objectMap.put(object_string + "-" + object_type, relationRev);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// ÉèÖÃÏÂÀ¿òµÄÖµ
|
|
|
for (Entry<String, TCComponentItemRevision> map : objectMap.entrySet()) {
|
|
|
objectComboBox.addItem(map.getKey());
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// Ìí¼Ó¼àÌý
|
|
|
public void createActionEvent() {
|
|
|
|
|
|
this.okButton.addActionListener(this);
|
|
|
this.concelButton.addActionListener(this);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
// TODO Auto-generated method stub
|
|
|
|
|
|
Object source = e.getSource();
|
|
|
System.out.println("source==>+" + source);
|
|
|
if (this.okButton.equals(source)) {
|
|
|
// »ñȡѡÔñµÄ¶ÔÏó
|
|
|
|
|
|
try {
|
|
|
String selectedItem = (String) objectComboBox.getSelectedItem();
|
|
|
TCComponentItemRevision selectRev = objectMap.get(selectedItem);
|
|
|
String selectRevType = selectRev.getStringProperty("object_type");
|
|
|
String field = fieldMap.get(revType + ":" + selectRevType);
|
|
|
// »ñÈ¡Á½¸ö¶ÔÏóµÄ item ºÍ form
|
|
|
TCComponentItem revItem = rev.getItem();
|
|
|
TCComponentForm revForm = (TCComponentForm) rev.getReferenceListProperty("IMAN_master_form_rev")[0];
|
|
|
|
|
|
TCComponentItem selectRevItem = selectRev.getItem();
|
|
|
TCComponentForm selectRevForm = (TCComponentForm) selectRev
|
|
|
.getReferenceListProperty("IMAN_master_form_rev")[0];
|
|
|
|
|
|
if (field == null || field.isEmpty()) {
|
|
|
field = fieldMap.get("ͨÓÃ");
|
|
|
// ½âÎöÊôÐÔ
|
|
|
System.out.println("field==="+field);
|
|
|
if (field.contains(",")) {// ÅжÏÊÇ·ñ¶à¸ö
|
|
|
String[] split = field.split(",");
|
|
|
for (int i = 0; i < split.length; i++) {
|
|
|
String[] split2 = split[i].split(":");
|
|
|
String[] selectSplit = split2[1].split("\\.");
|
|
|
System.out.println("selectSplit[0]==="+selectSplit[0]);
|
|
|
System.out.println("--------------------------------");
|
|
|
if (selectSplit[0].equals("item")) {
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevItem.getStringProperty(selectSplit[1]);
|
|
|
System.out.println("value===="+value);
|
|
|
} else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevItem.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevItem.getDateProperty(selectSplit[1]);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
}else if (selectSplit[0].equals("rev")) {
|
|
|
System.out.println("0000000000000000000000000");
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
System.out.println("selectSplit[2]====================="+selectSplit[2]);
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRev.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRev.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
System.out.println("1111111111111111111111");
|
|
|
Double tempDoubleValue = selectRev.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else if (selectSplit[0].equals("rm")) {
|
|
|
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevForm.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevForm.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevForm.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
|
|
|
String[] split2 = field.split(":");
|
|
|
String[] selectSplit = split2[1].split("\\.");
|
|
|
System.out.println("selectSplit[0]==="+selectSplit[0]);
|
|
|
System.out.println("--------------------------------");
|
|
|
if (selectSplit[0].equals("item")) {
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevItem.getStringProperty(selectSplit[1]);
|
|
|
System.out.println("value===="+value);
|
|
|
} else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevItem.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevItem.getDateProperty(selectSplit[1]);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
}else if (selectSplit[0].equals("rev")) {
|
|
|
System.out.println("0000000000000000000000000");
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
System.out.println("selectSplit[2]====================="+selectSplit[2]);
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRev.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRev.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
System.out.println("1111111111111111111111");
|
|
|
Double tempDoubleValue = selectRev.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else if (selectSplit[0].equals("rm")) {
|
|
|
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevForm.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevForm.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevForm.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
} else {
|
|
|
// ½âÎöÊôÐÔ
|
|
|
System.out.println("field==="+field);
|
|
|
if (field.contains(",")) {// ÅжÏÊÇ·ñ¶à¸ö
|
|
|
String[] split = field.split(",");
|
|
|
for (int i = 0; i < split.length; i++) {
|
|
|
String[] split2 = split[i].split(":");
|
|
|
String[] selectSplit = split2[1].split("\\.");
|
|
|
System.out.println("selectSplit[0]==="+selectSplit[0]);
|
|
|
System.out.println("--------------------------------");
|
|
|
if (selectSplit[0].equals("item")) {
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevItem.getStringProperty(selectSplit[1]);
|
|
|
System.out.println("value===="+value);
|
|
|
} else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevItem.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevItem.getDateProperty(selectSplit[1]);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
}else if (selectSplit[0].equals("rev")) {
|
|
|
System.out.println("0000000000000000000000000");
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
System.out.println("selectSplit[2]====================="+selectSplit[2]);
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRev.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRev.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
System.out.println("1111111111111111111111");
|
|
|
Double tempDoubleValue = selectRev.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else if (selectSplit[0].equals("rm")) {
|
|
|
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevForm.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevForm.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevForm.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
|
|
|
String[] split2 = field.split(":");
|
|
|
String[] selectSplit = split2[1].split("\\.");
|
|
|
System.out.println("selectSplit[0]==="+selectSplit[0]);
|
|
|
System.out.println("--------------------------------");
|
|
|
if (selectSplit[0].equals("item")) {
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevItem.getStringProperty(selectSplit[1]);
|
|
|
System.out.println("value===="+value);
|
|
|
} else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevItem.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevItem.getDateProperty(selectSplit[1]);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
}else if (selectSplit[0].equals("rev")) {
|
|
|
System.out.println("0000000000000000000000000");
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
System.out.println("selectSplit[2]====================="+selectSplit[2]);
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRev.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRev.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
System.out.println("1111111111111111111111");
|
|
|
Double tempDoubleValue = selectRev.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else if (selectSplit[0].equals("rm")) {
|
|
|
|
|
|
String value = "";
|
|
|
Date dateValue = null;
|
|
|
Double doubleValue = 0d;
|
|
|
if (selectSplit[2].equals("string") || selectSplit[2].equals("lov")) {
|
|
|
value = selectRevForm.getStringProperty(selectSplit[1]);
|
|
|
} else if (selectSplit[2].equals("date")) {
|
|
|
dateValue = selectRevForm.getDateProperty(selectSplit[1]);
|
|
|
}else if (selectSplit[2].contains("double")) {
|
|
|
String[] wsSplit = selectSplit[2].split("#");
|
|
|
Double tempDoubleValue = selectRevForm.getDoubleProperty(selectSplit[1]);
|
|
|
doubleValue = truncateDouble(Integer.parseInt(wsSplit[1]),tempDoubleValue);
|
|
|
}
|
|
|
|
|
|
// »ñȡĿ±ê¶ÔÏóÒª¸üÐÂÄĸöÊôÐÔ
|
|
|
String[] targetSplit = split2[0].split("\\.");
|
|
|
if (targetSplit[0].equals("item")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revItem.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revItem.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revItem.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rev")) {
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
rev.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
rev.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
rev.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
|
|
|
} else if (targetSplit[0].equals("rm")) {
|
|
|
|
|
|
if (targetSplit[2].equals("string") || targetSplit[2].equals("lov")) {
|
|
|
revForm.setProperty(targetSplit[1], value);
|
|
|
} else if (targetSplit[2].equals("date")) {
|
|
|
revForm.setDateProperty(targetSplit[1], dateValue);
|
|
|
}else if (targetSplit[2].contains("double")) {
|
|
|
revForm.setDoubleProperty(targetSplit[1], doubleValue);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
MessageBox.post("Ð޸ijɹ¦£¡", "Ìáʾ", 2);
|
|
|
this.dispose();
|
|
|
} catch (TCException e1) {
|
|
|
// TODO Auto-generated catch block
|
|
|
e1.printStackTrace();
|
|
|
}
|
|
|
|
|
|
} else if (this.concelButton.equals(source)) {
|
|
|
this.dispose();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private JPanel getBtnPanel() {
|
|
|
JPanel topPanel = new JPanel();
|
|
|
topPanel.setLayout(new PropertyLayout());
|
|
|
topPanel.add("1.1.center", new JLabel(""));
|
|
|
topPanel.add("2.1.center", new JLabel(" "));
|
|
|
topPanel.add("2.2.center", okButton);
|
|
|
topPanel.add("2.3.center", new JLabel(""));
|
|
|
topPanel.add("2.4.center", concelButton);
|
|
|
|
|
|
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("3.1.left.center", new JLabel(""));
|
|
|
topPanel.add("4.1.left.center", new JLabel(""));
|
|
|
topPanel.add("5.1.left.center", new JLabel(""));
|
|
|
topPanel.add("6.1.left.center", new JLabel(""));
|
|
|
topPanel.add("7.1.left.center", new JLabel("Ñ¡ÔñÊôÐÔÀ´Ô´¶ÔÏó£º"));
|
|
|
topPanel.add("7.2.left.center", objectComboBox);
|
|
|
|
|
|
return topPanel;
|
|
|
}
|
|
|
|
|
|
public double truncateDouble(int scale,double value) {
|
|
|
// ʹÓà BigDecimal ½øÐо«È·¿ØÖÆ
|
|
|
System.out.println("value========"+value);
|
|
|
System.out.println("scale=========="+scale);
|
|
|
BigDecimal bd = new BigDecimal(Double.toString(value));
|
|
|
|
|
|
// ÉèÖÃСÊýλÊý²¢Ê¹Óà RoundingMode.DOWN ½øÐнضÏ
|
|
|
bd = bd.setScale(scale, RoundingMode.DOWN);
|
|
|
|
|
|
// ·µ»Ø¸ñʽ»¯ºóµÄ double Öµ
|
|
|
System.out.println("bd.doubleValue()============"+bd.doubleValue());
|
|
|
return bd.doubleValue();
|
|
|
}
|
|
|
|
|
|
}
|