feat:云之家回写增加日志输出

This commit is contained in:
zzs 2024-12-16 15:02:18 +08:00
parent 19c58d6a6d
commit 6c064ad873

View File

@ -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<Object> 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<Object> 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<Object> fail = CustomApiResult.fail("501", e.getMessage());
return fail;
e.printStackTrace();
return CustomApiResult.fail("501", e.getMessage());
} finally {
SaveServiceHelper.save(new DynamicObject[]{ialog});
}
CustomApiResult<Object> ces = CustomApiResult.success("调用成功");
return ces;
return CustomApiResult.success("调用成功");
}
/**
@ -206,6 +221,7 @@ public class YZJAuditController {
CustomApiResult<Object> ces = CustomApiResult.success("调用成功");
return ces;
}
/**
* 云之家框架合同 合同签章回写
*