收款单从规则携带客户标记;手动和定时拉取sap的合作银行类型为空,如果供应商只有一个账号则携带
This commit is contained in:
parent
887d2f761c
commit
8243fe8dae
|
|
@ -580,34 +580,64 @@ public class SappzFormPlugin extends AbstractFormPlugin {
|
|||
String assacct = (String) this.getModel().getValue("shjh_description", selectRow);//合作银行类型
|
||||
DynamicObjectCollection bankentrys = party.getDynamicObjectCollection("entry_bank");//银行信息分录
|
||||
if (!bankentrys.isEmpty()) {
|
||||
boolean ispp = false;
|
||||
for (DynamicObject bankentry : bankentrys) {
|
||||
if (assacct.equals(bankentry.getString("shjh_banktype"))) {
|
||||
ispp = true;
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
return;
|
||||
boolean ispp = false;//sap合作银行类型是否与金蝶供应商银行账号匹配
|
||||
//如果sap的合作银行类型为空,再判断供应商银行分录是否只有一个,只有一个时,携带此银行
|
||||
if(EsbUtils.isEmpty(assacct) && bankentrys.size() == 1){
|
||||
DynamicObject bankentry = bankentrys.get(0);
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
return;
|
||||
}
|
||||
if (null == bank) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
return;
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
return;
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
ispp = true;
|
||||
}else if(!EsbUtils.isEmpty(assacct) && bankentrys.size() > 1){
|
||||
for (DynamicObject bankentry : bankentrys) {
|
||||
if (assacct.equals(bankentry.getString("shjh_banktype"))) {
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
return;
|
||||
}
|
||||
if (null == bank) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
return;
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
return;
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
ispp = true;
|
||||
break;
|
||||
}
|
||||
if (null == bank) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
return;
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
return;
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
}
|
||||
}
|
||||
|
||||
if (!ispp) {
|
||||
handleError("同步失败,凭证号:" + fkBillNum + "的合作银行类型无匹配数据(供应商)", fkBillNum, apimenthod, null);
|
||||
this.getView().showMessage("同步失败,凭证号:" + fkBillNum + "的合作银行类型无匹配数据(供应商)");
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
bill.set("shjh_dfhm", oppunit);//收款单备注字段
|
||||
bill.set("payertype", "bd_customer");//付款人类型:客户
|
||||
// 2025/6/18 优化: 先根据规则指定的付款人赋值
|
||||
if (bill.getString("payername")==null || "".equals(bill.getString("payername")) || bill.getLong("payer")==0L) {
|
||||
//判断收款单是否从规则和客户映射表取过数据,如果取过了,则设置为true;没取过,则取值
|
||||
if (!bill.getBoolean("shjh_xdgzkh")) {
|
||||
carryCustomerRule(entry,bill,oppunit,companyId);
|
||||
// DynamicObject ePayerid = entry.getDynamicObject("e_payerid");
|
||||
// if (null != ePayerid) {
|
||||
|
|
@ -609,6 +610,7 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
DynamicObject shjhCustomer = shjhDfhmcust.getDynamicObject("shjh_customer");
|
||||
if (null != shjhCustomer) {
|
||||
bill.set("payer", shjhCustomer.getPkValue()); //付款人id
|
||||
bill.set("payernumber", shjhCustomer.getString("number")); //付款人编码
|
||||
bill.set("payername", shjhCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
} else {
|
||||
|
|
@ -616,6 +618,7 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
DynamicObject ePayerid = entry.getDynamicObject("e_payerid");
|
||||
if (null != ePayerid) {
|
||||
bill.set("payer", ePayerid.getPkValue()); //付款人id
|
||||
bill.set("payernumber", ePayerid.getString("number")); //付款人编码
|
||||
bill.set("payername", ePayerid.getString("name")); //付款人名称
|
||||
} else {
|
||||
//3.规则生单未配置客户——>取收款入账中心客户
|
||||
|
|
@ -627,12 +630,14 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
if (null != bd_customer ) {
|
||||
if (bd_customer.length==1){
|
||||
bill.set("payer", bd_customer[0].getPkValue()); //付款人id
|
||||
bill.set("payernumber", bd_customer[0].getString("number")); //付款人编码
|
||||
bill.set("payername", bd_customer[0].getString("name")); //付款人名称
|
||||
}else if (bd_customer.length>1){
|
||||
for (int i = 0; i < bd_customer.length; i++) {
|
||||
DynamicObjectCollection dynamicObjectCollection = bd_customer[i].getDynamicObjectCollection("shjh_entry_five");
|
||||
if (dynamicObjectCollection.size()!=0){
|
||||
bill.set("payer", bd_customer[i].getPkValue()); //付款人id
|
||||
bill.set("payernumber", bd_customer[i].getString("number")); //付款人编码
|
||||
bill.set("payername", bd_customer[i].getString("name")); //付款人名称
|
||||
break;
|
||||
}
|
||||
|
|
@ -645,11 +650,13 @@ public class RecBillSaveOperation extends AbstractOperationServicePlugIn impleme
|
|||
DynamicObject bdCustomer = BusinessDataServiceHelper.loadSingle("bd_customer", qFilter1.toArray());
|
||||
if (null != bdCustomer) {
|
||||
bill.set("payer", bdCustomer.getPkValue()); //付款人id
|
||||
bill.set("payernumber", bdCustomer.getString("number")); //付款人编码
|
||||
bill.set("payername", bdCustomer.getString("name")); //付款人名称
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
bill.set("shjh_xdgzkh", true);//设置收款单标记位 从规则携带客户等信息 为true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -41,36 +41,35 @@ public class QuerySapCreatePayApplyTask extends AbstractTask {
|
|||
private final static Log logger = LogFactory.getLog(QuerySapCreatePayApplyTask.class);
|
||||
@Override
|
||||
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
|
||||
|
||||
// 获取临期天数并转换
|
||||
String lq = (String) map.get("临期_后");
|
||||
String lq1 = (String) map.get("临期_前");
|
||||
|
||||
String lq = (String) map.get("临期_后");
|
||||
// 检查是否有有效的临期数据
|
||||
if (StringUtils.isEmpty(lq) && StringUtils.isEmpty(lq1)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取当前日期
|
||||
//获取当前日期
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
|
||||
int daysBefore = Integer.parseInt(lq1);//临期_前
|
||||
int daysAfter = Integer.parseInt(lq);//临期_后
|
||||
int totalDays = daysBefore + daysAfter;//总天数,后面按照每30天调用一次接口
|
||||
//计算按照30天为一个循环,需要循环的次数
|
||||
|
||||
// 计算开始日期(临期_前表示今天之前的天数)
|
||||
LocalDate startDate = currentDate;
|
||||
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); // 结束日期
|
||||
String formattedNewDate = endDate.format(formatter); // 结束日期
|
||||
|
||||
JSONArray IT_LIST = new JSONArray();
|
||||
// 添加SAP应付凭到期日过滤条件
|
||||
|
|
@ -121,7 +120,7 @@ public class QuerySapCreatePayApplyTask extends AbstractTask {
|
|||
*/
|
||||
private Map<String, DynamicObject> getPayapply(JSONArray IT_ITEMs){
|
||||
Map<String, DynamicObject> bills = new HashMap<>();
|
||||
JSONObject it_list;
|
||||
JSONObject it_list;//sap单个应付凭证
|
||||
String shjh_payee = "";//往来类型
|
||||
String shjh_payeebanknum = "";//往来户名称
|
||||
// 定义往来类型和对应值的映射
|
||||
|
|
@ -332,31 +331,60 @@ public class QuerySapCreatePayApplyTask extends AbstractTask {
|
|||
DynamicObjectCollection bankentrys = party.getDynamicObjectCollection("entry_bank");//银行信息分录
|
||||
if (!bankentrys.isEmpty()) {
|
||||
boolean ispp = false;//sap合作银行类型是否与金蝶供应商银行账号匹配
|
||||
for (DynamicObject bankentry : bankentrys) {
|
||||
if (assacct.equals(bankentry.getString("shjh_banktype"))) {
|
||||
ispp = true;
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", false, "API");
|
||||
continue;
|
||||
//如果sap的合作银行类型为空,再判断供应商银行分录是否只有一个,只有一个时,携带此银行
|
||||
if(EsbUtils.isEmpty(assacct) && bankentrys.size() == 1){
|
||||
DynamicObject bankentry = bankentrys.get(0);
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
if (null == bank) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
ispp = true;
|
||||
}else if(!EsbUtils.isEmpty(assacct) && bankentrys.size() > 1){
|
||||
for (DynamicObject bankentry : bankentrys) {
|
||||
if (assacct.equals(bankentry.getString("shjh_banktype"))) {
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
if (null == bank) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
ispp = true;
|
||||
break;
|
||||
}
|
||||
if (null == bank) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
logger.error("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", false, "API");
|
||||
continue;
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
}
|
||||
}
|
||||
if (!ispp) {
|
||||
|
|
@ -370,7 +398,7 @@ public class QuerySapCreatePayApplyTask extends AbstractTask {
|
|||
continue;
|
||||
}
|
||||
}else {
|
||||
//客户
|
||||
//客户 默认取第一行银行信息
|
||||
DynamicObjectCollection entryBank = party.getDynamicObjectCollection("entry_bank");
|
||||
if (!entryBank.isEmpty()) {
|
||||
DynamicObject bankentry = entryBank.get(0);
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ public class ApplyAdjustBillControler {
|
|||
if (org == null) {
|
||||
return handleErrorAndReturn(apiResultExt, "同步失败,调整单号:" + fkBillNum + "的组织编码不存在", fkBillNum, jsonBodyString);
|
||||
}
|
||||
|
||||
//todo 目前费控传过来的行号是整数,前面没有0 需要自动补全
|
||||
String sapuniquevalue = companyNum + year + voucherNum + voucherLineNum; // SAP应付凭证ID
|
||||
DynamicObject ap_payapply = BusinessDataServiceHelper.loadSingle(AP_PAYAPPLY, new QFilter[]{new QFilter("shjh_sapuniquevalue", QCP.equals, sapuniquevalue)});
|
||||
|
||||
|
|
@ -703,34 +703,64 @@ public class ApplyAdjustBillControler {
|
|||
if ("供应商".equals(asstacttype)) {
|
||||
DynamicObjectCollection bankentrys = party.getDynamicObjectCollection("entry_bank");//银行信息分录
|
||||
if (!bankentrys.isEmpty()) {
|
||||
boolean ispp = false;
|
||||
for (DynamicObject bankentry : bankentrys) {
|
||||
if (assacct.equals(bankentry.getString("shjh_banktype"))) {
|
||||
ispp = true;
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)";
|
||||
boolean ispp = false;//sap合作银行类型是否与金蝶供应商银行账号匹配
|
||||
//如果sap的合作银行类型为空,再判断供应商银行分录是否只有一个,只有一个时,携带此银行
|
||||
if(EsbUtils.isEmpty(assacct) && bankentrys.size() == 1){
|
||||
DynamicObject bankentry = bankentrys.get(0);
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)";
|
||||
}
|
||||
if (null == bank) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)";
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)";
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
ispp = true;
|
||||
}else if(!EsbUtils.isEmpty(assacct) && bankentrys.size() > 1){
|
||||
for (DynamicObject bankentry : bankentrys) {
|
||||
if (assacct.equals(bankentry.getString("shjh_banktype"))) {
|
||||
String bankaccount = bankentry.getString("bankaccount");
|
||||
DynamicObject bank = bankentry.getDynamicObject("bank");
|
||||
String accountname = bankentry.getString("accountname");
|
||||
// 检查银行账号,开户银行,账户名称是否为空
|
||||
if (bankaccount == null || bankaccount.trim().isEmpty()) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的银行账号为空(供应商)";
|
||||
}
|
||||
if (null == bank) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)";
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)";
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
ispp = true;
|
||||
break;
|
||||
}
|
||||
if (null == bank) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的开户银行为空(供应商)";
|
||||
}
|
||||
if (accountname == null || accountname.trim().isEmpty()) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)", false, "API");
|
||||
return "同步失败,凭证号:" + fkBillNum + "的账户名称为空(供应商)";
|
||||
}
|
||||
ap_payapply_entry.set("e_assacct", bankaccount);//银行账号
|
||||
ap_payapply_entry.set("e_bebank", bank);//开户银行
|
||||
ap_payapply_entry.set("shjh_asstactrealname", accountname);//账户名称
|
||||
}
|
||||
}
|
||||
|
||||
if (!ispp) {
|
||||
log.error("同步失败,凭证号:" + fkBillNum + "的合作银行类型无匹配数据(供应商)");
|
||||
JhzjUtils.saveLog(fkBillNum, apimenthod, it_list.toJSONString(), "同步失败,凭证号:" + fkBillNum + "的合作银行类型无匹配数据(供应商)", false, "API");
|
||||
|
|
@ -816,7 +846,7 @@ public class ApplyAdjustBillControler {
|
|||
* @param ap_payapply 付款申请单的动态对象
|
||||
* @param uuid 单据号
|
||||
*/
|
||||
public static void setPaymentType(DynamicObject ap_payapply, String uuid) {
|
||||
public void setPaymentType(DynamicObject ap_payapply, String uuid) {
|
||||
// String paymentTypeName = "1221020200".equals(accountingsubject) ? "对私付款" : "对公付款";
|
||||
// QFilter Q9 = new QFilter("name", QCP.equals, paymentTypeName);
|
||||
// DynamicObject paytype = BusinessDataServiceHelper.loadSingle(CAS_PAYMENTBILLTYPE, new QFilter[]{Q9});
|
||||
|
|
|
|||
Loading…
Reference in New Issue