parent
10e74d393b
commit
23f573ca41
|
@ -71,25 +71,28 @@ public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implemen
|
||||||
IFormView view = this.getView();
|
IFormView view = this.getView();
|
||||||
String actionId = closedCallBackEvent.getActionId();
|
String actionId = closedCallBackEvent.getActionId();
|
||||||
Object returnData = closedCallBackEvent.getReturnData();
|
Object returnData = closedCallBackEvent.getReturnData();
|
||||||
if ("paybill".equals(actionId)) {
|
if(returnData==null){
|
||||||
DynamicObjectCollection purbillentry_pay = this.getModel().getDataEntity(true).getDynamicObjectCollection("purbillentry_pay");
|
if ("paybill".equals(actionId)) {
|
||||||
int seq=0;
|
DynamicObjectCollection purbillentry_pay = this.getModel().getDataEntity(true).getDynamicObjectCollection("purbillentry_pay");
|
||||||
for (DynamicObject dynamicObject : purbillentry_pay) {
|
int seq=0;
|
||||||
boolean isprepay = dynamicObject.getBoolean("isprepay");
|
for (DynamicObject dynamicObject : purbillentry_pay) {
|
||||||
if (isprepay){
|
boolean isprepay = dynamicObject.getBoolean("isprepay");
|
||||||
seq = dynamicObject.getInt("seq")-1;
|
if (isprepay){
|
||||||
|
seq = dynamicObject.getInt("seq")-1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
ListSelectedRow listSelectedRow = ((ListSelectedRowCollection) returnData).get(0);
|
||||||
ListSelectedRow listSelectedRow = ((ListSelectedRowCollection) returnData).get(0);
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(listSelectedRow.toString(), "cas_paybill");
|
||||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(listSelectedRow.toString(), "cas_paybill");
|
BigDecimal unsettleamount = dynamicObject.getBigDecimal("unsettleamount");
|
||||||
BigDecimal unsettleamount = dynamicObject.getBigDecimal("unsettleamount");
|
|
||||||
|
|
||||||
model.setValue("tqq9_paybillno", dynamicObject.getString("billno"));
|
model.setValue("tqq9_paybillno", dynamicObject.getString("billno"));
|
||||||
model.setValue("paidpreallamount", unsettleamount);
|
// model.setValue("tqq9_paybillid", dynamicObject.getString("id"));
|
||||||
model.setValue("paidallamount", unsettleamount);
|
model.setValue("paidpreallamount", unsettleamount);
|
||||||
model.setValue("joinpayamount", unsettleamount,seq);
|
model.setValue("paidallamount", unsettleamount);
|
||||||
model.setValue("paidamount", unsettleamount,seq);
|
model.setValue("joinpayamount", unsettleamount,seq);
|
||||||
view.setVisible(true,"paidpreallamount,paidallamount,joinpayamount,paidamount");
|
model.setValue("paidamount", unsettleamount,seq);
|
||||||
|
view.setVisible(true,"paidpreallamount,paidallamount,joinpayamount,paidamount");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.getView().updateView();
|
this.getView().updateView();
|
||||||
}
|
}
|
||||||
|
@ -104,8 +107,6 @@ public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implemen
|
||||||
if ("tqq9_paybillno".equals(key)) {
|
if ("tqq9_paybillno".equals(key)) {
|
||||||
EntryGrid entryGrid = this.getControl("purbillentry_pay");
|
EntryGrid entryGrid = this.getControl("purbillentry_pay");
|
||||||
int length = entryGrid.getSelectRows()[0];//获取点击分录序号从0开始
|
int length = entryGrid.getSelectRows()[0];//获取点击分录序号从0开始
|
||||||
// int length = selectRows[0];//获取点击分录序号从0开始
|
|
||||||
//// int length = selectRows.length;//获取点击分录序号从0开始
|
|
||||||
DynamicObject pm_purorderbill = model.getDataEntity(true);//采购订单
|
DynamicObject pm_purorderbill = model.getDataEntity(true);//采购订单
|
||||||
DynamicObjectCollection entries = pm_purorderbill.getDynamicObjectCollection("purbillentry_pay");//付款计划分录
|
DynamicObjectCollection entries = pm_purorderbill.getDynamicObjectCollection("purbillentry_pay");//付款计划分录
|
||||||
DynamicObject supplier = pm_purorderbill.getDynamicObject("supplier");//订货供应商
|
DynamicObject supplier = pm_purorderbill.getDynamicObject("supplier");//订货供应商
|
||||||
|
@ -162,12 +163,14 @@ public class PurorderEntryIntroPaybillPlugin extends AbstractBillPlugIn implemen
|
||||||
@Override
|
@Override
|
||||||
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
|
public void hyperLinkClick(HyperLinkClickEvent hyperLinkClickEvent) {
|
||||||
int rowIndex = hyperLinkClickEvent.getRowIndex();
|
int rowIndex = hyperLinkClickEvent.getRowIndex();
|
||||||
Long billId = (Long) this.getModel().getValue("tqq9_paybillno", rowIndex);
|
String tqq9_paybillno = (String) this.getModel().getValue("tqq9_paybillno", rowIndex);
|
||||||
if (billId != null) {
|
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{new QFilter("billno", QCP.equals, tqq9_paybillno)});
|
||||||
|
Long id = paybill.getLong("id");
|
||||||
|
if (id != null) {
|
||||||
BillShowParameter formshowParameter = new BillShowParameter();
|
BillShowParameter formshowParameter = new BillShowParameter();
|
||||||
formshowParameter.setFormId("cas_paybill");
|
formshowParameter.setFormId("cas_paybill");
|
||||||
formshowParameter.getOpenStyle().setInlineStyleCss(new StyleCss());
|
formshowParameter.getOpenStyle().setInlineStyleCss(new StyleCss());
|
||||||
formshowParameter.setPkId(billId);
|
formshowParameter.setPkId(id);
|
||||||
formshowParameter.getOpenStyle().setShowType(ShowType.Modal);
|
formshowParameter.getOpenStyle().setShowType(ShowType.Modal);
|
||||||
formshowParameter.setStatus(OperationStatus.VIEW);
|
formshowParameter.setStatus(OperationStatus.VIEW);
|
||||||
this.getView().showForm(formshowParameter);
|
this.getView().showForm(formshowParameter);
|
||||||
|
|
|
@ -0,0 +1,98 @@
|
||||||
|
package tqq9.lc123.cloud.app.plugin.operate.cas;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
|
import kd.bos.entity.plugin.args.AfterOperationArgs;
|
||||||
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
|
import kd.bos.newdevportal.domaindefine.sample.validator.MyValidator;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购订单操作插件
|
||||||
|
* 1.校验器:未结算金额大于0校验
|
||||||
|
* 2.审核插件:付款计划分录对应付款单的未结算金额转化为已结算金额
|
||||||
|
*/
|
||||||
|
public class PurOrderReversePayBillPlugin extends AbstractOperationServicePlugIn implements Plugin {
|
||||||
|
@Override
|
||||||
|
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||||
|
super.onAddValidators(e);
|
||||||
|
e.addValidator(new UnSettleAmountValidator());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class UnSettleAmountValidator extends AbstractValidator {
|
||||||
|
@Override
|
||||||
|
public void validate() {
|
||||||
|
for (ExtendedDataEntity dataEntity : this.getDataEntities()) {
|
||||||
|
String billno = dataEntity.getDataEntity().getString("billno");//采购订单单据号
|
||||||
|
//查询采购订单
|
||||||
|
DynamicObject purorderbill = BusinessDataServiceHelper.loadSingle("pm_purorderbill", new QFilter[]{new QFilter("billno", QCP.equals, billno)});
|
||||||
|
//获取付款计划分录
|
||||||
|
DynamicObjectCollection purbillentry_pay = purorderbill.getDynamicObjectCollection("purbillentry_pay");
|
||||||
|
for (DynamicObject dynamicObject : purbillentry_pay) {
|
||||||
|
//付款单单据编号
|
||||||
|
String tqq9_paybillno = dynamicObject.getString("tqq9_paybillno");
|
||||||
|
//查询付款单
|
||||||
|
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{new QFilter("billno", QCP.equals, tqq9_paybillno)});
|
||||||
|
BigDecimal unsettleamount = paybill.getBigDecimal("unsettleamount");//未结算金额
|
||||||
|
if (unsettleamount.compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
|
this.addErrorMessage(dataEntity, "单据号:" + billno + "付款计划分录的付款单:" + tqq9_paybillno + "未结算金额为:" + unsettleamount+"无法审核");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
|
||||||
|
super.afterExecuteOperationTransaction(e);
|
||||||
|
DynamicObject[] dataEntities = e.getDataEntities();
|
||||||
|
for (DynamicObject dataEntity : dataEntities) {
|
||||||
|
String billno = dataEntity.getString("billno");
|
||||||
|
//查询采购订单
|
||||||
|
DynamicObject purorderbill = BusinessDataServiceHelper.loadSingle("pm_purorderbill", new QFilter[]{new QFilter("billno", QCP.equals, billno)});
|
||||||
|
//获取付款计划分录
|
||||||
|
DynamicObjectCollection purbillentry_pay = purorderbill.getDynamicObjectCollection("purbillentry_pay");
|
||||||
|
for (DynamicObject dynamicObject : purbillentry_pay) {
|
||||||
|
//付款单单据编号
|
||||||
|
String tqq9_paybillno = dynamicObject.getString("tqq9_paybillno");
|
||||||
|
//查询付款单
|
||||||
|
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{new QFilter("billno", QCP.equals, tqq9_paybillno)});
|
||||||
|
if (paybill != null) {
|
||||||
|
//获取付款明细分录
|
||||||
|
DynamicObjectCollection entries = paybill.getDynamicObjectCollection("entry");
|
||||||
|
BigDecimal unsettleamount = paybill.getBigDecimal("unsettleamount");//未结算金额
|
||||||
|
BigDecimal unsettleamountbase = paybill.getBigDecimal("unsettleamountbase");//未结算金额(本位币)
|
||||||
|
//单头未结算金额转化为已结算金额
|
||||||
|
paybill.set("unsettleamount", BigDecimal.ZERO);
|
||||||
|
paybill.set("unsettleamountbase", BigDecimal.ZERO);
|
||||||
|
paybill.set("settleamount", unsettleamount);//已结算金额
|
||||||
|
paybill.set("settleamountbase", unsettleamountbase);//已结算金额(本位币)
|
||||||
|
for (DynamicObject entry : entries) {
|
||||||
|
BigDecimal e_unsettledamt = entry.getBigDecimal("e_unsettledamt");//未结算金额
|
||||||
|
BigDecimal e_unsettledlocalamt = entry.getBigDecimal("e_unsettledlocalamt");//未结算金额折本位币
|
||||||
|
//分录未结算金额转化为已结算金额
|
||||||
|
entry.set("e_unsettledamt", BigDecimal.ZERO);
|
||||||
|
entry.set("e_unsettledlocalamt", BigDecimal.ZERO);
|
||||||
|
entry.set("e_settledamt", e_unsettledamt);//已结算金额
|
||||||
|
entry.set("e_settledlocalamt", e_unsettledlocalamt);//已结算金额折本币
|
||||||
|
}
|
||||||
|
paybill.set("entry", entries);
|
||||||
|
//保存
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{paybill});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
package tqq9.lc123.cloud.app.plugin.operate.cas;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
import kd.bos.entity.plugin.args.AfterOperationArgs;
|
||||||
|
import kd.bos.orm.query.QCP;
|
||||||
|
import kd.bos.orm.query.QFilter;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
import kd.sdk.plugin.Plugin;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 采购订单操作插件
|
||||||
|
* 1.反审核插件:付款计划分录对应付款单的已结算金额转化为未结算金额
|
||||||
|
*/
|
||||||
|
public class PurOrderUnReversePayBillPlugin extends AbstractOperationServicePlugIn implements Plugin {
|
||||||
|
@Override
|
||||||
|
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
|
||||||
|
super.afterExecuteOperationTransaction(e);
|
||||||
|
DynamicObject[] dataEntities = e.getDataEntities();
|
||||||
|
for (DynamicObject dataEntity : dataEntities) {
|
||||||
|
String billno = dataEntity.getString("billno");
|
||||||
|
//查询采购订单
|
||||||
|
DynamicObject purorderbill = BusinessDataServiceHelper.loadSingle("pm_purorderbill", new QFilter[]{new QFilter("billno", QCP.equals, billno)});
|
||||||
|
//获取付款计划分录
|
||||||
|
DynamicObjectCollection purbillentry_pay = purorderbill.getDynamicObjectCollection("purbillentry_pay");
|
||||||
|
for (DynamicObject dynamicObject : purbillentry_pay) {
|
||||||
|
String tqq9_paybillno = dynamicObject.getString("tqq9_paybillno");
|
||||||
|
//查询付款单
|
||||||
|
DynamicObject paybill = BusinessDataServiceHelper.loadSingle("cas_paybill", new QFilter[]{new QFilter("billno", QCP.equals, tqq9_paybillno)});
|
||||||
|
if (paybill != null) {
|
||||||
|
//获取付款明细分录
|
||||||
|
DynamicObjectCollection entries = paybill.getDynamicObjectCollection("entry");
|
||||||
|
BigDecimal settleamount = paybill.getBigDecimal("settleamount");//已结算金额
|
||||||
|
BigDecimal settleamountbase = paybill.getBigDecimal("settleamountbase");//已结算金额(本位币)
|
||||||
|
//单头已结算金额转化为未结算金额
|
||||||
|
paybill.set("settleamount", BigDecimal.ZERO);
|
||||||
|
paybill.set("settleamountbase", BigDecimal.ZERO);
|
||||||
|
paybill.set("unsettleamount", settleamount);//未结算金额
|
||||||
|
paybill.set("unsettleamountbase", settleamountbase);//已结算金额(本位币)
|
||||||
|
for (DynamicObject entry : entries) {
|
||||||
|
BigDecimal e_settledamt = entry.getBigDecimal("e_settledamt");//已结算金额
|
||||||
|
BigDecimal e_settledlocalamt = entry.getBigDecimal("e_settledlocalamt");//已结算金额折本币
|
||||||
|
//分录已结算金额转化为未结算金额
|
||||||
|
entry.set("e_settledamt", BigDecimal.ZERO);
|
||||||
|
entry.set("e_settledlocalamt", BigDecimal.ZERO);
|
||||||
|
entry.set("e_unsettledamt", e_settledamt);//未结算金额
|
||||||
|
entry.set("e_unsettledlocalamt", e_settledlocalamt);//未结算金额折本币
|
||||||
|
}
|
||||||
|
paybill.set("entry", entries);
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{paybill});// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue