parent
f1fa766615
commit
4186bd47ae
|
|
@ -27,6 +27,8 @@ import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
import kd.bos.servicehelper.operation.OperationServiceHelper;
|
||||||
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
|
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
|
||||||
|
import shjh.jhzj7.fi.fi.webapi.model.ApiResultPayAdjustExt;
|
||||||
|
import shjh.jhzj7.fi.fi.webapi.model.ApiResultPayApplyExt;
|
||||||
import shjh.jhzj7.fi.fi.webapi.model.ApplyAdjustBillModel;
|
import shjh.jhzj7.fi.fi.webapi.model.ApplyAdjustBillModel;
|
||||||
|
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
@ -52,16 +54,20 @@ public class ApplyAdjustBillControler {
|
||||||
private static final Log log = LogFactory.getLog(ApplyAdjustBillControler.class);
|
private static final Log log = LogFactory.getLog(ApplyAdjustBillControler.class);
|
||||||
|
|
||||||
@ApiPostMapping(value = apimenthod, desc = "应付付款调整单接口")
|
@ApiPostMapping(value = apimenthod, desc = "应付付款调整单接口")
|
||||||
public CustomApiResult<ApiResult> applybill_adjust(@NotNull @Valid @ApiRequestBody(value = "入参json格式数据") ApplyAdjustBillModel applyAdjustbill) {
|
public CustomApiResult<ApiResultPayAdjustExt> applybill_adjust(@NotNull @Valid @ApiRequestBody(value = "入参json格式数据") ApplyAdjustBillModel applyAdjustbill) {
|
||||||
|
|
||||||
JSONObject json_body;
|
JSONObject json_body;
|
||||||
String jsonBodyString = null;
|
String jsonBodyString = null;
|
||||||
|
|
||||||
|
//返回值
|
||||||
|
ApiResultPayAdjustExt apiResultExt = new ApiResultPayAdjustExt();
|
||||||
try {
|
try {
|
||||||
// 解析入参,如果格式不正确,日志记录,并反馈esb7.4.1
|
// 解析入参,如果格式不正确,日志记录,并反馈esb7.4.1
|
||||||
json_body = (JSONObject) JSON.toJSON(applyAdjustbill);
|
json_body = (JSONObject) JSON.toJSON(applyAdjustbill);
|
||||||
jsonBodyString = JSON.toJSONString(json_body);
|
jsonBodyString = JSON.toJSONString(json_body);
|
||||||
} catch (JSONException e) {
|
} catch (JSONException e) {
|
||||||
return handleErrorAndReturn("应付付款调整单接口入参异常:" + e.getMessage(), "费控", null);
|
handleError("应付付款调整单接口入参异常:" + e.getMessage(), "费控", jsonBodyString);
|
||||||
|
handleErrorAndReturn(apiResultExt, "应付付款调整单接口入参异常:" + e.getMessage(), "费控", jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 公司编号+会计年度+SAP凭证号+凭证行号
|
// 公司编号+会计年度+SAP凭证号+凭证行号
|
||||||
|
|
@ -73,7 +79,7 @@ public class ApplyAdjustBillControler {
|
||||||
|
|
||||||
DynamicObject org = loadOrgByCompanyNum(companyNum);
|
DynamicObject org = loadOrgByCompanyNum(companyNum);
|
||||||
if (org == null) {
|
if (org == null) {
|
||||||
return handleErrorAndReturn("同步失败,调整单号:" + fkBillNum + "的组织编码不存在", fkBillNum, jsonBodyString);
|
return handleErrorAndReturn(apiResultExt, "同步失败,调整单号:" + fkBillNum + "的组织编码不存在", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
String sapuniquevalue = companyNum + year + voucherNum + voucherLineNum; // SAP应付凭证ID
|
String sapuniquevalue = companyNum + year + voucherNum + voucherLineNum; // SAP应付凭证ID
|
||||||
|
|
@ -83,75 +89,82 @@ public class ApplyAdjustBillControler {
|
||||||
if (ap_payapply == null) {
|
if (ap_payapply == null) {
|
||||||
log.info("不存在,从SAP获取应付凭证,生成付款申请单");
|
log.info("不存在,从SAP获取应付凭证,生成付款申请单");
|
||||||
JSONArray sappzs = querySapPz(applyAdjustbill);
|
JSONArray sappzs = querySapPz(applyAdjustbill);
|
||||||
if (null != sappzs) {
|
if (null == sappzs) {
|
||||||
log.info("SAP查询凭证接口存在凭证,准备生成付款申请单");
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + ",SAP返回:没有满足条件的记录",
|
||||||
// 存在凭证,生成付款申请单
|
fkBillNum, jsonBodyString);
|
||||||
for (Object sappz : sappzs) {
|
|
||||||
JSONObject it_list = (JSONObject) sappz;
|
|
||||||
ap_payapply = createOrUpdatePayApply(it_list,fkBillNum);
|
|
||||||
if (ap_payapply == null) {
|
|
||||||
return CustomApiResult.fail("400", "创建或更新付款申请单失败,详情查看日志");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将生成的付款申请单拆分明细
|
|
||||||
BigDecimal amounts = applyAdjustbill.getAmount();
|
|
||||||
if (amounts == null || amounts.toString().trim().isEmpty()) {
|
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "的调整金额为空", fkBillNum, null);
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
amounts = amounts.setScale(2, RoundingMode.HALF_UP);
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "的金额格式不正确: " + amounts, fkBillNum, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
DynamicObjectCollection collection = ap_payapply.getDynamicObjectCollection("entry");
|
|
||||||
if (collection.isEmpty()) {
|
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "无明细信息", fkBillNum, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
DynamicObject add = collection.get(0);
|
|
||||||
BigDecimal amount = add.getBigDecimal("e_applyamount");
|
|
||||||
int comparisonResult = amount.compareTo(amounts);
|
|
||||||
|
|
||||||
if (comparisonResult > 0) {
|
|
||||||
// 分录申请金额大于调整金额,可拆 由于新增,所以不需要考虑状态直接拆 difference(拆完剩余金额)
|
|
||||||
BigDecimal difference = amount.subtract(amounts);
|
|
||||||
add.set("e_applyamount", difference); // 拆完剩余金额
|
|
||||||
add.set("e_approvedamt", difference); // 同步核准金额
|
|
||||||
|
|
||||||
// 复制行 ,不考虑重复拆()
|
|
||||||
cloneEntryRow(add, collection, amounts, applyAdjustbill.getFkBillNum());
|
|
||||||
|
|
||||||
// 标记付款申请___来源调整单
|
|
||||||
ap_payapply.set("shjh_sourceadjustment", true);
|
|
||||||
|
|
||||||
// 保存、提交和审核付款申请单
|
|
||||||
if (!processPayApply(ap_payapply, fkBillNum, jsonBodyString)) {
|
|
||||||
return CustomApiResult.fail("400", "处理付款申请单失败,详情查看日志");
|
|
||||||
}
|
|
||||||
|
|
||||||
log.error("审核成功,费控调整单号:" + fkBillNum);
|
|
||||||
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, null, true, "API");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
log.info("SAP查询凭证接口存在凭证,准备生成付款申请单");
|
||||||
else {
|
// 存在凭证,生成付款申请单
|
||||||
|
for (Object sappz : sappzs) {
|
||||||
|
JSONObject it_list = (JSONObject) sappz;
|
||||||
|
ap_payapply = createOrUpdatePayApply(it_list, fkBillNum);
|
||||||
|
if (ap_payapply == null) {
|
||||||
|
return handleErrorAndReturn(apiResultExt, "创建或更新付款申请单失败,详情查看日志", fkBillNum,
|
||||||
|
jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将生成的付款申请单拆分明细
|
||||||
|
BigDecimal amounts = applyAdjustbill.getAmount();
|
||||||
|
if (amounts == null || amounts.toString().trim().isEmpty()) {
|
||||||
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "的调整金额为空",
|
||||||
|
fkBillNum, jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
amounts = amounts.setScale(2, RoundingMode.HALF_UP);
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "的金额格式不正确: " + amounts,
|
||||||
|
fkBillNum, jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicObjectCollection collection = ap_payapply.getDynamicObjectCollection("entry");
|
||||||
|
if (collection.isEmpty()) {
|
||||||
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "无明细信息",
|
||||||
|
fkBillNum, jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicObject add = collection.get(0);
|
||||||
|
BigDecimal amount = add.getBigDecimal("e_applyamount");
|
||||||
|
int comparisonResult = amount.compareTo(amounts);
|
||||||
|
|
||||||
|
if (comparisonResult <= 0) {
|
||||||
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum +
|
||||||
|
"的调整金额大于等于分录未调整过的申请金额", fkBillNum, jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
// 分录申请金额大于调整金额,可拆 由于新增,所以不需要考虑状态直接拆 difference(拆完剩余金额)
|
||||||
|
BigDecimal difference = amount.subtract(amounts);
|
||||||
|
add.set("e_applyamount", difference); // 拆完剩余金额
|
||||||
|
add.set("e_approvedamt", difference); // 同步核准金额
|
||||||
|
|
||||||
|
// 复制行 ,不考虑重复拆()
|
||||||
|
cloneEntryRow(add, collection, amounts, applyAdjustbill.getFkBillNum());
|
||||||
|
|
||||||
|
// 标记付款申请___来源调整单
|
||||||
|
ap_payapply.set("shjh_sourceadjustment", true);
|
||||||
|
|
||||||
|
// 保存、提交和审核付款申请单
|
||||||
|
if (!processPayApply(ap_payapply, fkBillNum, jsonBodyString)) {
|
||||||
|
return handleErrorAndReturn(apiResultExt, "处理付款申请单失败,详情查看日志(136)",
|
||||||
|
fkBillNum, jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
//成功
|
||||||
|
return handleSuccessAndReturn(ap_payapply, apiResultExt,fkBillNum, jsonBodyString +"\n" + sappzs.toJSONString());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
// 存在
|
// 存在
|
||||||
DynamicObjectCollection collection = ap_payapply.getDynamicObjectCollection("entry");
|
DynamicObjectCollection collection = ap_payapply.getDynamicObjectCollection("entry");
|
||||||
if (collection.isEmpty()) {
|
if (collection.isEmpty()) {
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "无明细信息", fkBillNum, null);
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "无明细信息", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 拆分明细
|
// 拆分明细
|
||||||
BigDecimal amounts = applyAdjustbill.getAmount();
|
BigDecimal amounts = applyAdjustbill.getAmount();
|
||||||
if (amounts == null || amounts.toString().trim().isEmpty()) {
|
if (amounts == null || amounts.toString().trim().isEmpty()) {
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "的调整金额为空", fkBillNum, null);
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "的调整金额为空", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
amounts = amounts.setScale(2, RoundingMode.HALF_UP);
|
amounts = amounts.setScale(2, RoundingMode.HALF_UP);
|
||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "的金额格式不正确: " + amounts, fkBillNum, null);
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "的金额格式不正确: " + amounts, fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 付款申请单有无标记?
|
// 付款申请单有无标记?
|
||||||
|
|
@ -163,7 +176,7 @@ public class ApplyAdjustBillControler {
|
||||||
QCP.equals, ap_payapply.getString("billno"))});
|
QCP.equals, ap_payapply.getString("billno"))});
|
||||||
if (null != psd_schedulebill) {
|
if (null != psd_schedulebill) {
|
||||||
// 存在排程,返回日志,终止
|
// 存在排程,返回日志,终止
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "已进入排程处理", fkBillNum, jsonBodyString);
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "已进入排程处理", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 不存在排程,更新拆分明细和标记(CNY20+CNY80)
|
// 不存在排程,更新拆分明细和标记(CNY20+CNY80)
|
||||||
|
|
@ -185,19 +198,18 @@ public class ApplyAdjustBillControler {
|
||||||
|
|
||||||
// 保存付款申请单
|
// 保存付款申请单
|
||||||
if (!processPayApplys(ap_payapply, fkBillNum, jsonBodyString)) {
|
if (!processPayApplys(ap_payapply, fkBillNum, jsonBodyString)) {
|
||||||
return CustomApiResult.fail("400", "处理付款申请单失败,详情查看日志");
|
return handleErrorAndReturn(apiResultExt, "处理付款申请单失败,详情查看日志(194)", fkBillNum, jsonBodyString);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log.error("审核成功,费控调整单号:" + fkBillNum);
|
//成功
|
||||||
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, null, true, "API");
|
return handleSuccessAndReturn(ap_payapply, apiResultExt,fkBillNum, jsonBodyString);
|
||||||
return CustomApiResult.success(null);
|
} else {
|
||||||
}else {
|
|
||||||
// 调整金额大于分录未调整过的申请金额,反馈无法处理
|
// 调整金额大于分录未调整过的申请金额,反馈无法处理
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "的调整金额大于分录未调整过的申请金额", fkBillNum, jsonBodyString);
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "的调整金额大于等于分录未调整过的申请金额", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
// 已标记 付款申请单剩余未调整金额? seq根据size优化,根据单号为空的分录行进行拆分(根据首行拆分)
|
||||||
// 已标记 付款申请单剩余未调整金额? seq根据size优化,根据单号为空的分录行进行拆分
|
|
||||||
// CNY20>剩余未调整,反馈无法处理
|
// CNY20>剩余未调整,反馈无法处理
|
||||||
// CNY20<=剩余未调整(假设CNY50) 更新拆分明细(CNY20+CNY30)
|
// CNY20<=剩余未调整(假设CNY50) 更新拆分明细(CNY20+CNY30)
|
||||||
// 不存在排程,更新拆分明细和标记(CNY20+CNY80)
|
// 不存在排程,更新拆分明细和标记(CNY20+CNY80)
|
||||||
|
|
@ -225,33 +237,27 @@ public class ApplyAdjustBillControler {
|
||||||
|
|
||||||
// 保存付款申请单
|
// 保存付款申请单
|
||||||
if (!processPayApplys(ap_payapply, fkBillNum, jsonBodyString)) {
|
if (!processPayApplys(ap_payapply, fkBillNum, jsonBodyString)) {
|
||||||
return CustomApiResult.fail("400", "处理付款申请单失败,详情查看日志");
|
return handleErrorAndReturn(apiResultExt, "处理付款申请单失败,详情查看日志(235)", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.error("审核成功,费控调整单号:" + fkBillNum);
|
//成功
|
||||||
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, null, true, "API");
|
return handleSuccessAndReturn(ap_payapply, apiResultExt,fkBillNum, jsonBodyString);
|
||||||
ApiResult customApiResult = new ApiResult("");
|
} else {
|
||||||
HashMap<String, String> map = new HashMap<>();
|
|
||||||
customApiResult.setHeaders(map);
|
|
||||||
customApiResult.getHeaders().put("billno",fkBillNum);
|
|
||||||
customApiResult.getHeaders().put("billid",""+ap_payapply.getPkValue());
|
|
||||||
return CustomApiResult.success(customApiResult);
|
|
||||||
}else {
|
|
||||||
// 调整金额大于分录未调整过的申请金额,反馈无法处理
|
// 调整金额大于分录未调整过的申请金额,反馈无法处理
|
||||||
return handleErrorAndReturn("同步失败, 调整单号:" + fkBillNum + "的调整金额大于分录未调整过的申请金额", fkBillNum, jsonBodyString);
|
return handleErrorAndReturn(apiResultExt, "同步失败, 调整单号:" + fkBillNum + "的调整金额大于分录未调整过的申请金额", fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return CustomApiResult.success(null);
|
return handleErrorAndReturn(apiResultExt, "同步失败(250), 调整单号:" + fkBillNum , fkBillNum, jsonBodyString);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 调取SAP凭证接口
|
* 调取SAP凭证接口
|
||||||
*/
|
*/
|
||||||
private static JSONArray querySapPz(ApplyAdjustBillModel applyAdjustbill){
|
private static JSONArray querySapPz(ApplyAdjustBillModel applyAdjustbill) {
|
||||||
JSONArray IT_LIST = new JSONArray();
|
JSONArray IT_LIST = new JSONArray();
|
||||||
// 添加公司过滤条件
|
// 添加公司过滤条件
|
||||||
addFilterCondition(IT_LIST, "BUKRS", applyAdjustbill.getCompanyNum(), applyAdjustbill.getCompanyNum());
|
addFilterCondition(IT_LIST, "BUKRS", applyAdjustbill.getCompanyNum(), applyAdjustbill.getCompanyNum());
|
||||||
|
|
@ -276,8 +282,9 @@ public class ApplyAdjustBillControler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理付款申请单的保存、提交和审核操作
|
* 处理付款申请单的保存、提交和审核操作
|
||||||
* @param ap_payapply 付款申请单对象
|
*
|
||||||
* @param fkBillNum 费控单据编号
|
* @param ap_payapply 付款申请单对象
|
||||||
|
* @param fkBillNum 费控单据编号
|
||||||
* @param jsonBodyString 入参JSON字符串
|
* @param jsonBodyString 入参JSON字符串
|
||||||
* @return 操作是否成功
|
* @return 操作是否成功
|
||||||
*/
|
*/
|
||||||
|
|
@ -311,8 +318,9 @@ public class ApplyAdjustBillControler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理付款申请单的保存操作
|
* 处理付款申请单的保存操作
|
||||||
* @param ap_payapply 付款申请单对象
|
*
|
||||||
* @param fkBillNum 费控单据编号
|
* @param ap_payapply 付款申请单对象
|
||||||
|
* @param fkBillNum 费控单据编号
|
||||||
* @param jsonBodyString 入参JSON字符串
|
* @param jsonBodyString 入参JSON字符串
|
||||||
* @return 操作是否成功
|
* @return 操作是否成功
|
||||||
*/
|
*/
|
||||||
|
|
@ -356,7 +364,7 @@ public class ApplyAdjustBillControler {
|
||||||
newRow.set("e_closestatus", source.get("e_closestatus"));
|
newRow.set("e_closestatus", source.get("e_closestatus"));
|
||||||
|
|
||||||
// 设置特定属性
|
// 设置特定属性
|
||||||
newRow.set("seq", size+1);
|
newRow.set("seq", size + 1);
|
||||||
newRow.set("e_applyamount", amounts); // 调整金额
|
newRow.set("e_applyamount", amounts); // 调整金额
|
||||||
newRow.set("e_approvedamt", amounts); // 核准金额
|
newRow.set("e_approvedamt", amounts); // 核准金额
|
||||||
newRow.set("shjh_applyadjustcode", fkBillNum); // 付款调整单号
|
newRow.set("shjh_applyadjustcode", fkBillNum); // 付款调整单号
|
||||||
|
|
@ -366,6 +374,7 @@ public class ApplyAdjustBillControler {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据公司编号加载组织信息
|
* 根据公司编号加载组织信息
|
||||||
|
*
|
||||||
* @param companyNum 公司编号
|
* @param companyNum 公司编号
|
||||||
* @return 组织信息的动态对象
|
* @return 组织信息的动态对象
|
||||||
*/
|
*/
|
||||||
|
|
@ -380,7 +389,7 @@ public class ApplyAdjustBillControler {
|
||||||
* @param it_list SAP查到的凭证信息
|
* @param it_list SAP查到的凭证信息
|
||||||
* @return 付款申请单的动态对象
|
* @return 付款申请单的动态对象
|
||||||
*/
|
*/
|
||||||
private DynamicObject createOrUpdatePayApply(JSONObject it_list,String fkBillNum) {
|
private DynamicObject createOrUpdatePayApply(JSONObject it_list, String fkBillNum) {
|
||||||
String orgNum = it_list.getString("BUKRS");//公司编号,"公司代码
|
String orgNum = it_list.getString("BUKRS");//公司编号,"公司代码
|
||||||
String voucheryear = it_list.getString("GJAHR");//会计年度,会计年度
|
String voucheryear = it_list.getString("GJAHR");//会计年度,会计年度
|
||||||
String voucherentrynum = it_list.getString("BUZEI");//会计科目行项目号,行编号
|
String voucherentrynum = it_list.getString("BUZEI");//会计科目行项目号,行编号
|
||||||
|
|
@ -419,7 +428,7 @@ public class ApplyAdjustBillControler {
|
||||||
if (StringUtils.isNotEmpty(kunnr)) {
|
if (StringUtils.isNotEmpty(kunnr)) {
|
||||||
asstacttype = "客户";
|
asstacttype = "客户";
|
||||||
asstact = kunnr;
|
asstact = kunnr;
|
||||||
}else {
|
} else {
|
||||||
asstacttype = "供应商";
|
asstacttype = "供应商";
|
||||||
asstact = lifnr;
|
asstact = lifnr;
|
||||||
}
|
}
|
||||||
|
|
@ -807,16 +816,24 @@ public class ApplyAdjustBillControler {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理错误并返回失败结果
|
* 处理错误日志
|
||||||
*
|
|
||||||
* @param errorMessage 错误信息
|
* @param errorMessage 错误信息
|
||||||
* @param fkBillNum 费控单据编号
|
* @param fkBillNum 费控单据编号
|
||||||
* @param jsonBodyString 入参JSON字符串
|
* @param jsonBodyString 入参JSON字符串
|
||||||
* @return 失败的CustomApiResult对象
|
|
||||||
*/
|
*/
|
||||||
private CustomApiResult<ApiResult> handleErrorAndReturn(String errorMessage, String fkBillNum, String jsonBodyString) {
|
private static void handleError(String errorMessage, String fkBillNum, String jsonBodyString) {
|
||||||
handleError(errorMessage, fkBillNum, jsonBodyString);
|
log.error(errorMessage);
|
||||||
return CustomApiResult.fail("400", errorMessage);
|
// 可以添加更多的错误处理逻辑,如记录到数据库等
|
||||||
|
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, errorMessage, false, "API");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理成功日志
|
||||||
|
*/
|
||||||
|
private static void handleSuccess(String successMessage, String fkBillNum, String jsonBodyString) {
|
||||||
|
log.error(successMessage);
|
||||||
|
// 可以添加更多的错误处理逻辑,如记录到数据库等
|
||||||
|
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, successMessage, true, "API");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -833,19 +850,6 @@ public class ApplyAdjustBillControler {
|
||||||
CustomApiResult.fail("400", errorMessage);
|
CustomApiResult.fail("400", errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 处理错误日志
|
|
||||||
*
|
|
||||||
* @param errorMessage 错误信息
|
|
||||||
* @param fkBillNum 费控单据编号
|
|
||||||
* @param jsonBodyString 入参JSON字符串
|
|
||||||
*/
|
|
||||||
private void handleError(String errorMessage, String fkBillNum, String jsonBodyString) {
|
|
||||||
log.error(errorMessage);
|
|
||||||
// 可以添加更多的错误处理逻辑,如记录到数据库等
|
|
||||||
JhzjUtils.saveLog(fkBillNum, Apimenthod, jsonBodyString, errorMessage, false, "API");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取第一个错误信息
|
* 获取第一个错误信息
|
||||||
*
|
*
|
||||||
|
|
@ -863,4 +867,32 @@ public class ApplyAdjustBillControler {
|
||||||
}
|
}
|
||||||
return "未知错误";
|
return "未知错误";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理错误并返回失败结果
|
||||||
|
*
|
||||||
|
* @return 失败的CustomApiResult对象
|
||||||
|
*/
|
||||||
|
public static CustomApiResult<ApiResultPayAdjustExt> handleErrorAndReturn(ApiResultPayAdjustExt apiResultExt, String errorMessage, String fkBillNum, String jsonBodyString) {
|
||||||
|
handleError(errorMessage, fkBillNum, jsonBodyString);
|
||||||
|
apiResultExt.setErrorCode("400");
|
||||||
|
apiResultExt.setStatus(false);
|
||||||
|
apiResultExt.setMessage(errorMessage);
|
||||||
|
return CustomApiResult.success(apiResultExt);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理成功并返回成功结果
|
||||||
|
*
|
||||||
|
* @return 成功的CustomApiResult对象
|
||||||
|
*/
|
||||||
|
public static CustomApiResult<ApiResultPayAdjustExt> handleSuccessAndReturn(DynamicObject ap_payapply, ApiResultPayAdjustExt apiResultExt,String fkBillNum, String jsonBodyString) {
|
||||||
|
handleSuccess("费控调整单号:" + fkBillNum,fkBillNum, jsonBodyString);
|
||||||
|
apiResultExt.setErrorCode("0");
|
||||||
|
apiResultExt.setStatus(true);
|
||||||
|
apiResultExt.setMessage(null);
|
||||||
|
apiResultExt.setKdPayBillID("" + ap_payapply.getPkValue());
|
||||||
|
apiResultExt.setKdPayBillNo(ap_payapply.getString("billno"));
|
||||||
|
return CustomApiResult.success(apiResultExt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,64 @@
|
||||||
|
package shjh.jhzj7.fi.fi.webapi.model;
|
||||||
|
|
||||||
|
import kd.bos.openapi.common.custom.annotation.ApiModel;
|
||||||
|
import kd.bos.openapi.common.custom.annotation.ApiParam;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 付款调整接口返回模型
|
||||||
|
*/
|
||||||
|
@ApiModel
|
||||||
|
public class ApiResultPayAdjustExt implements Serializable {
|
||||||
|
|
||||||
|
@ApiParam("接口访问是否成功")
|
||||||
|
private Boolean status;
|
||||||
|
@ApiParam("错误码")
|
||||||
|
private String errorCode;
|
||||||
|
@ApiParam("接口调用错误信息")
|
||||||
|
private String message;
|
||||||
|
@ApiParam("金蝶付款单ID")
|
||||||
|
private String kdPayBillID;
|
||||||
|
@ApiParam("金蝶付款单号")
|
||||||
|
private String kdPayBillNo;
|
||||||
|
|
||||||
|
public Boolean getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(Boolean status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getErrorCode() {
|
||||||
|
return errorCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setErrorCode(String errorCode) {
|
||||||
|
this.errorCode = errorCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKdPayBillID() {
|
||||||
|
return kdPayBillID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKdPayBillID(String kdPayBillID) {
|
||||||
|
this.kdPayBillID = kdPayBillID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getKdPayBillNo() {
|
||||||
|
return kdPayBillNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setKdPayBillNo(String kdPayBillNo) {
|
||||||
|
this.kdPayBillNo = kdPayBillNo;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue