From a1c7912e3f1de5e7d84a5f3d658c528f6b6657e7 Mon Sep 17 00:00:00 2001 From: zhengyf Date: Wed, 18 Sep 2024 15:08:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BD=E7=9F=A5=EF=BC=9A=E5=AD=98=E8=B4=A7?= =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E6=A1=A3=E6=A1=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/base/SKUPluginInitializer.java | 81 ++++++++++--------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java index c7ad02d1..71789f2b 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java @@ -150,15 +150,15 @@ public class SKUPluginInitializer extends PluginBaseEntity { queryOfsSKURequestVO.setLastUpdated_start(startTimeStr); queryOfsSKURequestVO.setLastUpdated_end(endTimeStr); List ofsskuList = queryOfsSKUs(queryOfsSKURequestVO); - if(ofsskuList.size()==0){ - return; + if (ofsskuList == null || ofsskuList.size() == 0) { + return; } //分组排序, List sortSkuList = groupAndSort(ofsskuList); //过滤日志 List filterSkus = filterData(sortSkuList); - if(filterSkus.size()==0){ + if (filterSkus.size() == 0) { return; } //具体实现 @@ -182,7 +182,7 @@ public class SKUPluginInitializer extends PluginBaseEntity { QueryOfsSKURequestVO queryOfsSKURequestVO = new QueryOfsSKURequestVO(); queryOfsSKURequestVO.setCode(split[0]); List ofsskuList = queryOfsSKUs(queryOfsSKURequestVO); - if(ofsskuList.size()==0){ + if (ofsskuList == null || ofsskuList.size() == 0) { Assert.state(false, "根据OFS SKU主档编码:{},未查询到SKU主档,请检查入参或者OFS SKU主档。", split[0]); } //分组排序, @@ -190,7 +190,7 @@ public class SKUPluginInitializer extends PluginBaseEntity { //过滤日志 List filterSkus = filterData(sortSkuList); - if(filterSkus.size()==0){ + if (filterSkus.size() == 0) { Assert.state(false, "根据OFS SKU主档编码:{},已被推送成功,请勿重新推送。", split[0]); } //具体实现 @@ -216,16 +216,16 @@ public class SKUPluginInitializer extends PluginBaseEntity { queryOfsSKURequestVO.setLastUpdated_start(start); queryOfsSKURequestVO.setLastUpdated_end(end); List ofsskuList = queryOfsSKUs(queryOfsSKURequestVO); - if(ofsskuList.size()==0){ - Assert.state(false,"根据期间:{} - {} 内,未查询到OFS系统中SKU主档信息,请检查。"); + if (ofsskuList == null || ofsskuList.size() == 0) { + Assert.state(false, "根据期间:{} - {} 内,未查询到OFS系统中SKU主档信息,请检查。"); } //分组排序, List sortSkuList = groupAndSort(ofsskuList); //过滤日志 List filterSkus = filterData(sortSkuList); - if(filterSkus.size()==0){ - Assert.state(false,"根据期间:{} - {} 内询到OFS系统中SKU主档信息已全部推送,请勿重新推送。"); + if (filterSkus.size() == 0) { + Assert.state(false, "根据期间:{} - {} 内询到OFS系统中SKU主档信息已全部推送,请勿重新推送。"); } //具体实现 implement(filterSkus); @@ -239,13 +239,14 @@ public class SKUPluginInitializer extends PluginBaseEntity { * 过滤成功日志 * rootAppPk * [code]_[lastUpdated] + * * @param ofsskuList * @return */ - public List filterData(List ofsskuList){ + public List filterData(List ofsskuList) { List filterSkus = new ArrayList<>(); for (OFSSKUSearchResponse.OFSSKU ofssku : ofsskuList) { - String rootAppPk = ofssku.getCode()+"_"+ofssku.getLastUpdated(); + String rootAppPk = ofssku.getCode() + "_" + ofssku.getLastUpdated(); boolean isExis = true; IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); integrationTaskLivingDetailsEntity.setRootAppPk(rootAppPk); @@ -268,10 +269,10 @@ public class SKUPluginInitializer extends PluginBaseEntity { * 注意: * 可能一家公司封存则,则取消分配这家公司的存货管理档案 */ - public void implement(List filterSkus){ + public void implement(List filterSkus) { for (OFSSKUSearchResponse.OFSSKU sku : filterSkus) { - String PkInvbasdoc= ""; + String PkInvbasdoc = ""; String url = ""; String mapStr = ""; String format = sku.getLastUpdated(); @@ -284,14 +285,14 @@ public class SKUPluginInitializer extends PluginBaseEntity { //查询是否存在,返回pkInvbasdoc,如果有则是修改,null则为新增 //查询该id再u8c是否有数据,没有则是新增,有则是修改 存货基本档案:def2-》ofs主键 - PkInvbasdoc=queryInvbasDocIsExist(sku); + PkInvbasdoc = queryInvbasDocIsExist(sku); if (PkInvbasdoc != null) { //修改 parentvo.setPk_invbasdoc(PkInvbasdoc); - url=OverallConstant.getOverAllValue("bdinvclUpdateCode"); + url = OverallConstant.getOverAllValue("bdinvclUpdateCode"); } else if (PkInvbasdoc == null) { //新增 - url=OverallConstant.getOverAllValue("bdinvclSaveCode"); + url = OverallConstant.getOverAllValue("bdinvclSaveCode"); } //def2 ofs id @@ -328,14 +329,14 @@ public class SKUPluginInitializer extends PluginBaseEntity { invbasdoc.setParentvo(parentvo); //子表,暂时没有要传的值 String jsonStr = JSONUtil.toJsonStr(invbasdoc); - mapStr= "{\"invbasdoc\":" + jsonStr + "}"; + mapStr = "{\"invbasdoc\":" + jsonStr + "}"; ZTResult ztResult = pushU8CByApiCode.pushByCode(url, mapStr); //两层判断,一层中台转发,一层u8c返回 Attribute attribute = ztResult.getAttribute(); if ("false".equals(ztResult.getFlag())) { //转发失败 - response=JSONUtil.toJsonStr(ztResult.getAttribute()); + response = JSONUtil.toJsonStr(ztResult.getAttribute()); Assert.state(false, "丽知:OFS货品档案--->U8C货品档案,中台转发失败,失败原因:{}", ztResult.getAttribute()); } boolean isSuccess = false; @@ -357,13 +358,13 @@ public class SKUPluginInitializer extends PluginBaseEntity { integrationTaskLivingDetailsEntity.setNewTransmitInfo(attribute.getData()); integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); integrationTaskLivingDetailsEntity.setBusinessDate(format); - integrationTaskLivingDetailsEntity.setRootAppPk(sku.getCode()+"_"+sku.getLastUpdated()); + integrationTaskLivingDetailsEntity.setRootAppPk(sku.getCode() + "_" + sku.getLastUpdated()); integrationTaskLivingDetailsEntity.setRootAppBill(sku.getCode()); integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); integrationTaskLivingDetailsEntity.setDef1(sku.getId()); saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); logger.error("推送U8C,丽知:OFS货品档案--->U8C货品档案失败,失败原因:" + e); //失败 @@ -376,7 +377,7 @@ public class SKUPluginInitializer extends PluginBaseEntity { integrationTaskLivingDetailsEntity.setNewTransmitInfo(ErrMessage); integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); integrationTaskLivingDetailsEntity.setBusinessDate(format); - integrationTaskLivingDetailsEntity.setRootAppPk(sku.getCode()+"_"+sku.getLastUpdated()); + integrationTaskLivingDetailsEntity.setRootAppPk(sku.getCode() + "_" + sku.getLastUpdated()); integrationTaskLivingDetailsEntity.setRootAppBill(sku.getCode()); integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); integrationTaskLivingDetailsEntity.setDef1(sku.getId()); @@ -387,65 +388,66 @@ public class SKUPluginInitializer extends PluginBaseEntity { } } - public String queryInvbasDocIsExist(OFSSKUSearchResponse.OFSSKU sku){ - String PkInvbasdoc=""; + public String queryInvbasDocIsExist(OFSSKUSearchResponse.OFSSKU sku) { + String PkInvbasdoc = ""; BdInvbasdocEntity bdInvbasdocEntity = new BdInvbasdocEntity(); bdInvbasdocEntity.setDr(0L); bdInvbasdocEntity.setDef2(sku.getId()); bdInvbasdocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE); List bdInvbasdocEntityList = bdInvbasdocDao.query(bdInvbasdocEntity);//根据ofs id - if(bdInvbasdocEntityList.size()==0){ + if (bdInvbasdocEntityList.size() == 0) { bdInvbasdocEntity.setDef2(null); bdInvbasdocEntity.setInvcode(sku.getCode()); bdInvbasdocEntity.setInvname(sku.getName()); List bdInvbasdocEntityList1 = bdInvbasdocDao.query(bdInvbasdocEntity);//根据编码+名称 - if(bdInvbasdocEntityList1.size()==0){ + if (bdInvbasdocEntityList1.size() == 0) { bdInvbasdocEntity.setInvname(null); List bdInvbasdocEntityList2 = bdInvbasdocDao.query(bdInvbasdocEntity);//进查询编码 if (bdInvbasdocEntityList2.size() == 0) {//编码不存在 return null; } else if (bdInvbasdocEntityList2.size() == 1) {//编码存在 - PkInvbasdoc=bdInvbasdocEntityList2.get(0).getPkInvbasdoc();//主键 + PkInvbasdoc = bdInvbasdocEntityList2.get(0).getPkInvbasdoc();//主键 } - }else if(bdInvbasdocEntityList1.size()==1){ + } else if (bdInvbasdocEntityList1.size() == 1) { //修改 - PkInvbasdoc=bdInvbasdocEntityList1.get(0).getPkInvbasdoc();//主键 + PkInvbasdoc = bdInvbasdocEntityList1.get(0).getPkInvbasdoc();//主键 } - }else if(bdInvbasdocEntityList.size()==1){ + } else if (bdInvbasdocEntityList.size() == 1) { //修改 - PkInvbasdoc=bdInvbasdocEntityList.get(0).getPkInvbasdoc();//主键 - }else { + PkInvbasdoc = bdInvbasdocEntityList.get(0).getPkInvbasdoc();//主键 + } else { //异常,存在多个 - Assert.state(false,"SKU主档编码:{},id:{}。U8C存货基本档案def2(OFS中SKU主档id)存在多个,请检查。",sku.getCode(),sku.getId()); + Assert.state(false, "SKU主档编码:{},id:{}。U8C存货基本档案def2(OFS中SKU主档id)存在多个,请检查。", sku.getCode(), sku.getId()); } - return PkInvbasdoc; + return PkInvbasdoc; } /** * 按code分组,并按lastUpdated排序 + * * @param ofsskuList * @return */ - public List groupAndSort(List ofsskuList){ - List sortSkus=new ArrayList<>(); + public List groupAndSort(List ofsskuList) { + List sortSkus = new ArrayList<>(); //根据code进行分组 Map> collectMapByCode = ofsskuList.stream().collect(Collectors.groupingBy(OFSSKUSearchResponse.OFSSKU::getCode)); - collectMapByCode.forEach((k,v)->{ + collectMapByCode.forEach((k, v) -> { //降序排序 (从新到旧),根据最后修改时间倒排 List sorted = v.stream().sorted(Comparator.comparing(OFSSKUSearchResponse.OFSSKU::getLastUpdated).reversed()).collect(Collectors.toList()); //排除status==0的 for (int i = 0; i < sorted.size(); i++) { - if("0".equals(sorted.get(i).getStatus())){ + if ("0".equals(sorted.get(i).getStatus())) { sorted.remove(i); } } - if(sorted.size()!=0){ + if (sorted.size() != 0) { sortSkus.add(sorted.get(0));//只取最后修改的一个 } }); @@ -455,7 +457,7 @@ public class SKUPluginInitializer extends PluginBaseEntity { /** * 封存存货基本档案 */ - public void sealImplement(String code){ + public void sealImplement(String code) { } @@ -497,6 +499,7 @@ public class SKUPluginInitializer extends PluginBaseEntity { } return all; } + private InvBasDocVO resultDataHandle(String resultData) { try { if (resultData != null && !"".equals(resultData)) {