From 8ddb8d340c23b297ce0489fe279d424acff374a0 Mon Sep 17 00:00:00 2001 From: qiuyt Date: Tue, 19 Nov 2024 18:17:46 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=8D=95=E6=8D=AE=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E7=95=8C=E9=9D=A2=E5=BC=80=E5=8F=91=202?= =?UTF-8?q?=E3=80=81=E5=8D=95=E6=8D=AE=E4=B8=8A=E4=BC=A0=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E5=9C=A8=E5=91=A2=E4=B8=AA=E4=BB=B7=E8=AE=BA=E8=BF=B0=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=AE=9A=E6=97=B6=E8=AE=BE=E7=BD=AE=20=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E8=B5=B7=E5=A7=8B=E4=B8=8A=E4=BC=A0=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91=20=E6=97=A0=E9=99=90?= =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E5=A4=84=E7=90=86=E6=9C=89=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9A=84=E5=8D=95=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IoCollectOrderBackupController.java | 22 +++++++++++++ .../glxp/api/entity/collect/IoCollectSet.java | 6 ++-- .../api/req/collect/CollectOrderRequest.java | 2 ++ .../CollectOrderUploadCountRequest.java | 20 ++++++++++++ .../collect/IoCollectOrderBackupService.java | 2 ++ .../task/AsyncIoCollectOrderUploadTask.java | 31 +++++++++++++++---- .../collect/IoCollectOrderBackupMapper.xml | 8 +++++ src/main/resources/schemas/schema_v2.4.sql | 4 +++ 8 files changed, 87 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/collect/CollectOrderUploadCountRequest.java diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java index 59cffeab6..7e0fd0881 100644 --- a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderBackupController.java @@ -1,6 +1,7 @@ package com.glxp.api.controller.collect; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -11,6 +12,7 @@ import com.glxp.api.entity.collect.IoCollectOrderCodeMan; import com.glxp.api.req.basic.BasicCollectUserRequest; import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.req.collect.CollectOrderUploadCountRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UserWorkResponse; import com.glxp.api.res.collect.CollectOrderBizResponse; @@ -24,6 +26,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -119,5 +123,23 @@ public class IoCollectOrderBackupController extends BaseController { List list = ioCollectOrderBackupService.codeDetail(collectOrderBizRequest.getId()); return ResultVOUtils.success(list); } + /** + * 获取单据上传医保统计信息 + * + * @param collectOrderUploadCountRequest + * @return + */ + @PostMapping ("/udiwms/basic/collect/orderFinish/uploadCount") + public BaseResponse uploadCount(@RequestBody CollectOrderUploadCountRequest collectOrderUploadCountRequest) { + + List> map = ioCollectOrderBackupService.listMaps(new QueryWrapper() + .groupBy("uploadStatus") + .between(collectOrderUploadCountRequest.getStartTime()!=null + && collectOrderUploadCountRequest.getEndTime() !=null + ,"updateTime",collectOrderUploadCountRequest.getStartTime()+" 00:00:00",collectOrderUploadCountRequest.getEndTime()+" 23:59:59") + .select("uploadStatus","count(1) as count") + ); + return ResultVOUtils.success(map); + } } diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectSet.java b/src/main/java/com/glxp/api/entity/collect/IoCollectSet.java index ae2013f5c..3650f528e 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoCollectSet.java +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectSet.java @@ -75,6 +75,8 @@ public class IoCollectSet implements Serializable { @ApiModelProperty(value = "是否最后追溯码拆零") private Boolean lastCodeSplit; - + @TableField(value = "lastCodeSplit") + @ApiModelProperty(value = "自动上传已完成单据轮询时间") + private Integer startUploadHour; private static final long serialVersionUID = 1L; -} \ No newline at end of file +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java index 35596c6e2..095953bb9 100644 --- a/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java @@ -154,5 +154,7 @@ public class CollectOrderRequest extends ListPageRequest { */ private Long bizId; + private List uploadStatusList; + } diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderUploadCountRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderUploadCountRequest.java new file mode 100644 index 000000000..fbfbd5404 --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderUploadCountRequest.java @@ -0,0 +1,20 @@ +package com.glxp.api.req.collect; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.util.page.ListPageRequest; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Data +public class CollectOrderUploadCountRequest { + + + private String startTime; + + private String endTime; + + +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java index aa6df72f5..7339571b1 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBackupService.java @@ -349,6 +349,8 @@ public class IoCollectOrderBackupService extends ServiceImpl { ScheduledRequest scheduledRequest = new ScheduledRequest(); scheduledRequest.setCronName("ioCollectOrderUploadTask"); - ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); - String cron = scheduledEntity != null ? scheduledEntity.getCron() : "0 */10 * * * ?"; + // 使用设置的轮询时间为准 这边进行转换 + IoCollectSet ioCollectSet = collectSetService.getSet(); + String cron = null; + if(ioCollectSet!= null + && ioCollectSet.getStartUploadHour() !=null + && ioCollectSet.getStartUploadHour() >0 + ){ + if(ioCollectSet.getStartUploadHour() <= 24){ + cron = "0 0 */"+ioCollectSet.getStartUploadHour()+" * * ? "; + + } + }else { + cron = "0 0 0 */1 * ?"; + } + logger.info("已完成单据自动上传轮询设置cron表达式==="+cron); + if (cron.isEmpty()) { logger.error("cron is null"); } @@ -61,6 +76,7 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer { private void process() { ThreadUtil.execAsync(() -> { + //获取下载的起始时间 IoCollectSet ioCollectSet = collectSetService.getSet(); Date startUploadTime = ioCollectSet.getStartUploadTime(); @@ -75,7 +91,10 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer { collectOrderRequest.setStartTime(paramValue); collectOrderRequest.setEndTime(nowTime); - collectOrderRequest.setUploadStatus(1); //未上传 + List list = new ArrayList<>(); + list.add(1); + list.add(3); + collectOrderRequest.setUploadStatusList(list); //调用上传单据 List orderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest); @@ -84,9 +103,9 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer { ioCollectOrderBackupService.orderUpload(item.getBillNo(),null); }); } - - ioCollectSet.setStartUploadTime(MsDateUtil.parseDate(nowTime)); - collectSetService.updateById(ioCollectSet); + // 无限循环去上传单据不做限制了 +// ioCollectSet.setStartUploadTime(MsDateUtil.parseDate(nowTime)); +// collectSetService.updateById(ioCollectSet); } }); diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml index 4a92ed882..757908851 100644 --- a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBackupMapper.xml @@ -128,6 +128,14 @@ and icob.billTime <= DATE_FORMAT(#{endTime}, '%Y-%m-%d %H:%i:%S') ]]> + + and uploadStatus IN + + #{id} + + + + GROUP BY icob.billNo order by case when icob.orderTime is null then icob.createTime else icob.orderTime end desc diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 2860eedab..ac9d7f886 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -4832,3 +4832,7 @@ CREATE TABLE IF NOT EXISTS`third_ali_drug` CALL Pro_Temp_ColumnWork('sync_data_set', 'drugDataTask', ' tinyint NULL DEFAULT NULL COMMENT ''药品关联关系同步''', 1); + +CALL Pro_Temp_ColumnWork('io_collect_set', 'startUploadHour', + ' int DEFAULT NULL COMMENT ''自动上传已完成单据轮询时间''', + 1);