无合同付款
This commit is contained in:
parent
e70d67383b
commit
07f9df507b
|
@ -5,25 +5,37 @@ import kd.bos.bill.BillShowParameter;
|
||||||
import kd.bos.bill.OperationStatus;
|
import kd.bos.bill.OperationStatus;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.dataentity.entity.LocaleString;
|
import kd.bos.dataentity.entity.LocaleString;
|
||||||
|
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||||
import kd.bos.dataentity.resource.ResManager;
|
import kd.bos.dataentity.resource.ResManager;
|
||||||
import kd.bos.entity.datamodel.IDataModel;
|
import kd.bos.entity.datamodel.IDataModel;
|
||||||
|
import kd.bos.entity.datamodel.events.ChangeData;
|
||||||
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||||
import kd.bos.form.FormShowParameter;
|
import kd.bos.form.FormShowParameter;
|
||||||
|
import kd.bos.form.control.AttachmentPanel;
|
||||||
import kd.bos.form.events.AfterDoOperationEventArgs;
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
||||||
import kd.bos.form.events.PreOpenFormEventArgs;
|
import kd.bos.form.events.PreOpenFormEventArgs;
|
||||||
import kd.bos.form.events.SetFilterEvent;
|
import kd.bos.form.events.SetFilterEvent;
|
||||||
|
import kd.bos.form.field.BasedataEdit;
|
||||||
|
import kd.bos.form.field.RefBillEdit;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectEvent;
|
||||||
|
import kd.bos.form.field.events.BeforeF7SelectListener;
|
||||||
import kd.bos.form.operate.FormOperate;
|
import kd.bos.form.operate.FormOperate;
|
||||||
import kd.bos.list.ListShowParameter;
|
import kd.bos.list.ListShowParameter;
|
||||||
import kd.bos.list.plugin.AbstractListPlugin;
|
import kd.bos.list.plugin.AbstractListPlugin;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.QueryServiceHelper;
|
import kd.bos.servicehelper.QueryServiceHelper;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.EventObject;
|
import java.util.EventObject;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对公报销单无合同列表插件
|
* 对公报销单无合同列表插件
|
||||||
*/
|
*/
|
||||||
public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn {
|
public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn implements BeforeF7SelectListener {
|
||||||
|
|
||||||
private static boolean editTitle = false;
|
private static boolean editTitle = false;
|
||||||
|
|
||||||
|
@ -50,6 +62,21 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn {
|
||||||
if(isec){
|
if(isec){
|
||||||
this.getView().setFormTitle(new LocaleString("无合同付款申请单"));
|
this.getView().setFormTitle(new LocaleString("无合同付款申请单"));
|
||||||
}
|
}
|
||||||
|
BillShowParameter bsp=(BillShowParameter)this.getView().getFormShowParameter();
|
||||||
|
if(bsp.getStatus()!=OperationStatus.ADDNEW){
|
||||||
|
if(isec){
|
||||||
|
DynamicObject costcompany = (DynamicObject) this.getModel().getValue("costcompany");
|
||||||
|
if(costcompany!=null){
|
||||||
|
long id = costcompany.getLong("id");
|
||||||
|
QFilter numberFilter = new QFilter("fiaccountorg", QCP.equals,id);
|
||||||
|
DynamicObject[] project = BusinessDataServiceHelper.load("ec_project", "number,name", new QFilter[]{numberFilter});
|
||||||
|
if(project != null && project.length==1){
|
||||||
|
long projectId = project[0].getLong("id");
|
||||||
|
this.getModel().setValue("zcgj_ec_project", project[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -77,4 +104,80 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn {
|
||||||
billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0]));
|
billShowParameter.setCaption(ResManager.loadKDString("无合同付款申请单", "PublicReimAssetBillEdit_1", "fi-er-formplugin", new Object[0]));
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
|
super.propertyChanged(e);
|
||||||
|
String name = e.getProperty().getName();
|
||||||
|
boolean isec=(boolean)this.getModel().getValue("zcgj_isec");
|
||||||
|
if(isec){
|
||||||
|
if(name.equals("costcompany")){
|
||||||
|
ChangeData changeData = e.getChangeSet()[0];
|
||||||
|
DynamicObject costcompany = (DynamicObject)changeData.getNewValue();
|
||||||
|
if(costcompany!=null){
|
||||||
|
long id = costcompany.getLong("id");
|
||||||
|
QFilter numberFilter = new QFilter("fiaccountorg", QCP.equals,id);
|
||||||
|
DynamicObject[] project = BusinessDataServiceHelper.load("ec_project", "number,name", new QFilter[]{numberFilter});
|
||||||
|
if(project != null && project.length==1){
|
||||||
|
long projectId = project[0].getLong("id");
|
||||||
|
this.getModel().setValue("zcgj_ec_project", project[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerListener(EventObject e) {
|
||||||
|
super.registerListener(e);
|
||||||
|
boolean isec=(boolean)this.getModel().getValue("zcgj_isec");
|
||||||
|
if(isec){
|
||||||
|
RefBillEdit zcgj_materialinbill = this.getView().getControl("zcgj_materialinbill");//入库单
|
||||||
|
zcgj_materialinbill.addBeforeF7SelectListener(this);
|
||||||
|
|
||||||
|
RefBillEdit zcgj_maintenanceack = this.getView().getControl("zcgj_maintenanceack");//设备维修确认单
|
||||||
|
zcgj_maintenanceack.addBeforeF7SelectListener(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void beforeF7Select(BeforeF7SelectEvent beforeF7SelectEvent) {
|
||||||
|
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");
|
||||||
|
if(billpayerid!=null && costcompany!=null){
|
||||||
|
Long payerid = billpayerid.getLong("id");
|
||||||
|
Long companyId = costcompany.getLong("id");
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
qFilter.add(new QFilter("supplier", QCP.equals, payerid));
|
||||||
|
qFilter.add(new QFilter("fiaccountorg", QCP.equals, companyId));
|
||||||
|
qFilter.add(new QFilter("billstatus", QCP.equals, "C"));
|
||||||
|
formShowParameter.getListFilterParameter().setQFilters(qFilter);
|
||||||
|
}else{
|
||||||
|
this.getView().showTipNotification("费用承担公司或往来单位不能为空");
|
||||||
|
beforeF7SelectEvent.setCancel(true);
|
||||||
|
}
|
||||||
|
}else if("zcgj_maintenanceack".equals(propertyName)){
|
||||||
|
DynamicObject billpayerid = (DynamicObject)this.getModel().getValue("billpayerid");
|
||||||
|
DynamicObject costcompany = (DynamicObject)this.getModel().getValue("costcompany");
|
||||||
|
if(billpayerid!=null && costcompany!=null){
|
||||||
|
Long payerid = billpayerid.getLong("id");
|
||||||
|
Long companyId = costcompany.getLong("id");
|
||||||
|
List<QFilter> qFilter = new ArrayList<>();
|
||||||
|
qFilter.add(new QFilter("entryentity.zcgj_supplier", QCP.equals, payerid));
|
||||||
|
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);
|
||||||
|
}else{
|
||||||
|
this.getView().showTipNotification("费用承担公司或往来单位不能为空");
|
||||||
|
beforeF7SelectEvent.setCancel(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@ public class PublicBillContractCkOp extends AbstractOperationServicePlugIn {
|
||||||
e.getFieldKeys().add("zcgj_invoiceremark");//特殊说明
|
e.getFieldKeys().add("zcgj_invoiceremark");//特殊说明
|
||||||
e.getFieldKeys().add("zcgj_nocontract");//合同付款类型 无合同付款 NOCONTRACT , 合同付款 CONTRACT
|
e.getFieldKeys().add("zcgj_nocontract");//合同付款类型 无合同付款 NOCONTRACT , 合同付款 CONTRACT
|
||||||
e.getFieldKeys().add("contractentry");//关联合同
|
e.getFieldKeys().add("contractentry");//关联合同
|
||||||
|
e.getFieldKeys().add("zcgj_bizype");//业务类型
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -53,6 +54,21 @@ public class PublicBillContractCkOp extends AbstractOperationServicePlugIn {
|
||||||
if(OrgCheckUtils.isKS(costcompanyId)){
|
if(OrgCheckUtils.isKS(costcompanyId)){
|
||||||
boolean isec = dataEntity.getBoolean("zcgj_isec");
|
boolean isec = dataEntity.getBoolean("zcgj_isec");
|
||||||
if(isec){
|
if(isec){
|
||||||
|
String bisType = dataEntity.getString("zcgj_bizype");
|
||||||
|
//物资采购 WZCG
|
||||||
|
if("WZCG".equals(bisType)){
|
||||||
|
DynamicObjectCollection entry = dataEntity.getDynamicObjectCollection("zcgj_materialinbillentry"); //入库单
|
||||||
|
if((entry == null || entry.isEmpty())){
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("业务类型为物资采购时,入库单分录不能为空!"));
|
||||||
|
}
|
||||||
|
}else if("SBWX".equals(bisType)){//设备维修 SBWX
|
||||||
|
DynamicObjectCollection entry = dataEntity.getDynamicObjectCollection("zcgj_maintenanceackentry"); //入库单
|
||||||
|
if((entry == null || entry.isEmpty())){
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, String.format("业务类型为设备维修时,维修确认单分录不能为空!"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//其他工程款 QTGCK 不交易
|
||||||
|
}else{
|
||||||
String nocontract = dataEntity.getString("zcgj_nocontract");
|
String nocontract = dataEntity.getString("zcgj_nocontract");
|
||||||
if("CONTRACT".equals(nocontract)){ //如果是合同付款
|
if("CONTRACT".equals(nocontract)){ //如果是合同付款
|
||||||
DynamicObjectCollection contractentry = dataEntity.getDynamicObjectCollection("contractentry");
|
DynamicObjectCollection contractentry = dataEntity.getDynamicObjectCollection("contractentry");
|
||||||
|
@ -62,7 +78,6 @@ public class PublicBillContractCkOp extends AbstractOperationServicePlugIn {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue