提交 605d2a49 authored 作者: inroi's avatar inroi

微调

上级 ecc0cb78
package org.jeecg.modules.iost.ims.Util;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author Inori
*/
public class KingDeeUtil {
public static boolean isError(String json) {
Map<String, Object> map = JsonUtils.toMap(json, String.class, Object.class);
Map<String, Object> tempMap = JsonUtils.toMap(JsonUtils.toString(map.get("Result")), String.class, Object.class);
Map<String, Object> responseMap = JsonUtils.toMap(JsonUtils.toString(tempMap.get("ResponseStatus")), String.class, Object.class);
List<Object> errorList = JsonUtils.toList(JsonUtils.toString(responseMap.get("Errors")), Object.class);
return !CollectionUtils.isEmpty(errorList);
}
public static String getMessage(Object object) {
Map<String, Object> map = JsonUtils.toMap(JsonUtils.toString(object), String.class, Object.class);
String result = JsonUtils.toString(map.get("Result"));
Map<String, Object> toMap = JsonUtils.toMap(result, String.class, Object.class);
String responseStatus = JsonUtils.toString(toMap.get("ResponseStatus"));
Map<String, Object> objectMap = JsonUtils.toMap(responseStatus, String.class, Object.class);
List<Object> errorList = JsonUtils.toList(JsonUtils.toString(objectMap.get("Errors")), Object.class);
StringBuilder message = new StringBuilder();
for (Object obj : errorList) {
Map<String, Object> messageMap = JsonUtils.toMap(JsonUtils.toString(obj), String.class, Object.class);
if (StringUtils.isBlank(message)) {
message.append(messageMap.get("Message").toString());
} else {
message.append(",").append(messageMap.get("Message").toString());
}
}
return message.toString();
}
public static List<Map<String, Object>> getSuccessEntity(String json) {
Map<String, Object> map = JsonUtils.toMap(json, String.class, Object.class);
Map<String, Object> tempMap = JsonUtils.toMap(JsonUtils.toString(map.get("Result")), String.class, Object.class);
String responseStatus = JsonUtils.toString(tempMap.get("ResponseStatus"));
Map<String, Object> responseMap = JsonUtils.toMap(responseStatus, String.class, Object.class);
List<Object> successEntityList = JsonUtils.toList(JsonUtils.toString(responseMap.get("SuccessEntitys")), Object.class);
return successEntityList.stream().map(m -> JsonUtils.toMap(JsonUtils.toString(m), String.class, Object.class)).collect(Collectors.toList());
}
}
...@@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; ...@@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.exception.DataRepeatException; import org.jeecg.common.exception.DataRepeatException;
import org.jeecg.common.exception.KingdeeSelectException; import org.jeecg.common.exception.KingdeeSelectException;
import org.jeecg.modules.iost.ims.Util.ImsLogUtil; import org.jeecg.modules.iost.ims.Util.*;
import org.jeecg.modules.iost.ims.Util.JsonUtil;
import org.jeecg.modules.iost.ims.Util.MapUtils;
import org.jeecg.modules.iost.ims.entity.ImsProductionpicking; import org.jeecg.modules.iost.ims.entity.ImsProductionpicking;
import org.jeecg.modules.iost.ims.kingdeeapi.ProPickingKingdeeApi; import org.jeecg.modules.iost.ims.kingdeeapi.ProPickingKingdeeApi;
import org.jeecg.modules.iost.ims.mapper.ImsProductionpickingMapper; import org.jeecg.modules.iost.ims.mapper.ImsProductionpickingMapper;
...@@ -140,6 +138,13 @@ public class ImsProductionpickingServiceImpl extends ServiceImpl<ImsProductionpi ...@@ -140,6 +138,13 @@ public class ImsProductionpickingServiceImpl extends ServiceImpl<ImsProductionpi
for (Map<String, String> stringStringMap : pushResult) { for (Map<String, String> stringStringMap : pushResult) {
//根据父单据的明细序号作为子单据的源单分录内码和主键来查询明细主键 //根据父单据的明细序号作为子单据的源单分录内码和主键来查询明细主键
List<Object> list1 = proPickingKingdeeApi.select(needmaps.get(SEQ).toString(), stringStringMap.get("FID")); List<Object> list1 = proPickingKingdeeApi.select(needmaps.get(SEQ).toString(), stringStringMap.get("FID"));
if (list1.get(0).toString().contains("Errors")) {
throw new KingdeeSelectException("操作失败", KingDeeUtil.getMessage(list1.get(0)), code);
}
//如果有错误删除整个单据
String fid = proPickingKingdeeApi.delete(stringStringMap.get("FID"));
//修改单据带入的过滤条件 //修改单据带入的过滤条件
needmaps.put("FID", stringStringMap.get("FID")); needmaps.put("FID", stringStringMap.get("FID"));
needmaps.put("FBILLNO", stringStringMap.get("FBILLNO")); needmaps.put("FBILLNO", stringStringMap.get("FBILLNO"));
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论