parent
2c0202d516
commit
d9ef0ae37e
|
|
@ -39,8 +39,12 @@ public class TextFieldDemo extends AbstractFormPlugin {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DynamicObject paymentidentify = (DynamicObject)this.getView().getModel().getValue("paymentidentify");//付款单标识
|
||||||
|
if (null != paymentidentify) {
|
||||||
|
//FKBS01 主动付款 FKBS02 被动付款
|
||||||
|
String number = paymentidentify.getString("number");//付款单标识
|
||||||
|
//再加个判断,如果是 “主动付款”不进行必填校验。
|
||||||
|
if (!"FKBS01".equals(number)) {
|
||||||
// 获取成本中心和利润中心的控件
|
// 获取成本中心和利润中心的控件
|
||||||
BasedataEdit shjh_costcenter = this.getView().getControl("shjh_costcenter");
|
BasedataEdit shjh_costcenter = this.getView().getControl("shjh_costcenter");
|
||||||
BasedataEdit shjh_profitcenter = this.getView().getControl("shjh_pc");
|
BasedataEdit shjh_profitcenter = this.getView().getControl("shjh_pc");
|
||||||
|
|
@ -65,6 +69,10 @@ public class TextFieldDemo extends AbstractFormPlugin {
|
||||||
shjh_profitcenter.setMustInput(false);
|
shjh_profitcenter.setMustInput(false);
|
||||||
td.setMustInput(false);
|
td.setMustInput(false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//赋值结算方式
|
//赋值结算方式
|
||||||
this.getView().getModel().setValue("shjh_jsfs",this.getView().getModel().getValue("settletype"));
|
this.getView().getModel().setValue("shjh_jsfs",this.getView().getModel().getValue("settletype"));
|
||||||
}
|
}
|
||||||
|
|
@ -72,7 +80,12 @@ public class TextFieldDemo extends AbstractFormPlugin {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChanged(PropertyChangedArgs e) {
|
public void propertyChanged(PropertyChangedArgs e) {
|
||||||
super.propertyChanged(e);
|
super.propertyChanged(e);
|
||||||
|
DynamicObject paymentidentify = (DynamicObject)this.getView().getModel().getValue("paymentidentify");//付款单标识
|
||||||
|
if (null != paymentidentify) {
|
||||||
|
//FKBS01 主动付款 FKBS02 被动付款
|
||||||
|
String number = paymentidentify.getString("number");//付款单标识
|
||||||
|
//再加个判断,如果是 “主动付款”不进行必填校验。
|
||||||
|
if (!"FKBS01".equals(number)) {
|
||||||
// 获取成本中心和利润中心的控件
|
// 获取成本中心和利润中心的控件
|
||||||
BasedataEdit shjh_costcenter = this.getView().getControl("shjh_costcenter");
|
BasedataEdit shjh_costcenter = this.getView().getControl("shjh_costcenter");
|
||||||
BasedataEdit shjh_profitcenter = this.getView().getControl("shjh_pc");
|
BasedataEdit shjh_profitcenter = this.getView().getControl("shjh_pc");
|
||||||
|
|
@ -97,6 +110,9 @@ public class TextFieldDemo extends AbstractFormPlugin {
|
||||||
shjh_profitcenter.setMustInput(false);
|
shjh_profitcenter.setMustInput(false);
|
||||||
td.setMustInput(false);
|
td.setMustInput(false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//赋值结算方式
|
//赋值结算方式
|
||||||
if ("shjh_jsfs".equals(e.getProperty().getName())) {
|
if ("shjh_jsfs".equals(e.getProperty().getName())) {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package shjh.jhzj7.fi.fi.plugin.operate;
|
package shjh.jhzj7.fi.fi.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.context.RequestContext;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
|
|
@ -11,6 +12,7 @@ import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
import kd.sdk.plugin.Plugin;
|
import kd.sdk.plugin.Plugin;
|
||||||
|
import shjh.jhzj7.fi.fi.utils.EsbUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修复数据操作
|
* 修复数据操作
|
||||||
|
|
@ -20,10 +22,15 @@ public class TestssOperation extends AbstractOperationServicePlugIn implements P
|
||||||
@Override
|
@Override
|
||||||
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
|
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
|
||||||
super.afterExecuteOperationTransaction(e);
|
super.afterExecuteOperationTransaction(e);
|
||||||
|
//付款申请单,只处理来源SAP,付款状态(未付款,部分付款)
|
||||||
|
QFilter q1 = new QFilter("shjh_sourcesystem", QCP.equals, "A");
|
||||||
|
QFilter q2 = new QFilter("paystatus", QCP.equals, "Unpaid");
|
||||||
|
QFilter q3 = new QFilter("paystatus", QCP.equals, "Inpayment");
|
||||||
DynamicObject[] ap_payapplys = BusinessDataServiceHelper.load("ap_payapply",
|
DynamicObject[] ap_payapplys = BusinessDataServiceHelper.load("ap_payapply",
|
||||||
"id,applyorg,entry,entry.e_asstacttype,entry.e_asstact,entry.e_settlementtype,billno", new QFilter[]{new QFilter("billno", QCP.not_equals, "")});
|
"id,applyorg,entry,entry.e_asstacttype,entry.e_asstact,entry.e_settlementtype,billno",
|
||||||
|
new QFilter[]{q1.and(q2.or(q3))});
|
||||||
for (DynamicObject apPayapply : ap_payapplys) {
|
for (DynamicObject apPayapply : ap_payapplys) {
|
||||||
|
DynamicObject settlementtype = null;
|
||||||
DynamicObject org = apPayapply.getDynamicObject("applyorg");
|
DynamicObject org = apPayapply.getDynamicObject("applyorg");
|
||||||
if (null == org) {
|
if (null == org) {
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -33,14 +40,14 @@ public class TestssOperation extends AbstractOperationServicePlugIn implements P
|
||||||
String e_asstacttype = dynamicObject.getString("e_asstacttype");
|
String e_asstacttype = dynamicObject.getString("e_asstacttype");
|
||||||
if ("bd_supplier".equals(e_asstacttype)) {
|
if ("bd_supplier".equals(e_asstacttype)) {
|
||||||
DynamicObject party = dynamicObject.getDynamicObject("e_asstact");
|
DynamicObject party = dynamicObject.getDynamicObject("e_asstact");
|
||||||
if (party!= null) {
|
if (null != party) {
|
||||||
party = BusinessDataServiceHelper.loadSingle(party.getPkValue(),"bd_supplier");
|
party = BusinessDataServiceHelper.loadSingle(party.getPkValue(),"bd_supplier");
|
||||||
DynamicObjectCollection shjhEntrySap = party.getDynamicObjectCollection("shjh_entry_sap");
|
DynamicObjectCollection shjhEntrySap = party.getDynamicObjectCollection("shjh_entry_sap");
|
||||||
if (!shjhEntrySap.isEmpty()) {
|
if (!shjhEntrySap.isEmpty()) {
|
||||||
for (DynamicObject object : shjhEntrySap) {
|
for (DynamicObject object : shjhEntrySap) {
|
||||||
if (org.getString("number").equals(object.getString("shjh_companynum"))) {
|
if (org.getString("number").equals(object.getString("shjh_companynum"))) {
|
||||||
// 结算方式(付款方式)
|
// 结算方式(付款方式)
|
||||||
DynamicObject settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype",
|
settlementtype = BusinessDataServiceHelper.loadSingle("bd_settlementtype",
|
||||||
new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_settlementmethod"))});
|
new QFilter[]{new QFilter("number", QCP.equals, object.getString("shjh_settlementmethod"))});
|
||||||
if (settlementtype != null) {
|
if (settlementtype != null) {
|
||||||
dynamicObject.set("e_settlementtype", settlementtype);
|
dynamicObject.set("e_settlementtype", settlementtype);
|
||||||
|
|
@ -54,6 +61,86 @@ public class TestssOperation extends AbstractOperationServicePlugIn implements P
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SaveServiceHelper.save(new DynamicObject[]{apPayapply});
|
SaveServiceHelper.save(new DynamicObject[]{apPayapply});
|
||||||
|
//查付款申请下游的付款单 另外如果是成网银(U),付款渠道需要是“柜台如果是“银企直联”支付渠道需要是“银企互联
|
||||||
|
DynamicObject[] paybills = BusinessDataServiceHelper.load("cas_paybill", "id,settletype,shjh_jsfs,paymentchannel",
|
||||||
|
new QFilter[]{new QFilter("sourcebillid", QCP.equals, apPayapply.getPkValue())});
|
||||||
|
for (DynamicObject paybill : paybills) {
|
||||||
|
if (null != settlementtype) {
|
||||||
|
paybill.set("settletype", settlementtype);
|
||||||
|
paybill.set("shjh_jsfs", settlementtype);
|
||||||
|
String string = settlementtype.getString("number");
|
||||||
|
if ("U".equals(string)) {
|
||||||
|
paybill.set("paymentchannel", "counter");//支付渠道
|
||||||
|
}
|
||||||
|
if ("T".equals(string)) {
|
||||||
|
paybill.set("paymentchannel", "bei");
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{paybill});
|
||||||
|
//查付款单下游的排程单 另外如果是成网银(U),付款渠道需要是“柜台如果是“银企直联”支付渠道需要是“银企互联
|
||||||
|
DynamicObject[] schedulebills = BusinessDataServiceHelper.load("psd_schedulebill", "id,applysettletype,applypaychannel",
|
||||||
|
new QFilter[]{new QFilter("sourcebillid", QCP.equals, apPayapply.getPkValue())});
|
||||||
|
for (DynamicObject schedulebill : schedulebills) {
|
||||||
|
schedulebill.set("applysettletype", settlementtype);//申请结算方式
|
||||||
|
|
||||||
|
if ("U".equals(string)) {
|
||||||
|
schedulebill.set("applypaychannel", "counter");//申请支付渠道
|
||||||
|
}
|
||||||
|
if ("T".equals(string)) {
|
||||||
|
schedulebill.set("applypaychannel", "bei");
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{schedulebill});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新会计科目
|
||||||
|
QFilter q4 = new QFilter("billno", QCP.not_equals, "");
|
||||||
|
DynamicObject[] ap_payapplyss = BusinessDataServiceHelper.load("ap_payapply",
|
||||||
|
"id,applyorg,billno,shjh_sapkjkm",
|
||||||
|
new QFilter[]{q4});
|
||||||
|
for (DynamicObject apPayapplyss : ap_payapplyss) {
|
||||||
|
DynamicObject accountview = null;
|
||||||
|
DynamicObject org = apPayapplyss.getDynamicObject("applyorg");
|
||||||
|
if (null == org) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
DynamicObject accountingsubject = apPayapplyss.getDynamicObject("shjh_sapkjkm");
|
||||||
|
if (null != accountingsubject) {
|
||||||
|
QFilter Q8 = new QFilter("number", QCP.equals, accountingsubject.getString("number"));//会计科目编号
|
||||||
|
Q8.and("createorg.id", QCP.equals, org.getPkValue());//当前公司ID
|
||||||
|
//如果当前数据中心是测试的则使用测试库科目表ID,否则用正式的
|
||||||
|
if("2162562979827025920".equals(RequestContext.get().getAccountId())){
|
||||||
|
Q8.and("accounttable.id", QCP.equals, 2125524820924832768L);//测试科目表
|
||||||
|
}else{
|
||||||
|
Q8.and("accounttable.id", QCP.equals, EsbUtils.ACCTABLE);//正式科目表
|
||||||
|
}
|
||||||
|
accountview = BusinessDataServiceHelper.loadSingle("bd_accountview", Q8.toArray());
|
||||||
|
if(null != accountview ){
|
||||||
|
apPayapplyss.set("shjh_sapkjkm", accountview);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{apPayapplyss});
|
||||||
|
//查付款申请下游的付款单
|
||||||
|
DynamicObject[] paybills = BusinessDataServiceHelper.load("cas_paybill",
|
||||||
|
"id,settletype,shjh_jsfs,paymentchannel,entry,entry.shjh_sapkjkm",
|
||||||
|
new QFilter[]{new QFilter("sourcebillid", QCP.equals, apPayapplyss.getPkValue())});
|
||||||
|
for (DynamicObject paybill : paybills) {
|
||||||
|
if (null != accountview) {
|
||||||
|
DynamicObjectCollection entry = paybill.getDynamicObjectCollection("entry");
|
||||||
|
for (DynamicObject dynamicObject : entry) {
|
||||||
|
dynamicObject.set("shjh_sapkjkm",accountview);
|
||||||
|
}
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{paybill});
|
||||||
|
//查付款单下游的排程单
|
||||||
|
DynamicObject[] schedulebills = BusinessDataServiceHelper.load("psd_schedulebill", "id,shjh_sapkjkm",
|
||||||
|
new QFilter[]{new QFilter("sourcebillid", QCP.equals, apPayapplyss.getPkValue())});
|
||||||
|
for (DynamicObject schedulebill : schedulebills) {
|
||||||
|
schedulebill.set("shjh_sapkjkm", accountview);
|
||||||
|
SaveServiceHelper.save(new DynamicObject[]{schedulebill});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,23 +44,39 @@ public class QuerySapCreatePayApplyTask extends AbstractTask {
|
||||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||||
|
|
||||||
// 获取临期天数并转换
|
// 获取临期天数并转换
|
||||||
String lq = (String) map.get("临期");
|
String lq = (String) map.get("临期_后");
|
||||||
if (StringUtils.isEmpty(lq)) {
|
String lq1 = (String) map.get("临期_前");
|
||||||
|
|
||||||
|
// 检查是否有有效的临期数据
|
||||||
|
if (StringUtils.isEmpty(lq) && StringUtils.isEmpty(lq1)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int daysToAdd = Integer.parseInt(lq); // 将临期字符串转为整数天数
|
|
||||||
// 获取当前日期
|
// 获取当前日期
|
||||||
LocalDate currentDate = LocalDate.now();
|
LocalDate currentDate = LocalDate.now();
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||||
LocalDate endDate = currentDate.plusDays(daysToAdd);
|
|
||||||
// 格式化日期
|
// 计算开始日期(临期_前表示今天之前的天数)
|
||||||
String formattedoldDate = currentDate.format(formatter); //开始日期 当前日期
|
LocalDate startDate = currentDate;
|
||||||
String formattedNewDate = endDate.format(formatter); //结束日期(当前日期 + 临期天数)
|
if (StringUtils.isNotEmpty(lq1)) {
|
||||||
|
int daysBefore = Integer.parseInt(lq1);
|
||||||
|
startDate = currentDate.minusDays(daysBefore);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 计算结束日期(临期_后表示今天之后的天数)
|
||||||
|
LocalDate endDate = currentDate;
|
||||||
|
if (StringUtils.isNotEmpty(lq)) {
|
||||||
|
int daysAfter = Integer.parseInt(lq);
|
||||||
|
endDate = currentDate.plusDays(daysAfter);
|
||||||
|
}
|
||||||
|
|
||||||
|
String formattedoldDate = startDate.format(formatter); // 开始日期
|
||||||
|
String formattedNewDate = endDate.format(formatter); // 结束日期
|
||||||
|
|
||||||
JSONArray IT_LIST = new JSONArray();
|
JSONArray IT_LIST = new JSONArray();
|
||||||
// 添加SAP应付凭到期日过滤条件
|
// 添加SAP应付凭到期日过滤条件
|
||||||
addFilterCondition(IT_LIST, "FAEDT", formattedoldDate, formattedNewDate);
|
addFilterCondition(IT_LIST, "FAEDT", formattedoldDate, formattedNewDate);
|
||||||
JSONObject result = vouchers_payable(IT_LIST, "临期:"+lq);
|
JSONObject result = vouchers_payable(IT_LIST,lq+ "临期:"+lq1);
|
||||||
if (null != result && result.containsKey("data")) {
|
if (null != result && result.containsKey("data")) {
|
||||||
// 处理查询结果
|
// 处理查询结果
|
||||||
JSONObject data = (JSONObject) result.get("data");
|
JSONObject data = (JSONObject) result.get("data");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue