无合同付款申请功能问题处理

This commit is contained in:
zhangzhiguo 2025-08-27 16:06:51 +08:00
parent d27e36ea81
commit d5cdc35a62
1 changed files with 82 additions and 57 deletions

View File

@ -100,13 +100,9 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn impl
this.getModel().setValue("zcgj_ec_project", project[0]); this.getModel().setValue("zcgj_ec_project", project[0]);
} }
} }
List<ComboItem> comboList = new ArrayList<>();
comboList.add(new ComboItem(new LocaleString("供应商"), "bd_supplier"));
//comboList.add(new ComboItem(new LocaleString("个人"), "er_payeer"));
ComboEdit comboEdit = getView().getControl("payertype");
comboEdit.setComboItems(comboList);
} }
} }
} }
@Override @Override
@ -156,27 +152,39 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn impl
}else if(name.equals("zcgj_ecpaytype")){ }else if(name.equals("zcgj_ecpaytype")){
ChangeData changeData = e.getChangeSet()[0]; ChangeData changeData = e.getChangeSet()[0];
String ecpaytype = (String)changeData.getNewValue(); String ecpaytype = (String)changeData.getNewValue();
DynamicObjectCollection accountentry = this.getModel().getDataEntity().getDynamicObjectCollection("accountentry");
accountentry.clear();
DynamicObject dynamicObject = accountentry.addNew();
List<ComboItem> comboList = new ArrayList<>(); List<ComboItem> comboList = new ArrayList<>();
if("DG".equals(ecpaytype)){ if("DG".equals(ecpaytype)){
comboList.add(new ComboItem(new LocaleString("供应商"), "bd_supplier")); comboList.add(new ComboItem(new LocaleString("供应商"), "bd_supplier"));
dynamicObject.set("payertype","bd_supplier");
}else if("DS".equals(ecpaytype)){ }else if("DS".equals(ecpaytype)){
comboList.add(new ComboItem(new LocaleString("个人"), "er_payeer")); comboList.add(new ComboItem(new LocaleString("个人"), "er_payeer"));
dynamicObject.set("payertype","er_payeer");
} }
ComboEdit comboEdit = getView().getControl("payertype"); ComboEdit comboEdit = getView().getControl("payertype");
comboEdit.setComboItems(comboList); comboEdit.setComboItems(comboList);
DynamicObjectCollection accountentry = this.getModel().getDataEntity().getDynamicObjectCollection("accountentry");
if(accountentry!=null){
String type= "";
if("DG".equals(ecpaytype)){
type = "bd_supplier";
}else if("DS".equals(ecpaytype)){
type = "er_payeer";
}
for (DynamicObject dynamicObject : accountentry) {
dynamicObject.set("payertype",type);
}
}
this.getView().updateView("accountentry"); this.getView().updateView("accountentry");
} }
} }
} }
protected DynamicObject getCurrency() {
QFilter numberFilter = new QFilter("number", "=", "CNY");
return BusinessDataServiceHelper.loadSingle("bd_currency", "", new QFilter[]{numberFilter});
}
@Override @Override
public void registerListener(EventObject e) { public void registerListener(EventObject e) {
super.registerListener(e); super.registerListener(e);
@ -188,6 +196,9 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn impl
RefBillEdit zcgj_maintenanceack = this.getView().getControl("zcgj_maintenanceack");//设备维修确认单 RefBillEdit zcgj_maintenanceack = this.getView().getControl("zcgj_maintenanceack");//设备维修确认单
zcgj_maintenanceack.addBeforeF7SelectListener(this); zcgj_maintenanceack.addBeforeF7SelectListener(this);
BasedataEdit project = this.getView().getControl("zcgj_ec_project");//设备维修确认单
project.addBeforeF7SelectListener(this);
this.addItemClickListeners("receiveentrytoolbar");//收款信息 增行 this.addItemClickListeners("receiveentrytoolbar");//收款信息 增行
} }
@ -195,63 +206,77 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn impl
@Override @Override
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) { public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); boolean isec=(boolean)this.getModel().getValue("zcgj_isec");
IDataEntityProperty property = beforeF7SelectEvent.getProperty();//过滤字段信息 if(isec){
String propertyName = property.getName();//过滤字段标识 ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter();
IDataEntityProperty property = beforeF7SelectEvent.getProperty();//过滤字段信息
String propertyName = property.getName();//过滤字段标识
if("zcgj_materialinbill".equals(propertyName)){ //费用承担公司过滤 if("zcgj_materialinbill".equals(propertyName)){ //费用承担公司过滤
DynamicObject billpayerid = (DynamicObject)this.getModel().getValue("billpayerid"); DynamicObject billpayerid = (DynamicObject)this.getModel().getValue("billpayerid");
DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
List<QFilter> qFilter = new ArrayList<>(); List<QFilter> qFilter = new ArrayList<>();
if(billpayerid!=null ){ if(billpayerid!=null ){
Long payerid = billpayerid.getLong("id"); Long payerid = billpayerid.getLong("id");
qFilter.add(new QFilter("supplier", QCP.equals, payerid)); qFilter.add(new QFilter("supplier", QCP.equals, payerid));
} }
if(costcompany!=null){ if(costcompany!=null){
Long companyId = costcompany.getLong("id"); Long companyId = costcompany.getLong("id");
qFilter.add(new QFilter("fiaccountorg", QCP.equals, companyId)); qFilter.add(new QFilter("fiaccountorg", QCP.equals, companyId));
} }
qFilter.add(new QFilter("billstatus", QCP.equals, "C")); qFilter.add(new QFilter("billstatus", QCP.equals, "C"));
formShowParameter.getListFilterParameter().setQFilters(qFilter); formShowParameter.getListFilterParameter().setQFilters(qFilter);
}else if("zcgj_maintenanceack".equals(propertyName)){ }else if("zcgj_maintenanceack".equals(propertyName)){
DynamicObject billpayerid = (DynamicObject)this.getModel().getValue("billpayerid"); DynamicObject billpayerid = (DynamicObject)this.getModel().getValue("billpayerid");
DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany"); DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
List<QFilter> qFilter = new ArrayList<>(); List<QFilter> qFilter = new ArrayList<>();
if(billpayerid!=null){ if(billpayerid!=null){
Long payerid = billpayerid.getLong("id"); Long payerid = billpayerid.getLong("id");
qFilter.add(new QFilter("entryentity.zcgj_supplier", QCP.equals, payerid)); qFilter.add(new QFilter("entryentity.zcgj_supplier", QCP.equals, payerid));
} }
if(costcompany!=null){ if(costcompany!=null){
Long companyId = costcompany.getLong("id"); Long companyId = costcompany.getLong("id");
qFilter.add(new QFilter("zcgj_accountorg", QCP.equals, companyId)); qFilter.add(new QFilter("zcgj_accountorg", QCP.equals, companyId));
} }
qFilter.add(new QFilter("zcgj_maintype", QCP.equals, "10")); qFilter.add(new QFilter("zcgj_maintype", QCP.equals, "10"));
qFilter.add(new QFilter("billstatus", QCP.equals, "C")); qFilter.add(new QFilter("billstatus", QCP.equals, "C"));
formShowParameter.getListFilterParameter().setQFilters(qFilter); formShowParameter.getListFilterParameter().setQFilters(qFilter);
}else if("zcgj_ec_project".equals(propertyName)){
DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
List<QFilter> qFilter = new ArrayList<>();
if(costcompany!=null){
Long companyId = costcompany.getLong("id");
qFilter.add(new QFilter("fiaccountorg", QCP.equals, companyId));
}
formShowParameter.getListFilterParameter().setQFilters(qFilter);
}
} }
} }
@Override @Override
public void itemClick(ItemClickEvent evt) { public void itemClick(ItemClickEvent evt) {
super.itemClick(evt); super.itemClick(evt);
//付款计划增行 boolean isec=(boolean)this.getModel().getValue("zcgj_isec");
if (evt.getItemKey().equals("addaccount1")) { if(isec){
String zcgjEcpaytype = (String) this.getModel().getValue("zcgj_ecpaytype"); //付款计划增行
String payertype = ""; if (evt.getItemKey().equals("addaccount1")) {
if("DG".equals(zcgjEcpaytype)){ String zcgjEcpaytype = (String) this.getModel().getValue("zcgj_ecpaytype");
payertype = "bd_supplier"; String payertype = "";
}else if("DS".equals(zcgjEcpaytype)){ if("DG".equals(zcgjEcpaytype)){
payertype = "er_payeer"; payertype = "bd_supplier";
} }else if("DS".equals(zcgjEcpaytype)){
//收款人类型设置默认值 payertype = "er_payeer";
DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("accountentry"); }
if(!dynamicObjectCollection.isEmpty()){ //收款人类型设置默认值
DynamicObject dynamicObject = dynamicObjectCollection.get(dynamicObjectCollection.size() - 1); DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("accountentry");
dynamicObject.set("payertype",payertype); if(!dynamicObjectCollection.isEmpty()){
this.getView().updateView("accountentry"); DynamicObject dynamicObject = dynamicObjectCollection.get(dynamicObjectCollection.size() - 1);
dynamicObject.set("payertype",payertype);
this.getView().updateView("accountentry");
}
} }
} }
} }