无合同付款
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.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.LocaleString;
|
||||
import kd.bos.dataentity.metadata.IDataEntityProperty;
|
||||
import kd.bos.dataentity.resource.ResManager;
|
||||
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.control.AttachmentPanel;
|
||||
import kd.bos.form.events.AfterDoOperationEventArgs;
|
||||
import kd.bos.form.events.PreOpenFormEventArgs;
|
||||
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.list.ListShowParameter;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
import kd.bos.servicehelper.QueryServiceHelper;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
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;
|
||||
|
||||
|
@ -50,6 +62,21 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn {
|
|||
if(isec){
|
||||
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
|
||||
|
@ -77,4 +104,80 @@ public class PublicreimbursebillNoContractPlugin extends AbstractBillPlugIn {
|
|||
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_nocontract");//合同付款类型 无合同付款 NOCONTRACT , 合同付款 CONTRACT
|
||||
e.getFieldKeys().add("contractentry");//关联合同
|
||||
e.getFieldKeys().add("zcgj_bizype");//业务类型
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -53,6 +54,21 @@ public class PublicBillContractCkOp extends AbstractOperationServicePlugIn {
|
|||
if(OrgCheckUtils.isKS(costcompanyId)){
|
||||
boolean isec = dataEntity.getBoolean("zcgj_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");
|
||||
if("CONTRACT".equals(nocontract)){ //如果是合同付款
|
||||
DynamicObjectCollection contractentry = dataEntity.getDynamicObjectCollection("contractentry");
|
||||
|
@ -62,7 +78,6 @@ public class PublicBillContractCkOp extends AbstractOperationServicePlugIn {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue