初始化资金计划申请界面数据

This commit is contained in:
zhangzhiguo 2025-08-07 16:37:03 +08:00
parent 9a2527d6f8
commit b8b7a9e05e
1 changed files with 77 additions and 4 deletions

View File

@ -6,6 +6,7 @@ import kd.bos.bill.OperationStatus;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.dataentity.entity.MulBasedataDynamicObjectCollection;
import kd.bos.entity.datamodel.events.BizDataEventArgs;
import kd.bos.entity.datamodel.events.ChangeData;
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
@ -48,12 +49,70 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
if(orgByCurperiod!=null && orgByCurperiod.length>0){
this.getModel().setValue("zcgj_period",orgByCurperiod[0].getDynamicObject("curperiod"));
}
//初始化值
initData(org);
}
}
}
/**
* 自动带入 今年最新的 年初应收余额年初应付余额
*/
public void initData(DynamicObject org){
int year = LocalDate.now().getYear();
List<QFilter> searchFilterList = new ArrayList<>();
//查询申请人下的今年的探亲差旅单据
searchFilterList.add(new QFilter("zcgj_org", QCP.equals, org.getLong("id")));
searchFilterList.add( new QFilter("zcgj_period.number", QCP.like, year+"%"));
DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_ec_fundingplanapply",
"zcgj_period," +
"zcgj_infundproject_entry.zcgj_in_fundproject,zcgj_infundproject_entry.zcgj_in_custom,zcgj_infundproject_entry.zcgj_iinitialreceivable " +
",zcgj_outfundproject_entry.zcgj_out_fundproject,zcgj_outfundproject_entry.zcgj_out_supplier,zcgj_outfundproject_entry.zcgj_openingpayable" +
",createtime",
searchFilterList.toArray(new QFilter[]{}), "createtime desc");
if(load!=null && load.length>0){
DynamicObject data = load[0];
DynamicObjectCollection indataentry = data.getDynamicObjectCollection("zcgj_infundproject_entry");
DynamicObjectCollection inentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry");
inentry.clear();
for (DynamicObject dynamicObject : indataentry) {
DynamicObject newData = inentry.addNew();
newData.set("zcgj_in_fundproject",dynamicObject.get("zcgj_in_fundproject"));
DynamicObjectCollection collection = new DynamicObjectCollection();
for (DynamicObject zcgjInCustom :dynamicObject.getDynamicObjectCollection("zcgj_in_custom")) {
DynamicObject basedataObj = zcgjInCustom.getDynamicObject("fbasedataid");
DynamicObject newObj = new DynamicObject(newData.getDynamicObjectCollection("zcgj_in_custom").getDynamicObjectType());
newObj.set("fbasedataid", basedataObj);
newObj.set("fbasedataid_id", basedataObj.getPkValue());
collection.add(newObj);
}
newData.set("zcgj_in_custom",collection);
newData.set("zcgj_iinitialreceivable",dynamicObject.get("zcgj_iinitialreceivable"));
}
this.getView().updateView("zcgj_infundproject_entry");
DynamicObjectCollection outdataentry = data.getDynamicObjectCollection("zcgj_outfundproject_entry");
DynamicObjectCollection outentry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_outfundproject_entry");
outentry.clear();
for (DynamicObject dynamicObject : outdataentry) {
DynamicObject newData = outentry.addNew();
newData.set("zcgj_out_fundproject",dynamicObject.get("zcgj_out_fundproject"));
DynamicObjectCollection collection = new DynamicObjectCollection();
for (DynamicObject zcgjInCustom : (MulBasedataDynamicObjectCollection) dynamicObject.get("zcgj_out_supplier")) {
DynamicObject basedataObj = zcgjInCustom.getDynamicObject("fbasedataid");
DynamicObject newObj = new DynamicObject(newData.getDynamicObjectCollection("zcgj_out_supplier").getDynamicObjectType());
newObj.set("fbasedataid", basedataObj);
newObj.set("fbasedataid_id", basedataObj.getPkValue());
collection.add(newObj);
}
newData.set("zcgj_out_supplier",collection);
newData.set("zcgj_openingpayable",dynamicObject.get("zcgj_openingpayable"));
}
this.getView().updateView("zcgj_outfundproject_entry");
}
}
@Override
@ -81,6 +140,20 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin
this.getView().updateView("zcgj_setttype",rowIndex);
}
}
}else if(name.equals("zcgj_org")){
DynamicObject org = (DynamicObject) changeData.getNewValue();
initData(org);
}
}
// 获取某年份的第一天
public static LocalDate getFirstDayOfYear(int year) {
return LocalDate.of(year, 1, 1);
}
// 获取某年份的最后一天
public static LocalDate getLastDayOfYear(int year) {
return LocalDate.of(year, 12, 31);
}
}