You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

841 lines
34 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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();
}
}