dangsn
2023-08-02 54f35ae7866dac5c497372b68d03309c7eae9424
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/RMDataReferTempDialogActionListener.java
@@ -3,8 +3,21 @@
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import com.vci.base.ui.swing.VCIOptionPane;
import com.vci.base.ui.swing.components.VCIJDialog.DialogResult;
import com.vci.base.ui.tree.VCIBaseTreeNode;
import com.vci.ubcs.codeapply.enums.CodeReferConfigTypeEnum;
import com.vci.ubcs.codeapply.object.BaseModel;
import com.vci.ubcs.codeapply.object.UIFormRefer;
import com.vci.ubcs.starter.web.pagemodel.KeyValue;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import javax.swing.tree.TreePath;
public class RMDataReferTempDialogActionListener implements ActionListener {
@@ -33,8 +46,8 @@
   }
   private void ok(){
      if(!owner.isFromTableDoubleClick()){
         /*LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
      //if(!owner.isFromTableDoubleClick()){
      /*   LinkedList<RMDataObject> list = this.owner.getRMDataMainPanel().getTablePanel().getSelectedRowObjects();
         if(list.size() > 1) {
            VCIOptionPane.showMessageDialog(this.owner, "不允许选择多条数据进行操作!");
            return;
@@ -42,7 +55,45 @@
            VCIOptionPane.showMessageDialog(this.owner, "请选择数据进行操作!");
            return;
         }*/
      }
         UIFormRefer uiFormRefer=owner.getUiFormRefer();
         String textField=uiFormRefer.getTextField();
         String valueField=uiFormRefer.getValueField();
         if(uiFormRefer !=null&&(uiFormRefer.getType().equals(CodeReferConfigTypeEnum.TREE.getValue())
            ||uiFormRefer.getType().equals(CodeReferConfigTypeEnum.ORGDEPARTMENTREFER.getValue()))){
            TreePath treePath=this.owner.getTypeTreePanel().getTree().getSelectionPath();
            VCIBaseTreeNode treeNode = (VCIBaseTreeNode)treePath.getLastPathComponent();
            if(treeNode.getObj() instanceof Tree) {
               Tree tree =(Tree)treeNode.getObj();
               Map<String,String> attibuteMap=   tree.getAttributes();
               String fieldValue=attibuteMap.getOrDefault(valueField,"");
               String textValue=attibuteMap.getOrDefault(textField,"");
               KeyValue keyValue=new KeyValue();
               keyValue.setKey(fieldValue);
               keyValue.setValue(textValue);
               this.owner.setKeyValue(keyValue);
            }
         }else{
            LinkedList<BaseModel> list =this.owner.getCodeDataMainPanel().getTablePanel().getSelectedRowObjects();
            if(list.size() > 1) {
               VCIOptionPane.showMessageDialog(this.owner, "不允许选择多条数据进行操作!");
               return;
            } else if(list.size() <= 0) {
               VCIOptionPane.showMessageDialog(this.owner, "请选择数据进行操作!");
               return;
            }
            BaseModel baseModel=list.get(0);
            Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(list.get(0));
            defaultDataMap.putAll(baseModel.getData());
            String fieldValue=defaultDataMap.getOrDefault(valueField,"");
            String textValue=defaultDataMap.getOrDefault(textField,"");
            KeyValue keyValue=new KeyValue();
            keyValue.setKey(fieldValue);
            keyValue.setValue(textValue);
            this.owner.setKeyValue(keyValue);
         }
      //}
      owner.setDialogResult(DialogResult.OK);
      close();
      owner.getDialogCallback().run();