|  | @@ -0,0 +1,669 @@
 | 
	
		
			
				|  |  | +package nckd.yjk.yj.plugin.docLibrary.form;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | +import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | +import com.grapecity.documents.excel.Q;
 | 
	
		
			
				|  |  | +import kd.bos.context.RequestContext;
 | 
	
		
			
				|  |  | +import kd.bos.dataentity.OperateOption;
 | 
	
		
			
				|  |  | +import kd.bos.dataentity.entity.DynamicObject;
 | 
	
		
			
				|  |  | +import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
	
		
			
				|  |  | +import kd.bos.dataentity.serialization.SerializationUtils;
 | 
	
		
			
				|  |  | +import kd.bos.entity.EntityMetadataCache;
 | 
	
		
			
				|  |  | +import kd.bos.entity.datamodel.events.BizDataEventArgs;
 | 
	
		
			
				|  |  | +import kd.bos.entity.operate.Donothing;
 | 
	
		
			
				|  |  | +import kd.bos.entity.tree.TreeNode;
 | 
	
		
			
				|  |  | +import kd.bos.form.control.Control;
 | 
	
		
			
				|  |  | +import kd.bos.form.control.EntryGrid;
 | 
	
		
			
				|  |  | +import kd.bos.form.control.TreeView;
 | 
	
		
			
				|  |  | +import kd.bos.form.control.events.*;
 | 
	
		
			
				|  |  | +import kd.bos.form.events.AfterDoOperationEventArgs;
 | 
	
		
			
				|  |  | +import kd.bos.form.events.BeforeClosedEvent;
 | 
	
		
			
				|  |  | +import kd.bos.form.events.SetFilterEvent;
 | 
	
		
			
				|  |  | +import kd.bos.form.plugin.AbstractFormPlugin;
 | 
	
		
			
				|  |  | +import kd.bos.list.BillList;
 | 
	
		
			
				|  |  | +import kd.bos.list.plugin.StandardTreeListPlugin;
 | 
	
		
			
				|  |  | +import kd.bos.orm.query.QCP;
 | 
	
		
			
				|  |  | +import kd.bos.orm.query.QFilter;
 | 
	
		
			
				|  |  | +import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
	
		
			
				|  |  | +import kd.bos.servicehelper.QueryServiceHelper;
 | 
	
		
			
				|  |  | +import kd.bos.servicehelper.operation.SaveServiceHelper;
 | 
	
		
			
				|  |  | +import kd.bos.servicehelper.user.UserServiceHelper;
 | 
	
		
			
				|  |  | +import kd.bos.url.UrlService;
 | 
	
		
			
				|  |  | +import kd.sdk.plugin.Plugin;
 | 
	
		
			
				|  |  | +import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * 子界面
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +public class ApplyFormPlugin extends StandardTreeListPlugin implements Plugin, ClickListener, ItemClickListener {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private final static String KEY_OK = "btnok";
 | 
	
		
			
				|  |  | +    //页面取消按钮标识
 | 
	
		
			
				|  |  | +    private final static String KEY_CANCEL = "btncancel";
 | 
	
		
			
				|  |  | +    //页面取消按钮标识
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void click(EventObject evt) {
 | 
	
		
			
				|  |  | +        Control source = (Control) evt.getSource();
 | 
	
		
			
				|  |  | +        String sourceKey=source.getKey();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (KEY_OK.equals(sourceKey)) {
 | 
	
		
			
				|  |  | +//            int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity1");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            EntryGrid entryGrid= this.getControl("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            int selectRows[]=entryGrid.getSelectRows();
 | 
	
		
			
				|  |  | +            if (selectRows.length<=0){
 | 
	
		
			
				|  |  | +                this.getView().showMessage("请先选择一条数据!");
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            DynamicObjectCollection dynamicObjectCollection=new DynamicObjectCollection();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            DynamicObjectCollection entity=this.getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            if(selectRows!=null && selectRows.length>0){
 | 
	
		
			
				|  |  | +                for(int selectRow :selectRows){
 | 
	
		
			
				|  |  | +                    DynamicObject dynamicObject=entity.get(selectRow);  //获取选中行的单据体数据
 | 
	
		
			
				|  |  | +                    dynamicObjectCollection.add(dynamicObject);
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                this.getView().returnDataToParent(dynamicObjectCollection);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            this.getView().close();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else if (KEY_CANCEL.equals(sourceKey)) {
 | 
	
		
			
				|  |  | +            //被点击控件为取消则设置返回值为空并关闭页面(在页面关闭回调方法中必须验证返回值不为空,否则会报空指针)
 | 
	
		
			
				|  |  | +            this.getView().returnDataToParent(null);
 | 
	
		
			
				|  |  | +            this.getView().close();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else {
 | 
	
		
			
				|  |  | +            this.getView().returnDataToParent(null);
 | 
	
		
			
				|  |  | +            this.getView().close();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        super.click(evt);
 | 
	
		
			
				|  |  | +        //获取被点击的控件对象
 | 
	
		
			
				|  |  | +     Integer a=1;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void beforeItemClick(BeforeItemClickEvent evt) {
 | 
	
		
			
				|  |  | +        super.beforeItemClick(evt);
 | 
	
		
			
				|  |  | +        Integer a=1;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void registerListener(EventObject e) {
 | 
	
		
			
				|  |  | +        super.registerListener(e);
 | 
	
		
			
				|  |  | +        //页面确认按钮和取消按钮添加监听
 | 
	
		
			
				|  |  | +        this.addClickListeners("btnok","btncancel","nckd_baritemap");
 | 
	
		
			
				|  |  | +        this.addItemClickListeners("nckd_baritemap", "nckd_toolbarap");
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    public void itemClick(ItemClickEvent evt) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        String itemKey = evt.getItemKey();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// 此处必须是工具栏项的标识! 工具栏项! 工具栏项! 工具栏项!
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (StringUtils.equalsIgnoreCase(itemKey, "nckd_baritemap")) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +           Integer b=1;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        super.itemClick(evt);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//    @Override
 | 
	
		
			
				|  |  | +//    public void beforeClosed(BeforeClosedEvent e) {
 | 
	
		
			
				|  |  | +//        super.beforeClosed(e);
 | 
	
		
			
				|  |  | +//        int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity1");
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        EntryGrid entryGrid= this.getControl("nckd_entryentity1");
 | 
	
		
			
				|  |  | +//        int selectRows[]=entryGrid.getSelectRows();
 | 
	
		
			
				|  |  | +//        if (selectRows.length<=0){
 | 
	
		
			
				|  |  | +//            this.getView().showMessage("请先选择一条数据!");
 | 
	
		
			
				|  |  | +//            return;
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//        DynamicObjectCollection dynamicObjectCollection=new DynamicObjectCollection();
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        DynamicObjectCollection entity=this.getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +//        if(selectRows!=null && selectRows.length>0){
 | 
	
		
			
				|  |  | +//            for(int selectRow :selectRows){
 | 
	
		
			
				|  |  | +//                DynamicObject dynamicObject=entity.get(selectRow);  //获取选中行的单据体数据
 | 
	
		
			
				|  |  | +//                dynamicObjectCollection.add(dynamicObject);
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//        }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//        this.getView().returnDataToParent(dynamicObjectCollection);
 | 
	
		
			
				|  |  | +//    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void afterCreateNewData(EventObject e) {
 | 
	
		
			
				|  |  | +        //获取当前登录人
 | 
	
		
			
				|  |  | +        long currentUserId = UserServiceHelper.getCurrentUserId();
 | 
	
		
			
				|  |  | +        //获取主组织
 | 
	
		
			
				|  |  | +        long userMainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
 | 
	
		
			
				|  |  | +        //获取当前登录切换的组织
 | 
	
		
			
				|  |  | +        long orgId = RequestContext.get().getOrgId();
 | 
	
		
			
				|  |  | +        super.afterCreateNewData(e);
 | 
	
		
			
				|  |  | +        this.getModel().deleteEntryData("nckd_entryentity1");
 | 
	
		
			
				|  |  | +        QFilter qFilter8=new QFilter("enable", QCP.equals,"1");
 | 
	
		
			
				|  |  | +        QFilter qFilter9=new QFilter("status", QCP.equals,"C");
 | 
	
		
			
				|  |  | +        QFilter qFiltercommonuser=new QFilter("nckd_userfield.id",QCP.equals,currentUserId);
 | 
	
		
			
				|  |  | +        DynamicObject dynamicObjectcommonuser = BusinessDataServiceHelper.loadSingle("nckd_commonuser", new QFilter[]{qFiltercommonuser});
 | 
	
		
			
				|  |  | +        QFilter yjFilter=null;
 | 
	
		
			
				|  |  | +        if(dynamicObjectcommonuser!=null){
 | 
	
		
			
				|  |  | +            DynamicObject nckd_orgbase = dynamicObjectcommonuser.getDynamicObject("nckd_orgbase");
 | 
	
		
			
				|  |  | +            long orgbaseid=nckd_orgbase.getLong("id");
 | 
	
		
			
				|  |  | +             yjFilter=new QFilter("nckd_orgbase.id",QCP.equals,orgbaseid);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else{
 | 
	
		
			
				|  |  | +            QFilter qFilteruser=new QFilter("creator.id",QCP.equals,currentUserId);
 | 
	
		
			
				|  |  | +            QFilter qFiltershare1=new QFilter("nckd_isshared",QCP.equals,true);
 | 
	
		
			
				|  |  | +            QFilter qFiltershare2=new QFilter("nckd_orgbase.id",QCP.equals,userMainOrgId);
 | 
	
		
			
				|  |  | +            QFilter qFiltershare=qFiltershare1.and(qFiltershare2);
 | 
	
		
			
				|  |  | +             yjFilter=qFilteruser.or(qFiltershare);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        DynamicObject[] nckd_requisitionlists = BusinessDataServiceHelper.load("nckd_requisitionlist", "id,billno", new QFilter[]{qFilter8,qFilter9,yjFilter});
 | 
	
		
			
				|  |  | +        for (int i = 0; i < nckd_requisitionlists.length; i++) {
 | 
	
		
			
				|  |  | +            DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_requisitionlists[i].getPkValue(), nckd_requisitionlists[i].getDataEntityType().getName());
 | 
	
		
			
				|  |  | +            String number = dynamicObject.getString("number");
 | 
	
		
			
				|  |  | +            String name = dynamicObject.getString("name");
 | 
	
		
			
				|  |  | +            String type=dynamicObject.getString("nckd_atttype");
 | 
	
		
			
				|  |  | +            String size=dynamicObject.getString("nckd_attsize");
 | 
	
		
			
				|  |  | +//            boolean nckd_isrepeatcite = dynamicObject.getBoolean("nckd_isrepeatcite");
 | 
	
		
			
				|  |  | +//            boolean nckd_iscitebynotupload = dynamicObject.getBoolean("nckd_iscitebynotupload");
 | 
	
		
			
				|  |  | +//            boolean nckd_iscross = dynamicObject.getBoolean("nckd_iscross");
 | 
	
		
			
				|  |  | +            boolean nckd_isdownloadable = dynamicObject.getBoolean("nckd_isdownloadable");
 | 
	
		
			
				|  |  | +//            boolean nckd_isreferenceable = dynamicObject.getBoolean("nckd_isreferenceable");
 | 
	
		
			
				|  |  | +            boolean nckd_isshared=dynamicObject.getBoolean("nckd_isshared");
 | 
	
		
			
				|  |  | +            String status=dynamicObject.getString("status");
 | 
	
		
			
				|  |  | +            String enable=dynamicObject.getString("enable");
 | 
	
		
			
				|  |  | +            DynamicObject nckdOrgbase = dynamicObject.getDynamicObject("nckd_orgbase");
 | 
	
		
			
				|  |  | +            if(nckdOrgbase==null){
 | 
	
		
			
				|  |  | +                continue;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            long nckd_orgbase = dynamicObject.getDynamicObject("nckd_orgbase").getLong("id");
 | 
	
		
			
				|  |  | +            Long creator = dynamicObject.getDynamicObject("creator").getLong("id");
 | 
	
		
			
				|  |  | +            //要件分类
 | 
	
		
			
				|  |  | +            Long nckd_yjclass= Long.valueOf("11111111111111");
 | 
	
		
			
				|  |  | +            if(dynamicObject.getDynamicObject("nckd_yjclass")!=null) {
 | 
	
		
			
				|  |  | +                nckd_yjclass = dynamicObject.getDynamicObject("nckd_yjclass").getLong("id");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +//            if(dynamicObject.getDynamicObject("nckd_yjclass")!=null){
 | 
	
		
			
				|  |  | +//                nckd_yjclass= dynamicObject.getDynamicObject("nckd_yjclass").getLong("id");
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +            Date applydate=dynamicObject.getDate("nckd_applydate");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//            DynamicObjectCollection collection=getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +//            DynamicObject dynamicObject1 = collection.addNew();
 | 
	
		
			
				|  |  | +//            dynamicObject1.set("nckd_number",number);
 | 
	
		
			
				|  |  | +//            dynamicObject1.set("nckd_name",name);
 | 
	
		
			
				|  |  | +            int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_number", number, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_name", name, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_atttype", type, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_attsize", size, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_yjclass", nckd_yjclass, rowIndex);
 | 
	
		
			
				|  |  | +//            this.getModel().setValue("nckd_isrepeatcite", nckd_isrepeatcite, rowIndex);
 | 
	
		
			
				|  |  | +//            this.getModel().setValue("nckd_iscitebynotupload", nckd_iscitebynotupload, rowIndex);
 | 
	
		
			
				|  |  | +//            this.getModel().setValue("nckd_iscross", nckd_iscross, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_isdownloadable", nckd_isdownloadable, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_isshared", nckd_isshared, rowIndex);
 | 
	
		
			
				|  |  | +//            this.getModel().setValue("nckd_isreferenceable", nckd_isreferenceable, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_status", status, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_yjclass", nckd_yjclass, rowIndex );
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_applydate", applydate, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_orgbase", nckd_orgbase, rowIndex);
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_enable", enable, rowIndex );
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_creator",creator,rowIndex);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            List<Object> attchIdSet = new ArrayList<>();
 | 
	
		
			
				|  |  | +            DynamicObjectCollection picCo = dynamicObject.getDynamicObjectCollection("nckd_attachmentfield");
 | 
	
		
			
				|  |  | +            if (picCo != null && !picCo.isEmpty()) {
 | 
	
		
			
				|  |  | +                picCo.forEach(attach -> {
 | 
	
		
			
				|  |  | +                    attchIdSet.add(attach.getDynamicObject("fbasedataId").getPkValue());
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            this.getModel().setValue("nckd_attachmentfield", attchIdSet.toArray(),rowIndex);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public void afterDoOperation(AfterDoOperationEventArgs e) {
 | 
	
		
			
				|  |  | +        super.afterDoOperation(e);
 | 
	
		
			
				|  |  | +        //获取当前登录人
 | 
	
		
			
				|  |  | +        long currentUserId = UserServiceHelper.getCurrentUserId();
 | 
	
		
			
				|  |  | +        //获取主组织
 | 
	
		
			
				|  |  | +        long userMainOrgId = UserServiceHelper.getUserMainOrgId(currentUserId);
 | 
	
		
			
				|  |  | +        List<Long> allDepartmentByUserId = UserServiceHelper.getAllDepartmentByUserId(currentUserId);
 | 
	
		
			
				|  |  | +        //获取当前登录切换的组织
 | 
	
		
			
				|  |  | +        long orgId = RequestContext.get().getOrgId();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        Integer b=1;
 | 
	
		
			
				|  |  | +        if ("search".equals(e.getOperateKey())) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            String nckd_namesearch = (String) this.getModel().getValue("nckd_namesearch");
 | 
	
		
			
				|  |  | +            String nckd_numbersearch = (String) this.getModel().getValue("nckd_numbersearch");
 | 
	
		
			
				|  |  | +            //创建人
 | 
	
		
			
				|  |  | +            Long nckd_createusersearch=null;
 | 
	
		
			
				|  |  | +            DynamicObject nckd_createusersearch1 = (DynamicObject) this.getModel().getValue("nckd_createusersearch");
 | 
	
		
			
				|  |  | +            if(nckd_createusersearch1!=null) {
 | 
	
		
			
				|  |  | +                 nckd_createusersearch = nckd_createusersearch1.getLong("id");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            //创建组织
 | 
	
		
			
				|  |  | +            Long nckd_createorgsearch=null;
 | 
	
		
			
				|  |  | +            DynamicObject nckd_createorgsearch1 = (DynamicObject) this.getModel().getValue("nckd_createorgsearch");
 | 
	
		
			
				|  |  | +            if(nckd_createorgsearch1!=null) {
 | 
	
		
			
				|  |  | +                nckd_createorgsearch = nckd_createorgsearch1.getLong("id");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //起始日期
 | 
	
		
			
				|  |  | +            Date nckd_begindate = (Date) this.getModel().getValue("nckd_begindate");
 | 
	
		
			
				|  |  | +            //结束日期
 | 
	
		
			
				|  |  | +            Date nckd_enddate = (Date) this.getModel().getValue("nckd_enddate");
 | 
	
		
			
				|  |  | +            //要件分类名称
 | 
	
		
			
				|  |  | +            String nckd_yaojianclass=(String)this.getModel().getValue("nckd_yaojianclass");
 | 
	
		
			
				|  |  | +            //清空单据体数据
 | 
	
		
			
				|  |  | +            this.getModel().deleteEntryData("nckd_entryentity1");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            QFilter qFilter1=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter2=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter3=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter4=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter5=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter6=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter7=null;
 | 
	
		
			
				|  |  | +            QFilter qFilter8=new QFilter("enable", QCP.equals,"1");
 | 
	
		
			
				|  |  | +            QFilter qFilter9=new QFilter("status", QCP.equals,"C");
 | 
	
		
			
				|  |  | +//            QFilter qFilter10=new QFilter("nckd_isreferenceable", QCP.equals,true);
 | 
	
		
			
				|  |  | +//            QFilter qFilter111   =new QFilter("nckd_isrepeatcite", QCP.equals,true);
 | 
	
		
			
				|  |  | +//            QFilter qFilter112   =new QFilter("nckd_isrepeatcite", QCP.equals,false);
 | 
	
		
			
				|  |  | +//            DynamicObject[] load = BusinessDataServiceHelper.load("nckd_yinyongbiao", "nckd_elecoding", null);
 | 
	
		
			
				|  |  | +//            List<String> arrayList = new ArrayList<>();
 | 
	
		
			
				|  |  | +//            for (int i = 0; i < load.length; i++) {
 | 
	
		
			
				|  |  | +//                arrayList.add( load[i].get("nckd_elecoding").toString());
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            QFilter qFilter10   =new QFilter("number", QCP.not_in,arrayList);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//            QFilter qFilter11=qFilter111.or(qFilter112.and(qFilter113));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //***********************
 | 
	
		
			
				|  |  | +//            QFilter qFilter121   =new QFilter("nckd_iscitebynotupload", QCP.equals,true);
 | 
	
		
			
				|  |  | +////            QFilter qFilter122   =new QFilter("nckd_iscitebynotupload", QCP.equals,false);
 | 
	
		
			
				|  |  | +////
 | 
	
		
			
				|  |  | +////            QFilter qFilter123   =new QFilter("creator", QCP.equals,currentUserId);
 | 
	
		
			
				|  |  | +////            QFilter qFilter12=qFilter121.or(qFilter122.and(qFilter123));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //***********************能否跨组织引用
 | 
	
		
			
				|  |  | +//            QFilter qFilter131   =new QFilter("nckd_iscross", QCP.equals,true);
 | 
	
		
			
				|  |  | +//            QFilter qFilter132   =new QFilter("nckd_iscross", QCP.equals,false);
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            QFilter qFilter133   =new QFilter("createorg", QCP.in,allDepartmentByUserId);
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            QFilter qFilter13=qFilter131.or(qFilter132.and(qFilter133));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotBlank(nckd_namesearch)) {
 | 
	
		
			
				|  |  | +                 qFilter1=new QFilter("name",QCP.like,"%"+nckd_namesearch+"%");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotBlank(nckd_numbersearch)) {
 | 
	
		
			
				|  |  | +                qFilter2=new QFilter("number",QCP.like,"%"+nckd_numbersearch+"%");
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (nckd_createusersearch!=null) {
 | 
	
		
			
				|  |  | +                qFilter3=new QFilter("creator",QCP.equals,nckd_createusersearch);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            if (nckd_createorgsearch!=null) {
 | 
	
		
			
				|  |  | +                qFilter4=new QFilter("createorg",QCP.equals,nckd_createorgsearch);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (nckd_begindate!=null&&nckd_enddate!=null) {
 | 
	
		
			
				|  |  | +                qFilter5=new QFilter("nckd_applydate",QCP.large_equals,nckd_begindate);
 | 
	
		
			
				|  |  | +                qFilter6=new QFilter("nckd_applydate",QCP.less_equals,nckd_enddate);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (StringUtils.isNotBlank(nckd_yaojianclass)) {
 | 
	
		
			
				|  |  | +                qFilter7=new QFilter("nckd_yjclass.name",QCP.equals,nckd_yaojianclass);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            QFilter qFilter666=new QFilter("enable", QCP.equals,"1");
 | 
	
		
			
				|  |  | +//            QFilter qFilter777=new QFilter("status", QCP.equals,"C");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            QFilter qFiltercommonuser=new QFilter("nckd_userfield.id",QCP.equals,currentUserId);
 | 
	
		
			
				|  |  | +            DynamicObject dynamicObjectcommonuser = BusinessDataServiceHelper.loadSingle("nckd_commonuser", new QFilter[]{qFiltercommonuser});
 | 
	
		
			
				|  |  | +            QFilter yjFilter=null;
 | 
	
		
			
				|  |  | +            if(dynamicObjectcommonuser!=null){
 | 
	
		
			
				|  |  | +                DynamicObject nckd_orgbase = dynamicObjectcommonuser.getDynamicObject("nckd_orgbase");
 | 
	
		
			
				|  |  | +                long orgbaseid=nckd_orgbase.getLong("id");
 | 
	
		
			
				|  |  | +                yjFilter=new QFilter("nckd_orgbase.id",QCP.equals,orgbaseid);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            else{
 | 
	
		
			
				|  |  | +                QFilter qFilteruser=new QFilter("creator.id",QCP.equals,currentUserId);
 | 
	
		
			
				|  |  | +                QFilter qFiltershare1=new QFilter("nckd_isshared",QCP.equals,true);
 | 
	
		
			
				|  |  | +                QFilter qFiltershare2=new QFilter("nckd_orgbase.id",QCP.equals,userMainOrgId);
 | 
	
		
			
				|  |  | +                QFilter qFiltershare=qFiltershare1.and(qFiltershare2);
 | 
	
		
			
				|  |  | +                yjFilter=qFilteruser.or(qFiltershare);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            DynamicObject[] nckd_requisitionlists = BusinessDataServiceHelper.load("nckd_requisitionlist", "id,billno", new QFilter[]{qFilter1,qFilter2,qFilter3,qFilter4,qFilter5,qFilter6,qFilter7,
 | 
	
		
			
				|  |  | +           qFilter8,qFilter9,yjFilter});
 | 
	
		
			
				|  |  | +//            for (int i = 0; i < nckd_requisitionlists.length; i++) {
 | 
	
		
			
				|  |  | +//                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_requisitionlists[i].getPkValue(), nckd_requisitionlists[i].getDataEntityType().getName());
 | 
	
		
			
				|  |  | +//                String number = dynamicObject.getString("number");
 | 
	
		
			
				|  |  | +//                String name = dynamicObject.getString("name");
 | 
	
		
			
				|  |  | +//                Long nckd_yjclass = dynamicObject.getDynamicObject("nckd_yjclass").getLong("id");
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +////            DynamicObjectCollection collection=getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +////            DynamicObject dynamicObject1 = collection.addNew();
 | 
	
		
			
				|  |  | +////            dynamicObject1.set("nckd_number",number);
 | 
	
		
			
				|  |  | +////            dynamicObject1.set("nckd_name",name);
 | 
	
		
			
				|  |  | +//                int rowIndex = 0;
 | 
	
		
			
				|  |  | +//                try {
 | 
	
		
			
				|  |  | +//                    rowIndex = this.getModel().createNewEntryRow("nckd_entryentity1");
 | 
	
		
			
				|  |  | +//                    this.getModel().setValue("nckd_number", number, rowIndex);
 | 
	
		
			
				|  |  | +//                    this.getModel().setValue("nckd_name", name, rowIndex);
 | 
	
		
			
				|  |  | +//                    this.getModel().setValue("nckd_yjclass",nckd_yjclass,rowIndex);
 | 
	
		
			
				|  |  | +//                    List<Object> attchIdSet = new ArrayList<>();
 | 
	
		
			
				|  |  | +//                    DynamicObjectCollection picCo = dynamicObject.getDynamicObjectCollection("nckd_attachmentfield");
 | 
	
		
			
				|  |  | +//                    if (picCo != null && !picCo.isEmpty()) {
 | 
	
		
			
				|  |  | +//                        picCo.forEach(attach -> {
 | 
	
		
			
				|  |  | +//                            attchIdSet.add(attach.getDynamicObject("fbasedataId").getPkValue());
 | 
	
		
			
				|  |  | +//                        });
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                    }
 | 
	
		
			
				|  |  | +//                    this.getModel().setValue("nckd_attachmentfield", attchIdSet.toArray(),rowIndex);
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//                } catch (Exception ex) {
 | 
	
		
			
				|  |  | +//                    throw new RuntimeException(ex);
 | 
	
		
			
				|  |  | +//                }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            for (int i = 0; i < nckd_requisitionlists.length; i++) {
 | 
	
		
			
				|  |  | +                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_requisitionlists[i].getPkValue(), nckd_requisitionlists[i].getDataEntityType().getName());
 | 
	
		
			
				|  |  | +                String number = dynamicObject.getString("number");
 | 
	
		
			
				|  |  | +                String name = dynamicObject.getString("name");
 | 
	
		
			
				|  |  | +                String type=dynamicObject.getString("nckd_atttype");
 | 
	
		
			
				|  |  | +                String size=dynamicObject.getString("nckd_attsize");
 | 
	
		
			
				|  |  | +                Long nckd_orgbase=dynamicObject.getDynamicObject("nckd_orgbase").getLong("id");
 | 
	
		
			
				|  |  | +//                boolean nckd_isrepeatcite = dynamicObject.getBoolean("nckd_isrepeatcite");
 | 
	
		
			
				|  |  | +//                boolean nckd_iscitebynotupload = dynamicObject.getBoolean("nckd_iscitebynotupload");
 | 
	
		
			
				|  |  | +//                boolean nckd_iscross = dynamicObject.getBoolean("nckd_iscross");
 | 
	
		
			
				|  |  | +                boolean nckd_isdownloadable = dynamicObject.getBoolean("nckd_isdownloadable");
 | 
	
		
			
				|  |  | +                boolean nckd_isshared = dynamicObject.getBoolean("nckd_isshared");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//                boolean nckd_isreferenceable = dynamicObject.getBoolean("nckd_isreferenceable");
 | 
	
		
			
				|  |  | +                String status=dynamicObject.getString("status");
 | 
	
		
			
				|  |  | +                String enable=dynamicObject.getString("enable");
 | 
	
		
			
				|  |  | +//                Long createorg=dynamicObject.getDynamicObject("createorg").getLong("id");
 | 
	
		
			
				|  |  | +                Long creator = dynamicObject.getDynamicObject("creator").getLong("id");
 | 
	
		
			
				|  |  | +                //要件分类
 | 
	
		
			
				|  |  | +                Long nckd_yjclass= Long.valueOf("11111111111111");
 | 
	
		
			
				|  |  | +                if(dynamicObject.getDynamicObject("nckd_yjclass")!=null) {
 | 
	
		
			
				|  |  | +                    nckd_yjclass = dynamicObject.getDynamicObject("nckd_yjclass").getLong("id");
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                Date applydate=dynamicObject.getDate("nckd_applydate");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//            DynamicObjectCollection collection=getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +//            DynamicObject dynamicObject1 = collection.addNew();
 | 
	
		
			
				|  |  | +//            dynamicObject1.set("nckd_number",number);
 | 
	
		
			
				|  |  | +//            dynamicObject1.set("nckd_name",name);
 | 
	
		
			
				|  |  | +                int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity1");
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_number", number, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_name", name, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_atttype", type, rowIndex);
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_attsize", size, rowIndex);
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_yjclass", nckd_yjclass, rowIndex );
 | 
	
		
			
				|  |  | +//                this.getModel().setValue("nckd_isrepeatcite", nckd_isrepeatcite, rowIndex );
 | 
	
		
			
				|  |  | +//                this.getModel().setValue("nckd_iscitebynotupload", nckd_iscitebynotupload, rowIndex );
 | 
	
		
			
				|  |  | +//                this.getModel().setValue("nckd_iscross", nckd_iscross, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_isdownloadable", nckd_isdownloadable, rowIndex);
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_orgbase", nckd_orgbase, rowIndex);
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_isshared", nckd_isshared, rowIndex );
 | 
	
		
			
				|  |  | +//                this.getModel().setValue("nckd_isreferenceable", nckd_isreferenceable, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_status", status, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_yjclass", nckd_yjclass, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_applydate", applydate, rowIndex );
 | 
	
		
			
				|  |  | +//                this.getModel().setValue("nckd_createorg", createorg, rowIndex );
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_creator",creator,rowIndex);
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_enable", enable, rowIndex );
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                List<Object> attchIdSet = new ArrayList<>();
 | 
	
		
			
				|  |  | +                DynamicObjectCollection picCo = dynamicObject.getDynamicObjectCollection("nckd_attachmentfield");
 | 
	
		
			
				|  |  | +                if (picCo != null && !picCo.isEmpty()) {
 | 
	
		
			
				|  |  | +                    picCo.forEach(attach -> {
 | 
	
		
			
				|  |  | +                        attchIdSet.add(attach.getDynamicObject("fbasedataId").getPkValue());
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                this.getModel().setValue("nckd_attachmentfield", attchIdSet.toArray(),rowIndex);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//            Date startDate = (Date) this.getModel().getValue("ztjg_startdate");
 | 
	
		
			
				|  |  | +//            Date endDate = (Date) this.getModel().getValue("ztjg_enddate");
 | 
	
		
			
				|  |  | +//            Boolean isForce = (Boolean) this.getModel().getValue("ztjg_isforce");
 | 
	
		
			
				|  |  | +//            Boolean isInform = (Boolean) this.getModel().getValue("ztjg_isinform");
 | 
	
		
			
				|  |  | +//            String likeName = (String) this.getModel().getValue("ztjg_likename");
 | 
	
		
			
				|  |  | +//            if (isForce == null){
 | 
	
		
			
				|  |  | +//                isForce = false;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            if (isInform == null){
 | 
	
		
			
				|  |  | +//                isInform = false;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +//            if (startDate == null){
 | 
	
		
			
				|  |  | +//                this.getView().showMessage("请选择开始日期!");
 | 
	
		
			
				|  |  | +//                return;
 | 
	
		
			
				|  |  | +//            }else if (endDate == null){
 | 
	
		
			
				|  |  | +//                this.getView().showMessage("请选择结束日期!");
 | 
	
		
			
				|  |  | +//                return;
 | 
	
		
			
				|  |  | +//            }
 | 
	
		
			
				|  |  | +//            initTable(isInform,isForce,startDate,endDate,likeName);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if ("refresh".equals(e.getOperateKey())){
 | 
	
		
			
				|  |  | +            this.getView().updateView();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if("individuation".equals(e.getOperateKey())) {
 | 
	
		
			
				|  |  | +            Donothing donothing = (Donothing) e.getSource();
 | 
	
		
			
				|  |  | +//            Long id = (Long) donothing.getListFocusRow().getPrimaryKeyValue();
 | 
	
		
			
				|  |  | +            EntryGrid entryGrid = this.getControl("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            int selectRows[] = entryGrid.getSelectRows();
 | 
	
		
			
				|  |  | +            String formID = donothing.getEntityId();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            DynamicObjectCollection dynamicObjectCollection = new DynamicObjectCollection();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            DynamicObjectCollection entity = this.getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            DynamicObject obj = null;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (selectRows != null && selectRows.length > 0) {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                obj = entity.get(selectRows[0]);  //获取选中行的单据体数据
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            boolean nckd_isdownloadable = obj.getBoolean("nckd_isdownloadable");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (nckd_isdownloadable == true){
 | 
	
		
			
				|  |  | +                String number = obj.getString("nckd_number");
 | 
	
		
			
				|  |  | +                String name = obj.getString("nckd_name");
 | 
	
		
			
				|  |  | +                //下载附件
 | 
	
		
			
				|  |  | +                List<Object> attchIdSet = new ArrayList<>();
 | 
	
		
			
				|  |  | +            DynamicObjectCollection picCo = obj.getDynamicObjectCollection("nckd_attachmentfield");
 | 
	
		
			
				|  |  | +            if (picCo != null && !picCo.isEmpty()) {
 | 
	
		
			
				|  |  | +                picCo.forEach(attach -> {
 | 
	
		
			
				|  |  | +                    attchIdSet.add(attach.getDynamicObject("fbasedataId").getPkValue());
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +                DynamicObject[] sourceAttachments = BusinessDataServiceHelper.load(attchIdSet.toArray(), EntityMetadataCache.getDataEntityType("bd_attachment"));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                Object url = sourceAttachments[0].get("url");
 | 
	
		
			
				|  |  | +                String attachmentFullUrl = UrlService.getAttachmentFullUrl(url.toString());
 | 
	
		
			
				|  |  | +                this.getView().openUrl(attachmentFullUrl);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //往下载记录表跟引用下载次数那个报表里面赋值
 | 
	
		
			
				|  |  | +                DynamicObject newDangerRepository = BusinessDataServiceHelper.newDynamicObject("nckd_download");
 | 
	
		
			
				|  |  | +                //获取要往下载记录里赋的值
 | 
	
		
			
				|  |  | +                newDangerRepository.set("billstatus","A");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                newDangerRepository.set("creator",currentUserId);
 | 
	
		
			
				|  |  | +                newDangerRepository.set("nckd_downloadperson",currentUserId);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                // 获取当前日期
 | 
	
		
			
				|  |  | +                Date date = new Date();
 | 
	
		
			
				|  |  | +                // 定义日期格式
 | 
	
		
			
				|  |  | +//                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  | +//                    String date1 = dateFormat.format(date);
 | 
	
		
			
				|  |  | +                newDangerRepository.set("nckd_downloadtime",date);
 | 
	
		
			
				|  |  | +                newDangerRepository.set("nckd_yjname",name);
 | 
	
		
			
				|  |  | +                newDangerRepository.set("nckd_yjnumber",number);
 | 
	
		
			
				|  |  | +                SaveServiceHelper.saveOperate("nckd_download",new DynamicObject[]{newDangerRepository}, OperateOption.create());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //更新下载次数
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                QFilter qFilter=new QFilter("number",QCP.equals,number);
 | 
	
		
			
				|  |  | +                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("nckd_requisitionlist",new QFilter[]{qFilter});
 | 
	
		
			
				|  |  | +                int nckd_dlnum = dynamicObject.getInt("nckd_dlnum");
 | 
	
		
			
				|  |  | +                dynamicObject.set("nckd_dlnum",nckd_dlnum+1);
 | 
	
		
			
				|  |  | +                SaveServiceHelper.saveOperate("nckd_requisitionlist",new DynamicObject[]{dynamicObject}, OperateOption.create());
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if("preview".equals(e.getOperateKey())){
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            Donothing donothing=(Donothing)e.getSource();
 | 
	
		
			
				|  |  | +//            Long id = (Long) donothing.getListFocusRow().getPrimaryKeyValue();
 | 
	
		
			
				|  |  | +            EntryGrid entryGrid= this.getControl("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            int selectRows[]=entryGrid.getSelectRows();
 | 
	
		
			
				|  |  | +            String formID = donothing.getEntityId();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //*****************
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            //********************
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            DynamicObjectCollection dynamicObjectCollection=new DynamicObjectCollection();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            DynamicObjectCollection entity=this.getModel().getEntryEntity("nckd_entryentity1");
 | 
	
		
			
				|  |  | +            DynamicObject obj=null;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if(selectRows!=null && selectRows.length>0){
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                     obj=entity.get(selectRows[0]);  //获取选中行的单据体数据
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            String number = obj.getString("nckd_number");
 | 
	
		
			
				|  |  | +            String name = obj.getString("nckd_name");
 | 
	
		
			
				|  |  | +//            DynamicObject obj = BusinessDataServiceHelper.loadSingle(selectRows[0],formID);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //预览附件
 | 
	
		
			
				|  |  | +                List<Object> attchIdSet = new ArrayList<>();
 | 
	
		
			
				|  |  | +                DynamicObjectCollection picCo = obj.getDynamicObjectCollection("nckd_attachmentfield");
 | 
	
		
			
				|  |  | +                if (picCo != null && !picCo.isEmpty()) {
 | 
	
		
			
				|  |  | +                    picCo.forEach(attach -> {
 | 
	
		
			
				|  |  | +                        attchIdSet.add(attach.getDynamicObject("fbasedataId").getPkValue());
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    DynamicObject[] sourceAttachments = BusinessDataServiceHelper.load(attchIdSet.toArray(), EntityMetadataCache.getDataEntityType("bd_attachment"));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    String url = sourceAttachments[0].getString("url");
 | 
	
		
			
				|  |  | +                    String attachmentFullUrl = UrlService.getAttachmentFullUrl(url.toString());
 | 
	
		
			
				|  |  | +                    String previewUrl = UrlService.getAttachmentPreviewUrl(url.toString());
 | 
	
		
			
				|  |  | +//                    String domainContextUrl = UrlService.getDomainContextUrl() + "/attachment/preview.do?path=";
 | 
	
		
			
				|  |  | +//                    String previewUrl=domainContextUrl + url;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//                    List<Map<String, Object>> attachments = AttachmentServiceHelper.getAttachments(formID, id, "nckd_attachmentfield", true);
 | 
	
		
			
				|  |  | +//                    this.getView().previewAttachment(attachments.get(0));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | +                    map.put("url",attachmentFullUrl );
 | 
	
		
			
				|  |  | +                    map.put("uid", sourceAttachments[0].getString("uid"));
 | 
	
		
			
				|  |  | +                    map.put("name", sourceAttachments[0].getString("name"));
 | 
	
		
			
				|  |  | +                    map.put("previewurl",previewUrl);
 | 
	
		
			
				|  |  | +                    map.put("size", sourceAttachments[0].getString("size"));
 | 
	
		
			
				|  |  | +                    map.put("status", "success");
 | 
	
		
			
				|  |  | +                    map.put("type", sourceAttachments[0].getString("type"));
 | 
	
		
			
				|  |  | +                    this.getView().previewAttachment(map);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    //往预览记录表里面赋值
 | 
	
		
			
				|  |  | +                    DynamicObject newDangerRepository = BusinessDataServiceHelper.newDynamicObject("nckd_preview");
 | 
	
		
			
				|  |  | +                    //获取要往预览记录里赋的值
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("billstatus","A");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("creator",currentUserId);
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("nckd_previewperson",currentUserId);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    // 获取当前日期
 | 
	
		
			
				|  |  | +                    Date date = new Date();
 | 
	
		
			
				|  |  | +                    // 定义日期格式
 | 
	
		
			
				|  |  | +//                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  | +//                    String date1 = dateFormat.format(date);
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("nckd_previewtime",date);
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("nckd_yjname",name);
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("nckd_yjnumber",number);
 | 
	
		
			
				|  |  | +                    newDangerRepository.set("nckd_previewperson",currentUserId);
 | 
	
		
			
				|  |  | +                    SaveServiceHelper.saveOperate("nckd_preview",new DynamicObject[]{newDangerRepository}, OperateOption.create());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    //更新预览次数
 | 
	
		
			
				|  |  | +                    QFilter qFilter=new QFilter("number",QCP.equals,number);
 | 
	
		
			
				|  |  | +                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("nckd_requisitionlist",new QFilter[]{qFilter});
 | 
	
		
			
				|  |  | +                    int nckd_previewnum = dynamicObject.getInt("nckd_previewnum");
 | 
	
		
			
				|  |  | +                    dynamicObject.set("nckd_previewnum",nckd_previewnum+1);
 | 
	
		
			
				|  |  | +                    SaveServiceHelper.saveOperate("nckd_requisitionlist",new DynamicObject[]{dynamicObject}, OperateOption.create());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |