提交人:刘森澳

日期:2025/7/08 16:38
内容:债券占用额度上拉中介机构招标遴选改为多选;同时修改被影响的所有下游逻辑
This commit is contained in:
16358 2025-07-08 16:39:15 +08:00
parent cd43de0e67
commit e6b0f1bae8
3 changed files with 47 additions and 37 deletions

View File

@ -30,13 +30,6 @@ public class BdimbondBOTPPlugin extends AbstractConvertPlugIn {
for (int i = 0; i < extendedDataEntities.length; i++) {
ExtendedDataEntity extendedDataEntity = extendedDataEntities[i];
DynamicObject targetDyobj = extendedDataEntity.getDataEntity();//目标单数据
List<DynamicObject> srcRows = (List<DynamicObject>) extendedDataEntity.getValue(ConvertConst.ConvExtDataKey_SourceRows);//获取源单数据
DynamicObject srcRow = srcRows.get(0);
Object srcId = e.getFldProperties().get("id").getValue(srcRow);//获取源单id
DynamicObject sourceDyobj = BusinessDataServiceHelper.loadSingle(srcId, srcMainTypeName);//查询源单数据
//源单分录
DynamicObjectCollection winningbidderentry = sourceDyobj.getDynamicObjectCollection("winningbidderentry");
//承销商
DynamicObjectCollection shkd_underwriterentry = targetDyobj.getDynamicObjectCollection("shkd_underwriterentry");
shkd_underwriterentry.clear();
@ -53,14 +46,22 @@ public class BdimbondBOTPPlugin extends AbstractConvertPlugIn {
DynamicObjectCollection shkd_otherentry = targetDyobj.getDynamicObjectCollection("shkd_otherentry");
shkd_otherentry.clear();
for (DynamicObject temp : winningbidderentry) {
switch (temp.getString("e_midorgtypewin")){
case "underwriter":initEntrys(shkd_underwriterentry,temp,"0");break;
case "ratingagency":initEntrys(shkd_ratingagencyentry,temp,"2");break;
case "auditinstitution":initEntrys(shkd_auditinstitutentry,temp,"3");break;
case "lawoffice":initEntrys(shkd_lawofficeentry,temp,"4");break;
case "other":initEntrys(shkd_otherentry,temp,"5");break;
default:break;
List<DynamicObject> srcRows = (List<DynamicObject>) extendedDataEntity.getValue(ConvertConst.ConvExtDataKey_SourceRows);//获取源单数据
for (DynamicObject srcRow : srcRows) {
Object srcId = e.getFldProperties().get("id").getValue(srcRow);//获取源单id
DynamicObject sourceDyobj = BusinessDataServiceHelper.loadSingle(srcId, srcMainTypeName);//查询源单数据
//源单分录
DynamicObjectCollection winningbidderentry = sourceDyobj.getDynamicObjectCollection("winningbidderentry");
for (DynamicObject temp : winningbidderentry) {
switch (temp.getString("e_midorgtypewin")){
case "underwriter":initEntrys(shkd_underwriterentry,temp,"0");break;
case "ratingagency":initEntrys(shkd_ratingagencyentry,temp,"2");break;
case "auditinstitution":initEntrys(shkd_auditinstitutentry,temp,"3");break;
case "lawoffice":initEntrys(shkd_lawofficeentry,temp,"4");break;
case "other":initEntrys(shkd_otherentry,temp,"5");break;
default:break;
}
}
}
}

View File

@ -83,7 +83,7 @@ public class BondSeletRatingPlugin extends AbstractBasePlugIn {
}
public void closedCallBack(ClosedCallBackEvent event) {
super.closedCallBack(event);
super. closedCallBack(event);
switch (event.getActionId()) {
case "shkd_ratingscale":
this.setRatingScale(event, "ratingscale");

View File

@ -3,12 +3,8 @@ package shkd.sys.sys.plugin.tmc;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.entity.OrmLocaleValue;
import kd.bos.dataentity.metadata.IDataEntityProperty;
import kd.bos.dataentity.resource.ResManager;
import kd.bos.entity.MainEntityType;
import kd.bos.form.IFormView;
import kd.bos.form.control.Control;
import kd.bos.form.field.BasedataEdit;
import kd.bos.form.field.events.BeforeF7SelectEvent;
import kd.bos.form.field.events.BeforeF7SelectListener;
@ -17,7 +13,6 @@ import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.fi.bcm.common.util.CollectionUtil;
import kd.fi.cal.business.datacheck.ExceptionObj;
import kd.sdk.plugin.Plugin;
import java.util.*;
@ -153,17 +148,24 @@ public class LoancontractF7Plugin extends AbstractBillPlugIn implements Plugin,
return;
}
Long occupybondlimitId = (Long) shkd_bondlimit.getPkValue();
//找到注册额度中的招标遴选ID
//找到注册额度中的招标遴选
DynamicObject intermediaryselectID = BusinessDataServiceHelper.loadSingle(occupybondlimitId,"bdim_bond_limit", "shkd_intermediaryselect");
QFilter qFilter = new QFilter("billno", QCP.equals, intermediaryselectID.getString("shkd_intermediaryselect"));
DynamicObject intermediaryselect = BusinessDataServiceHelper.loadSingle("bdim_intermediaryselect",qFilter.toArray());
String shkdIntermediaryselect = intermediaryselectID.getString("shkd_intermediaryselect");
ArrayList<DynamicObject> intermediaryselects = new ArrayList<>();
for (String billno : shkdIntermediaryselect.split(",")) {
QFilter qFilter = new QFilter("billno", QCP.equals, billno);
DynamicObject intermediaryselect = BusinessDataServiceHelper.loadSingle("bdim_intermediaryselect",qFilter.toArray());
intermediaryselects.add(intermediaryselect);
}
//招标遴选 中标单位分录
DynamicObjectCollection winningbidderentry = intermediaryselect.getDynamicObjectCollection("winningbidderentry");
ArrayList<String> dataFilterArr = new ArrayList<>();
winningbidderentry.forEach((temp)->{
if("主体评级".equals( temp.getString("shkd_pglx1") ))
dataFilterArr.add(temp.getString("e_midorgname.number"));
});
for (DynamicObject intermediaryselect : intermediaryselects) {
DynamicObjectCollection winningbidderentry = intermediaryselect.getDynamicObjectCollection("winningbidderentry");
winningbidderentry.forEach((temp)->{
if("主体评级".equals( temp.getString("shkd_pglx1") ))
dataFilterArr.add(temp.getString("e_midorgname.number"));
});
}
//将set转换成数组
QFilter accountQFilter = new QFilter("number", QCP.in, dataFilterArr);
dataFilter.add(accountQFilter);
@ -182,17 +184,24 @@ public class LoancontractF7Plugin extends AbstractBillPlugIn implements Plugin,
return;
}
Long occupybondlimitId = (Long) shkd_bondlimit.getPkValue();
//找到注册额度中的招标遴选ID
//找到注册额度中的招标遴选
DynamicObject intermediaryselectID = BusinessDataServiceHelper.loadSingle(occupybondlimitId,"bdim_bond_limit", "shkd_intermediaryselect");
QFilter qFilter = new QFilter("billno", QCP.equals, intermediaryselectID.getString("shkd_intermediaryselect"));
DynamicObject intermediaryselect = BusinessDataServiceHelper.loadSingle("bdim_intermediaryselect",qFilter.toArray());
String shkdIntermediaryselect = intermediaryselectID.getString("shkd_intermediaryselect");
ArrayList<DynamicObject> intermediaryselects = new ArrayList<>();
for (String billno : shkdIntermediaryselect.split(",")) {
QFilter qFilter = new QFilter("billno", QCP.equals, billno);
DynamicObject intermediaryselect = BusinessDataServiceHelper.loadSingle("bdim_intermediaryselect",qFilter.toArray());
intermediaryselects.add(intermediaryselect);
}
//招标遴选 中标单位分录
DynamicObjectCollection winningbidderentry = intermediaryselect.getDynamicObjectCollection("winningbidderentry");
ArrayList<String> dataFilterArr = new ArrayList<>();
winningbidderentry.forEach((temp)->{
if("债项评级".equals( temp.getString("shkd_pglx1") ))
dataFilterArr.add(temp.getString("e_midorgname.number"));
});
for (DynamicObject intermediaryselect : intermediaryselects) {
DynamicObjectCollection winningbidderentry = intermediaryselect.getDynamicObjectCollection("winningbidderentry");
winningbidderentry.forEach((temp)->{
if("债项评级".equals( temp.getString("shkd_pglx1") ))
dataFilterArr.add(temp.getString("e_midorgname.number"));
});
}
//将set转换成数组
QFilter accountQFilter = new QFilter("number", QCP.in, dataFilterArr);
dataFilter.add(accountQFilter);