丽知:调拨出入库修改。

This commit is contained in:
zhengyf 2024-08-22 17:29:02 +08:00
parent 00c664d20d
commit 142aa5fa2d
4 changed files with 214 additions and 99 deletions

View File

@ -30,6 +30,7 @@ import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTask
import com.hzya.frame.ttxofs.basics.ReturnMessageBasics;
import com.hzya.frame.ttxofs.dto.InterfaceParamDto;
import com.hzya.frame.ttxofs.dto.ofsTransferOrderSearch.OFSTranseferOrderSearchResponse;
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;
@ -43,6 +44,9 @@ import java.util.Date;
import java.util.List;
import java.util.concurrent.locks.ReentrantLock;
/**
* 丽知OFS调拨入库订单--->U8C调拨入库订单
*/
public class TransferInPluginInitializer extends PluginBaseEntity {
Logger logger = LoggerFactory.getLogger(TransferInPluginInitializer.class);
@ -101,6 +105,38 @@ public class TransferInPluginInitializer 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;
}
@ -118,20 +154,21 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
String endTimeStr = DateUtil.format(endTime, "yyyy-MM-dd HH:mm:ss");
QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO();
// queryOfsStockinOrderRequestVO.setCreated_start("2024-08-05 00:00:00");
// queryOfsStockinOrderRequestVO.setCreated_end("2024-08-09 23:59:59");
queryOfsStockinOrderRequestVO.setClosedAt_start("2024-08-05 00:00:00");
queryOfsStockinOrderRequestVO.setClosedAt_end("2024-08-09 23:59:59");
// queryOfsStockinOrderRequestVO.setCompanyCode("SHXM");
// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setPageNo(1L);
queryOfsStockinOrderRequestVO.setPageSize(500L);
List<StockinOrderSearchResponse.StockinOrder> data = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
System.out.println(data);
queryOfsStockinOrderRequestVO.setClosedAt_start(startTimeStr);
queryOfsStockinOrderRequestVO.setClosedAt_end(endTimeStr);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setStatus("900");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
if (transferInOrder == null || transferInOrder.size() == 0) {
return;
}
//过滤日志
//推送
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
return;
}
implement(filterTransferInOrders);
} catch (Exception e) {
@ -149,10 +186,8 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
queryOfsStockinOrderRequestVO.setCode(stockinNo);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setStatus("900");
queryOfsStockinOrderRequestVO.setPageNo(1L);
queryOfsStockinOrderRequestVO.setPageSize(500L);
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
System.out.println(transferInOrder);
if (transferInOrder == null || transferInOrder.size() == 0) {
Assert.state(false, "丽知OFS调拨入库--->U8C调拨入库根据单据号[入库完成]{},未查询到调拨入库单", stockinNo);
}
@ -181,14 +216,22 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
String end = DateUtil.format(business_end, "yyyy-MM-dd") + " 23:59:59";
QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO = new QueryOfsStockinOrderRequestVO();
queryOfsStockinOrderRequestVO.setClosedAt_start("2024-08-05 00:00:00");
queryOfsStockinOrderRequestVO.setClosedAt_end("2024-08-09 23:59:59");
// queryOfsStockinOrderRequestVO.setCompanyCode("SHXM");
// queryOfsTransferOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setPageNo(1L);
queryOfsStockinOrderRequestVO.setPageSize(500L);
List<StockinOrderSearchResponse.StockinOrder> data = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
System.out.println(data);
queryOfsStockinOrderRequestVO.setClosedAt_start(start);
queryOfsStockinOrderRequestVO.setClosedAt_end(end);
//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockinOrderRequestVO.setStatus("900");
List<StockinOrderSearchResponse.StockinOrder> transferInOrder = queryOfsStockinOrder(queryOfsStockinOrderRequestVO);
if (transferInOrder == null || transferInOrder.size() == 0) {
Assert.state(false, "丽知OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]{}-{},未查询到调拨入库单[入库完成]", startTime, endTime);
}
//过滤日志
List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders = filterData(transferInOrder);
if (filterTransferInOrders.size() == 0) {
Assert.state(false, "丽知OFS调拨入库订单--->U8C调拨入库订单根据日期期间[开始时间]-[结束时间]{}-{},该调期调拨入库单[入库完成]已被推送成功,请勿重新推送", startTime, endTime);
}
implement(filterTransferInOrders);
} catch (Exception e) {
logger.error("丽知OFS调拨入库订单--->U8C调拨入库订单保存签字关联U8C调拨出库单,start(String startTime, String endTime)方法报错:", e);
@ -223,9 +266,10 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
/**
* ofs调拨入库推送u8c调拨入库关联调拨订单
*
* <p>
* 根据ofs调拨订单可以查询到u8c调拨订单
* u8c调拨出库单子表的来源单据号vsourcebillcode调拨订单号
*
* @param filterTransferInOrders
*/
public void implement(List<StockinOrderSearchResponse.StockinOrder> filterTransferInOrders) {
@ -241,9 +285,9 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
//ofs调拨订单号
String ofsSourceOrderCode = ofsTransferHeader.getSourceOrderCode();
//ofs调拨入库单单号
ofsCode=ofsTransferHeader.getCode();
ofsCode = ofsTransferHeader.getCode();
//ofs最后修改时间调入时间
format=ofsTransferHeader.getLastUpdated();
format = ofsTransferHeader.getLastUpdated();
GeneralBillVO generalBillVO = new GeneralBillVO();
//主表
@ -259,28 +303,26 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
//pk_defdoc19 自定义项19ofs调拨订单号
parentvo.setPk_defdoc19(ofsSourceOrderCode);
//U8C调拨订单信息
// List<ToBillEntity> toBillEntityList = queryToBillByPkVdefdoc19(ofsSourceOrderCode);
//U8C调拨出库单主表信息
List<IcGeneralHEntity> icGeneralHEntityList = queryIcGeneralHByPkVdefdoc19(ofsSourceOrderCode);
if (icGeneralHEntityList == null) {
Assert.state(false,"在U8C内根据OFS调拨订单号pk_vdefdoc19:{},没有查询到调拨出库单,请检查。",ofsSourceOrderCode);
Assert.state(false, "在U8C内根据OFS调拨订单号pk_vdefdoc19:{},没有查询到调拨出库单,请检查。", ofsSourceOrderCode);
}
if(icGeneralHEntityList.size()>1){
Assert.state(false,"在U8C内根据OFS调拨订单号pk_vdefdoc19:{},查询到调拨出库单不唯一,请检查。",ofsSourceOrderCode);
if (icGeneralHEntityList.size() > 1) {
Assert.state(false, "在U8C内根据OFS调拨订单号pk_vdefdoc19:{},查询到调拨出库单不唯一,请检查。", ofsSourceOrderCode);
}
IcGeneralHEntity icGeneralHEntity = icGeneralHEntityList.get(0);
//U8C调拨出库单子表信息
List<IcGeneralBEntity> icGeneralBEntityList = queryIcGeneralBByCgeneralhid(icGeneralHEntity.getCgeneralhid());
if(icGeneralBEntityList==null){
Assert.state(false,"在U8C内根据U8C调拨出库单主表主键{},调拨出库单单号:{},未查询到调拨出库单子表信息,请检查。",icGeneralHEntity.getCgeneralhid(),icGeneralHEntity.getVbillcode());
if (icGeneralBEntityList == null) {
Assert.state(false, "在U8C内根据U8C调拨出库单主表主键{},调拨出库单单号:{},未查询到调拨出库单子表信息,请检查。", icGeneralHEntity.getCgeneralhid(), icGeneralHEntity.getVbillcode());
}
List<GeneralBillVO.Childrenvo> ChildrenList = new ArrayList<>();
int i=1;
int i = 1;
for (StockinOrderSearchResponse.StockinOrder.StockinB ofsTransferDetail : transferInOrders.getDetails()) {
GeneralBillVO.Childrenvo childrenvo = new GeneralBillVO.Childrenvo();
@ -297,10 +339,11 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
for (IcGeneralBEntity icGeneralBEntity : icGeneralBEntityList) {
System.out.println(icGeneralBEntity);
//根据存货+行号匹配
if(ofsTransferDetail.getRefOrderDetailId().equals(icGeneralBEntity.getPkDefdoc20().trim())&&ofsTransferDetail.getSkuCode().equals(icGeneralBEntity.getCinvbascode())){
if (ofsTransferDetail.getRefOrderDetailId().equals(icGeneralBEntity.getPkDefdoc20().trim()) && ofsTransferDetail.getSkuCode().equals(icGeneralBEntity.getCinvbascode())) {
//crowno 行号
childrenvo.setCrowno(i++ +"0");
childrenvo.setCrowno(i++ + "0");
//ofs来源单据行行号
childrenvo.setPk_defdoc20(ofsTransferDetail.getRefOrderDetailId());
//vsourcerowno 来源单据行号
childrenvo.setVsourcerowno(icGeneralBEntity.getCrowno());
break;
@ -311,10 +354,8 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
generalBillVO.setParentvo(parentvo);
generalBillVO.setChildrenvo(ChildrenList);
mapStr = "{\"GeneralBillVO\":[" + JSONUtil.toJsonStr(generalBillVO) + "]}";
ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("approveInqzCode"), mapStr);
// ZTResult ztResult = pushU8CByApiCode.pushByCode(null, mapStr);
System.out.println(ztResult);
//两层判断,一层中台转发,一层u8c返回
if ("false".equals(ztResult.getFlag())) {
@ -349,24 +390,15 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
integrationTaskLivingDetailsEntity.setPluginId(getPluginId());
saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity);
////////////////////////////////////////////////////////////////////////////////////关联上游单据
////////////////////////////////////////////////////////////////////////////////////关联上游单据
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
logger.error("推送U8C丽知OFS调拨入库订单--->U8C调拨入库订单保存签字关联U8C调拨出库单失败失败原因" + e);
ReusltStrDto reusltStrDto = JSON.parseObject(response, ReusltStrDto.class);
String ErrMessage=null;
String ErrMessage = null;
if (reusltStrDto != null) {
ErrMessage = "推送U8C丽知OFS调整入库--->U8C其它入库失败失败原因" + reusltStrDto.getErrormsg();
}else {
ErrMessage=e.getMessage();
} else {
ErrMessage = e.getMessage();
}
//失败
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
@ -403,18 +435,39 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
/**
* 查询ofs调拨入库单
*
* @param queryOfsStockinOrderRequestVO
* @return
* @throws Exception
*/
public List<StockinOrderSearchResponse.StockinOrder> queryOfsStockinOrder(QueryOfsStockinOrderRequestVO queryOfsStockinOrderRequestVO) throws Exception {
Long pageNo = 1L;
List<StockinOrderSearchResponse.StockinOrder> all = new ArrayList<>();
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
interfaceParamDto.setApi("ofs.receipt.search");
queryOfsStockinOrderRequestVO.setInternalInstructionType("TRANSFER");//入库单类型 SALES销售 EXCHANGE换货 REISSUE补发RETURN销退 PURCHASE采购 PURCHASE_RETURN采退 TRANSFER调拨 WORK_ORDER加工 OTHER其他 ADJUST调整 EXCHANGE换货
queryOfsStockinOrderRequestVO.setClientCode("LETS");
queryOfsStockinOrderRequestVO.setPageNo(pageNo);
queryOfsStockinOrderRequestVO.setPageSize(500L);
interfaceParamDto.setData(JSON.toJSONString(queryOfsStockinOrderRequestVO));
StockinOrderSearchResponse stockinOrderSearchResponse = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto);
System.out.println(stockinOrderSearchResponse);
all.addAll(stockinOrderSearchResponse.getData());
int count = stockinOrderSearchResponse.getData().size();
while (count >= 500) {//>=500,可能还有下一页
//还有下一页
pageNo++;
queryOfsStockinOrderRequestVO.setPageNo(pageNo);
interfaceParamDto.setData(JSON.toJSONString(queryOfsStockinOrderRequestVO));
StockinOrderSearchResponse stockinOrderSearchResponse1 = (StockinOrderSearchResponse) ofsUnifiedService.unified(interfaceParamDto);
all.addAll(stockinOrderSearchResponse1.getData());
count=stockinOrderSearchResponse1.getData().size();
}
if (stockinOrderSearchResponse.getData() == null || stockinOrderSearchResponse.getData().size() == 0) {
return null;
}
@ -436,6 +489,7 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
/**
* 根据自定义项19ofs调拨订单单号查询u8c调拨订单
*
* @param pkDefdoc19
* @return
*/
@ -451,13 +505,13 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
/**
* 根据调拨出库单主表自定义项19ofs调拨订单号查询调拨出库单主表
*/
public List<IcGeneralHEntity> queryIcGeneralHByPkVdefdoc19(String pkDefdoc19){
public List<IcGeneralHEntity> queryIcGeneralHByPkVdefdoc19(String pkDefdoc19) {
IcGeneralHEntity icGeneralHEntity = new IcGeneralHEntity();
icGeneralHEntity.setDr(0);
icGeneralHEntity.setPkDefdoc19(pkDefdoc19);
icGeneralHEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
List<IcGeneralHEntity> icGeneralHEntityList = icGeneralHDao.query(icGeneralHEntity);
if (icGeneralHEntityList==null||icGeneralHEntityList.size() == 0) {
if (icGeneralHEntityList == null || icGeneralHEntityList.size() == 0) {
return null;
}
return icGeneralHEntityList;
@ -466,13 +520,13 @@ public class TransferInPluginInitializer extends PluginBaseEntity {
/**
* 根据调拨出库单主表主键查询调拨出库单子表
*/
public List<IcGeneralBEntity> queryIcGeneralBByCgeneralhid(String cgeneralhid){
public List<IcGeneralBEntity> queryIcGeneralBByCgeneralhid(String cgeneralhid) {
// IcGeneralBEntity icGeneralBEntity = new IcGeneralBEntity();
// icGeneralBEntity.setDr(0);
// icGeneralBEntity.setCgeneralhid(cgeneralhid);
// icGeneralBEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
List<IcGeneralBEntity> icGeneralBEntityList = icGeneralBDao.queryAndCinvbasCode(cgeneralhid);
if (icGeneralBEntityList==null||icGeneralBEntityList.size() == 0) {
if (icGeneralBEntityList == null || icGeneralBEntityList.size() == 0) {
return null;
}
return icGeneralBEntityList;

View File

@ -96,6 +96,38 @@ public class TransferOutPluginInitializer 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;
}
@ -115,18 +147,18 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO();
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<StockoutOrderSearchResponse.StockoutOrder> data = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
System.out.println(data);
//过滤日志
//推送
queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
if(transferOutOrder.size()==0){
return;
}
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if(filterTransferOutOrders.size()==0){
return;
}
//推送U8C
implement(filterTransferOutOrders);
} catch (Exception e) {
logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start()方法报错:", e);
}
@ -139,16 +171,16 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
try {
QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO();
queryOfsStockoutOrderRequestVO.setCode(stockoutNo);
// queryOfsStockoutOrderRequestVO.setCompanyCode("SHXM");
// queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockoutOrderRequestVO.setPageNo(1L);
queryOfsStockoutOrderRequestVO.setPageSize(500L);
queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
System.out.println(transferOutOrder);
if(transferOutOrder.size()==0){
Assert.state(false, "丽知OFS调拨出库订单[出库完成]--->U8C调拨订单自动生成调拨出库单保存签字未查询到调拨出库单", stockoutNo);
}
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if(filterTransferOutOrders.size()==0){
Assert.state(false, "丽知OFS调拨出库订单[出库完成]--->U8C调拨订单自动生成调拨出库单保存签字该调拨出库单已被推送成功请勿重新推送", stockoutNo);
}
//推送U8C
implement(filterTransferOutOrders);
@ -170,13 +202,19 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO = new QueryOfsStockoutOrderRequestVO();
queryOfsStockoutOrderRequestVO.setClosedAt_start(start);
queryOfsStockoutOrderRequestVO.setClosedAt_end(end);
// queryOfsStockoutOrderRequestVO.setCompanyCode("SHXM");
// queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
queryOfsStockoutOrderRequestVO.setPageNo(1L);
queryOfsStockoutOrderRequestVO.setPageSize(500L);
List<StockoutOrderSearchResponse.StockoutOrder> data = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
System.out.println(data);
queryOfsStockoutOrderRequestVO.setStatus("900");//状态 500待同步 510已同步 700收货中 900入库完成 911作废 100订单池 200暂挂 400待合单 410待出库单出库
List<StockoutOrderSearchResponse.StockoutOrder> transferOutOrder = queryOfsStockoutOrder(queryOfsStockoutOrderRequestVO);
if(transferOutOrder.size()==0){
Assert.state(false, "丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字根据日期期间[开始时间]-[结束时间]{}-{},未查询到调拨出库单[出库完成]", startTime, endTime);
}
//过滤成功日志
List<StockoutOrderSearchResponse.StockoutOrder> filterTransferOutOrders = filterData(transferOutOrder);
if(filterTransferOutOrders.size()==0){
Assert.state(false, "丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字根据日期期间[开始时间]-[结束时间]{}-{},该调期调拨出库单[出库完成]已被推送成功,请勿重新推送", startTime, endTime);
}
//推送U8C
implement(filterTransferOutOrders);
} catch (Exception e) {
logger.error("丽知OFS调拨出库订单--->U8C调拨订单自动生成调拨出库单保存签字,start(String startTime, String endTime)方法报错:", e);
}
@ -204,7 +242,6 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
}
}
return filterTransferOutOrders;
}
/**
@ -227,17 +264,15 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
BillVO.Parentvo parentvo = new BillVO.Parentvo();
ofsCode = stockoutH.getCode();
////////////////////////////////////////////////////////////////////////////////ofs调拨订单
List<OFSTranseferOrderSearchResponse.OFSTranseferOrder> ofsTranseferOrders = queryOfsTransderOrder(stockoutH.getSourceOrderCode());
if(ofsTranseferOrders==null||ofsTranseferOrders.size()==0||ofsTranseferOrders.size()>1){
Assert.state(false,"根据调拨出库单:{},的来源单据号:{}查询OFS调拨订单为空或不唯一。请检查。",ofsCode,stockoutH.getSourceOrderCode());
if (ofsTranseferOrders == null || ofsTranseferOrders.size() == 0 || ofsTranseferOrders.size() > 1) {
Assert.state(false, "根据调拨出库单:{},的来源单据号:{}查询OFS调拨订单为空或不唯一。请检查。", ofsCode, stockoutH.getSourceOrderCode());
}
OFSTranseferOrderSearchResponse.OFSTranseferOrder ofsTranseferOrder = ofsTranseferOrders.get(0);
System.out.println(ofsTranseferOrder);
////////////////////////////////////////////////////////////////////////////////ofs调拨订单
//创建日期调拨出库创建时间
String created = stockoutH.getCreated();
format = created;
@ -270,7 +305,7 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
//vnote 备注
parentvo.setVnote(ofsTranseferOrder.getHeader().getNotes());
//pk_defdoc19
//pk_defdoc19 OFS调拨订单号
parentvo.setPk_defdoc19(ofsTranseferOrder.getHeader().getCode());
//子表
@ -288,12 +323,11 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
//ofs行id
children.setPk_defdoc20(ofsDetail.getId());
}
billVO.setParentvo(parentvo);
billVO.setChildrenvo(childrenvo);
String jsonStr = JSONUtil.toJsonStr(billVO);
mapStr = "{\"billvo\":"+jsonStr+"}";
mapStr = "{\"billvo\":" + jsonStr + "}";
ZTResult ztResult = pushU8CByApiCode.pushByCode(OverallConstant.getOverAllValue("approveqzCode"), mapStr);
System.out.println(ztResult);
//两层判断,一层中台转发,一层u8c返回
@ -329,14 +363,18 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
integrationTaskLivingDetailsEntity.setPluginId(getPluginId());
saveOrUpdateBusinessLogUtil.saveOrUpdate(integrationTaskLivingDetailsEntity);
} 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=null;
if (reusltStrDto != null) {
ErrMessage = "推送U8C丽知OFS调整出库--->U8C其它出库失败失败原因" + reusltStrDto.getErrormsg();
}else {
ErrMessage=e.getMessage();
}
IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity();
integrationTaskLivingDetailsEntity.setNewState(ProfilesActiveConstant.LOG_STATUS_N);
@ -363,19 +401,38 @@ public class TransferOutPluginInitializer extends PluginBaseEntity {
* @throws Exception
*/
public List<StockoutOrderSearchResponse.StockoutOrder> queryOfsStockoutOrder(QueryOfsStockoutOrderRequestVO queryOfsStockoutOrderRequestVO) throws Exception {
Long pageNo = 1L;
List<StockoutOrderSearchResponse.StockoutOrder> all = new ArrayList<>();
InterfaceParamDto interfaceParamDto = new InterfaceParamDto();
interfaceParamDto.setApi("ofs.shipment.search");
queryOfsStockoutOrderRequestVO.setInternalInstructionType("TRANSFER");//入库单类型 SALES销售 EXCHANGE换货 REISSUE补发RETURN销退 PURCHASE采购 PURCHASE_RETURN采退 TRANSFER调拨 WORK_ORDER加工 OTHER其他 ADJUST调整 EXCHANGE换货
queryOfsStockoutOrderRequestVO.setClientCode("LETS");
queryOfsStockoutOrderRequestVO.setPageNo(pageNo);
queryOfsStockoutOrderRequestVO.setPageSize(500L);
interfaceParamDto.setData(JSON.toJSONString(queryOfsStockoutOrderRequestVO));
SaleOutReturnMessageDto saleOutReturnMessageDto = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto);
System.out.println(saleOutReturnMessageDto);
StockoutOrderSearchResponse stockoutOrderSearchResponse = SaleOutReturnMessageDto2StockoutOrderSearchResponse(saleOutReturnMessageDto);
System.out.println(stockoutOrderSearchResponse);
all.addAll(stockoutOrderSearchResponse.getData());
int count = stockoutOrderSearchResponse.getData().size();
while (count >= 500) {//>=500,可能还有下一页
//还有下一页
pageNo++;
queryOfsStockoutOrderRequestVO.setPageNo(pageNo);
interfaceParamDto.setData(JSON.toJSONString(queryOfsStockoutOrderRequestVO));
SaleOutReturnMessageDto saleOutReturnMessageDto1 = (SaleOutReturnMessageDto) ofsUnifiedService.unified(interfaceParamDto);
StockoutOrderSearchResponse stockoutOrderSearchResponse1 = SaleOutReturnMessageDto2StockoutOrderSearchResponse(saleOutReturnMessageDto1);
all.addAll(stockoutOrderSearchResponse1.getData());
count=stockoutOrderSearchResponse1.getData().size();
}
if (stockoutOrderSearchResponse.getData() == null || stockoutOrderSearchResponse.getData().size() == 0) {
return null;
}
return stockoutOrderSearchResponse.getData();
return all;
}
/**

View File

@ -130,6 +130,10 @@ public class GeneralBillVO {
* 行备注
*/
private String vnotebody;
/**
* ofs来源行号
*/
private String pk_defdoc20;
}

View File

@ -40,7 +40,7 @@ public class TransferTest {
@Test
public void t10(){
transferOutPluginInitializer.start("LETS-SH2024082100000007");
transferOutPluginInitializer.start("LETS-SH2024082200000005");
}
@Test
@ -55,7 +55,7 @@ public class TransferTest {
}
@Test
public void t21(){
transferInPluginInitializer.start("LETS-RE2024082100000005");
transferInPluginInitializer.start("LETS-RE2024082200000001");
}