1、单据上传统计界面开发

2、单据上传设置在呢个价论述时间定时设置 取消起始上传时间更新逻辑 无限循环处理有问题的单据
dev_unify
qiuyt 8 months ago
parent c7f70898e7
commit 8ddb8d340c

@ -1,6 +1,7 @@
package com.glxp.api.controller.collect; package com.glxp.api.controller.collect;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; 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.basic.BasicCollectUserRequest;
import com.glxp.api.req.collect.CollectOrderBizRequest; import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest; 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.PageSimpleResponse;
import com.glxp.api.res.basic.UserWorkResponse; import com.glxp.api.res.basic.UserWorkResponse;
import com.glxp.api.res.collect.CollectOrderBizResponse; import com.glxp.api.res.collect.CollectOrderBizResponse;
@ -24,6 +26,8 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -119,5 +123,23 @@ public class IoCollectOrderBackupController extends BaseController {
List<IoCollectOrderCodeMan> list = ioCollectOrderBackupService.codeDetail(collectOrderBizRequest.getId()); List<IoCollectOrderCodeMan> list = ioCollectOrderBackupService.codeDetail(collectOrderBizRequest.getId());
return ResultVOUtils.success(list); return ResultVOUtils.success(list);
} }
/**
*
*
* @param collectOrderUploadCountRequest
* @return
*/
@PostMapping ("/udiwms/basic/collect/orderFinish/uploadCount")
public BaseResponse uploadCount(@RequestBody CollectOrderUploadCountRequest collectOrderUploadCountRequest) {
List<Map<String, Object>> map = ioCollectOrderBackupService.listMaps(new QueryWrapper<IoCollectOrderBackup>()
.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);
}
} }

@ -75,6 +75,8 @@ public class IoCollectSet implements Serializable {
@ApiModelProperty(value = "是否最后追溯码拆零") @ApiModelProperty(value = "是否最后追溯码拆零")
private Boolean lastCodeSplit; private Boolean lastCodeSplit;
@TableField(value = "lastCodeSplit")
@ApiModelProperty(value = "自动上传已完成单据轮询时间")
private Integer startUploadHour;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

@ -154,5 +154,7 @@ public class CollectOrderRequest extends ListPageRequest {
*/ */
private Long bizId; private Long bizId;
private List<Integer> uploadStatusList;
} }

@ -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;
}

@ -349,6 +349,8 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
updateOrder.setUploadStatus(3); updateOrder.setUploadStatus(3);
updateOrder.setUploadError(e.getMessage()); updateOrder.setUploadError(e.getMessage());
} }
// 更新时间修改
updateOrder.setUpdateTime(new Date());
//更新状态 //更新状态
this.updateByBillNo(updateOrder); this.updateByBillNo(updateOrder);
if (updateOrder.getUploadStatus() == 3) { if (updateOrder.getUploadStatus() == 3) {

@ -24,6 +24,7 @@ import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -50,8 +51,22 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer {
triggerContext -> { triggerContext -> {
ScheduledRequest scheduledRequest = new ScheduledRequest(); ScheduledRequest scheduledRequest = new ScheduledRequest();
scheduledRequest.setCronName("ioCollectOrderUploadTask"); 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()) { if (cron.isEmpty()) {
logger.error("cron is null"); logger.error("cron is null");
} }
@ -61,6 +76,7 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer {
private void process() { private void process() {
ThreadUtil.execAsync(() -> { ThreadUtil.execAsync(() -> {
//获取下载的起始时间 //获取下载的起始时间
IoCollectSet ioCollectSet = collectSetService.getSet(); IoCollectSet ioCollectSet = collectSetService.getSet();
Date startUploadTime = ioCollectSet.getStartUploadTime(); Date startUploadTime = ioCollectSet.getStartUploadTime();
@ -75,7 +91,10 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer {
collectOrderRequest.setStartTime(paramValue); collectOrderRequest.setStartTime(paramValue);
collectOrderRequest.setEndTime(nowTime); collectOrderRequest.setEndTime(nowTime);
collectOrderRequest.setUploadStatus(1); //未上传 List<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);
collectOrderRequest.setUploadStatusList(list);
//调用上传单据 //调用上传单据
List<IoCollectOrderResponse> orderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest); List<IoCollectOrderResponse> orderResponses = ioCollectOrderBackupService.filterList(collectOrderRequest);
@ -84,9 +103,9 @@ public class AsyncIoCollectOrderUploadTask implements SchedulingConfigurer {
ioCollectOrderBackupService.orderUpload(item.getBillNo(),null); ioCollectOrderBackupService.orderUpload(item.getBillNo(),null);
}); });
} }
// 无限循环去上传单据不做限制了
ioCollectSet.setStartUploadTime(MsDateUtil.parseDate(nowTime)); // ioCollectSet.setStartUploadTime(MsDateUtil.parseDate(nowTime));
collectSetService.updateById(ioCollectSet); // collectSetService.updateById(ioCollectSet);
} }
}); });

@ -128,6 +128,14 @@
and icob.billTime <= DATE_FORMAT(#{endTime}, '%Y-%m-%d %H:%i:%S') and icob.billTime <= DATE_FORMAT(#{endTime}, '%Y-%m-%d %H:%i:%S')
]]> ]]>
</if> </if>
<if test="uploadStatusList!= null and uploadStatusList.size() > 0">
and uploadStatus IN
<foreach collection="uploadStatusList" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
</where> </where>
GROUP BY icob.billNo GROUP BY icob.billNo
order by case when icob.orderTime is null then icob.createTime else icob.orderTime end desc order by case when icob.orderTime is null then icob.createTime else icob.orderTime end desc

@ -4832,3 +4832,7 @@ CREATE TABLE IF NOT EXISTS`third_ali_drug`
CALL Pro_Temp_ColumnWork('sync_data_set', 'drugDataTask', CALL Pro_Temp_ColumnWork('sync_data_set', 'drugDataTask',
' tinyint NULL DEFAULT NULL COMMENT ''药品关联关系同步''', ' tinyint NULL DEFAULT NULL COMMENT ''药品关联关系同步''',
1); 1);
CALL Pro_Temp_ColumnWork('io_collect_set', 'startUploadHour',
' int DEFAULT NULL COMMENT ''自动上传已完成单据轮询时间''',
1);

Loading…
Cancel
Save