parent
							
								
									a98edc8d6e
								
							
						
					
					
						commit
						a3000e2047
					
				|  | @ -0,0 +1,77 @@ | ||||||
|  | package shkd.repc.recos.formplugin; | ||||||
|  | 
 | ||||||
|  | import kd.bos.dataentity.entity.DynamicObject; | ||||||
|  | import kd.bos.dataentity.entity.DynamicObjectCollection; | ||||||
|  | import kd.bos.form.control.EntryGrid; | ||||||
|  | import kd.bos.form.events.BeforeDoOperationEventArgs; | ||||||
|  | import kd.bos.form.operate.FormOperate; | ||||||
|  | import kd.bos.form.plugin.AbstractFormPlugin; | ||||||
|  | import kd.bos.orm.query.QCP; | ||||||
|  | import kd.bos.orm.query.QFilter; | ||||||
|  | import kd.bos.servicehelper.BusinessDataServiceHelper; | ||||||
|  | import kd.bos.servicehelper.QueryServiceHelper; | ||||||
|  | 
 | ||||||
|  | import java.math.BigDecimal; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | public class MeasureciFormPlugin extends AbstractFormPlugin { | ||||||
|  |     @Override | ||||||
|  |     public void beforeDoOperation(BeforeDoOperationEventArgs args) { | ||||||
|  |         super.beforeDoOperation(args); | ||||||
|  |         FormOperate source = (FormOperate) args.getSource(); | ||||||
|  |         String operateKey = source.getOperateKey(); | ||||||
|  |         if ("qeug_tbgcl".equals(operateKey)){ | ||||||
|  |             Object producttypeid = this.getModel().getValue("producttypeid");//产品类型ID | ||||||
|  |             Object measurecostid = this.getModel().getValue("measurecostid");//成本测算ID | ||||||
|  |             DynamicObject measurecost = BusinessDataServiceHelper.loadSingle(measurecostid,"recos_measurecost"); | ||||||
|  |             DynamicObject project = measurecost.getDynamicObject("project"); | ||||||
|  |             String number = project.getString("number");//项目编码 | ||||||
|  |             QFilter filter = new QFilter("qeug_cpmc.id", QCP.equals, producttypeid). | ||||||
|  |                     and(new QFilter("qeug_xmnumber", QCP.equals, number)); | ||||||
|  |             DynamicObject queryone = QueryServiceHelper.queryOne("qeug_gcl", "id", filter.toArray()); | ||||||
|  |             if (queryone==null){ | ||||||
|  |                 this.getView().showSuccessNotification("请维护项目面积数据"); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |             Map<String, BigDecimal> result = new HashMap<>(); | ||||||
|  |             DynamicObject gcl = BusinessDataServiceHelper.loadSingle(queryone.get("id"),"qeug_gcl"); | ||||||
|  |             DynamicObjectCollection qeug_entryentity = gcl.getDynamicObjectCollection("qeug_entryentity");//面积 | ||||||
|  |             for (int i = 0; i <qeug_entryentity.size() ; i++) { | ||||||
|  |                 DynamicObject dynamicObject = qeug_entryentity.get(i); | ||||||
|  |                 BigDecimal sum = dynamicObject.getBigDecimal("qeug_b2f"). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_b1f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_1f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_2f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_3f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_4f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_5f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_6f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_7f")). | ||||||
|  |                         add(dynamicObject.getBigDecimal("qeug_8f")); | ||||||
|  |                 result.put(dynamicObject.getString("qeug_kmname"),sum); | ||||||
|  |             } | ||||||
|  |             EntryGrid cientry = this.getControl("cientry"); | ||||||
|  |             int[] selectRows = cientry.getSelectRows(); | ||||||
|  |             if (selectRows.length==0){ | ||||||
|  |                 this.getView().showSuccessNotification("请选择要同步的行"); | ||||||
|  |                 return; | ||||||
|  |             } | ||||||
|  |             List<DynamicObject> myList = new ArrayList<>(); | ||||||
|  |             for (int i = 0; i < selectRows.length; i++) { | ||||||
|  |                 DynamicObject cientrydata = this.getModel().getEntryRowEntity("cientry", selectRows[i]); | ||||||
|  |                 myList.add(cientrydata); | ||||||
|  |             } | ||||||
|  |             result.forEach((key, value) -> { | ||||||
|  |                 for (DynamicObject dynamicObject : myList) { | ||||||
|  |                     if (dynamicObject.getString("entry_accountname").equals(key)){ | ||||||
|  |                         this.getModel().setValue("entry_workload",value,(int)dynamicObject.get("seq")-1);//工程量 | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             }); | ||||||
|  |             this.getView().showSuccessNotification("功能失败:"); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | @ -80,7 +80,12 @@ public class RecosMeasurecosFormPlugin extends AbstractFormPlugin implements Upl | ||||||
|         for (DynamicObject queryOne : query) { |         for (DynamicObject queryOne : query) { | ||||||
|             List list=new ArrayList(); |             List list=new ArrayList(); | ||||||
|             List listcaption=new ArrayList(); |             List listcaption=new ArrayList(); | ||||||
|             listcaption.add("科目长名称"); | //            listcaption.add("科目长名称"); | ||||||
|  |             listcaption.add("一级分类"); | ||||||
|  |             listcaption.add("二级分类"); | ||||||
|  |             listcaption.add("三级分类"); | ||||||
|  |             listcaption.add("四级分类"); | ||||||
|  |             listcaption.add("五级分类"); | ||||||
|             listcaption.add("科目编码"); |             listcaption.add("科目编码"); | ||||||
|             listcaption.add("科目名称"); |             listcaption.add("科目名称"); | ||||||
|             listcaption.add("工程量单位"); |             listcaption.add("工程量单位"); | ||||||
|  | @ -97,7 +102,20 @@ public class RecosMeasurecosFormPlugin extends AbstractFormPlugin implements Upl | ||||||
|                 DynamicObject entry_costaccount = dynamicObject.getDynamicObject("entry_costaccount");//科目 |                 DynamicObject entry_costaccount = dynamicObject.getDynamicObject("entry_costaccount");//科目 | ||||||
|                 if (entry_costaccount.getBoolean("isleaf")){ |                 if (entry_costaccount.getBoolean("isleaf")){ | ||||||
|                     List listvalue=new ArrayList(); |                     List listvalue=new ArrayList(); | ||||||
|                     listvalue.add(entry_costaccount.getString("fullname"));//科目长名称 | //                    listvalue.add(entry_costaccount.getString("fullname"));//科目长名称 | ||||||
|  |                     String fullname = entry_costaccount.getString("fullname"); | ||||||
|  |                     String[] parts = fullname.split("_"); | ||||||
|  |                     String[] partsWithoutLast = Arrays.copyOf(parts, parts.length - 1); | ||||||
|  | 
 | ||||||
|  |                     for (int i = 0; i < 5; i++) { | ||||||
|  |                         try { | ||||||
|  |                             String s = partsWithoutLast[i]; | ||||||
|  |                             listvalue.add(s); | ||||||
|  |                         } catch (Exception e) { | ||||||
|  |                             listvalue.add(""); | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     listvalue.add(dynamicObject.getString("entry_longnumber"));//科目编码 |                     listvalue.add(dynamicObject.getString("entry_longnumber"));//科目编码 | ||||||
|                     listvalue.add(dynamicObject.getString("entry_accountname"));//科目名称 |                     listvalue.add(dynamicObject.getString("entry_accountname"));//科目名称 | ||||||
|                     DynamicObject entry_workloadunit = dynamicObject.getDynamicObject("entry_workloadunit"); |                     DynamicObject entry_workloadunit = dynamicObject.getDynamicObject("entry_workloadunit"); | ||||||
|  |  | ||||||
|  | @ -51,7 +51,8 @@ public class ProjectBillPlugin extends AbstractFormPlugin implements BeforeQuick | ||||||
|             showParameter.setCustomParam("billno",billno); |             showParameter.setCustomParam("billno",billno); | ||||||
|             showParameter.setCustomParam("billname",zh_cn); |             showParameter.setCustomParam("billname",zh_cn); | ||||||
|             showParameter.setCustomParam("productentry_producttype",productentry_producttype.getPkValue().toString()); |             showParameter.setCustomParam("productentry_producttype",productentry_producttype.getPkValue().toString()); | ||||||
|             showParameter.setCustomParam("versionnum",this.getModel().getValue("versionnum")); |             showParameter.setCustomParam("operateKey",operateKey); | ||||||
|  | 
 | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -2,6 +2,7 @@ package shkd.repc.repmd.formplugin; | ||||||
| 
 | 
 | ||||||
| import kd.bos.dataentity.entity.DynamicObject; | import kd.bos.dataentity.entity.DynamicObject; | ||||||
| import kd.bos.dataentity.entity.DynamicObjectCollection; | import kd.bos.dataentity.entity.DynamicObjectCollection; | ||||||
|  | import kd.bos.entity.datamodel.events.BizDataEventArgs; | ||||||
| import kd.bos.entity.operate.Save; | import kd.bos.entity.operate.Save; | ||||||
| import kd.bos.form.events.AfterDoOperationEventArgs; | import kd.bos.form.events.AfterDoOperationEventArgs; | ||||||
| import kd.bos.form.events.BeforeDoOperationEventArgs; | import kd.bos.form.events.BeforeDoOperationEventArgs; | ||||||
|  | @ -14,28 +15,38 @@ import kd.bos.servicehelper.QueryServiceHelper; | ||||||
| import java.util.EventObject; | import java.util.EventObject; | ||||||
| 
 | 
 | ||||||
| public class WorkQuantityPlugin extends AbstractFormPlugin { | public class WorkQuantityPlugin extends AbstractFormPlugin { | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public void createNewData(BizDataEventArgs e) { | ||||||
|  |         super.createNewData(e); | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void afterBindData(EventObject e) { |     public void afterBindData(EventObject e) { | ||||||
|         super.afterBindData(e); |         super.afterBindData(e); | ||||||
|         String billno = this.getView().getFormShowParameter().getCustomParam("billno"); |         String operateKey = this.getView().getFormShowParameter().getCustomParam("operateKey"); | ||||||
|         String billname = this.getView().getFormShowParameter().getCustomParam("billname"); |         if ("工程量".equals(operateKey)){ | ||||||
|         String versionnum = this.getView().getFormShowParameter().getCustomParam("versionnum"); |             String billno = this.getView().getFormShowParameter().getCustomParam("billno"); | ||||||
|         String productentry_producttype = this.getView().getFormShowParameter().getCustomParam("productentry_producttype"); |             String billname = this.getView().getFormShowParameter().getCustomParam("billname"); | ||||||
|         this.getModel().setValue("qeug_xmnumber",billno); |             String productentry_producttype = this.getView().getFormShowParameter().getCustomParam("productentry_producttype"); | ||||||
|         this.getModel().setValue("name",billname); |             this.getModel().setValue("qeug_xmnumber",billno); | ||||||
|         this.getModel().setValue("qeug_cpmc",productentry_producttype); |             this.getModel().setValue("name",billname); | ||||||
|         this.getModel().setValue("qeug_bbh",versionnum); |             this.getModel().setValue("qeug_cpmc",productentry_producttype); | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void beforeDoOperation(BeforeDoOperationEventArgs args) { |     public void beforeDoOperation(BeforeDoOperationEventArgs args) { | ||||||
|         if (args.getSource() instanceof Save){ |         if (args.getSource() instanceof Save){ | ||||||
|             String qeug_xmnumber = (String) this.getModel().getValue("qeug_xmnumber"); |             String qeug_xmnumber = (String) this.getModel().getValue("qeug_xmnumber"); | ||||||
|             String qeug_bbh = (String) this.getModel().getValue("qeug_bbh"); |             DynamicObject qeug_cpmc = (DynamicObject) this.getModel().getValue("qeug_cpmc"); | ||||||
|             QFilter filter = new QFilter("qeug_xmnumber", QCP.equals, qeug_xmnumber).and(new QFilter("qeug_bbh", QCP.equals, qeug_bbh)); |             Object pkValue = qeug_cpmc.getPkValue(); | ||||||
|  |             QFilter filter = new QFilter("qeug_xmnumber", QCP.equals, qeug_xmnumber) | ||||||
|  |                     .and(new QFilter("qeug_cpmc.id", QCP.equals, pkValue)); | ||||||
|             DynamicObjectCollection query = QueryServiceHelper.query("qeug_gcl", "id", filter.toArray()); |             DynamicObjectCollection query = QueryServiceHelper.query("qeug_gcl", "id", filter.toArray()); | ||||||
|             if (query.size()!=0){ |             if (query.size()!=0){ | ||||||
|                 this.getView().showSuccessNotification("已存在当前版本号的项目数据,不允许保存"); |                 this.getView().showSuccessNotification("已存在此项目,不允许保存"); | ||||||
|                 args.setCancel(true); |                 args.setCancel(true); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue