diff --git a/src/main/java/com/glxp/api/controller/alihealth/AlihealthBusController.java b/src/main/java/com/glxp/api/controller/alihealth/AlihealthBusController.java index 696cff489..0c8feec52 100644 --- a/src/main/java/com/glxp/api/controller/alihealth/AlihealthBusController.java +++ b/src/main/java/com/glxp/api/controller/alihealth/AlihealthBusController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.alihealth; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; @@ -11,23 +12,12 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.controller.BaseController; -import com.glxp.api.entity.alihealth.AliYljgBillDetail; -import com.glxp.api.entity.alihealth.AliYljgSearchbill; -import com.glxp.api.entity.thrsys.CodeRel; -import com.glxp.api.entity.thrsys.ThirdAliDrug; -import com.glxp.api.entity.thrsys.YbDrug; -import com.glxp.api.req.alihealth.AliYljgSearchbillReqeust; -import com.glxp.api.req.alihealth.AlihealthKytDrugrescodeReqeust; -import com.glxp.api.req.alihealth.AlihealthKytGetentinfoReqeust; -import com.glxp.api.req.alihealth.local.AlihealthRelCodeInsertReqeust; -import com.glxp.api.req.alihealth.local.AlihealthThirdAliDrugInsertReqeust; -import com.glxp.api.res.PageSimpleResponse; -import com.glxp.api.res.alihealth.AlihealthKytGetentinfoResponse; -import com.glxp.api.service.alihealth.AlihealthBusService; -import com.glxp.api.service.basic.UdiContrastService; -import com.glxp.api.service.inout.IoOrderService; -import com.glxp.api.util.alihealth.AlihealthUtils; -import com.glxp.api.util.alihealth.PaginationUtil; + +import com.glxp.api.dao.collect.IoCollectCodeBackMapper; +import com.glxp.api.entity.collect.IoCollectCodeBackup; +import com.glxp.api.http.sync.SpGetHttpClient; +import com.glxp.api.req.alihealth.local.AlihealthGetRelCodeReqeust; +import com.glxp.api.req.collect.IoCollectCodeRequest; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; @@ -37,7 +27,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -46,250 +35,30 @@ import java.util.stream.Collectors; @RestController public class AlihealthBusController extends BaseController { @Resource - private AlihealthUtils alihealthUtils; - @Value("${ALIHEALTH_URL:http://gw.api.taobao.com/router/rest}") - private String alihealthUrl; - @Value("${UDI_SERVER_URL}") - private String udiUrl; - - @PostMapping("/spms/alihealth/relCodeInsert") - @Log(title = "阿里健康自动赋码关联关系", businessType = BusinessType.OTHER) - public BaseResponse relCodeInsert(@RequestBody AlihealthRelCodeInsertReqeust alihealthRelCodeInsertReqeust) { - if (StringUtils.isEmpty(alihealthRelCodeInsertReqeust.getRefEntId())) { - AlihealthKytGetentinfoResponse alihealthKytGetentinfoResponse = null; - try { - AlihealthKytGetentinfoReqeust alihealthKytGetentinfoReqeust = new AlihealthKytGetentinfoReqeust(); - alihealthKytGetentinfoReqeust.setApp_key(alihealthRelCodeInsertReqeust.getAppKey()); - alihealthKytGetentinfoReqeust.setEnt_name(alihealthRelCodeInsertReqeust.getName()); - alihealthRelCodeInsertReqeust.getAppSecret(); - Map map = alihealthUtils.disposeSign(alihealthKytGetentinfoReqeust, alihealthRelCodeInsertReqeust.getAppSecret()); - String json = HttpUtil.get(alihealthUrl, map); - alihealthKytGetentinfoResponse = new AlihealthKytGetentinfoResponse(json); - - } catch (Exception e) { - e.printStackTrace(); - return ResultVOUtils.error("阿里健康接口调用失败===请检查key和密文"); - - } - if (StringUtils.isNotEmpty(alihealthKytGetentinfoResponse.getMsg_info()) - && alihealthKytGetentinfoResponse.getMsg_info().equals("调用成功") - ) { - alihealthRelCodeInsertReqeust.setRefEntId(alihealthKytGetentinfoResponse.getRef_ent_id()); - } else { - return ResultVOUtils.error("阿里健康接口调用失败===" + alihealthKytGetentinfoResponse.getMsg_info()); - - } - } - - BaseResponse baseResponse = alihealthUtils.relCodeInsert(alihealthRelCodeInsertReqeust); - - if (baseResponse.getCode() == 20000) { - // 插入成功返回 - return baseResponse; - } else { - log.error("调用阿里码获取关联关系接口===" + baseResponse.getMessage()); - return ResultVOUtils.error("调用阿里码获取关联关系接口===" + baseResponse.getMessage()); - - } - } - @Resource - private UdiContrastService udiContrastService; - - - @PostMapping("/spms/alihealth/thirdAliDrugList") - @Log(title = "获取阿里药品码段信息列表包括查询国家库", businessType = BusinessType.OTHER) - public BaseResponse> thirdAliDrugList(@RequestBody AlihealthThirdAliDrugInsertReqeust alihealthThirdAliDrugInsertReqeust) { - List thirdAliDrugsListGjk = null; - PageSimpleResponse pageSimpleResponse =new PageSimpleResponse(); - // 本地查询和新增都先注释了 到时候加到这边来 - YbDrug ybDrug = alihealthThirdAliDrugInsertReqeust.getYbDrug(); - if(ybDrug!= null && StringUtils.isNotEmpty(ybDrug.getGoodsCode())){ - // 用医保编码查询国家库药品信息 - try { - CodeRel codeReNew = new CodeRel(); - codeReNew.setYbbm(ybDrug.getGoodsCode()); - String response = HttpUtil.post(udiUrl + "/udchs/codeRel/listAndAliDrug", JSONUtil.toJsonStr(codeReNew)); - BaseResponse> responseListAndAliDrug = - JSONObject.parseObject(response, new TypeReference>>() { - - }); - if(responseListAndAliDrug.getCode() == 20000){ - thirdAliDrugsListGjk = responseListAndAliDrug.getData(); - if(thirdAliDrugsListGjk != null && thirdAliDrugsListGjk.size() >0){ - pageSimpleResponse.setList(thirdAliDrugsListGjk); - return ResultVOUtils.success(pageSimpleResponse); - } - }else { - pageSimpleResponse.setList(thirdAliDrugsListGjk); - return ResultVOUtils.success(pageSimpleResponse); - } - } catch (Exception e) { - log.error("国家库===用医保编码查询国家库药品信息===出现错误===" + e.getMessage()); - - } - } - // 校验标识判断 为false不会后续增加多玛融合库的逻辑 直接返回 - if(alihealthThirdAliDrugInsertReqeust.isDrugCheckMark() == false){ - pageSimpleResponse.setList(thirdAliDrugsListGjk); - return ResultVOUtils.success(pageSimpleResponse); - } - - // 查询国家库药品信息 并且要插入到多玛融合表 - AlihealthKytDrugrescodeReqeust alihealthKytDrugrescodeReqeust = alihealthThirdAliDrugInsertReqeust.getAlihealthKytDrugrescodeReqeust(); - - Map map = new HashMap(); - if (com.glxp.api.util.StringUtils.isNotEmpty(alihealthKytDrugrescodeReqeust.getPhysic_name())) { - map.put("cpmctymc", alihealthKytDrugrescodeReqeust.getPhysic_name()); - - } - if (com.glxp.api.util.StringUtils.isNotEmpty(alihealthKytDrugrescodeReqeust.getApproval_licence_no())) { - map.put("approvalNum", alihealthKytDrugrescodeReqeust.getApproval_licence_no()); - - } - if (com.glxp.api.util.StringUtils.isNotEmpty(alihealthThirdAliDrugInsertReqeust.getManufactory())) { - map.put("manufacturer", alihealthThirdAliDrugInsertReqeust.getManufactory()); - - } - if (com.glxp.api.util.StringUtils.isNotEmpty(alihealthThirdAliDrugInsertReqeust.getFormSpec())) { - map.put("formSpec", alihealthThirdAliDrugInsertReqeust.getFormSpec()); - - } - if (com.glxp.api.util.StringUtils.isNotEmpty(alihealthThirdAliDrugInsertReqeust.getBzgg())) { - map.put("bzgg", alihealthThirdAliDrugInsertReqeust.getBzgg()); - - } - if (com.glxp.api.util.StringUtils.isNotEmpty(alihealthThirdAliDrugInsertReqeust.getNameCode())) { - map.put("nameCode", alihealthThirdAliDrugInsertReqeust.getNameCode()); - - } - map.put("page", alihealthThirdAliDrugInsertReqeust.getPage()); - map.put("limit", alihealthThirdAliDrugInsertReqeust.getLimit()); - map.put("nameCodeIn", alihealthThirdAliDrugInsertReqeust.getNameCodeIn()); - - - if(alihealthThirdAliDrugInsertReqeust.getGjkSwitch()){ - try { - String response = HttpUtil.get(udiUrl + "/udiwms/aliDrug/getDrugLevelList", map); - BaseResponse> udiDlDeviceResponse = - JSONObject.parseObject(response, new TypeReference>>() { - - }); - if (udiDlDeviceResponse != null - ) { - // 查询国家库是否有值 有值直接返回没值查询阿里接口 - thirdAliDrugsListGjk = udiDlDeviceResponse.getData().getList(); - if(thirdAliDrugsListGjk.size() == udiDlDeviceResponse.getData().getTotal()){ - thirdAliDrugsListGjk = PaginationUtil.getPage(thirdAliDrugsListGjk, alihealthThirdAliDrugInsertReqeust.getPage() - , alihealthThirdAliDrugInsertReqeust.getLimit()); - } - pageSimpleResponse.setList(thirdAliDrugsListGjk); - pageSimpleResponse.setTotal(Long.valueOf(udiDlDeviceResponse.getData().getTotal())); - } - } catch (Exception e) { - log.error("国家库===查询药品信息===出现错误===" + e.getMessage()); - - } - } - -// if (thirdAliDrugsListGjk != null && thirdAliDrugsListGjk.size() > 0) { -// -// } else { -//// BaseResponse> baseResponse = alihealthUtils.thirdAliDrugInsertAll(alihealthThirdAliDrugInsertReqeust); -//// if (baseResponse.getCode() == 20000) { -//// thirdAliDrugsListGjk = baseResponse.getData(); -//// } else { -//// log.error("阿里接口未查到产品信息===" + baseResponse.getMessage()); -//// return ResultVOUtils.error("阿里接口未查到产品信息===" + baseResponse.getMessage()); -//// -//// } -//// // 上传到国家库 -//// try { -//// Map mapNew = new HashMap(); -//// mapNew.put("list", thirdAliDrugsListGjk); -//// String response = HttpUtil.post(udiUrl + "/udiwms/aliDrug/addThirdAliDrug", JSONUtil.toJsonStr(mapNew)); -//// BaseResponse baseResponseAdd = JSONUtil.toBean(response, BaseResponse.class); -//// log.info("成功上传国家库阿里产品数据"); -//// } catch (Exception e) { -//// -//// log.error("国家库上传阿里产品访问出现错误===" + e.getMessage()); -//// } -// -// } -// // 上传多玛关系于处理规则在插入到融合表 -// if(ybDrug!= null && StringUtils.isNotEmpty(ybDrug.getGoodsCode()) -// ){ -// // 规则匹配 -// thirdAliDrugsListGjk = udiContrastService.disposeYbDrugList(thirdAliDrugsListGjk,ybDrug,alihealthThirdAliDrugInsertReqeust.getNameCodeIn()); -// -// } - return ResultVOUtils.success(pageSimpleResponse); - -// udiProductService.insertUdiInfo(udiProductEntity); - } - - - @Resource - AlihealthBusService alihealthBusService; + private IoCollectCodeBackMapper ioCollectCodeBackMapper; @Resource - IoOrderService orderService; + private SpGetHttpClient spGetHttpClient; /** - * 阿里的采购单查询接口 + * 阿里手动拉取完成单大级码没有关联关系的接口 * - * @param aliYljgSearchbillReqeust * @return */ - @PostMapping("/spms/alihealth/aliYljgSearchbillPage") - @Log(title = "获取阿里药品的采购单", businessType = BusinessType.OTHER) - public BaseResponse aliYljgSearchbillPage(@RequestBody AliYljgSearchbillReqeust aliYljgSearchbillReqeust) { - String customerId = getCustomerId(); - aliYljgSearchbillReqeust.setErpId(customerId); - List list = alihealthBusService.aliYljgSearchbillPage(aliYljgSearchbillReqeust); - List listResp = new ArrayList<>(); - - if (CollUtil.isEmpty(list)) { - PageInfo pageInfo = new PageInfo<>(listResp); - return ResultVOUtils.page(pageInfo); - } - - // 使用 groupingBy 进行分组 - Map> groupedByMultipleFields = list.stream() - .collect(Collectors.groupingBy( - bill -> bill.getBillCode() - )); - // 遍历分组结果 - for (Map.Entry> entry : groupedByMultipleFields.entrySet()) { - List group = entry.getValue(); - if (!group.isEmpty()) { - // 添加每个分组中的第一个对象到新列表 - String key = entry.getKey(); - //如果查得到就不可以再次选入 - String billNo = orderService.selectAliYljgSearchbillByAliBillNo(key); - AliYljgSearchbill aliYljgSearchbill = group.get(0); - if (StringUtils.isNotEmpty(billNo)) { - aliYljgSearchbill.setCheckBillNO(true); - } - listResp.add(aliYljgSearchbill); - } - } + @PostMapping("/spms/alihealth/getAliCode") + @Log(title = "获取阿里药品的采购单码明细", businessType = BusinessType.OTHER) + public BaseResponse getAliCode() { - PageInfo pageInfo = new PageInfo<>(listResp); - return ResultVOUtils.page(pageInfo); - } + List list = ioCollectCodeBackMapper.filterNotRelCode(new IoCollectCodeRequest()); + if(list!=null && list.size() >1){ + AlihealthGetRelCodeReqeust alihealthGetRelCodeReqeust = new AlihealthGetRelCodeReqeust(); + alihealthGetRelCodeReqeust.setIoCollectCodeBackupList(list); + BaseResponse baseResponse = spGetHttpClient.getAliCode(alihealthGetRelCodeReqeust); + return baseResponse; + }else { + return ResultVOUtils.success("没有需要调用关联关系的码列表"); - /** - * 阿里的采购单码明细查询接口 - * - * @param aliYljgSearchbillReqeust - * @return - */ - @PostMapping("/spms/alihealth/aliYljgBillDetail") - @Log(title = "获取阿里药品的采购单码明细", businessType = BusinessType.OTHER) - public BaseResponse aliYljgBillDetail(@RequestBody AliYljgSearchbillReqeust aliYljgSearchbillReqeust) { - AliYljgBillDetail aliYljgBillDetail = alihealthBusService.aliYljgBillDetail(aliYljgSearchbillReqeust); - return ResultVOUtils.success(aliYljgBillDetail); + } } - } diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectCodeBackMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectCodeBackMapper.java index 190e18a04..08d18bc0b 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoCollectCodeBackMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectCodeBackMapper.java @@ -12,4 +12,11 @@ import java.util.List; public interface IoCollectCodeBackMapper extends BaseMapper { List filterList(IoCollectCodeRequest ioCollectCodeRequest); + + List filterNotRelCode(IoCollectCodeRequest ioCollectCodeRequest); + + List filterNotRelCodeGroup(IoCollectCodeRequest ioCollectCodeRequest); + + List filterlargePackage(); + } diff --git a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java index 96f08f4c1..14acd1891 100644 --- a/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java +++ b/src/main/java/com/glxp/api/http/sync/SpGetHttpClient.java @@ -20,6 +20,8 @@ import com.glxp.api.entity.system.SyncDataSetEntity; import com.glxp.api.entity.thrsys.ThirdAliDrug; import com.glxp.api.idc.service.FileService; import com.glxp.api.req.alihealth.AlihealthRelCodeInsertReqeust; +import com.glxp.api.req.alihealth.local.AliBillsDisposeReqeust; +import com.glxp.api.req.alihealth.local.AlihealthGetRelCodeReqeust; import com.glxp.api.req.alihealth.local.AlihealthThirdAliDrugInsertReqeust; import com.glxp.api.req.basic.BasicDataRequest; import com.glxp.api.req.basic.DeleteBasicDataRequest; @@ -684,4 +686,26 @@ public class SpGetHttpClient { } return response; } + public BaseResponse getAliCode(AlihealthGetRelCodeReqeust alihealthGetRelCodeReqeust) { + String json = JSONUtil.toJsonStr(alihealthGetRelCodeReqeust); + String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/alihealth/getAliCode", json, buildHeader()); + BaseResponse response = + JSONObject.parseObject(result, new TypeReference() { + }); + if(response == null){ + return ResultVOUtils.error("访问供应商平台访问不到"); + } + return response; + } + public BaseResponse aliBillsDispose(AliBillsDisposeReqeust aliBillsDisposeReqeust) { + String json = JSONUtil.toJsonStr(aliBillsDisposeReqeust); + String result = okHttpCli.doPostJson(getIpUrl() + "/directToSpms" + "/spms/alihealth/aliBillsDispose", json, buildHeader()); + BaseResponse response = + JSONObject.parseObject(result, new TypeReference() { + }); + if(response == null){ + return ResultVOUtils.error("访问供应商平台访问不到"); + } + return response; + } } diff --git a/src/main/java/com/glxp/api/req/alihealth/local/AliBillsDisposeReqeust.java b/src/main/java/com/glxp/api/req/alihealth/local/AliBillsDisposeReqeust.java new file mode 100644 index 000000000..8da1b8297 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/local/AliBillsDisposeReqeust.java @@ -0,0 +1,13 @@ +package com.glxp.api.req.alihealth.local; + +import com.glxp.api.entity.inout.IoOrderEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class AliBillsDisposeReqeust { + private List ioOrderEntityList; + private String erpName; + +} diff --git a/src/main/java/com/glxp/api/req/alihealth/local/AlihealthGetRelCodeReqeust.java b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthGetRelCodeReqeust.java new file mode 100644 index 000000000..150d8bb37 --- /dev/null +++ b/src/main/java/com/glxp/api/req/alihealth/local/AlihealthGetRelCodeReqeust.java @@ -0,0 +1,12 @@ +package com.glxp.api.req.alihealth.local; + +import com.glxp.api.entity.collect.IoCollectCodeBackup; +import lombok.Data; + +import java.util.List; + +@Data +public class AlihealthGetRelCodeReqeust { + + private List ioCollectCodeBackupList; +} diff --git a/src/main/java/com/glxp/api/task/AliRelCodeDetailTask.java b/src/main/java/com/glxp/api/task/AliRelCodeDetailTask.java new file mode 100644 index 000000000..c25bf6a96 --- /dev/null +++ b/src/main/java/com/glxp/api/task/AliRelCodeDetailTask.java @@ -0,0 +1,89 @@ +package com.glxp.api.task; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.glxp.api.dao.collect.IoCollectCodeBackMapper; +import com.glxp.api.dao.schedule.ScheduledDao; +import com.glxp.api.entity.collect.IoCollectCodeBackup; +import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.system.ScheduledEntity; +import com.glxp.api.http.sync.SpGetHttpClient; +import com.glxp.api.req.alihealth.local.AliBillsDisposeReqeust; +import com.glxp.api.req.collect.IoCollectCodeRequest; +import com.glxp.api.req.system.ScheduledRequest; + +import com.glxp.api.service.system.SystemParamConfigService; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; +import redis.clients.jedis.resps.Tuple; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +@Component +@EnableScheduling +@Slf4j +public class AliRelCodeDetailTask implements SchedulingConfigurer { + + + @Resource + private ScheduledDao scheduledDao; + @Resource + private IoCollectCodeBackMapper ioCollectCodeBackMapper; + + @Resource + private SpGetHttpClient spGetHttpClient; + @Resource + private SystemParamConfigService systemParamConfigService; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + scheduledTaskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("aliRelCodeDetailTask"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + if (scheduledEntity == null) { + return null; + } + String cron = scheduledEntity.getCron(); + if (cron.isEmpty()) { + log.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + String paramValue = systemParamConfigService.selectValueByParamKey("aliRelCodeDetail"); + if (StrUtil.isNotEmpty(paramValue) && paramValue.equals("1")) { + List list = ioCollectCodeBackMapper.filterNotRelCode(new IoCollectCodeRequest()); + List ioOrderEntityList = new ArrayList<>(); + log.error("开始补救上传和拉取关联关系列表==="+list); + if (CollectionUtil.isNotEmpty(list)) { + for (IoCollectCodeBackup ioCollectCodeBackup : list) { + IoOrderEntity ioOrderEntity = new IoOrderEntity(); + ioOrderEntity.setBillNo(ioCollectCodeBackup.getBillNo()); + ioOrderEntity.setFromCorp(ioCollectCodeBackup.getFromCorp()); + ioOrderEntity.setAuditTime(ioCollectCodeBackup.getOperTime()); + ioOrderEntityList.add(ioOrderEntity); + } + AliBillsDisposeReqeust aliBillsDisposeReqeust = new AliBillsDisposeReqeust(); + aliBillsDisposeReqeust.setIoOrderEntityList(ioOrderEntityList); + spGetHttpClient.aliBillsDispose(aliBillsDisposeReqeust); + } + + } + + } + + +} diff --git a/src/main/java/com/glxp/api/task/CollectOrderEelCodeCountTask.java b/src/main/java/com/glxp/api/task/CollectOrderEelCodeCountTask.java index aa6c9fbcd..bf9ed9346 100644 --- a/src/main/java/com/glxp/api/task/CollectOrderEelCodeCountTask.java +++ b/src/main/java/com/glxp/api/task/CollectOrderEelCodeCountTask.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.dao.collect.IoCollectCodeBackMapper; import com.glxp.api.dao.collect.RelCodeDetailMapper; import com.glxp.api.dao.schedule.ScheduledDao; import com.glxp.api.entity.collect.IoCollectCode; @@ -42,9 +43,11 @@ public class CollectOrderEelCodeCountTask implements SchedulingConfigurer { @Resource private ScheduledDao scheduledDao; @Resource - private IoCollectCodeBackService ioCollectCodeBackService; + private IoCollectCodeBackMapper ioCollectCodeBackMapper; @Resource private RelCodeDetailMapper relCodeDetailMapper; + @Resource + private IoCollectCodeBackService ioCollectCodeBackService; @Override public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { scheduledTaskRegistrar.addTriggerTask(() -> process(), @@ -64,11 +67,7 @@ public class CollectOrderEelCodeCountTask implements SchedulingConfigurer { } private void process() { - LambdaQueryWrapper lambdaQueryWrapper =new LambdaQueryWrapper(); - lambdaQueryWrapper.gt(IoCollectCodeBackup::getRelCodeCount,-2); - List list = ioCollectCodeBackService.list( - lambdaQueryWrapper - ); + List list = ioCollectCodeBackMapper.filterlargePackage(); if(list!=null ){ for (IoCollectCodeBackup ioCollectCodeBackup : list) { int count = relCodeDetailMapper.selectCount( @@ -78,14 +77,14 @@ public class CollectOrderEelCodeCountTask implements SchedulingConfigurer { IoCollectCodeBackup ioCollectCodeBackupNew = new IoCollectCodeBackup(); if(count > 0){ ioCollectCodeBackupNew.setRelCodeCount(count); - - }else { - ioCollectCodeBackupNew.setRelCodeCount(ioCollectCodeBackup.getRelCodeCount()-1); + ioCollectCodeBackService.update( + ioCollectCodeBackupNew,new LambdaQueryWrapper() + .eq(IoCollectCodeBackup::getId,ioCollectCodeBackup.getId()) + ); } - ioCollectCodeBackService.update( - ioCollectCodeBackupNew,new LambdaQueryWrapper() - .eq(IoCollectCodeBackup::getId,ioCollectCodeBackup.getId()) - ); +// else { +// ioCollectCodeBackupNew.setRelCodeCount(ioCollectCodeBackup.getRelCodeCount()-1); +// } } } } diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml index 9e8d94cd4..2eaf3e48c 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectCodeBackMapper.xml @@ -46,4 +46,28 @@ group by iccb.id order by bp.nameCode,iccb.code + + + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 81ba02a30..6f9b9a106 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -5129,10 +5129,6 @@ CALL Pro_Temp_ColumnWork('io_collect_set', 'splitOutOnlyProductSwitch', ' tinyint NULL DEFAULT b''0''COMMENT ''只允许上货单一产品开关0:关闭 1:启用''', 1); -CALL Pro_Temp_ColumnWork('io_collect_set', 'drugDealConfirm', - ' tinyint NULL DEFAULT b''0''COMMENT ''是否允许取药整单确认''', - 1); - CALL Pro_Temp_ColumnWork('sys_workplace_queue', 'queueHeight', ' int NULL DEFAULT b''0'' COMMENT ''槽位高度''', 1); @@ -5265,98 +5261,3 @@ CREATE TABLE IF NOT EXISTS `sys_workplace_region` ALTER TABLE rel_code_batch MODIFY COLUMN `batchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '批次号'; - -CREATE TABLE IF NOT EXISTS `inv_product_batch` -( - `id` int NOT NULL AUTO_INCREMENT, - `inBatchNo` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '内部批号', - `orderId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '入库单号', - `relIdFk` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '产品ID', - `nameCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '最小销售标识', - `batchNo` varchar(60) DEFAULT NULL COMMENT '批次号', - `price` decimal(10, 3) DEFAULT NULL COMMENT '价格', - `produceDate` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '生产日期', - `expireDate` varchar(60) DEFAULT NULL COMMENT '失效日期', - `inCount` int DEFAULT NULL COMMENT '入库数量', - `reCount` int DEFAULT NULL COMMENT '剩余数量', - `supId` varchar(60) DEFAULT NULL COMMENT '供应商ID', - `deptCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '部门编码', - `createTime` datetime DEFAULT NULL COMMENT '创建时间', - `updateTime` datetime DEFAULT NULL COMMENT '更新时间', - `invCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '仓库编码', - PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB - DEFAULT CHARSET = utf8mb4 - COLLATE = utf8mb4_0900_ai_ci; - - -CALL Pro_Temp_ColumnWork('auth_company', 'auditComment', - 'varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT ''''', - 1); - - -CALL Pro_Temp_ColumnWork('io_order', 'aliOrderBillNo', - ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''阿里来源单号''', - 1); - -CALL Pro_Temp_ColumnWork('io_order', 'ycBillNo', - ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''来源阳采单号''', - 1); -CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'ycBizNo', - ' varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''来源阳采交易明细单号''', - 1); - - -CALL Pro_Temp_ColumnWork('io_code_temp', 'groupNumber', - 'int NULL DEFAULT NULL COMMENT ''组号''', - 1); - - -CALL Pro_Temp_ColumnWork('io_code_temp', 'queueCode', - ' varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''槽位编码''', - 1); - -CALL Pro_Temp_ColumnWork('sys_workplace_document', 'productType', - 'tinyint NULL DEFAULT NULL COMMENT ''业务类型 1器械业务 2药品业务''', - 1); - -CALL Pro_Temp_ColumnWork('io_collect_order', 'preInBillNo', - ' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''关联预验收入库单号(只有出库时需校验预验收库存才有)''', - 1); - - -CALL Pro_Temp_ColumnWork('io_collect_order_backup', 'preInBillNo', - ' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''关联预验收入库单号(只有出库时需校验预验收库存才有)''', - 1); - - - -CALL Pro_Temp_ColumnWork('io_collect_order_origin', 'preInBillNo', - ' varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT ''关联预验收入库单号(只有出库时需校验预验收库存才有)''', - 1); - -CALL Pro_Temp_ColumnWork('sys_workplace', 'productType', - 'tinyint NULL DEFAULT NULL COMMENT ''业务类型 1器械业务 2药品业务''', - 1); - - - -CALL Pro_Temp_ColumnWork('io_split_fifo_code', 'ybbm', - ' varchar(50) NULL DEFAULT NULL COMMENT ''医保编码''', - 1); - -CALL Pro_Temp_ColumnWork('io_split_code', 'ybbm', - ' varchar(50) NULL DEFAULT NULL COMMENT ''医保编码''', - 1); - - - -CALL Pro_Temp_ColumnWork('io_collect_order_code_auto', 'nameCode', - ' varchar(50) NULL DEFAULT NULL COMMENT ''产品标识''', - 1); -CALL Pro_Temp_ColumnWork('io_collect_order_code_auto', 'count', - ' int NULL DEFAULT NULL COMMENT ''码数量''', - 1); -CALL Pro_Temp_ColumnWork('io_collect_order_code_auto', 'reCount', - ' int NULL DEFAULT NULL COMMENT ''实际数量''', - 1);