丽知:sku同步修改过滤条件,取自定义项(DAGSGL)

This commit is contained in:
zhengyf 2025-03-11 10:53:30 +08:00
parent 8c3152c61b
commit b01de5e5de
1 changed files with 32 additions and 14 deletions

View File

@ -10,12 +10,14 @@ import com.hzya.frame.base.PluginBaseEntity;
import com.hzya.frame.plugin.lets.constant.OverallConstant; import com.hzya.frame.plugin.lets.constant.OverallConstant;
import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant;
import com.hzya.frame.plugin.lets.dao.IBdInvbasdocDao; import com.hzya.frame.plugin.lets.dao.IBdInvbasdocDao;
import com.hzya.frame.plugin.lets.entity.BdDefdocEntity;
import com.hzya.frame.plugin.lets.entity.BdInvbasdocEntity; import com.hzya.frame.plugin.lets.entity.BdInvbasdocEntity;
import com.hzya.frame.plugin.lets.entity.BdInvclEntity; import com.hzya.frame.plugin.lets.entity.BdInvclEntity;
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSKURequestVO; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSKURequestVO;
import com.hzya.frame.plugin.lets.u8cdto.InvBasDocVO; import com.hzya.frame.plugin.lets.u8cdto.InvBasDocVO;
import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto; import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto;
import com.hzya.frame.plugin.lets.util.PushDataByU8cUtil; import com.hzya.frame.plugin.lets.util.PushDataByU8cUtil;
import com.hzya.frame.plugin.lets.util.QueryU8CEntityUtil;
import com.hzya.frame.plugin.lets.util.SaveOrUpdateBusinessLogUtil; import com.hzya.frame.plugin.lets.util.SaveOrUpdateBusinessLogUtil;
import com.hzya.frame.plugin.lets.util.pushData.Attribute; import com.hzya.frame.plugin.lets.util.pushData.Attribute;
import com.hzya.frame.plugin.lets.util.pushData.PushU8CByApiCode; import com.hzya.frame.plugin.lets.util.pushData.PushU8CByApiCode;
@ -28,6 +30,7 @@ import com.hzya.frame.ttxofs.dto.ofsBaseSearch.OFSSKUSearchResponse;
import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.ttxofs.service.OfsUnifiedService;
import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity; import com.hzya.frame.web.entity.JsonResultEntity;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -97,6 +100,9 @@ public class SKUPluginInitializer extends PluginBaseEntity {
@Autowired @Autowired
private IBdInvbasdocDao bdInvbasdocDao; private IBdInvbasdocDao bdInvbasdocDao;
@Autowired
private QueryU8CEntityUtil queryU8CEntityUtil;
@Override @Override
public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
try { try {
@ -157,7 +163,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
//分组排序, //分组排序,
List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList); List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList);
//过滤日志 //过滤日志,过滤公司
List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList); List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList);
if (filterSkus.size() == 0) { if (filterSkus.size() == 0) {
return; return;
@ -189,7 +195,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
//分组排序, //分组排序,
List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList); List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList);
//过滤日志 //过滤日志,过滤公司
List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList); List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList);
if (filterSkus.size() == 0) { if (filterSkus.size() == 0) {
Assert.state(false, "根据OFS SKU主档编码{},已被推送成功,请勿重新推送。", split[0]); Assert.state(false, "根据OFS SKU主档编码{},已被推送成功,请勿重新推送。", split[0]);
@ -223,7 +229,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
//分组排序, //分组排序,
List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList); List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList);
//过滤日志 //过滤日志,过滤公司
List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList); List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList);
if (filterSkus.size() == 0) { if (filterSkus.size() == 0) {
Assert.state(false, "根据期间:{} - {} 内询到OFS系统中SKU主档信息已全部推送请勿重新推送。"); Assert.state(false, "根据期间:{} - {} 内询到OFS系统中SKU主档信息已全部推送请勿重新推送。");
@ -237,7 +243,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
} }
/** /**
* 过滤成功日志 * 过滤成功日志过滤公司根据U8C自定义档案
* rootAppPk * rootAppPk
* [code]_[lastUpdated] * [code]_[lastUpdated]
* *
@ -247,6 +253,12 @@ public class SKUPluginInitializer extends PluginBaseEntity {
public List<OFSSKUSearchResponse.OFSSKU> filterData(List<OFSSKUSearchResponse.OFSSKU> ofsskuList) { public List<OFSSKUSearchResponse.OFSSKU> filterData(List<OFSSKUSearchResponse.OFSSKU> ofsskuList) {
List<OFSSKUSearchResponse.OFSSKU> filterSkus = new ArrayList<>(); List<OFSSKUSearchResponse.OFSSKU> filterSkus = new ArrayList<>();
for (OFSSKUSearchResponse.OFSSKU ofssku : ofsskuList) { for (OFSSKUSearchResponse.OFSSKU ofssku : ofsskuList) {
//过滤公司
boolean b = filterCorp(ofssku);
if (b) {
continue;
}
String rootAppPk = ofssku.getCode().trim() + "_" + ofssku.getLastUpdated(); String rootAppPk = ofssku.getCode().trim() + "_" + ofssku.getLastUpdated();
boolean isExis = true; boolean isExis = true;
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
@ -264,11 +276,17 @@ public class SKUPluginInitializer extends PluginBaseEntity {
} }
return filterSkus; return filterSkus;
} }
// public static void main(String[] args) {
// String brandCode="I'M MEME".replace("'", "\\'"); /**
// System.out.println(brandCode); * 根据自定义档案过滤公司
// * @return true 在要被过滤的列表false 不要被过滤的列表
// } */
private boolean filterCorp(OFSSKUSearchResponse.OFSSKU ofssku) {
String skuCompanyCode = ofssku.getCompanyCode();
List<BdDefdocEntity> defdocEntityList = queryU8CEntityUtil.queryBdDefDocByListCode("DAGSGL");
List<String> collect = defdocEntityList.stream().map(index -> index.getDoccode()).collect(Collectors.toList());
return collect.contains(skuCompanyCode);
}
/** /**
* 推送 * 推送
@ -315,9 +333,9 @@ public class SKUPluginInitializer extends PluginBaseEntity {
//invshortname 存货简称 //invshortname 存货简称
parentvo.setInvshortname(sku.getName().replace("'", "\'\'")); parentvo.setInvshortname(sku.getName().replace("'", "\'\'"));
//pk_invcl 分类,没有存货分类的时候默认YD001,可能是虚拟组套 //pk_invcl 分类,没有存货分类的时候默认YD001,可能是虚拟组套
if(null==sku.getCInvCCode()||"".equals(sku.getCInvCCode())){ if (null == sku.getCInvCCode() || "".equals(sku.getCInvCCode())) {
parentvo.setPk_invcl("YD001"); parentvo.setPk_invcl("YD001");
}else { } else {
parentvo.setPk_invcl(sku.getCInvCCode()); parentvo.setPk_invcl(sku.getCInvCCode());
} }
@ -383,11 +401,11 @@ public class SKUPluginInitializer extends PluginBaseEntity {
logger.error("推送U8C丽知OFS货品档案--->U8C货品档案失败失败原因" + e); logger.error("推送U8C丽知OFS货品档案--->U8C货品档案失败失败原因" + e);
//失败 //失败
ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class); ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class);
String ErrMessage=""; String ErrMessage = "";
if (reusltStrDto != null) { if (reusltStrDto != null) {
ErrMessage = "推送U8C丽知OFS货品档案--->U8C货品档案失败失败原因" + reusltStrDto.getErrormsg(); ErrMessage = "推送U8C丽知OFS货品档案--->U8C货品档案失败失败原因" + reusltStrDto.getErrormsg();
}else { } else {
ErrMessage=e.getMessage(); ErrMessage = e.getMessage();
} }
//失败 //失败
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();