当前位置: 首页 > wzjs >正文

thinphp 做外贸网站佛山市公司网站制作

thinphp 做外贸网站,佛山市公司网站制作,开发公司网签补充合同,wordpress上下篇JAVA组织/岗位拉取多段时间属性到一张表上时,时间段分隔问题 文章目录 JAVA组织/岗位拉取多段时间属性到一张表上时,时间段分隔问题前言一、基于时间点对时间分割二、引入断点概念总结 前言 前提概要 从SAP拉取的组织的情况下:由于组织会具有…

JAVA组织/岗位拉取多段时间属性到一张表上时,时间段分隔问题

文章目录

  • JAVA组织/岗位拉取多段时间属性到一张表上时,时间段分隔问题
  • 前言
  • 一、基于时间点对时间分割
  • 二、引入断点概念
  • 总结


前言

前提概要

从SAP拉取的组织的情况下:由于组织会具有多个子集信息,在SAP中存储。但是业务中只有一张组织表,同时存储SAP的子集信息。

多段的时间点如何赋值到主表中就成了问题。

SAP的数据中:组织的主数据中开始结束时间一定时连续的。但是由于业务的不精练,某些业务人员会对数据进行误操作,导致从SAP拉取的数据,在基于时间点的时间分割就会出现问题。

当然由于代码过于老旧,2年前的,而且从来都没有人想要去维护,导致我头疼不已。目前为止已经丢失了20几个过去组织数据,30余个岗位信息。


一、基于时间点对时间分割

思路:将所有的时间节点存储到Set集合中,时间点之间进行遍历。一定会得到最小线段,然后去赋值。 这样一定是两两存在,而且数据不会错乱。

但是这样真的对吗?
如果某一天的数据维护成了2025-05-04/2025-05-04,这是一个点的数据,这个点的数据时不能赋值到任意的时间段的。而且时间点的存在会导致奇数节点的存在,不能两两匹配。

二、引入断点概念

把A->A的天当作断点引入。
针对断点进行单独处理,必须是单独的,并且非常不建议连同一下个节点一起处理。

记录breakPointSet和timeSet。
如果当前节点是断点,则生成一条自己到自己的
如果下一个节点是断点,则生成两条:当前到断点-1天,断点到断点。
最终补一个数据,此数据是由于数据的不完全维护导致。

没有维护完整的子集数据。例如今天是2025-05-04,只维护了stdate到2025-05-01的数据,而没有维护9999-12-31,导致数据中多出一个结点。

代码如下(示例):


@SpringBootTest
public class UnitUpd {/*** 首先的一个大前提是,时间一定存在一个连续的*/@Testvoid unitLogic() {List<String> timeList = new ArrayList<>();//样式1:末尾时间是断点
//        timeList.add("2025-01-01/2025-01-04");
//        timeList.add("2025-01-05/2025-01-05");
//        timeList.add("2025-01-06/2025-01-10");
//        timeList.add("2025-01-01/2025-01-03");//样式2 数据不齐全
//        timeList.add("2025-01-01/2025-01-04");
//        timeList.add("2025-01-05/2025-01-05");
//        timeList.add("2025-01-06/2025-01-10");
//        timeList.add("2025-01-01/2025-01-08");//样式3
//        timeList.add("2025-01-01/2025-01-04");
//        timeList.add("2025-01-05/2025-01-05");
//        timeList.add("2025-01-06/2025-01-10");
//        timeList.add("2025-01-01/2025-01-10");
//
// 样式4
//        timeList.add("2025-01-03/2025-01-03");
//        timeList.add("2025-01-04/2025-01-04");
//        timeList.add("2025-01-05/2025-01-10");
//        timeList.add("2025-01-01/2025-01-03");
//        timeList.add("2025-01-01/2025-01-04");Set<String> timeSet = new TreeSet<>();Set<String> breakPointSet = new TreeSet<>();for (String time : timeList) {final String[] split = time.split("\\/");if (split[0].equals(split[1])) {breakPointSet.add(split[0]);}timeSet.add(split[0]);timeSet.add(split[1]);}System.out.println("breakPointSet:" + breakPointSet);System.out.println("timeSet:" + timeSet);List<String> resultList = new ArrayList<>();final Iterator<String> iterator = timeSet.iterator();String pre = null;// todo 上一个处理的节点,为填充数据做准备while (iterator.hasNext()) {final String now = iterator.next();if (breakPointSet.contains(now)) {resultList.add(now + "/" + now);pre = now;continue;}final boolean hasNext = iterator.hasNext();if (hasNext) { //有下一个节点String next = iterator.next();if (breakPointSet.contains(next)) { // todo 并且只处理下一个节点是断点的情况final String preDay = LocalDate.parse(next).minusDays(1).format(DateTimeFormatter.ISO_DATE);resultList.add(now + "/" + preDay);resultList.add(next + "/" + next);} elseresultList.add(now + "/" + next);pre = next;} else { //没有下一个节点的时候,判断自身节点是不是断点if (breakPointSet.contains(now)) {resultList.add(now + "/" + now);} else {final String preDay = LocalDate.parse(pre).plusDays(1).format(DateTimeFormatter.ISO_DATE);System.out.println("补充了数据" + preDay);resultList.add(preDay + "/" + now);}}}System.out.println("最终的数据:" + resultList);}
}

总结

力扣还是得刷

http://www.dtcms.com/wzjs/792990.html

相关文章:

  • 网络广告推广方案推广优化seo
  • 企业网站经典案例网上营销
  • 怎么成立个人网站建设网站的获客渠道
  • ps怎么在dw上做网站企业网站提交
  • 红河做网站如何自己创建一个小程序
  • 网站建设资金空间登录
  • 上海手机网站案例网站建设咨询服务合同
  • 手机网站怎么dw做制作一个静态网站源码
  • 网站建设需要什么硬件和软件有哪些绍兴网站制作软件
  • 绍兴企业免费建站网页设计实训总结结尾
  • 海拉尔建设局网站国内精品电影资源
  • 建立网站站建设可以吗网站建设属于哪个类目
  • 500云空间网站百度竞价托管外包
  • 国内优秀企业网站欣赏WordPress腾讯对象存储
  • 做网站需要哪些证书建设银行信用卡进度查询官方网站
  • p2p网站建设多少钱做性的网站有哪些
  • 哪些网站可以做免费外贸软件开发公司属于什么行业
  • 定制软件的平台电脑系统优化软件排行榜
  • 电商的网站开发订单返利功能郑州网站建设seo优化
  • 网站备案 加急买了个域名 如何自己做网站
  • 柯桥建设集团网站青岛专业网站建设哪家好
  • 网站建设公司 关于我们临沧seo
  • 网站页面优化分析帮企业建设网站销售
  • 网站主题说明怎么写文化传媒网站封面
  • 如何做一个网站的seo佛山做外贸网站如何
  • iis 5 新建网站中国做网站的网站
  • 阿里云网站建设步骤网络营销活动策划
  • 北京电商网站建设外包苏州教育网站建设
  • 青州网站建设青州自建站什么意思
  • 济南建站推荐企汇优见效付款邢台专业做wap网站