diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdBomEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdBomEntity.xml index feecdf0b..0842b947 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdBomEntity.xml +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/entity/BdBomEntity.xml @@ -211,10 +211,10 @@ and QRRID = #{qrrid} and QRRQ = #{qrrq} and QRSJ = #{qrsj} - and sts='Y' +-- and sts='Y' - order by sorts asc - order by ${sort} ${order} + + diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java index d5cbe627..749d1512 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningIn.java @@ -12,8 +12,11 @@ import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; import com.hzya.frame.plugin.lets.dao.*; import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; +import com.hzya.frame.plugin.lets.queryvo.QueryIntegrationTaskLivingDetails; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.*; +import com.hzya.frame.split.SplitListByCountUtil; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; @@ -89,6 +92,12 @@ public class ConsignmachiningIn extends PluginBaseEntity { @Autowired private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private IIntegrationTaskLivingDetailsDao iIntegrationTaskLivingDetailsDao; + + @Autowired + private IntegrationTaskLivingDetailsUtil integrationTaskLivingDetailsUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -234,14 +243,63 @@ public class ConsignmachiningIn extends PluginBaseEntity { * @author liuyang */ private List filterData(List returnGoodHeaderDetailsDataDtoArrayList) { + //过滤完毕后的数据集合 List headerDetailsDtoList1 = new ArrayList<>(); - if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - //TODO 出库单明细主键,需要O返回,目前没有,已经提需求 - headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList); + //查询得到已经成功的日志,成功或者已处理 + List successIntegrationTaskLivingDetails = new ArrayList<>(); + try { + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + //每100个开始拆分 + List> splitListByCount = SplitListByCountUtil.splitListByCount(returnGoodHeaderDetailsDataDtoArrayList, 100); + for (int i = 0; i < splitListByCount.size(); i++) { + List stockinOrderList = splitListByCount.get(i); + String primaryKey = fieldConcaten(stockinOrderList); + + List integrationTaskLivingDetailsEntities = integrationTaskLivingDetailsUtil.queryIntegrationTaskLivingDetails(primaryKey, getPluginId()); + successIntegrationTaskLivingDetails.addAll(integrationTaskLivingDetailsEntities); + } + + for (int i = 0; i < returnGoodHeaderDetailsDataDtoArrayList.size(); i++) { + StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoArrayList.get(i); + StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader(); + List details = stockinOrder.getDetails(); + + boolean isExi = false; + for (int j = 0; j < successIntegrationTaskLivingDetails.size(); j++) { + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = successIntegrationTaskLivingDetails.get(j); + if (integrationTaskLivingDetailsEntity.getRootAppPk().equals(header.getId())) { + isExi = true; + } + } + if (!isExi) { + headerDetailsDtoList1.add(stockinOrder); + } + } + } + } catch (Exception e) { + logger.error("过滤成功的数据抛出异常", e); } return headerDetailsDtoList1; } + /** + * 字段拼接 + */ + private String fieldConcaten(List headerDetailsDtoList1) { + if (headerDetailsDtoList1 != null && headerDetailsDtoList1.size() > 0) { + StringBuilder result = new StringBuilder(); + for (StockinOrderSearchResponse.StockinOrder obj : headerDetailsDtoList1) { + StockinOrderSearchResponse.StockinOrder.StockinH header = obj.getHeader(); + if (result.length() > 0) { + result.append(","); + } + result.append("'").append(header.getId()).append("'"); + } + return result.substring(0, result.length()); + } + return null; + } + /** * 执行主逻辑 * @@ -292,6 +350,7 @@ public class ConsignmachiningIn extends PluginBaseEntity { poOrderParentDto.setCgiveinvoicevendor(bdCumandocEntity.getPkCumandoc()); poOrderParentDto.setCvendormangid(bdCumandocEntity.getPkCumandoc()); poOrderParentDto.setDorderdate(generateBusinessDate); + poOrderParentDto.setCwareid(bdCalbodyEntity.getPkCalbody());//库存组织 poOrderParentDto.setPk_defdoc3(bdRdclEntity.getPkRdcl());//收发类别 poOrderParentDto.setVdef3(bdRdclEntity.getRdname()); @@ -343,25 +402,25 @@ public class ConsignmachiningIn extends PluginBaseEntity { Map> stringStringMap = new HashMap<>(); stringStringMap.put("OrderVO", scorderDtoArrayList); - IcGeneralHResultDto icGeneralHResultDto = sendU8cScorder(JSON.toJSONString(stringStringMap)); + ScOrderResultDto scOrderResultDto = sendU8cScorder(JSON.toJSONString(stringStringMap)); String cgeneralhid = null; String vbillcode = null; - IcGeneralHResultHeadDto parentvo = icGeneralHResultDto.getParentvo(); - List childrenvo = icGeneralHResultDto.getChildrenvo(); + ScOrderResultHeadDto parentvo = scOrderResultDto.getParentvo(); + List childrenvo = scOrderResultDto.getChildrenvo(); if (parentvo != null) { - cgeneralhid = parentvo.getCgeneralhid(); + cgeneralhid = parentvo.getCorderid(); } - if (childrenvo != null) { - vbillcode = parentvo.getVbillcode(); + if (parentvo != null) { + vbillcode = parentvo.getVordercode(); } - logger.info("推送U8C委外入库成功!委外入库单主键:{} 委外入库单编码:{}", cgeneralhid, vbillcode); + logger.info("推送U8C委外订单成功!委外订单主键:{} 委外订单编码:{}", cgeneralhid, vbillcode); // 成功记录日志 IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_Y); integrationTaskLivingDetailsEntity.setRootAppNewData(JSON.toJSONString(consignmachiningInSonDto));//原始数据json - integrationTaskLivingDetailsEntity.setNewTransmitInfo(JSON.toJSONString(icGeneralHResultDto));//返回结果 + integrationTaskLivingDetailsEntity.setNewTransmitInfo(JSON.toJSONString(parentvo));//返回结果 integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); integrationTaskLivingDetailsEntity.setBusinessDate(generateBusinessDate); integrationTaskLivingDetailsEntity.setRootAppPk(consignmachiningInSonDto.getId()); @@ -738,7 +797,7 @@ public class ConsignmachiningIn extends PluginBaseEntity { * @param param 原数据json * @author liuyang */ - public IcGeneralHResultDto sendU8cScorder(String param) throws Exception { + public ScOrderResultDto sendU8cScorder(String param) throws Exception { long startLong = System.currentTimeMillis(); logger.info("U8C委外订单推送开始,推送参数:" + param + ",U8C_URL:" + ProfilesActiveConstant.U8C_URL); String result = HttpRequest.post(ProfilesActiveConstant.U8C_URL).header("appId", "800037")//头信息,多个头信息多次调用此方法即可 @@ -760,18 +819,18 @@ public class ConsignmachiningIn extends PluginBaseEntity { result = String.valueOf(jsonObject.get("attribute")); boolean isSuccess = false; - IcGeneralHResultDto icGeneralHResultDto = null; + ScOrderResultDto scOrderResultDto = null; if (result != null && !"".equals(result)) { ReusltStrDto reusltStrDto = JSON.parseObject(result, ReusltStrDto.class); if ("success".equals(reusltStrDto.getStatus())) { - icGeneralHResultDto = resultDataHandle(reusltStrDto.getData()); + scOrderResultDto = resultDataHandle(reusltStrDto.getData()); isSuccess = true; } } if (!isSuccess) { - Assert.state(false, "O采购入库业务推送U8C委外入库失败 接口返回结果:{}", result); + Assert.state(false, "O采购入库业务(委外入库)推送U8C委外订单失败 接口返回结果:{}", result); } - return icGeneralHResultDto; + return scOrderResultDto; } /** @@ -779,13 +838,13 @@ public class ConsignmachiningIn extends PluginBaseEntity { * * @author liuyang */ - private IcGeneralHResultDto resultDataHandle(String resultData) { + private ScOrderResultDto resultDataHandle(String resultData) { try { if (resultData != null && !"".equals(resultData)) { if (resultData.contains("[")) { resultData = resultData.substring(1, resultData.length() - 1); } - return JSON.parseObject(resultData, IcGeneralHResultDto.class); + return JSON.parseObject(resultData, ScOrderResultDto.class); } } catch (Exception e) { logger.error("resultDataHandle方法解析返回参数失败的错误", e); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java index 7d4dc1b4..7b616247 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInReturn.java @@ -12,8 +12,10 @@ import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; import com.hzya.frame.plugin.lets.dao.*; import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; +import com.hzya.frame.plugin.lets.queryvo.QueryIntegrationTaskLivingDetails; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.*; +import com.hzya.frame.split.SplitListByCountUtil; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; @@ -89,6 +91,9 @@ public class ConsignmachiningInReturn extends PluginBaseEntity { @Autowired private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private IntegrationTaskLivingDetailsUtil integrationTaskLivingDetailsUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -235,14 +240,63 @@ public class ConsignmachiningInReturn extends PluginBaseEntity { * @author liuyang */ private List filterData(List returnGoodHeaderDetailsDataDtoArrayList) { + //过滤完毕后的数据集合 List headerDetailsDtoList1 = new ArrayList<>(); - if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - //TODO 出库单明细主键,需要O返回,目前没有,已经提需求 - headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList); + //查询得到已经成功的日志,成功或者已处理 + List successIntegrationTaskLivingDetails = new ArrayList<>(); + try { + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + //每100个开始拆分 + List> headerDetailsDtoList = SplitListByCountUtil.splitListByCount(returnGoodHeaderDetailsDataDtoArrayList, 100); + for (int i = 0; i < headerDetailsDtoList.size(); i++) { + List headerDetailsDtos = headerDetailsDtoList.get(i); + String primaryKey = fieldConcaten(headerDetailsDtos); + + List integrationTaskLivingDetailsEntities = integrationTaskLivingDetailsUtil.queryIntegrationTaskLivingDetails(primaryKey, getPluginId()); + successIntegrationTaskLivingDetails.addAll(integrationTaskLivingDetailsEntities); + } + + for (int i = 0; i < returnGoodHeaderDetailsDataDtoArrayList.size(); i++) { + HeaderDetailsDto headerDetailsDto = returnGoodHeaderDetailsDataDtoArrayList.get(i); + HeaderDto header = headerDetailsDto.getHeader(); + List details = headerDetailsDto.getDetails(); + + boolean isExi = false; + for (int j = 0; j < successIntegrationTaskLivingDetails.size(); j++) { + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = successIntegrationTaskLivingDetails.get(j); + if (integrationTaskLivingDetailsEntity.getRootAppPk().equals(header.getId())) { + isExi = true; + } + } + if (!isExi) { + headerDetailsDtoList1.add(headerDetailsDto); + } + } + } + } catch (Exception e) { + logger.error("过滤成功的数据抛出异常", e); } return headerDetailsDtoList1; } + /** + * 字段拼接 + */ + private String fieldConcaten(List headerDetailsDtos) { + if (headerDetailsDtos != null && headerDetailsDtos.size() > 0) { + StringBuilder result = new StringBuilder(); + for (HeaderDetailsDto obj : headerDetailsDtos) { + HeaderDto header = obj.getHeader(); + if (result.length() > 0) { + result.append(","); + } + result.append("'").append(header.getId()).append("'"); + } + return result.substring(0, result.length() - 1); + } + return null; + } + /** * 执行主逻辑 * diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java index 3554232d..6c7d55b5 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseReturn.java @@ -14,6 +14,7 @@ import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.*; +import com.hzya.frame.split.SplitListByCountUtil; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean; @@ -24,6 +25,7 @@ import com.hzya.frame.ttxofs.dto.ofspurchasereturnorder.PurchaseReturnOrderHeade import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto; import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto; import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto; +import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; @@ -89,6 +91,9 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { @Autowired private OnlyImplementProxyOrderUtil onlyImplementProxyOrder; + @Autowired + private IntegrationTaskLivingDetailsUtil integrationTaskLivingDetailsUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -263,14 +268,65 @@ public class ProxyPurchaseReturn extends PluginBaseEntity { * @author liuyang */ private List filterData(List returnGoodHeaderDetailsDataDtoArrayList) { + //过滤成功后的数据 List headerDetailsDtoList1 = new ArrayList<>(); - if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - //TODO 出库单明细主键,需要O返回,目前没有,已经提需求 - headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList); + //查询得到已经成功的日志,成功或者已处理 + List successIntegrationTaskLivingDetails = new ArrayList<>(); + try { + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + //每100个开始拆分 + List> lists = SplitListByCountUtil.splitListByCount(returnGoodHeaderDetailsDataDtoArrayList, 100); + for (int i = 0; i < lists.size(); i++) { + List headerDetailsDtoList = lists.get(i); + String primaryKey = fieldConcaten(headerDetailsDtoList); + + List integrationTaskLivingDetailsEntities = integrationTaskLivingDetailsUtil.queryIntegrationTaskLivingDetails(primaryKey, getPluginId()); + successIntegrationTaskLivingDetails.addAll(integrationTaskLivingDetailsEntities); + } + + for (int i = 0; i < returnGoodHeaderDetailsDataDtoArrayList.size(); i++) { + HeaderDetailsDto headerDetailsDto = returnGoodHeaderDetailsDataDtoArrayList.get(i); + HeaderDto header = headerDetailsDto.getHeader(); + List details = headerDetailsDto.getDetails(); + + boolean isExi = false; + for (int j = 0; j < successIntegrationTaskLivingDetails.size(); j++) { + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = successIntegrationTaskLivingDetails.get(i); + if (integrationTaskLivingDetailsEntity.getRootAppPk().equals(header.getId())) { + isExi = true; + } + } + if (!isExi) { + headerDetailsDtoList1.add(headerDetailsDto); + } + } + } + } catch (Exception e) { + logger.error("过滤成功的数据抛出异常", e); } return headerDetailsDtoList1; } + /** + * 字段拼接 + * + * @author liuyang + */ + private String fieldConcaten(List headerDetailsDtoList) { + if (headerDetailsDtoList != null && headerDetailsDtoList.size() > 0) { + StringBuilder result = new StringBuilder(); + for (HeaderDetailsDto obj : headerDetailsDtoList) { + HeaderDto header = obj.getHeader(); + if (result.length() > 0) { + result.append(","); + } + result.append("'").append(header.getId()).append("'"); + } + return result.substring(0, result.length() - 1); + } + return null; + } + /** * 执行主逻辑 * diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java index c7220b0c..48ec6fdb 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/purchase/ProxyPurchaseWarehous.java @@ -14,12 +14,15 @@ import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.u8cdto.*; import com.hzya.frame.plugin.lets.util.*; +import com.hzya.frame.split.SplitListByCountUtil; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderBean; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderData; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderDetails; import com.hzya.frame.ttxofs.dto.ofspoorder.OfsPoOrderHeader; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto; +import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto; import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; @@ -86,6 +89,9 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { @Autowired private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private IntegrationTaskLivingDetailsUtil integrationTaskLivingDetailsUtil; + @Override public void initialize() { logger.info(getPluginLabel() + "執行初始化方法initialize()"); @@ -258,13 +264,61 @@ public class ProxyPurchaseWarehous extends PluginBaseEntity { */ private List filterData(List returnGoodHeaderDetailsDataDtoArrayList) { List headerDetailsDtoList1 = new ArrayList<>(); - if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - //TODO 出库单明细主键,需要O返回,目前没有,已经提需求 - headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList); + //查询得到已经成功的日志,成功或者已处理 + List successIntegrationTaskLivingDetails = new ArrayList<>(); + try { + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { + //每100个开始拆分 + List> splitListByCount = SplitListByCountUtil.splitListByCount(returnGoodHeaderDetailsDataDtoArrayList, 100); + for (int i = 0; i < splitListByCount.size(); i++) { + List stockinOrderList = splitListByCount.get(i); + String primaryKey = fieldConcaten(stockinOrderList); + + List integrationTaskLivingDetailsEntities = integrationTaskLivingDetailsUtil.queryIntegrationTaskLivingDetails(primaryKey, getPluginId()); + successIntegrationTaskLivingDetails.addAll(integrationTaskLivingDetailsEntities); + } + + for (int i = 0; i < returnGoodHeaderDetailsDataDtoArrayList.size(); i++) { + StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoArrayList.get(i); + StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader(); + List details = stockinOrder.getDetails(); + + boolean isExi = false; + for (int j = 0; j < successIntegrationTaskLivingDetails.size(); j++) { + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = successIntegrationTaskLivingDetails.get(j); + if (integrationTaskLivingDetailsEntity.getRootAppPk().equals(header.getId())) { + isExi = true; + } + } + if (!isExi) { + headerDetailsDtoList1.add(stockinOrder); + } + } + } + } catch (Exception e) { + logger.error("过滤成功的数据抛出异常", e); } return headerDetailsDtoList1; } + /** + * 字段拼接 + */ + private String fieldConcaten(List stockinOrderList) { + if (stockinOrderList != null && stockinOrderList.size() > 0) { + StringBuilder result = new StringBuilder(); + for (StockinOrderSearchResponse.StockinOrder obj : stockinOrderList) { + StockinOrderSearchResponse.StockinOrder.StockinH header = obj.getHeader(); + if (result.length() > 0) { + result.append(","); + } + result.append("'").append(header.getId()).append("'"); + } + return result.substring(0, result.length() - 1); + } + return null; + } + /** * 执行主逻辑 * diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java index deaf06c1..20cad2af 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToC.java @@ -711,7 +711,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { String facilityCode = header.getFacilityCode(); //SKU String skuCode = sonDetailsDto.getSkuCode(); - //出库类型 + //出库类型(内购) String refOrderType = header.getRefOrderType(); StringBuffer summaryDimensionStr = new StringBuffer(); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/queryvo/QueryIntegrationTaskLivingDetails.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/queryvo/QueryIntegrationTaskLivingDetails.java new file mode 100644 index 00000000..5c0ec2df --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/queryvo/QueryIntegrationTaskLivingDetails.java @@ -0,0 +1,33 @@ +package com.hzya.frame.plugin.lets.queryvo; + +import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.queryvo + * @Project:kangarooDataCenterV3 + * @name:QueryIntegrationTaskLivingDetails + * @Date:2024/9/3 13:52 + * @Filename:QueryIntegrationTaskLivingDetails + */ +public class QueryIntegrationTaskLivingDetails extends IntegrationTaskLivingDetailsEntity { + private String root_app_pk_s; + private String param_new_state; + + public String getRoot_app_pk_s() { + return root_app_pk_s; + } + + public void setRoot_app_pk_s(String root_app_pk_s) { + this.root_app_pk_s = root_app_pk_s; + } + + public String getParam_new_state() { + return param_new_state; + } + + public void setParam_new_state(String param_new_state) { + this.param_new_state = param_new_state; + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultDetailDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultDetailDto.java new file mode 100644 index 00000000..02d82a0f --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultDetailDto.java @@ -0,0 +1,48 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:ScOrderResultDto + * @Date:2024/9/3 16:02 + * @Filename:ScOrderResultDto + */ +@Data +public class ScOrderResultDetailDto { + private String cmangid; + private String mang_code; + private String mang_name; + private String corder_bid; + private String corderid; + private String cbaseid; + private String nordernum; + private String ccurrencytypeid; + private String currencytype_code; + private String currencytype_name; + private String noriginalcurprice; + private String norgtaxprice; + private String ndiscountrate; + private String noriginalnetprice; + private String noriginalcurmny; + private String idiscounttaxtype; + private String ntaxrate; + private String noriginaltaxmny; + private String norgnettaxprice; + private String noriginalsummny; + private String nexchangeotobrate; + private String ntaxmny; + private String nmoney; + private String nsummny; + private String naccumstorenum; + private String dplanarrvdate; + private String cwarehouseid; + private String warehouse_code; + private String warehouse_name; + private String forderrowstatus; + private String bisactive; + private String crowno; + private String bomversion; +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultDto.java new file mode 100644 index 00000000..d0933d4f --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultDto.java @@ -0,0 +1,19 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import lombok.Data; + +import java.util.List; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:ScOrderResultDto + * @Date:2024/9/3 16:05 + * @Filename:ScOrderResultDto + */ +@Data +public class ScOrderResultDto { + private ScOrderResultHeadDto parentvo; + private List childrenvo; +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultHeadDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultHeadDto.java new file mode 100644 index 00000000..ed53253a --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/ScOrderResultHeadDto.java @@ -0,0 +1,50 @@ +package com.hzya.frame.plugin.lets.u8cdto; + +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.u8cdto + * @Project:kangarooDataCenterV3 + * @name:ScOrderResultHeadDto + * @Date:2024/9/3 16:04 + * @Filename:ScOrderResultHeadDto + */ +@Data +public class ScOrderResultHeadDto { + private String coperator; + private String operator_code; + private String operator_name; + private String cgiveinvoicevendor; + private String invoicevendor_code; + private String invoicevendor_name; + private String cpurorganization; + private String purorg_code; + private String purorg_name; + private String cwareid; + private String ware_code; + private String ware_name; + private String pk_corp; + private String corp_code; + private String corp_name; + private String vordercode; + private String dorderdate; + private String caccountyear; + private String ibillstatus; + private String iprintcount; + private String corderid; + private String pk_defdoc3; + private String vdef3; + private String vdef17; + private String vdef19; + private String vdef20; + private String tlastmaketime; + private String tmaketime; + private String ts; + private String cbiztype; + private String biztype_code; + private String biztype_name; + private String cvendormangid; + private String vendor_code; + private String vendor_name; +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/IntegrationTaskLivingDetailsUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/IntegrationTaskLivingDetailsUtil.java new file mode 100644 index 00000000..bf3bda9d --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/IntegrationTaskLivingDetailsUtil.java @@ -0,0 +1,38 @@ +package com.hzya.frame.plugin.lets.util; + +import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; +import com.hzya.frame.plugin.lets.queryvo.QueryIntegrationTaskLivingDetails; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.util + * @Project:kangarooDataCenterV3 + * @name:IntegrationTaskLivingDetailsUtil + * @Date:2024/9/3 14:16 + * @Filename:IntegrationTaskLivingDetailsUtil + */ +@Component +public class IntegrationTaskLivingDetailsUtil { + + @Autowired + private IIntegrationTaskLivingDetailsDao iIntegrationTaskLivingDetailsDao; + + /** + * 批量查询日志明细 + * + * @author liuyang + */ + public List queryIntegrationTaskLivingDetails(String primaryKey, String pluginId) throws Exception { + QueryIntegrationTaskLivingDetails queryIntegrationTaskLivingDetails = new QueryIntegrationTaskLivingDetails(); + queryIntegrationTaskLivingDetails.setRoot_app_pk_s(primaryKey); + queryIntegrationTaskLivingDetails.setParam_new_state(ProfilesActiveConstant.LOG_STATUS_Y_H); + queryIntegrationTaskLivingDetails.setPluginId(pluginId); + return (List) iIntegrationTaskLivingDetailsDao.query(queryIntegrationTaskLivingDetails); + } +} diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInTest.java index 405b764d..d8926eba 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/outsourc/ConsignmachiningInTest.java @@ -26,7 +26,8 @@ public class ConsignmachiningInTest { @Test public void startImplement() { - String code = "LETS-RE2024082300000007"; +// String code = "LETS-RE2024082300000007"; + String code = "LETS-RE2024090300000001"; consignmachiningIn.startImplement(code); } } \ No newline at end of file diff --git a/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.java b/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.java index 02bd393e..25bc2307 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.java @@ -1,6 +1,7 @@ package com.hzya.frame.sysnew.integtationTaskLivingDetails.entity; import java.util.Date; + import com.hzya.frame.web.entity.BaseEntity; import lombok.Data; @@ -10,60 +11,127 @@ import lombok.Data; * @author makejava * @since 2024-05-15 14:06:41 */ -@Data public class IntegrationTaskLivingDetailsEntity extends BaseEntity { + /** + * 集成任务-实例_id + */ + private String taskLinvingId; + /** + * 返回结果 + */ + private String result; + /** + * 原始查询条件 + */ + private String queryCondition; + /** + * 源系统主键 + */ + private String rootAppPk; + /** + * 原系统单据 + */ + private String rootAppBill; + /** + * 最新源系统数据详情 + */ + private String rootAppNewData; + /** + * 最新传输信息 + */ + private String newTransmitInfo; + /** + * 最新推送时间 + */ + private Date newPushDate; + /** + * 是否补推(Y是N不是) + */ + private String repairPust; + /** + * 场景id + */ + private String senceId; + /** + * 最新推送状态 + */ + private String newState; + /** + * 单据业务日期 + */ + private String businessDate; + /** + * 插件id + */ + private String pluginId; + /** + * 处理时间 + */ + private Date processingTime; + /** + * 处理备注 + */ + private String processingRemarks; + /** + * 处理⼈名称 + */ + private String processorName; + /** + * 处理⼈ + */ + private String processor; + /** + * 下游系统单号 + */ + private String newSystemNumber; + /** + * 下游系统主键 + */ + private String newSystemPrimary; + /** + * 备注 + */ + private String remark; + /** + * 扩展1 + */ + private String def1; + /** + * 扩展2 + */ + private String def2; + /** + * 扩展3 + */ + private String def3; + /** + * 扩展4 + */ + private String def4; + /** + * 扩展5 + */ + private String def5; - /** 集成任务-实例_id */ - private String taskLinvingId; - /** 返回结果 */ - private String result; - /** 原始查询条件 */ - private String queryCondition; - /** 源系统主键 */ - private String rootAppPk; - /** 原系统单据 */ - private String rootAppBill; - /** 最新源系统数据详情 */ - private String rootAppNewData; - /** 最新传输信息 */ - private String newTransmitInfo; - /** 最新推送时间 */ - private Date newPushDate; - /** 是否补推(Y是N不是) */ - private String repairPust; - /** 场景id */ - private String senceId; - /** 最新推送状态 */ - private String newState; - /** 单据业务日期 */ - private String businessDate; - /** 插件id */ - private String pluginId; - /** 处理时间 */ - private Date processingTime; - /** 处理备注 */ - private String processingRemarks; - /** 处理⼈名称 */ - private String processorName; - /** 处理⼈ */ - private String processor; - /** 下游系统单号 */ - private String newSystemNumber; - /** 下游系统主键 */ - private String newSystemPrimary; - /** 备注 */ - private String remark; - /** 扩展1 */ - private String def1; - /** 扩展2 */ - private String def2; - /** 扩展3 */ - private String def3; - /** 扩展4 */ - private String def4; - /** 扩展5 */ - private String def5; + private String root_app_pk_s; + private String param_new_state; + + public String getRoot_app_pk_s() { + return root_app_pk_s; + } + + public void setRoot_app_pk_s(String root_app_pk_s) { + this.root_app_pk_s = root_app_pk_s; + } + + public String getParam_new_state() { + return param_new_state; + } + + public void setParam_new_state(String param_new_state) { + this.param_new_state = param_new_state; + } public String getTaskLinvingId() { return taskLinvingId; @@ -88,6 +156,7 @@ public class IntegrationTaskLivingDetailsEntity extends BaseEntity { public void setQueryCondition(String queryCondition) { this.queryCondition = queryCondition; } + public String getRootAppPk() { return rootAppPk; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.xml index ffd6e895..70637480 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/integtationTaskLivingDetails/entity/IntegrationTaskLivingDetailsEntity.xml @@ -117,6 +117,12 @@ and def3 = #{def3} and def4 = #{def4} and def5 = #{def5} + + and root_app_pk in (${root_app_pk_s}) + + + and new_state in (${param_new_state}) + and sts='Y' order by sorts asc