From 15483d79ecfef30c0d74048077f4e83e479102ac Mon Sep 17 00:00:00 2001 From: Yangwl <1726150332@qq.com> Date: Wed, 21 Feb 2024 14:31:50 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=9B=E5=BB=BA=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=94=9F=E4=BA=A7=E7=89=88=E6=9C=AC=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/domain/sap/SapCreateOrder.java | 9 + .../sap/service/impl/SapOrderServiceImpl.java | 303 +++++++++--------- 2 files changed, 156 insertions(+), 156 deletions(-) diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapCreateOrder.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapCreateOrder.java index 358a19422..4d450eb17 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapCreateOrder.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/sap/SapCreateOrder.java @@ -17,7 +17,16 @@ public class SapCreateOrder { private String dates; //完成时间 private String datee; + //生产版本 + private String verid; + public String getVerid() { + return verid; + } + + public void setVerid(String verid) { + this.verid = verid; + } public String getWerks() { return werks; diff --git a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java index 8fbf248b5..470ddef7a 100644 --- a/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java +++ b/op-modules/op-sap/src/main/java/com/op/sap/service/impl/SapOrderServiceImpl.java @@ -34,7 +34,7 @@ import java.util.Map; @Service public class SapOrderServiceImpl implements SapOrderService { private static final Logger log = LoggerFactory.getLogger(SapOrderServiceImpl.class); - private static final String END_DATE="99991231"; + private static final String END_DATE = "99991231"; @Autowired private JCoDestination dest; @@ -46,29 +46,29 @@ public class SapOrderServiceImpl implements SapOrderService { // 获取调用 RFC 函数对象 //获取连接 //JCoDestination dest = SAPConnUtils.connect(); - log.info("订单同步入参-----"+sapShopOrderQuery.toString()); + log.info("订单同步入参-----" + sapShopOrderQuery.toString()); JCoRepository repository = dest.getRepository(); JCoFunction func = repository.getFunction("ZPPR_MES_PRO_TO"); if (func == null) { throw new RuntimeException("Function does not exist in SAP"); } - JCoParameterList jCoParameterList= func.getTableParameterList(); - JCoParameterList js= func.getExportParameterList(); + JCoParameterList jCoParameterList = func.getTableParameterList(); + JCoParameterList js = func.getExportParameterList(); // System.out.println(js); // System.out.println(jCoParameterList); // 配置传入参数 // S_WERKS(工厂) S_AUFNR(订单号) S_MATNR(物料号) S_ERDAT(创建日期) 例如:20230923 - if (!StringUtils.isNull(sapShopOrderQuery.getWerk())){ + if (!StringUtils.isNull(sapShopOrderQuery.getWerk())) { JCoTable S_WERKS = func.getTableParameterList().getTable("S_PWERK"); S_WERKS.appendRow(); S_WERKS.setValue(Constants.SIGN, "I"); S_WERKS.setValue(Constants.OPTION, "EQ"); S_WERKS.setValue(Constants.LOW, sapShopOrderQuery.getWerk()); } - if (!StringUtils.isNull(sapShopOrderQuery.getAufnr())){ + if (!StringUtils.isNull(sapShopOrderQuery.getAufnr())) { JCoTable S_AUFNR = func.getTableParameterList().getTable("S_AUFNR"); S_AUFNR.appendRow(); S_AUFNR.setValue(Constants.SIGN, "I"); @@ -76,14 +76,14 @@ public class SapOrderServiceImpl implements SapOrderService { S_AUFNR.setValue(Constants.LOW, sapShopOrderQuery.getAufnr()); } - if (!StringUtils.isNull(sapShopOrderQuery.getMatnr())){ + if (!StringUtils.isNull(sapShopOrderQuery.getMatnr())) { JCoTable S_MATNR = func.getTableParameterList().getTable("S_MATNR"); S_MATNR.appendRow(); S_MATNR.setValue(Constants.SIGN, "I"); S_MATNR.setValue(Constants.OPTION, "EQ"); - S_MATNR.setValue(Constants.LOW,sapShopOrderQuery.getMatnr()); + S_MATNR.setValue(Constants.LOW, sapShopOrderQuery.getMatnr()); } - if (!StringUtils.isNull(sapShopOrderQuery.getErdat())){ + if (!StringUtils.isNull(sapShopOrderQuery.getErdat())) { JCoTable S_ERDAT = func.getTableParameterList().getTable("S_ERDAT"); S_ERDAT.appendRow(); S_ERDAT.setValue(Constants.SIGN, "I"); @@ -93,14 +93,11 @@ public class SapOrderServiceImpl implements SapOrderService { } - - - func.execute(dest);//执行调用函数 // 获取 内表 - ZMES_PRO JCoTable maraTable = func.getTableParameterList().getTable("ZMES_PRO"); JCoRecordMetaData metaData = maraTable.getRecordMetaData(); - // System.out.println("###" + metaData.toString()); + // System.out.println("###" + metaData.toString()); List proOrderList = new ArrayList<>(); // 循环输出 Table 数据 @@ -120,7 +117,9 @@ public class SapOrderServiceImpl implements SapOrderService { String ERNAM = maraTable.getString("ERNAM"); String ERDAT = maraTable.getString("ERDAT"); String STTXT = maraTable.getString("STTXT"); - log.info("订单输出------:"+"订单号:" + AUFNR + " - 订单类型:" + AUART + " - 上级订单编号:" + MAUFNR + " - 物料号:" + PLNBEZ + " - 物料描述(短文本):" + MAKTX + String VERID = maraTable.getString("VERID"); + + log.info("订单输出------:" + "订单号:" + AUFNR + " - 订单类型:" + AUART + " - 生产版本:" + VERID + " - 上级订单编号:" + MAUFNR + " - 物料号:" + PLNBEZ + " - 物料描述(短文本):" + MAKTX + " - 订单的计划工厂:" + PWERK + " - 订单数量总计:" + GAMNG + " - 基本计量单位:" + GMEIN + " - 任务清单组码:" + PLNNR + " - 基本开始日期:" + GSTRP + " - 基本完成日期:" + GLTRP + " - 输入者:" + ERNAM + " - 创建日期:" + ERDAT + " - 系统状态:" + STTXT); // System.out.println("订单号:" + AUFNR + " - 订单类型:" + AUART + " - 上级订单编号:" + MAUFNR + " - 物料号:" + PLNBEZ + " - 物料描述(短文本):" + MAKTX @@ -131,6 +130,7 @@ public class SapOrderServiceImpl implements SapOrderService { proOrder.setPlanFactoryCode(PWERK); proOrder.setOrderCode(AUFNR); proOrder.setOrderType(AUART); + proOrder.setAtrr2(VERID); proOrder.setProdCode(PLNBEZ); proOrder.setProdDesc(MAKTX); proOrder.setQuantity(Long.parseLong(GAMNG.substring(0, GAMNG.indexOf(".")))); @@ -160,11 +160,11 @@ public class SapOrderServiceImpl implements SapOrderService { @Override public R>> SapCreateOrder(List sapCreateOrderList) { - String L_MSG=null; + String L_MSG = null; try { //获取连接 - // JCoDestination dest = SAPConnUtils.connect(); - log.info("订单创建入参-----"+JSONObject.toJSONString(sapCreateOrderList)); + // JCoDestination dest = SAPConnUtils.connect(); + log.info("订单创建入参-----" + JSONObject.toJSONString(sapCreateOrderList)); JCoRepository repository = dest.getRepository(); JCoFunction func = repository.getFunction("ZPPR_MES_PRODORD_CREATE"); if (func == null) { @@ -174,38 +174,39 @@ public class SapOrderServiceImpl implements SapOrderService { // 配置传入参数 JCoParameterList jCoParameterList = func.getImportParameterList(); - if (sapCreateOrderList!=null && sapCreateOrderList.size()>0){ - List> LV_ORDER_NUM_List=new ArrayList<>(); - for (SapCreateOrder sapCreateOrder:sapCreateOrderList){ - jCoParameterList.setValue("P_WERKS",sapCreateOrder.getWerks()); - jCoParameterList.setValue("P_AUFPAR",sapCreateOrder.getAufpar()); - jCoParameterList.setValue("P_MATNR",sapCreateOrder.getMatnr()); - jCoParameterList.setValue("P_QUANTITY",sapCreateOrder.getQuantity()); - jCoParameterList.setValue("P_DATES",sapCreateOrder.getDates()); - jCoParameterList.setValue("P_DATEE",sapCreateOrder.getDatee()); + if (sapCreateOrderList != null && sapCreateOrderList.size() > 0) { + List> LV_ORDER_NUM_List = new ArrayList<>(); + for (SapCreateOrder sapCreateOrder : sapCreateOrderList) { + jCoParameterList.setValue("P_WERKS", sapCreateOrder.getWerks()); + jCoParameterList.setValue("P_AUFPAR", sapCreateOrder.getAufpar()); + jCoParameterList.setValue("P_MATNR", sapCreateOrder.getMatnr()); + jCoParameterList.setValue("P_QUANTITY", sapCreateOrder.getQuantity()); + jCoParameterList.setValue("P_DATES", sapCreateOrder.getDates()); + jCoParameterList.setValue("P_DATEE", sapCreateOrder.getDatee()); + jCoParameterList.setValue("P_VERID", sapCreateOrder.getVerid()); func.execute(dest);//执行调用函数 - JCoParameterList J= func.getExportParameterList(); + JCoParameterList J = func.getExportParameterList(); System.out.println(func.getExportParameterList()); - L_MSG= func.getExportParameterList().getString("L_MSG"); - JCoTable LT_ZGD=func.getTableParameterList().getTable("LT_ZGD"); - for (int i = 0; i sapPurchaseOrderQueryList=new ArrayList<>(); + List sapPurchaseOrderQueryList = new ArrayList<>(); for (int i = 0; i < maraTable.getNumRows(); i++) { maraTable.setRow(i); - SapPurchaseOrderQuery sapPCorder=new SapPurchaseOrderQuery(); + SapPurchaseOrderQuery sapPCorder = new SapPurchaseOrderQuery(); String EBELN = maraTable.getString("EBELN"); String EBELP = maraTable.getString("EBELP"); String MATNR = maraTable.getString("MATNR"); @@ -396,20 +390,20 @@ public class SapOrderServiceImpl implements SapOrderService { String ELIKZ = maraTable.getString("ELIKZ"); String BEIZHU = maraTable.getString("BEIZHU"); System.out.println( - "采购凭证号"+EBELN+ - "采购凭证的项目编号"+EBELP+ - "物料号"+MATNR+ - "物料描述(短文本)"+MAKTX+ - "采购订单数量"+MENGE+ - "采购订单的计量单位"+MEINS+ - "交货数量"+ZMENGE+ - "基本计量单位"+ZMEINS+ - "供应商帐户号"+LIFNR+ - "工厂"+WERKS+ - "库存地点"+LGORT+ - "项目交货日期"+EINDT+ - "交货已完成标识"+ELIKZ+ - "注释"+BEIZHU); + "采购凭证号" + EBELN + + "采购凭证的项目编号" + EBELP + + "物料号" + MATNR + + "物料描述(短文本)" + MAKTX + + "采购订单数量" + MENGE + + "采购订单的计量单位" + MEINS + + "交货数量" + ZMENGE + + "基本计量单位" + ZMEINS + + "供应商帐户号" + LIFNR + + "工厂" + WERKS + + "库存地点" + LGORT + + "项目交货日期" + EINDT + + "交货已完成标识" + ELIKZ + + "注释" + BEIZHU); sapPCorder.setEbeln(EBELN); sapPCorder.setEbelp(EBELP); @@ -428,16 +422,15 @@ public class SapOrderServiceImpl implements SapOrderService { sapPurchaseOrderQueryList.add(sapPCorder); } return R.ok(sapPurchaseOrderQueryList); - }catch (Exception e){ + } catch (Exception e) { return R.fail(e.getMessage()); } - } @Override public R shopUpdateSync(SapShopOrderQuery sapProOrder) { try { - log.info("订单修改入参-------"+sapProOrder.toString()); + log.info("订单修改入参-------" + sapProOrder.toString()); JCoRepository repository = dest.getRepository(); JCoFunction func = repository.getFunction("ZPPR_MES_PRODORD_CHANGE"); // 配置传入参数 @@ -446,29 +439,27 @@ public class SapOrderServiceImpl implements SapOrderService { if (func == null) { throw new RuntimeException("Function does not exist in SAP"); } - if (StringUtils.isEmpty(sapProOrder.getAufnr())) - { + if (StringUtils.isEmpty(sapProOrder.getAufnr())) { return R.fail("订单号为空!"); } - if (StringUtils.isEmpty(sapProOrder.getQuantity())) - { + if (StringUtils.isEmpty(sapProOrder.getQuantity())) { return R.fail("数量为空!"); } - jCoParameterList.setValue("P_AUFNR",sapProOrder.getAufnr()); - jCoParameterList.setValue("P_QUANTITY",sapProOrder.getQuantity()); + jCoParameterList.setValue("P_AUFNR", sapProOrder.getAufnr()); + jCoParameterList.setValue("P_QUANTITY", sapProOrder.getQuantity()); func.execute(dest);//执行调用函数 - JCoParameterList J= func.getExportParameterList(); - String RETCODE= func.getExportParameterList().getString("RETCODE"); - String MESSAGE= func.getExportParameterList().getString("MESSAGE"); - if ((Constants.FAIL).equals(Integer.parseInt(RETCODE))){ - log.error("订单修改结果-----"+MESSAGE); - return R.fail(null,"订单号:"+sapProOrder.getAufnr()+MESSAGE); - }else { - log.info("订单修改结果-----"+MESSAGE); - return R.ok(null,"订单号:"+sapProOrder.getAufnr()+MESSAGE); + JCoParameterList J = func.getExportParameterList(); + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String MESSAGE = func.getExportParameterList().getString("MESSAGE"); + if ((Constants.FAIL).equals(Integer.parseInt(RETCODE))) { + log.error("订单修改结果-----" + MESSAGE); + return R.fail(null, "订单号:" + sapProOrder.getAufnr() + MESSAGE); + } else { + log.info("订单修改结果-----" + MESSAGE); + return R.ok(null, "订单号:" + sapProOrder.getAufnr() + MESSAGE); } - }catch (Exception e){ + } catch (Exception e) { log.error(e.getMessage()); return R.fail(e.getMessage()); } @@ -477,7 +468,7 @@ public class SapOrderServiceImpl implements SapOrderService { @Override public R sapOrderReceipt(List> mapList) { try { - log.info("智慧工厂101类型订单收货入参-------"+mapList.toString()); + log.info("智慧工厂101类型订单收货入参-------" + mapList.toString()); JCoRepository repository = dest.getRepository(); JCoFunction func = repository.getFunction("ZMES_101_MIGO"); //System.out.println(jCoParameterList); @@ -487,30 +478,30 @@ public class SapOrderServiceImpl implements SapOrderService { // 配置传入参数 JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM"); - for (Map stringObjectMap:mapList){ + for (Map stringObjectMap : mapList) { L_ITEM.appendRow(); - L_ITEM.setValue("AUFNR",stringObjectMap.get("AUFNR")); - L_ITEM.setValue("WERKS",stringObjectMap.get("WERKS")); - L_ITEM.setValue("LGORT",stringObjectMap.get("LGORT")); - L_ITEM.setValue("QUANTITY",stringObjectMap.get("QUANTITY")); - L_ITEM.setValue("BATCH",stringObjectMap.get("BATCH")); - L_ITEM.setValue("HSDAT",stringObjectMap.get("HSDAT")); - L_ITEM.setValue("ERFME",stringObjectMap.get("ERFME")); + L_ITEM.setValue("AUFNR", stringObjectMap.get("AUFNR")); + L_ITEM.setValue("WERKS", stringObjectMap.get("WERKS")); + L_ITEM.setValue("LGORT", stringObjectMap.get("LGORT")); + L_ITEM.setValue("QUANTITY", stringObjectMap.get("QUANTITY")); + L_ITEM.setValue("BATCH", stringObjectMap.get("BATCH")); + L_ITEM.setValue("HSDAT", stringObjectMap.get("HSDAT")); + L_ITEM.setValue("ERFME", stringObjectMap.get("ERFME")); } func.execute(dest);//执行调用函数 System.out.println(func.getExportParameterList()); - String RETCODE= func.getExportParameterList().getString("RETCODE"); - String MESSAGE= func.getExportParameterList().getString("L_MSG"); - String MATERIALDOCUMENT= func.getExportParameterList().getString("MATERIALDOCUMENT"); - if ((Constants.FAIL).equals(Integer.parseInt(RETCODE))){ - log.error("订单收货结果-----"+MESSAGE); + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String MESSAGE = func.getExportParameterList().getString("L_MSG"); + String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT"); + if ((Constants.FAIL).equals(Integer.parseInt(RETCODE))) { + log.error("订单收货结果-----" + MESSAGE); return R.fail(MESSAGE); - }else { - log.info("订单收货结果-----"+MESSAGE); - return R.ok(MATERIALDOCUMENT,MESSAGE); + } else { + log.info("订单收货结果-----" + MESSAGE); + return R.ok(MATERIALDOCUMENT, MESSAGE); } - }catch (Exception e){ + } catch (Exception e) { log.error(e.getMessage()); return R.fail(e.getMessage()); } @@ -524,7 +515,7 @@ public class SapOrderServiceImpl implements SapOrderService { if (func == null) { throw new RuntimeException("Function does not exist in SAP"); } - log.info("采购订单收货过账ZMES_PROMIGO_CREATE-------"+mapList.toString()); + log.info("采购订单收货过账ZMES_PROMIGO_CREATE-------" + mapList.toString()); /** EBELN 采购凭证号 EBELP 采购凭证的项目编号 @@ -540,7 +531,7 @@ public class SapOrderServiceImpl implements SapOrderService { */ JCoTable L_ITEM = func.getTableParameterList().getTable("L_ITEM"); - for (Map stringObjectMap:mapList){ + for (Map stringObjectMap : mapList) { L_ITEM.appendRow(); L_ITEM.setValue("EBELN", stringObjectMap.get("EBELN")); L_ITEM.setValue("EBELP", stringObjectMap.get("EBELP")); @@ -564,28 +555,28 @@ public class SapOrderServiceImpl implements SapOrderService { for (int i = 0; i < LT_RETURN.getNumRows(); i++) { LT_RETURN.setRow(i); String MESSAGE = LT_RETURN.getString("MESSAGE"); - Msg.append(MESSAGE+"/"); + Msg.append(MESSAGE + "/"); } - String L_MSG= func.getExportParameterList().getString("L_MSG"); - String RETCODE= func.getExportParameterList().getString("RETCODE"); - String MATERIALDOCUMENT= func.getExportParameterList().getString("MATERIALDOCUMENT"); - String MATDOCUMENTYEAR= func.getExportParameterList().getString("MATDOCUMENTYEAR"); - System.out.println("L_MSG"+L_MSG); - System.out.println("返回值:0-没有错误,1-有错误:"+RETCODE); - System.out.println("物料凭证编号"+MATERIALDOCUMENT); - System.out.println("物料凭证年度"+MATDOCUMENTYEAR); - if (!("0").equals(RETCODE)){ - return R.fail("",Msg.toString()); - }else { - Map map=new HashMap(); - map.put("MATERIALDOCUMENT",MATERIALDOCUMENT); - map.put("MATDOCUMENTYEAR",MATDOCUMENTYEAR); - return R.ok(map,Msg.toString()); + String L_MSG = func.getExportParameterList().getString("L_MSG"); + String RETCODE = func.getExportParameterList().getString("RETCODE"); + String MATERIALDOCUMENT = func.getExportParameterList().getString("MATERIALDOCUMENT"); + String MATDOCUMENTYEAR = func.getExportParameterList().getString("MATDOCUMENTYEAR"); + System.out.println("L_MSG" + L_MSG); + System.out.println("返回值:0-没有错误,1-有错误:" + RETCODE); + System.out.println("物料凭证编号" + MATERIALDOCUMENT); + System.out.println("物料凭证年度" + MATDOCUMENTYEAR); + if (!("0").equals(RETCODE)) { + return R.fail("", Msg.toString()); + } else { + Map map = new HashMap(); + map.put("MATERIALDOCUMENT", MATERIALDOCUMENT); + map.put("MATDOCUMENTYEAR", MATDOCUMENTYEAR); + return R.ok(map, Msg.toString()); } - }catch (Exception e){ + } catch (Exception e) { log.error(e.getMessage()); return R.fail(e.getMessage()); }