From 142aa5fa2dd148859aa312212d8643902930dd5f Mon Sep 17 00:00:00 2001 From: zhengyf Date: Thu, 22 Aug 2024 17:29:02 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=B8=BD=E7=9F=A5=EF=BC=9A=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=87=BA=E5=85=A5=E5=BA=93=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transfer/TransferInPluginInitializer.java | 170 ++++++++++++------ .../TransferOutPluginInitializer.java | 135 ++++++++++---- .../plugin/lets/u8cdto/GeneralBillVO.java | 4 + .../lets/plugin/transfer/TransferTest.java | 4 +- 4 files changed, 214 insertions(+), 99 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java index 45807e51..873713af 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java @@ -30,6 +30,7 @@ import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTask import com.hzya.frame.ttxofs.basics.ReturnMessageBasics; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; import com.hzya.frame.ttxofs.dto.ofsTransferOrderSearch.OFSTranseferOrderSearchResponse; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto; import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import com.hzya.frame.ttxofs.dto.stock.StockoutOrderSearchResponse; import com.hzya.frame.ttxofs.service.OfsUnifiedService; @@ -43,6 +44,9 @@ import java.util.Date; import java.util.List; import java.util.concurrent.locks.ReentrantLock; +/** + * 丽知:OFS调拨入库订单--->U8C调拨入库订单 + */ public class TransferInPluginInitializer extends PluginBaseEntity { Logger logger = LoggerFactory.getLogger(TransferInPluginInitializer.class); @@ -101,6 +105,38 @@ public class TransferInPluginInitializer extends PluginBaseEntity { @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + try { + logger.info("调用:" + getPluginName() + "-插件"); + String prod = "prod"; + String param = String.valueOf(requestJson.get("param")); + if (requestJson != null && ProfilesActiveConstant.TYPE_DATE.equals(requestJson.get("type"))) { + //按日期 + if (param != null && !"".equals(param)) { + String[] split = param.split("/"); + if (!(split.length == 2)) { + Assert.state(false, "时间格式传递不正确"); + } + Assert.notNull(split[0], "开始时间不能为空"); + Assert.notNull(split[1], "结束时间不能为空"); + start(split[0], split[1]); + } + } else if (requestJson != null && ProfilesActiveConstant.TYPE_VBILLCODE.equals(requestJson.get("type"))) { + //按单号 + if (param != null && !"".equals(param)) { + start(param); + } + } else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) { + String integrationTaskLivingDetails = (String) requestJson.get("integration_task_living_details_id"); + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integrationTaskLivingDetails); + start(integrationTaskLivingDetailsEntity.getRootAppPk()); + } else if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(prod)) { + //默认 + start(); + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("executeBusiness方法抛出异常", e); + } return null; } @@ -118,20 +154,21 @@ public class TransferInPluginInitializer extends PluginBaseEntity { String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss"); QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); -// queryOfsStockinOrderRequestVO.setCreated_start("2024-08-05 00:00:00"); -// queryOfsStockinOrderRequestVO.setCreated_end("2024-08-09 23:59:59"); - queryOfsStockinOrderRequestVO.setClosedAt_start("2024-08-05 00:00:00"); - queryOfsStockinOrderRequestVO.setClosedAt_end("2024-08-09 23:59:59"); -// queryOfsStockinOrderRequestVO.setCompanyCode("SHXM"); -// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 - queryOfsStockinOrderRequestVO.setPageNo(1L); - queryOfsStockinOrderRequestVO.setPageSize(500L); - List data = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); - System.out.println(data); + queryOfsStockinOrderRequestVO.setClosedAt_start(startTimeStr); + queryOfsStockinOrderRequestVO.setClosedAt_end(endTimeStr); + //状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + queryOfsStockinOrderRequestVO.setStatus("900"); + List transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); + if (transferInOrder == null || transferInOrder.size() == 0) { + return; + } //过滤日志 - - //推送 + List filterTransferInOrders = filterData(transferInOrder); + if (filterTransferInOrders.size() == 0) { + return; + } + implement(filterTransferInOrders); } catch (Exception e) { @@ -149,10 +186,8 @@ public class TransferInPluginInitializer extends PluginBaseEntity { queryOfsStockinOrderRequestVO.setCode(stockinNo); //状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockinOrderRequestVO.setStatus("900"); - queryOfsStockinOrderRequestVO.setPageNo(1L); - queryOfsStockinOrderRequestVO.setPageSize(500L); List transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); - System.out.println(transferInOrder); + if (transferInOrder == null || transferInOrder.size() == 0) { Assert.state(false, "丽知:OFS调拨入库--->U8C调拨入库根据单据号[入库完成]:{},未查询到调拨入库单", stockinNo); } @@ -181,14 +216,22 @@ public class TransferInPluginInitializer extends PluginBaseEntity { String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59"; QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); - queryOfsStockinOrderRequestVO.setClosedAt_start("2024-08-05 00:00:00"); - queryOfsStockinOrderRequestVO.setClosedAt_end("2024-08-09 23:59:59"); -// queryOfsStockinOrderRequestVO.setCompanyCode("SHXM"); -// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 - queryOfsStockinOrderRequestVO.setPageNo(1L); - queryOfsStockinOrderRequestVO.setPageSize(500L); - List data = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); - System.out.println(data); + queryOfsStockinOrderRequestVO.setClosedAt_start(start); + queryOfsStockinOrderRequestVO.setClosedAt_end(end); + //状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + queryOfsStockinOrderRequestVO.setStatus("900"); + List transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); + + if (transferInOrder == null || transferInOrder.size() == 0) { + Assert.state(false, "丽知:OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]:{}-{},未查询到调拨入库单[入库完成]", startTime, endTime); + } + //过滤日志 + List filterTransferInOrders = filterData(transferInOrder); + if (filterTransferInOrders.size() == 0) { + Assert.state(false, "丽知:OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]:{}-{},该调期调拨入库单[入库完成]已被推送成功,请勿重新推送", startTime, endTime); + } + implement(filterTransferInOrders); + } catch (Exception e) { logger.error("丽知:OFS调拨入库订单--->U8C调拨入库订单(保存签字,关联U8C调拨出库单),start(String startTime, String endTime)方法报错:", e); @@ -223,9 +266,10 @@ public class TransferInPluginInitializer extends PluginBaseEntity { /** * ofs调拨入库推送u8c调拨入库,关联调拨订单。 - * + *

* 根据ofs调拨订单,可以查询到u8c调拨订单 * u8c调拨出库单子表的来源单据号vsourcebillcode(调拨订单号) + * * @param filterTransferInOrders */ public void implement(List filterTransferInOrders) { @@ -241,9 +285,9 @@ public class TransferInPluginInitializer extends PluginBaseEntity { //ofs调拨订单号 String ofsSourceOrderCode = ofsTransferHeader.getSourceOrderCode(); //ofs调拨入库单单号 - ofsCode=ofsTransferHeader.getCode(); + ofsCode = ofsTransferHeader.getCode(); //ofs最后修改时间,调入时间 - format=ofsTransferHeader.getLastUpdated(); + format = ofsTransferHeader.getLastUpdated(); GeneralBillVO generalBillVO = new GeneralBillVO(); //主表 @@ -259,28 +303,26 @@ public class TransferInPluginInitializer extends PluginBaseEntity { //pk_defdoc19 自定义项19(ofs调拨订单号) parentvo.setPk_defdoc19(ofsSourceOrderCode); - //U8C调拨订单信息 // List toBillEntityList = queryToBillByPkVdefdoc19(ofsSourceOrderCode); //U8C调拨出库单主表信息 List icGeneralHEntityList = queryIcGeneralHByPkVdefdoc19(ofsSourceOrderCode); if (icGeneralHEntityList == null) { - Assert.state(false,"在U8C内根据OFS调拨订单号(pk_vdefdoc19):{},没有查询到调拨出库单,请检查。",ofsSourceOrderCode); + Assert.state(false, "在U8C内根据OFS调拨订单号(pk_vdefdoc19):{},没有查询到调拨出库单,请检查。", ofsSourceOrderCode); } - if(icGeneralHEntityList.size()>1){ - Assert.state(false,"在U8C内根据OFS调拨订单号(pk_vdefdoc19):{},查询到调拨出库单不唯一,请检查。",ofsSourceOrderCode); + if (icGeneralHEntityList.size() > 1) { + Assert.state(false, "在U8C内根据OFS调拨订单号(pk_vdefdoc19):{},查询到调拨出库单不唯一,请检查。", ofsSourceOrderCode); } IcGeneralHEntity icGeneralHEntity = icGeneralHEntityList.get(0); //U8C调拨出库单子表信息 List icGeneralBEntityList = queryIcGeneralBByCgeneralhid(icGeneralHEntity.getCgeneralhid()); - if(icGeneralBEntityList==null){ - Assert.state(false,"在U8C内根据U8C调拨出库单主表主键:{},调拨出库单单号:{},未查询到调拨出库单子表信息,请检查。",icGeneralHEntity.getCgeneralhid(),icGeneralHEntity.getVbillcode()); + if (icGeneralBEntityList == null) { + Assert.state(false, "在U8C内根据U8C调拨出库单主表主键:{},调拨出库单单号:{},未查询到调拨出库单子表信息,请检查。", icGeneralHEntity.getCgeneralhid(), icGeneralHEntity.getVbillcode()); } - List ChildrenList = new ArrayList<>(); - int i=1; + int i = 1; for (StockinOrderSearchResponse.StockinOrder.StockinB ofsTransferDetail : transferInOrders.getDetails()) { GeneralBillVO.Childrenvo childrenvo = new GeneralBillVO.Childrenvo(); @@ -297,10 +339,11 @@ public class TransferInPluginInitializer extends PluginBaseEntity { for (IcGeneralBEntity icGeneralBEntity : icGeneralBEntityList) { System.out.println(icGeneralBEntity); //根据存货+行号匹配 - if(ofsTransferDetail.getRefOrderDetailId().equals(icGeneralBEntity.getPkDefdoc20().trim())&&ofsTransferDetail.getSkuCode().equals(icGeneralBEntity.getCinvbascode())){ + if (ofsTransferDetail.getRefOrderDetailId().equals(icGeneralBEntity.getPkDefdoc20().trim()) && ofsTransferDetail.getSkuCode().equals(icGeneralBEntity.getCinvbascode())) { //crowno 行号 - childrenvo.setCrowno(i++ +"0"); - + childrenvo.setCrowno(i++ + "0"); + //ofs来源单据行行号 + childrenvo.setPk_defdoc20(ofsTransferDetail.getRefOrderDetailId()); //vsourcerowno 来源单据行号 childrenvo.setVsourcerowno(icGeneralBEntity.getCrowno()); break; @@ -311,10 +354,8 @@ public class TransferInPluginInitializer extends PluginBaseEntity { generalBillVO.setParentvo(parentvo); generalBillVO.setChildrenvo(ChildrenList); - mapStr = "{\"GeneralBillVO\":[" + JSONUtil.toJsonStr(generalBillVO) + "]}"; ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("approveInqzCode"), mapStr); -// ZTResult ztResult = pushU8CByApiCode.pushByCode(null, mapStr); System.out.println(ztResult); //两层判断,一层中台转发,一层u8c返回 if ("false".equals(ztResult.getFlag())) { @@ -349,24 +390,15 @@ public class TransferInPluginInitializer extends PluginBaseEntity { integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); - - - - - - ////////////////////////////////////////////////////////////////////////////////////关联上游单据 - - ////////////////////////////////////////////////////////////////////////////////////关联上游单据 - - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); logger.error("推送U8C,丽知:OFS调拨入库订单--->U8C调拨入库订单(保存签字,关联U8C调拨出库单)失败,失败原因:" + e); ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class); - String ErrMessage=null; + String ErrMessage = null; if (reusltStrDto != null) { ErrMessage = "推送U8C,丽知:OFS调整入库--->U8C其它入库失败,失败原因:" + reusltStrDto.getErrormsg(); - }else { - ErrMessage=e.getMessage(); + } else { + ErrMessage = e.getMessage(); } //失败 IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); @@ -403,18 +435,39 @@ public class TransferInPluginInitializer extends PluginBaseEntity { /** * 查询ofs调拨入库单 + * * @param queryOfsStockinOrderRequestVO * @return * @throws Exception */ - public List queryOfsStockinOrder(QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO) throws Exception { + public List queryOfsStockinOrder(QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO) throws Exception { + Long pageNo = 1L; + + List all = new ArrayList<>(); + InterfaceParamDto interfaceParamDto = new InterfaceParamDto(); interfaceParamDto.setApi("ofs.receipt.search"); queryOfsStockinOrderRequestVO.setInternalInstructionType("TRANSFER");//入库单类型 SALES销售 EXCHANGE换货 REISSUE补发RETURN销退 PURCHASE采购 PURCHASE_RETURN采退 TRANSFER调拨 WORK_ORDER加工 OTHER其他 ADJUST调整 EXCHANGE换货 queryOfsStockinOrderRequestVO.setClientCode("LETS"); + queryOfsStockinOrderRequestVO.setPageNo(pageNo); + queryOfsStockinOrderRequestVO.setPageSize(500L); interfaceParamDto.setData(JSON.toJSONString(queryOfsStockinOrderRequestVO)); StockinOrderSearchResponse stockinOrderSearchResponse = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto); - System.out.println(stockinOrderSearchResponse); + + all.addAll(stockinOrderSearchResponse.getData()); + + int count = stockinOrderSearchResponse.getData().size(); + while (count >= 500) {//>=500,可能还有下一页。 + //还有下一页 + pageNo++; + queryOfsStockinOrderRequestVO.setPageNo(pageNo); + interfaceParamDto.setData(JSON.toJSONString(queryOfsStockinOrderRequestVO)); + StockinOrderSearchResponse stockinOrderSearchResponse1 = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto); + + all.addAll(stockinOrderSearchResponse1.getData()); + + count=stockinOrderSearchResponse1.getData().size(); + } if (stockinOrderSearchResponse.getData() == null || stockinOrderSearchResponse.getData().size() == 0) { return null; } @@ -436,6 +489,7 @@ public class TransferInPluginInitializer extends PluginBaseEntity { /** * 根据自定义项19(ofs调拨订单单号),查询u8c调拨订单 + * * @param pkDefdoc19 * @return */ @@ -451,13 +505,13 @@ public class TransferInPluginInitializer extends PluginBaseEntity { /** * 根据调拨出库单主表自定义项19(ofs调拨订单号)查询调拨出库单主表 */ - public List queryIcGeneralHByPkVdefdoc19(String pkDefdoc19){ + public List queryIcGeneralHByPkVdefdoc19(String pkDefdoc19) { IcGeneralHEntity icGeneralHEntity = new IcGeneralHEntity(); icGeneralHEntity.setDr(0); icGeneralHEntity.setPkDefdoc19(pkDefdoc19); icGeneralHEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE); List icGeneralHEntityList = icGeneralHDao.query(icGeneralHEntity); - if (icGeneralHEntityList==null||icGeneralHEntityList.size() == 0) { + if (icGeneralHEntityList == null || icGeneralHEntityList.size() == 0) { return null; } return icGeneralHEntityList; @@ -466,13 +520,13 @@ public class TransferInPluginInitializer extends PluginBaseEntity { /** * 根据调拨出库单主表主键,查询调拨出库单子表 */ - public List queryIcGeneralBByCgeneralhid(String cgeneralhid){ + public List queryIcGeneralBByCgeneralhid(String cgeneralhid) { // IcGeneralBEntity icGeneralBEntity = new IcGeneralBEntity(); // icGeneralBEntity.setDr(0); // icGeneralBEntity.setCgeneralhid(cgeneralhid); // icGeneralBEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE); List icGeneralBEntityList = icGeneralBDao.queryAndCinvbasCode(cgeneralhid); - if (icGeneralBEntityList==null||icGeneralBEntityList.size() == 0) { + if (icGeneralBEntityList == null || icGeneralBEntityList.size() == 0) { return null; } return icGeneralBEntityList; diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferOutPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferOutPluginInitializer.java index bb254743..d08138ec 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferOutPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferOutPluginInitializer.java @@ -96,6 +96,38 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + try { + logger.info("调用:" + getPluginName() + "-插件"); + String prod = "prod"; + String param = String.valueOf(requestJson.get("param")); + if (requestJson != null && ProfilesActiveConstant.TYPE_DATE.equals(requestJson.get("type"))) { + //按日期 + if (param != null && !"".equals(param)) { + String[] split = param.split("/"); + if (!(split.length == 2)) { + Assert.state(false, "时间格式传递不正确"); + } + Assert.notNull(split[0], "开始时间不能为空"); + Assert.notNull(split[1], "结束时间不能为空"); + start(split[0], split[1]); + } + } else if (requestJson != null && ProfilesActiveConstant.TYPE_VBILLCODE.equals(requestJson.get("type"))) { + //按单号 + if (param != null && !"".equals(param)) { + start(param); + } + } else if (ProfilesActiveConstant.TYPE_DETAIL_ERROR.equals(requestJson.get("type"))) { + String integrationTaskLivingDetails = (String) requestJson.get("integration_task_living_details_id"); + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = saveOrUpdateBusinessLogUtil.queryIntegrationTaskLivingDetailsEntity(integrationTaskLivingDetails); + start(integrationTaskLivingDetailsEntity.getRootAppPk()); + } else if (ProfilesActiveConstant.LETS_PROFILES_ACTIVE.equals(prod)) { + //默认 + start(); + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("executeBusiness方法抛出异常", e); + } return null; } @@ -115,18 +147,18 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); queryOfsStockoutOrderRequestVO.setClosedAt_start(startTimeStr); queryOfsStockoutOrderRequestVO.setClosedAt_end(endTimeStr); -// queryOfsStockoutOrderRequestVO.setCompanyCode("SHXM"); -// queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 - queryOfsStockoutOrderRequestVO.setPageNo(1L); - queryOfsStockoutOrderRequestVO.setPageSize(500L); - List data = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); - System.out.println(data); - - //过滤日志 - - //推送 - - + queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + List transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); + if(transferOutOrder.size()==0){ + return; + } + //过滤成功日志 + List filterTransferOutOrders = filterData(transferOutOrder); + if(filterTransferOutOrders.size()==0){ + return; + } + //推送U8C + implement(filterTransferOutOrders); } catch (Exception e) { logger.error("丽知:OFS调拨出库订单--->U8C调拨订单,自动生成调拨出库单(保存签字),start()方法报错:", e); } @@ -139,16 +171,16 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { try { QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); queryOfsStockoutOrderRequestVO.setCode(stockoutNo); -// queryOfsStockoutOrderRequestVO.setCompanyCode("SHXM"); -// queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 - queryOfsStockoutOrderRequestVO.setPageNo(1L); - queryOfsStockoutOrderRequestVO.setPageSize(500L); + queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 List transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); - System.out.println(transferOutOrder); - + if(transferOutOrder.size()==0){ + Assert.state(false, "丽知:OFS调拨出库订单[出库完成]--->U8C调拨订单,自动生成调拨出库单(保存签字),未查询到调拨出库单", stockoutNo); + } //过滤成功日志 List filterTransferOutOrders = filterData(transferOutOrder); - + if(filterTransferOutOrders.size()==0){ + Assert.state(false, "丽知:OFS调拨出库订单[出库完成]--->U8C调拨订单,自动生成调拨出库单(保存签字),该调拨出库单已被推送成功,请勿重新推送", stockoutNo); + } //推送U8C implement(filterTransferOutOrders); @@ -170,13 +202,19 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); queryOfsStockoutOrderRequestVO.setClosedAt_start(start); queryOfsStockoutOrderRequestVO.setClosedAt_end(end); -// queryOfsStockoutOrderRequestVO.setCompanyCode("SHXM"); -// queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 - queryOfsStockoutOrderRequestVO.setPageNo(1L); - queryOfsStockoutOrderRequestVO.setPageSize(500L); - List data = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); - System.out.println(data); + queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + List transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); + if(transferOutOrder.size()==0){ + Assert.state(false, "丽知:OFS调拨出库订单--->U8C调拨订单,自动生成调拨出库单(保存签字)根据日期期间[开始时间]-[结束时间]:{}-{},未查询到调拨出库单[出库完成]", startTime, endTime); + } + //过滤成功日志 + List filterTransferOutOrders = filterData(transferOutOrder); + if(filterTransferOutOrders.size()==0){ + Assert.state(false, "丽知:OFS调拨出库订单--->U8C调拨订单,自动生成调拨出库单(保存签字)根据日期期间[开始时间]-[结束时间]:{}-{},该调期调拨出库单[出库完成]已被推送成功,请勿重新推送", startTime, endTime); + } + //推送U8C + implement(filterTransferOutOrders); } catch (Exception e) { logger.error("丽知:OFS调拨出库订单--->U8C调拨订单,自动生成调拨出库单(保存签字),start(String startTime, String endTime)方法报错:", e); } @@ -204,7 +242,6 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { } } return filterTransferOutOrders; - } /** @@ -215,7 +252,7 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { public void implement(List filterTransferOutOrders) { for (StockoutOrderSearchResponse.StockoutOrder transferOutOrder : filterTransferOutOrders) { System.out.println(transferOutOrder); - BillVO billVO = new BillVO(); + BillVO billVO = new BillVO(); String mapStr = ""; String format = ""; @@ -227,17 +264,15 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { BillVO.Parentvo parentvo = new BillVO.Parentvo(); ofsCode = stockoutH.getCode(); - ////////////////////////////////////////////////////////////////////////////////ofs调拨订单 List ofsTranseferOrders = queryOfsTransderOrder(stockoutH.getSourceOrderCode()); - if(ofsTranseferOrders==null||ofsTranseferOrders.size()==0||ofsTranseferOrders.size()>1){ - Assert.state(false,"根据调拨出库单:{},的来源单据号:{},查询OFS调拨订单为空或不唯一。请检查。",ofsCode,stockoutH.getSourceOrderCode()); + if (ofsTranseferOrders == null || ofsTranseferOrders.size() == 0 || ofsTranseferOrders.size() > 1) { + Assert.state(false, "根据调拨出库单:{},的来源单据号:{},查询OFS调拨订单为空或不唯一。请检查。", ofsCode, stockoutH.getSourceOrderCode()); } OFSTranseferOrderSearchResponse.OFSTranseferOrder ofsTranseferOrder = ofsTranseferOrders.get(0); System.out.println(ofsTranseferOrder); ////////////////////////////////////////////////////////////////////////////////ofs调拨订单 - //创建日期,调拨出库创建时间 String created = stockoutH.getCreated(); format = created; @@ -270,7 +305,7 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { //vnote 备注 parentvo.setVnote(ofsTranseferOrder.getHeader().getNotes()); - //pk_defdoc19 + //pk_defdoc19 OFS调拨订单号 parentvo.setPk_defdoc19(ofsTranseferOrder.getHeader().getCode()); //子表 @@ -288,12 +323,11 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { //ofs行id children.setPk_defdoc20(ofsDetail.getId()); - } billVO.setParentvo(parentvo); billVO.setChildrenvo(childrenvo); String jsonStr = JSONUtil.toJsonStr(billVO); - mapStr = "{\"billvo\":"+jsonStr+"}"; + mapStr = "{\"billvo\":" + jsonStr + "}"; ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("approveqzCode"), mapStr); System.out.println(ztResult); //两层判断,一层中台转发,一层u8c返回 @@ -329,14 +363,18 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); - } catch (Exception e) { e.printStackTrace(); logger.error("推送U8C,丽知:OFS调拨出库订单--->U8C调拨订单,自动生成调拨出库单(保存签字)失败,失败原因:" + e); //失败 ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class); - String ErrMessage = "推送U8C,丽知:OFS调整出库--->U8C其它出库失败,失败原因:" + reusltStrDto.getErrormsg(); + String ErrMessage=null; + if (reusltStrDto != null) { + ErrMessage = "推送U8C,丽知:OFS调整出库--->U8C其它出库失败,失败原因:" + reusltStrDto.getErrormsg(); + }else { + ErrMessage=e.getMessage(); + } IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_N); @@ -363,19 +401,38 @@ public class TransferOutPluginInitializer extends PluginBaseEntity { * @throws Exception */ public List queryOfsStockoutOrder(QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO) throws Exception { + Long pageNo = 1L; + + List all = new ArrayList<>(); + InterfaceParamDto interfaceParamDto = new InterfaceParamDto(); interfaceParamDto.setApi("ofs.shipment.search"); queryOfsStockoutOrderRequestVO.setInternalInstructionType("TRANSFER");//入库单类型 SALES销售 EXCHANGE换货 REISSUE补发RETURN销退 PURCHASE采购 PURCHASE_RETURN采退 TRANSFER调拨 WORK_ORDER加工 OTHER其他 ADJUST调整 EXCHANGE换货 queryOfsStockoutOrderRequestVO.setClientCode("LETS"); + queryOfsStockoutOrderRequestVO.setPageNo(pageNo); + queryOfsStockoutOrderRequestVO.setPageSize(500L); interfaceParamDto.setData(JSON.toJSONString(queryOfsStockoutOrderRequestVO)); SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto); - System.out.println(saleOutReturnMessageDto); StockoutOrderSearchResponse stockoutOrderSearchResponse = SaleOutReturnMessageDto2StockoutOrderSearchResponse(saleOutReturnMessageDto); - System.out.println(stockoutOrderSearchResponse); + + all.addAll(stockoutOrderSearchResponse.getData()); + + int count = stockoutOrderSearchResponse.getData().size(); + while (count >= 500) {//>=500,可能还有下一页。 + //还有下一页 + pageNo++; + queryOfsStockoutOrderRequestVO.setPageNo(pageNo); + interfaceParamDto.setData(JSON.toJSONString(queryOfsStockoutOrderRequestVO)); + SaleOutReturnMessageDto saleOutReturnMessageDto1 = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto); + StockoutOrderSearchResponse stockoutOrderSearchResponse1 = SaleOutReturnMessageDto2StockoutOrderSearchResponse(saleOutReturnMessageDto1); + + all.addAll(stockoutOrderSearchResponse1.getData()); + count=stockoutOrderSearchResponse1.getData().size(); + } if (stockoutOrderSearchResponse.getData() == null || stockoutOrderSearchResponse.getData().size() == 0) { return null; } - return stockoutOrderSearchResponse.getData(); + return all; } /** diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/GeneralBillVO.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/GeneralBillVO.java index 0ca7e2d4..2bed5099 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/GeneralBillVO.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/GeneralBillVO.java @@ -130,6 +130,10 @@ public class GeneralBillVO { * 行备注 */ private String vnotebody; + /** + * ofs来源行号 + */ + private String pk_defdoc20; } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferTest.java index 1e694170..6ec4aa37 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferTest.java @@ -40,7 +40,7 @@ public class TransferTest { @Test public void t10(){ - transferOutPluginInitializer.start("LETS-SH2024082100000007"); + transferOutPluginInitializer.start("LETS-SH2024082200000005"); } @Test @@ -55,7 +55,7 @@ public class TransferTest { } @Test public void t21(){ - transferInPluginInitializer.start("LETS-RE2024082100000005"); + transferInPluginInitializer.start("LETS-RE2024082200000001"); } From cbfe81e75a127a26044d3118487d8c3bad997201 Mon Sep 17 00:00:00 2001 From: zhengyf Date: Thu, 22 Aug 2024 17:32:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=B8=BD=E7=9F=A5=EF=BC=9A=E8=B0=83?= =?UTF-8?q?=E6=8B=A8=E5=87=BA=E5=85=A5=E5=BA=93=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lets/plugin/transfer/TransferInPluginInitializer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java index 873713af..40d64141 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/transfer/TransferInPluginInitializer.java @@ -360,7 +360,7 @@ public class TransferInPluginInitializer extends PluginBaseEntity { //两层判断,一层中台转发,一层u8c返回 if ("false".equals(ztResult.getFlag())) { //转发失败 - Assert.state(false, "丽知:OFS调拨出库订单--->U8C调拨订单,自动生成调拨出库单(保存签字).中台转发失败,失败原因:{}", ztResult.getMsg()); + Assert.state(false, "丽知:OFS调拨入库订单--->U8C调拨入库订单.中台转发失败,失败原因:{}", ztResult.getMsg()); } Attribute attribute = ztResult.getAttribute(); System.out.println(attribute); @@ -374,7 +374,7 @@ public class TransferInPluginInitializer extends PluginBaseEntity { vbillcode = generalBill.getParentvo().getVbillcode(); } if (!isSuccess) { - Assert.state(false, "推送U8C--> 丽知:OFS调整出库--->U8C其它出库 失败 接口返回结果:{} 接口入参:{}", response, mapStr); + Assert.state(false, "推送U8C--> 丽知:OFS调拨入库订单--->U8C调拨入库订单 失败 接口返回结果:{} 接口入参:{}", response, mapStr); } //成功