diff --git a/src/com/langtech/plm/bg/RWFPDialog.java b/src/com/langtech/plm/bg/RWFPDialog.java index eb081df..e960a16 100644 --- a/src/com/langtech/plm/bg/RWFPDialog.java +++ b/src/com/langtech/plm/bg/RWFPDialog.java @@ -371,7 +371,7 @@ public class RWFPDialog extends JFrame implements ActionListener { try { TCComponentUser user = new KOrgDialog("").getUser(); System.out.println("user============"+user.getUserName()); - //table.setValueAt(user.getUserName()+"("+user.getUserId()+")", row, column); + table.setValueAt(user.getUserName()+"("+user.getUserId()+")", row, column); } catch (TCException e1) { // TODO Auto-generated catch block e1.printStackTrace(); @@ -453,6 +453,19 @@ public class RWFPDialog extends JFrame implements ActionListener { // 保存数据 Connection conn = getConn(); PreparedStatement stmt = null; + + //遍历一遍判断是否涉及更改 + Integer sfsjgg = positionFieldMap.get("SFSJGG"); + for (int i = 0; i < table.getRowCount(); i++) { + String valueAt = (String)table.getValueAt(i, sfsjgg); + System.out.println("valueAt============="+valueAt); + if(valueAt == null || valueAt.isEmpty()) { + int row = i+1; + MessageBox.post("第"+row+"行的是否涉及变更未填写!", "提示", 2); + return; + } + } + for (int i = 0; i < table.getRowCount(); i++) { StringBuilder updateSql = new StringBuilder(); updateSql.append("update LY_CHANGETASSKFORM_DETAILS set "); @@ -494,6 +507,7 @@ public class RWFPDialog extends JFrame implements ActionListener { // TODO Auto-generated catch block e1.printStackTrace(); } + MessageBox.post("应用完成!", "提示", 2); } else if (source.equals(this.tzsjButton)) { gsPrefTopLine = new ArrayList(); String selectedItem = (String) cfdJComboBox.getSelectedItem(); diff --git a/src/com/langtech/plm/synchronize/SynchronizeDialog.java b/src/com/langtech/plm/synchronize/SynchronizeDialog.java index 0b92896..e6b9da6 100644 --- a/src/com/langtech/plm/synchronize/SynchronizeDialog.java +++ b/src/com/langtech/plm/synchronize/SynchronizeDialog.java @@ -5,6 +5,8 @@ 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; @@ -185,17 +187,19 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } - + 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].equals("date")) { + } 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]); } @@ -206,6 +210,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -213,6 +219,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -221,19 +229,25 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { - + }else if (selectSplit[0].equals("rev")) { + System.out.println("0000000000000000000000000"); String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -243,6 +257,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -250,6 +266,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -258,6 +276,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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); } } @@ -265,13 +285,15 @@ public class SynchronizeDialog extends JFrame implements ActionListener { String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -281,6 +303,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -288,6 +312,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -296,6 +322,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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); } } @@ -306,17 +334,19 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } - + 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].equals("date")) { + } 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]); } @@ -327,6 +357,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -334,6 +366,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -342,19 +376,25 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { - + }else if (selectSplit[0].equals("rev")) { + System.out.println("0000000000000000000000000"); String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -364,6 +404,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -371,6 +413,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -379,6 +423,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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); } } @@ -386,13 +432,15 @@ public class SynchronizeDialog extends JFrame implements ActionListener { String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -402,6 +450,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -409,6 +459,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -417,14 +469,16 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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(",")) {// 判断是否多个 @@ -433,17 +487,19 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } - + 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].equals("date")) { + } 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]); } @@ -454,6 +510,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -461,6 +519,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -469,19 +529,25 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { - + }else if (selectSplit[0].equals("rev")) { + System.out.println("0000000000000000000000000"); String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -491,6 +557,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -498,6 +566,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -506,6 +576,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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); } } @@ -513,13 +585,15 @@ public class SynchronizeDialog extends JFrame implements ActionListener { String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -529,6 +603,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -536,6 +612,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -544,6 +622,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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); } } @@ -554,17 +634,19 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } - + 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].equals("date")) { + } 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]); } @@ -575,6 +657,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -582,6 +666,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -590,19 +676,25 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { - + }else if (selectSplit[0].equals("rev")) { + System.out.println("0000000000000000000000000"); String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -612,6 +704,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -619,6 +713,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -627,6 +723,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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); } } @@ -634,13 +732,15 @@ public class SynchronizeDialog extends JFrame implements ActionListener { String value = ""; Date dateValue = null; - if(dateValue != null && value.isEmpty()) { - value = sdf.format(dateValue); - } + 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); } // 获取目标对象要更新哪个属性 @@ -650,6 +750,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -657,6 +759,8 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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")) { @@ -665,13 +769,15 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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("修改成功!", "提示", 2); this.dispose(); @@ -717,4 +823,18 @@ public class SynchronizeDialog extends JFrame implements ActionListener { 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(); + } + }