Merge remote-tracking branch 'origin/main' into main
This commit is contained in:
		
						commit
						98a8462017
					
				| 
						 | 
				
			
			@ -0,0 +1,98 @@
 | 
			
		|||
package shkd.sys.sys.plugin.tmc;
 | 
			
		||||
 | 
			
		||||
import kd.bos.dataentity.entity.DynamicObject;
 | 
			
		||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
 | 
			
		||||
import kd.bos.dataentity.metadata.IDataEntityProperty;
 | 
			
		||||
import kd.bos.entity.datamodel.IDataModel;
 | 
			
		||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 | 
			
		||||
import kd.bos.form.plugin.AbstractFormPlugin;
 | 
			
		||||
import kd.bos.orm.query.QFilter;
 | 
			
		||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
			
		||||
import kd.bos.servicehelper.org.OrgUnitServiceHelper;
 | 
			
		||||
import kd.bos.servicehelper.org.OrgViewType;
 | 
			
		||||
import kd.sdk.plugin.Plugin;
 | 
			
		||||
 | 
			
		||||
import java.util.Collections;
 | 
			
		||||
import java.util.EventObject;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *债券发行单据 自动组装债券发行 银行借款合同分录数据
 | 
			
		||||
 * 动态表单插件
 | 
			
		||||
 */
 | 
			
		||||
public class BdimbondBuildEntryPlugin extends AbstractFormPlugin implements Plugin {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void afterBindData(EventObject e) {
 | 
			
		||||
        this.getView().setVisible(false, "shkd_bondissue","shkd_bankcontract");
 | 
			
		||||
        DynamicObject org = (DynamicObject)this.getModel().getValue("org");
 | 
			
