Commit bf2b6a9780c8b5fe2bf7500d6792e8f64c8cf28f
Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang
Showing
10 changed files
with
232 additions
and
114 deletions
Too many changes to show.
To preserve performance only 10 of 16 files are displayed.
src/main/java/com/bsth/controller/report/SheetController.java
| ... | ... | @@ -19,10 +19,10 @@ public class SheetController extends BaseController<Sheet, Integer>{ |
| 19 | 19 | @Autowired |
| 20 | 20 | SheetService sheetService; |
| 21 | 21 | @RequestMapping(value = "/saveListSheet",method = RequestMethod.POST) |
| 22 | - public String saveListSheet(){ | |
| 22 | + public String saveListSheet(@RequestParam String date){ | |
| 23 | 23 | String result=""; |
| 24 | 24 | try { |
| 25 | - result = sheetService.saveSheetList(); | |
| 25 | + result = sheetService.saveSheetList(date); | |
| 26 | 26 | } catch (Exception e) { |
| 27 | 27 | // TODO Auto-generated catch block |
| 28 | 28 | e.printStackTrace(); | ... | ... |
src/main/java/com/bsth/data/schedule/thread/CalcOilThread.java
| ... | ... | @@ -34,7 +34,7 @@ public class CalcOilThread extends Thread{ |
| 34 | 34 | dlbService.obtainDsq(); |
| 35 | 35 | logger.info("计算路单里程加注量结束!"); |
| 36 | 36 | logger.info("开始计算班次准点率...."); |
| 37 | - sheetService.saveSheetList(); | |
| 37 | + sheetService.saveSheetList(""); | |
| 38 | 38 | logger.info("计算班次准点率结束!"); |
| 39 | 39 | //清除安全驾驶数据 先临时蹭这个线程 |
| 40 | 40 | SafeDrivCenter.clear(); | ... | ... |
src/main/java/com/bsth/repository/oil/DlbRepository.java
| ... | ... | @@ -81,7 +81,8 @@ public interface DlbRepository extends BaseRepository<Dlb, Integer>{ |
| 81 | 81 | + " and nbbm like %?5%",nativeQuery=true) |
| 82 | 82 | List<Object[]> sumDlb2(String rq, String gsbm,String fgsbm,String xlbm,String nbbm); |
| 83 | 83 | |
| 84 | - | |
| 84 | + @Transactional | |
| 85 | + @Modifying | |
| 85 | 86 | @Query(value="UPDATE bsth_c_dlb SET " + |
| 86 | 87 | " czcd= ?2,"+ |
| 87 | 88 | " jzcd = ?3, " + | ... | ... |
src/main/java/com/bsth/repository/sheet/SheetRepository.java
| ... | ... | @@ -2,6 +2,8 @@ package com.bsth.repository.sheet; |
| 2 | 2 | |
| 3 | 3 | import com.bsth.entity.sheet.Sheet; |
| 4 | 4 | import com.bsth.repository.BaseRepository; |
| 5 | + | |
| 6 | +import org.springframework.data.jpa.repository.Query; | |
| 5 | 7 | import org.springframework.stereotype.Repository; |
| 6 | 8 | |
| 7 | 9 | /** |
| ... | ... | @@ -9,4 +11,6 @@ import org.springframework.stereotype.Repository; |
| 9 | 11 | */ |
| 10 | 12 | @Repository |
| 11 | 13 | public interface SheetRepository extends BaseRepository<Sheet, Integer>{ |
| 14 | + @Query(value = "select count(*) from Sheet s where s.date = ?1") | |
| 15 | + int countByDate(String date); | |
| 12 | 16 | } | ... | ... |
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
| ... | ... | @@ -559,8 +559,9 @@ public class FormsServiceImpl implements FormsService { |
| 559 | 559 | return sin; |
| 560 | 560 | } |
| 561 | 561 | }); |
| 562 | - | |
| 562 | + DecimalFormat df = new DecimalFormat("0.00"); | |
| 563 | 563 | List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); |
| 564 | + List<Dlb> listDlb= dlbRepository.obtainDl(startDate, gsdm, fgsdm, xlbm, "", "xlbm"); | |
| 564 | 565 | List<ScheduleRealInfo> listReal=scheduleRealInfoRepository.scheduleByDateAndLine(xlbm, startDate); |
| 565 | 566 | for (int i = 0; i < list.size(); i++) { |
| 566 | 567 | List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); |
| ... | ... | @@ -569,10 +570,12 @@ public class FormsServiceImpl implements FormsService { |
| 569 | 570 | String jsy=sin.getJsy(); |
| 570 | 571 | String clzbh=sin.getClzbh(); |
| 571 | 572 | String xl=sin.getxL(); |
| 573 | + String spy=sin.getSgh(); | |
| 572 | 574 | sin.setxL(BasicData.lineCode2NameMap.get(xl)); |
| 573 | 575 | for (int j = 0; j < listReal.size(); j++) { |
| 574 | 576 | ScheduleRealInfo s=listReal.get(j); |
| 575 | - if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)&&s.getXlBm().equals(xl)){ | |
| 577 | + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh) | |
| 578 | + &&s.getXlBm().equals(xl)&&s.getsGh().equals(spy)){ | |
| 576 | 579 | newList.add(s); |
| 577 | 580 | } |
| 578 | 581 | } |
| ... | ... | @@ -584,23 +587,39 @@ public class FormsServiceImpl implements FormsService { |
| 584 | 587 | double jcgl=culateMileageService.culateJccgl(newList); |
| 585 | 588 | double zyygl=Arith.add(yygl, ljgl); |
| 586 | 589 | double zksgl=Arith.add(ksgl, jcgl); |
| 590 | + double zlc=Arith.add(zyygl,zksgl); | |
| 587 | 591 | sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl))); |
| 588 | 592 | sin.setEmptMileage(String.valueOf(zksgl)); |
| 589 | 593 | sin.setJhjl(String.valueOf(jhgl)); |
| 590 | 594 | double yhl=0.0; |
| 591 | 595 | double jzl=0.0; |
| 592 | 596 | double fyy=0.0; |
| 597 | + double zlcs=0.0; | |
| 593 | 598 | for (int j = 0; j < listYlb.size(); j++) { |
| 594 | 599 | Ylb y=listYlb.get(j); |
| 595 | 600 | if(y.getJsy().equals(jsy) && y.getNbbm().equals(clzbh)){ |
| 596 | 601 | yhl=Arith.add(yhl, y.getYh()==null?0:y.getYh()); |
| 597 | 602 | jzl=Arith.add(jzl, y.getJzl()==null?0:y.getJzl()); |
| 598 | 603 | fyy=Arith.add(fyy, y.getSh()==null?0:y.getSh()); |
| 604 | + zlcs=Arith.add(zlcs, y.getZlc()==null?0:y.getZlc()); | |
| 599 | 605 | } |
| 600 | 606 | } |
| 601 | - sin.setHyl(String.valueOf(yhl)); | |
| 602 | - sin.setJzl(String.valueOf(jzl)); | |
| 603 | - sin.setUnyyyl(String.valueOf(fyy)); | |
| 607 | + | |
| 608 | + for(int j=0;j<listDlb.size();j++){ | |
| 609 | + Dlb d=listDlb.get(j); | |
| 610 | + if(d.getJsy().equals(jsy)&&d.getNbbm().equals(clzbh)){ | |
| 611 | + yhl=Arith.add(yhl, d.getHd()==null?0:d.getHd()); | |
| 612 | + jzl=Arith.add(jzl, d.getCdl()==null?0:d.getCdl()); | |
| 613 | + fyy=Arith.add(fyy, d.getSh()==null?0:d.getSh()); | |
| 614 | + zlcs=Arith.add(zlcs, d.getZlc()==null?0:d.getZlc()); | |
| 615 | + } | |
| 616 | + } | |
| 617 | + if(zlcs>0){ | |
| 618 | + double lcbfb= zlc/zlcs; | |
| 619 | + sin.setHyl(df.format(yhl*lcbfb)); | |
| 620 | + sin.setJzl(df.format(jzl*lcbfb)); | |
| 621 | + sin.setUnyyyl(df.format(fyy*lcbfb)); | |
| 622 | + } | |
| 604 | 623 | } |
| 605 | 624 | return list; |
| 606 | 625 | } |
| ... | ... | @@ -658,6 +677,24 @@ public class FormsServiceImpl implements FormsService { |
| 658 | 677 | return y; |
| 659 | 678 | } |
| 660 | 679 | }); |
| 680 | + | |
| 681 | + String dlbSql=" select * from bsth_c_dlb where rq BETWEEN '"+startDate+"' and '"+endDate+"'"; | |
| 682 | + if(xlbm.equals("")){ | |
| 683 | + ylbSql +="and ssgsdm='"+gsdm+"' " | |
| 684 | + + " and fgsdm='"+fgsdm+"'"; | |
| 685 | + }else{ | |
| 686 | + ylbSql += " and xlbm = '"+xlbm+"'"; | |
| 687 | + } | |
| 688 | + List<Dlb> dlbList= jdbcTemplate.query(dlbSql, new RowMapper<Dlb>() { | |
| 689 | + @Override | |
| 690 | + public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException { | |
| 691 | + Dlb d = new Dlb(); | |
| 692 | + d.setCdl(arg0.getDouble("cdl")); | |
| 693 | + d.setXlbm(arg0.getString("xlbm")); | |
| 694 | + d.setHd(arg0.getDouble("hd")); | |
| 695 | + return d; | |
| 696 | + } | |
| 697 | + }); | |
| 661 | 698 | List<ScheduleRealInfo> listReal; |
| 662 | 699 | if(xlbm.equals("")){ |
| 663 | 700 | listReal=scheduleRealInfoRepository.scheduleByDateAndLineTj(xlbm, startDate, endDate, gsdm, fgsdm); |
| ... | ... | @@ -700,6 +737,13 @@ public class FormsServiceImpl implements FormsService { |
| 700 | 737 | xhl=Arith.add(xhl, t.getYh()); |
| 701 | 738 | } |
| 702 | 739 | } |
| 740 | + for (int j = 0; j < dlbList.size(); j++) { | |
| 741 | + Dlb d=dlbList.get(j); | |
| 742 | + if(d.getXlbm().equals(line)){ | |
| 743 | + jzl=Arith.add(jzl, d.getCdl()); | |
| 744 | + xhl=Arith.add(xhl, d.getHd()); | |
| 745 | + } | |
| 746 | + } | |
| 703 | 747 | |
| 704 | 748 | o.setJzl(String.valueOf(jzl)); |
| 705 | 749 | o.setXhl(String.valueOf(xhl)); |
| ... | ... | @@ -731,7 +775,8 @@ public class FormsServiceImpl implements FormsService { |
| 731 | 775 | }); |
| 732 | 776 | |
| 733 | 777 | |
| 734 | - List<Ylb> listYlb= ylbRepository.obtainYl(startDate, "", "", line, "", "xlbm"); | |
| 778 | + List<Ylb> listYlb= ylbRepository.obtainYl(date, "", "", line, "", "xlbm"); | |
| 779 | + List<Dlb> listDlb= dlbRepository.obtainDl(date, "", "", line, "", "xlbm"); | |
| 735 | 780 | List<ScheduleRealInfo> listReal=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date); |
| 736 | 781 | for (int i = 0; i < list.size(); i++) { |
| 737 | 782 | List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>(); |
| ... | ... | @@ -771,6 +816,14 @@ public class FormsServiceImpl implements FormsService { |
| 771 | 816 | ns =Arith.add(ns, y.getNs()==null?0:y.getNs()); |
| 772 | 817 | } |
| 773 | 818 | } |
| 819 | + for (int j = 0; j < listDlb.size(); j++) { | |
| 820 | + Dlb d=listDlb.get(j); | |
| 821 | + if(d.getJsy().equals(jsy) && d.getNbbm().equals(clzbh)){ | |
| 822 | + yhl=Arith.add(yhl, d.getHd()==null?0:d.getHd()); | |
| 823 | + jzl=Arith.add(jzl, d.getCdl()==null?0:d.getCdl()); | |
| 824 | + fyy=Arith.add(fyy, d.getSh()==null?0:d.getSh()); | |
| 825 | + } | |
| 826 | + } | |
| 774 | 827 | sin.setHyl(String.valueOf(yhl)); |
| 775 | 828 | sin.setJzl(String.valueOf(jzl)); |
| 776 | 829 | sin.setUnyyyl(String.valueOf(fyy)); | ... | ... |
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
| ... | ... | @@ -704,15 +704,7 @@ public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbS |
| 704 | 704 | // String nbbm =jsonObject.getString("nbbm"); |
| 705 | 705 | // String rq=jsonObject.getString("rq"); |
| 706 | 706 | repository.dlbUpdate(id, czcd, jzcd, hd, sh, shyy, yhlx); |
| 707 | - /*for (int z = 0; z < cylList.size(); z++) { | |
| 708 | - Cyl cyl = cylList.get(z); | |
| 709 | - if (nbbm.equals(cyl.getNbbm())) { | |
| 710 | - cyl.setCyl(jzyl); | |
| 711 | - cyl.setUpdatetime(sdf.parse(rq)); | |
| 712 | - break; | |
| 713 | - } | |
| 714 | - cylRepository.save(cyl); | |
| 715 | - }*/ | |
| 707 | + | |
| 716 | 708 | } |
| 717 | 709 | newMap.put("status", ResponseCode.SUCCESS); |
| 718 | 710 | }catch(Exception e){ | ... | ... |
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
| ... | ... | @@ -731,12 +731,31 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 731 | 731 | state = state + "+1"; |
| 732 | 732 | type = "ASC"; |
| 733 | 733 | } |
| 734 | - String sqlPlan = "select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh," | |
| 735 | - + " s.lp_Name as lpName,s.j_Name as jName,min(s.schedule_date_str) as dateStr ,min(s.fcsj) as fcsj" | |
| 734 | + /*String sqlPlan = "select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh," | |
| 735 | + + " s.lp_Name as lpName,s.j_Name as jName,min(s.schedule_date_str) as dateStr ," | |
| 736 | + + " min(s.fcsj) as fcsj, min(s.schedule_date) as date" | |
| 736 | 737 | + " from bsth_c_s_sp_info_real s " |
| 737 | 738 | + " where s.xl_Bm = '" + line + "' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='" + date + "' " |
| 738 | 739 | + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name" |
| 739 | - + " order by (" + state + "),dateStr,fcsj " + type; | |
| 740 | + + " order by (" + state + "),dateStr,fcsj " + type;*/ | |
| 741 | + String sqlMinYysj="select start_opt from bsth_c_line_config where " | |
| 742 | + + " id = (" | |
| 743 | + + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" | |
| 744 | + + ")"; | |
| 745 | + String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class); | |
| 746 | + String sqlPlan ="select * from (select * from (" | |
| 747 | + + " select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh, " | |
| 748 | + + " s.lp_Name as lpName,s.j_Name as jName,max(s.schedule_date_str) as dateStr ," | |
| 749 | + + " min(s.fcsj) as fcsj,1 as px from bsth_c_s_sp_info_real s where " | |
| 750 | + + " s.xl_Bm = '"+line+"' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='"+date+"'" | |
| 751 | + + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name ) x where x.fcsj >'"+minfcsj+"'" | |
| 752 | + + " UNION " | |
| 753 | + + " select * from ( select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh, " | |
| 754 | + + " s.lp_Name as lpName,s.j_Name as jName, max(s.schedule_date_str) as dateStr," | |
| 755 | + + " min(s.fcsj) as fcsj,2 as px from bsth_c_s_sp_info_real s " | |
| 756 | + + " where s.xl_Bm = '"+line+"' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='"+date+"'" | |
| 757 | + + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name " | |
| 758 | + + " ) y where y.fcsj <='"+minfcsj+"') z order by (" + state + "),dateStr,px " + type; | |
| 740 | 759 | List<ScheduleRealInfo> list = jdbcTemplate.query(sqlPlan, |
| 741 | 760 | new RowMapper<ScheduleRealInfo>() { |
| 742 | 761 | @Override |
| ... | ... | @@ -747,10 +766,48 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 747 | 766 | t.setClZbh(rs.getString("clZbh")); |
| 748 | 767 | t.setLpName(rs.getString("lpName")); |
| 749 | 768 | t.setjName(rs.getString("jName")); |
| 769 | + t.setFcsj(rs.getString("fcsj")); | |
| 750 | 770 | return t; |
| 751 | 771 | } |
| 752 | 772 | }); |
| 753 | 773 | if (lpname.equals("lpName")) { |
| 774 | + /* SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
| 775 | + String sqlMinYysj="select start_opt from bsth_c_line_config where " | |
| 776 | + + " id = (" | |
| 777 | + + "select max(id) from bsth_c_line_config where line ='"+BasicData.lineId2CodeMap.inverse().get(line) +"'" | |
| 778 | + + ")"; | |
| 779 | + String minfcsj=jdbcTemplate.queryForObject(sqlMinYysj, String.class); | |
| 780 | + String[] minSjs = minfcsj.split(":"); | |
| 781 | + Long minSj=Long.parseLong(minSjs[0])*60+Long.parseLong(minSjs[1]); | |
| 782 | + for (int i = 0; i < list.size(); i++) { | |
| 783 | + ScheduleRealInfo s=list.get(i); | |
| 784 | + String[] fcsj= s.getFcsj().split(":"); | |
| 785 | + Long fcsjL=Long.parseLong(fcsj[0])*60+Long.parseLong(fcsj[1]); | |
| 786 | + | |
| 787 | + Long fscjT=0L; | |
| 788 | + if(fcsjL<minSj){ | |
| 789 | + Calendar calendar = new GregorianCalendar(); | |
| 790 | + calendar.setTime(s.getScheduleDate()); | |
| 791 | + calendar.add(calendar.DATE,1); | |
| 792 | + s.setScheduleDate(calendar.getTime()); | |
| 793 | + try { | |
| 794 | + fscjT = sdf.parse(sdf.format(s.getScheduleDate())+" "+s.getFcsj()).getTime(); | |
| 795 | + } catch (ParseException e) { | |
| 796 | + // TODO Auto-generated catch block | |
| 797 | + e.printStackTrace(); | |
| 798 | + } | |
| 799 | + | |
| 800 | + }else{ | |
| 801 | + try { | |
| 802 | + fscjT =sdf.parse(s.getScheduleDateStr()+" "+s.getFcsj()).getTime(); | |
| 803 | + } catch (ParseException e) { | |
| 804 | + // TODO Auto-generated catch block | |
| 805 | + e.printStackTrace(); | |
| 806 | + }; | |
| 807 | + } | |
| 808 | + s.setFcsjT(fscjT); | |
| 809 | + } | |
| 810 | + Collections.sort(list, new ComparableReal());*/ | |
| 754 | 811 | List<ScheduleRealInfo> listNew = new ArrayList<ScheduleRealInfo>(); |
| 755 | 812 | Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); |
| 756 | 813 | // if (px.equals("desc")) { |
| ... | ... | @@ -2617,6 +2674,7 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2617 | 2674 | }*/ |
| 2618 | 2675 | |
| 2619 | 2676 | public final Map<String, Object> staticTj(List<ScheduleRealInfo> list){ |
| 2677 | + | |
| 2620 | 2678 | List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>(); |
| 2621 | 2679 | for(int i=0;i<list.size();i++){ |
| 2622 | 2680 | ScheduleRealInfo s=list.get(i); |
| ... | ... | @@ -2630,57 +2688,59 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf |
| 2630 | 2688 | } |
| 2631 | 2689 | } |
| 2632 | 2690 | Map<String, Object> map = new HashMap<String, Object>(); |
| 2633 | - map.put("xlName", lists.get(0).getXlName()); | |
| 2634 | - double jhyygl=culateService.culateJhgl(list);//计划营运公里 | |
| 2635 | - double jhjcclc= culateService.culateJhJccgl(list);//计划进出场公里(计划空驶公里) | |
| 2636 | - map.put("jhlc", jhyygl); | |
| 2637 | - map.put("jcclc", jhjcclc); | |
| 2638 | - map.put("jhzlc", Arith.add(jhyygl, jhjcclc)); | |
| 2639 | - | |
| 2640 | - double ljgl= culateService.culateLjgl(lists); | |
| 2641 | - double sjyygl= culateService.culateSjgl(lists); | |
| 2642 | - double zyygl= Arith.add(sjyygl,ljgl); | |
| 2643 | - | |
| 2644 | - double sjjccgl=culateService.culateJccgl(lists); | |
| 2645 | - double sjksgl=culateService.culateKsgl(lists); | |
| 2646 | - double zksgl=Arith.add(sjjccgl, sjksgl); | |
| 2647 | - map.put("sjzgl", Arith.add(zyygl, zksgl)); | |
| 2648 | - map.put("sjgl",zyygl); | |
| 2649 | - map.put("sjksgl", zksgl); | |
| 2650 | - | |
| 2651 | - map.put("ssgl", culateService.culateLbgl(list)); | |
| 2652 | - map.put("ssgl_lz", culateService.culateCJLC(list, "路阻")); | |
| 2653 | - map.put("ssgl_dm", culateService.culateCJLC(list, "吊慢")); | |
| 2654 | - map.put("ssgl_gz", culateService.culateCJLC(list, "故障")); | |
| 2655 | - map.put("ssgl_jf", culateService.culateCJLC(list, "纠纷")); | |
| 2656 | - map.put("ssgl_zs", culateService.culateCJLC(list, "肇事")); | |
| 2657 | - map.put("ssgl_qr", culateService.culateCJLC(list, "缺人")); | |
| 2658 | - map.put("ssgl_qc", culateService.culateCJLC(list, "缺车")); | |
| 2659 | - map.put("ssgl_kx", culateService.culateCJLC(list, "客稀")); | |
| 2660 | - map.put("ssgl_qh", culateService.culateCJLC(list, "气候")); | |
| 2661 | - map.put("ssgl_yw", culateService.culateCJLC(list, "援外")); | |
| 2662 | - map.put("ssgl_other", culateService.culateCJLC(list, "其他")); | |
| 2663 | - map.put("ssbc", culateService.culateLbbc(list)); | |
| 2664 | - map.put("ljgl", ljgl); | |
| 2665 | - map.put("jhbc", culateService.culateJhbc(list,"")); | |
| 2666 | - map.put("jhbc_m", culateService.culateJhbc(list, "zgf")); | |
| 2667 | - map.put("jhbc_a", culateService.culateJhbc(list, "wgf")); | |
| 2668 | - map.put("sjbc", culateService.culateSjbc(lists,"")); | |
| 2669 | - map.put("sjbc_m", culateService.culateSjbc(lists,"zgf")); | |
| 2670 | - map.put("sjbc_a", culateService.culateSjbc(lists,"wgf")); | |
| 2671 | - map.put("ljbc", culateService.culateLjbc(lists,"")); | |
| 2672 | - map.put("ljbc_m", culateService.culateLjbc(lists,"zgf")); | |
| 2673 | - map.put("ljbc_a", culateService.culateLjbc(lists,"wgf")); | |
| 2674 | - map.put("fzbc", culateService.culateFzbc(lists, "")); | |
| 2675 | - map.put("fzbc_m", culateService.culateFzbc(lists, "zgf")); | |
| 2676 | - map.put("fzbc_a", culateService.culateFzbc(lists, "wgf")); | |
| 2677 | - map.put("dtbc", 0); | |
| 2678 | - map.put("dtbc_m", 0); | |
| 2679 | - map.put("dtbc_a", 0); | |
| 2680 | - map.put("djg", 0); | |
| 2681 | - map.put("djg_m", 0); | |
| 2682 | - map.put("djg_a", 0); | |
| 2683 | - map.put("djg_time", 0); | |
| 2691 | + if(list.size()>0){ | |
| 2692 | + map.put("xlName", list.get(0).getXlName()); | |
| 2693 | + double jhyygl=culateService.culateJhgl(list);//计划营运公里 | |
| 2694 | + double jhjcclc= culateService.culateJhJccgl(list);//计划进出场公里(计划空驶公里) | |
| 2695 | + map.put("jhlc", jhyygl); | |
| 2696 | + map.put("jcclc", jhjcclc); | |
| 2697 | + map.put("jhzlc", Arith.add(jhyygl, jhjcclc)); | |
| 2698 | + | |
| 2699 | + double ljgl= culateService.culateLjgl(lists); | |
| 2700 | + double sjyygl= culateService.culateSjgl(lists); | |
| 2701 | + double zyygl= Arith.add(sjyygl,ljgl); | |
| 2702 | + | |
| 2703 | + double sjjccgl=culateService.culateJccgl(lists); | |
| 2704 | + double sjksgl=culateService.culateKsgl(lists); | |
| 2705 | + double zksgl=Arith.add(sjjccgl, sjksgl); | |
| 2706 | + map.put("sjzgl", Arith.add(zyygl, zksgl)); | |
| 2707 | + map.put("sjgl",zyygl); | |
| 2708 | + map.put("sjksgl", zksgl); | |
| 2709 | + | |
| 2710 | + map.put("ssgl", culateService.culateLbgl(list)); | |
| 2711 | + map.put("ssgl_lz", culateService.culateCJLC(list, "路阻")); | |
| 2712 | + map.put("ssgl_dm", culateService.culateCJLC(list, "吊慢")); | |
| 2713 | + map.put("ssgl_gz", culateService.culateCJLC(list, "故障")); | |
| 2714 | + map.put("ssgl_jf", culateService.culateCJLC(list, "纠纷")); | |
| 2715 | + map.put("ssgl_zs", culateService.culateCJLC(list, "肇事")); | |
| 2716 | + map.put("ssgl_qr", culateService.culateCJLC(list, "缺人")); | |
| 2717 | + map.put("ssgl_qc", culateService.culateCJLC(list, "缺车")); | |
| 2718 | + map.put("ssgl_kx", culateService.culateCJLC(list, "客稀")); | |
| 2719 | + map.put("ssgl_qh", culateService.culateCJLC(list, "气候")); | |
| 2720 | + map.put("ssgl_yw", culateService.culateCJLC(list, "援外")); | |
| 2721 | + map.put("ssgl_other", culateService.culateCJLC(list, "其他")); | |
| 2722 | + map.put("ssbc", culateService.culateLbbc(list)); | |
| 2723 | + map.put("ljgl", ljgl); | |
| 2724 | + map.put("jhbc", culateService.culateJhbc(list,"")); | |
| 2725 | + map.put("jhbc_m", culateService.culateJhbc(list, "zgf")); | |
| 2726 | + map.put("jhbc_a", culateService.culateJhbc(list, "wgf")); | |
| 2727 | + map.put("sjbc", culateService.culateSjbc(lists,"")); | |
| 2728 | + map.put("sjbc_m", culateService.culateSjbc(lists,"zgf")); | |
| 2729 | + map.put("sjbc_a", culateService.culateSjbc(lists,"wgf")); | |
| 2730 | + map.put("ljbc", culateService.culateLjbc(lists,"")); | |
| 2731 | + map.put("ljbc_m", culateService.culateLjbc(lists,"zgf")); | |
| 2732 | + map.put("ljbc_a", culateService.culateLjbc(lists,"wgf")); | |
| 2733 | + map.put("fzbc", culateService.culateFzbc(lists, "")); | |
| 2734 | + map.put("fzbc_m", culateService.culateFzbc(lists, "zgf")); | |
| 2735 | + map.put("fzbc_a", culateService.culateFzbc(lists, "wgf")); | |
| 2736 | + map.put("dtbc", 0); | |
| 2737 | + map.put("dtbc_m", 0); | |
| 2738 | + map.put("dtbc_a", 0); | |
| 2739 | + map.put("djg", 0); | |
| 2740 | + map.put("djg_m", 0); | |
| 2741 | + map.put("djg_a", 0); | |
| 2742 | + map.put("djg_time", 0); | |
| 2743 | + } | |
| 2684 | 2744 | return map; |
| 2685 | 2745 | } |
| 2686 | 2746 | ... | ... |
src/main/java/com/bsth/service/report/SheetService.java
| ... | ... | @@ -8,7 +8,7 @@ import com.bsth.service.BaseService; |
| 8 | 8 | |
| 9 | 9 | public interface SheetService extends BaseService<Sheet, Integer>{ |
| 10 | 10 | public List<Map<String, Object>> bcPunctual(Map<String, Object> map); |
| 11 | - public String saveSheetList() throws Exception; | |
| 11 | + public String saveSheetList(String date) throws Exception; | |
| 12 | 12 | public List<Map<String, Object>> countList(Map<String, Object> map); |
| 13 | 13 | |
| 14 | 14 | public List<Sheet> sheetList(Integer id); | ... | ... |
src/main/java/com/bsth/service/report/impl/SheetServiceImpl.java
| ... | ... | @@ -82,48 +82,53 @@ public class SheetServiceImpl extends BaseServiceImpl<Sheet, Integer> implements |
| 82 | 82 | return fage; |
| 83 | 83 | } |
| 84 | 84 | @Override |
| 85 | - public String saveSheetList() throws Exception{ | |
| 85 | + public String saveSheetList(String rq) throws Exception{ | |
| 86 | 86 | Map<String, Object> map=new HashMap<String,Object>(); |
| 87 | 87 | String result = "failure"; |
| 88 | + | |
| 88 | 89 | try { |
| 89 | 90 | SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); |
| 90 | - Date dNow = new Date(); //当前时间 | |
| 91 | - Calendar calendar = Calendar.getInstance(); //得到日历 | |
| 92 | - calendar.setTime(dNow);//把当前时间赋给日历 | |
| 93 | - calendar.add(Calendar.DAY_OF_MONTH, -3); //设置为前三天 | |
| 94 | - | |
| 95 | - String rq=sdf.format(calendar.getTime()); | |
| 96 | -// String rq="2017-05-16"; | |
| 97 | - | |
| 98 | - List<Line> lineList = (List<Line>) lineRepository.findAll(); | |
| 99 | 91 | |
| 100 | - List<ScheduleRealInfo> lists= scheduleRealInfoRepository.findByDate(rq); | |
| 101 | - List<Sheet> listAdds=new ArrayList<Sheet>(); | |
| 102 | - for (int i = 0; i < lineList.size(); i++) { | |
| 103 | - List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); | |
| 104 | - String line=lineList.get(i).getLineCode(); | |
| 105 | - for (int j = 0; j < lists.size(); j++) { | |
| 106 | - ScheduleRealInfo s=lists.get(j); | |
| 107 | - if(!isInOut(s)){ | |
| 108 | - if(s.getXlBm().equals(line)){ | |
| 109 | - list.add(s); | |
| 92 | + if(rq.equals("")){ | |
| 93 | + Date dNow = new Date(); //当前时间 | |
| 94 | + Calendar calendar = Calendar.getInstance(); //得到日历 | |
| 95 | + calendar.setTime(dNow);//把当前时间赋给日历 | |
| 96 | + calendar.add(Calendar.DAY_OF_MONTH, -3); //设置为前三天 | |
| 97 | + rq=sdf.format(calendar.getTime()); | |
| 98 | + } | |
| 99 | + int count=sheetRepository.countByDate(rq); | |
| 100 | + if(count<=0){ | |
| 101 | + List<Line> lineList = (List<Line>) lineRepository.findAll(); | |
| 102 | + | |
| 103 | + List<ScheduleRealInfo> lists= scheduleRealInfoRepository.findByDate(rq); | |
| 104 | + List<Sheet> listAdds=new ArrayList<Sheet>(); | |
| 105 | + for (int i = 0; i < lineList.size(); i++) { | |
| 106 | + List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>(); | |
| 107 | + String line=lineList.get(i).getLineCode(); | |
| 108 | + for (int j = 0; j < lists.size(); j++) { | |
| 109 | + ScheduleRealInfo s=lists.get(j); | |
| 110 | + if(!isInOut(s)){ | |
| 111 | + if(s.getXlBm().equals(line)){ | |
| 112 | + list.add(s); | |
| 113 | + } | |
| 110 | 114 | } |
| 111 | 115 | } |
| 112 | - | |
| 113 | - } | |
| 114 | - if(list.size()>0){ | |
| 115 | - List<Sheet> listAdd=punctualByLine(line,list); | |
| 116 | - if(listAdd.size()>0){ | |
| 117 | - listAdds.addAll(listAdd); | |
| 116 | + if(list.size()>0){ | |
| 117 | + List<Sheet> listAdd=punctualByLine(line,list); | |
| 118 | + if(listAdd.size()>0){ | |
| 119 | + listAdds.addAll(listAdd); | |
| 120 | + } | |
| 118 | 121 | } |
| 122 | + | |
| 119 | 123 | } |
| 120 | 124 | |
| 121 | - } | |
| 122 | - | |
| 123 | - if(listAdds.size()>0){ | |
| 124 | - new BatchSaveUtils<Sheet>().saveList(listAdds, Sheet.class); | |
| 125 | - } | |
| 126 | - result = "success"; | |
| 125 | + if(listAdds.size()>0){ | |
| 126 | + new BatchSaveUtils<Sheet>().saveList(listAdds, Sheet.class); | |
| 127 | + } | |
| 128 | + result = "success"; | |
| 129 | + }else{ | |
| 130 | + result ="count"; | |
| 131 | + } | |
| 127 | 132 | }catch (Exception e) { |
| 128 | 133 | // TODO Auto-generated catch block |
| 129 | 134 | throw e; | ... | ... |
src/main/java/com/bsth/service/schedule/impl/PeopleCarPlanServiceImpl.java
| ... | ... | @@ -801,6 +801,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 801 | 801 | String nbbm = map.get("nbbm").toString(); |
| 802 | 802 | String type = map.get("type").toString(); |
| 803 | 803 | |
| 804 | + String companyName = ""; | |
| 805 | + String subCompanyName = ""; | |
| 806 | + String lineName = ""; | |
| 807 | + | |
| 804 | 808 | if(startDate.length() == 0){ |
| 805 | 809 | startDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); |
| 806 | 810 | } |
| ... | ... | @@ -934,8 +938,6 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 934 | 938 | tempList.add(m7); |
| 935 | 939 | } |
| 936 | 940 | |
| 937 | - String companyName = ""; | |
| 938 | - String subCompanyName = ""; | |
| 939 | 941 | |
| 940 | 942 | //按时间段分组 |
| 941 | 943 | for(ScheduleRealInfo schedule : list){ |
| ... | ... | @@ -947,6 +949,10 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 947 | 949 | &&schedule.getFgsName().trim().length()!=0){ |
| 948 | 950 | subCompanyName = schedule.getFgsName(); |
| 949 | 951 | } |
| 952 | + if(lineName.length()==0&&schedule.getXlName()!=null | |
| 953 | + &&schedule.getXlName().trim().length()!=0){ | |
| 954 | + lineName = schedule.getXlName(); | |
| 955 | + } | |
| 950 | 956 | |
| 951 | 957 | if(schedule.getFcsjActualTime()!=null && schedule.getZdsjActualTime()!=null){ |
| 952 | 958 | Long fcsjA = schedule.getFcsjActualTime(); |
| ... | ... | @@ -1005,6 +1011,9 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1005 | 1011 | for(String key : keyMap.keySet()){ |
| 1006 | 1012 | Map<String, Object> m = null; |
| 1007 | 1013 | for(Map<String, Object> map2 : tempList){ |
| 1014 | + map2.put("line", lineName.trim()); | |
| 1015 | + map2.put("company", companyName.trim()); | |
| 1016 | + map2.put("subCompany", subCompanyName.trim()); | |
| 1008 | 1017 | if(map2.get("time").toString().equals(key)){ |
| 1009 | 1018 | m = map2; |
| 1010 | 1019 | } |
| ... | ... | @@ -1020,18 +1029,12 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService { |
| 1020 | 1029 | dnbc++; |
| 1021 | 1030 | dnys += schedule.getZdsjActualTime() - schedule.getFcsjActualTime(); |
| 1022 | 1031 | } |
| 1023 | - | |
| 1024 | - if(schedule.getXlName() != null && schedule.getXlName().trim().length() != 0){ | |
| 1025 | - m.put("line", schedule.getXlName()); | |
| 1026 | - } | |
| 1027 | 1032 | } |
| 1028 | 1033 | m.put("upbc", upbc); |
| 1029 | 1034 | m.put("dnbc", dnbc); |
| 1030 | 1035 | m.put("upys", upbc > 0 ? nf.format((float)upys / upbc) : "/"); |
| 1031 | 1036 | m.put("dnys", dnbc > 0 ? nf.format((float)dnys / dnbc) : "/"); |
| 1032 | 1037 | m.put("pjys", (upbc + dnbc) > 0 ? nf.format((float) (upys + dnys) / (upbc + dnbc)) : "/"); |
| 1033 | - m.put("company", companyName.trim()); | |
| 1034 | - m.put("subCompany", subCompanyName.trim()); | |
| 1035 | 1038 | } |
| 1036 | 1039 | |
| 1037 | 1040 | if(flag){ | ... | ... |