diff --git a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java index d92f337..2a015f8 100644 --- a/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java +++ b/mmpac/src/private/nc/bs/mmpac/pmo/pac0002/bp/rule/AfterApproveRuleSyncMes.java @@ -302,22 +302,7 @@ public class AfterApproveRuleSyncMes implements IRule { } // 通过自定义属性传 - JSONArray properties = new JSONArray(); - JSONObject SXZF16 = new JSONObject(); - JSONObject SXZF17 = new JSONObject(); - JSONObject SXZF18 = new JSONObject(); - - SXZF16.put("propertyFiled", "SXZF16"); - SXZF17.put("propertyFiled", "SXZF17"); - SXZF18.put("propertyFiled", "SXZF18"); - - SXZF16.put("propertyValue", item.getVparentbillcode()); - SXZF17.put("propertyValue", item.getVparentmorowno()); - SXZF18.put("propertyValue", head.getVtrantypecode()); - - properties.add(SXZF16); - properties.add(SXZF17); - properties.add(SXZF18); + JSONArray properties = buildProperties(head, item); data.put("properties", properties); JSONObject requestPayload = new JSONObject(); @@ -334,6 +319,51 @@ public class AfterApproveRuleSyncMes implements IRule { obmlog.info("生产订单 " + vbillcode + " 行 " + itemRow + " 已成功发送到MES系统或特定错误已被记录。"); } + /** + * 构建MES同步所需的properties数组 + * + * @param head 生产订单表头 + * @param item 生产订单明细 + * @return JSONArray properties数组 + */ + private JSONArray buildProperties(PMOHeadVO head, PMOItemVO item) { + JSONArray properties = new JSONArray(); + + // SXZF16 - 上级生产订单号 + addProperty(properties, "SXZF16", item.getVparentbillcode()); + + // SXZF17 - 上级生产订单行号 + addProperty(properties, "SXZF17", item.getVparentmorowno()); + + // SXZF18 - 生产订单交易类型编码 + addProperty(properties, "SXZF18", head.getVtrantypecode()); + + // SXZF22 - 生产订单交易类型编码 + addProperty(properties, "SXZF22", head.getVtrantypecode()); + + // SXZF23 - 生产订单主键 + addProperty(properties, "SXZF23", head.getCpmohid()); + + // SXZF24 - 生产订单明细主键 + addProperty(properties, "SXZF24", item.getCmoid()); + + return properties; + } + + /** + * 添加单个property到properties数组 + * + * @param properties JSONArray数组 + * @param propertyField 属性字段名 + * @param propertyValue 属性值 + */ + private void addProperty(JSONArray properties, String propertyField, String propertyValue) { + JSONObject property = new JSONObject(); + property.put("propertyFiled", propertyField); + property.put("propertyValue", propertyValue); + properties.add(property); + } + /** * 根据主键查询编码