Merge remote-tracking branch 'origin/main' into main
This commit is contained in:
commit
1a235ad038
|
@ -1,5 +1,6 @@
|
|||
package shkd.sys.sys.mservice;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
|
@ -23,6 +24,7 @@ import microsoft.exchange.webservices.data.core.service.response.ResponseObject;
|
|||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
@ -105,7 +107,7 @@ public class PlanningService {
|
|||
// 4. 反序列化响应结果
|
||||
FpmResponse<Void> responseObject = SerializationUtils.deSerializeFromBase64(result);
|
||||
|
||||
logger.info("是否成功:{}\n消息列表:{}\n反序列化对象:{}",
|
||||
logger.info("计划编制批量写入是否成功:{}\n消息列表:{}\n反序列化对象:{}",
|
||||
responseObject.isSuccess(), responseObject.getMessage(), responseObject.getData());
|
||||
return responseObject;
|
||||
}
|
||||
|
@ -116,13 +118,12 @@ public class PlanningService {
|
|||
* @param adjustReason 调整原因
|
||||
* @param orgCode 编报主体编码
|
||||
* @param periodCode 编报期间编码
|
||||
* @param subjectCode 计划科目
|
||||
* @param entryPeriodCode 主维度数据分录期间 code
|
||||
* @param amount 调整金额
|
||||
* @param adjustProjects 调整项目(计划科目 和 金额)
|
||||
* @return
|
||||
*/
|
||||
public static FpmResponse<ReportAdjustBillBatchSaveResDTO> planAdjustment(String adjustReason, String orgCode, String periodCode, String subjectCode, String entryPeriodCode, String amount) {
|
||||
logger.info("计划调整服务入参:adjustReason={},orgCode={},periodCode={},subjectCode={},entryPeriodCode={},amount={}", adjustReason, orgCode, periodCode, subjectCode, entryPeriodCode, amount);
|
||||
public static FpmResponse<ReportAdjustBillBatchSaveResDTO> planAdjustment(String adjustReason, String orgCode, String periodCode, String entryPeriodCode, JSONArray adjustProjects) {
|
||||
logger.info("计划调整服务入参:adjustReason={},orgCode={},periodCode={},subjectCode={},entryPeriodCode={},amount={}", adjustReason, orgCode, periodCode, entryPeriodCode, adjustProjects);
|
||||
ReportAdjustBillBatchSaveDTO reportAdjustBillBatchSaveDTO = new ReportAdjustBillBatchSaveDTO();
|
||||
reportAdjustBillBatchSaveDTO.setSystemCode("SYS-005");// 体系编码
|
||||
|
||||
|
@ -137,21 +138,29 @@ public class PlanningService {
|
|||
reportAdjustBillSaveDTO.setReportTypeCode("M-002");// 编报类型编码
|
||||
|
||||
ArrayList<ReportAdjustDataSaveDTO> reportAdjustDataSaveDTOS = new ArrayList<>();
|
||||
ReportAdjustDataSaveDTO reportAdjustDataSaveDTO = new ReportAdjustDataSaveDTO();
|
||||
|
||||
for (Object adjustProject : adjustProjects) {
|
||||
HashMap<String, Object> adjustProjectHashMap = (HashMap<String, Object>) adjustProject;
|
||||
// 计划科目
|
||||
Object subjectCode = adjustProjectHashMap.get("subjectCode");
|
||||
// 调整金额
|
||||
Object amount = adjustProjectHashMap.get("amount");
|
||||
|
||||
ReportAdjustDataSaveDTO reportAdjustDataSaveDTO = new ReportAdjustDataSaveDTO();
|
||||
// reportAdjustDataSaveDTO.setAdjustReason();// 维度组合下每一行的调整原因
|
||||
// reportAdjustDataSaveDTO.setAmountUnit();// 单位
|
||||
reportAdjustDataSaveDTO.setCurrencyCode("CNY");// 币别 code
|
||||
reportAdjustDataSaveDTO.setSubjectCode(subjectCode);// 计划科目
|
||||
reportAdjustDataSaveDTO.setTemplateCode("FIX-013");// 调整数据所属编制表的模板编码
|
||||
reportAdjustDataSaveDTO.setCurrencyCode("CNY");// 币别 code
|
||||
reportAdjustDataSaveDTO.setSubjectCode(subjectCode.toString());// 计划科目
|
||||
reportAdjustDataSaveDTO.setTemplateCode("FIX-013");// 调整数据所属编制表的模板编码
|
||||
// reportAdjustDataSaveDTO.setCompanyCode();// 公司code
|
||||
reportAdjustDataSaveDTO.setCurrentAdjustAmt(new BigDecimal(amount));// 本次调整金额
|
||||
reportAdjustDataSaveDTO.setCurrentAdjustAmt(new BigDecimal(amount.toString()));// 本次调整金额
|
||||
// reportAdjustDataSaveDTO.setCustom1Code();// 自定义维度1值code
|
||||
// reportAdjustDataSaveDTO.setCustom2Code();// 自定义维度2值code
|
||||
// reportAdjustDataSaveDTO.setCustom3Code();// 自定义维度3值code
|
||||
reportAdjustDataSaveDTO.setEntryPeriodCode(entryPeriodCode);// 主维度数据分录期间 code
|
||||
reportAdjustDataSaveDTO.setEntryPeriodCode(entryPeriodCode);// 主维度数据分录期间 code
|
||||
// reportAdjustDataSaveDTO.setSettleTypeCode();// 结算方式 code
|
||||
reportAdjustDataSaveDTOS.add(reportAdjustDataSaveDTO);
|
||||
|
||||
reportAdjustDataSaveDTOS.add(reportAdjustDataSaveDTO);
|
||||
}
|
||||
reportAdjustBillSaveDTO.setAdjustDataList(reportAdjustDataSaveDTOS);// 调整数据 List<ReportAdjustDataSaveDTO> adjustDataList
|
||||
|
||||
reportAdjustBillSaveDTOS.add(reportAdjustBillSaveDTO);
|
||||
|
@ -172,7 +181,7 @@ public class PlanningService {
|
|||
reportAdjustBillBatchSaveResDTO.getSuccessSize();// 成功写入的调整单据总数
|
||||
reportAdjustBillBatchSaveResDTO.getFailSize();// 失败写入的调整单据总数
|
||||
List<String> adjustBillNoList = reportAdjustBillBatchSaveResDTO.getAdjustBillNoList();// 调整单据编号列表
|
||||
logger.info("是否成功:{}\n消息列表:{}\n反序列化对象:{}",
|
||||
logger.info("计划调整是否成功:{}\n消息列表:{}\n反序列化对象:{}",
|
||||
responseObject.isSuccess(), responseObject.getMessage(), responseObject.getData());
|
||||
if (responseObject.isSuccess()) {
|
||||
logger.info("调整单据编号列表:{}", adjustBillNoList);
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package shkd.sys.sys.plugin.api;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import kd.bos.list.plugin.AbstractListPlugin;
|
||||
import kd.bos.logging.Log;
|
||||
|
@ -79,16 +80,14 @@ public class InterfacePracticePlug extends AbstractListPlugin implements Seriali
|
|||
jsonObject.getString("adjustReason");// 调整原因
|
||||
jsonObject.getString("orgCode");// 编报主体
|
||||
jsonObject.getString("periodCode");// 编报期间
|
||||
jsonObject.getString("subjectCode");// 计划科目
|
||||
jsonObject.getString("entryPeriodCode");// 主维度数据分录期间code
|
||||
jsonObject.getString("amount");// 金额
|
||||
jsonObject.getJSONArray("adjustProject");// 调整项目(计划科目 和 金额)
|
||||
FpmResponse<ReportAdjustBillBatchSaveResDTO> fpmResponse = planAdjustment(
|
||||
jsonObject.getString("adjustReason"),
|
||||
jsonObject.getString("orgCode"),
|
||||
jsonObject.getString("periodCode"),
|
||||
jsonObject.getString("subjectCode"),
|
||||
jsonObject.getString("entryPeriodCode"),
|
||||
jsonObject.getString("amount")
|
||||
jsonObject.getJSONArray("adjustProject")
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -488,16 +488,13 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
if ("bd_supplier".equals(payeetype)) {
|
||||
logger.info("收款人类型 → 供应商");
|
||||
Map<String, Object> societycreditcode = new HashMap<>();
|
||||
societycreditcode.put("societycreditcode", map.get("payeenumber").toString());
|
||||
societycreditcode.put("societycreditcode", map.get("payeenumber"));
|
||||
map.put("shkd_supplier", societycreditcode);
|
||||
|
||||
logger.info("收款人ID:{}", map.get("payeenumber"));
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id," +
|
||||
"number,name,societycreditcode,shkd_xknumber,entry_bank,entry_bank.bankaccount,entry_bank.accountname," +
|
||||
"entry_bank.bank",
|
||||
new QFilter("societycreditcode", QCP.equals, map.get("payeenumber").toString())
|
||||
.or("shkd_xknumber", QCP.equals, map.get("payeenumber").toString())
|
||||
.or("name", QCP.equals, map.get("payeename").toString()).toArray());
|
||||
"number,name,societycreditcode,shkd_xknumber,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank",
|
||||
new QFilter("societycreditcode", QCP.equals, map.get("payeenumber")).toArray());
|
||||
|
||||
if (objects.length > 0) {
|
||||
DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank");
|
||||
|
@ -512,11 +509,13 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
} else if ("bd_customer".equals(payeetype)) {
|
||||
logger.info("收款人类型 → 客户");
|
||||
Map<String, Object> societycreditcode = new HashMap<>();
|
||||
societycreditcode.put("societycreditcode", map.get("payeenumber").toString());
|
||||
societycreditcode.put("societycreditcode", map.get("payeenumber"));
|
||||
map.put("shkd_customer", societycreditcode);
|
||||
|
||||
logger.info("收款人ID:{}", map.get("payeenumber"));
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,societycreditcode,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank", new QFilter("societycreditcode", QCP.equals, map.get("payeenumber").toString()).toArray());
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(),
|
||||
"id,number,name,societycreditcode,entry_bank,entry_bank.bankaccount,entry_bank.accountname,entry_bank.bank",
|
||||
new QFilter("societycreditcode", QCP.equals, map.get("payeenumber")).toArray());
|
||||
|
||||
if (objects.length > 0) {
|
||||
DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank");
|
||||
|
@ -530,10 +529,10 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
} else if ("bos_user".equals(payeetype)) {
|
||||
logger.info("收款人类型 → 人员");
|
||||
Map<String, Object> user_number = new HashMap<>();
|
||||
user_number.put("number", map.get("payeenumber").toString());
|
||||
user_number.put("number", map.get("payeenumber"));
|
||||
logger.info("收款人编码:{}", map.get("payeenumber"));
|
||||
map.put("shkd_user", user_number);
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,name,number,username", new QFilter("number", QCP.equals, map.get("payeenumber").toString()).toArray());
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,name,number,username", new QFilter("number", QCP.equals, map.get("payeenumber")).toArray());
|
||||
logger.info("人员查询,通过人员工号查对应的人员数据长度:{}", objects.length);
|
||||
if (objects.length > 0) {
|
||||
// 收款人编码
|
||||
|
@ -543,10 +542,10 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
}
|
||||
} else if ("bos_org".equals(payeetype)) {
|
||||
Map<String, Object> number = new HashMap<>();
|
||||
number.put("number", map.get("payeenumber").toString());
|
||||
number.put("number", map.get("payeenumber"));
|
||||
map.put("shkd_org", number);
|
||||
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber").toString()).toArray());
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber")).toArray());
|
||||
if (objects.length > 0) {
|
||||
// 收款人编码
|
||||
map.put("payeenumber", objects[0].getString("number"));
|
||||
|
@ -630,10 +629,10 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
map.put(fieldName2, payerbank);
|
||||
|
||||
Map<String, Object> number = new HashMap<>();
|
||||
number.put("number", map.get("payeenumber").toString());
|
||||
number.put("number", map.get("payeenumber"));
|
||||
map.put("shkd_org", number);
|
||||
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber").toString()).toArray());
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load(payeetype.toString(), "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber")).toArray());
|
||||
if (objects.length > 0) {
|
||||
// 收款人编码
|
||||
map.put("payeenumber", objects[0].getString("number"));
|
||||
|
@ -716,10 +715,10 @@ public class PayBillApiSavePlugin implements ApiSavePlugin {
|
|||
map.put(fieldName2, payerbank);
|
||||
|
||||
Map<String, Object> number = new HashMap<>();
|
||||
number.put("number", map.get("payeenumber").toString());
|
||||
number.put("number", map.get("payeenumber"));
|
||||
map.put("shkd_org", number);
|
||||
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("bos_org", "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber").toString()).toArray());
|
||||
DynamicObject[] objects = BusinessDataServiceHelper.load("bos_org", "id,number,name,", new QFilter("number", QCP.equals, map.get("payeenumber")).toArray());
|
||||
if (objects.length > 0) {
|
||||
logger.info("收款人查询长度 → " + objects.length);
|
||||
// 收款人ID
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package shkd.sys.sys.plugin.api;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.logging.Log;
|
||||
import kd.bos.logging.LogFactory;
|
||||
import kd.bos.openapi.api.plugin.ApiSavePlugin;
|
||||
|
@ -67,6 +66,63 @@ public class TicketRegistration implements Serializable, ApiSavePlugin {
|
|||
societycreditcode.put("number", objects[0].getString("number"));
|
||||
map.put("deliver", societycreditcode);
|
||||
}
|
||||
|
||||
// 票据类型编码
|
||||
Map<String, Object> draftbilltype = (Map<String, Object>) map.get("draftbilltype");
|
||||
String draftbilltype_number = draftbilltype.get("number").toString();
|
||||
|
||||
Map<String, Object> billtype = new HashMap<>();
|
||||
|
||||
switch (draftbilltype_number) {
|
||||
//银行承兑汇票
|
||||
case "101":
|
||||
case "102":
|
||||
billtype.put("number", "cdm_recbill_bank_BT_S");
|
||||
|
||||
DynamicObject[] bd_bebank = BusinessDataServiceHelper.load("bd_bebank", "id,number,name", new QFilter("number", QCP.equals, map.get("acceptername")).toArray());
|
||||
if (bd_bebank.length > 0) {
|
||||
map.put("acceptername", bd_bebank[0].getString("name"));
|
||||
} else {
|
||||
logger.info("进入收票登记 → 票据号:{},星空推送联行号:{},未查到司库行名行号", map.get("draftbillno"), map.get("acceptername"));
|
||||
}
|
||||
|
||||
Map<String, Object> accepterbebank = new HashMap<>();
|
||||
accepterbebank.put("number", map.get("acceptername"));
|
||||
map.put("accepterbebank", accepterbebank);
|
||||
break;
|
||||
//商业承兑汇票
|
||||
case "103":
|
||||
case "104":
|
||||
case "CDMT-005D63A9":
|
||||
case "CDMT-08B7B711":
|
||||
case "CDMT-16FEE117":
|
||||
case "CDMT-23C7A4D1":
|
||||
case "CDMT-491D50C5":
|
||||
case "CDMT-4980CF6D":
|
||||
case "CDMT-550FDEAC":
|
||||
case "CDMT-5CD7302F":
|
||||
case "CDMT-6B2CEDA4":
|
||||
case "CDMT-8C2B298B":
|
||||
case "CDMT-A452A1B3":
|
||||
case "CDMT-A773567D":
|
||||
case "CDMT-C16F2F43":
|
||||
case "CDMT-D5D6C225":
|
||||
case "CDMT-DF3B089B":
|
||||
case "CDMT-F8D0D70F":
|
||||
case "CDMT-FE92FDAF":
|
||||
billtype.put("number", "cdm_recbill_business_BT_S");
|
||||
break;
|
||||
//银行本票
|
||||
case "106":
|
||||
billtype.put("number", "cdm_recbill_check_BT_S");
|
||||
break;
|
||||
//支票
|
||||
case "105":
|
||||
case "CDMT-F7ABAB34":
|
||||
billtype.put("number", "cdm_recbill_promissory_BT_S");
|
||||
break;
|
||||
}
|
||||
map.put("billtype", billtype);
|
||||
}
|
||||
|
||||
if (map.get("receiver") != null) {//receiver_number
|
||||
|
@ -100,6 +156,122 @@ public class TicketRegistration implements Serializable, ApiSavePlugin {
|
|||
societycreditcode.put("number", objects[0].getString("number"));
|
||||
map.put("receiver", societycreditcode);
|
||||
}
|
||||
|
||||
// 票据类型编码
|
||||
Map<String, Object> draftbilltype = (Map<String, Object>) map.get("draftbilltype");
|
||||
String draftbilltype_number = draftbilltype.get("number").toString();
|
||||
|
||||
Map<String, Object> billtype = new HashMap<>();
|
||||
|
||||
// 承兑人全称.编码(合作金融机构)accepterfinorg_number
|
||||
Map<String, Object> accepterfinorg;
|
||||
|
||||
// 承兑人全称.星空组织编码(组织)acceptercompany_shkd_xkorgnumber
|
||||
Map<String, Object> acceptercompany;
|
||||
|
||||
switch (draftbilltype_number) {
|
||||
//银行承兑汇票
|
||||
case "101":
|
||||
billtype.put("number", "cdm_paybill_bank_BT_S");
|
||||
|
||||
accepterfinorg = (Map<String, Object>) map.get("accepterfinorg");
|
||||
if (accepterfinorg != null && accepterfinorg.get("number") != null) {
|
||||
String accepterfinorg_number = accepterfinorg.get("number").toString();
|
||||
|
||||
DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,name", new QFilter("number", QCP.equals, accepterfinorg_number).toArray());
|
||||
if (bd_finorginfo.length > 0) {
|
||||
map.put("acceptername", bd_finorginfo[0].getString("name"));
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空推送联行号:{},未查到司库行名行号", map.get("draftbillno"), accepterfinorg_number);
|
||||
}
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空未推送合作金融机构联行号", map.get("draftbillno"));
|
||||
}
|
||||
break;
|
||||
|
||||
//银行承兑汇票-电票
|
||||
case "102":
|
||||
billtype.put("number", "cdm_paybill_bank_elect_BT_S");
|
||||
|
||||
accepterfinorg = (Map<String, Object>) map.get("accepterfinorg");
|
||||
if (accepterfinorg != null && accepterfinorg.get("number") != null) {
|
||||
String accepterfinorg_number = accepterfinorg.get("number").toString();
|
||||
DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,name", new QFilter("number", QCP.equals, accepterfinorg_number).toArray());
|
||||
if (bd_finorginfo.length > 0) {
|
||||
map.put("acceptername", bd_finorginfo[0].getString("name"));
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空推送联行号:{},未查到司库行名行号", map.get("draftbillno"), accepterfinorg_number);
|
||||
}
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空未推送合作金融机构联行号", map.get("draftbillno"));
|
||||
}
|
||||
break;
|
||||
|
||||
//商业承兑汇票 纸票
|
||||
case "103":
|
||||
billtype.put("number", "cdm_paybill_business_BT_S");
|
||||
|
||||
acceptercompany = (Map<String, Object>) map.get("acceptercompany");
|
||||
if (acceptercompany != null && acceptercompany.get("shkd_xkorgnumber") != null) {
|
||||
String acceptercompany_shkd_xkorgnumber = acceptercompany.get("shkd_xkorgnumber").toString();
|
||||
DynamicObject[] bos_adminorg = BusinessDataServiceHelper.load("bos_adminorg", "id,number,name,shkd_xkorgnumber", new QFilter("shkd_xkorgnumber", QCP.equals, acceptercompany_shkd_xkorgnumber).toArray());
|
||||
if (bos_adminorg.length > 0) {
|
||||
map.put("acceptername", bos_adminorg[0].getString("name"));
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空推送星空组织编码:{},未查到司库行名行号", map.get("draftbillno"), acceptercompany_shkd_xkorgnumber);
|
||||
}
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空未推送星空组织编码", map.get("draftbillno"));
|
||||
}
|
||||
break;
|
||||
|
||||
//银行本票
|
||||
case "106":
|
||||
billtype.put("number", "cdm_paybill_check_BT_S");
|
||||
break;
|
||||
|
||||
//支票
|
||||
case "105":
|
||||
case "CDMT-F7ABAB34":
|
||||
billtype.put("number", "cdm_paybill_promissory_BT_S");
|
||||
break;
|
||||
|
||||
//商业承兑电票
|
||||
case "104":
|
||||
case "CDMT-005D63A9":
|
||||
case "CDMT-08B7B711":
|
||||
case "CDMT-16FEE117":
|
||||
case "CDMT-23C7A4D1":
|
||||
case "CDMT-491D50C5":
|
||||
case "CDMT-4980CF6D":
|
||||
case "CDMT-550FDEAC":
|
||||
case "CDMT-5CD7302F":
|
||||
case "CDMT-6B2CEDA4":
|
||||
case "CDMT-8C2B298B":
|
||||
case "CDMT-A452A1B3":
|
||||
case "CDMT-A773567D":
|
||||
case "CDMT-C16F2F43":
|
||||
case "CDMT-D5D6C225":
|
||||
case "CDMT-DF3B089B":
|
||||
case "CDMT-F8D0D70F":
|
||||
case "CDMT-FE92FDAF":
|
||||
billtype.put("number", "cdm_paybill_business_elec_BT_S");
|
||||
|
||||
acceptercompany = (Map<String, Object>) map.get("acceptercompany");
|
||||
if (acceptercompany != null && acceptercompany.get("shkd_xkorgnumber") != null) {
|
||||
String acceptercompany_shkd_xkorgnumber = acceptercompany.get("shkd_xkorgnumber").toString();
|
||||
DynamicObject[] bos_adminorg = BusinessDataServiceHelper.load("bos_adminorg", "id,number,name,shkd_xkorgnumber", new QFilter("shkd_xkorgnumber", QCP.equals, acceptercompany_shkd_xkorgnumber).toArray());
|
||||
if (bos_adminorg.length > 0) {
|
||||
map.put("acceptername", bos_adminorg[0].getString("name"));
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空推送星空组织编码:{},未查到司库行名行号", map.get("draftbillno"), acceptercompany_shkd_xkorgnumber);
|
||||
}
|
||||
} else {
|
||||
logger.info("进入开票登记 → 票据号:{},星空未推送星空组织编码", map.get("draftbillno"));
|
||||
}
|
||||
break;
|
||||
}
|
||||
map.put("billtype", billtype);
|
||||
}
|
||||
} else if ("bos_org".equals(payeetype)) {
|
||||
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
package shkd.sys.sys.plugin.form;
|
||||
|
||||
import kd.bos.bill.AbstractBillPlugIn;
|
||||
import kd.sdk.plugin.Plugin;
|
||||
|
||||
import java.util.EventObject;
|
||||
|
||||
/**
|
||||
* 单据界面插件
|
||||
*/
|
||||
public class AccOpenBillEditPlugin extends AbstractBillPlugIn implements Plugin {
|
||||
|
||||
@Override
|
||||
public void afterBindData(EventObject e) {
|
||||
super.afterBindData(e);
|
||||
this.getView().setVisible(true,"opendate");
|
||||
this.getView().setEnable(true,"opendate");
|
||||
}
|
||||
}
|
|
@ -52,17 +52,19 @@ public class PaymentLinkNotesSave extends AbstractOperationServicePlugIn impleme
|
|||
new QFilter("id", QCP.equals, dataEntity.getPkValue()).toArray());
|
||||
DynamicObject fkDynamicObject = fkDynamicObjects[0];
|
||||
|
||||
String billno = fkDynamicObjects[0].getString("billno");
|
||||
|
||||
// 是否关联票据
|
||||
String shkd_xkbillstatus = fkDynamicObject.getString("shkd_xkbillstatus");
|
||||
if ("2".equals(shkd_xkbillstatus) || "3".equals(shkd_xkbillstatus) || "4".equals(shkd_xkbillstatus)) {
|
||||
logger.info("付款单已关联票据,无需再关联");
|
||||
logger.info("付款单:{} 已关联票据,无需再关联", billno);
|
||||
return;
|
||||
}
|
||||
|
||||
// 结算方式为空,则不处理
|
||||
DynamicObject settletype = fkDynamicObject.getDynamicObject("settletype");
|
||||
if (settletype == null) {
|
||||
logger.info("结算方式为空,不处理");
|
||||
logger.info("付款单:{} 结算方式为空,不处理", billno);
|
||||
return;
|
||||
}
|
||||
String settletype_number = settletype.getString("number");// 结算方式
|
||||
|
@ -70,7 +72,7 @@ public class PaymentLinkNotesSave extends AbstractOperationServicePlugIn impleme
|
|||
|
||||
// 结算号为空,则不处理
|
||||
if (fkDynamicObject.get("settletnumber") == null || "".equals(fkDynamicObject.getString("settletnumber"))) {
|
||||
logger.info("结算号为空,不处理");
|
||||
logger.info("付款单:{} 结算号为空,不处理", billno);
|
||||
return;
|
||||
}
|
||||
String settletnumber = fkDynamicObject.getString("settletnumber");//结算号
|
||||
|
@ -78,11 +80,12 @@ public class PaymentLinkNotesSave extends AbstractOperationServicePlugIn impleme
|
|||
// 来源系统
|
||||
Object businessnameObj = fkDynamicObject.get("shkd_businessname");
|
||||
if (businessnameObj == null || !"XK".equals(businessnameObj.toString())) {
|
||||
logger.info("来源系统不是XK,不处理");
|
||||
logger.info("付款单:{} 来源系统不是XK,不处理", billno);
|
||||
return;
|
||||
}
|
||||
|
||||
if ("JSFS06、JSFS07、JSFS19、JSFS20".contains(settletype_number)) {
|
||||
logger.info("付款单:{} → 进入应付票据关联关系处理", billno);
|
||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("cdm_payablebill", "id," +
|
||||
"draftbillno,releatedcasbillentrys,releatedcasbillentrys.rel_billtype,releatedcasbillentrys.rel_billno," +
|
||||
"releatedcasbillentrys.rel_billid,releatedcasbillentrys.rel_bizdate,releatedcasbillentrys.rel_billamount," +
|
||||
|
@ -140,9 +143,10 @@ public class PaymentLinkNotesSave extends AbstractOperationServicePlugIn impleme
|
|||
|
||||
// 最后保存付款单
|
||||
SaveServiceHelper.save(new DynamicObject[]{fkDynamicObject});
|
||||
logger.info("付款单:{} → 应付票据:{}关联关系处理完成", billno, settletnumber);
|
||||
}
|
||||
} else if ("JSFS09".equals(settletype_number)) {
|
||||
|
||||
logger.info("付款单:{} → 进入应收票据背书关联关系处理", billno);
|
||||
// 收票登记:cdm_receivablebill
|
||||
DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("cdm_receivablebill", "id," +
|
||||
"draftbillno,releatedcasbillentrys,releatedcasbillentrys.rel_billtype,releatedcasbillentrys.rel_billno," +
|
||||
|
@ -196,6 +200,7 @@ public class PaymentLinkNotesSave extends AbstractOperationServicePlugIn impleme
|
|||
|
||||
// 最后保存付款单
|
||||
SaveServiceHelper.save(new DynamicObject[]{fkDynamicObject});
|
||||
logger.info("付款单:{} → 应收票据:{}关联关系处理完成", billno, settletnumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue