丽知: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.ProfilesActiveConstant;
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.BdInvclEntity;
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSKURequestVO;
import com.hzya.frame.plugin.lets.u8cdto.InvBasDocVO;
import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto;
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.pushData.Attribute;
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.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -97,6 +100,9 @@ public class SKUPluginInitializer extends PluginBaseEntity {
@Autowired
private IBdInvbasdocDao bdInvbasdocDao;
@Autowired
private QueryU8CEntityUtil queryU8CEntityUtil;
@Override
public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception {
try {
@ -157,7 +163,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
//分组排序,
List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList);
//过滤日志
//过滤日志,过滤公司
List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList);
if (filterSkus.size() == 0) {
return;
@ -189,7 +195,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
//分组排序,
List<OFSSKUSearchResponse.OFSSKU> sortSkuList = groupAndSort(ofsskuList);
//过滤日志
//过滤日志,过滤公司
List<OFSSKUSearchResponse.OFSSKU> filterSkus = filterData(sortSkuList);
if (filterSkus.size() == 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> filterSkus = filterData(sortSkuList);
if (filterSkus.size() == 0) {
Assert.state(false, "根据期间:{} - {} 内询到OFS系统中SKU主档信息已全部推送请勿重新推送。");
@ -237,7 +243,7 @@ public class SKUPluginInitializer extends PluginBaseEntity {
}
/**
* 过滤成功日志
* 过滤成功日志过滤公司根据U8C自定义档案
* rootAppPk
* [code]_[lastUpdated]
*
@ -247,6 +253,12 @@ public class SKUPluginInitializer extends PluginBaseEntity {
public List<OFSSKUSearchResponse.OFSSKU> filterData(List<OFSSKUSearchResponse.OFSSKU> ofsskuList) {
List<OFSSKUSearchResponse.OFSSKU> filterSkus = new ArrayList<>();
for (OFSSKUSearchResponse.OFSSKU ofssku : ofsskuList) {
//过滤公司
boolean b = filterCorp(ofssku);
if (b) {
continue;
}
String rootAppPk = ofssku.getCode().trim() + "_" + ofssku.getLastUpdated();
boolean isExis = true;
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
@ -264,11 +276,17 @@ public class SKUPluginInitializer extends PluginBaseEntity {
}
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 存货简称
parentvo.setInvshortname(sku.getName().replace("'", "\'\'"));
//pk_invcl 分类,没有存货分类的时候默认YD001,可能是虚拟组套
if(null==sku.getCInvCCode()||"".equals(sku.getCInvCCode())){
if (null == sku.getCInvCCode() || "".equals(sku.getCInvCCode())) {
parentvo.setPk_invcl("YD001");
}else {
} else {
parentvo.setPk_invcl(sku.getCInvCCode());
}
@ -383,11 +401,11 @@ public class SKUPluginInitializer extends PluginBaseEntity {
logger.error("推送U8C丽知OFS货品档案--->U8C货品档案失败失败原因" + e);
//失败
ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class);
String ErrMessage="";
String ErrMessage = "";
if (reusltStrDto != null) {
ErrMessage = "推送U8C丽知OFS货品档案--->U8C货品档案失败失败原因" + reusltStrDto.getErrormsg();
}else {
ErrMessage=e.getMessage();
} else {
ErrMessage = e.getMessage();
}
//失败
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();