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