diff --git a/src/main/java/com/glxp/api/constant/BasicProcessStatus.java b/src/main/java/com/glxp/api/constant/BasicProcessStatus.java index f9a5d63e..29cbd66a 100644 --- a/src/main/java/com/glxp/api/constant/BasicProcessStatus.java +++ b/src/main/java/com/glxp/api/constant/BasicProcessStatus.java @@ -26,7 +26,7 @@ public class BasicProcessStatus { public static final int BASIC_THIRD_CORP = 5; //往来单位 public static final int BASIC_THIRD_ORDER = 6; //往来单位 public static final int NEW_ALL_DATA = 7; //所有最新数据 - public static final int NEW_ALL_BUS = 8; + public static final String NEW_ALL_BUS = "8"; public static final String NEW_ALL_ORDER = "9"; public static final String NEW_ALL_BUS_ORDER = "11"; public static final String NEW_ALL_DI = "10"; diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java index 2ac133ff..d202f19c 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java @@ -9,9 +9,15 @@ import com.glxp.api.constant.BasicProcessStatus; import com.glxp.api.constant.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.controller.purchase.PurOrderController; +import com.glxp.api.dao.basic.BasicBusTypeChangeDao; +import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.inout.*; import com.glxp.api.dao.purchase.PurOrderDao; import com.glxp.api.dao.purchase.PurOrderDetailDao; +import com.glxp.api.dao.thrsys.ThrBusTypeOriginDao; +import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.basic.EntrustReceEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.purchase.PurOrderDetailEntity; import com.glxp.api.entity.purchase.PurOrderEntity; @@ -19,8 +25,11 @@ import com.glxp.api.entity.sync.BasicDownloadStatusEntity; import com.glxp.api.entity.sync.BasicExportStatusEntity; import com.glxp.api.entity.sync.SyncDataBustypeEntity; import com.glxp.api.entity.sync.SyncDataSetEntity; +import com.glxp.api.entity.thrsys.ThrBusTypeOriginEntity; import com.glxp.api.req.sync.SpsSyncDataRequest; +import com.glxp.api.res.sync.SpSyncUdiResponse; import com.glxp.api.res.sync.SpsSyncBusOrderResponse; +import com.glxp.api.res.sync.SpsSyncBusResponse; import com.glxp.api.res.sync.SpsSyncOrderResponse; import com.glxp.api.res.system.SyncDataSetResponse; import com.glxp.api.service.inout.IoAddInoutService; @@ -44,6 +53,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -70,10 +80,10 @@ public class SpsSyncDownloadController { PurOrderDetailService purOrderDetailService; - // 下发单据,生成单据任务由中继服务,UDI管理系统下载 + // 下发单据接口 ,供给中继服务,UDI管理系统下载 @AuthRuleAnnotation("") @GetMapping("sps/sync/order") - public BaseResponse findOrder(SpsSyncDataRequest spsSyncDataRequest) { + public BaseResponse getOrder(SpsSyncDataRequest spsSyncDataRequest) { BaseResponse baseResponse = spsSyncDownloadService.findOrder(spsSyncDataRequest); BasicExportStatusEntity basicExportStatusEntity = basicExportService.findByData(ConstantStatus.SYNC_SCAN_ORDER, 0); String logs = ""; @@ -93,10 +103,35 @@ public class SpsSyncDownloadController { return baseResponse; } - // 接收中继服务、UDI管理系统上传单据 + + // 下发国家库DI数据,供给中继服务,UDI管理系统下载 + @AuthRuleAnnotation("") + @GetMapping("sps/sync/syncUdis") + public BaseResponse getDiProducts(SpsSyncDataRequest spsSyncDataRequest) { + + BaseResponse baseResponse = spsSyncDownloadService.syncUdi(spsSyncDataRequest); + BasicExportStatusEntity basicExportStatusEntity = basicExportService.findByData(ConstantStatus.SYNC_DI_PRODUCTS, 0); + String logs = ""; + if (basicExportStatusEntity != null) { + if (CollUtil.isNotEmpty(baseResponse.getData().getProductInfoEntityList())) + logs = logs + "DI信息:" + baseResponse.getData().getProductInfoEntityList().size() + "条\n"; + if (CollUtil.isNotEmpty(baseResponse.getData().getUdiCompanyEntities())) + logs = logs + "医疗器械注册人:" + baseResponse.getData().getUdiCompanyEntities().size() + "条\n"; + basicExportStatusEntity.setRemark(logs); + basicExportService.updateExportStatus(basicExportStatusEntity); + + SpSyncUdiResponse spSyncUdiResponse = baseResponse.getData(); + spSyncUdiResponse.setTaskId(basicExportStatusEntity.getId()); + baseResponse.setData(spSyncUdiResponse); + } + return baseResponse; + } + + + //接收中继服务、UDI管理系统上传单据 @AuthRuleAnnotation("sps/sync/order/upload") @PostMapping("/sps/sync/order/upload") - public BaseResponse save(@RequestBody @Valid SpsSyncOrderResponse syncDataResponse) { + public BaseResponse uploadOrder(@RequestBody @Valid SpsSyncOrderResponse syncDataResponse) { BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity(); basicDownloadStatusEntity.setId(CustomUtil.getId()); basicDownloadStatusEntity.setTaskId(syncDataResponse.getTaskId()); @@ -220,10 +255,10 @@ public class SpsSyncDownloadController { } - // 接收中级服务,UDI管理系统上传业务单据 + //接收中级服务,UDI管理系统上传业务单据 @AuthRuleAnnotation("/sps/sync/busOrder/upload") @PostMapping("/sps/sync/busOrder/upload") - public BaseResponse busOrderSava(@RequestBody @Valid SpsSyncBusOrderResponse spsSyncBusOrderResponse) { + public BaseResponse uploadBusOrder(@RequestBody @Valid SpsSyncBusOrderResponse spsSyncBusOrderResponse) { BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity(); basicDownloadStatusEntity.setId(CustomUtil.getId()); basicDownloadStatusEntity.setTaskId(spsSyncBusOrderResponse.getTaskId()); @@ -278,10 +313,83 @@ public class SpsSyncDownloadController { //接收中继服务、UDI管理系统上传单据类型 + @AuthRuleAnnotation("") + @PostMapping("sps/sync/busType/upload") + public BaseResponse uploadBusType(@RequestBody SpsSyncBusResponse syncDataResponse) { + if (syncDataResponse != null) { + SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED); + BasicDownloadStatusEntity basicDownloadStatusEntity = new BasicDownloadStatusEntity(); + basicDownloadStatusEntity.setId(CustomUtil.getId()); + basicDownloadStatusEntity.setTaskId(syncDataResponse.getTaskId()); + basicDownloadStatusEntity.setStartTime(new Date()); + basicDownloadStatusEntity.setIdDatas(ConstantStatus.SYNC_BUS_TYPE); + basicDownloadStatusEntity.setStatus(0); + basicDownloadStatusEntity.setType(BasicProcessStatus.NEW_ALL_BUS); + basicDownloadStatusEntity.setScheduleType(1); + basicDownloadService.insertDownloadStatus(basicDownloadStatusEntity); + StringBuffer remark = new StringBuffer(); +// 扫码单据类型 + if (CollUtil.isNotEmpty(syncDataResponse.getBussinessTypeEntities())) { + try { + List bussinessTypeEntities = syncDataResponse.getBussinessTypeEntities(); + BasicBussinessTypeDao mapper = batchSession.getMapper(BasicBussinessTypeDao.class); + for (BasicBussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) { + mapper.insertOrUpdate(bussinessTypeEntity); + } + batchSession.commit(); + remark.append("扫码单据类型:").append(syncDataResponse.getBussinessTypeEntities().size()).append("条\n"); + } catch (Exception e) { + e.printStackTrace(); + } + } + //业务单据 + if (CollUtil.isNotEmpty(syncDataResponse.getBusTypeChangeEntities())) { + try { + List busTypeChangeEntities = syncDataResponse.getBusTypeChangeEntities(); + BasicBusTypeChangeDao mapper = batchSession.getMapper(BasicBusTypeChangeDao.class); + busTypeChangeEntities.forEach(busTypeChangeEntity -> + { + mapper.insertOrUpdate(busTypeChangeEntity); + }); + batchSession.commit(); + remark.append("业务单据类型:").append(syncDataResponse.getBussinessTypeEntities().size()).append("条\n"); + } catch (Exception e) { + e.printStackTrace(); + } + } + //原始单据 + if (CollUtil.isNotEmpty(syncDataResponse.getThrBusTypeOriginEntities())) { + try { + List bussinessTypeEntities = syncDataResponse.getThrBusTypeOriginEntities(); + ThrBusTypeOriginDao mapper = batchSession.getMapper(ThrBusTypeOriginDao.class); + for (ThrBusTypeOriginEntity bussinessTypeEntity : bussinessTypeEntities) { + mapper.insertOrUpdate(bussinessTypeEntity); + } + batchSession.commit(); + remark.append("第三方单据类型:").append(syncDataResponse.getBussinessTypeEntities().size()).append("条\n"); + } catch (Exception e) { + e.printStackTrace(); + } + } + batchSession.close(); + basicDownloadStatusEntity.setStatus(1); + basicDownloadStatusEntity.setUpdateTime(new Date()); + basicDownloadStatusEntity.setEndTime(new Date()); + basicDownloadStatusEntity.setRemark(remark.toString()); + basicDownloadService.updateDownloadStatus(basicDownloadStatusEntity); + } + return ResultVOUtils.success("上传成功!"); + } //接收中继服务、UDI管理系统上传基础信息 + //接收中继服务、UDI管理系统上传系统设置 + + + //接收中继服务、UDI管理系统上传第三方产品信息 + + } diff --git a/src/main/java/com/glxp/api/dao/basic/BasicBusTypeChangeDao.java b/src/main/java/com/glxp/api/dao/basic/BasicBusTypeChangeDao.java index 652a0b2b..760b8d18 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicBusTypeChangeDao.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicBusTypeChangeDao.java @@ -1,6 +1,6 @@ package com.glxp.api.dao.basic; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.basic.BasicBusTypeChangeEntity; import com.glxp.api.req.basic.FilterBusTypeChangeRequest; import com.glxp.api.res.basic.BasicBusTypeChangeResponse; @@ -12,7 +12,7 @@ import java.util.List; * 单据转换表查询接口 */ @Mapper -public interface BasicBusTypeChangeDao extends BaseMapper { +public interface BasicBusTypeChangeDao extends BaseMapperPlus { /** * 查询单据转换设置列表 @@ -21,4 +21,4 @@ public interface BasicBusTypeChangeDao extends BaseMapper filterList(FilterBusTypeChangeRequest filterBusTypeChangeRequest); -} \ No newline at end of file +}