|
|
|
@ -6,14 +6,21 @@ import com.glxp.api.common.res.BaseResponse;
|
|
|
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
|
|
|
import com.glxp.api.constant.BasicProcessStatus;
|
|
|
|
|
import com.glxp.api.constant.ConstantStatus;
|
|
|
|
|
import com.glxp.api.entity.basic.ProductInfoEntity;
|
|
|
|
|
import com.glxp.api.entity.basic.UdiCompanyEntity;
|
|
|
|
|
import com.glxp.api.entity.inout.*;
|
|
|
|
|
import com.glxp.api.entity.sync.BasicExportStatusEntity;
|
|
|
|
|
import com.glxp.api.entity.sync.BasicExportStatusTimeEntity;
|
|
|
|
|
import com.glxp.api.entity.sync.SyncDataBustypeEntity;
|
|
|
|
|
import com.glxp.api.req.basic.ProductInfoFilterRequest;
|
|
|
|
|
import com.glxp.api.req.basic.UdiCompanyRequest;
|
|
|
|
|
import com.glxp.api.req.inout.FilterOrderRequest;
|
|
|
|
|
import com.glxp.api.req.sync.SpsSyncDataRequest;
|
|
|
|
|
import com.glxp.api.res.sync.SpSyncUdiResponse;
|
|
|
|
|
import com.glxp.api.res.sync.SpsSyncOrderResponse;
|
|
|
|
|
import com.glxp.api.res.system.SyncDataSetResponse;
|
|
|
|
|
import com.glxp.api.service.basic.ProductInfoService;
|
|
|
|
|
import com.glxp.api.service.basic.UdiCompanyService;
|
|
|
|
|
import com.glxp.api.service.inout.*;
|
|
|
|
|
import com.glxp.api.util.CustomUtil;
|
|
|
|
|
import com.glxp.api.util.DateUtil;
|
|
|
|
@ -52,15 +59,21 @@ public class SpsSyncDownloadService {
|
|
|
|
|
@Resource
|
|
|
|
|
IoOrderInvoiceService orderInvoiceService;
|
|
|
|
|
|
|
|
|
|
public void syncOrderUpdateTime() {
|
|
|
|
|
|
|
|
|
|
// 创建单据同步任务
|
|
|
|
|
public void syncOrderTask() {
|
|
|
|
|
|
|
|
|
|
log.info("创建单据同步任务");
|
|
|
|
|
//自动创建要求被下载已完成单据任务
|
|
|
|
|
//自动创建要求被下载已完成单据任务.
|
|
|
|
|
// 1.判断是否同步任务已存在
|
|
|
|
|
BasicExportStatusEntity basicExportStatusEntity1 = basicExportService.findByData(ConstantStatus.SYNC_SCAN_ORDER, 0);
|
|
|
|
|
if (basicExportStatusEntity1 == null) {
|
|
|
|
|
|
|
|
|
|
BaseResponse<SpsSyncOrderResponse> baseResponse = findOrder(getRequest(ConstantStatus.SYNC_SCAN_ORDER));
|
|
|
|
|
SpsSyncOrderResponse syncOrderResponse = baseResponse.getData();
|
|
|
|
|
// 2.查看是否有需要更新的数据
|
|
|
|
|
if (CollUtil.isNotEmpty(syncOrderResponse.getOrderEntities())) {
|
|
|
|
|
// 3.插入到任务表,等待获取
|
|
|
|
|
BasicExportStatusEntity orderStatusEntity = new BasicExportStatusEntity();
|
|
|
|
|
orderStatusEntity.setId(CustomUtil.getId());
|
|
|
|
|
orderStatusEntity.setIdDatas(ConstantStatus.SYNC_SCAN_ORDER);
|
|
|
|
@ -74,7 +87,29 @@ public class SpsSyncDownloadService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建国家库同步任务
|
|
|
|
|
public void syncDiProductsTask() {
|
|
|
|
|
BasicExportStatusEntity basicExportStatusEntity4 = basicExportService.findByData(ConstantStatus.SYNC_DI_PRODUCTS, 0);
|
|
|
|
|
if (basicExportStatusEntity4 == null) {
|
|
|
|
|
BaseResponse<SpSyncUdiResponse> baseResponse = syncUdi(getRequest(ConstantStatus.SYNC_DI_PRODUCTS));
|
|
|
|
|
SpSyncUdiResponse spSyncUdiResponse = baseResponse.getData();
|
|
|
|
|
if (CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList())
|
|
|
|
|
|| CollUtil.isNotEmpty(spSyncUdiResponse.getUdiCompanyEntities())) {
|
|
|
|
|
BasicExportStatusEntity basicExportStatusEntity = new BasicExportStatusEntity();
|
|
|
|
|
basicExportStatusEntity.setId(CustomUtil.getId());
|
|
|
|
|
basicExportStatusEntity.setIdDatas(ConstantStatus.SYNC_DI_PRODUCTS);
|
|
|
|
|
basicExportStatusEntity.setType(BasicProcessStatus.NEW_ALL_DI);
|
|
|
|
|
basicExportStatusEntity.setUpdateTime(new Date());
|
|
|
|
|
basicExportStatusEntity.setStatus(0);
|
|
|
|
|
basicExportStatusEntity.setStartTime(new Date());
|
|
|
|
|
basicExportStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL);
|
|
|
|
|
basicExportService.insertExportStatus(basicExportStatusEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//获取需要同步信息
|
|
|
|
|
public BaseResponse findOrder(SpsSyncDataRequest spsSyncDataRequest) {
|
|
|
|
|
SpsSyncOrderResponse syncOrderResponse = new SpsSyncOrderResponse();
|
|
|
|
|
|
|
|
|
@ -159,6 +194,33 @@ public class SpsSyncDownloadService {
|
|
|
|
|
return ResultVOUtils.success(syncOrderResponse);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取需要同步国家库数据
|
|
|
|
|
@Resource
|
|
|
|
|
ProductInfoService productInfoService;
|
|
|
|
|
@Resource
|
|
|
|
|
UdiCompanyService udiCompanyService;
|
|
|
|
|
|
|
|
|
|
//udi同步数据
|
|
|
|
|
public BaseResponse syncUdi(SpsSyncDataRequest spsSyncDataRequest) {
|
|
|
|
|
SpSyncUdiResponse spSyncUdiResponse = new SpSyncUdiResponse();
|
|
|
|
|
SyncDataSetResponse syncDataSetEntity = syncDataSetService.selectSet();
|
|
|
|
|
if (syncDataSetEntity.getDbDiProducts() == 2) {
|
|
|
|
|
ProductInfoFilterRequest productInfoFilterRequest = new ProductInfoFilterRequest();
|
|
|
|
|
BeanUtils.copyProperties(spsSyncDataRequest, productInfoFilterRequest);
|
|
|
|
|
productInfoFilterRequest.setUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
|
|
|
|
List<ProductInfoEntity> productInfoEntityList = productInfoService.syncDlUdi(productInfoFilterRequest);
|
|
|
|
|
UdiCompanyRequest udiCompanyRequest = new UdiCompanyRequest();
|
|
|
|
|
BeanUtils.copyProperties(spsSyncDataRequest, udiCompanyRequest);
|
|
|
|
|
udiCompanyRequest.setUpdateTime(spsSyncDataRequest.getLastUpdateTime());
|
|
|
|
|
List<UdiCompanyEntity> udiCompanyEntities = udiCompanyService.syncDlCompany(udiCompanyRequest);
|
|
|
|
|
spSyncUdiResponse.setUdiCompanyEntities(udiCompanyEntities);
|
|
|
|
|
spSyncUdiResponse.setProductInfoEntityList(productInfoEntityList);
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success(spSyncUdiResponse);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public SpsSyncDataRequest getRequest(String type) {
|
|
|
|
|
SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest();
|
|
|
|
|
spsSyncDataRequest.setPage(1);
|
|
|
|
|