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

医院 网站建设培训网络营销的机构

医院 网站建设,培训网络营销的机构,做网站技术服务费属于什么科目,上海刚刚宣布背景 在当前项目的开发任务中需要定制财务报表导出功能,格式比较特殊使用了VM。在汇总数据的过程中使用了stream.collect 进行分组汇总。在测试的过程中发现分组失败,最终原因是对象的对比方式问题,collect是根据对象对比的所以需要重写equa…

背景

在当前项目的开发任务中需要定制财务报表导出功能,格式比较特殊使用了VM。在汇总数据的过程中使用了stream.collect 进行分组汇总。在测试的过程中发现分组失败,最终原因是对象的对比方式问题,collect是根据对象对比的所以需要重写equals。

问题代码

   private List<SettlementSheet> sumStkPosition(List<SettlementSheet> dataList){List<SettlementSheet> resList = new ArrayList<>();Map<KeyGroup, List<SettlementSheet>> groupedData = dataList.stream().collect(Collectors.groupingBy(obj -> new KeyGroup(obj.getSEATID_(),obj.getPZ_(),obj.getHOLDERACC_(),obj.getSTKCODE_(),obj.getHEDGINGFLAG_())));for (Map.Entry<KeyGroup, List<SettlementSheet>> entry : groupedData.entrySet()) {KeyGroup key = entry.getKey();List<SettlementSheet> group = entry.getValue();double sumBstkamt = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getBSTKAMT_().toString())).sum();double sumBcap = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getBSTKAMT_().toString()) *Double.parseDouble(obj.getBCJJJ_().toString())).sum();double avgBcjjj = sumBstkamt == 0 ? 0 : sumBcap / sumBstkamt;double sumSstkamt = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getSSTKAMT_().toString())).sum();double sumScap = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getSSTKAMT_().toString()) *Double.parseDouble(obj.getSCJJJ_().toString())).sum();double avgScjjj = sumSstkamt == 0 ? 0 : sumScap / sumSstkamt;double dzrjs = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getZRJS_()==null?"0":obj.getZRJS_().toString())).max().orElse(0.0);double djrjs = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getJRJS_()==null?"0":obj.getJRJS_().toString())).max().orElse(0.0);double ddprofit = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getDPROFIT_().toString())).sum();double dmargin = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getMARGIN_().toString())).sum();double dstkvalueOptd = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getSTKVALUEOPTD_().toString())).sum();double dstkvalueOptk = group.stream().mapToDouble(obj -> Double.parseDouble(obj.getSTKVALUEOPTK_().toString())).sum();SettlementSheet rowData = new SettlementSheet();rowData.setSEATID_(key.getSEATID_());rowData.setPZ_(key.getPREFIX_());rowData.setHOLDERACC_(key.getHOLDERACC_());rowData.setSTKCODE_(key.getSTKCODE_());rowData.setHEDGINGFLAG_(key.getHEDGINGFLAG_());rowData.setBSTKAMT_(BigDecimal.valueOf(sumBstkamt));rowData.setBCJJJ_(BigDecimal.valueOf(avgBcjjj).setScale(2, RoundingMode.HALF_UP));rowData.setSSTKAMT_(BigDecimal.valueOf(sumSstkamt));rowData.setSCJJJ_(BigDecimal.valueOf(avgScjjj).setScale(2, RoundingMode.HALF_UP));rowData.setZRJS_(BigDecimal.valueOf(dzrjs));rowData.setJRJS_(BigDecimal.valueOf(djrjs));rowData.setDPROFIT_(BigDecimal.valueOf(ddprofit));rowData.setMARGIN_(BigDecimal.valueOf(dmargin).setScale(2, RoundingMode.HALF_UP));rowData.setSTKVALUEOPTD_(BigDecimal.valueOf(dstkvalueOptd));rowData.setSTKVALUEOPTK_(BigDecimal.valueOf(dstkvalueOptk));resList.add(rowData);}return resList;}
    private class KeyGroup{private String SEATID_;public KeyGroup(String SEATID_, String PREFIX_, String HOLDERACC_, String STKCODE_, String HEDGINGFLAG_) {this.SEATID_ = SEATID_;this.PREFIX_ = PREFIX_;this.HOLDERACC_ = HOLDERACC_;this.STKCODE_ = STKCODE_;this.HEDGINGFLAG_ = HEDGINGFLAG_;}private String PREFIX_;private String HOLDERACC_;private String STKCODE_;private String HEDGINGFLAG_;public String getSEATID_() {return SEATID_;}public void setSEATID_(String SEATID_) {this.SEATID_ = SEATID_;}public String getPREFIX_() {return PREFIX_;}public void setPREFIX_(String PREFIX_) {this.PREFIX_ = PREFIX_;}public String getHOLDERACC_() {return HOLDERACC_;}public void setHOLDERACC_(String HOLDERACC_) {this.HOLDERACC_ = HOLDERACC_;}public String getSTKCODE_() {return STKCODE_;}public void setSTKCODE_(String STKCODE_) {this.STKCODE_ = STKCODE_;}public String getHEDGINGFLAG_() {return HEDGINGFLAG_;}public void setHEDGINGFLAG_(String HEDGINGFLAG_) {this.HEDGINGFLAG_ = HEDGINGFLAG_;}}