		||||
        if (org != null) {
 | 
			
		||||
            buildEntrys(org);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void propertyChanged(PropertyChangedArgs e) {
 | 
			
		||||
        super.propertyChanged(e);
 | 
			
		||||
        IDataEntityProperty property = e.getProperty();
 | 
			
		||||
        String name = property.getName();
 | 
			
		||||
        if("shkd_loanuse".equals(name)) {
 | 
			
		||||
            //设置分录可见性false
 | 
			
		||||
            this.getView().setVisible(false, "shkd_bondissue","shkd_bankcontract");
 | 
			
		||||
            DynamicObjectCollection  loanuse = (DynamicObjectCollection )this.getModel().getValue("shkd_loanuse");
 | 
			
		||||
            if (loanuse == null) return;
 | 
			
		||||
            for (DynamicObject dObj : loanuse) {
 | 
			
		||||
                DynamicObject shkdLoanuse = (DynamicObject)dObj.getDynamicObject("fbasedataid");
 | 
			
		||||
 | 
			
		||||
                if("0001".equals(shkdLoanuse.get("number"))) {
 | 
			
		||||
                    this.getView().setVisible(true, "shkd_bondissue");
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if("0002".equals(shkdLoanuse.get("number"))) {
 | 
			
		||||
                    this.getView().setVisible(true, "shkd_bankcontract");
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    //组装组装债券发行 银行借款合同分录数据
 | 
			
		||||
    public void buildEntrys(DynamicObject org){
 | 
			
		||||
        Long orgId = (Long)org.getPkValue();
 | 
			
		||||
        IDataModel model = this.getModel();
 | 
			
		||||
        //债券发行分录
 | 
			
		||||
        DynamicObjectCollection shkdBondissueEntry = (DynamicObjectCollection)this.getModel().getValue("shkd_bondissue_entry");
 | 
			
		||||
        //银行贷款合同分录
 | 
			
		||||
        DynamicObjectCollection shkdBankcontractEntry = (DynamicObjectCollection)this.getModel().getValue("shkd_bankcontract_entry");
 | 
			
		||||
 | 
			
		||||
        shkdBondissueEntry.clear();
 | 
			
		||||
        shkdBankcontractEntry.clear();
 | 
			
		||||
 | 
			
		||||
        //查询范围内的债券发行
 | 
			
		||||
        QFilter orgidfilter = new QFilter("org","=",orgId);
 | 
			
		||||
        DynamicObject[] loanbillBonList = BusinessDataServiceHelper.load("cfm_loanbill_bond","id,org.id,amount,drawamount,bizdate,expiredate", orgidfilter.toArray());
 | 
			
		||||
        for (DynamicObject demo : loanbillBonList) {
 | 
			
		||||
            int index = model.createNewEntryRow("shkd_bankcontract_entry");
 | 
			
		||||
            model.setValue("shkd_entrybillno",demo.getPkValue(), index);
 | 
			
		||||
            model.setValue("shkd_entryorg",demo.get("org.id"), index);
 | 
			
		||||
            model.setValue("shkd_entrytotalmount",demo.get("amount"), index);
 | 
			
		||||
            model.setValue("shkd_entryamount",demo.get("drawamount"), index);
 | 
			
		||||
            model.setValue("shkd_entrystartdate",demo.get("bizdate"), index);
 | 
			
		||||
            model.setValue("shkd_entryexpiredate",demo.get("expiredate"), index);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //查询范围内的银行贷款合同
 | 
			
		||||
        List<Long> allSubordinateOrgs = OrgUnitServiceHelper.getAllSubordinateOrgs(OrgViewType.BDControl, Collections.singletonList(orgId), true);
 | 
			
		||||
        QFilter orgidfilter2 = new QFilter("org","in",allSubordinateOrgs);
 | 
			
		||||
        DynamicObject[] loanconTractbillList = BusinessDataServiceHelper.load("cfm_loancontractbill","id,org.id,amount,startdate,enddate", orgidfilter2.toArray());
 | 
			
		||||
        for (DynamicObject demo : loanconTractbillList) {
 | 
			
		||||
            int index = model.createNewEntryRow("shkd_bankcontract_entry");
 | 
			
		||||
            model.setValue("shkd_entrycontractnum",demo.getPkValue(), index);
 | 
			
		||||
            model.setValue("shkd_enryborrower",demo.get("org.id"), index);
 | 
			
		||||
            model.setValue("shkd_borrowamount",demo.get("amount"), index);
 | 
			
		||||
            model.setValue("shkd_contractstartdate",demo.get("startdate"), index);
 | 
			
		||||
            model.setValue("shkd_contractenddate",demo.get("enddate"), index);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -6,13 +6,9 @@ import kd.bos.dataentity.resource.ResManager;
 | 
			
		|||
import kd.bos.form.CloseCallBack;
 | 
			
		||||
import kd.bos.form.ShowFormHelper;
 | 
			
		||||
import kd.bos.form.control.Control;
 | 
			
		||||
import kd.bos.form.field.BasedataEdit;
 | 
			
		||||
import kd.bos.form.field.TextEdit;
 | 
			
		||||
import kd.bos.form.field.events.BeforeF7SelectEvent;
 | 
			
		||||
import kd.bos.form.field.events.BeforeF7SelectListener;
 | 
			
		||||
import kd.bos.list.ListShowParameter;
 | 
			
		||||
import kd.bos.orm.query.QFilter;
 | 
			
		||||
import kd.sdk.plugin.Plugin;
 | 
			
		||||
import kd.tmc.fbp.common.util.EmptyUtil;
 | 
			
		||||
 | 
			
		||||
import java.util.EventObject;
 | 
			
		||||
| 
						 | 
				
			
			@ -20,44 +16,30 @@ import java.util.EventObject;
 | 
			
		|||
/**
 | 
			
		||||
 * 基础资料插件
 | 
			
		||||
 */
 | 
			
		||||
public class BondSeletRatingPlugin extends AbstractBasePlugIn implements BeforeF7SelectListener {
 | 
			
		||||
 | 
			
		||||
    public void registerListener(EventObject e) {
 | 
			
		||||
public class BondSeletRatingPlugin extends AbstractBasePlugIn {
 | 
			
		||||
    @Override
 | 
			
		||||
    public void registerListener(EventObject e){
 | 
			
		||||
        super.registerListener(e);
 | 
			
		||||
        BasedataEdit control = (BasedataEdit)this.getControl("ratingagency");
 | 
			
		||||
        if (control != null) {
 | 
			
		||||
            control.addBeforeF7SelectListener(this);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        BasedataEdit eUnderWriter = (BasedataEdit)this.getControl("e_underwriter");
 | 
			
		||||
        if (eUnderWriter != null) {
 | 
			
		||||
            eUnderWriter.addBeforeF7SelectListener(this);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void initRatingScale() {
 | 
			
		||||
        TextEdit ratingText = (TextEdit)this.getControl("ratingscale");
 | 
			
		||||
        TextEdit ratingText = (TextEdit)this.getControl("shkd_ratingscale");
 | 
			
		||||
        if (ratingText != null) {
 | 
			
		||||
            ratingText.addButtonClickListener(this);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TextEdit debtRatingText = (TextEdit)this.getControl("debtratingscale");
 | 
			
		||||
        TextEdit debtRatingText = (TextEdit)this.getControl("shkd_debtratingscale");
 | 
			
		||||
        if (debtRatingText != null) {
 | 
			
		||||
            debtRatingText.addButtonClickListener(this);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void click(EventObject evt) {
 | 
			
		||||
        super.click(evt);
 | 
			
		||||
        Control src = (Control)evt.getSource();
 | 
			
		||||
        switch (src.getKey()) {
 | 
			
		||||
            case "ratingscale":
 | 
			
		||||
                this.showRatingSelectForm("ratingscale");
 | 
			
		||||
            case "shkd_ratingscale":
 | 
			
		||||
                this.showRatingSelectForm("shkd_ratingscale");
 | 
			
		||||
                break;
 | 
			
		||||
            case "debtratingscale":
 | 
			
		||||
                this.showRatingSelectForm("debtratingscale");
 | 
			
		||||
            case "shkd_debtratingscale":
 | 
			
		||||
                this.showRatingSelectForm("shkd_debtratingscale");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -72,10 +54,10 @@ public class BondSeletRatingPlugin extends AbstractBasePlugIn implements BeforeF
 | 
			
		|||
            showParameter.setCloseCallBack(new CloseCallBack(this, actionId));
 | 
			
		||||
            QFilter qFilter = new QFilter("ratingagency.id", "=", ratingAgency.getPkValue());
 | 
			
		||||
            QFilter qFilter_entryFilter;
 | 
			
		||||
            if("ratingscale".equals(actionId)){
 | 
			
		||||
                qFilter_entryFilter = new QFilter("ratingagency.entrys.grade", "like", "%主体%");
 | 
			
		||||
            if("shkd_ratingscale".equals(actionId)){
 | 
			
		||||
                qFilter_entryFilter = new QFilter("entrys.grade", "like", "%主体%");
 | 
			
		||||
            }else{
 | 
			
		||||
                qFilter_entryFilter = new QFilter("ratingagency.entrys.grade", "not like", "%主体%");
 | 
			
		||||
                qFilter_entryFilter = new QFilter("entrys.grade", "not like", "%主体%");
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            QFilter qFilter_enable = new QFilter("enable", "=", "1");
 | 
			
		||||
| 
						 | 
				
			
			@ -83,19 +65,4 @@ public class BondSeletRatingPlugin extends AbstractBasePlugIn implements BeforeF
 | 
			
		|||
            this.getView().showForm(showParameter);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
 | 
			
		||||
        switch (((Control)beforeF7SelectEvent.getSource()).getKey()) {
 | 
			
		||||
            case "ratingagency":
 | 
			
		||||
                QFilter qFilter = new QFilter("orgtype", "=", "ratingagency");
 | 
			
		||||
                ListShowParameter showParameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter();
 | 
			
		||||
                showParameter.getListFilterParameter().getQFilters().add(qFilter);
 | 
			
		||||
                break;
 | 
			
		||||
            case "e_underwriter":
 | 
			
		||||
                QFilter orgTypeFilter = new QFilter("orgtype", "=", "underwriter");
 | 
			
		||||
                ListShowParameter parameter = (ListShowParameter)beforeF7SelectEvent.getFormShowParameter();
 | 
			
		||||
                parameter.getListFilterParameter().getQFilters().add(orgTypeFilter);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,28 @@
 | 
			
		|||
package shkd.sys.sys.plugin.tmc;
 | 
			
		||||
 | 
			
		||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 | 
			
		||||
import kd.bos.entity.property.BasedataProp;
 | 
			
		||||
import kd.bos.form.field.BasedataEdit;
 | 
			
		||||
import kd.bos.form.plugin.AbstractFormPlugin;
 | 
			
		||||
import kd.sdk.plugin.Plugin;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 设置 债券发行计划界面 发行人账号非必填
 | 
			
		||||
 * 单据界面插件
 | 
			
		||||
 */
 | 
			
		||||
public class IssuerNotMandatoryPlugin extends AbstractFormPlugin implements Plugin {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void propertyChanged(PropertyChangedArgs e) {
 | 
			
		||||
        String fieldKey = e.getProperty().getName();
 | 
			
		||||
        if ("issyncdraw".equals(fieldKey)){
 | 
			
		||||
            //前端去掉星号,前端不一定会校验
 | 
			
		||||
            BasedataEdit attch= (BasedataEdit)this.getControl("accountbank");
 | 
			
		||||
            attch.setMustInput(false);
 | 
			
		||||
            //后端去掉校验
 | 
			
		||||
            BasedataProp attchproperty = (BasedataProp) attch.getProperty();
 | 
			
		||||
            attchproperty.setMustInput(false);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue