From 4fd3f08bf11f39cc716d2716acdd2a6ce3851e42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Mon, 6 Feb 2023 11:35:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=97=E6=9D=90=E5=AD=97=E5=85=B8=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=AF=BC=E5=87=BA=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicGenExcelService.java | 53 +-- .../controller/basic/BasicGenJsonService.java | 228 +++++----- .../BasicProductsExportLogController.java | 233 ++++++++++ .../BasicProductsImportLogController.java | 295 +++++++++++++ .../dao/basic/BasicProductsExportLogDao.java | 29 ++ .../basic/BasicProductsImportDetailDao.java | 26 ++ .../dao/basic/BasicProductsImportLogDao.java | 23 + .../api/req/basic/FilterUdiEpLogRequest.java | 15 + .../api/req/basic/FilterUdiInfoRequest.java | 64 +++ .../api/req/basic/FilterUdiIpLogRequest.java | 17 + .../api/req/basic/PostUdiInfoRequest.java | 13 + .../glxp/api/req/basic/UdiInfoRequest.java | 83 ++++ .../api/req/basic/UdiRelevanceRequest.java | 42 ++ .../basic/UdiRelevanceExportJsonResponse.java | 32 ++ .../glxp/api/res/basic/UdiRlDlResponse.java | 54 +++ .../basic/BasicProductsExportLogService.java | 21 + .../BasicProductsImportDetailService.java | 34 ++ .../basic/BasicProductsImportLogService.java | 34 ++ .../BasicProductsExportLogServiceImpl.java | 65 +++ .../BasicProductsImportDetailServiceImpl.java | 141 ++++++ .../BasicProductsImportLogServiceImpl.java | 410 ++++++++++++++++++ .../impl/ThrCorpExportLogServiceImpl.java | 5 +- .../basic/BasicProductsExportLogDao.xml | 56 +++ .../basic/BasicProductsImportDetailDao.xml | 82 ++++ .../basic/BasicProductsImportLogDao.xml | 60 +++ 25 files changed, 1979 insertions(+), 136 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/basic/BasicProductsExportLogController.java create mode 100644 src/main/java/com/glxp/api/controller/basic/BasicProductsImportLogController.java create mode 100644 src/main/java/com/glxp/api/dao/basic/BasicProductsExportLogDao.java create mode 100644 src/main/java/com/glxp/api/dao/basic/BasicProductsImportDetailDao.java create mode 100644 src/main/java/com/glxp/api/dao/basic/BasicProductsImportLogDao.java create mode 100644 src/main/java/com/glxp/api/req/basic/FilterUdiEpLogRequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/FilterUdiIpLogRequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/PostUdiInfoRequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/UdiInfoRequest.java create mode 100644 src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java create mode 100644 src/main/java/com/glxp/api/res/basic/UdiRelevanceExportJsonResponse.java create mode 100644 src/main/java/com/glxp/api/res/basic/UdiRlDlResponse.java create mode 100644 src/main/java/com/glxp/api/service/basic/BasicProductsExportLogService.java create mode 100644 src/main/java/com/glxp/api/service/basic/BasicProductsImportDetailService.java create mode 100644 src/main/java/com/glxp/api/service/basic/BasicProductsImportLogService.java create mode 100644 src/main/java/com/glxp/api/service/basic/impl/BasicProductsExportLogServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportLogServiceImpl.java create mode 100644 src/main/resources/mybatis/mapper/basic/BasicProductsExportLogDao.xml create mode 100644 src/main/resources/mybatis/mapper/basic/BasicProductsImportDetailDao.xml create mode 100644 src/main/resources/mybatis/mapper/basic/BasicProductsImportLogDao.xml diff --git a/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java b/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java index 0dba1bac7..99640c13b 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicGenExcelService.java @@ -6,13 +6,16 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.constant.BasicProcessStatus; import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.BasicCorpsExportLogEntity; +import com.glxp.api.entity.basic.BasicProductsExportLogEntity; import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.http.HttpOkClient; import com.glxp.api.req.basic.BasicCorpsExportRequest; import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; import com.glxp.api.res.basic.BasicCorpExportLogResponse; +import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; import com.glxp.api.service.basic.BasicCorpExportLogService; import com.glxp.api.service.basic.BasicCorpService; +import com.glxp.api.service.basic.BasicProductsExportLogService; import com.glxp.api.service.system.SyncDataSetService; import com.glxp.api.util.ExcelUtil; import org.springframework.beans.BeanUtils; @@ -42,8 +45,8 @@ public class BasicGenExcelService { BasicCorpExportLogService basicCorpExportLogService; @Resource BasicCorpService basicUnitMaintainService; -// @Resource -// UdiInfoExportLogService udiInfoExportLogService; + @Resource + BasicProductsExportLogService basicProductsExportLogService; // @Resource // UdiRelevanceService udiRelevanceService; // @Resource @@ -194,7 +197,7 @@ public class BasicGenExcelService { // // @Async // public void exportUdiInfo(String genKey, UdiInfoExportRequest udiInfoExportRequest) { -// UdiInfoExportLogEntity udiInfoExportLogEntity = udiInfoExportLogService.selectByGenKey(genKey); +// BasicProductsExportLogEntity udiInfoExportLogEntity = udiInfoExportLogService.selectByGenKey(genKey); // List> excelData = new ArrayList<>(); // List head = new ArrayList<>(); // head.add("udiCode"); @@ -244,36 +247,36 @@ public class BasicGenExcelService { // udiInfoExportLogService.updateUdiInfoExportLog(udiInfoExportLogEntity); // } // -// @Async -// public void uploadProductsSmpJson(String genKey, UdiRelevanceExportJsonResponse exportData) { -// UdiInfoExportLogEntity udiInfoExportLogEntity = udiInfoExportLogService.selectByGenKey(genKey); -//// String response = HttpClient.uCloudPost(spsSyncUrl + "/udiwms/basic/products/upload", exportData); -// String response = httpOkClient.uCloudPost(getIpUrl() + "/spssync/basic/udiinfo/upload", exportData); -// BaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { -// }); -// if (baseResponse.getCode() == 20000) { -// udiInfoExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); -// } else { -// udiInfoExportLogEntity.setRemark(baseResponse.getMessage()); -// udiInfoExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); -// } -// udiInfoExportLogService.updateUdiInfoExportLog(udiInfoExportLogEntity); -// } + @Async + public void uploadProductsSmpJson(String genKey, UdiRelevanceExportJsonResponse exportData) { + BasicProductsExportLogEntity basicProductsExportLogEntity = basicProductsExportLogService.selectByGenKey(genKey); +// String response = HttpClient.uCloudPost(spsSyncUrl + "/udiwms/basic/products/upload", exportData); + String response = httpOkClient.uCloudPost(getIpUrl() + "/spssync/basic/udiinfo/upload", exportData); + BaseResponse baseResponse = JSONObject.parseObject(response, new TypeReference() { + }); + if (baseResponse.getCode() == 20000) { + basicProductsExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + } else { + basicProductsExportLogEntity.setRemark(baseResponse.getMessage()); + basicProductsExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + basicProductsExportLogService.updateUdiInfoExportLog(basicProductsExportLogEntity); + } // // // @Async // public void uploadProductsSmp(String genKey, UdiInfoExportRequest udiInfoExportRequest) { -// UdiInfoExportLogEntity udiInfoExportLogEntity = udiInfoExportLogService.selectByGenKey(genKey); +// BasicProductsExportLogEntity udiInfoExportLogEntity = udiInfoExportLogService.selectByGenKey(genKey); // PostUdiInfoRequest postUdiInfoRequest = new PostUdiInfoRequest(); // postUdiInfoRequest.setGenKey(genKey); // //选中导出 // if (udiInfoExportRequest.getUuids() != null && udiInfoExportRequest.getUuids().size() > 0) { -// List udiInfoImportDetailEntities = new ArrayList<>(); +// List udiInfoImportDetailEntities = new ArrayList<>(); // List uuids = udiInfoExportRequest.getUuids(); // for (String uuid : uuids) { // FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); // filterUdiInfoRequest.setUuid(uuid); -// List genDatas = genSmpData(filterUdiInfoRequest); +// List genDatas = genSmpData(filterUdiInfoRequest); // udiInfoImportDetailEntities.addAll(genDatas); // } // postUdiInfoRequest.setDatas(udiInfoImportDetailEntities); @@ -281,7 +284,7 @@ public class BasicGenExcelService { // } else {//一键导出 // FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); // BeanUtils.copyProperties(udiInfoExportRequest, filterUdiInfoRequest); -// List genDatas = genSmpData(filterUdiInfoRequest); +// List genDatas = genSmpData(filterUdiInfoRequest); // postUdiInfoRequest.setDatas(genDatas); // } // //todo 上传SMP @@ -360,11 +363,11 @@ public class BasicGenExcelService { // return excelData; // } // -// public List genSmpData(FilterUdiInfoRequest filterUdiInfoRequest) { -// List udiInfoImportDetailEntities = new ArrayList<>(); +// public List genSmpData(FilterUdiInfoRequest filterUdiInfoRequest) { +// List udiInfoImportDetailEntities = new ArrayList<>(); // List udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); // for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { -// UdiInfoImportDetailEntity udiInfoImportDetailEntity = new UdiInfoImportDetailEntity(); +// BasicProductsImportDetailEntity udiInfoImportDetailEntity = new BasicProductsImportDetailEntity(); // udiInfoImportDetailEntity.setUdiCode(udiRelevanceResponse.getNameCode()); // udiInfoImportDetailEntity.setYbbm(udiRelevanceResponse.getYbbm()); // udiInfoImportDetailEntity.setSptm(udiRelevanceResponse.getSptm()); diff --git a/src/main/java/com/glxp/api/controller/basic/BasicGenJsonService.java b/src/main/java/com/glxp/api/controller/basic/BasicGenJsonService.java index e75c99699..4e81448cd 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicGenJsonService.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicGenJsonService.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.basic; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.file.FileWriter; import cn.hutool.core.util.ReflectUtil; @@ -7,21 +8,30 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.dao.basic.UdiProductDao; +import com.glxp.api.dao.basic.UdiRelevanceDao; import com.glxp.api.dao.thrsys.ThrCorpDao; -import com.glxp.api.entity.basic.BasicCorpEntity; -import com.glxp.api.entity.basic.BasicCorpsExportLogEntity; -import com.glxp.api.req.basic.BasicCorpsExportRequest; -import com.glxp.api.req.basic.BasicUnitMaintainFilterRequest; +import com.glxp.api.dao.thrsys.ThrProductsDao; +import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.req.basic.*; import com.glxp.api.req.thrsys.FilterThrCorpRequest; +import com.glxp.api.req.thrsys.FilterThrProductsRequest; import com.glxp.api.res.basic.BasicCorpExportLogResponse; +import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.thrsys.ThrCorpsResponse; import com.glxp.api.service.basic.BasicCorpExportLogService; import com.glxp.api.service.basic.BasicCorpService; +import com.glxp.api.service.basic.BasicProductsExportLogService; +import com.glxp.api.service.basic.UdiRelevanceService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.io.File; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; @@ -34,16 +44,16 @@ public class BasicGenJsonService { BasicCorpExportLogService corpExportLogService; @Resource BasicCorpService basicUnitMaintainService; -// @Resource -// UdiInfoExportLogService udiInfoExportLogService; -// @Resource -// UdiRelevanceService udiRelevanceService; -// @Resource -// UdiRelevanceDao udiRelevanceDao; -// @Resource -// UdiInfoDao udiInfoDao; -// @Resource -// ThrProductsDao thrProductsDao; + @Resource + BasicProductsExportLogService basicProductsExportLogService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + UdiRelevanceDao udiRelevanceDao; + @Resource + UdiProductDao udiProductDao; + @Resource + ThrProductsDao thrProductsDao; @Resource ThrCorpDao thrCorpDao; @@ -135,99 +145,99 @@ public class BasicGenJsonService { } } } -// -// /** -// * 导出json格式医疗器械信息 -// * -// * @param genKey -// * @param udiInfoExportRequest -// */ -// @Async -// public void exportUdiInfoJson(String genKey, UdiInfoExportRequest udiInfoExportRequest) { -// UdiInfoExportLogEntity udiInfoExportLogEntity = udiInfoExportLogService.selectByGenKey(genKey); -// UdiRelevanceExportJsonResponse exportData = paresDataJson(udiInfoExportRequest); -// File file = new File(udiInfoExportLogEntity.getFilePath()); -// if (!file.exists()) { -// try { -// file.createNewFile(); -// } catch (Exception e) { -// log.error("导出医疗器械信息异常", e); -// } -// } -// FileWriter writer = new FileWriter(file); -// writer.write(JSONUtil.toJsonStr(exportData)); -// udiInfoExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); -// udiInfoExportLogService.updateUdiInfoExportLog(udiInfoExportLogEntity); -// } -// -// -// public UdiRelevanceExportJsonResponse paresDataJson(UdiInfoExportRequest udiInfoExportRequest) { -// UdiRelevanceExportJsonResponse exportData = new UdiRelevanceExportJsonResponse(); -// //选中导出 -// if (CollUtil.isNotEmpty(udiInfoExportRequest.getUuids())) { -// List uuids = udiInfoExportRequest.getUuids(); -// uuids.forEach(uuid -> { -// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); -// filterUdiInfoRequest.setUuid(uuid); -// List udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); -// if (CollUtil.isNotEmpty(udiRelevanceResponses)) { -// parseUdiRelevanceResponses(exportData, udiRelevanceResponses); -// } -// }); -// } else { -// //一键导出 -// FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); -// BeanUtil.copyProperties(udiInfoExportRequest, filterUdiInfoRequest); -// filterUdiInfoRequest.setPage(null); -// List data = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); -// if (CollUtil.isNotEmpty(data)) { -// parseUdiRelevanceResponses(exportData, data); -// } -// } -// return exportData; -// } -// -// /** -// * 解析医疗器械信息查询结果,封装完整数据 -// * -// * @param exportData -// * @param udiRelevanceResponses -// */ -// private void parseUdiRelevanceResponses(UdiRelevanceExportJsonResponse exportData, List udiRelevanceResponses) { -// List uuids = new ArrayList<>(udiRelevanceResponses.size()); -// udiRelevanceResponses.forEach(udi -> { -// uuids.add(udi.getUuid()); -// }); -// List udiInfoEntities = udiInfoDao.batchSelectByUuid(uuids); -// List udiRelevanceEntities = udiRelevanceDao.batchSelectByUuid(uuids); -// if (CollUtil.isNotEmpty(udiRelevanceEntities)) { -// List thrProductsEntities = new ArrayList<>(udiRelevanceEntities.size()); -// Field[] fields = ReflectUtil.getFields(UdiRelevanceEntity.class); -// udiRelevanceEntities.forEach(udiRelevanceEntity -> { -// for (Field field : fields) { -// if (field.getName().contains("thirdId")) { -// Object fieldValue = ReflectUtil.getFieldValue(udiRelevanceEntity, field); -// if (null != fieldValue) { -// FilterThrProductsRequest filter = new FilterThrProductsRequest(); -// filter.setCode(String.valueOf(fieldValue)); -// filter.setThirdSysFk("thirdId"); -// List result = thrProductsDao.filterThrProductsRequest(filter); -// if (CollUtil.isNotEmpty(result)) { -// thrProductsEntities.addAll(result); -// } -// } -// } -// } -// }); -// if (CollUtil.isNotEmpty(thrProductsEntities)) { -// exportData.setThrProductsEntities(thrProductsEntities); -// } -// } -// List udiInfo = exportData.getUdiInfoEntities(); -// List udiRelevance = exportData.getUdiRelevanceEntities(); -// udiInfo.addAll(udiInfoEntities); -// udiRelevance.addAll(udiRelevanceEntities); -// exportData.setUdiInfoEntities(udiInfo); -// exportData.setUdiRelevanceEntities(udiRelevance); -// } + + /** + * 导出json格式医疗器械信息 + * + * @param genKey + * @param udiInfoExportRequest + */ + @Async + public void exportUdiInfoJson(String genKey, UdiInfoExportRequest udiInfoExportRequest) { + BasicProductsExportLogEntity basicProductsExportLogEntity = basicProductsExportLogService.selectByGenKey(genKey); + UdiRelevanceExportJsonResponse exportData = paresDataJson(udiInfoExportRequest); + File file = new File(basicProductsExportLogEntity.getFilePath()); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (Exception e) { + log.error("导出医疗器械信息异常", e); + } + } + FileWriter writer = new FileWriter(file); + writer.write(JSONUtil.toJsonStr(exportData)); + basicProductsExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + basicProductsExportLogService.updateUdiInfoExportLog(basicProductsExportLogEntity); + } + + + public UdiRelevanceExportJsonResponse paresDataJson(UdiInfoExportRequest udiInfoExportRequest) { + UdiRelevanceExportJsonResponse exportData = new UdiRelevanceExportJsonResponse(); + //选中导出 + if (CollUtil.isNotEmpty(udiInfoExportRequest.getUuids())) { + List uuids = udiInfoExportRequest.getUuids(); + uuids.forEach(uuid -> { + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + filterUdiRelRequest.setUuid(uuid); + List udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiRelRequest); + if (CollUtil.isNotEmpty(udiRelevanceResponses)) { + parseUdiRelevanceResponses(exportData, udiRelevanceResponses); + } + }); + } else { + //一键导出 + FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); + BeanUtil.copyProperties(udiInfoExportRequest, filterUdiRelRequest); + filterUdiRelRequest.setPage(null); + List data = udiRelevanceService.filterUdiRelevance(filterUdiRelRequest); + if (CollUtil.isNotEmpty(data)) { + parseUdiRelevanceResponses(exportData, data); + } + } + return exportData; + } + + /** + * 解析医疗器械信息查询结果,封装完整数据 + * + * @param exportData + * @param udiRelevanceResponses + */ + private void parseUdiRelevanceResponses(UdiRelevanceExportJsonResponse exportData, List udiRelevanceResponses) { + List uuids = new ArrayList<>(udiRelevanceResponses.size()); + udiRelevanceResponses.forEach(udi -> { + uuids.add(udi.getUuid()); + }); + List udiInfoEntities = udiProductDao.batchSelectByUuid(uuids); + List udiRelevanceEntities = udiRelevanceDao.batchSelectByUuid(uuids); + if (CollUtil.isNotEmpty(udiRelevanceEntities)) { + List thrProductsEntities = new ArrayList<>(udiRelevanceEntities.size()); + Field[] fields = ReflectUtil.getFields(UdiRelevanceEntity.class); + udiRelevanceEntities.forEach(udiRelevanceEntity -> { + for (Field field : fields) { + if (field.getName().contains("thirdId")) { + Object fieldValue = ReflectUtil.getFieldValue(udiRelevanceEntity, field); + if (null != fieldValue) { + FilterThrProductsRequest filter = new FilterThrProductsRequest(); + filter.setCode(String.valueOf(fieldValue)); + filter.setThirdSysFk("thirdId"); + List result = thrProductsDao.filterThrProducts(filter); + if (CollUtil.isNotEmpty(result)) { + thrProductsEntities.addAll(result); + } + } + } + } + }); + if (CollUtil.isNotEmpty(thrProductsEntities)) { + exportData.setThrProductsEntities(thrProductsEntities); + } + } + List udiInfo = exportData.getUdiProductEntities(); + List udiRelevance = exportData.getUdiRelevanceEntities(); + udiInfo.addAll(udiInfoEntities); + udiRelevance.addAll(udiRelevanceEntities); + exportData.setUdiProductEntities(udiInfo); + exportData.setUdiRelevanceEntities(udiRelevance); + } } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicProductsExportLogController.java b/src/main/java/com/glxp/api/controller/basic/BasicProductsExportLogController.java new file mode 100644 index 000000000..e96430749 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicProductsExportLogController.java @@ -0,0 +1,233 @@ +package com.glxp.api.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.entity.basic.BasicProductsExportLogEntity; +import com.glxp.api.req.basic.FilterUdiEpLogRequest; +import com.glxp.api.req.basic.FilterUdiRelRequest; +import com.glxp.api.req.basic.UdiInfoExportRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.basic.UdiRlDlResponse; +import com.glxp.api.service.basic.BasicProductsExportLogService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.util.CustomUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileInputStream; +import java.io.OutputStream; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 医疗器械信息导出 + */ +@RestController +public class BasicProductsExportLogController { + + @Resource + BasicProductsExportLogService basicProductsExportLogService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + BasicGenExcelService basicGenExcelService; + @Resource + BasicGenJsonService basicGenJsonService; + + + @GetMapping("/udiwms/products/exportLog/filter") + public BaseResponse filter(FilterUdiEpLogRequest filterUdiEpLogReques, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiInfoExportLogEntities + = basicProductsExportLogService.filterUdiInfoExportLog(filterUdiEpLogReques); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiInfoExportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiInfoExportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udiwms/products/exportLog/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + basicProductsExportLogService.deleteById(id + ""); + return ResultVOUtils.success("删除成功"); + } + + //产品信息excel文件下载 + @GetMapping("/udiwms/products/exportLog/download") + public void download(FilterUdiEpLogRequest filterUdiEpLogRequest, HttpServletResponse res) { + + List udiInfoExportLogEntities = basicProductsExportLogService.filterUdiInfoExportLog(filterUdiEpLogRequest); + BasicProductsExportLogEntity basicProductsExportLogEntity = udiInfoExportLogEntities.get(0); + try { + String filePath = basicProductsExportLogEntity.getFilePath(); + String fileName = "temp"; + if (filePath != null && filePath.length() > 0) { + String[] data = filePath.split("/"); + fileName = data[data.length - 1]; + } + res.setHeader("Content-disposition", "attachment;fileName=" + fileName); + res.setContentType("text/plain;charset=UTF-8"); + FileInputStream input = new FileInputStream(new File(filePath)); + OutputStream out = res.getOutputStream(); + byte[] b = new byte[2048]; + int len; + while ((len = input.read(b)) != -1) { + out.write(b, 0, len); + } + input.close(); + if (basicProductsExportLogEntity.getDlCount() == 0) { + basicProductsExportLogEntity.setDlCount(1); + } else { + basicProductsExportLogEntity.setDlCount(basicProductsExportLogEntity.getDlCount() + 1); + } + basicProductsExportLogService.updateUdiInfoExportLog(basicProductsExportLogEntity); + } catch (Exception ex) { + System.out.println("下载失败!"); + } + + + } + + //产品信息导出生成Excel,并创建生成记录 + @PostMapping("/udiwms/products/importLog/export") + public BaseResponse excelDownload(@RequestBody UdiInfoExportRequest udiInfoExportRequest) { + BasicProductsExportLogEntity basicProductsExportLogEntity = new BasicProductsExportLogEntity(); + basicProductsExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + String genKey = CustomUtil.getId(); + String fileName = "D:\\udiwms\\exportFile\\" + "医疗器械信息导出" + genKey + ".udi"; + basicProductsExportLogEntity.setGenKey(genKey); + basicProductsExportLogEntity.setFilePath(fileName); + basicProductsExportLogEntity.setUpdateTime(new Date()); + basicProductsExportLogEntity.setDlCount(0); + basicProductsExportLogEntity.setType(BasicProcessStatus.EXPORT_JSON); + basicProductsExportLogService.insertUdiInfoExportLog(basicProductsExportLogEntity); + //basicGenExcelService.exportUdiInfo(genKey, udiInfoExportRequest); + basicGenJsonService.exportUdiInfoJson(genKey, udiInfoExportRequest); + return ResultVOUtils.success("后台正在导出生成udi文件,请稍后刷新查看!"); + + } + + //产品信息上传SMP,并创建生成记录 + @PostMapping("/udiwms/products/importLog/uploadSmp") + public BaseResponse uploadSmp(@RequestBody UdiInfoExportRequest udiInfoExportRequest) { + + BasicProductsExportLogEntity basicProductsExportLogEntity = new BasicProductsExportLogEntity(); + basicProductsExportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_PROCESS); + String genKey = CustomUtil.getId(); + basicProductsExportLogEntity.setGenKey(genKey); + basicProductsExportLogEntity.setUpdateTime(new Date()); + basicProductsExportLogEntity.setType(BasicProcessStatus.EXPORT_SMP); + basicProductsExportLogEntity.setDlCount(0); + basicProductsExportLogService.insertUdiInfoExportLog(basicProductsExportLogEntity); + UdiRelevanceExportJsonResponse exportData = basicGenJsonService.paresDataJson(udiInfoExportRequest); + basicGenExcelService.uploadProductsSmpJson(genKey, exportData); +// basicGenExcelService.uploadProductsSmp(genKey, udiInfoExportRequest); + return ResultVOUtils.success("后台正在上传,请稍后刷新查看!"); + + } + + + //产品信息接口下载(第三方使用) + @GetMapping("/udiwms/basic/products/download") + public BaseResponse downloadProducts(FilterUdiRelRequest filterUdiRelRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if (filterUdiRelRequest.getThirdSys() != null && filterUdiRelRequest.getThirdCode() != null) { + if ("thirdId1".equals(filterUdiRelRequest.getThirdSys())) { + filterUdiRelRequest.setThirdId1(filterUdiRelRequest.getThirdCode()); + } else if ("thirdId2".equals(filterUdiRelRequest.getThirdSys())) { + filterUdiRelRequest.setThirdId2(filterUdiRelRequest.getThirdCode()); + } else if ("thirdId3".equals(filterUdiRelRequest.getThirdSys())) { + filterUdiRelRequest.setThirdId3(filterUdiRelRequest.getThirdCode()); + } else if ("thirdId4".equals(filterUdiRelRequest.getThirdSys())) { + filterUdiRelRequest.setThirdId4(filterUdiRelRequest.getThirdCode()); + } else { + filterUdiRelRequest.setThirdId(filterUdiRelRequest.getThirdCode()); + } + } + + List udiRelevanceResponses = null; + udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiRelRequest); + List udiRlDlResponses = udiRelevanceResponses.stream().map(item -> + { + UdiRlDlResponse udiRlDlResponse = new UdiRlDlResponse(); + BeanUtils.copyProperties(item, udiRlDlResponse); + return udiRlDlResponse; + }).collect(Collectors.toList()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRlDlResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + //产品信息接口查询(第三方使用) + @GetMapping("/udiwms/basic/products/pcFilter") + public BaseResponse pcFilterProducts(FilterUdiRelRequest filterUdiInfoRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + if (filterUdiInfoRequest.getThirdSys() != null && filterUdiInfoRequest.getThirdCode() != null) { + if ("thirdId1".equals(filterUdiInfoRequest.getThirdSys())) { + filterUdiInfoRequest.setThirdId1(filterUdiInfoRequest.getThirdCode()); + } else if ("thirdId2".equals(filterUdiInfoRequest.getThirdSys())) { + filterUdiInfoRequest.setThirdId2(filterUdiInfoRequest.getThirdCode()); + } else if ("thirdId3".equals(filterUdiInfoRequest.getThirdSys())) { + filterUdiInfoRequest.setThirdId3(filterUdiInfoRequest.getThirdCode()); + } else if ("thirdId4".equals(filterUdiInfoRequest.getThirdSys())) { + filterUdiInfoRequest.setThirdId4(filterUdiInfoRequest.getThirdCode()); + } else { + filterUdiInfoRequest.setThirdId(filterUdiInfoRequest.getThirdCode()); + } + } + + List udiRelevanceResponses = null; + udiRelevanceResponses = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest); + List udiRlDlResponses = udiRelevanceResponses.stream().map(item -> + { + UdiRlDlResponse udiRlDlResponse = new UdiRlDlResponse(); + BeanUtils.copyProperties(item, udiRlDlResponse); + return udiRlDlResponse; + }).collect(Collectors.toList()); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiRelevanceResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiRlDlResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + +} diff --git a/src/main/java/com/glxp/api/controller/basic/BasicProductsImportLogController.java b/src/main/java/com/glxp/api/controller/basic/BasicProductsImportLogController.java new file mode 100644 index 000000000..fb7f589fa --- /dev/null +++ b/src/main/java/com/glxp/api/controller/basic/BasicProductsImportLogController.java @@ -0,0 +1,295 @@ +package com.glxp.api.controller.basic; + +import cn.hutool.core.io.IoUtil; +import cn.hutool.json.JSONUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.entity.basic.BasicProductsImportDetailEntity; +import com.glxp.api.entity.basic.BasicProductsImportLogEntity; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import com.glxp.api.req.basic.PostUdiInfoRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; +import com.glxp.api.service.basic.BasicProductsImportDetailService; +import com.glxp.api.service.basic.BasicProductsImportLogService; +import com.glxp.api.util.CustomUtil; +import org.apache.poi.ss.usermodel.CellType; +import org.apache.poi.ss.usermodel.Row; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.sql.Date; +import java.util.List; + +/** + * 医疗器械信息导入 + */ + +@RestController +public class BasicProductsImportLogController { + + @Resource + BasicProductsImportLogService basicProductsImportLogService; + @Resource + BasicProductsImportDetailService basicProductsImportDetailService; + + + private static final String TAG = "UdiInfoImportLogControl"; + private static final Logger log = LoggerFactory.getLogger(BasicProductsImportLogController.class); + + @GetMapping("/udiwms/products/importLog/filter") + public BaseResponse filter(FilterUdiIpLogRequest filterUdiIpLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiInfoImportLogEntities + = basicProductsImportLogService.filterImportLog(filterUdiIpLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiInfoImportLogEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiInfoImportLogEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/products/importLog/filterDetail") + public BaseResponse filterDetail(FilterUdiIpLogRequest filterUdiIpLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List udiInfoImportEntities + = basicProductsImportDetailService.filterUdiInfoImport(filterUdiIpLogRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(udiInfoImportEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(udiInfoImportEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/products/importLog/deleteLog") + public BaseResponse deleteLog(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + FilterUdiIpLogRequest filterInCodeLogRequest = new FilterUdiIpLogRequest(); + filterInCodeLogRequest.setId(Integer.parseInt(id)); + List importLogEntities = basicProductsImportLogService.filterImportLog(filterInCodeLogRequest); + if (importLogEntities != null && importLogEntities.size() > 0) { + BasicProductsImportLogEntity importLogEntity = importLogEntities.get(0); + basicProductsImportLogService.deleteById(importLogEntity.getId() + ""); + basicProductsImportDetailService.deleteByGenkey(importLogEntity.getGenKey()); + } + + return ResultVOUtils.success("删除成功"); + } + + @PostMapping("/udiwms/products/importLog/delete") + public BaseResponse delete(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (basicProductsImportDetailService.deleteById(deleteRequest.getId())) + return ResultVOUtils.success("删除成功"); + else + return ResultVOUtils.error(500, "删除成功"); + } + + + //产品信息文件导入 + @PostMapping("/udiwms/products/importLog/upload") + public BaseResponse uploadProducts(@RequestParam("file") List files, @RequestParam("thirdSys") String thirdSys) { + String filePath = "D:\\udiwms\\filePath\\"; + File createFile = new File(filePath); + if (!createFile.exists()) { + createFile.mkdirs(); + } + for (int i = 0; i < files.size(); i++) { + MultipartFile file = files.get(i); + if (file.isEmpty()) { + return ResultVOUtils.error(500, "上传第" + (i++) + "个文件失败"); + } + String fileName = file.getOriginalFilename(); + try { + String fileType = fileName.substring(fileName.lastIndexOf(".")); + if (!".udi".equalsIgnoreCase(fileType) && !".LowerIn".equalsIgnoreCase(fileType)) { + return ResultVOUtils.error(500, "请上传udi文件或者LowerIn文件"); + } + //导入数据 + String jsonData = IoUtil.read(file.getInputStream(), StandardCharsets.UTF_8); + UdiRelevanceExportJsonResponse importData = JSONUtil.toBean(jsonData, UdiRelevanceExportJsonResponse.class); + + //导入日志 + BasicProductsImportLogEntity importLog = new BasicProductsImportLogEntity(); + String genKey = CustomUtil.getId(); + importLog.setGenKey(genKey); + importLog.setFromType("文件导入"); + importLog.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + + importLog.setUpdateTime(new Date(System.currentTimeMillis())); + basicProductsImportLogService.insertImportLog(importLog); + basicProductsImportDetailService.importJsonData(importData); + importLog.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + importLog.setRemark("本次耗材字典导入"+importData.getUdiProductEntities().size()+"条"); + basicProductsImportLogService.updateImportLog(importLog); + } catch (Exception e) { + log.error("产品信息导入失败", e); + } + } + return ResultVOUtils.success("上传成功"); + } + + public boolean filterEmpty(Row row) { + + if (row.getCell(0) != null) { + row.getCell(0).setCellType(CellType.STRING); + } + if (row.getCell(1) != null) { + row.getCell(1).setCellType(CellType.STRING); + } + if (row.getCell(2) != null) { + row.getCell(2).setCellType(CellType.STRING); + } + if (row.getCell(3) != null) { + row.getCell(3).setCellType(CellType.STRING); + } + if (row.getCell(4) != null) { + row.getCell(4).setCellType(CellType.STRING); + } + if (row.getCell(5) != null) { + row.getCell(5).setCellType(CellType.STRING); + } + if (row.getCell(6) != null) { + row.getCell(6).setCellType(CellType.STRING); + } + if ((row.getCell(0) == null && row.getCell(1) == null && row.getCell(2) == null + && row.getCell(3) == null && row.getCell(4) == null && row.getCell(5) == null && row.getCell(6) == null) || + ( + (row.getCell(0) != null && row.getCell(1) != null && row.getCell(2) != null + && row.getCell(3) != null && row.getCell(4) != null && row.getCell(5) != null && row.getCell(6) != null) && + ("".equals(row.getCell(0).getStringCellValue()) + && "".equals(row.getCell(1).getStringCellValue()) + && "".equals(row.getCell(2).getStringCellValue()) + && "".equals(row.getCell(3).getStringCellValue()) + && "".equals(row.getCell(4).getStringCellValue()) + && "".equals(row.getCell(5).getStringCellValue()) + && "".equals(row.getCell(6).getStringCellValue())) + )) { + return true; + } + return false; + } + + + //产品信息接口上传 + @PostMapping("/udiwms/basic/products/upload") + public BaseResponse postUdiInfo(@RequestBody PostUdiInfoRequest postUdiInfoRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + String genKey = postUdiInfoRequest.getGenKey(); + if (genKey == null) { + genKey = CustomUtil.getId(); + } + BasicProductsImportLogEntity basicProductsImportLogEntity = basicProductsImportLogService.selectByGenKey(genKey); + List udiInfoImportEntities = postUdiInfoRequest.getDatas(); + if (udiInfoImportEntities != null) { + for (BasicProductsImportDetailEntity udiInfoImportEntity : udiInfoImportEntities) { + udiInfoImportEntity.setGenKeyFk(genKey); + udiInfoImportEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS); + udiInfoImportEntity.setUpdateTime(new java.util.Date()); + basicProductsImportDetailService.insertUdiInfoImport(udiInfoImportEntity); + } + } + if (basicProductsImportLogEntity == null) { + basicProductsImportLogEntity = new BasicProductsImportLogEntity(); + basicProductsImportLogEntity.setGenKey(genKey); + basicProductsImportLogEntity.setFromType("接口上传"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + basicProductsImportLogEntity.setUpdateTime(new Date(System.currentTimeMillis())); + basicProductsImportLogService.insertImportLog(basicProductsImportLogEntity); + } else { + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + basicProductsImportLogService.updateImportLog(basicProductsImportLogEntity); + } + basicProductsImportLogService.importUdiInfo(genKey); + return ResultVOUtils.success("上传成功"); + } + + + //扫码精灵产品信息接口上传 + @PostMapping("/udiwms/basic/products/srUpload") + public BaseResponse postSrUdiInfo(@RequestBody PostUdiInfoRequest postUdiInfoRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + String genKey = postUdiInfoRequest.getGenKey(); + if (genKey == null) { + genKey = CustomUtil.getId(); + } + BasicProductsImportLogEntity basicProductsImportLogEntity = basicProductsImportLogService.selectByGenKey(genKey); + List udiInfoImportEntities = postUdiInfoRequest.getDatas(); + if (udiInfoImportEntities != null) { + for (BasicProductsImportDetailEntity udiInfoImportEntity : udiInfoImportEntities) { + udiInfoImportEntity.setGenKeyFk(genKey); + udiInfoImportEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS); + udiInfoImportEntity.setUpdateTime(new java.util.Date()); + basicProductsImportDetailService.insertUdiInfoImport(udiInfoImportEntity); + } + } + if (basicProductsImportLogEntity == null) { + basicProductsImportLogEntity = new BasicProductsImportLogEntity(); + basicProductsImportLogEntity.setGenKey(genKey); + basicProductsImportLogEntity.setFromType("扫码精灵上传"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + basicProductsImportLogEntity.setUpdateTime(new Date(System.currentTimeMillis())); + basicProductsImportLogService.insertImportLog(basicProductsImportLogEntity); + } else { + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_UNPROCESS); + basicProductsImportLogService.updateImportLog(basicProductsImportLogEntity); + } + basicProductsImportLogService.importUdiInfo(genKey); + return ResultVOUtils.success("上传成功"); + } + + //供应商平台产品信息下载 + @GetMapping("/udiwms/products/smp/download") + public BaseResponse downloadSmpUdi(FilterUdiIpLogRequest filterUdiIpLogRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String genKey = CustomUtil.getId(); + BasicProductsImportLogEntity basicProductsImportLogEntity = new BasicProductsImportLogEntity(); + basicProductsImportLogEntity.setGenKey(genKey); + basicProductsImportLogEntity.setFromType("供应商平台下载"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS); + basicProductsImportLogEntity.setUpdateTime(new java.util.Date()); + basicProductsImportLogService.insertImportLog(basicProductsImportLogEntity); + basicProductsImportLogService.downloadSmpUdiInfo(genKey, filterUdiIpLogRequest.getLastUpdateTime()); + return ResultVOUtils.success("后台已开始下载并更新,请稍后刷新查看!"); + + } + +} diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductsExportLogDao.java b/src/main/java/com/glxp/api/dao/basic/BasicProductsExportLogDao.java new file mode 100644 index 000000000..04fcc4c97 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductsExportLogDao.java @@ -0,0 +1,29 @@ +package com.glxp.api.dao.basic; + + +import com.glxp.api.entity.basic.BasicProductsExportLogEntity; +import com.glxp.api.req.basic.FilterUdiEpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BasicProductsExportLogDao { + + List filterUdiInfoExportLog(FilterUdiEpLogRequest filterInCodeLogRequest); + + boolean insertUdiInfoExportLog(BasicProductsExportLogEntity udiInfoImportEntity); + + boolean updateUdiInfoExportLog(BasicProductsExportLogEntity udiInfoImportEntity); + + boolean deleteById(@Param("id") String id); + + /** + * 根据ID查询文件位置 + * + * @param id + * @return + */ + String selectFilePathById(@Param("id") String id); +} diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductsImportDetailDao.java b/src/main/java/com/glxp/api/dao/basic/BasicProductsImportDetailDao.java new file mode 100644 index 000000000..6e2d65c11 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductsImportDetailDao.java @@ -0,0 +1,26 @@ +package com.glxp.api.dao.basic; + + +import com.glxp.api.entity.basic.BasicProductsImportDetailEntity; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BasicProductsImportDetailDao { + + List filterUdiInfoImport(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertUdiInfoImport(BasicProductsImportDetailEntity udiInfoImportEntity); + + boolean updateUdiInfoImport(BasicProductsImportDetailEntity udiInfoImportEntity); + + boolean insertUdiInfoImports(@Param("udiInfos") List udiInfos); + + boolean deleteById(@Param("id") String id); + + boolean deleteByGenkey(@Param("genKey") String genKey); + +} diff --git a/src/main/java/com/glxp/api/dao/basic/BasicProductsImportLogDao.java b/src/main/java/com/glxp/api/dao/basic/BasicProductsImportLogDao.java new file mode 100644 index 000000000..849ffab18 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/basic/BasicProductsImportLogDao.java @@ -0,0 +1,23 @@ +package com.glxp.api.dao.basic; + + +import com.glxp.api.entity.basic.BasicProductsImportLogEntity; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BasicProductsImportLogDao { + + List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertImportLog(BasicProductsImportLogEntity basicProductsImportLogEntity); + + boolean updateImportLog(BasicProductsImportLogEntity basicProductsImportLogEntity); + + boolean deleteById(@Param("id") String id); + + +} diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiEpLogRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiEpLogRequest.java new file mode 100644 index 000000000..95d802700 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiEpLogRequest.java @@ -0,0 +1,15 @@ +package com.glxp.api.req.basic; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +@Data +public class FilterUdiEpLogRequest extends ListPageRequest { + + + + private String genKey; + private Integer status; + private Integer type; +} diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java new file mode 100644 index 000000000..22f4784a4 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiInfoRequest.java @@ -0,0 +1,64 @@ +package com.glxp.api.req.basic; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterUdiInfoRequest extends ListPageRequest { + + private String ylqxzcrbarmc; + private String cpmctymc; + private String nameCode; + private String uuid; + private String ggxh; + private String thirdId; + private String id; + + private String thirdId1; + private String thirdId2; + private String thirdId3; + private String thirdId4; + + + private String thirdCode; + private String thirdSys; + + private String lastUpdateTime; + private String zczbhhzbapzbh; + private Integer diType; + + + private String unionCode; + private String udiCode; + private String thrPiId; + + + private Boolean isCheck; + + private Integer filterType; //0:全部,1.对照完成,2.未对照DI,3.未对照产品编码,4.未对照其他产品编码 + + private Integer lockStatus; + private String customerId; + private String udplatCode; + private String mainId; + private Boolean isAdavence; + private String corpId; + private String billType; + + private String ybbm; + private String sptm; + private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 + + private Boolean isDisable; + List relIds; + private String uniqueNameCode; + private String supName; + private String unitFk; + private String originUuid; + private String relId; + private String companyName; + +} diff --git a/src/main/java/com/glxp/api/req/basic/FilterUdiIpLogRequest.java b/src/main/java/com/glxp/api/req/basic/FilterUdiIpLogRequest.java new file mode 100644 index 000000000..e08c0dbde --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/FilterUdiIpLogRequest.java @@ -0,0 +1,17 @@ +package com.glxp.api.req.basic; + + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + + +@Data +public class FilterUdiIpLogRequest extends ListPageRequest { + + private Integer id; + private String genKey; + private Integer status; + private String thirdSysFk; + private String fromType; + private String lastUpdateTime; +} diff --git a/src/main/java/com/glxp/api/req/basic/PostUdiInfoRequest.java b/src/main/java/com/glxp/api/req/basic/PostUdiInfoRequest.java new file mode 100644 index 000000000..af6208547 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/PostUdiInfoRequest.java @@ -0,0 +1,13 @@ +package com.glxp.api.req.basic; + + +import com.glxp.api.entity.basic.BasicProductsImportDetailEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class PostUdiInfoRequest { + private String genKey; + private List datas; +} diff --git a/src/main/java/com/glxp/api/req/basic/UdiInfoRequest.java b/src/main/java/com/glxp/api/req/basic/UdiInfoRequest.java new file mode 100644 index 000000000..5fb73dad8 --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/UdiInfoRequest.java @@ -0,0 +1,83 @@ +package com.glxp.api.req.basic; + +import lombok.Data; + +@Data +public class UdiInfoRequest { + private Integer id; + private String nameCode; + private String packRatio; + private String packLevel; + private Integer bhxjsl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; + private String bhxjcpbm; + private String sjcpbm; // + private String bzcj; + private String addType; + private String deviceRecordKey; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; + private String uuid; + private Integer versionNumber; + private Integer diType; + private String thirdId; + private String thirdName; + private String ybbm; + private String sptm; + private String manufactory; + private String measname; + private Integer productType; + private String scbssfbhph; + private String scbssfbhxlh; + private String scbssfbhscrq; + private String scbssfbhsxrq; + private String cpms; + private String spmc; + private String originUuid; + + //本地生成信息 + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String udi; + private String code; + private Integer count; + private String warehouseCode; + private String udplatCode; + private String relId;//关联ID主键 + private Integer status; + private String supId; + + private Boolean isCheck; + private boolean allowNoBatch; + private boolean allowNoExpire; + private boolean allowNoProduct; + + private String price; + private String cplx; + private String hchzsb; + + //产品代理商 + private String cpdls; + + + private String basicPrductRemak1; + private String basicPrductRemak2; + private String basicPrductRemak3; + private String basicPrductRemak4; + private String basicPrductRemak5; + private String basicPrductRemak6; + private String basicPrductRemak7; + private String basicPrductRemak8; + +} diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java new file mode 100644 index 000000000..2de29a4bd --- /dev/null +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceRequest.java @@ -0,0 +1,42 @@ +package com.glxp.api.req.basic; + +import lombok.Data; + +@Data +public class UdiRelevanceRequest { + + private String id; + private String thirdId; + private String thirdName; + private String uuid; + private Boolean isUseDy; + private String updateTime; + private String thirdId1; + private String thirdId2; + private String thirdId3; + private String thirdId4; + private String thirdName1; + private String thirdName2; + private String thirdName3; + private String thirdName4; + private String manufactory; + private String measname; + private String ybbm; + private String sptm; + private Boolean isDisable; + private Boolean isLock; + private String mainId; + private String mainName; + private Integer lockStatus; + private String udplatCode; + private Boolean isAdavence; + private String supName; + private String originUuid; + private String price; + private String modifyTime; //修改时间 + + private Boolean useMuti; //是否多次使用 + private Integer useNum; //最小包装单元可使用次数 + + +} diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceExportJsonResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceExportJsonResponse.java new file mode 100644 index 000000000..e2b441753 --- /dev/null +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceExportJsonResponse.java @@ -0,0 +1,32 @@ +package com.glxp.api.res.basic; + + +import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * 医疗器械信息导出实体类 + */ +@Data +public class UdiRelevanceExportJsonResponse { + + List udiProductEntities; + + List udiRelevanceEntities; + + //第三方产品信息 + List thrProductsEntities; + + public UdiRelevanceExportJsonResponse() { + this.udiProductEntities = new ArrayList<>(); + this.udiRelevanceEntities = new ArrayList<>(); + this.udiRlSupEntityList = new ArrayList<>(); + this.thrProductsEntities = new ArrayList<>(); + } + + private List udiRlSupEntityList; +} diff --git a/src/main/java/com/glxp/api/res/basic/UdiRlDlResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRlDlResponse.java new file mode 100644 index 000000000..4e57f5122 --- /dev/null +++ b/src/main/java/com/glxp/api/res/basic/UdiRlDlResponse.java @@ -0,0 +1,54 @@ +package com.glxp.api.res.basic; + +import lombok.Data; + +@Data +public class UdiRlDlResponse { + + private int id; + private String thirdId; + private String thirdName; + private String uuid; + private String nameCode; + private String packLevel; + private String packRatio; + private Integer bhxjsl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; + private String bhxjcpbm; + private String sjcpbm; // + private String bzcj; + private String addType; + private String deviceRecordKey; + private int isUseDy; + private String cpmctymc; + private String cplb; + private String flbm; + private String ggxh; + private String qxlb; + private String tyshxydm; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String ylqxzcrbarywmc; + private String sydycpbs; + private int versionNumber; + private int diType; + private String thirdId1; + private String thirdName1; + private String thirdId2; + private String thirdName2; + private String thirdId3; + private String thirdName3; + private String thirdId4; + private String thirdName4; + private String ybbm; + private String sptm; + private Integer productType; + private String mainId; + + public Integer getProductType() { + if (productType == null) return 0 + ; + return productType; + } +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicProductsExportLogService.java b/src/main/java/com/glxp/api/service/basic/BasicProductsExportLogService.java new file mode 100644 index 000000000..db096ddb1 --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicProductsExportLogService.java @@ -0,0 +1,21 @@ +package com.glxp.api.service.basic; + + + +import com.glxp.api.entity.basic.BasicProductsExportLogEntity; +import com.glxp.api.req.basic.FilterUdiEpLogRequest; + +import java.util.List; + +public interface BasicProductsExportLogService { + + BasicProductsExportLogEntity selectByGenKey(String genKey); + List filterUdiInfoExportLog(FilterUdiEpLogRequest filterInCodeLogRequest); + + boolean insertUdiInfoExportLog(BasicProductsExportLogEntity udiInfoImportEntity); + + boolean updateUdiInfoExportLog(BasicProductsExportLogEntity udiInfoImportEntity); + + boolean deleteById( String id); + +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicProductsImportDetailService.java b/src/main/java/com/glxp/api/service/basic/BasicProductsImportDetailService.java new file mode 100644 index 000000000..cceb5fd0e --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicProductsImportDetailService.java @@ -0,0 +1,34 @@ +package com.glxp.api.service.basic; + + + +import com.glxp.api.entity.basic.BasicProductsImportDetailEntity; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; + +import java.util.List; + +public interface BasicProductsImportDetailService { + + + List filterUdiInfoImport(FilterUdiIpLogRequest filterInCodeLogRequest); + + + boolean insertUdiInfoImport(BasicProductsImportDetailEntity udiInfoImportEntity); + + boolean updateUdiInfoImport(BasicProductsImportDetailEntity udiInfoImportEntity); + + boolean insertUdiInfoImports(List udiInfoImportEntities); + + boolean deleteById(String id); + + boolean deleteByGenkey(String genKey); + + /** + * 导入医疗器械信息 + * + * @param udiRelevanceExportJsonResponse + */ + void importJsonData(UdiRelevanceExportJsonResponse udiRelevanceExportJsonResponse); + +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicProductsImportLogService.java b/src/main/java/com/glxp/api/service/basic/BasicProductsImportLogService.java new file mode 100644 index 000000000..bbccfd62c --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/BasicProductsImportLogService.java @@ -0,0 +1,34 @@ +package com.glxp.api.service.basic; + + + +import com.glxp.api.entity.basic.BasicProductsImportDetailEntity; +import com.glxp.api.entity.basic.BasicProductsImportLogEntity; +import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import com.glxp.api.res.basic.UdiRelevanceResponse; + +import java.util.List; + +public interface BasicProductsImportLogService { + + + BasicProductsImportLogEntity selectByGenKey(String genKey); + + List filterImportLog(FilterUdiIpLogRequest filterInCodeLogRequest); + + boolean insertImportLog(BasicProductsImportLogEntity basicProductsImportLogEntity); + + boolean updateImportLog(BasicProductsImportLogEntity basicProductsImportLogEntity); + + boolean deleteById(String id); + //导入产品信息文件,生成产品信息,更新或插入对照表 + void importUdiInfo(String genKey); + + void updateValue(UdiRelevanceEntity udiRelevanceEntity, BasicProductsImportDetailEntity basicProductsImportDetailEntity, + BasicProductsImportLogEntity basicProductsImportLogEntity, String mainId); + //下载供应商产品信息 + void downloadSmpUdiInfo(String genKey, String lastUpdateTime); + + List getUdiInfo(int page, int limit, String lastUpdateTime); +} diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicProductsExportLogServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicProductsExportLogServiceImpl.java new file mode 100644 index 000000000..2bdfe138d --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicProductsExportLogServiceImpl.java @@ -0,0 +1,65 @@ +package com.glxp.api.service.basic.impl; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.basic.BasicProductsExportLogDao; +import com.glxp.api.entity.basic.BasicProductsExportLogEntity; +import com.glxp.api.req.basic.FilterUdiEpLogRequest; +import com.glxp.api.service.basic.BasicProductsExportLogService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class BasicProductsExportLogServiceImpl implements BasicProductsExportLogService { + + @Resource + BasicProductsExportLogDao udiInfoExportLogDao; + + @Override + public BasicProductsExportLogEntity selectByGenKey(String genKey) { + FilterUdiEpLogRequest filterUdiEpLogRequest = new FilterUdiEpLogRequest(); + filterUdiEpLogRequest.setGenKey(genKey); + List data = udiInfoExportLogDao.filterUdiInfoExportLog(filterUdiEpLogRequest); + if (data != null) + return data.get(0); + else + return null; + } + + @Override + public List filterUdiInfoExportLog(FilterUdiEpLogRequest filterInCodeLogRequest) { + if (filterInCodeLogRequest == null) { + return Collections.emptyList(); + } + if (filterInCodeLogRequest.getPage() != null) { + int offset = (filterInCodeLogRequest.getPage() - 1) * filterInCodeLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterInCodeLogRequest.getLimit()); + } + List data = udiInfoExportLogDao.filterUdiInfoExportLog(filterInCodeLogRequest); + return data; + } + + @Override + public boolean insertUdiInfoExportLog(BasicProductsExportLogEntity udiInfoImportEntity) { + return udiInfoExportLogDao.insertUdiInfoExportLog(udiInfoImportEntity); + } + + @Override + public boolean updateUdiInfoExportLog(BasicProductsExportLogEntity udiInfoImportEntity) { + return udiInfoExportLogDao.updateUdiInfoExportLog(udiInfoImportEntity); + } + + @Override + public boolean deleteById(String id) { + //删除日志同步删除磁盘文件 + String filePath = udiInfoExportLogDao.selectFilePathById(id); + if (StrUtil.isNotBlank(filePath)) { + FileUtil.del(filePath); + } + return udiInfoExportLogDao.deleteById(id); + } +} diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportDetailServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportDetailServiceImpl.java new file mode 100644 index 000000000..7cf982635 --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportDetailServiceImpl.java @@ -0,0 +1,141 @@ +package com.glxp.api.service.basic.impl; + +import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.basic.BasicProductsImportDetailDao; +import com.glxp.api.dao.basic.UdiProductDao; +import com.glxp.api.dao.basic.UdiRelevanceDao; +import com.glxp.api.dao.basic.UdiRlSupDao; +import com.glxp.api.dao.thrsys.ThrProductsDao; +import com.glxp.api.entity.basic.*; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import com.glxp.api.res.basic.UdiRelevanceExportJsonResponse; +import com.glxp.api.service.basic.BasicProductsImportDetailService; +import org.apache.ibatis.session.ExecutorType; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.apache.ibatis.session.TransactionIsolationLevel; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class BasicProductsImportDetailServiceImpl implements BasicProductsImportDetailService { + + @Resource + BasicProductsImportDetailDao udiInfoImportDao; + @Resource + UdiProductDao udiProductDao; + @Resource + UdiRelevanceDao udiRelevanceDao; + @Resource + ThrProductsDao thrProductsDao; + @Resource + SqlSessionFactory sqlSessionFactory; + + @Override + public List filterUdiInfoImport(FilterUdiIpLogRequest filterInCodeLogRequest) { + if (filterInCodeLogRequest == null) { + return Collections.emptyList(); + } + if (filterInCodeLogRequest.getPage() != null) { + int offset = (filterInCodeLogRequest.getPage() - 1) * filterInCodeLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterInCodeLogRequest.getLimit()); + } + List data = udiInfoImportDao.filterUdiInfoImport(filterInCodeLogRequest); + return data; + + } + + + @Override + public boolean insertUdiInfoImport(BasicProductsImportDetailEntity udiInfoImportEntity) { + return udiInfoImportDao.insertUdiInfoImport(udiInfoImportEntity); + } + + @Override + public boolean updateUdiInfoImport(BasicProductsImportDetailEntity udiInfoImportEntity) { + return udiInfoImportDao.updateUdiInfoImport(udiInfoImportEntity); + } + + @Override + public boolean insertUdiInfoImports(List udiInfoImportEntities) { + return udiInfoImportDao.insertUdiInfoImports(udiInfoImportEntities); + } + + @Override + public boolean deleteById(String id) { + return udiInfoImportDao.deleteById(id); + } + + @Override + public boolean deleteByGenkey(String genKey) { + return udiInfoImportDao.deleteByGenkey(genKey); + } + + @Override + @Async + public void importJsonData(UdiRelevanceExportJsonResponse udiRelevanceExportJsonResponse) { + if (CollUtil.isNotEmpty(udiRelevanceExportJsonResponse.getUdiProductEntities())) { + + //基础表导入 + SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED); + if (CollUtil.isNotEmpty(udiRelevanceExportJsonResponse.getUdiProductEntities())) { + List corpList = udiRelevanceExportJsonResponse.getUdiProductEntities(); + UdiProductDao mapper = batchSession.getMapper(UdiProductDao.class); + for (UdiProductEntity udiProductEntity : corpList) { + mapper.insertUdiInfo(udiProductEntity); + } + batchSession.commit(); + } + batchSession.close(); +// udiInfoDao.importUdiInfo(udiRelevanceExportJsonResponse.getUdiInfoEntities()); + + } + + //关联表导入 + if (CollUtil.isNotEmpty(udiRelevanceExportJsonResponse.getUdiRelevanceEntities())) { + SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED); + List corpList = udiRelevanceExportJsonResponse.getUdiRelevanceEntities(); + UdiRelevanceDao mapper = batchSession.getMapper(UdiRelevanceDao.class); + for (UdiRelevanceEntity basicUnitMaintainEntity : corpList) { + mapper.insertUdiRelevance(basicUnitMaintainEntity); + } + batchSession.commit(); + batchSession.close(); +// udiRelevanceDao.importUdiRelevance(udiRelevanceExportJsonResponse.getUdiRelevanceEntities()); + } + + //第三方产品信息导入 + if (CollUtil.isNotEmpty(udiRelevanceExportJsonResponse.getThrProductsEntities())) { + + SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED); + List corpList = udiRelevanceExportJsonResponse.getThrProductsEntities(); + ThrProductsDao mapper = batchSession.getMapper(ThrProductsDao.class); + for (ThrProductsEntity basicUnitMaintainEntity : corpList) { + mapper.insertThrProducts(basicUnitMaintainEntity); + } + batchSession.commit(); + batchSession.close(); +// thrProductsDao.importThrProductss(udiRelevanceExportJsonResponse.getThrProductsEntities()); + } + + //供应商关联表导入 + if (CollUtil.isNotEmpty(udiRelevanceExportJsonResponse.getUdiRlSupEntityList())) { + + SqlSession batchSession = sqlSessionFactory.openSession(ExecutorType.BATCH, TransactionIsolationLevel.READ_COMMITTED); + List udiRlSupEntityList = udiRelevanceExportJsonResponse.getUdiRlSupEntityList(); + UdiRlSupDao mapper = batchSession.getMapper(UdiRlSupDao.class); + for (UdiRlSupEntity udiRlSupEntity : udiRlSupEntityList) { + mapper.importCompanyProductRelevance(udiRlSupEntity); + } + batchSession.commit(); + batchSession.close(); + } + + } +} diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportLogServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportLogServiceImpl.java new file mode 100644 index 000000000..fafdfa04a --- /dev/null +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicProductsImportLogServiceImpl.java @@ -0,0 +1,410 @@ +package com.glxp.api.service.basic.impl; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.constant.BasicProcessStatus; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.dao.basic.BasicProductsImportLogDao; +import com.glxp.api.entity.basic.BasicProductsImportDetailEntity; +import com.glxp.api.entity.basic.BasicProductsImportLogEntity; +import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.basic.UdiRelevanceEntity; +import com.glxp.api.entity.system.SystemParamConfigEntity; +import com.glxp.api.entity.thrsys.ThrProductsEntity; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.http.NmpaUdiClient; +import com.glxp.api.req.basic.FilterUdiIpLogRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.basic.BasicProductsImportDetailService; +import com.glxp.api.service.basic.BasicProductsImportLogService; +import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.service.thrsys.ThrDataService; +import com.glxp.api.service.thrsys.ThrSystemService; +import com.glxp.api.util.CustomUtil; +import com.glxp.api.util.DateUtil; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.HttpClient; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +@Service +public class BasicProductsImportLogServiceImpl implements BasicProductsImportLogService { + @Resource + BasicProductsImportLogDao udiInfoImportLogDao; + @Resource + NmpaUdiClient nmpaUdiClient; + @Resource + BasicProductsImportDetailService basicProductsImportDetailService; + @Resource + UdiProductService udiProductService; + @Resource + ThrSystemService thrSystemService; + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + ThrDataService thrDataService; + @Resource + GennerOrderUtils gennerOrderUtils; + @Resource + SystemParamConfigService systemParamConfigService; + + + @Override + public BasicProductsImportLogEntity selectByGenKey(String genKey) { + FilterUdiIpLogRequest filterUdiIpLogRequest = new FilterUdiIpLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List data = udiInfoImportLogDao.filterImportLog(filterUdiIpLogRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public List filterImportLog(FilterUdiIpLogRequest filterUdiIpLogRequest) { + if (filterUdiIpLogRequest == null) { + return Collections.emptyList(); + } + if (filterUdiIpLogRequest.getPage() != null) { + int offset = (filterUdiIpLogRequest.getPage() - 1) * filterUdiIpLogRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiIpLogRequest.getLimit()); + } + List data = udiInfoImportLogDao.filterImportLog(filterUdiIpLogRequest); + return data; + } + + @Override + public boolean insertImportLog(BasicProductsImportLogEntity basicProductsImportLogEntity) { + return udiInfoImportLogDao.insertImportLog(basicProductsImportLogEntity); + } + + @Override + public boolean updateImportLog(BasicProductsImportLogEntity basicProductsImportLogEntity) { + return udiInfoImportLogDao.updateImportLog(basicProductsImportLogEntity); + } + + + @Override + public boolean deleteById(String id) { + return udiInfoImportLogDao.deleteById(id); + } + + //导入产品信息文件,生成产品信息,更新或插入对照表 + @Async + public void importUdiInfo(String genKey) { + + BasicProductsImportLogEntity basicProductsImportLogEntity = selectByGenKey(genKey); + if (basicProductsImportLogEntity.getStatus() == BasicProcessStatus.UDIINFO_IMPORT_CODE_UNPROCESS) { + FilterUdiIpLogRequest filterUdiIpLogRequest = new FilterUdiIpLogRequest(); + filterUdiIpLogRequest.setGenKey(genKey); + List udiInfoImportEntities + = basicProductsImportDetailService.filterUdiInfoImport(filterUdiIpLogRequest); + if (udiInfoImportEntities != null) { + for (BasicProductsImportDetailEntity basicProductsImportDetailEntity : udiInfoImportEntities) { + UdiProductEntity udiInfoEntity = null; + //国家库获取取UDI信息 + if (basicProductsImportDetailEntity.getUdiCode() != null && !basicProductsImportDetailEntity.getUdiCode().trim().isEmpty()) { + udiInfoEntity = udiProductService.findByNameCode(basicProductsImportDetailEntity.getUdiCode()); + List froms = null; + if (udiInfoEntity == null) { + froms = nmpaUdiClient.getUdiByDi(basicProductsImportDetailEntity.getUdiCode()); + if (froms != null && !froms.isEmpty()) { + udiInfoEntity = froms.get(0); + + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("未查询到UDI产品信息!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + continue; + } + } + if (froms != null) + udiProductService.insertUdiInfos(froms); + } + //判断更新 + ThrSystemEntity thrSystemEntity = thrSystemService.selectMainThrSys(); + String mainSys = thrSystemEntity.getThirdId(); + String mainId = null; + if (mainSys.equals("thirdId")) { + mainId = basicProductsImportDetailEntity.getThirdId(); + } else if (mainSys.equals("thirdId1")) { + mainId = basicProductsImportDetailEntity.getThirdId1(); + } else if (mainSys.equals("thirdId2")) { + mainId = basicProductsImportDetailEntity.getThirdId2(); + } else if (mainSys.equals("thirdId3")) { + mainId = basicProductsImportDetailEntity.getThirdId3(); + } else if (mainSys.equals("thirdId4")) { + mainId = basicProductsImportDetailEntity.getThirdId4(); + } + UdiRelevanceEntity udiRelevanceEntity = null; + if (udiInfoEntity == null) { + udiRelevanceEntity = udiRelevanceService.selectUpdateByThirdId(mainId); //更新 + if (mainId != null) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(basicProductsImportDetailEntity.getThirdId(), "thirdId"); + udiInfoEntity = new UdiProductEntity(); + udiInfoEntity.setNameCode(thrProductsEntity.getCode()); + udiInfoEntity.setCpmctymc(thrProductsEntity.getName()); + udiInfoEntity.setGgxh(thrProductsEntity.getSpec()); + udiInfoEntity.setUuid(CustomUtil.getUUId()); + udiInfoEntity.setProductType(ConstantStatus.PRODUCT_TYPE_THIRD); + udiInfoEntity.setDiType(1); + udiInfoEntity.setManufactory(thrProductsEntity.getManufactory()); + udiInfoEntity.setYlqxzcrbarmc(thrProductsEntity.getManufactory()); + udiInfoEntity.setZczbhhzbapzbh(thrProductsEntity.getRegisterNo()); + udiProductService.insertUdiInfo(udiInfoEntity); + + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("格式错误!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + continue; + } + if (udiRelevanceEntity == null) { + udiRelevanceEntity = new UdiRelevanceEntity(); + udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); + updateValue(udiRelevanceEntity, basicProductsImportDetailEntity, basicProductsImportLogEntity, mainId); + udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); + udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("产品编码已存在,不能重复插入!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + } else { + if (mainId == null || "".equals(mainId)) {//只存在UDI + UdiRelevanceEntity temp = udiRelevanceService.selectUpdateByUuid(udiInfoEntity.getUuid()); + if (temp != null && + (temp.getThirdId() != null || temp.getThirdId1() != null || temp.getThirdId2() != null || + temp.getThirdId3() != null || temp.getThirdId4() != null)) { + + udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); + updateValue(udiRelevanceEntity, basicProductsImportDetailEntity, basicProductsImportLogEntity, mainId); + udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); + udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + } else if (temp == null) { + temp = new UdiRelevanceEntity(); + temp.setUuid(udiInfoEntity.getUuid()); + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); + temp.setUpdateTime(new Date()); + temp.setModifyTime(new Date()); + udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); + udiRelevanceService.insertUdiRelevance(temp); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("UDI已存在并且未关联不能重复插入!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + } else { + UdiRelevanceEntity temp = udiRelevanceService.selectUpteaByAll(udiInfoEntity.getUuid(), mainId); + if (temp != null) { + updateValue(temp, basicProductsImportDetailEntity, basicProductsImportLogEntity, mainId); + udiRelevanceService.updateUdiRelevance(temp); + } else { + UdiRelevanceEntity mTemp = udiRelevanceService.selectUpdateByThirdId(mainId); + if (mTemp != null) { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("产品编码已存在关联不能重复插入!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } else { + UdiRelevanceEntity mTemp2 = udiRelevanceService.selectUpdateByUuid(udiInfoEntity.getUuid()); + if (mTemp2 != null && (mTemp2.getThirdId() != null || mTemp2.getThirdId1() != null || mTemp2.getThirdId2() != null || + mTemp2.getThirdId3() != null || mTemp2.getThirdId4() != null)) { + udiRelevanceEntity = new UdiRelevanceEntity(); + udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); + updateValue(udiRelevanceEntity, basicProductsImportDetailEntity, basicProductsImportLogEntity, mainId); + udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); + udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + } else { + udiRelevanceEntity = new UdiRelevanceEntity(); + udiRelevanceEntity.setUuid(udiInfoEntity.getUuid()); + updateValue(udiRelevanceEntity, basicProductsImportDetailEntity, basicProductsImportLogEntity, mainId); + udiRelevanceEntity.setId(gennerOrderUtils.getRelId()); + udiRelevanceService.insertUdiRelevance(udiRelevanceEntity); + } + + } + + } + } + + } + + + //字段更新 + basicProductsImportDetailService.updateUdiInfoImport(basicProductsImportDetailEntity); + } + } + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_SUCCESS); + updateImportLog(basicProductsImportLogEntity); + } + + } + + + public void updateValue(UdiRelevanceEntity udiRelevanceEntity, BasicProductsImportDetailEntity basicProductsImportDetailEntity, + BasicProductsImportLogEntity basicProductsImportLogEntity, String mainId) { + String time = DateUtil.getDateTime(); + udiRelevanceEntity.setUpdateTime(new Date()); + udiRelevanceEntity.setModifyTime(new Date()); + if (basicProductsImportDetailEntity.getIsUseDy() != null && !basicProductsImportDetailEntity.getIsUseDy().trim().equals("")) { + if (basicProductsImportDetailEntity.getIsUseDy().equals("是")) { + udiRelevanceEntity.setIsUseDy(true); + } else { + udiRelevanceEntity.setIsUseDy(false); + } + + } + if (basicProductsImportDetailEntity.getThirdId() != null && !basicProductsImportDetailEntity.getThirdId().trim().equals("")) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(basicProductsImportDetailEntity.getThirdId(), "thirdId"); + if (thrProductsEntity != null) { + if (mainId != null && basicProductsImportDetailEntity.getThirdId().equals(mainId)) { + udiRelevanceEntity.setMainId(mainId); + } + udiRelevanceEntity.setThirdId(basicProductsImportDetailEntity.getThirdId()); + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("未查询到系统产品信息!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + + } + if (basicProductsImportDetailEntity.getThirdId1() != null && !basicProductsImportDetailEntity.getThirdId1().trim().equals("")) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(basicProductsImportDetailEntity.getThirdId1(), "thirdId1"); + if (thrProductsEntity != null) { + if (mainId != null && basicProductsImportDetailEntity.getThirdId1().equals(mainId)) { + udiRelevanceEntity.setMainId(mainId); + } + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); + udiRelevanceEntity.setThirdId1(basicProductsImportDetailEntity.getThirdId1()); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("未查询到系统产品信息!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + + } + if (basicProductsImportDetailEntity.getThirdId2() != null && !basicProductsImportDetailEntity.getThirdId2().trim().equals("")) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(basicProductsImportDetailEntity.getThirdId2(), "thirdId2"); + if (thrProductsEntity != null) { + if (mainId != null && basicProductsImportDetailEntity.getThirdId2().equals(mainId)) { + udiRelevanceEntity.setMainId(mainId); + } + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); + udiRelevanceEntity.setThirdId2(basicProductsImportDetailEntity.getThirdId2()); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + udiRelevanceEntity.setThirdId(basicProductsImportDetailEntity.getThirdId()); + basicProductsImportDetailEntity.setRemark("未查询到系统产品信息!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + + } + if (basicProductsImportDetailEntity.getThirdId3() != null && !basicProductsImportDetailEntity.getThirdId3().trim().equals("")) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(basicProductsImportDetailEntity.getThirdId3(), "thirdId3"); + if (thrProductsEntity != null) { + if (mainId != null && basicProductsImportDetailEntity.getThirdId3().equals(mainId)) { + udiRelevanceEntity.setMainId(mainId); + } + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); + udiRelevanceEntity.setThirdId3(basicProductsImportDetailEntity.getThirdId3()); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + udiRelevanceEntity.setThirdId(basicProductsImportDetailEntity.getThirdId()); + basicProductsImportDetailEntity.setRemark("未查询到系统产品信息!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + + } + if (basicProductsImportDetailEntity.getThirdId4() != null && !basicProductsImportDetailEntity.getThirdId4().trim().equals("")) { + ThrProductsEntity thrProductsEntity = thrDataService.getProducts(basicProductsImportDetailEntity.getThirdId4(), "thirdId1"); + if (thrProductsEntity != null) { + if (mainId != null && basicProductsImportDetailEntity.getThirdId4().equals(mainId)) { + udiRelevanceEntity.setMainId(mainId); + } + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_SUCESS); + udiRelevanceEntity.setThirdId4(basicProductsImportDetailEntity.getThirdId4()); + } else { + basicProductsImportDetailEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_CODE_FAIL); + basicProductsImportDetailEntity.setRemark("未查询到系统产品信息!"); + basicProductsImportLogEntity.setStatus(BasicProcessStatus.UDIINFO_IMPORT_FAIL); + } + + } + } + //下载供应商产品信息, + @Async + public void downloadSmpUdiInfo(String genKey, String lastUpdateTime) { + + int page = 1; + int limit = 100; + + while (true) { + List udiRelevanceResponses = getUdiInfo(page, limit, lastUpdateTime); + if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { + + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + BasicProductsImportDetailEntity udiInfoImportEntity = new BasicProductsImportDetailEntity(); + udiInfoImportEntity.setUdiCode(udiRelevanceResponse.getNameCode()); + BeanUtils.copyProperties(udiRelevanceResponse, udiInfoImportEntity); + udiInfoImportEntity.setUpdateTime(new Date()); + udiInfoImportEntity.setGenKeyFk(genKey); + if (udiRelevanceResponse.getIsUseDy()) { + udiInfoImportEntity.setIsUseDy("是"); + } else { + udiInfoImportEntity.setIsUseDy("否"); + } + basicProductsImportDetailService.insertUdiInfoImport(udiInfoImportEntity); + + } + if (udiRelevanceResponses.size() >= 100) { + page++; + } else { + break; + } + + } else { + break; + } + } + importUdiInfo(genKey); + } + public List getUdiInfo(int page, int limit, String lastUpdateTime) { + String smpUrl = ""; + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("smp_service_ip"); + if (systemParamConfigEntity != null) { + smpUrl = systemParamConfigEntity.getParamValue(); + } + + Map paramMap = new HashMap<>(16); + paramMap.put("page", page); + paramMap.put("limit", limit); + paramMap.put("dataType", "2");//数据类型为供应商平台上传 + paramMap.put("lastUpdateTime", lastUpdateTime); + String response = HttpClient.mipsGet(smpUrl + "/udiwms/basic/products/download", paramMap); + try { + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + + }); + if (udiDlDeviceResponse != null && udiDlDeviceResponse.getCode() == 20000) { + List udiRelevanceResponses = udiDlDeviceResponse.getData().getList(); + return udiRelevanceResponses; + } + + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return null; + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpExportLogServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpExportLogServiceImpl.java index 850579105..4c3b818d6 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpExportLogServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrCorpExportLogServiceImpl.java @@ -55,8 +55,9 @@ public class ThrCorpExportLogServiceImpl implements ThrCorpExportLogService { public boolean updateThrCorpExportLog(ThrCorpExportLogEntity thrCorpExportLogEntity) { //塞入创建时间创建人 thrCorpExportLogEntity.setCreateTime(new Date()); - thrCorpExportLogEntity.setCreateUser(String.valueOf(customerService.getUserId())); - thrCorpExportLogEntity.setUpdateUser(String.valueOf(customerService.getUserId())); + //todo 未添加创建人 +// thrCorpExportLogEntity.setCreateUser(String.valueOf(customerService.getUserId())); +// thrCorpExportLogEntity.setUpdateUser(String.valueOf(customerService.getUserId())); return thrCorpExportLogDao.updateThrCorpExportLog(thrCorpExportLogEntity); } diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductsExportLogDao.xml b/src/main/resources/mybatis/mapper/basic/BasicProductsExportLogDao.xml new file mode 100644 index 000000000..f142978e0 --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductsExportLogDao.xml @@ -0,0 +1,56 @@ + + + + + + + + + + insert INTO basic_products_export_log + (genKey,updateTime,dlCount,status,filePath,remark,`type`) + values + ( + #{genKey}, + #{updateTime}, + #{dlCount},#{status},#{filePath},#{remark},#{type} + ) + + + + + DELETE FROM basic_products_export_log WHERE id = #{id} + + + + UPDATE basic_products_export_log + + updateTime=#{updateTime}, + dlCount=#{dlCount}, + status=#{status}, + filePath=#{filePath}, + remark=#{remark}, + + WHERE genKey = #{genKey} + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductsImportDetailDao.xml b/src/main/resources/mybatis/mapper/basic/BasicProductsImportDetailDao.xml new file mode 100644 index 000000000..67c64c3b3 --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductsImportDetailDao.xml @@ -0,0 +1,82 @@ + + + + + + + + + + insert INTO basic_products_import_detail + (udiCode,ybbm,sptm,thirdId1,thirdId2, + thirdId3,thirdId4,thirdId,status,updateTime,remark,genKeyFk,isUseDy) + values + ( + #{udiCode}, #{ybbm},#{sptm}, + #{thirdId1}, #{thirdId2},#{thirdId3}, + #{thirdId4}, #{thirdId},#{status}, + #{updateTime},#{remark}, #{genKeyFk},#{isUseDy} + ) + + + + insert INTO basic_products_import_detail + (udiCode,ybbm,sptm,thirdId1,thirdId2, + thirdId3,thirdId4,thirdId,status,updateTime,remark,genKeyFk,isUseDy) + values + + ( + #{item.udiCode}, #{item.ybbm},#{item.sptm}, + #{item.thirdId1}, #{item.thirdId2},#{item.thirdId3}, + #{item.thirdId4}, #{item.thirdId},#{item.status}, + #{item.updateTime},#{item.remark}, #{item.genKeyFk},#{item.isUseDy} + ) + + + + DELETE FROM basic_products_import_detail WHERE id = #{id} + + + DELETE FROM basic_products_import_detail WHERE genKeyFk = #{genKey} + + + + UPDATE basic_products_import_detail + + udiCode=#{udiCode}, + ybbm=#{ybbm}, + sptm=#{sptm}, + thirdId1=#{thirdId1}, + thirdId2=#{thirdId2}, + thirdId3=#{thirdId3}, + thirdId4=#{thirdId4}, + thirdId=#{thirdId}, + status=#{status}, + updateTime=#{updateTime}, + remark=#{remark}, + isUseDy=#{isUseDy}, + + WHERE id = #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/basic/BasicProductsImportLogDao.xml b/src/main/resources/mybatis/mapper/basic/BasicProductsImportLogDao.xml new file mode 100644 index 000000000..98ebf33d8 --- /dev/null +++ b/src/main/resources/mybatis/mapper/basic/BasicProductsImportLogDao.xml @@ -0,0 +1,60 @@ + + + + + + + + + + insert INTO basic_products_import_log + (genKey,fromType,updateTime,thirdSysFk,status) + values + ( + #{genKey}, + #{fromType}, + #{updateTime}, + #{thirdSysFk},#{status} + ) + + + + + DELETE FROM basic_products_import_log WHERE id = #{id} + + + + UPDATE basic_products_import_log + + genKey=#{genKey}, + fromType=#{fromType}, + updateTime=#{updateTime}, + thirdSysFk=#{thirdSysFk}, + status=#{status}, + remark=#{remark}, + + WHERE genKey = #{genKey} + + + \ No newline at end of file