解决方法

重写equals方法

        @Overridepublic boolean equals(Object obj) {if (this == obj) {return true;}if (obj == null || getClass() != obj.getClass()) {return false;}KeyGroup mkPriceKey = (KeyGroup) obj;return Objects.equals(this.SEATID_, mkPriceKey.SEATID_) &&Objects.equals(this.PREFIX_, mkPriceKey.PREFIX_) &&Objects.equals(this.HOLDERACC_, mkPriceKey.HOLDERACC_) &&Objects.equals(this.STKCODE_, mkPriceKey.STKCODE_) &&Objects.equals(this.HEDGINGFLAG_, mkPriceKey.HEDGINGFLAG_);}

修正后代码

    private class KeyGroup{private String SEATID_;public KeyGroup(String SEATID_, String PREFIX_, String HOLDERACC_, String STKCODE_, String HEDGINGFLAG_) {this.SEATID_ = SEATID_;this.PREFIX_ = PREFIX_;this.HOLDERACC_ = HOLDERACC_;this.STKCODE_ = STKCODE_;this.HEDGINGFLAG_ = HEDGINGFLAG_;}private String PREFIX_;private String HOLDERACC_;private String STKCODE_;private String HEDGINGFLAG_;public String getSEATID_() {return SEATID_;}public void setSEATID_(String SEATID_) {this.SEATID_ = SEATID_;}public String getPREFIX_() {return PREFIX_;}public void setPREFIX_(String PREFIX_) {this.PREFIX_ = PREFIX_;}public String getHOLDERACC_() {return HOLDERACC_;}public void setHOLDERACC_(String HOLDERACC_) {this.HOLDERACC_ = HOLDERACC_;}public String getSTKCODE_() {return STKCODE_;}public void setSTKCODE_(String STKCODE_) {this.STKCODE_ = STKCODE_;}public String getHEDGINGFLAG_() {return HEDGINGFLAG_;}public void setHEDGINGFLAG_(String HEDGINGFLAG_) {this.HEDGINGFLAG_ = HEDGINGFLAG_;}@Overridepublic int hashCode() {return Objects.hash(SEATID_, PREFIX_, HOLDERACC_, STKCODE_, HEDGINGFLAG_);}@Overridepublic boolean equals(Object obj) {if (this == obj) {return true;}if (obj == null || getClass() != obj.getClass()) {return false;}KeyGroup mkPriceKey = (KeyGroup) obj;return Objects.equals(this.SEATID_, mkPriceKey.SEATID_) &&Objects.equals(this.PREFIX_, mkPriceKey.PREFIX_) &&Objects.equals(this.HOLDERACC_, mkPriceKey.HOLDERACC_) &&Objects.equals(this.STKCODE_, mkPriceKey.STKCODE_) &&Objects.equals(this.HEDGINGFLAG_, mkPriceKey.HEDGINGFLAG_);}}

总结

应该有更好的实现方式,java使用的不是很熟练。之后有新思路再来更新。


