Compare commits
	
		
			2 Commits
		
	
	
		
			188a1e091b
			...
			0fbeb48387
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						0fbeb48387 | |
| 
							
							
								
									
								
								 | 
						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