@ -58,6 +58,8 @@ public class ThrOrdersDlService {
SyncDataSetService syncDataSetService ;
@Resource
HttpOkClient httpOkClient ;
@Resource
private IThrBusTypeOriginService iThrBusTypeOriginService ;
public String getIpUrl ( ) {
SyncDataSetEntity syncDataSetEntity = syncDataSetService . findSet ( ) ;
@ -69,22 +71,22 @@ public class ThrOrdersDlService {
ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService . selectByGenKey ( genKey ) ;
//todo单据还没设计好
// BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(action, "orderQueryUrl");
// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) {
// WebSocketServer.sendInfo("业务单据查询接口未设置!", "sid");
// return;
// }
ThrSystemDetailEntity thrSystemDetailEntity = new ThrSystemDetailEntity ( ) ;
ThrSystemDetailEntity thrSystemDetailEntity = iThrBusTypeOriginService . findSysByAction ( action , "orderQueryUrl" ) ;
if ( thrSystemDetailEntity = = null | | ! thrSystemDetailEntity . getEnabled ( ) ) {
WebSocketServer . sendInfo ( "业务单据查询接口未设置!" , "sid" ) ;
return ;
}
if ( thrSystemDetailEntity . getThirdSysFk ( ) = = null ) {
WebSocketServer . sendInfo ( "业务单据查询接口未设置!" , "sid" ) ;
return ;
}
int page = 1 ;
int limit = 100 ;
while ( page ! = - 1 ) {
page = getOrders ( page , limit , thrSystemDetailEntity . getValue ( ) , thrSystemDetailEntity . getThirdSysFk ( ) , thrOrderImportLogEntity , action , filterThrProductsRequest ) ;
page = getOrders ( page , limit , thrSystemDetailEntity . get ThirdSysFk( ) , thrOrderImportLogEntity , action , filterThrProductsRequest ) ;
}
thrOrderImportLogService . importThrOrder ( genKey ) ;
redisUtil . set ( Constant . dlThrProducts , "false" ) ;
WebSocketServer . sendInfo ( "业务单据信息下载已完成,请刷新查看!" , "sid" ) ;
thrOrderImportLogEntity . setStatus ( BasicProcessStatus . UDIINFO_IMPORT_SUCCESS ) ;
@ -96,20 +98,28 @@ public class ThrOrdersDlService {
ThrOrderImportLogEntity thrOrderImportLogEntity = thrOrderImportLogService . selectByGenKey ( genKey ) ;
if ( erpOrderResponses ! = null & & erpOrderResponses . size ( ) > 0 ) {
for ( ThrOrderResponse erpOrderResponse : erpOrderResponses ) {
List < ThrOrderImportDetailEntity > thrOrderDetailEntities = new ArrayList < > ( ) ;
ThrOrderEntity thrOrderEntity = new ThrOrderEntity ( ) ;
BeanUtils . copyProperties ( erpOrderResponse , thrOrderEntity ) ;
thrOrderEntity . setThirdSysFk ( thirdSys ) ;
ThrOrderEntity originEntity = thrOrderService . findByUnique ( thrOrderEntity . getBillNo ( ) , thrOrderEntity . getThirdSysFk ( ) ) ;
if ( originEntity ! = null ) {
thrOrderService . deleteById ( originEntity . getId ( ) + "" ) ;
thrOrderDetailService . deleteByOrderIdFk ( originEntity . getId ( ) + "" ) ;
}
thrOrderService . insertThrOrder ( thrOrderEntity ) ;
List < ThrOrderDetailEntity > thrOrderDetailEntities = new ArrayList < > ( ) ;
for ( ThrOrderResponse . SubErpOrder subPurchase : erpOrderResponse . getSubErpOrders ( ) ) {
ThrOrderImportDetailEntity thrOrderDetailEntity = new ThrOrderImportDetailEntity ( ) ;
ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity ( ) ;
thrOrderDetailEntity . setUpdateTime ( new Date ( ) ) ;
BeanUtils . copyProperties ( subPurchase , thrOrderDetailEntity ) ;
BeanUtils . copyProperties ( erpOrderResponse , thrOrderDetailEntity ) ;
thrOrderDetailEntity . setGenKeyFk ( thrOrderImportLogEntity . getGenKey ( ) ) ;
thrOrderDetailEntity . setThirdSysFk ( thirdSys ) ;
thrOrderDetailEntity . setUpdateTime ( new Date ( ) ) ;
thrOrderDetailEntity . setOrderIdFk ( thrOrderEntity . getBillNo ( ) ) ;
thrOrderDetailEntities . add ( thrOrderDetailEntity ) ;
}
thrOrder Import DetailService. insert OrderImport Details( thrOrderDetailEntities ) ;
thrOrder DetailService. insert Thr OrderDetails( thrOrderDetailEntities ) ;
}
}
thrOrderImportLogService . importThrOrder ( genKey ) ;
redisUtil . set ( Constant . dlThrProducts , "false" ) ;
WebSocketServer . sendInfo ( "业务单据信息下载已完成,请刷新查看!" , "sid" ) ;
thrOrderImportLogEntity . setStatus ( BasicProcessStatus . UDIINFO_IMPORT_SUCCESS ) ;
@ -216,209 +226,7 @@ public class ThrOrdersDlService {
thrOrderExportLogService . updateThrOrderExportLog ( thrOrderExportLogEntity ) ;
}
//
//
// @Async
// public void genJsonFile(String genKey, ThrOrderExportRequest thrOrderExportRequest) {
// ThrOrderExportJsonResponse thrOrderExportJsonResponse = new ThrOrderExportJsonResponse();
// ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogService.selectByGenKey(genKey);
// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(thrOrderExportRequest.getBillAction());
// List<ErpOrderResponse> erpOrderResponses = thrOrderExportRequest.getErpOrderResponses();
// //选中导出
// if (thrOrderExportRequest.getErpOrderResponses() != null && thrOrderExportRequest.getErpOrderResponses().size() > 0) {
// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest();
// bussinessTypeFilterRequest.setEnabled(true);
// if (erpOrderResponses != null && erpOrderResponses.size() > 0) {
// List<ThrOrderEntity> thrOrderEntities = new ArrayList<>();
// List<ThrOrderDetailEntity> thrOrderDetailEntities = new ArrayList<>();
// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) {
// ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity);
// thrOrderEntities.add(thrOrderEntity);
// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) {
// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) {
// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity();
// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity);
// thrOrderDetailEntities.add(thrOrderDetailEntity);
// }
// }
// }
// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities);
// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities);
// }
// } else {//一键导出
// BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("orderQueryUrl", bussinessTypeEntity.getThirdSysFk());
// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) {
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL);
// thrOrderExportLogEntity.setRemark("业务单据接口地址未定义");
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// return;
// }
// if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) {
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL);
// thrOrderExportLogEntity.setRemark("第三方系统业务单据接口服务未启用");
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// return;
// }
// if (basicThirdSysDetailEntity.getFromType() == 0) {
// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
// filterThrOrderRequest.setThirdSysFk(bussinessTypeEntity.getThirdSysFk());
// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest);
// erpOrderResponses = getThrOrders(filterThrOrderRequest);
// if (erpOrderResponses != null && erpOrderResponses.size() > 0) {
// List<ThrOrderEntity> thrOrderEntities = new ArrayList<>();
// List<ThrOrderDetailEntity> thrOrderDetailEntities = new ArrayList<>();
// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) {
// ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity);
// thrOrderEntities.add(thrOrderEntity);
// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) {
// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) {
// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity();
// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity);
// thrOrderDetailEntities.add(thrOrderDetailEntity);
// }
// }
// }
// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities);
// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities);
// }
// } else {
// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest);
// List<ThrOrderEntity> thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest);
// List<ThrOrderDetailEntity> results = new ArrayList<>();
// for (ThrOrderEntity thrOrderEntity : thrOrderEntities) {
// FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest();
// filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
// List<ThrOrderDetailEntity> thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest);
// if (thrOrderDetailEntities != null) {
// results.addAll(thrOrderDetailEntities);
// }
//
// }
//
// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities);
// thrOrderExportJsonResponse.setThrOrderDetailEntities(results);
// }
//
// }
// FileWriter writer = new FileWriter(thrOrderExportLogEntity.getFilePath());
// writer.write(JSONUtil.toJsonStr(thrOrderExportJsonResponse));
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS);
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// }
//
//
// @Async
// public void uploadSpssync(String genKey, ThrOrderExportRequest thrOrderExportRequest) {
//
// ThrOrderExportJsonResponse thrOrderExportJsonResponse = new ThrOrderExportJsonResponse();
// ThrOrderExportLogEntity thrOrderExportLogEntity = thrOrderExportLogService.selectByGenKey(genKey);
// BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(thrOrderExportRequest.getBillAction());
// List<ErpOrderResponse> erpOrderResponses = thrOrderExportRequest.getErpOrderResponses();
// //选中导出
// if (thrOrderExportRequest.getErpOrderResponses() != null && thrOrderExportRequest.getErpOrderResponses().size() > 0) {
// BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest();
// bussinessTypeFilterRequest.setEnabled(true);
// if (erpOrderResponses != null && erpOrderResponses.size() > 0) {
// List<ThrOrderEntity> thrOrderEntities = new ArrayList<>();
// List<ThrOrderDetailEntity> thrOrderDetailEntities = new ArrayList<>();
// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) {
// ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity);
// thrOrderEntities.add(thrOrderEntity);
// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) {
// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) {
// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity();
// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity);
// thrOrderDetailEntities.add(thrOrderDetailEntity);
// }
// }
// }
// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities);
// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities);
// }
// } else {//一键导出
// BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("orderQueryUrl", bussinessTypeEntity.getThirdSysFk());
// if (basicThirdSysDetailEntity == null || basicThirdSysDetailEntity.getValue() == null) {
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL);
// thrOrderExportLogEntity.setRemark("业务单据接口地址未定义");
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// return;
// }
// if (!basicThirdSysDetailEntity.getEnabled() || basicThirdSysDetailEntity.getThirdSysFk() == null) {
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL);
// thrOrderExportLogEntity.setRemark("第三方系统业务单据接口服务未启用");
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// return;
// }
// if (basicThirdSysDetailEntity.getFromType() == 0) {
// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
// filterThrOrderRequest.setThirdSysFk(bussinessTypeEntity.getThirdSysFk());
// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest);
// erpOrderResponses = getThrOrders(filterThrOrderRequest);
// if (erpOrderResponses != null && erpOrderResponses.size() > 0) {
// List<ThrOrderEntity> thrOrderEntities = new ArrayList<>();
// List<ThrOrderDetailEntity> thrOrderDetailEntities = new ArrayList<>();
// for (ErpOrderResponse erpOrderResponse : erpOrderResponses) {
// ThrOrderEntity thrOrderEntity = new ThrOrderEntity();
// BeanUtils.copyProperties(erpOrderResponse, thrOrderEntity);
// thrOrderEntities.add(thrOrderEntity);
// if (erpOrderResponse.getSubErpOrders() != null && erpOrderResponse.getSubErpOrders().size() > 0) {
// for (ErpOrderResponse.SubErpOrder subErpOrder : erpOrderResponse.getSubErpOrders()) {
// ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity();
// BeanUtils.copyProperties(subErpOrder, thrOrderDetailEntity);
// thrOrderDetailEntities.add(thrOrderDetailEntity);
// }
// }
// }
// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities);
// thrOrderExportJsonResponse.setThrOrderDetailEntities(thrOrderDetailEntities);
// }
// } else {
// FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
// BeanUtils.copyProperties(thrOrderExportRequest, filterThrOrderRequest);
// List<ThrOrderEntity> thrOrderEntities = thrOrderService.filterThrOrder(filterThrOrderRequest);
// List<ThrOrderDetailEntity> results = new ArrayList<>();
// for (ThrOrderEntity thrOrderEntity : thrOrderEntities) {
// FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest();
// filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
// List<ThrOrderDetailEntity> thrOrderDetailEntities = thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest);
// if (thrOrderDetailEntities != null) {
// results.addAll(thrOrderDetailEntities);
// }
//
// }
//
// thrOrderExportJsonResponse.setThrOrderEntityList(thrOrderEntities);
// thrOrderExportJsonResponse.setThrOrderDetailEntities(results);
// }
//
// }
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS);
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// String response = httpOkClient.uCloudPost(getIpUrl() + "/spssync/thirdsys/order/upload", thrOrderExportJsonResponse);
// BaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference<BaseResponse>() {
// });
// if (baseResponse.getCode() == 20000) {
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS);
// } else {
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL);
// }
// thrOrderExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS);
// thrOrderExportLogService.updateThrOrderExportLog(thrOrderExportLogEntity);
// }
//
// public String getName(List<BussinessTypeEntity> bussinessTypeEntities, String action) {
// for (BussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) {
// if (bussinessTypeEntity.getAction().equals(action)) {
// return bussinessTypeEntity.getName();
// }
// }
// return action;
// }
//
@Async
public void uploadSmp ( String genKey , ThrOrderExportRequest thrOrderExportRequest ) {
@ -497,7 +305,7 @@ public class ThrOrdersDlService {
}
public int getOrders ( int page , int limit , String orderUrl, String thirdSys, ThrOrderImportLogEntity
public int getOrders ( int page , int limit , String thirdSys, ThrOrderImportLogEntity
thrOrderImportLogEntity , String action , FilterThrOrderRequest filterThrOrderRequest ) {
if ( filterThrOrderRequest = = null )
filterThrOrderRequest = new FilterThrOrderRequest ( ) ;
@ -513,21 +321,24 @@ public class ThrOrdersDlService {
for ( ThrOrderResponse erpOrderResponse : erpOrderResponses ) {
ThrOrderEntity thrOrderEntity = new ThrOrderEntity ( ) ;
BeanUtils . copyProperties ( erpOrderResponse , thrOrderEntity ) ;
thrOrderEntity . setThirdSysFk ( thirdSys ) ;
ThrOrderEntity originEntity = thrOrderService . findByUnique ( thrOrderEntity . getBillNo ( ) , thrOrderEntity . getThirdSysFk ( ) ) ;
if ( originEntity ! = null ) {
thrOrderService . deleteById ( originEntity . getId ( ) + "" ) ;
thrOrderDetailService . deleteByOrderIdFk ( originEntity . getId ( ) + "" ) ;
}
thrOrderEntity . setUpdateTime ( new Date ( ) ) ;
thrOrderEntity . setThirdSysFk ( thirdSys ) ;
thrOrderService . insertThrOrder ( thrOrderEntity ) ;
// thrOrderEntity = thrOrderService.findByUnique(thrOrderEntity.getBillNo(), thrOrderEntity.getThirdSysFk());
List < ThrOrderImportDetailEntity > thrOrderDetailEntities = new ArrayList < > ( ) ;
List < ThrOrderDetailEntity > thrOrderDetailEntities = new ArrayList < > ( ) ;
for ( ThrOrderResponse . SubErpOrder subPurchase : erpOrderResponse . getSubErpOrders ( ) ) {
ThrOrder Import DetailEntity thrOrderDetailEntity = new ThrOrder Import DetailEntity( ) ;
ThrOrder DetailEntity thrOrderDetailEntity = new ThrOrder DetailEntity( ) ;
BeanUtils . copyProperties ( subPurchase , thrOrderDetailEntity ) ;
BeanUtils . copyProperties ( erpOrderResponse , thrOrderDetailEntity ) ;
thrOrderDetailEntity . setGenKeyFk ( thrOrderImportLogEntity . getGenKey ( ) ) ;
thrOrderDetailEntity . setThirdSysFk ( thirdSys ) ;
thrOrderDetailEntity . setOrderIdFk ( thrOrderEntity . getBillNo ( ) ) ;
thrOrderDetailEntity . setUpdateTime ( new Date ( ) ) ;
thrOrderDetailEntities . add ( thrOrderDetailEntity ) ;
}
thrOrder Import DetailService. insert OrderImport Details( thrOrderDetailEntities ) ;
thrOrder DetailService. insert Thr OrderDetails( thrOrderDetailEntities ) ;
}
page + + ;
if ( page * limit < responseBaseResponse . getData ( ) . getTotal ( ) ) {