精密-物料推送-自定义字段取值优化
This commit is contained in:
		
							parent
							
								
									6930bf0197
								
							
						
					
					
						commit
						bef945a2a6
					
				|  | @ -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")); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue