精密-物料推送-自定义字段取值优化

This commit is contained in:
mzr 2025-10-17 16:10:16 +08:00
parent 6930bf0197
commit bef945a2a6
1 changed files with 51 additions and 7 deletions

View File

@ -170,12 +170,7 @@ public class MaterialToJmQmsListener implements IBusinessListener {
contentObj.put("zhxs", unitMap.getOrDefault("convertRate", "1.00")); // 转换系数
contentObj.put("flag_fq", statusCode); // 1/0 传递1代表物料废弃
contentObj.put("bz", vo.getMemo()); // 备注信息
contentObj.put("djzl", vo.getDef28()); // 单台重量净重
contentObj.put("djzl_mz", vo.getDef27()); // 单件重量毛重
contentObj.put("jmkzl_bkhs", vo.getDef32()); // 不可回收浇冒口重量
contentObj.put("jmkzl_khs", vo.getDef33()); // 可回收浇冒口重量
contentObj.put("lxzl", vo.getDef31()); // 铝屑重量
contentObj.put("cz", vo.getDef5()); // 材质
setDefVal(vo, contentObj);
JSONArray contentArr = new JSONArray();
contentArr.add(contentObj);
singleObj.put("Content", contentArr);
@ -183,6 +178,55 @@ public class MaterialToJmQmsListener implements IBusinessListener {
}
}
/**
* 设置自定义字段的值
*
* @param vo
* @param contentObj
*/
private void setDefVal(MaterialVO vo, JSONObject contentObj) {
Map<String, String> defParams = MyHelper.getConfigParams("jmqy-def", null);
Set<String> numFields = new HashSet<>(Arrays.asList(
"djzl", // 单台重量净重
"djzl_mz",// 单件重量毛重
"jmkzl_bkhs",// 不可回收浇冒口重量
"jmkzl_khs", // 可回收浇冒口重量
"lxzl"// 铝屑重量
));
Set<String> strFields = new HashSet<>(Arrays.asList(
"cz"// 材质
));
// 处理数值型字段
for (String field : numFields) {
String defField = defParams.get("ma_" + field);
if (MMValueCheck.isEmpty(defField)) {
contentObj.put(field, 0);
continue;
}
Object value = vo.getAttributeValue(defField);
if (value == null || value.toString().trim().isEmpty()) {
contentObj.put(field, 0);
} else {
contentObj.put(field, value);
}
}
// 处理字符串型字段
for (String field : strFields) {
String defField = defParams.get("ma_" + field);
if (MMValueCheck.isEmpty(defField)) {
contentObj.put(field, "");
continue;
}
Object value = vo.getAttributeValue(defField);
if (value == null) {
contentObj.put(field, "");
} else {
contentObj.put(field, value.toString().trim());
}
}
}
/**
* 推送同步数据
*/
@ -204,7 +248,7 @@ public class MaterialToJmQmsListener implements IBusinessListener {
if (!"true".equals(resultObj.getString("success"))) {
logger.error("QMS-Material-error,result[" + resultObj.toJSONString() + "]");
throw new BusinessException("QMS-Material-error:" + resultObj.getString("message"));
throw new BusinessException("精密传启源物料错误:" + resultObj.getString("message"));
}
}