diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java index 361798c8..93e5d458 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/constant/OverallConstant.java @@ -41,7 +41,9 @@ public class OverallConstant { prodOverPublic.put("approveqz", "/u8cloud/api/to/transorder/saveapprove");//调拨订单保存即审批 //其他出入库 + prodOverPublic.put("otherinqzCode", "8000370007");//库存其他入库保存即签字 prodOverPublic.put("otherinqz", "/u8cloud/api/ic/otherin/save/sign");//库存其他入库保存即签字 + prodOverPublic.put("otheroutqzCode", "8000370008");//库存其他出库保存即签字 prodOverPublic.put("otheroutqz", "/u8cloud/api/ic/otherout/save/sign");//库存其他出库保存即签字 @@ -58,12 +60,12 @@ public class OverallConstant { } private static void loadDev() { + devOverAll.put("u8cApiUrl", "http://39.170.109.90:9099");//测试U8C devOverAll.put("u8cApiUsercodePK", "admin"); devOverAll.put("u8cApiPasswordPK", "21232f297a57a5a743894a0e4a801fc3"); devOverAll.put("u8cApiTrantypePK", "pk"); devOverAll.put("u8cApiSystemPK", "lz"); - devOverAll.put("u8cApiServiceNamePK", "http://39.170.109.90:9099");//测试U8C devOverAll.put("u8cApiNeedStackTracePK", "Y"); devOverAll.put("u8cApiZdrPK", "0001A210000000000GVS");//单据制单人---测试环境:郑一凡 @@ -71,7 +73,6 @@ public class OverallConstant { devOverAll.put("u8cApiPasswordCode", "e00cf25ad42683b3df678c61f42c6bda"); devOverAll.put("u8cApiTrantypeCode", "code"); devOverAll.put("u8cApiSystemCode", "lz1"); - devOverAll.put("u8cApiServiceNameCode", "http://39.170.109.90:9099");//测试U8C devOverAll.put("u8cApiNeedStackTraceCode", "Y"); devOverAll.put("u8cApiZdrCode", "15932295350");//单据制单人---测试环境:郑一凡 diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofs/entity/TocofsReturngoodsDetailedEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofs/entity/TocofsReturngoodsDetailedEntity.java index 90097f2c..3ca7cfa2 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofs/entity/TocofsReturngoodsDetailedEntity.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofs/entity/TocofsReturngoodsDetailedEntity.java @@ -1,6 +1,8 @@ package com.hzya.frame.plugin.lets.ofs.entity; +import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto; import com.hzya.frame.web.entity.BaseEntity; +import lombok.Data; /** * root(TocofsReturngoodsDetailed)实体类 @@ -8,6 +10,7 @@ import com.hzya.frame.web.entity.BaseEntity; * @author makejava * @since 2024-08-09 13:45:47 */ +@Data public class TocofsReturngoodsDetailedEntity extends BaseEntity { /** * 81159 @@ -156,301 +159,4 @@ public class TocofsReturngoodsDetailedEntity extends BaseEntity { // private String returngoodsId; private String businessType; - - public String getBusinessType() { - return businessType; - } - - public void setBusinessType(String businessType) { - this.businessType = businessType; - } - - public String getReceiptId() { - return receiptId; - } - - public void setReceiptId(String receiptId) { - this.receiptId = receiptId; - } - - public String getReceiptCode() { - return receiptCode; - } - - public void setReceiptCode(String receiptCode) { - this.receiptCode = receiptCode; - } - - public String getRefOrderId() { - return refOrderId; - } - - public void setRefOrderId(String refOrderId) { - this.refOrderId = refOrderId; - } - - public String getRefOrderDetailId() { - return refOrderDetailId; - } - - public void setRefOrderDetailId(String refOrderDetailId) { - this.refOrderDetailId = refOrderDetailId; - } - - public String getSourceOrderCode() { - return sourceOrderCode; - } - - public void setSourceOrderCode(String sourceOrderCode) { - this.sourceOrderCode = sourceOrderCode; - } - - public String getClientCode() { - return clientCode; - } - - public void setClientCode(String clientCode) { - this.clientCode = clientCode; - } - - public String getCompanyCode() { - return companyCode; - } - - public void setCompanyCode(String companyCode) { - this.companyCode = companyCode; - } - - public String getFacilityCode() { - return facilityCode; - } - - public void setFacilityCode(String facilityCode) { - this.facilityCode = facilityCode; - } - - public String getSkuCode() { - return skuCode; - } - - public void setSkuCode(String skuCode) { - this.skuCode = skuCode; - } - - public String getSkuName() { - return skuName; - } - - public void setSkuName(String skuName) { - this.skuName = skuName; - } - - public String getRequestQty() { - return requestQty; - } - - public void setRequestQty(String requestQty) { - this.requestQty = requestQty; - } - - public String getReceivedQty() { - return receivedQty; - } - - public void setReceivedQty(String receivedQty) { - this.receivedQty = receivedQty; - } - - public String getOpenQty() { - return openQty; - } - - public void setOpenQty(String openQty) { - this.openQty = openQty; - } - - public String getQuantityUM() { - return quantityUM; - } - - public void setQuantityUM(String quantityUM) { - this.quantityUM = quantityUM; - } - - public String getTotalWeight() { - return totalWeight; - } - - public void setTotalWeight(String totalWeight) { - this.totalWeight = totalWeight; - } - - public String getTotalVolume() { - return totalVolume; - } - - public void setTotalVolume(String totalVolume) { - this.totalVolume = totalVolume; - } - - public String getTotalVolumeWeight() { - return totalVolumeWeight; - } - - public void setTotalVolumeWeight(String totalVolumeWeight) { - this.totalVolumeWeight = totalVolumeWeight; - } - - public String getTotalAmount() { - return totalAmount; - } - - public void setTotalAmount(String totalAmount) { - this.totalAmount = totalAmount; - } - - public String getWeightUM() { - return weightUM; - } - - public void setWeightUM(String weightUM) { - this.weightUM = weightUM; - } - - public String getVolumeUM() { - return volumeUM; - } - - public void setVolumeUM(String volumeUM) { - this.volumeUM = volumeUM; - } - - public String getInventorySts() { - return inventorySts; - } - - public void setInventorySts(String inventorySts) { - this.inventorySts = inventorySts; - } - - public String getInTransInvId() { - return inTransInvId; - } - - public void setInTransInvId(String inTransInvId) { - this.inTransInvId = inTransInvId; - } - - public String getClosed() { - return closed; - } - - public void setClosed(String closed) { - this.closed = closed; - } - - public String getCreated() { - return created; - } - - public void setCreated(String created) { - this.created = created; - } - - public String getCreatedBy() { - return createdBy; - } - - public void setCreatedBy(String createdBy) { - this.createdBy = createdBy; - } - - public String getLastUpdated() { - return lastUpdated; - } - - public void setLastUpdated(String lastUpdated) { - this.lastUpdated = lastUpdated; - } - - public String getLastUpdatedBy() { - return lastUpdatedBy; - } - - public void setLastUpdatedBy(String lastUpdatedBy) { - this.lastUpdatedBy = lastUpdatedBy; - } - - public String getDiscountPrice() { - return discountPrice; - } - - public void setDiscountPrice(String discountPrice) { - this.discountPrice = discountPrice; - } - - public String getNewTransmitinfo() { - return newTransmitinfo; - } - - public void setNewTransmitinfo(String newTransmitinfo) { - this.newTransmitinfo = newTransmitinfo; - } - - public String getNewPushdate() { - return newPushdate; - } - - public void setNewPushdate(String newPushdate) { - this.newPushdate = newPushdate; - } - - public String getNewState() { - return newState; - } - - public void setNewState(String newState) { - this.newState = newState; - } - - public String getNewSystemNumber() { - return newSystemNumber; - } - - public void setNewSystemNumber(String newSystemNumber) { - this.newSystemNumber = newSystemNumber; - } - - public String getNewSystemPrimary() { - return newSystemPrimary; - } - - public void setNewSystemPrimary(String newSystemPrimary) { - this.newSystemPrimary = newSystemPrimary; - } - - public String getPrimaryKey() { - return primaryKey; - } - - public void setPrimaryKey(String primaryKey) { - this.primaryKey = primaryKey; - } - - public String getBusinessDate() { - return businessDate; - } - - public void setBusinessDate(String businessDate) { - this.businessDate = businessDate; - } - -// public String getReturngoodsId() { -// return returngoodsId; -// } -// -// public void setReturngoodsId(String returngoodsId) { -// this.returngoodsId = returngoodsId; -// } - } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSKUClassRequestVO.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSKUClassRequestVO.java new file mode 100644 index 00000000..658215a0 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSKUClassRequestVO.java @@ -0,0 +1,23 @@ +package com.hzya.frame.plugin.lets.ofsvo; + +import lombok.Data; + +/** + * OFS SKU分类查询请求类 + */ +@Data +public class QueryOfsSKUClassRequestVO { + /** 开始时间 */ + private String created_start; + /** 结束时间 */ + private String created_end; + /** 组织 */ + private String clientCode; + + private String companyCode; + private String cInvCCode; + private String status; + private String code; + private int pageNo; + private int pageSize; +} \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSoSaleOutVo.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSoSaleOutVo.java index 1d9e475b..4fce0f74 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSoSaleOutVo.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsSoSaleOutVo.java @@ -34,4 +34,8 @@ public class QueryOfsSoSaleOutVo { private String shipAt_start; private String shipAt_end; + + private String closedAt_start; + + private String closedAt_end; } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsStockoutOrderRequestVO.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsStockoutOrderRequestVO.java index 153536f7..5b3c2dd5 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsStockoutOrderRequestVO.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/ofsvo/QueryOfsStockoutOrderRequestVO.java @@ -14,6 +14,8 @@ public class QueryOfsStockoutOrderRequestVO { private String closedAt_start; private String closedAt_end; + private String shipAt_start; + private String shipAt_end; /** 组织 */ private String clientCode; diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustInPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustInPluginInitializer.java index 9dfba63c..94ee9a12 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustInPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustInPluginInitializer.java @@ -14,15 +14,20 @@ import com.hzya.frame.plugin.lets.entity.BdRdclEntity; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsStockinOrderRequestVO; import com.hzya.frame.plugin.lets.u8cdto.BillVO; import com.hzya.frame.plugin.lets.u8cdto.GeneralBillVO_4ADto; +import com.hzya.frame.plugin.lets.u8cdto.GeneralBillVO_4IDto; import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto; import com.hzya.frame.plugin.lets.util.PushDataByU8cUtil; 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; +import com.hzya.frame.plugin.lets.util.pushData.ZTResult; import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -72,6 +77,8 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { @Autowired private PushDataByU8cUtil pushDataByU8cUtil; @Autowired + private PushU8CByApiCode pushU8CByApiCode; + @Autowired private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; @Autowired @@ -82,6 +89,38 @@ public class AdjustInPluginInitializer 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; } @@ -101,8 +140,7 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); queryOfsStockinOrderRequestVO.setCreated_start(startTimeStr); queryOfsStockinOrderRequestVO.setCreated_end(endTimeStr); - queryOfsStockinOrderRequestVO.setCompanyCode("SHLZ"); -// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + queryOfsStockinOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockinOrderRequestVO.setPageNo(1L); queryOfsStockinOrderRequestVO.setPageSize(500L); List stockinOrders = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); @@ -133,23 +171,21 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { try { QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); - queryOfsStockinOrderRequestVO.setCreated_start("2024-08-12 00:00:00"); - queryOfsStockinOrderRequestVO.setCreated_end("2024-08-13 23:59:59"); queryOfsStockinOrderRequestVO.setCode(stockinNo); - queryOfsStockinOrderRequestVO.setCompanyCode("SHLZ"); -// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 +// queryOfsStockinOrderRequestVO.setCompanyCode("SHLZ"); + queryOfsStockinOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockinOrderRequestVO.setPageNo(1L); queryOfsStockinOrderRequestVO.setPageSize(500L); List stockinOrders = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); System.out.println(stockinOrders); if (stockinOrders.size() == 0) { - return; + Assert.state(false, "丽知:OFS调整入库--->U8C其它入库根据单据号[入库完成]:{},未查询到调整出库单", stockinNo); } //过滤日志 List filterStockinOrders = filterData(stockinOrders); if (filterStockinOrders.size() == 0) { - return; + Assert.state(false, "丽知:OFS调整入库--->U8C其它入库根据单据号[入库完成]:{},该调整出库单已被推送成功,请勿重新推送", stockinNo); } //推送 @@ -174,20 +210,19 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO(); queryOfsStockinOrderRequestVO.setCreated_start(start); queryOfsStockinOrderRequestVO.setCreated_end(end); - queryOfsStockinOrderRequestVO.setCompanyCode("SHOFF"); -// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + queryOfsStockinOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 queryOfsStockinOrderRequestVO.setPageNo(1L); queryOfsStockinOrderRequestVO.setPageSize(500L); List stockinOrders = queryOfsStockinOrder(queryOfsStockinOrderRequestVO); System.out.println(stockinOrders); if (stockinOrders.size() == 0) { - return; + Assert.state(false, "丽知:OFS调整入库--->U8C其它入库根据日期期间[开始时间]-[结束时间]:{}-{},未查询到调整入库单[入库完成]", startTime, endTime); } //过滤日志 List filterStockinOrders = filterData(stockinOrders); if (filterStockinOrders.size() == 0) { - return; + Assert.state(false, "丽知:OFS调整入库--->U8C其它入库根据日期期间[开始时间]-[结束时间]:{}-{},该调期间整入库单[入库完成]已被推送成功,请勿重新推送", startTime, endTime); } //推送 @@ -227,22 +262,23 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { /** * 推送U8C其它入库单 + * * @param filterStockinOrders */ - public void implement(List filterStockinOrders){ + public void implement(List filterStockinOrders) { for (StockinOrderSearchResponse.StockinOrder stockinOrder : filterStockinOrders) { String mapStr = ""; - String format=""; - String response=""; - String ofsCode=""; - try{ + String format = ""; + String response = ""; + String ofsCode = ""; + try { //主表 StockinOrderSearchResponse.StockinOrder.StockinH ofsHeader = stockinOrder.getHeader(); GeneralBillVO_4ADto generalBillVO_4A = new GeneralBillVO_4ADto(); GeneralBillVO_4ADto.Parentvo parentvo = new GeneralBillVO_4ADto.Parentvo(); //ofs订单号,自定义项19 - ofsCode=ofsHeader.getCode(); + ofsCode = ofsHeader.getCode(); parentvo.setVuserdef19(ofsCode); //pk_corp--公司 @@ -255,14 +291,15 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { //vnote--备注 parentvo.setVnote(ofsHeader.getNote()); //dbilldate--单据日期--oms入库时间 - Date created = ofsHeader.getCreated(); - format = DateUtil.format(created, "yyyy-MM-dd HH:mm:ss"); - parentvo.setDbilldate(format); +// Date created = ofsHeader.getCreated(); +// format = DateUtil.format(created, "yyyy-MM-dd HH:mm:ss"); + format = ofsHeader.getCreated(); + parentvo.setDbilldate(StringUtils.substring(format, 0, 10)); //coperatorid--制单人 String createdBy = ofsHeader.getCreatedBy(); parentvo.setCoperatorid("tbadmin"); //审核时间dauditdate - parentvo.setDauditdate(format); + parentvo.setDauditdate(StringUtils.substring(format, 0, 10)); //cdispatcherid--收发类别,ofs过来的写死,20240813(妮姐+万万),就是调整出库,调整入库 BdRdclEntity bdRdclEntity = new BdRdclEntity(); @@ -270,14 +307,14 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { bdRdclEntity.setDr(0); bdRdclEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE); List BdRdclEntityList = iBdRdclDao.query(bdRdclEntity); - if(BdRdclEntityList.size()==0){ - Assert.state(false,"查询U8C收发类型:调整入库失败。未查询到U8C收发类型。"); + if (BdRdclEntityList.size() == 0) { + Assert.state(false, "查询U8C收发类型:调整入库失败。未查询到U8C收发类型。"); } String RdclCode = BdRdclEntityList.get(0).getRdcode();//收发类别编码 parentvo.setCdispatcherid(RdclCode); //子表 - List childrenvo=new ArrayList<>(); + List childrenvo = new ArrayList<>(); for (StockinOrderSearchResponse.StockinOrder.StockinB ofsDetail : stockinOrder.getDetails()) { System.out.println(ofsDetail); GeneralBillVO_4ADto.Childrenvo children = new GeneralBillVO_4ADto.Childrenvo(); @@ -302,19 +339,25 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { mapStr = "{\"GeneralBillVO_4A\":[" + dataJson + "]}"; //推送 - response = pushDataByU8cUtil.pushU8CByCode(OverallConstant.getOverAllValue("otherinqz"), mapStr); - System.out.println(response); +// response = pushDataByU8cUtil.pushU8CByCode(OverallConstant.getOverAllValue("otherinqz"), mapStr); + ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("otherinqzCode"), mapStr); + + //两层判断,一层中台转发,一层u8c返回 + if ("false".equals(ztResult.getFlag())) { + //转发失败 + Assert.state(false, "丽知:OFS调整入库--->U8C其它入库.中台转发失败,失败原因:{}", ztResult.getMsg()); + } + Attribute attribute = ztResult.getAttribute(); + System.out.println(attribute); + boolean isSuccess = false; - String vbillcode=""; - if (response != null && !"".equals(response)) { - ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class); - if ("success".equals(reusltStrDto.getStatus())) { - isSuccess = true; - String data = reusltStrDto.getData(); - GeneralBillVO_4ADto resGeneralBillVO = resultDataHandle(data); - System.out.println(resGeneralBillVO); - vbillcode = resGeneralBillVO.getParentvo().getVbillcode(); - } + String vbillcode = ""; + if ("success".equals(attribute.getStatus())) { + isSuccess = true; + String data = attribute.getData(); + GeneralBillVO_4ADto resGeneralBillVO = resultDataHandle(data); + System.out.println(resGeneralBillVO); + vbillcode = resGeneralBillVO.getParentvo().getVbillcode(); } if (!isSuccess) { Assert.state(false, "推送U8C--> 丽知:OFS调整入库--->U8C其它入库 失败 接口返回结果:{} 接口入参:{}", response, mapStr); @@ -328,17 +371,19 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); integrationTaskLivingDetailsEntity.setBusinessDate(format); integrationTaskLivingDetailsEntity.setRootAppPk(ofsCode); - integrationTaskLivingDetailsEntity.setRootAppBill(vbillcode);//u8c调拨订单号 + integrationTaskLivingDetailsEntity.setRootAppBill(ofsCode); + integrationTaskLivingDetailsEntity.setRootAppBill(vbillcode); + integrationTaskLivingDetailsEntity.setDef1(vbillcode); integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); - }catch (Exception e){ + } 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 = "推送U8C,丽知:OFS调整入库--->U8C其它入库失败,失败原因:" + reusltStrDto.getErrormsg(); //失败 IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_N); @@ -347,7 +392,7 @@ public class AdjustInPluginInitializer extends PluginBaseEntity { integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); integrationTaskLivingDetailsEntity.setBusinessDate(format); integrationTaskLivingDetailsEntity.setRootAppPk(ofsCode); - integrationTaskLivingDetailsEntity.setRootAppBill(null);//u8c调拨订单号 + integrationTaskLivingDetailsEntity.setRootAppBill(ofsCode); integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustOutPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustOutPluginInitializer.java index ab590766..1265c611 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustOutPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/adjust/AdjustOutPluginInitializer.java @@ -13,10 +13,14 @@ import com.hzya.frame.plugin.lets.dao.IBdRdclDao; import com.hzya.frame.plugin.lets.entity.BdRdclEntity; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsStockinOrderRequestVO; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsStockoutOrderRequestVO; +import com.hzya.frame.plugin.lets.u8cdto.GeneralBillVO_4ADto; import com.hzya.frame.plugin.lets.u8cdto.GeneralBillVO_4IDto; import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto; import com.hzya.frame.plugin.lets.util.PushDataByU8cUtil; 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; +import com.hzya.frame.plugin.lets.util.pushData.ZTResult; import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; @@ -27,7 +31,9 @@ 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; +import com.hzya.frame.u8c.ax.entity.Ass; import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -78,6 +84,8 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { @Autowired private PushDataByU8cUtil pushDataByU8cUtil; @Autowired + private PushU8CByApiCode pushU8CByApiCode; + @Autowired private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; @Autowired @@ -87,6 +95,38 @@ public class AdjustOutPluginInitializer 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; } @@ -104,10 +144,10 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss"); QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); - queryOfsStockoutOrderRequestVO.setCreated_start("2024-08-08 00:00:00"); - queryOfsStockoutOrderRequestVO.setCreated_end("2024-08-10 23:59:59"); - queryOfsStockoutOrderRequestVO.setCompanyCode("SHXM"); -// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + 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 stockoutOrders = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); @@ -133,6 +173,25 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { */ public void start(String stockoutNo) { try { + + QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); + queryOfsStockoutOrderRequestVO.setCode(stockoutNo); + queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + queryOfsStockoutOrderRequestVO.setPageNo(1L); + queryOfsStockoutOrderRequestVO.setPageSize(500L); + List stockoutOrders = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); + if (stockoutOrders == null || stockoutOrders.size() == 0) { + Assert.state(false, "丽知:OFS调整出库--->U8C其它出库根据单据号[出库完成]:{},未查询到调整出库单", stockoutNo); + } + //过滤日志 + List filterStockoutOrders = filterData(stockoutOrders); + if (filterStockoutOrders == null || filterStockoutOrders.size() == 0) { + Assert.state(false, "丽知:OFS调整出库--->U8C其它出库根据单据号[出库完成]:{},该调整出库单已被推送成功,请勿重新推送", stockoutNo); + } + //推送 + implement(filterStockoutOrders); + + } catch (Exception e) { logger.error("丽知:OFS调整出库--->U8C其它出库,start(String goodsName)方法报错:", e); } @@ -140,7 +199,7 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { } /** - * 按时间区间 + * 按时间区间,ofs接口最大显示7天,时间计算7天分段。 */ public void start(String startTime, String endTime) { try { @@ -148,6 +207,27 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { Date business_end = DateUtil.parse(endTime); String start = DateUtil.format(business_start, "yyyy-MM-dd") + " 00:00:00"; String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59"; + + QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO(); + queryOfsStockoutOrderRequestVO.setShipAt_start(start); + queryOfsStockoutOrderRequestVO.setShipAt_end(end); + queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库 + queryOfsStockoutOrderRequestVO.setPageNo(1L); + queryOfsStockoutOrderRequestVO.setPageSize(500L); + List stockoutOrders = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO); + if (stockoutOrders == null || stockoutOrders.size() == 0) { + Assert.state(false, "丽知:OFS调整出库--->U8C其它出库根据日期期间[开始时间]-[结束时间]:{}-{},未查询到调整出库单[出库完成]", startTime, endTime); + + } + //过滤日志 + List filterStockoutOrders = filterData(stockoutOrders); + if (filterStockoutOrders == null || filterStockoutOrders.size() == 0) { + Assert.state(false, "丽知:OFS调整出库--->U8C其它出库根据日期期间[开始时间]-[结束时间]:{}-{},该调期间整出库单[出库完成]已被推送成功,请勿重新推送", startTime, endTime); + } + //推送 + implement(filterStockoutOrders); + + } catch (Exception e) { logger.error("丽知:OFS调整出库--->U8C其它出库,start(String startTime, String endTime)方法报错:", e); } @@ -157,8 +237,8 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { /** * 过滤成功日志 */ - public List filterData(List stockoutOrders){ - List filterStockoutOrders=new ArrayList<>(); + public List filterData(List stockoutOrders) { + List filterStockoutOrders = new ArrayList<>(); for (StockoutOrderSearchResponse.StockoutOrder stockoutOrder : stockoutOrders) { StockoutOrderSearchResponse.StockoutOrder.StockoutH header = stockoutOrder.getHeader(); String rootAppPk = header.getCode(); @@ -181,14 +261,15 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { /** * 丽知:OFS调整出库--->U8C其它出库 + * * @param filterStockoutOrders */ - public void implement(List filterStockoutOrders){ + public void implement(List filterStockoutOrders) { for (StockoutOrderSearchResponse.StockoutOrder stockoutOrder : filterStockoutOrders) { String mapStr = ""; - String format=""; - String response=""; - String ofsCode=""; + String format = ""; + String response = ""; + String ofsCode = ""; try { GeneralBillVO_4IDto generalBillVO_4I = new GeneralBillVO_4IDto(); @@ -199,7 +280,7 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { //ofs订单号,自定义项19 - ofsCode=ofsHeader.getCode(); + ofsCode = ofsHeader.getCode(); parentvo.setVuserdef19(ofsCode); //pk_corp--公司 @@ -212,15 +293,15 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { //vnote--备注 parentvo.setVnote(ofsHeader.getShipmentNote()); //dbilldate--单据日期--oms入库时间 - String created1 = stockoutOrder.getDetails().get(0).getCreated(); + String created1 = ofsHeader.getCreated(); // Date created = ofsHeader.getCreated(); // format = DateUtil.format(created, "yyyy-MM-dd HH:mm:ss"); format = created1; - parentvo.setDbilldate(format); + parentvo.setDbilldate(StringUtils.substring(format, 0, 10)); //coperatorid--制单人 parentvo.setCoperatorid("tbadmin"); //审核时间dauditdate - parentvo.setDauditdate(format); + parentvo.setDauditdate(StringUtils.substring(format, 0, 10)); //cdispatcherid--收发类别,ofs过来的写死,20240813(妮姐+万万),就是调整出库,调整入库 BdRdclEntity bdRdclEntity = new BdRdclEntity(); @@ -228,8 +309,8 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { bdRdclEntity.setDr(0); bdRdclEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE); List BdRdclEntityList = iBdRdclDao.query(bdRdclEntity); - if(BdRdclEntityList.size()==0){ - Assert.state(false,"查询U8C收发类型:调整出库失败。未查询到U8C收发类型。"); + if (BdRdclEntityList.size() == 0) { + Assert.state(false, "查询U8C收发类型:调整出库失败。未查询到U8C收发类型。"); } String RdclCode = BdRdclEntityList.get(0).getRdcode();//收发类别编码 parentvo.setCdispatcherid(RdclCode); @@ -238,7 +319,7 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { // parentvo.setIsautopick("Y"); //子表 - List childrenvo=new ArrayList<>(); + List childrenvo = new ArrayList<>(); for (StockoutOrderSearchResponse.StockoutOrder.StockoutB ofsDetail : stockoutOrder.getDetails()) { System.out.println(ofsDetail); GeneralBillVO_4IDto.Childrenvo children = new GeneralBillVO_4IDto.Childrenvo(); @@ -263,18 +344,61 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { generalBillVO_4I.setChildrenvo(childrenvo); String dataJson = JSONUtil.toJsonStr(generalBillVO_4I); mapStr = "{\"GeneralBillVO_4I\":[" + dataJson + "]}"; - response = pushDataByU8cUtil.pushU8CByCode(OverallConstant.getOverAllValue("otheroutqz"), mapStr); - System.out.println(response); +// response = pushDataByU8cUtil.pushU8CByCode(OverallConstant.getOverAllValue("otheroutqz"), mapStr); + ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("otheroutqzCode"), mapStr); + //两层判断,一层中台转发,一层u8c返回 + if ("false".equals(ztResult.getFlag())) { + //转发失败 + Assert.state(false, "丽知:OFS调整出库--->U8C其它出库.中台转发失败,失败原因:{}", ztResult.getMsg()); + } + Attribute attribute = ztResult.getAttribute(); + System.out.println(attribute); + boolean isSuccess = false; + String vbillcode = ""; + if ("success".equals(attribute.getStatus())) { + isSuccess = true; + String data = attribute.getData(); + GeneralBillVO_4IDto resGeneralBillVO = resultDataHandle(data); + System.out.println(resGeneralBillVO); + vbillcode = resGeneralBillVO.getParentvo().getVbillcode(); + } + if (!isSuccess) { + Assert.state(false, "推送U8C--> 丽知:OFS调整出库--->U8C其它出库 失败 接口返回结果:{} 接口入参:{}", response, mapStr); + } + //成功 + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_Y); + integrationTaskLivingDetailsEntity.setRootAppNewData(mapStr); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(response); + integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); + integrationTaskLivingDetailsEntity.setBusinessDate(format); + integrationTaskLivingDetailsEntity.setRootAppPk(ofsCode); + integrationTaskLivingDetailsEntity.setRootAppBill(ofsCode); + integrationTaskLivingDetailsEntity.setDef1(vbillcode);//u8c其他出库单号 + integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); + saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); - - }catch (Exception e){ + } 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 = "推送U8C,丽知:OFS调整出库--->U8C其它出库失败,失败原因:" + reusltStrDto.getErrormsg(); + + //失败 + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_N); + integrationTaskLivingDetailsEntity.setRootAppNewData(mapStr); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(ErrMessage); + integrationTaskLivingDetailsEntity.setNewPushDate(new Date()); + integrationTaskLivingDetailsEntity.setBusinessDate(format); + integrationTaskLivingDetailsEntity.setRootAppPk(ofsCode); + integrationTaskLivingDetailsEntity.setRootAppBill(ofsCode);//u8c其他出库单号 +// integrationTaskLivingDetailsEntity.setRootAppBill(null);//u8c其他出库单号 + integrationTaskLivingDetailsEntity.setPluginId(getPluginId()); + saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity); } } @@ -283,7 +407,7 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { public List queryOfsStockoutOrder(QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO) throws Exception { InterfaceParamDto interfaceParamDto = new InterfaceParamDto(); interfaceParamDto.setApi("ofs.shipment.search"); -// queryOfsStockinOrderRequestVO.setInternalInstructionType("ADJUST");//入库单类型 SALES销售 EXCHANGE换货 REISSUE补发RETURN销退 PURCHASE采购 PURCHASE_RETURN采退 TRANSFER调拨 WORK_ORDER加工 OTHER其他 ADJUST调整 EXCHANGE换货 + queryOfsStockoutOrderRequestVO.setInternalInstructionType("ADJUST");//入库单类型 SALES销售 EXCHANGE换货 REISSUE补发RETURN销退 PURCHASE采购 PURCHASE_RETURN采退 TRANSFER调拨 WORK_ORDER加工 OTHER其他 ADJUST调整 EXCHANGE换货 queryOfsStockoutOrderRequestVO.setClientCode("LETS"); interfaceParamDto.setData(JSON.toJSONString(queryOfsStockoutOrderRequestVO)); SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto); @@ -291,40 +415,40 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { StockoutOrderSearchResponse stockoutOrderSearchResponse = SaleOutReturnMessageDto2StockoutOrderSearchResponse(saleOutReturnMessageDto); System.out.println(stockoutOrderSearchResponse); - if(stockoutOrderSearchResponse.getData()==null||stockoutOrderSearchResponse.getData().size()==0){ + if (stockoutOrderSearchResponse.getData() == null || stockoutOrderSearchResponse.getData().size() == 0) { return null; } - //过滤ADJUST调整 - List adjustList=new ArrayList<>(); - for (StockoutOrderSearchResponse.StockoutOrder datum : stockoutOrderSearchResponse.getData()) { - StockoutOrderSearchResponse.StockoutOrder.StockoutH header = datum.getHeader(); - if("ADJUST".equals(header.getRefOrderType())){ - adjustList.add(datum); - } - } - return adjustList; + return stockoutOrderSearchResponse.getData(); } /** * 只是命名不一样,为了方便区分,顾转换为stockout + * * @param saleOutReturnMessageDto * @return */ - public StockoutOrderSearchResponse SaleOutReturnMessageDto2StockoutOrderSearchResponse(SaleOutReturnMessageDto saleOutReturnMessageDto){ + public StockoutOrderSearchResponse SaleOutReturnMessageDto2StockoutOrderSearchResponse(SaleOutReturnMessageDto saleOutReturnMessageDto) { StockoutOrderSearchResponse stockoutOrderSearchResponse = new StockoutOrderSearchResponse(); - List data=new ArrayList<>(); - BeanUtils.copyProperties(saleOutReturnMessageDto,stockoutOrderSearchResponse); + List data = new ArrayList<>(); + BeanUtils.copyProperties(saleOutReturnMessageDto, stockoutOrderSearchResponse); for (HeaderDetailsDto saleOutData : saleOutReturnMessageDto.getData()) { HeaderDto saleOutHeader = saleOutData.getHeader(); StockoutOrderSearchResponse.StockoutOrder stockoutOrder = new StockoutOrderSearchResponse.StockoutOrder(); StockoutOrderSearchResponse.StockoutOrder.StockoutH stockoutH = new StockoutOrderSearchResponse.StockoutOrder.StockoutH(); - List stockoutBList=new ArrayList<>(); + List stockoutBList = new ArrayList<>(); for (DetailsDto saleOutDetail : saleOutData.getDetails()) { StockoutOrderSearchResponse.StockoutOrder.StockoutB stockoutB = new StockoutOrderSearchResponse.StockoutOrder.StockoutB(); - BeanUtils.copyProperties(saleOutDetail,stockoutB); + BeanUtils.copyProperties(saleOutDetail, stockoutB); stockoutBList.add(stockoutB); } - BeanUtils.copyProperties(saleOutHeader,stockoutH); + //创建时间,修改时间,创建人,修改人,赋给表头 + StockoutOrderSearchResponse.StockoutOrder.StockoutB stockoutB = stockoutBList.get(0); + stockoutH.setCreated(stockoutB.getCreated()); + stockoutH.setCreatedBy(stockoutB.getCreatedBy()); + stockoutH.setLastUpdated(stockoutB.getLastUpdated()); + stockoutH.setLastUpdatedBy(stockoutB.getLastUpdatedBy()); + + BeanUtils.copyProperties(saleOutHeader, stockoutH); stockoutOrder.setHeader(stockoutH); stockoutOrder.setDetails(stockoutBList); data.add(stockoutOrder); @@ -333,4 +457,20 @@ public class AdjustOutPluginInitializer extends PluginBaseEntity { System.out.println(stockoutOrderSearchResponse); return stockoutOrderSearchResponse; } + + private GeneralBillVO_4IDto resultDataHandle(String resultData) { + try { + if (resultData != null && !"".equals(resultData)) { + if (resultData.contains("[")) { + resultData = resultData.substring(1, resultData.length() - 1); + } + return JSON.parseObject(resultData, GeneralBillVO_4IDto.class); + } + } catch (Exception e) { + e.printStackTrace(); + logger.error("解析返回参数失败的错误", e); + //如果解析失败,记录原因,但是不能影响结果的记录 + } + return null; + } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/GoodsClassPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUClassPluginInitializer.java similarity index 77% rename from buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/GoodsClassPluginInitializer.java rename to buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUClassPluginInitializer.java index 180253a8..ca9bb2fb 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/GoodsClassPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUClassPluginInitializer.java @@ -10,14 +10,17 @@ 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.entity.BdInvclEntity; -import com.hzya.frame.plugin.lets.plugin.sales.SoSaleOutPluginInitializerToC; +import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSKUClassRequestVO; import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto; import com.hzya.frame.plugin.lets.util.PushDataByU8cUtil; import com.hzya.frame.plugin.lets.util.SaveOrUpdateBusinessLogUtil; import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; +import com.hzya.frame.ttxofs.basics.ReturnMessageBasics; +import com.hzya.frame.ttxofs.dto.InterfaceParamByU8CApiDto; +import com.hzya.frame.ttxofs.dto.ofsBaseSearch.OFSSKUClassSearchResponse; +import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; -import com.zaxxer.hikari.util.FastList; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -37,13 +40,12 @@ import org.springframework.beans.factory.annotation.Autowired; * 三级:AA00101自动识别为AA001的下级 */ import java.text.SimpleDateFormat; -import java.time.LocalDate; import java.util.*; import java.util.concurrent.locks.ReentrantLock; -public class GoodsClassPluginInitializer extends PluginBaseEntity { +public class SKUClassPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(GoodsClassPluginInitializer.class); + Logger logger = LoggerFactory.getLogger(SKUClassPluginInitializer.class); private static final ReentrantLock LOCK = new ReentrantLock(true); @@ -59,7 +61,7 @@ public class GoodsClassPluginInitializer extends PluginBaseEntity { @Override public String getPluginId() { - return "com.hzya.frame.plugin.lets.plugin.base.GoodsClassPluginInitializer"; + return "com.hzya.frame.plugin.lets.plugin.base.SKUClassPluginInitializer"; } @Override @@ -83,6 +85,8 @@ public class GoodsClassPluginInitializer extends PluginBaseEntity { private IIntegrationTaskLivingDetailsDao iIntegrationTaskLivingDetailsDao; @Autowired private SaveOrUpdateBusinessLogUtil saveOrUpdateBusinessLogUtil; + @Autowired + private OfsUnifiedService ofsUnifiedService; @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { @@ -99,8 +103,19 @@ public class GoodsClassPluginInitializer extends PluginBaseEntity { Date currentDate = new Date(); Date startTime = DateUtil.offset(currentDate, DateField.MINUTE, -10); Date endTime = DateUtil.offset(currentDate, DateField.MINUTE, -2); - String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss" + ".000"); - String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss" + ".000"); + String startTimeStr = DateUtil.format(startTime, "yyyy-MM-dd HH:mm:ss"); + String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss"); + + QueryOfsSKUClassRequestVO queryOfsSKUClassRequestVO = new QueryOfsSKUClassRequestVO(); +// queryOfsSKUClassRequestVO.setCreated_start(start); +// queryOfsSKUClassRequestVO.setCreated_end(end); + queryOfsSKUClassRequestVO.setClientCode("LETS"); + queryOfsSKUClassRequestVO.setPageNo(1); + queryOfsSKUClassRequestVO.setPageSize(500); + List skuClasses = querySkuClass(queryOfsSKUClassRequestVO); + System.out.println(skuClasses); + + } catch (Exception e) { logger.error("丽知:OFS货品档案分类--->U8C货品档案分类,start()方法报错:", e); } @@ -126,6 +141,16 @@ public class GoodsClassPluginInitializer extends PluginBaseEntity { Date business_end = DateUtil.parse(endTime); String start = DateUtil.format(business_start, "yyyy-MM-dd") + " 00:00:00"; String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59"; + + + QueryOfsSKUClassRequestVO queryOfsSKUClassRequestVO = new QueryOfsSKUClassRequestVO(); + queryOfsSKUClassRequestVO.setCreated_start(start); + queryOfsSKUClassRequestVO.setCreated_end(end); + queryOfsSKUClassRequestVO.setClientCode("LETS"); + queryOfsSKUClassRequestVO.setPageNo(1); + queryOfsSKUClassRequestVO.setPageSize(500); + querySkuClass(queryOfsSKUClassRequestVO); + } catch (Exception e) { logger.error("丽知:OFS货品档案分类--->U8C货品档案分类,start(String startTime, String endTime)方法报错:", e); } @@ -228,5 +253,23 @@ public class GoodsClassPluginInitializer extends PluginBaseEntity { } + /** + * OFS存货分类查询 + */ + public List querySkuClass(QueryOfsSKUClassRequestVO queryOfsSKUClassRequestVO) throws Exception { + InterfaceParamByU8CApiDto interfaceParamDto = new InterfaceParamByU8CApiDto(); + interfaceParamDto.setApi("ofs.inventory.class.search"); + queryOfsSKUClassRequestVO.setClientCode("LETS"); + interfaceParamDto.setData(JSON.toJSONString(queryOfsSKUClassRequestVO)); + OFSSKUClassSearchResponse ofsskuClassSearchResponse =(OFSSKUClassSearchResponse) ofsUnifiedService.unifiedByU8CApi(interfaceParamDto); + System.out.println(ofsskuClassSearchResponse); + List data = ofsskuClassSearchResponse.getData(); + if(data==null||data.size()==0){ + return null; + } + + return data; + } + } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/GoodsPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java similarity index 90% rename from buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/GoodsPluginInitializer.java rename to buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java index 791b05bb..6547bba6 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/GoodsPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/base/SKUPluginInitializer.java @@ -11,7 +11,6 @@ import com.hzya.frame.plugin.lets.util.SaveOrUpdateBusinessLogUtil; import com.hzya.frame.sysnew.integtationTaskLivingDetails.dao.IIntegrationTaskLivingDetailsDao; import com.hzya.frame.ttxofs.basics.ReturnMessageBasics; import com.hzya.frame.ttxofs.dto.InterfaceParamByU8CApiDto; -import com.hzya.frame.ttxofs.dto.InterfaceParamDto; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; @@ -30,9 +29,9 @@ import java.util.concurrent.locks.ReentrantLock; * 存货基本档案封存 /u8cloud/api/uapbd/invbasdoc/seal * 存货基本档案取消封存 /u8cloud/api/uapbd/invbasdoc/unseal */ -public class GoodsPluginInitializer extends PluginBaseEntity { +public class SKUPluginInitializer extends PluginBaseEntity { - Logger logger = LoggerFactory.getLogger(GoodsPluginInitializer.class); + Logger logger = LoggerFactory.getLogger(SKUPluginInitializer.class); private static final ReentrantLock LOCK = new ReentrantLock(true); @@ -94,11 +93,11 @@ public class GoodsPluginInitializer extends PluginBaseEntity { String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss"); QueryOfsSKURequestVO queryOfsSKURequestVO = new QueryOfsSKURequestVO(); - queryOfsSKURequestVO.setCreated_start(startTimeStr); - queryOfsSKURequestVO.setCreated_end(endTimeStr); - queryOfsSKURequestVO.setCreated_start("2023-10-17 00:00:00"); - queryOfsSKURequestVO.setCreated_end("2023-10-17 23:59:59"); - queryOfsSKURequestVO.setCompanyCode("YX"); +// queryOfsSKURequestVO.setCreated_start(startTimeStr); +// queryOfsSKURequestVO.setCreated_end(endTimeStr); +// queryOfsSKURequestVO.setCreated_start("2023-10-15 00:00:00"); +// queryOfsSKURequestVO.setCreated_end("2023-10-21 23:59:59"); +// queryOfsSKURequestVO.setCompanyCode(""); queryOfsSKURequestVO.setPageNo(1); queryOfsSKURequestVO.setPageSize(500); queryOfsSKUs(queryOfsSKURequestVO); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java index 49f84bb1..762dcfc8 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToB.java @@ -29,6 +29,7 @@ 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.ofssaleorderoutsearch.SaleOutReturnMessageDto; +import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; @@ -148,15 +149,15 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { List headerDetailsDtoList = new ArrayList<>(); QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); - queryOfsSoSaleOutVo.setCreated_start("2024-01-02 11:58:20"); - queryOfsSoSaleOutVo.setCreated_end("2024-01-02 11:58:22"); + queryOfsSoSaleOutVo.setShipAt_start("2024-07-05 16:38:00"); + queryOfsSoSaleOutVo.setShipAt_end("2024-07-05 16:50:30"); queryOfsSoSaleOutVo.setClientCode("LETS"); - // queryOfsSoSaleOutVo.setInternalInstructionType("SALES"); - queryOfsSoSaleOutVo.setCompanyCode("SHLZ"); - // queryOfsSoSaleOutVo.setStatus(900L); + queryOfsSoSaleOutVo.setInternalInstructionType("SALES"); +// queryOfsSoSaleOutVo.setCompanyCode("SHLZ"); + queryOfsSoSaleOutVo.setStatus(900L); queryOfsSoSaleOutVo.setPageNo(1L); queryOfsSoSaleOutVo.setPageSize(50L); - queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004"); +// queryOfsSoSaleOutVo.setCode("LETS-SH2024010200000004"); queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L); logger.info("数据返回行数:{}", headerDetailsDtoList.size()); if (headerDetailsDtoList.size() > 0) { @@ -210,12 +211,17 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { HeaderDto header = index.getHeader();// 主表 List details = index.getDetails();//明细表 + for (int i = 0; i < details.size(); i++) { + DetailsDto detailsDto = details.get(i); + detailsDto.setHeaderDto(header); + } + headerDetailsDtoList1.add(header); headerDetailsDtoList2.addAll(details); } //每250作为一个批次插入主表,根据主键(id)判断是否重复,如果重复的,则不进行插入 - List> ofssaleorderoutsearchList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 250); + List> ofssaleorderoutsearchList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 100); for (int i = 0; i < ofssaleorderoutsearchList.size(); i++) { List headerDtoList = ofssaleorderoutsearchList.get(i); List tocofsSaleoutEntityList = copyHeaderDto(headerDtoList); @@ -228,7 +234,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { } //插入明细表 - List> detailsDtoList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 250); + List> detailsDtoList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 100); for (int i = 0; i < detailsDtoList.size(); i++) { List detailsDtos = detailsDtoList.get(i); List tocofsSaleoutDetailedEntities = copyDetailsDto(detailsDtos); @@ -570,6 +576,11 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { } //客商基本档案 + //查询OFS对应的销售订单,得到会员id + QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); +// queryOfsSoSaleOutVo.setCode(); + SaleOrderMessageDto ofsOrder = getOfsOrder(queryOfsSoSaleOutVo, 1L); + String custName = "天猫intoyou旗舰店-自营"; BdCubasdocEntity bdCubasdocEntity = new BdCubasdocEntity(); bdCubasdocEntity.setDataSourceCode("lets_u8c"); @@ -626,6 +637,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { orderOutTobHeaderDto.setDeliverGoodsCorp(bdCorpEntityList.get(0)); orderOutTobHeaderDto.setPlatformArchives(bdDefdocEntityList.get(0)); orderOutTobHeaderDto.setShopArchives(bdDefdocEntityList2.get(0)); + orderOutTobHeaderDto.setOfsOrder(ofsOrder); orderOutTobHeaderDto.setHeader(header); orderOutTobHeaderDto.setDetails(details); @@ -672,9 +684,10 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { for (int i = 0; i < detailsDtos.size(); i++) { DetailsDto detailsDto = detailsDtos.get(i); TocofsSaleoutDetailedEntity tocofsSaleoutDetailedEntity = new TocofsSaleoutDetailedEntity(); - tocofsSaleoutDetailedEntity.setBusinessType("TOB_ORDER"); +// tocofsSaleoutDetailedEntity.setBusinessType("TOB_ORDER"); // BeanUtils.copyProperties(detailsDto, tocofsSaleoutDetailedEntity); BeanUtil.copyPropertiesV2(detailsDto, tocofsSaleoutDetailedEntity); + createPrimaryKeyAndBusinessDateAndBusinessType(tocofsSaleoutDetailedEntity, detailsDto); tocofsSaleoutDetailedEntityArrayList.add(tocofsSaleoutDetailedEntity); } } @@ -820,5 +833,36 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity { return null; } + /** + * 查询OFS销售订单 + * + * @author liuyang + */ + public SaleOrderMessageDto getOfsOrder(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, Long pageNo) throws Exception { + Long pageSize = 200L; + queryOfsSoSaleOutVo.setPageNo(pageNo); + queryOfsSoSaleOutVo.setPageSize(pageSize); + InterfaceParamDto interfaceParamDto = new InterfaceParamDto(); + interfaceParamDto.setApi("ofs.salesOrder.search"); + interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo)); + SaleOrderMessageDto saleOrderMessageDto = (SaleOrderMessageDto) ofsUnifiedService.unified(interfaceParamDto); + return saleOrderMessageDto; + } + + /** + * 2024年8月15日 17:08:42 + * 填充主表主键、业务日期、业务类型 + */ + private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsSaleoutDetailedEntity tocofsSaleoutDetailedEntity, DetailsDto detailsDto) { + if (tocofsSaleoutDetailedEntity != null && detailsDto != null && detailsDto.getHeaderDto() != null) { + HeaderDto headerDto = detailsDto.getHeaderDto(); + + tocofsSaleoutDetailedEntity.setPrimaryKey(headerDto.getId());//主表主键 + tocofsSaleoutDetailedEntity.setBusinessDate(headerDto.getShipAt());//业务日期 + tocofsSaleoutDetailedEntity.setBusinessType("TOB_ORDER");//业务类型 + } else { + logger.info("createPrimaryKeyAndBusinessDateAndBusinessType方法存在false!"); + } + } } 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 12808442..f9125f9d 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 @@ -27,6 +27,7 @@ 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.ofssaleorderoutsearch.SaleOutReturnMessageDto; +import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto; import com.hzya.frame.ttxofs.service.OfsUnifiedService; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; @@ -131,7 +132,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { queryOfsSoSaleOutVo.setClientCode("LETS"); queryOfsSoSaleOutVo.setInternalInstructionType("SALES"); // queryOfsSoSaleOutVo.setCompanyCode("SHLZ"); - queryOfsSoSaleOutVo.setStatus(510L); + queryOfsSoSaleOutVo.setStatus(900L); queryOfsSoSaleOutVo.setPageNo(1L); queryOfsSoSaleOutVo.setPageSize(50L); // queryOfsSoSaleOutVo.setCode("LETS-SH2024070500000003"); @@ -195,33 +196,38 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto header = index.getHeader();// 主表 List details = index.getDetails();//明细表 + for (int i = 0; i < details.size(); i++) { + DetailsDto detailsDto = details.get(i); + detailsDto.setHeaderDto(header); + } + headerDetailsDtoList1.add(header); headerDetailsDtoList2.addAll(details); } //每250作为一个批次插入主表,根据主键(id)判断是否重复,如果重复的,则不进行插入 - List> ofssaleorderoutsearchList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 250); + List> ofssaleorderoutsearchList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 100); for (int i = 0; i < ofssaleorderoutsearchList.size(); i++) { List headerDtoList = ofssaleorderoutsearchList.get(i); List tocofsSaleoutEntityList = copyHeaderDto(headerDtoList); if (tocofsSaleoutEntityList.size() > 0) { - logger.info("tocofsSaleoutDetailedEntities:插入底表{}个对象(表头)", tocofsSaleoutEntityList.size()); + logger.info("TocofsSaleoutEntity:插入底表{}个对象(表头)", tocofsSaleoutEntityList.size()); iTocofsSaleoutDao.entityInsertBatchV2(tocofsSaleoutEntityList); } else { - logger.info("tocofsSaleoutEntityList:没有对象被插入表头底表"); + logger.info("TocofsSaleoutEntity:没有对象被插入表头底表"); } } //插入明细表 - List> detailsDtoList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 250); + List> detailsDtoList = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 100); for (int i = 0; i < detailsDtoList.size(); i++) { List detailsDtos = detailsDtoList.get(i); List tocofsSaleoutDetailedEntities = copyDetailsDto(detailsDtos); if (tocofsSaleoutDetailedEntities.size() > 0) { - logger.info("tocofsSaleoutDetailedEntities:插入底表{}个对象(表体)", tocofsSaleoutDetailedEntities.size()); + logger.info("TocofsSaleoutDetailedEntity:插入底表{}个对象(表体)", tocofsSaleoutDetailedEntities.size()); iTocofsSaleoutDetailedDao.entityInsertBatchV2(tocofsSaleoutDetailedEntities); } else { - logger.info("tocofsSaleoutDetailedEntities:没有对象被插入表头底表"); + logger.info("TocofsSaleoutDetailedEntity:没有对象被插入表头底表"); } } } @@ -603,9 +609,11 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { for (int i = 0; i < detailsDtos.size(); i++) { com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto detailsDto = detailsDtos.get(i); TocofsSaleoutDetailedEntity tocofsSaleoutDetailedEntity = new TocofsSaleoutDetailedEntity(); - tocofsSaleoutDetailedEntity.setBusinessType("TOC_ORDER"); +// tocofsSaleoutDetailedEntity.setBusinessType("TOC_ORDER"); // BeanUtils.copyProperties(detailsDto, tocofsSaleoutDetailedEntity); + BeanUtil.copyPropertiesV2(detailsDto, tocofsSaleoutDetailedEntity); + createPrimaryKeyAndBusinessDateAndBusinessType(tocofsSaleoutDetailedEntity, detailsDto); tocofsSaleoutDetailedEntityArrayList.add(tocofsSaleoutDetailedEntity); } } @@ -848,4 +856,20 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity { } return null; } + + /** + * 2024年8月15日 17:08:42 + * 填充主表主键、业务日期、业务类型 + */ + private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsSaleoutDetailedEntity tocofsSaleoutDetailedEntity, DetailsDto detailsDto) { + if (tocofsSaleoutDetailedEntity != null && detailsDto != null && detailsDto.getHeaderDto() != null) { + HeaderDto headerDto = detailsDto.getHeaderDto(); + + tocofsSaleoutDetailedEntity.setPrimaryKey(headerDto.getId());//主表主键 + tocofsSaleoutDetailedEntity.setBusinessDate(headerDto.getShipAt());//业务日期 + tocofsSaleoutDetailedEntity.setBusinessType("TOC_ORDER");//业务类型 + } else { + logger.info("createPrimaryKeyAndBusinessDateAndBusinessType方法存在false!"); + } + } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index 058c2820..0f54635b 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -17,7 +17,6 @@ import com.hzya.frame.plugin.lets.ofs.dao.ITocofsReturngoodsDetailedDao; import com.hzya.frame.plugin.lets.ofs.dao.ITocofsSaleoutDetailedDao; import com.hzya.frame.plugin.lets.ofs.entity.TocofsReturngoodsDetailedEntity; import com.hzya.frame.plugin.lets.ofs.entity.TocofsReturngoodsEntity; -import com.hzya.frame.plugin.lets.ofs.entity.TocofsSaleoutDetailedEntity; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.resultvo.CalculateDateVo; import com.hzya.frame.plugin.lets.u8cdto.*; @@ -25,13 +24,11 @@ import com.hzya.frame.plugin.lets.util.DateStrUtil; import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil; import com.hzya.frame.split.SplitListByCountUtil; import com.hzya.frame.ttxofs.dto.InterfaceParamDto; -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.returngoodsearch.RertunGoodsRootBean; import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodHeaderDetailsDataDto; import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto; import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto; +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; @@ -40,7 +37,6 @@ import org.springframework.beans.factory.annotation.Autowired; import java.math.BigDecimal; import java.util.*; -import java.util.stream.Collectors; /** * OFS售后入库单(TOB)生成U8C红字销售订单 @@ -155,26 +151,26 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { // TODO 注意过滤TOB店铺 CalculateDateVo calculateDateVo = DateStrUtil.calculateCalculateEntireDayPeriod(dateStr); - List returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>(); + List returnGoodHeaderDetailsDataDtoArrayList = new ArrayList<>(); QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); - queryOfsSoSaleOutVo.setCreated_start("2024-07-16 15:35:35"); - queryOfsSoSaleOutVo.setCreated_end("2024-07-16 15:35:37"); + queryOfsSoSaleOutVo.setClosedAt_start("2024-07-16 16:44:00"); + queryOfsSoSaleOutVo.setClosedAt_end("2024-07-16 16:44:02"); queryOfsSoSaleOutVo.setClientCode("LETS"); // queryOfsSoSaleOutVo.setInternalInstructionType("SALES"); queryOfsSoSaleOutVo.setCompanyCode("SHLZ"); // queryOfsSoSaleOutVo.setStatus(900L); queryOfsSoSaleOutVo.setPageNo(1L); queryOfsSoSaleOutVo.setPageSize(50L); - queryOfsSoSaleOutVo.setCode("LETS-RE2024071600000001"); +// queryOfsSoSaleOutVo.setCode("LETS-RE2024071600000001"); queryOfsReturnGoods(queryOfsSoSaleOutVo, returnGoodHeaderDetailsDataDtoArrayList, 1L); logger.info("数据返回行数:{}", returnGoodHeaderDetailsDataDtoArrayList.size()); if (returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { //保存到mysql batchInsert(returnGoodHeaderDetailsDataDtoArrayList); //过滤成功的数据 - List returnGoodHeaderDetailsDataDtoList = filterData(returnGoodHeaderDetailsDataDtoArrayList); + List stockinOrderList = filterData(returnGoodHeaderDetailsDataDtoArrayList); //执行推送主逻辑 - implement(returnGoodHeaderDetailsDataDtoList); + implement(stockinOrderList); } else { logger.info("没有查询到任何数据!不需要同步"); } @@ -196,11 +192,11 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * * @author liuyang */ - private List filterData(List headerDetailsDtoList) { - List headerDetailsDtoList1 = new ArrayList<>(); - if (headerDetailsDtoList != null && headerDetailsDtoList.size() > 0) { + private List filterData(List returnGoodHeaderDetailsDataDtoArrayList) { + List headerDetailsDtoList1 = new ArrayList<>(); + if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { //TODO 出库单明细主键,需要O返回,目前没有,已经提需求 - headerDetailsDtoList1.addAll(headerDetailsDtoList); + headerDetailsDtoList1.addAll(returnGoodHeaderDetailsDataDtoArrayList); } return headerDetailsDtoList1; } @@ -210,24 +206,29 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * * @param returnGoodHeaderDetailsDataDtoArrayList 数据行 */ - private void batchInsert(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { + private void batchInsert(List returnGoodHeaderDetailsDataDtoArrayList) throws Exception { if (returnGoodHeaderDetailsDataDtoArrayList != null && returnGoodHeaderDetailsDataDtoArrayList.size() > 0) { - List headerDetailsDtoList1 = new ArrayList<>(); - List headerDetailsDtoList2 = new ArrayList<>(); + List headerDetailsDtoList1 = new ArrayList<>(); + List headerDetailsDtoList2 = new ArrayList<>(); - for (ReturnGoodHeaderDetailsDataDto index : returnGoodHeaderDetailsDataDtoArrayList) { - ReturnGoodSearchHeaderDto header = index.getHeader();// 主表 - List details = index.getDetails();//明细表 + for (StockinOrderSearchResponse.StockinOrder index : returnGoodHeaderDetailsDataDtoArrayList) { + StockinOrderSearchResponse.StockinOrder.StockinH header = index.getHeader();// 主表 + List details = index.getDetails();//明细表 + + for (int i = 0; i < details.size(); i++) { + StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(i); + stockinB.setReturnGoodSearchHeaderDto(header); + } headerDetailsDtoList1.add(header); headerDetailsDtoList2.addAll(details); } //每100作为一个批次插入主表,根据主键(id)判断是否重复,如果重复的,则不进行插入 - List> lists = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 100); + List> lists = SplitListByCountUtil.splitListByCount(headerDetailsDtoList1, 100); for (int i = 0; i < lists.size(); i++) { - List returnGoodSearchHeaderDtos = lists.get(i); - List tocofsReturngoodsEntities = copyHeaderDto(returnGoodSearchHeaderDtos); + List stockinHS = lists.get(i); + List tocofsReturngoodsEntities = copyHeaderDto(stockinHS); if (tocofsReturngoodsEntities.size() > 0) { logger.info("TocofsReturngoodsEntity:插入底表{}个对象(表头)", tocofsReturngoodsEntities.size()); iTocofsReturngoodsDao.entityInsertBatchV2(tocofsReturngoodsEntities); @@ -237,10 +238,10 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { } //插入明细表 - List> lists1 = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 100); + List> lists1 = SplitListByCountUtil.splitListByCount(headerDetailsDtoList2, 100); for (int i = 0; i < lists1.size(); i++) { - List returnGoodSearchDetailsDtos = lists1.get(i); - List tocofsReturngoodsDetailedEntities = copyDetailsDto(returnGoodSearchDetailsDtos); + List stockinBS = lists1.get(i); + List tocofsReturngoodsDetailedEntities = copyDetailsDto(stockinBS); if (tocofsReturngoodsDetailedEntities.size() > 0) { logger.info("TocofsReturngoodsDetailedEntity:插入底表{}个对象(表体)", tocofsReturngoodsDetailedEntities.size()); iTocofsReturngoodsDetailedDao.entityInsertBatchV2(tocofsReturngoodsDetailedEntities); @@ -258,7 +259,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * @param headerDetailsDtoList 查询结果集 * @param pageNo 从第pageNo页开始查询 */ - private void queryOfsReturnGoods(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List headerDetailsDtoList, Long pageNo) throws Exception { + private void queryOfsReturnGoods(QueryOfsSoSaleOutVo queryOfsSoSaleOutVo, List headerDetailsDtoList, Long pageNo) throws Exception { Long pageSize = 200L; queryOfsSoSaleOutVo.setPageNo(pageNo); queryOfsSoSaleOutVo.setPageSize(pageSize); @@ -266,12 +267,12 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { InterfaceParamDto interfaceParamDto = new InterfaceParamDto(); interfaceParamDto.setApi("ofs.receipt.search"); interfaceParamDto.setData(JSON.toJSONString(queryOfsSoSaleOutVo)); - RertunGoodsRootBean rertunGoodsRootBean = (RertunGoodsRootBean) ofsUnifiedService.unified(interfaceParamDto); + StockinOrderSearchResponse rertunGoodsRootBean = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto); if (rertunGoodsRootBean != null) { if ("false".equals(rertunGoodsRootBean.getError()) && "0".equals(rertunGoodsRootBean.getCode()) && "Success".equals(rertunGoodsRootBean.getMsg())) { - List returnGoodHeaderDetailsDataDtoList = rertunGoodsRootBean.getData(); - if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) { - headerDetailsDtoList.addAll(returnGoodHeaderDetailsDataDtoList); + List stockinOrderList = rertunGoodsRootBean.getData(); + if (stockinOrderList != null && stockinOrderList.size() > 0) { + headerDetailsDtoList.addAll(stockinOrderList); //TODO OFS没有提供分页字段,等待开发 } @@ -289,7 +290,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * @param returnGoodHeaderDetailsDataDtoList 查询得到的O出库单对象 * @author liuyang */ - private void implement(List returnGoodHeaderDetailsDataDtoList) throws Exception { + private void implement(List returnGoodHeaderDetailsDataDtoList) throws Exception { if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) { try { // 查询基本档案 @@ -300,8 +301,8 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { try { for (int i = 0; i < orderToBHeaderDtos.size(); i++) { OrderToBHeaderDto orderOutTobHeaderDto = orderToBHeaderDtos.get(i); - ReturnGoodSearchHeaderDto header = orderOutTobHeaderDto.getHeader(); - List details = orderOutTobHeaderDto.getDetails(); + StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader(); + List details = orderOutTobHeaderDto.getDetails(); //销售公司、发货公司 BdCorpEntity bdCorpEntity = orderOutTobHeaderDto.getBdCorpEntity(); @@ -359,9 +360,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { //把汇总好的出库单明细行合并成一行 for (int j = 0; j < details.size(); j++) { - ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = details.get(j); + StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j); //存货管理档案:取发货公司的存货管理档案 - BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(returnGoodSearchDetailsDto, bdCalbodyEntity.getPkCorp()); + BdInvmandocEntity bdInvmandocEntity = queryInventoryMan(stockinB, bdCalbodyEntity.getPkCorp()); //存货基础档案 BdInvbasdocEntity bdInvbasdocEntity = queryStockBasicArchives(bdInvmandocEntity.getPkInvmandoc(), deliverGoodsCorp.getPkCorp()); //根据存货基础档案编码,查询当前存货的税率 @@ -381,13 +382,13 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { BigDecimal noriginalcursummny = null;//价税合计 BigDecimal noriginalcurtaxmny = null;//税额 try { - Assert.notNull(returnGoodSearchDetailsDto.getTotalAmount(), "退货入库单总金额不能为空 明细行对象:{}", JSON.toJSONString(returnGoodSearchDetailsDto)); - Assert.notNull(returnGoodSearchDetailsDto.getReceivedQty(), "实收数量不能为空 明细行对象:{}", JSON.toJSONString(returnGoodSearchDetailsDto)); + Assert.notNull(stockinB.getTotalAmount(), "退货入库单总金额不能为空 明细行对象:{}", JSON.toJSONString(stockinB)); + Assert.notNull(stockinB.getReceivedQty(), "实收数量不能为空 明细行对象:{}", JSON.toJSONString(stockinB)); - noriginalcurtaxprice = new BigDecimal(returnGoodSearchDetailsDto.getTotalAmount()).divide(new BigDecimal(returnGoodSearchDetailsDto.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP); + noriginalcurtaxprice = new BigDecimal(stockinB.getTotalAmount()).divide(new BigDecimal(stockinB.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP); noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP); - noriginalcurmny = noriginalcurprice.multiply(new BigDecimal(returnGoodSearchDetailsDto.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP); - noriginalcursummny = noriginalcurtaxprice.multiply(new BigDecimal(returnGoodSearchDetailsDto.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP); + noriginalcurmny = noriginalcurprice.multiply(new BigDecimal(stockinB.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP); + noriginalcursummny = noriginalcurtaxprice.multiply(new BigDecimal(stockinB.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP); noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP); } catch (Exception e) { logger.error("TOB金额计算错误", e); @@ -412,7 +413,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { saleorderRequestChildrenDto.setDdeliverdate(generateBusinessDate);// 要求收货日期 saleorderRequestChildrenDto.setNexchangeotobrate("1.00000000");//折本汇率 saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣 - saleorderRequestChildrenDto.setNnumber("-" + returnGoodSearchDetailsDto.getReceivedQty());//数量 + saleorderRequestChildrenDto.setNnumber("-" + stockinB.getReceivedQty());//数量 saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额 saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额 // saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价 @@ -453,7 +454,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { */ private String createGenerateBusinessDate(OrderToBHeaderDto orderOutTobHeaderDto) { if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null && orderOutTobHeaderDto.getHeader().getCheckInFrom() != null) { - ReturnGoodSearchHeaderDto header = orderOutTobHeaderDto.getHeader(); + StockinOrderSearchResponse.StockinOrder.StockinH header = orderOutTobHeaderDto.getHeader(); String checkInFrom = header.getCheckInFrom(); String businessFormat = null; try { @@ -475,15 +476,15 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * * @author liuyang */ - private List queryBasicArchives(List returnGoodHeaderDetailsDataDtoList) { + private List queryBasicArchives(List returnGoodHeaderDetailsDataDtoList) { List orderToBHeaderDtoArrayList = new ArrayList<>(); if (returnGoodHeaderDetailsDataDtoList != null && returnGoodHeaderDetailsDataDtoList.size() > 0) { try { for (int i = 0; i < returnGoodHeaderDetailsDataDtoList.size(); i++) { - ReturnGoodHeaderDetailsDataDto returnGoodHeaderDetailsDataDto = returnGoodHeaderDetailsDataDtoList.get(i); - ReturnGoodSearchHeaderDto header = returnGoodHeaderDetailsDataDto.getHeader(); - List details = returnGoodHeaderDetailsDataDto.getDetails(); + StockinOrderSearchResponse.StockinOrder stockinOrder = returnGoodHeaderDetailsDataDtoList.get(i); + StockinOrderSearchResponse.StockinOrder.StockinH header = stockinOrder.getHeader(); + List details = stockinOrder.getDetails(); // 销售公司、发货公司 String companyCode = header.getCompanyCode(); @@ -632,18 +633,18 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * bean copy * 2024年8月15日 14:19:36 */ - private List copyHeaderDto(List returnGoodSearchHeaderDtos) { + private List copyHeaderDto(List stockinHS) { List tocofsReturngoodsEntityArrayList = new ArrayList<>(); - if (returnGoodSearchHeaderDtos != null && returnGoodSearchHeaderDtos.size() > 0) { - for (int i = 0; i < returnGoodSearchHeaderDtos.size(); i++) { - ReturnGoodSearchHeaderDto headerDto = returnGoodSearchHeaderDtos.get(i); + if (stockinHS != null && stockinHS.size() > 0) { + for (int i = 0; i < stockinHS.size(); i++) { + StockinOrderSearchResponse.StockinOrder.StockinH stockinH = stockinHS.get(i); TocofsReturngoodsEntity tocofsReturngoodsEntity = new TocofsReturngoodsEntity(); - BeanUtil.copyPropertiesV2(headerDto, tocofsReturngoodsEntity); + BeanUtil.copyPropertiesV2(stockinH, tocofsReturngoodsEntity); tocofsReturngoodsEntityArrayList.add(tocofsReturngoodsEntity); } } else { - logger.info("需要复制{}个bean对象(O表头)", returnGoodSearchHeaderDtos.size()); + logger.info("需要复制{}个bean对象(O表头)", stockinHS.size()); } return tocofsReturngoodsEntityArrayList; } @@ -652,15 +653,20 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * bean copy * 2024年8月15日 14:24:38 */ - private List copyDetailsDto(List headerDetailsDtoList2) { + private List copyDetailsDto(List stockinBS) { List tocofsSaleoutDetailedEntityArrayList = new ArrayList<>(); - if (headerDetailsDtoList2 != null && headerDetailsDtoList2.size() > 0) { - for (int i = 0; i < headerDetailsDtoList2.size(); i++) { - ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = headerDetailsDtoList2.get(i); + if (stockinBS != null && stockinBS.size() > 0) { + for (int i = 0; i < stockinBS.size(); i++) { + StockinOrderSearchResponse.StockinOrder.StockinB stockinB = stockinBS.get(i); + + //明细行中引用的表头 + StockinOrderSearchResponse.StockinOrder.StockinH returnGoodSearchHeaderDto = stockinB.getReturnGoodSearchHeaderDto(); TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity = new TocofsReturngoodsDetailedEntity(); - tocofsReturngoodsDetailedEntity.setBusinessType("TOB_RETURN"); - BeanUtil.copyPropertiesV2(returnGoodSearchDetailsDto, tocofsReturngoodsDetailedEntity); +// tocofsReturngoodsDetailedEntity.setBusinessType("TOB_RETURN"); + BeanUtil.copyPropertiesV2(returnGoodSearchHeaderDto, tocofsReturngoodsDetailedEntity); + createPrimaryKeyAndBusinessDateAndBusinessType(tocofsReturngoodsDetailedEntity, returnGoodSearchHeaderDto); + tocofsSaleoutDetailedEntityArrayList.add(tocofsReturngoodsDetailedEntity); } } else { @@ -690,7 +696,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * @param detailsDto 出库单存货明细行 * @author liuyang */ - private BdInvmandocEntity queryInventoryMan(ReturnGoodSearchDetailsDto detailsDto, String pkCorp) throws Exception { + private BdInvmandocEntity queryInventoryMan(StockinOrderSearchResponse.StockinOrder.StockinB detailsDto, String pkCorp) throws Exception { Assert.notNull(detailsDto, "sonDetailsDto不能为空"); Assert.notNull(detailsDto.getSkuCode(), "O存货商家编码不能为空"); Assert.notNull(pkCorp, "发货公司主键不能为空"); @@ -807,4 +813,16 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { } return null; } + + /** + * 填充主表主键、业务日期、业务类型 + * 2024年8月15日 17:31:54 + */ + private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity, StockinOrderSearchResponse.StockinOrder.StockinH returnGoodSearchHeaderDto) { + if (tocofsReturngoodsDetailedEntity != null && returnGoodSearchHeaderDto != null) { + tocofsReturngoodsDetailedEntity.setPrimaryKey(returnGoodSearchHeaderDto.getId());//主表主键 + tocofsReturngoodsDetailedEntity.setBusinessDate(returnGoodSearchHeaderDto.getCheckInFrom());//业务日期 + tocofsReturngoodsDetailedEntity.setBusinessType("TOC_RETURN");//业务类型 + } + } } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index bb2696e4..64bfeb77 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -191,6 +191,12 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { for (ReturnGoodHeaderDetailsDataDto index : returnGoodHeaderDetailsDataDtoList) { ReturnGoodSearchHeaderDto header = index.getHeader();// 主表 List details = index.getDetails();//明细表 + + for (int i = 0; i < details.size(); i++) { + ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = details.get(i); + returnGoodSearchDetailsDto.setReturnGoodSearchHeaderDto(header); + } + headerDetailsDtoList1.add(header); headerDetailsDtoList2.addAll(details); } @@ -594,9 +600,13 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { for (int i = 0; i < headerDetailsDtoList2.size(); i++) { ReturnGoodSearchDetailsDto returnGoodSearchDetailsDto = headerDetailsDtoList2.get(i); + //表头 + ReturnGoodSearchHeaderDto returnGoodSearchHeaderDto = returnGoodSearchDetailsDto.getReturnGoodSearchHeaderDto(); + TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity = new TocofsReturngoodsDetailedEntity(); - tocofsReturngoodsDetailedEntity.setBusinessType("TOC_RETURN"); +// tocofsReturngoodsDetailedEntity.setBusinessType("TOC_RETURN"); BeanUtil.copyPropertiesV2(returnGoodSearchDetailsDto, tocofsReturngoodsDetailedEntity); + createPrimaryKeyAndBusinessDateAndBusinessType(tocofsReturngoodsDetailedEntity, returnGoodSearchHeaderDto); tocofsSaleoutDetailedEntityArrayList.add(tocofsReturngoodsDetailedEntity); } } else { @@ -843,4 +853,15 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { return null; } -} + /** + * 填充主表主键、业务日期、业务类型 + * 2024年8月15日 17:31:54 + */ + private void createPrimaryKeyAndBusinessDateAndBusinessType(TocofsReturngoodsDetailedEntity tocofsReturngoodsDetailedEntity, ReturnGoodSearchHeaderDto returnGoodSearchHeaderDto) { + if (tocofsReturngoodsDetailedEntity != null && returnGoodSearchHeaderDto != null) { + tocofsReturngoodsDetailedEntity.setPrimaryKey(tocofsReturngoodsDetailedEntity.getId());//主表主键 + tocofsReturngoodsDetailedEntity.setBusinessDate(returnGoodSearchHeaderDto.getCheckInFrom());//业务日期 + tocofsReturngoodsDetailedEntity.setBusinessType("TOC_RETURN");//业务类型 + } + } +} \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderOutTobHeaderDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderOutTobHeaderDto.java index 5b7e2ea4..caf11d3c 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderOutTobHeaderDto.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderOutTobHeaderDto.java @@ -2,6 +2,7 @@ package com.hzya.frame.plugin.lets.u8cdto; import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto; +import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto; import lombok.Data; /** @@ -75,4 +76,9 @@ public class OrderOutTobHeaderDto extends HeaderDetailsDto { * 店铺档案 */ private BdDefdocEntity shopArchives; + + /** + * OFS销售订单 + */ + private SaleOrderMessageDto ofsOrder; } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderToBHeaderDto.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderToBHeaderDto.java index 02621074..9e345caa 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderToBHeaderDto.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/u8cdto/OrderToBHeaderDto.java @@ -5,6 +5,7 @@ import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.DetailsDto; import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDto; import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchDetailsDto; import com.hzya.frame.ttxofs.dto.returngoodsearch.ReturnGoodSearchHeaderDto; +import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import lombok.Data; import java.util.List; @@ -84,10 +85,10 @@ public class OrderToBHeaderDto { /** * TOB售后入库单表头 */ - private ReturnGoodSearchHeaderDto header; + private StockinOrderSearchResponse.StockinOrder.StockinH header; /** * TOB售后入库单表体 */ - private List details; + private List details; } \ No newline at end of file diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/PushDataByU8cUtil.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/PushDataByU8cUtil.java index 588cb604..b05d8046 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/PushDataByU8cUtil.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/PushDataByU8cUtil.java @@ -40,7 +40,7 @@ public class PushDataByU8cUtil { .setSocketTimeout(300000) // 读取超时时间为60秒 .build(); - HttpPost post = new HttpPost(OverallConstant.getOverAllValue("u8cApiServiceNamePK") + url); + HttpPost post = new HttpPost(OverallConstant.getOverAllValue("u8cApiUrl") + url); post.setHeader("Content-Type", "application/json;charset=UTF-8"); post.setHeader("usercode", OverallConstant.getOverAllValue("u8cApiUsercodePK")); post.setHeader("password", OverallConstant.getOverAllValue("u8cApiPasswordPK")); @@ -100,7 +100,7 @@ public class PushDataByU8cUtil { .setSocketTimeout(300000) // 读取超时时间为60秒 .build(); - HttpPost post = new HttpPost(OverallConstant.getOverAllValue("u8cApiServiceNameCode") + url); + HttpPost post = new HttpPost(OverallConstant.getOverAllValue("u8cApiUrl") + url); post.setHeader("Content-Type", "application/json;charset=UTF-8"); post.setHeader("usercode", OverallConstant.getOverAllValue("u8cApiUsercodeCode")); post.setHeader("password", OverallConstant.getOverAllValue("u8cApiPasswordCode")); diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/Attribute.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/Attribute.java new file mode 100644 index 00000000..fca42d35 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/Attribute.java @@ -0,0 +1,17 @@ +package com.hzya.frame.plugin.lets.util.pushData; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * U8C返回参数 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class Attribute { + private String status; + private String taskNumber; + private String data; +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/PushU8CByApiCode.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/PushU8CByApiCode.java new file mode 100644 index 00000000..dd869fc8 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/PushU8CByApiCode.java @@ -0,0 +1,107 @@ +package com.hzya.frame.plugin.lets.util.pushData; + +import cn.hutool.core.lang.Assert; +import cn.hutool.http.HttpRequest; +import com.alibaba.fastjson.JSON; +import com.hzya.frame.plugin.lets.constant.OverallConstant; +import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.springframework.stereotype.Component; + +/** + * 通过中台推送U8C推送工具类. + */ +@Component +public class PushU8CByApiCode { + + private static String appId = "800037"; + private static String publicKey = "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj";//用安中台 + private static String secretKey = "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=";//用安中台 + + /** + * 发起post请求,传递json类型 + * + * @param apicode 地址 + * @param data 请求参数 + * @return 返回消息 + */ + public ZTResult pushByPK(String apicode, String data) throws Exception { + Assert.notNull(apicode, "请求地址不能为空"); + Assert.notNull(data, "请求参数不能为空(需要JSON格式)"); + + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(OverallConstant.getOverAllValue("u8cApiUrl")); + httpPost.setHeader("Content-Type", "application/json"); + //u8c + httpPost.setHeader("usercode", OverallConstant.getOverAllValue("u8cApiUsercodePK")); + httpPost.setHeader("password", OverallConstant.getOverAllValue("u8cApiPasswordPK")); + httpPost.setHeader("trantype", OverallConstant.getOverAllValue("u8cApiTrantypePK")); + httpPost.setHeader("system", OverallConstant.getOverAllValue("u8cApiSystemPK")); + httpPost.setHeader("needStackTrace", OverallConstant.getOverAllValue("u8cApiNeedStackTracePK")); + //中台 + httpPost.setHeader("publicKey", publicKey); + httpPost.setHeader("secretKey", secretKey); + //app + httpPost.setHeader("appId", appId); + httpPost.setHeader("apicode", apicode); + //data + httpPost.setEntity(new StringEntity(data, "UTF-8")); + CloseableHttpResponse response = httpclient.execute(httpPost); + + HttpEntity entity = response.getEntity(); + String result = EntityUtils.toString(entity); + EntityUtils.consume(entity); + ZTResult ztResult = JSON.parseObject(result).toJavaObject(ZTResult.class); + + return ztResult; + } + + /** + * 发起post请求,传递json类型 + *

+ * u8c code模式。 + * + * @param apicode + * @param data 请求参数 + * @return 返回消息 + */ + public ZTResult pushByCode(String apicode, String data) throws Exception { + Assert.notNull(apicode, "请求地址不能为空"); + Assert.notNull(data, "请求参数不能为空(需要JSON格式)"); + + CloseableHttpClient httpclient = HttpClients.createDefault(); + HttpPost httpPost = new HttpPost(ProfilesActiveConstant.U8C_URL); + httpPost.setHeader("Content-Type", "application/json"); + //u8c + httpPost.setHeader("usercode", OverallConstant.getOverAllValue("u8cApiUsercodeCode")); + httpPost.setHeader("password", OverallConstant.getOverAllValue("u8cApiPasswordCode")); + httpPost.setHeader("trantype", OverallConstant.getOverAllValue("u8cApiTrantypeCode")); + httpPost.setHeader("system", OverallConstant.getOverAllValue("u8cApiSystemCode")); + httpPost.setHeader("needStackTrace", OverallConstant.getOverAllValue("u8cApiNeedStackTraceCode")); + //中台 + httpPost.setHeader("publicKey", publicKey); + httpPost.setHeader("secretKey", secretKey); + //app + httpPost.setHeader("appId", appId); + httpPost.setHeader("apicode", apicode); + //data + httpPost.setEntity(new StringEntity(data, "UTF-8")); + CloseableHttpResponse response = httpclient.execute(httpPost); + HttpEntity entity = response.getEntity(); + String result = EntityUtils.toString(entity); + EntityUtils.consume(entity); + ZTResult ztResult = JSON.parseObject(result).toJavaObject(ZTResult.class); + + return ztResult; + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/ZTResult.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/ZTResult.java new file mode 100644 index 00000000..f80fadd0 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/util/pushData/ZTResult.java @@ -0,0 +1,18 @@ +package com.hzya.frame.plugin.lets.util.pushData; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ZTResult { + private String msg; + private String type; + private String flag; + private String status; + private Attribute attribute; + private String headMsg; + +} diff --git a/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-plugin.xml index 9caef233..32549984 100644 --- a/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-plugin.xml +++ b/buildpackage/src/main/resources/cfgHome/plugin/lets/spring/spring-lets-plugin.xml @@ -6,9 +6,9 @@ - + - + diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/base/BaseTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/base/BaseTest.java index 691d1dc0..5a609be5 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/base/BaseTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/base/BaseTest.java @@ -12,24 +12,31 @@ import org.springframework.test.context.junit4.SpringRunner; public class BaseTest { @Autowired - private GoodsPluginInitializer goodsPluginInitializer; + private SKUPluginInitializer skuPluginInitializer; @Autowired - private GoodsClassPluginInitializer goodsClassPluginInitializer; + private SKUClassPluginInitializer skuClassPluginInitializer; @Autowired private GoodsAutoAllotPluginInitializer goodsAutoAllotPluginInitializer; + ////////////////////////////////////////////////////////////////////////////////////SKU @Test public void t00(){ - goodsClassPluginInitializer.start("666"); + skuPluginInitializer.start(); } - + ////////////////////////////////////////////////////////////////////////////////////SKU自动分配 @Test - public void t01(){ + public void t10(){ goodsAutoAllotPluginInitializer.start("0001A210000000000U4C"); } - + ////////////////////////////////////////////////////////////////////////////////////SKU分类 @Test - public void t02(){ - goodsPluginInitializer.start(); + public void t20(){ + skuClassPluginInitializer.start(); } + @Test + public void t21(){ + skuClassPluginInitializer.start("2024-08-15","2024-08-16"); + } + + } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java index 6fc4d192..13d9b9ff 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleOutPluginInitializerToCTest.java @@ -1,6 +1,7 @@ package com.hzya.frame.plugin.lets.plugin.sales; import com.hzya.frame.WebappApplication; +import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -26,7 +27,15 @@ class SoSaleOutPluginInitializerToCTest { @Test void startImplement() throws Exception { - soSaleOutPluginInitializerToC.startImplement(null, null); +// soSaleOutPluginInitializerToC.startImplement(null, null); // soSaleOutPluginInitializerToC.queryOfsSaleOrder(); + + try { +// QueryOfsSoSaleOutVo queryOfsSoSaleOutVo = new QueryOfsSoSaleOutVo(); +// queryOfsSoSaleOutVo.setCode("LETS-SO2024070500000001"); +// soSaleOutPluginInitializerToC.getOfsOrder(queryOfsSoSaleOutVo, 1L); + } catch (Exception e) { + e.printStackTrace(); + } } } \ No newline at end of file diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToBTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToBTest.java new file mode 100644 index 00000000..7c6109e3 --- /dev/null +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToBTest.java @@ -0,0 +1,35 @@ +package com.hzya.frame.plugin.lets.plugin.sales; + +import com.hzya.frame.WebappApplication; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import static org.junit.Assert.*; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.plugin.lets.plugin.sales + * @Project:kangarooDataCenterV3 + * @name:SoSaleReturnPluginInitializerToBTest + * @Date:2024/8/16 13:56 + * @Filename:SoSaleReturnPluginInitializerToBTest + */ +@RunWith(SpringRunner.class) +@SpringBootTest(classes = WebappApplication.class) +public class SoSaleReturnPluginInitializerToBTest { + + @Autowired + private SoSaleReturnPluginInitializerToB soSaleReturnPluginInitializerToB; + + @Test + public void startImplement() { + try { + soSaleReturnPluginInitializerToB.startImplement(null, null); + } catch (Exception e) { + e.printStackTrace(); + } + } +} \ No newline at end of file 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 917452ab..c1d42771 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 @@ -82,11 +82,11 @@ public class TransferTest { } @Test public void t41(){ - adjustOutPluginInitializer.start("LETS-AH2024081300000003"); + adjustOutPluginInitializer.start("LETS-SH2024080900000001"); } @Test public void t42(){ - adjustOutPluginInitializer.start("2024-08-14","2024-08-14"); + adjustOutPluginInitializer.start("2024-08-08","2024-08-13"); } } diff --git a/service/src/main/java/com/hzya/frame/ttxofs/basics/ApiDtoCacheMap.java b/service/src/main/java/com/hzya/frame/ttxofs/basics/ApiDtoCacheMap.java index e8462550..794fc607 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/basics/ApiDtoCacheMap.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/basics/ApiDtoCacheMap.java @@ -5,7 +5,7 @@ import com.hzya.frame.ttxofs.dto.ofsBaseSearch.OFSSKUSearchResponse; import com.hzya.frame.ttxofs.dto.ofsBaseSearch.OfsShopReturnMessageDto; import com.hzya.frame.ttxofs.dto.ofsTransferOrderSearch.OFSTranseferOrderSearchResponse; import com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.SaleOutReturnMessageDto; -import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleReturnMessageDto; +import com.hzya.frame.ttxofs.dto.ofssalesordersearch.SaleOrderMessageDto; import com.hzya.frame.ttxofs.dto.stock.StockinOrderSearchResponse; import java.util.HashMap; @@ -26,7 +26,7 @@ public class ApiDtoCacheMap { public static final Map apiDtoCacheMap = new HashMap(); static { - apiDtoCacheMap.put("ofs.salesOrder.search", new SaleReturnMessageDto()); + apiDtoCacheMap.put("ofs.salesOrder.search", new SaleOrderMessageDto()); apiDtoCacheMap.put("ofs.shipment.search", new SaleOutReturnMessageDto()); apiDtoCacheMap.put("ofs.receipt.search", new StockinOrderSearchResponse());//入库单查询 apiDtoCacheMap.put("ofs.transferOrder.search", new OFSTranseferOrderSearchResponse());//调拨订单 diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUClassSearchResponse.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUClassSearchResponse.java index 7642d8ab..15d09ec0 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUClassSearchResponse.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUClassSearchResponse.java @@ -3,9 +3,25 @@ package com.hzya.frame.ttxofs.dto.ofsBaseSearch; import com.hzya.frame.ttxofs.basics.ReturnMessageBasics; import lombok.Data; +import java.util.Date; +import java.util.List; + /** * OFS SKU查询返回 */ @Data public class OFSSKUClassSearchResponse extends ReturnMessageBasics { + List data; + @Data + public static class SKUClass { + private String id; + private String clientCode; + private String cInvCCode; + private String cInvCName; + private Date created; + private String createdBy; + private Date lastUpdated; + private String lastUpdatedBy; + } + } diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUSearchResponse.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUSearchResponse.java index c326944a..6cf3be98 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUSearchResponse.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofsBaseSearch/OFSSKUSearchResponse.java @@ -11,7 +11,7 @@ import java.util.List; */ @Data public class OFSSKUSearchResponse extends ReturnMessageBasics { - private List skuList; + private List data; @Data public static class OFSSKU{ diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssaleorderoutsearch/DetailsDto.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssaleorderoutsearch/DetailsDto.java index fa81bf84..eaa43864 100755 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssaleorderoutsearch/DetailsDto.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssaleorderoutsearch/DetailsDto.java @@ -1,5 +1,8 @@ package com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch; +import lombok.Data; + +@Data public class DetailsDto { private String clientCode; @@ -31,227 +34,8 @@ public class DetailsDto { private String lastUpdated; private String lastUpdatedBy; - public String getClientCode() { - return clientCode; - } - - public void setClientCode(String clientCode) { - this.clientCode = clientCode; - } - - public String getCompanyCode() { - return companyCode; - } - - public void setCompanyCode(String companyCode) { - this.companyCode = companyCode; - } - - public String getFacilityCode() { - return facilityCode; - } - - public void setFacilityCode(String facilityCode) { - this.facilityCode = facilityCode; - } - - public String getShipmentCode() { - return shipmentCode; - } - - public void setShipmentCode(String shipmentCode) { - this.shipmentCode = shipmentCode; - } - - public String getRefOrderId() { - return refOrderId; - } - - public void setRefOrderId(String refOrderId) { - this.refOrderId = refOrderId; - } - - public String getRefOrderDetailId() { - return refOrderDetailId; - } - - public void setRefOrderDetailId(String refOrderDetailId) { - this.refOrderDetailId = refOrderDetailId; - } - - public String getRefOrderCode() { - return refOrderCode; - } - - public void setRefOrderCode(String refOrderCode) { - this.refOrderCode = refOrderCode; - } - - public String getAllocInvId() { - return allocInvId; - } - - public void setAllocInvId(String allocInvId) { - this.allocInvId = allocInvId; - } - - public String getSkuCode() { - return skuCode; - } - - public void setSkuCode(String skuCode) { - this.skuCode = skuCode; - } - - public String getSkuName() { - return skuName; - } - - public void setSkuName(String skuName) { - this.skuName = skuName; - } - - public String getSourceOrderCode() { - return sourceOrderCode; - } - - public void setSourceOrderCode(String sourceOrderCode) { - this.sourceOrderCode = sourceOrderCode; - } - - public String getInventorySts() { - return inventorySts; - } - - public void setInventorySts(String inventorySts) { - this.inventorySts = inventorySts; - } - - public String getIsGift() { - return isGift; - } - - public void setIsGift(String isGift) { - this.isGift = isGift; - } - - public String getRequestQty() { - return requestQty; - } - - public void setRequestQty(String requestQty) { - this.requestQty = requestQty; - } - - public String getShipQty() { - return shipQty; - } - - public void setShipQty(String shipQty) { - this.shipQty = shipQty; - } - - public String getQuantityUM() { - return quantityUM; - } - - public void setQuantityUM(String quantityUM) { - this.quantityUM = quantityUM; - } - - public String getListPrice() { - return listPrice; - } - - public void setListPrice(String listPrice) { - this.listPrice = listPrice; - } - - public String getItemTotalAmount() { - return itemTotalAmount; - } - - public void setItemTotalAmount(String itemTotalAmount) { - this.itemTotalAmount = itemTotalAmount; - } - - public String getTotalPayAmount() { - return totalPayAmount; - } - - public void setTotalPayAmount(String totalPayAmount) { - this.totalPayAmount = totalPayAmount; - } - - public String getTotalWeight() { - return totalWeight; - } - - public void setTotalWeight(String totalWeight) { - this.totalWeight = totalWeight; - } - - public String getTotalVolume() { - return totalVolume; - } - - public void setTotalVolume(String totalVolume) { - this.totalVolume = totalVolume; - } - - public String getTotalVolumeWeight() { - return totalVolumeWeight; - } - - public void setTotalVolumeWeight(String totalVolumeWeight) { - this.totalVolumeWeight = totalVolumeWeight; - } - - public String getWeightUM() { - return weightUM; - } - - public void setWeightUM(String weightUM) { - this.weightUM = weightUM; - } - - public String getVolumeUM() { - return volumeUM; - } - - public void setVolumeUM(String volumeUM) { - this.volumeUM = volumeUM; - } - - public String getCreated() { - return created; - } - - public void setCreated(String created) { - this.created = created; - } - - public String getCreatedBy() { - return createdBy; - } - - public void setCreatedBy(String createdBy) { - this.createdBy = createdBy; - } - - public String getLastUpdated() { - return lastUpdated; - } - - public void setLastUpdated(String lastUpdated) { - this.lastUpdated = lastUpdated; - } - - public String getLastUpdatedBy() { - return lastUpdatedBy; - } - - public void setLastUpdatedBy(String lastUpdatedBy) { - this.lastUpdatedBy = lastUpdatedBy; - } + /** + * 表头对象 + */ + private HeaderDto headerDto; } \ No newline at end of file diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssalesordersearch/SaleReturnMessageDto.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssalesordersearch/SaleOrderMessageDto.java similarity index 88% rename from service/src/main/java/com/hzya/frame/ttxofs/dto/ofssalesordersearch/SaleReturnMessageDto.java rename to service/src/main/java/com/hzya/frame/ttxofs/dto/ofssalesordersearch/SaleOrderMessageDto.java index 71228dfe..4f94d750 100755 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssalesordersearch/SaleReturnMessageDto.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/ofssalesordersearch/SaleOrderMessageDto.java @@ -13,7 +13,7 @@ import java.util.List; * @author bejson.com (i@bejson.com) * @website http://www.bejson.com/java2pojo/ */ -public class SaleReturnMessageDto extends ReturnMessageBasics { +public class SaleOrderMessageDto extends ReturnMessageBasics { private List data; diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodsearch/ReturnGoodSearchDetailsDto.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodsearch/ReturnGoodSearchDetailsDto.java index 5cc3b7d4..e253db19 100755 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodsearch/ReturnGoodSearchDetailsDto.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/returngoodsearch/ReturnGoodSearchDetailsDto.java @@ -43,4 +43,6 @@ public class ReturnGoodSearchDetailsDto { private String lastUpdated; private String lastUpdatedBy; private String discountPrice; + + private ReturnGoodSearchHeaderDto returnGoodSearchHeaderDto; } \ No newline at end of file diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockinOrderSearchResponse.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockinOrderSearchResponse.java index 38806804..3d552ed6 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockinOrderSearchResponse.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockinOrderSearchResponse.java @@ -3,7 +3,6 @@ package com.hzya.frame.ttxofs.dto.stock; import com.hzya.frame.ttxofs.basics.ReturnMessageBasics; import lombok.Data; -import java.util.Date; import java.util.List; /** @@ -21,79 +20,84 @@ public class StockinOrderSearchResponse extends ReturnMessageBasics { @Data public class StockinH { - private Integer id; + private String id; private String clientCode; private String companyCode; private String facilityCode; private String code; private String internalInstructionType; private String bizChannel; - private Integer refOrderId; + private String refOrderId; private String refOrderCode; private String refOrderType; - private Integer closed; + private String closed; private String closedBy; - private Integer status; - private Integer allowOverReceive; - private Integer totalLines; - private Integer totalQty; - private Integer totalAmount; - private Integer totalWeight; - private Integer totalVolume; - private Integer totalVolumeWeight; - private Integer totalFulfillAmount; - private Integer totalFulfillWeight; - private Integer totalFulfillVolume; - private Integer totalFulfillVolumeWeight; - private Integer totalFulfillQty; - private Integer totalCases; - private Integer totalContainers; - private Integer closeAtQty; + private String status; + private String allowOverReceive; + private String totalLines; + private String totalQty; + private String totalAmount; + private String totalWeight; + private String totalVolume; + private String totalVolumeWeight; + private String totalFulfillAmount; + private String totalFulfillWeight; + private String totalFulfillVolume; + private String totalFulfillVolumeWeight; + private String totalFulfillQty; + private String totalCases; + private String totalContainers; + private String closeAtQty; private String quantityUM; private String weightUM; private String volumeUM; - private Date checkInFrom; - private Date checkInTo; - private Date closedAt; + private String checkInFrom; + private String checkInTo; + private String closedAt; private String note; private String sourceOrderCode; - private Date created; + private String created; private String createdBy; - private Date lastUpdated; + private String lastUpdated; private String lastUpdatedBy; + private String sourcePlatformCode; + private String storeCode; } @Data public class StockinB { - private Integer id; - private Integer receiptId; + private String id; + private String receiptId; private String receiptCode; - private Integer refOrderId; - private Integer refOrderDetailId; + private String refOrderId; + private String refOrderDetailId; private String clientCode; private String companyCode; private String facilityCode; private String skuCode; private String skuName; - private Integer requestQty; - private Integer receivedQty; - private Integer openQty; + private String requestQty; + private String receivedQty; + private String openQty; private String quantityUM; - private Integer totalWeight; - private Integer totalVolume; - private Integer totalVolumeWeight; - private Integer totalAmount; + private String totalWeight; + private String totalVolume; + private String totalVolumeWeight; + private String totalAmount; private String weightUM; private String volumeUM; private String inventorySts; - private Integer inTransInvId; - private Integer closed; - private Date created; + private String inTransInvId; + private String closed; + private String created; private String createdBy; - private Date lastUpdated; + private String lastUpdated; private String lastUpdatedBy; - private Integer discountPrice; + private String discountPrice; + + //表头对象 + private StockinH returnGoodSearchHeaderDto; } } diff --git a/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockoutOrderSearchResponse.java b/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockoutOrderSearchResponse.java index a16c62b6..0634c2ad 100644 --- a/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockoutOrderSearchResponse.java +++ b/service/src/main/java/com/hzya/frame/ttxofs/dto/stock/StockoutOrderSearchResponse.java @@ -84,6 +84,10 @@ public class StockoutOrderSearchResponse extends ReturnMessageBasics { private String shipAt; private String shipmentType; private String shipmentNote; + private String created; + private String createdBy; + private String lastUpdated; + private String lastUpdatedBy; } @Data public static class StockoutB {