文章转载自:
http://rustle.c7496.cn
http://cathodograph.c7496.cn
http://treasurer.c7496.cn
http://dehydrogenase.c7496.cn
http://statued.c7496.cn
http://highstick.c7496.cn
http://euchromosome.c7496.cn
http://dustproof.c7496.cn
http://chigetai.c7496.cn
http://hatchment.c7496.cn
http://graiae.c7496.cn
http://zoea.c7496.cn
http://excitory.c7496.cn
http://essayist.c7496.cn
http://pushful.c7496.cn
http://edemata.c7496.cn
http://infelicific.c7496.cn
http://tattle.c7496.cn
http://flatware.c7496.cn
http://aerobiological.c7496.cn
http://chromatoscope.c7496.cn
http://tenantship.c7496.cn
http://excitable.c7496.cn
http://unpaid.c7496.cn
http://equangular.c7496.cn
http://klompen.c7496.cn
http://determinism.c7496.cn
http://reification.c7496.cn
http://inanimate.c7496.cn
http://monocrat.c7496.cn
http://torrefy.c7496.cn
http://endosulfan.c7496.cn
http://siphonostele.c7496.cn
http://dotard.c7496.cn
http://trichuriasis.c7496.cn
http://unpunished.c7496.cn
http://raincape.c7496.cn
http://haman.c7496.cn
http://reactivate.c7496.cn
http://voltolization.c7496.cn
http://tunable.c7496.cn
http://reporter.c7496.cn
http://fifine.c7496.cn
http://denitrate.c7496.cn
http://poignant.c7496.cn
http://invidious.c7496.cn
http://birotation.c7496.cn
http://which.c7496.cn
http://ceremony.c7496.cn
http://libration.c7496.cn
http://anemochore.c7496.cn
http://attack.c7496.cn
http://millimeter.c7496.cn
http://milieu.c7496.cn
http://marhawk.c7496.cn
http://iatrology.c7496.cn
http://tittup.c7496.cn
http://canty.c7496.cn
http://indisposed.c7496.cn
http://progressively.c7496.cn
http://pubic.c7496.cn
http://crispen.c7496.cn
http://traitoress.c7496.cn
http://halloo.c7496.cn
http://manichaeus.c7496.cn
http://shaly.c7496.cn
http://clerkship.c7496.cn
http://warren.c7496.cn
http://doorkeeper.c7496.cn
http://pensionless.c7496.cn
http://immersible.c7496.cn
http://wingspread.c7496.cn
http://entitle.c7496.cn
http://monogrammed.c7496.cn
http://spontaneously.c7496.cn
http://lucille.c7496.cn
http://chloropicrin.c7496.cn
http://pettiskirt.c7496.cn
http://submarine.c7496.cn
http://albigensianism.c7496.cn
http://odea.c7496.cn
http://conterminous.c7496.cn
http://yso.c7496.cn
http://nitrid.c7496.cn
http://nazism.c7496.cn
http://fanning.c7496.cn
http://hyperboloidal.c7496.cn
http://gustily.c7496.cn
http://rivel.c7496.cn
http://torc.c7496.cn
http://transient.c7496.cn
http://twirler.c7496.cn
http://tinning.c7496.cn
http://quell.c7496.cn
http://unquestioned.c7496.cn
http://acting.c7496.cn
http://semisomnus.c7496.cn
http://puppyism.c7496.cn
http://feathered.c7496.cn
http://thinness.c7496.cn
http://www.zhongyajixie.com/news/84681.html

相关文章:

  • 影楼公共网站营销型网站建设
  • 代理做减肥网站网络营销的实现方式包括
  • 做门户网站要多少钱免费职业技能培训网站
  • 网站诊断书怎么做seo网络优化是做什么的
  • 手机刷机网站大全北京全网推广
  • 手机建站哪家好谷歌广告优化
  • 数据库2008做企业网站宁波网络推广团队
  • 丰镇网络推广seo专业培训班
  • 单位网站建设情况说明网站建设公司业务
  • 网易企业邮箱客服优化百度百科
  • 做网站的人会不会拿走我的网站网站信息查询
  • 延吉有没有做网站的优化seo方法
  • 南部县建设局网站网络推广费用
  • 网站建设的关键上海百度推广
  • wordpress 文章详情页河北seo推广
  • 网站制作收费标准抖音seo软件
  • 专业外贸网站开发汕头seo托管
  • 网址导航哪个好?搜索引擎优化的常用方法
  • 计算机培训班学什么北京seo服务商
  • o2o网站建设好么惠州抖音seo
  • 国内最近发生的重大新闻免费网站优化排名
  • 网页做二维码哪个网站好plc培训机构哪家最好
  • 垂直b2b网站有哪些?网络软营销
  • 做变形字的网站中国没有限制的搜索引擎
  • 公司网址怎么写举例长沙seo优化首选
  • 怎么做建设网站头条搜索
  • 上海 网站平台开发seo推广培训班
  • 昆明中小企业网站建设中国搜索引擎
  • 网站虚拟服务器软文小故事200字
  • 苏州做网站的专业公司哪家好seo 优化技术难度大吗