diff --git a/src/main/java/com/yem/wm/syn/eas/api/controller/YZJAuditController.java b/src/main/java/com/yem/wm/syn/eas/api/controller/YZJAuditController.java index 6d91e353..06cdcff9 100644 --- a/src/main/java/com/yem/wm/syn/eas/api/controller/YZJAuditController.java +++ b/src/main/java/com/yem/wm/syn/eas/api/controller/YZJAuditController.java @@ -5,6 +5,7 @@ import com.yem.ia.intebilllogon.Utils.BackfilljsonAssignUtils; import com.yem.wm.syn.eas.api.dto.IntebilllogonAuditDTO; import com.yem.wm.syn.eas.api.service.IYZJAuditService; import com.yem.wm.syn.eas.api.service.impl.YZJAuditServiceImpl; +import com.yem.wm.utils.YEM; import com.yem.wm.utils.YunzhijiaUtils; import kd.bos.dataentity.OperateOption; import kd.bos.dataentity.entity.DynamicObject; @@ -59,11 +60,12 @@ public class YZJAuditController { */ @ApiPostMapping("/rewriting") public CustomApiResult rewriting(@NotNull @ApiParam("参数") String data) throws IOException { + DynamicObject billObj = null; try { JSONObject json = JSONObject.parseObject(data); // JSONObject data1 = json.getJSONObject("data"); JSONObject basicInfo = json.getJSONObject("basicInfo"); - logger.info("云之家回写,入参"+data); + logger.info("云之家回写,入参" + data); logger.info(json.toJSONString()); String formCodeId = basicInfo.getString("formCodeId"); //通过表单定义ID获取模板 @@ -80,14 +82,28 @@ public class YZJAuditController { //单据类型 String bos_entityobjectnum = yem_ia_intebilllogon.getString("yem_formid.number"); //获取单据 - DynamicObject billObj = BusinessDataServiceHelper.loadSingle(bos_entityobjectnum, new QFilter[]{new QFilter("yem_forminstid", QCP.equals, formInstId)}); - if (billObj != null) { - billObj = BusinessDataServiceHelper.loadSingle(billObj.get("id"), bos_entityobjectnum); - } - //通过表单实例ID获取日志对象 - DynamicObject ialog = BusinessDataServiceHelper.loadSingle("yem_ialog", new QFilter[]{new QFilter("yem_forminstid", QCP.equals, billObj.get("yem_forminstid"))}); - ialog.set("yem_writeback", data); + billObj = BusinessDataServiceHelper.loadSingle(bos_entityobjectnum, new QFilter[]{new QFilter("yem_forminstid", QCP.equals, formInstId)}); + } catch (Exception e) { + e.printStackTrace(); + return CustomApiResult.fail("501", e.getMessage()); + } + DynamicObject ialog; + + if (YEM.isNotEmpty(billObj) && billObj.containsProperty("yem_forminstid")) { + //通过表单实例ID获取日志对象 + ialog = BusinessDataServiceHelper.loadSingle("yem_ialog", new QFilter[]{new QFilter("yem_forminstid", QCP.equals, billObj.get("yem_forminstid"))}); + } else { + return CustomApiResult.fail("501", "获取审批单据失败!"); + } + + if (YEM.isNotEmpty(ialog)) { + ialog.set("yem_writeback", data); + } else { + return CustomApiResult.fail("501", "获取审批日志失败!"); + } + + try { //TODO 调用云之家获取审批结果接口 JSONObject reqjson = new JSONObject(); reqjson.put("flowInstId", billObj.get("yem_flowinstid")); @@ -111,31 +127,30 @@ public class YZJAuditController { dynamicObject.set("yem_synfalt", "同步失败,点击按钮查看失败详情!"); dynamicObject.set("yem_synfalt_tag", "同步失败,失败原因:" + audit); logger.info("同步失败,失败原因:" + audit); - ialog.set("yem_error","调用单据审核失败"); - ialog.set("yem_error_tag",audit); - ialog.set("yem_success",false); + ialog.set("yem_error", "调用单据审核失败"); + ialog.set("yem_error_tag", audit); + ialog.set("yem_success", false); SaveServiceHelper.update(dynamicObject); // SaveServiceHelper.save(new DynamicObject[]{ialog}); OperationServiceHelper.executeOperate("unsubmit", billObj.getDynamicObjectType().getName(), new Object[]{billObj.get("id")}, OperateOption.create()); - CustomApiResult fail = CustomApiResult.fail("501", audit); - return fail; + return CustomApiResult.fail("501", audit); } else { - ialog.set("yem_success",true); - ialog.set("yem_error"," "); - ialog.set("yem_error_tag"," "); + ialog.set("yem_success", true); + ialog.set("yem_error", " "); + ialog.set("yem_error_tag", " "); dynamicObject.set("yem_synfalt", "同步成功"); SaveServiceHelper.update(dynamicObject); // SaveServiceHelper.save(new DynamicObject[]{ialog}); } } - SaveServiceHelper.save(new DynamicObject[]{ialog}); } catch (Exception e) { - CustomApiResult fail = CustomApiResult.fail("501", e.getMessage()); - return fail; + e.printStackTrace(); + return CustomApiResult.fail("501", e.getMessage()); + } finally { + SaveServiceHelper.save(new DynamicObject[]{ialog}); } - CustomApiResult ces = CustomApiResult.success("调用成功"); - return ces; + return CustomApiResult.success("调用成功"); } /** @@ -206,6 +221,7 @@ public class YZJAuditController { CustomApiResult ces = CustomApiResult.success("调用成功"); return ces; } + /** * 云之家框架合同 合同签章回写 *