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

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