- [x] 优化付款申请单携带资金计划科目的逻辑(不包含业务大类)
- [x] 优化付款申请单携带资金计划科目的逻辑(不包含采购组) - [ ] 优化收款单携带资金计划科目的逻辑 - [x] 优化生单规则生成付款单携带业务小类及其包含的会计科目(被动) - [x] 认领中心点击未认领入账,弹出的收款业务信息,选择收款,携带,客户和不明确客户 --s
This commit is contained in:
parent
c53f1ce0c4
commit
641aaf9e36
|
|
@ -0,0 +1,43 @@
|
|||
package shjh.jhzj7.fi.fi.plugin.form;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
||||
import kd.bos.form.plugin.AbstractFormPlugin;
|
||||
import kd.bos.orm.query.QCP;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
|
||||
import java.util.EventObject;
|
||||
|
||||
/**
|
||||
* 收款业务信息
|
||||
* shjh_cas_recbizinfo_ext
|
||||
*/
|
||||
public class RecbizinfoFormPlugin extends AbstractFormPlugin {
|
||||
|
||||
@Override
|
||||
public void propertyChanged(PropertyChangedArgs e) {
|
||||
super.propertyChanged(e);
|
||||
|
||||
String name = e.getProperty().getName();
|
||||
if ("receivingtype".equals(name)) {
|
||||
DynamicObject receivingtype = (DynamicObject)this.getModel().getValue("receivingtype");
|
||||
if (null != receivingtype) {
|
||||
String number = receivingtype.getString("number");
|
||||
QFilter qFilter1 = new QFilter("number", QCP.equals, "1042086");//4000042
|
||||
DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
if ("JH002".equals(number)) {
|
||||
this.getModel().setValue("payertype", "bd_customer");
|
||||
this.getModel().setValue("e_payerbasetype", "bd_customer");
|
||||
this.getModel().setValue("e_payerid", bdCustomer);
|
||||
this.getView().updateView();
|
||||
}
|
||||
}else {
|
||||
this.getModel().setValue("payertype", null);
|
||||
this.getModel().setValue("e_payerbasetype", null);
|
||||
this.getModel().setValue("e_payerid", null);
|
||||
this.getView().updateView();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -19,7 +19,10 @@ import kd.sdk.plugin.Plugin;
|
|||
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
|
||||
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import static shjh.jhzj7.fi.fi.utils.SapUtils.unlocked_status;
|
||||
|
||||
|
|
@ -252,24 +255,7 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
|
|||
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(供应商/客户)",""
|
||||
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
|
||||
"id,shjh_membersubject", qFilter.toArray()).length));
|
||||
//采购组shjh_procurementteam && 不包含采购组
|
||||
String shjhBhcgz = bill.getString("shjh_procurementteam");
|
||||
QFilter filter = new QFilter("number", QCP.equals, shjhBhcgz);
|
||||
DynamicObject shjh_cgz = BusinessDataServiceHelper.loadSingle("shjh_cgz", filter.toArray());
|
||||
if (null != shjh_cgz) {
|
||||
Long cgzid = shjh_cgz.getLong("id");
|
||||
QFilter q11 = new QFilter("shjh_cgz.fbasedataid", QCP.equals, cgzid);//包含采购粗
|
||||
QFilter q22 = new QFilter("shjh_cgz.fbasedataid", QCP.equals, null);
|
||||
QFilter q33 = new QFilter("shjh_bbhcgz.fbasedataid", QCP.equals, cgzid);//不包含采购粗
|
||||
QFilter q44 = new QFilter("shjh_bbhcgz.fbasedataid", QCP.equals, null);
|
||||
qFilter = qFilter.and(q11.or(q22)).and(q33.or(q44));
|
||||
}else {
|
||||
QFilter q22 = new QFilter("shjh_cgz.fbasedataid", QCP.equals, null);
|
||||
qFilter = qFilter.and(q22);
|
||||
}
|
||||
JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(采购组)",""
|
||||
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
|
||||
"id,shjh_membersubject", qFilter.toArray()).length));
|
||||
|
||||
//外部系统单据类型_多选下拉 && 不包含单据类型
|
||||
String shjhExternalsystemdocume = bill.getString("shjh_externalsystemdocume");
|
||||
if (StringUtil.isNotEmpty(shjhExternalsystemdocume)) {
|
||||
|
|
@ -313,7 +299,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
|
|||
,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account",
|
||||
"id,shjh_membersubject", qFilter.toArray()).length));
|
||||
|
||||
DynamicObject[] accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_membersubject", qFilter.toArray());
|
||||
DynamicObject[] accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_membersubject,shjh_cgz,shjh_bbhcgz", qFilter.toArray());
|
||||
|
||||
|
||||
if (accounts.length > 1) {
|
||||
// 根据生效日期,失效日期区间,判断当前时间满足的数据
|
||||
Date currentDate = bill.getDate("applydate");//申请日期
|
||||
|
|
@ -321,11 +309,47 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem
|
|||
QFilter endDateFilter = new QFilter("shjh_enddate", QCP.large_equals, currentDate);
|
||||
QFilter newFilter = qFilter.and(startDateFilter).and(endDateFilter);
|
||||
//优先级为高的
|
||||
accounts = BusinessDataServiceHelper.load("shjh_request_account", "id", newFilter.toArray(),"shjh_priority");
|
||||
accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_cgz,shjh_bbhcgz", newFilter.toArray(),"shjh_priority");
|
||||
}
|
||||
if (accounts.length > 0) {
|
||||
// 转换为 List 以便支持 remove 操作
|
||||
List<DynamicObject> configList = new ArrayList<>(Arrays.asList(accounts));
|
||||
//采购组shjh_procurementteam && 不包含采购组
|
||||
String shjhBhcgz = bill.getString("shjh_procurementteam");
|
||||
QFilter filter = new QFilter("number", QCP.equals, shjhBhcgz);
|
||||
DynamicObject shjh_cgz = BusinessDataServiceHelper.loadSingle("shjh_cgz", filter.toArray());
|
||||
if (null != shjh_cgz) {
|
||||
boolean isbh = false;
|
||||
Long cgzid = shjh_cgz.getLong("id");
|
||||
for (DynamicObject account : accounts) {
|
||||
DynamicObjectCollection shjh_cgzs = account.getDynamicObjectCollection("shjh_cgz");//采购组
|
||||
for (DynamicObject shjhCgz : shjh_cgzs) {
|
||||
DynamicObject fbasedataid = shjhCgz.getDynamicObject("fbasedataid");
|
||||
if (null != fbasedataid) {
|
||||
long id = fbasedataid.getLong("id");
|
||||
if (id == cgzid) {
|
||||
isbh = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!isbh && !shjh_cgzs.isEmpty()) {
|
||||
configList.remove(account);
|
||||
}
|
||||
DynamicObjectCollection shjh_bbhcgzs = account.getDynamicObjectCollection("shjh_bbhcgz");//不包含采购组
|
||||
for (DynamicObject shjhBbhcgz : shjh_bbhcgzs) {
|
||||
DynamicObject fbasedataid = shjhBbhcgz.getDynamicObject("fbasedataid");
|
||||
if (null != fbasedataid) {
|
||||
long id = fbasedataid.getLong("id");
|
||||
if (id == cgzid) {
|
||||
configList.remove(account);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!configList.isEmpty()) {
|
||||
// 处理找到符合条件的账户
|
||||
DynamicObject account = accounts[0];
|
||||
DynamicObject account = configList.get(0);
|
||||
account = BusinessDataServiceHelper.loadSingle(account.getPkValue(), "shjh_request_account");
|
||||
return account.getDynamicObject("shjh_membersubject");
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ public class PayBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
if (null != shjhEBizsmall) {
|
||||
shjhEBizsmall = BusinessDataServiceHelper.loadSingle(shjhEBizsmall.getPkValue(),"shjh_bizsmalltype");
|
||||
entryss.set("shjh_yym", shjhEBizsmall.getDynamicObject("shjh_yym"));//规则--小类--原因码
|
||||
entryss.set("shjh_sapkjkm", shjhEBizsmall.getDynamicObject("shjh_accountview"));//规则--小类--会计科目
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue