From b1e31c25254bcc9654b1bdfb568165cea74980b7 Mon Sep 17 00:00:00 2001 From: x_z Date: Mon, 19 Dec 2022 15:34:36 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0UDI=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=8B=89=E5=8F=96=E6=95=B0=E6=8D=AE=E7=AB=8B?= =?UTF-8?q?=E5=8D=B3=E7=94=9F=E6=88=90=E5=90=8C=E6=AD=A5=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/SpsSyncDownloadService.java | 128 +++++++++++++++++- 1 file changed, 127 insertions(+), 1 deletion(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java index 15c54f5..ee24090 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java @@ -2,6 +2,7 @@ package com.glxp.sale.admin.controller.basic; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +import com.glxp.sale.admin.constant.BasicProcessStatus; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.dao.basic.UdiInfoDao; import com.glxp.sale.admin.entity.auth.AuthAdmin; @@ -52,12 +53,14 @@ import com.glxp.sale.admin.service.purchase.SupProductService; import com.glxp.sale.admin.service.receipt.ProductInfoService; import com.glxp.sale.admin.service.thrsys.*; import com.glxp.sale.admin.util.BeanUtils; +import com.glxp.sale.admin.util.CustomUtil; import com.glxp.sale.common.res.BaseResponse; import com.glxp.sale.common.util.ResultVOUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -116,6 +119,10 @@ public class SpsSyncDownloadService { SupProductService supProductService; @Resource SupCertService supCertService; + @Resource + private BasicExportTimeService basicExportTimeService; + @Resource + private BasicExportService basicExportService; public BaseResponse findProductInfo(SpsSyncDataRequest spsSyncDataRequest) { @@ -587,6 +594,125 @@ public class SpsSyncDownloadService { * @return */ public BaseResponse downloadNow(PostDownloadInfo postDownloadInfo) { - return null; + //根据请求类型,生成同步任务 + if (postDownloadInfo.getType() == 1) { + //基础信息 + BaseResponse baseResponse = findProductInfo(getRequest(ConstantStatus.SYNC_BASIC_DATA, null)); + SpsSyncDataResponse spsSyncDataResponse = baseResponse.getData(); + + if (CollUtil.isNotEmpty(spsSyncDataResponse.getThrOrderDetailEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getThrOrderEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getInvWarehouseEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getBasicUnitMaintainEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getCompanyProductRelevanceEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getThrCorpEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getUdiInfoEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getUdiRelevanceEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getThrProductsEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getThrInvWarehouseEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getAuthAdminList()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getDeptEntityList()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getNewUploadDiEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getSupCompanyEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getSupManufacturerEntities()) + || CollUtil.isNotEmpty(spsSyncDataResponse.getSupProductEntities()) + ) { + BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByType(ConstantStatus.SYNC_BASIC_DATA); + basicExportTimeService.updateExportStatus(basicExportStatusTimeEntity); + BasicExportStatusEntity basicExportStatusEntity = new BasicExportStatusEntity(); + basicExportStatusEntity.setId(CustomUtil.getId()); + basicExportStatusEntity.setIdDatas(ConstantStatus.SYNC_BASIC_DATA); + basicExportStatusEntity.setType(BasicProcessStatus.NEW_ALL_DATA); + basicExportStatusEntity.setUpdateTime(new Date()); + basicExportStatusEntity.setStatus(0); + basicExportStatusEntity.setStartTime(new Date()); + basicExportStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL); + basicExportService.insertExportStatus(basicExportStatusEntity); + } else { + return ResultVOUtils.error(501, "当前暂无更新数据需要同步!"); + } + } else if (postDownloadInfo.getType() == 2) { + //单据类型 + BaseResponse baseResponse = findBusType(getRequest(ConstantStatus.SYNC_BUS_TYPE, null)); + SpsSyncBusResponse spsSyncBusResponse = baseResponse.getData(); + if (CollUtil.isNotEmpty(spsSyncBusResponse.getBussinessLocalTypeEntities()) + || CollUtil.isNotEmpty(spsSyncBusResponse.getBussinessOriginTypeEntities()) + || CollUtil.isNotEmpty(spsSyncBusResponse.getBussinessTypeEntities()) || CollUtil.isNotEmpty(spsSyncBusResponse.getEntrustReceEntities())) { + BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByType(ConstantStatus.SYNC_BUS_TYPE); + if (basicExportStatusTimeEntity != null) { + basicExportTimeService.updateExportStatus(basicExportStatusTimeEntity); + } + BasicExportStatusEntity busTypetatusEntity = new BasicExportStatusEntity(); + busTypetatusEntity.setId(CustomUtil.getId()); + busTypetatusEntity.setIdDatas(ConstantStatus.SYNC_BUS_TYPE); + busTypetatusEntity.setType(BasicProcessStatus.NEW_ALL_BUS); + busTypetatusEntity.setUpdateTime(new Date()); + busTypetatusEntity.setStatus(0); + busTypetatusEntity.setStartTime(new Date()); + busTypetatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL); + basicExportService.insertExportStatus(busTypetatusEntity); + } else { + return ResultVOUtils.error(501, "当前暂无更新数据需要同步!"); + } + } else if (postDownloadInfo.getType() == 3) { + //扫码单据 + BaseResponse baseResponse = findOrder(getRequest(ConstantStatus.SYNC_SCAN_ORDER, null)); + SpsSyncOrderResponse syncOrderResponse = baseResponse.getData(); + if (CollUtil.isNotEmpty(syncOrderResponse.getOrderEntities())) { + BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByType(ConstantStatus.SYNC_SCAN_ORDER); + if (basicExportStatusTimeEntity != null) { + basicExportTimeService.updateExportStatus(basicExportStatusTimeEntity); + } + + BasicExportStatusEntity orderStatusEntity = new BasicExportStatusEntity(); + orderStatusEntity.setId(CustomUtil.getId()); + orderStatusEntity.setIdDatas(ConstantStatus.SYNC_SCAN_ORDER); + orderStatusEntity.setType(BasicProcessStatus.NEW_ALL_ORDER); + orderStatusEntity.setUpdateTime(new Date()); + orderStatusEntity.setStatus(0); + orderStatusEntity.setStartTime(new Date()); + orderStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL); + basicExportService.insertExportStatus(orderStatusEntity); + } else { + return ResultVOUtils.error(501, "当前暂无更新数据需要同步!"); + } + } else if (postDownloadInfo.getType() == 4) { + //国家库数据 + BaseResponse baseResponse = syncUdi(getRequest(ConstantStatus.SYNC_DI_PRODUCTS, null)); + SpSyncUdiResponse spSyncUdiResponse = baseResponse.getData(); + if (CollUtil.isNotEmpty(spSyncUdiResponse.getProductInfoEntityList()) + || CollUtil.isNotEmpty(spSyncUdiResponse.getUdiCompanyEntities())) { + BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByType(ConstantStatus.SYNC_DI_PRODUCTS); + if (basicExportStatusTimeEntity != null) { + basicExportTimeService.updateExportStatus(basicExportStatusTimeEntity); + } + 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); + } else { + return ResultVOUtils.error(501, "当前暂无更新数据需要同步!"); + } + } + return ResultVOUtils.success("同步任务创建成功!"); + } + + + public SpsSyncDataRequest getRequest(String type, String syncTime) { + SpsSyncDataRequest spsSyncDataRequest = new SpsSyncDataRequest(); + spsSyncDataRequest.setPage(1); + spsSyncDataRequest.setLimit(1); + if (StrUtil.isEmpty(syncTime)) { + BasicExportStatusTimeEntity basicExportStatusTimeEntity = basicExportTimeService.findByType(type); + spsSyncDataRequest.setLastUpdateTime(basicExportStatusTimeEntity.getLastUpdateTime()); + } else { + spsSyncDataRequest.setLastUpdateTime(syncTime); + } + return spsSyncDataRequest; } }