Commit 9024e8aca70caf66432b4484d86be27b0d0025c4

Authored by 潘钊
2 parents 28c7a87d 9b27c59d

Merge branch 'minhang' of http://222.66.0.204:8090/panzhaov5/bsth_control into minhang

Too many changes to show.

To preserve performance only 13 of 26 files are displayed.

src/main/java/com/bsth/controller/forms/ExportController.java
... ... @@ -190,9 +190,6 @@ public class ExportController {
190 190 m.put("clzbh", l.getClzbh());
191 191 m.put("jsy", l.getJsy());
192 192 m.put("jName", l.getjName());
193   -
194   -
195   -
196 193 m.put("sgh", l.getSgh());
197 194 m.put("sName", l.getsName());
198 195 m.put("jhlc", l.getJhlc());
... ...
src/main/java/com/bsth/controller/forms/MCY_FormsController.java
... ... @@ -78,6 +78,13 @@ public class MCY_FormsController {
78 78  
79 79 return formsService.singledata(map);
80 80 }
  81 +
  82 + // 路单数据
  83 + @RequestMapping(value = "/singledatanew", method = RequestMethod.GET)
  84 + public List<Singledata> singledatanew(@RequestParam Map<String, Object> map) {
  85 +
  86 + return formsService.singledata(map);
  87 + }
81 88  
82 89 // 车辆加注
83 90 @RequestMapping(value = "/vehicleloading", method = RequestMethod.GET)
... ...
src/main/java/com/bsth/controller/oil/YlxxbController.java
1 1 package com.bsth.controller.oil;
2 2  
3 3 import java.util.HashMap;
  4 +import java.util.List;
4 5 import java.util.Map;
5 6  
6 7 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -28,6 +29,12 @@ public class YlxxbController extends BaseController&lt;Ylxxb, Integer&gt;{
28 29 return pagequery;
29 30 }
30 31  
  32 + @RequestMapping(value = "/listNbbm",method = RequestMethod.GET)
  33 + public List<Ylxxb> listNbbm(@RequestParam Map<String, Object> map){
  34 + List<Ylxxb> list=service.Pagequery_nbbm(map);
  35 + return list;
  36 + }
  37 +
31 38  
32 39 /**
33 40 * 核对油量(有加油没里程)
... ... @@ -45,4 +52,17 @@ public class YlxxbController extends BaseController&lt;Ylxxb, Integer&gt;{
45 52 }
46 53 return list;
47 54 }
  55 +
  56 + @RequestMapping(value = "/checkNbbm",method = RequestMethod.POST)
  57 + public Map<String, Object> checkNbbm(@RequestParam Map<String, Object> map){
  58 + Map<String, Object> list=new HashMap<>();
  59 + try {
  60 + list = service.checkNbbm(map);
  61 + } catch (Exception e) {
  62 + // TODO Auto-generated catch block
  63 + e.printStackTrace();
  64 + }
  65 + return list;
  66 + }
  67 +
48 68 }
... ...
src/main/java/com/bsth/data/gpsdata/arrival/entity/TimedEnableStationRoute.java
1   -package com.bsth.data.gpsdata.arrival.entity;
2   -
3   -/**
4   - * 定时启用站点路由
5   - * Created by panzhao on 2017/8/28.
6   - */
7   -public class TimedEnableStationRoute {
8   -
9   - private String lineCode;
10   -
11   - private Long enableTime;
12   -
13   - public String getLineCode() {
14   - return lineCode;
15   - }
16   -
17   - public void setLineCode(String lineCode) {
18   - this.lineCode = lineCode;
19   - }
20   -
21   - public Long getEnableTime() {
22   - return enableTime;
23   - }
24   -
25   - public void setEnableTime(Long enableTime) {
26   - this.enableTime = enableTime;
27   - }
28   -}
  1 +package com.bsth.data.gpsdata.arrival.entity;
  2 +
  3 +/**
  4 + * 定时启用站点路由
  5 + * Created by panzhao on 2017/8/28.
  6 + */
  7 +public class TimedEnableStationRoute {
  8 +
  9 + private String lineCode;
  10 +
  11 + private Long enableTime;
  12 +
  13 + public String getLineCode() {
  14 + return lineCode;
  15 + }
  16 +
  17 + public void setLineCode(String lineCode) {
  18 + this.lineCode = lineCode;
  19 + }
  20 +
  21 + public Long getEnableTime() {
  22 + return enableTime;
  23 + }
  24 +
  25 + public void setEnableTime(Long enableTime) {
  26 + this.enableTime = enableTime;
  27 + }
  28 +}
... ...
src/main/java/com/bsth/entity/oil/Ylxxb.java
... ... @@ -38,7 +38,7 @@ public class Ylxxb {
38 38 private Integer nylx;
39 39 @Transient
40 40 private String ldgh;
41   - //0为接口数据,1为手工输入
  41 + //0为接口数据,1为手工输入,2为改变车号,3为改变驾驶员
42 42 private Integer jylx=0;
43 43 @Transient
44 44 private String gsname;
... ...
src/main/java/com/bsth/entity/oil/YlxxbUpdate.java 0 → 100644
  1 +package com.bsth.entity.oil;
  2 +
  3 +import java.util.Date;
  4 +
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.Id;
  8 +import javax.persistence.Table;
  9 +import javax.persistence.Transient;
  10 +
  11 +import org.springframework.format.annotation.DateTimeFormat;
  12 +
  13 +import com.bsth.data.BasicData;
  14 +
  15 +@Entity
  16 +@Table(name = "bsth_c_ylxxb_update")
  17 +public class YlxxbUpdate {
  18 + @Id
  19 + @GeneratedValue
  20 + private Integer id;
  21 + @DateTimeFormat(pattern="yyyy-MM-dd")
  22 + private Date yyrq;
  23 + private Date jlrq;
  24 + private String nbbm;
  25 + private String jsy;
  26 + private Double jzl;
  27 + private String stationid;
  28 + private Date createtime;
  29 + private String gsdm;
  30 +
  31 + private Date xgrq;
  32 + private String xgr;
  33 + private String tj;
  34 + public Integer getId() {
  35 + return id;
  36 + }
  37 + public void setId(Integer id) {
  38 + this.id = id;
  39 + }
  40 + public Date getYyrq() {
  41 + return yyrq;
  42 + }
  43 + public void setYyrq(Date yyrq) {
  44 + this.yyrq = yyrq;
  45 + }
  46 + public Date getJlrq() {
  47 + return jlrq;
  48 + }
  49 + public void setJlrq(Date jlrq) {
  50 + this.jlrq = jlrq;
  51 + }
  52 + public String getNbbm() {
  53 + return nbbm;
  54 + }
  55 + public void setNbbm(String nbbm) {
  56 + this.nbbm = nbbm;
  57 + }
  58 + public String getJsy() {
  59 + return jsy;
  60 + }
  61 + public void setJsy(String jsy) {
  62 + this.jsy = jsy;
  63 + }
  64 + public Double getJzl() {
  65 + return jzl;
  66 + }
  67 + public void setJzl(Double jzl) {
  68 + this.jzl = jzl;
  69 + }
  70 + public String getStationid() {
  71 + return stationid;
  72 + }
  73 + public void setStationid(String stationid) {
  74 + this.stationid = stationid;
  75 + }
  76 + public Date getCreatetime() {
  77 + return createtime;
  78 + }
  79 + public void setCreatetime(Date createtime) {
  80 + this.createtime = createtime;
  81 + }
  82 + public String getGsdm() {
  83 + return gsdm;
  84 + }
  85 + public void setGsdm(String gsdm) {
  86 + this.gsdm = gsdm;
  87 + }
  88 + public Date getXgrq() {
  89 + return xgrq;
  90 + }
  91 + public void setXgrq(Date xgrq) {
  92 + this.xgrq = xgrq;
  93 + }
  94 + public String getXgr() {
  95 + return xgr;
  96 + }
  97 + public void setXgr(String xgr) {
  98 + this.xgr = xgr;
  99 + }
  100 + public String getTj() {
  101 + return tj;
  102 + }
  103 + public void setTj(String tj) {
  104 + this.tj = tj;
  105 + }
  106 +
  107 +
  108 +
  109 +
  110 +}
... ...
src/main/java/com/bsth/repository/oil/YlxxbUpdateRepository.java 0 → 100644
  1 +package com.bsth.repository.oil;
  2 +
  3 +
  4 +import org.springframework.stereotype.Repository;
  5 +import com.bsth.entity.oil.YlxxbUpdate;
  6 +import com.bsth.repository.BaseRepository;
  7 +
  8 +@Repository
  9 +public interface YlxxbUpdateRepository extends BaseRepository<YlxxbUpdate, Integer>{
  10 +
  11 +}
... ...
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
... ... @@ -146,6 +146,11 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
146 146 @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm =?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by s.lpName, s.realExecDate,s.fcsj")
147 147 List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date);
148 148  
  149 +
  150 + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
  151 + @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?3 order by s.xlDir,s.realExecDate,s.fcsj, s.lpName")
  152 + List<ScheduleRealInfo> scheduleByDateAndLineByGs_(String gsdm,String fgsdm,String date);
  153 +
149 154 @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
150 155 @Query(value="select DISTINCT s from ScheduleRealInfo s where gsBm like %?1% and fgsBm like %?2% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?3 and s.bcType not in ('in','out','ldks') order by s.xlDir,s.realExecDate,s.fcsj, s.lpName")
151 156 List<ScheduleRealInfo> scheduleByDateAndLineByGs(String gsdm,String fgsdm,String date);
... ...
src/main/java/com/bsth/service/forms/FormsService.java
... ... @@ -30,6 +30,7 @@ public interface FormsService {
30 30 public List<Shifday> shifday(Map<String, Object> map);
31 31  
32 32 public List<Singledata> singledata(Map<String, Object> map);
  33 + public List<Singledata> singledatanew(Map<String, Object> map);
33 34  
34 35 public List<Vehicleloading> vehicleloading(String line,String data);
35 36  
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -8,6 +8,8 @@ import java.text.NumberFormat;
8 8 import java.text.ParseException;
9 9 import java.text.SimpleDateFormat;
10 10 import java.util.ArrayList;
  11 +import java.util.Collections;
  12 +import java.util.Comparator;
11 13 import java.util.Date;
12 14 import java.util.HashMap;
13 15 import java.util.HashSet;
... ... @@ -598,7 +600,7 @@ public class FormsServiceImpl implements FormsService {
598 600  
599 601 // 路单数据
600 602 @Override
601   - public List<Singledata> singledata(Map<String, Object> map) {
  603 + public List<Singledata> singledatanew(Map<String, Object> map) {
602 604  
603 605 String gsdm="";
604 606 if(map.get("gsdmSing")!=null){
... ... @@ -651,7 +653,7 @@ public class FormsServiceImpl implements FormsService {
651 653 sql += " and r.xl_bm = '"+xlbm+"'";
652 654 }
653 655 sql += " group by r.s_gh,r.s_name,"
654   - + " r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm order by r.xl_bm";
  656 + + " r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh";
655 657  
656 658 List<Singledata> list = jdbcTemplate.query(sql, new RowMapper<Singledata>() {
657 659 //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
... ... @@ -735,6 +737,199 @@ public class FormsServiceImpl implements FormsService {
735 737 return list;
736 738 }
737 739  
  740 +
  741 + // 路单数据
  742 + @Override
  743 + public List<Singledata> singledata(Map<String, Object> map) {
  744 +
  745 + String gsdm="";
  746 + if(map.get("gsdmSing")!=null){
  747 + gsdm=map.get("gsdmSing").toString();
  748 + }
  749 + String fgsdm="";
  750 + if(map.get("fgsdmSing")!=null){
  751 + fgsdm=map.get("fgsdmSing").toString();
  752 + }
  753 +
  754 + String tjtype=map.get("tjtype").toString();
  755 + String xlbm=map.get("line").toString().trim();
  756 + startDate = map.get("startDate").toString();
  757 +
  758 + List<ScheduleRealInfo> listReal=new ArrayList<ScheduleRealInfo>();
  759 + if(xlbm.equals("")){
  760 + listReal=scheduleRealInfoRepository.scheduleByDateAndLineByGs_(gsdm, fgsdm, startDate);
  761 + }else{
  762 + listReal=scheduleRealInfoRepository.scheduleByDateAndLineQp(xlbm, startDate);
  763 + }
  764 + List<Singledata> list=new ArrayList<Singledata>();
  765 + List<Singledata> listY=new ArrayList<Singledata>();
  766 + List<Singledata> listD=new ArrayList<Singledata>();
  767 +
  768 + if(tjtype.equals("jsy")){
  769 + DecimalFormat df = new DecimalFormat("0.00");
  770 + List<Ylb> listYlb= ylbRepository.obtainYl(startDate, gsdm, fgsdm, xlbm, "", "xlbm");
  771 + for (int i = 0; i < listYlb.size(); i++) {
  772 + Ylb y=listYlb.get(i);
  773 + String jsy=y.getJsy();
  774 + String line=y.getXlbm();
  775 + String clzbh=y.getNbbm();
  776 + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  777 + for (int j = 0; j < listReal.size(); j++) {
  778 + ScheduleRealInfo s=listReal.get(j);
  779 + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)
  780 + &&s.getXlBm().equals(line)){
  781 + newList.add(s);
  782 + }
  783 + }
  784 + double jhgl=culateMileageService.culateJhgl(newList);
  785 + double jhjcc=culateMileageService.culateJhJccgl(newList);
  786 + double yygl=culateMileageService.culateSjgl(newList);
  787 + double ljgl=culateMileageService.culateLjgl(newList);
  788 + double ksgl=culateMileageService.culateKsgl(newList);
  789 + double jcgl=culateMileageService.culateJccgl(newList);
  790 +
  791 + double zyygl=Arith.add(yygl, ljgl);
  792 + double zksgl=Arith.add(ksgl, jcgl);
  793 +
  794 + Singledata sin=new Singledata();
  795 + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl)));
  796 +
  797 + sin.setEmptMileage(String.valueOf(zksgl));
  798 + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
  799 + sin.setxL(BasicData.lineCode2NameMap.get(y.getXlbm()));
  800 + sin.setClzbh(clzbh);
  801 + sin.setJsy(jsy);
  802 + sin.setrQ(startDate);
  803 + sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy));
  804 + sin.setSgh("");
  805 + sin.setsName("");
  806 + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm));
  807 + sin.setHyl(df.format(y.getYh()));
  808 + sin.setJzl(df.format(y.getJzl()));
  809 + sin.setUnyyyl(df.format(y.getSh()));
  810 + listY.add(sin);
  811 + }
  812 +
  813 + List<Dlb> listDlb= dlbRepository.obtainDl(startDate, gsdm, fgsdm, xlbm, "", "xlbm");
  814 + for (int i = 0; i < listDlb.size(); i++) {
  815 +
  816 + Dlb y=listDlb.get(i);
  817 + String jsy=y.getJsy();
  818 + String line=y.getXlbm();
  819 + String clzbh=y.getNbbm();
  820 + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  821 + for (int j = 0; j < listReal.size(); j++) {
  822 + ScheduleRealInfo s=listReal.get(j);
  823 + if(s.getjGh().equals(jsy) && s.getClZbh().equals(clzbh)
  824 + &&s.getXlBm().equals(line)){
  825 + newList.add(s);
  826 + }
  827 + }
  828 + double jhgl=culateMileageService.culateJhgl(newList);
  829 + double jhjcc=culateMileageService.culateJhJccgl(newList);
  830 + double yygl=culateMileageService.culateSjgl(newList);
  831 + double ljgl=culateMileageService.culateLjgl(newList);
  832 + double ksgl=culateMileageService.culateKsgl(newList);
  833 + double jcgl=culateMileageService.culateJccgl(newList);
  834 +
  835 + double zyygl=Arith.add(yygl, ljgl);
  836 + double zksgl=Arith.add(ksgl, jcgl);
  837 +
  838 + Singledata sin=new Singledata();
  839 + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl)));
  840 +
  841 + sin.setEmptMileage(String.valueOf(zksgl));
  842 + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
  843 + sin.setxL(BasicData.lineCode2NameMap.get(y.getXlbm()));
  844 + sin.setClzbh(clzbh);
  845 + sin.setJsy(jsy);
  846 + sin.setrQ(startDate);
  847 + sin.setjName(BasicData.allPerson.get(gsdm+"-"+jsy));
  848 + sin.setSgh("");
  849 + sin.setsName("");
  850 + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm));
  851 + sin.setHyl(df.format(y.getHd()));
  852 + sin.setJzl(df.format(y.getCdl()));
  853 + sin.setUnyyyl(df.format(y.getSh()));
  854 + listD.add(sin);
  855 + }
  856 +
  857 + Collections.sort(listY,new SingledataByXlbm());
  858 + Collections.sort(listD,new SingledataByXlbm());
  859 + list.addAll(listY);
  860 + list.addAll(listD);
  861 + }else{
  862 + String sql="select r.s_gh,r.s_name, "
  863 + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm"
  864 + + " from bsth_c_s_sp_info_real r where "
  865 + + " r.schedule_date_str = '"+startDate+"'"
  866 + + " and r.s_gh !='' and r.s_gh is not null ";
  867 + if(xlbm.equals("")){
  868 + sql +="and r.gs_bm='"+gsdm+"' "
  869 + + " and r.fgs_bm='"+fgsdm+"'";
  870 + }else{
  871 + sql += " and r.xl_bm = '"+xlbm+"'";
  872 + }
  873 + sql += " group by r.s_gh,r.s_name,"
  874 + + " r.xl_bm,r.cl_zbh,r.gs_bm,r.fgs_bm order by r.xl_bm,r.cl_zbh";
  875 +
  876 + list = jdbcTemplate.query(sql, new RowMapper<Singledata>() {
  877 + //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  878 + @Override
  879 + public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException {
  880 + Singledata sin = new Singledata();
  881 + sin.setrQ(startDate);
  882 + sin.setxL(arg0.getString("xl_bm"));
  883 + sin.setClzbh(arg0.getString("cl_zbh"));
  884 + sin.setSgh(arg0.getString("s_gh"));
  885 + sin.setsName(arg0.getString("s_name"));
  886 + return sin;
  887 + }
  888 + });
  889 +
  890 + for (int i = 0; i < list.size(); i++) {
  891 + Singledata sin=list.get(i);
  892 + String jsy=sin.getSgh();
  893 + String line=sin.getxL();
  894 + String clzbh=sin.getClzbh();
  895 + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  896 + for (int j = 0; j < listReal.size(); j++) {
  897 + ScheduleRealInfo s=listReal.get(j);
  898 + if(s.getsGh().equals(jsy) && s.getClZbh().equals(clzbh)
  899 + &&s.getXlBm().equals(line)){
  900 + newList.add(s);
  901 + }
  902 + }
  903 + double jhgl=culateMileageService.culateJhgl(newList);
  904 + double jhjcc=culateMileageService.culateJhJccgl(newList);
  905 + double yygl=culateMileageService.culateSjgl(newList);
  906 + double ljgl=culateMileageService.culateLjgl(newList);
  907 + double ksgl=culateMileageService.culateKsgl(newList);
  908 + double jcgl=culateMileageService.culateJccgl(newList);
  909 +
  910 + double zyygl=Arith.add(yygl, ljgl);
  911 + double zksgl=Arith.add(ksgl, jcgl);
  912 +
  913 + sin.setJhlc(String.valueOf(Arith.add(zyygl,zksgl)));
  914 +
  915 + sin.setEmptMileage(String.valueOf(zksgl));
  916 + sin.setJhjl(String.valueOf(Arith.add(jhgl,jhjcc)));
  917 + sin.setxL(BasicData.lineCode2NameMap.get(line));
  918 + sin.setClzbh(clzbh);
  919 + sin.setJsy("");
  920 + sin.setjName("");
  921 + sin.setgS(BasicData.businessFgsCodeNameMap.get(fgsdm+"_"+gsdm));
  922 + sin.setHyl("");
  923 + sin.setJzl("");
  924 + sin.setUnyyyl("");
  925 + }
  926 + Collections.sort(list,new SingledataByXlbm());
  927 + }
  928 +
  929 + return list;
  930 +
  931 + }
  932 +
738 933 // 运营服务阶段报表
739 934 @Override
740 935 public List<Operationservice> operationservice(Map<String, Object> map) {
... ... @@ -1398,4 +1593,12 @@ public class FormsServiceImpl implements FormsService {
1398 1593 }
1399 1594 return list;
1400 1595 }
  1596 +
  1597 + class SingledataByXlbm implements Comparator<Singledata>{
  1598 + @Override
  1599 + public int compare(Singledata o1, Singledata o2) {
  1600 + // TODO Auto-generated method stub
  1601 + return o2.getxL().compareTo(o1.getxL());
  1602 + }
  1603 + }
1401 1604 }
... ...
src/main/java/com/bsth/service/oil/YlxxbService.java
1 1 package com.bsth.service.oil;
2 2  
  3 +import java.util.List;
3 4 import java.util.Map;
4 5  
5 6 import com.bsth.entity.oil.Ylxxb;
... ... @@ -9,6 +10,9 @@ import com.bsth.util.PageObject;
9 10 public interface YlxxbService extends BaseService<Ylxxb, Integer>{
10 11 PageObject<Ylxxb> Pagequery(Map<String, Object> map) ;
11 12  
  13 + List<Ylxxb> Pagequery_nbbm(Map<String, Object> map) ;
  14 +
12 15 Map<String, Object> checkJsy(Map<String, Object> map) throws Exception;
  16 + Map<String, Object> checkNbbm(Map<String, Object> map) throws Exception;
13 17  
14 18 }
... ...
src/main/java/com/bsth/service/oil/impl/YlxxbServiceImpl.java
... ... @@ -5,6 +5,7 @@ import java.sql.SQLException;
5 5 import java.text.ParseException;
6 6 import java.text.SimpleDateFormat;
7 7 import java.util.ArrayList;
  8 +import java.util.Date;
8 9 import java.util.HashMap;
9 10 import java.util.List;
10 11 import java.util.Map;
... ... @@ -25,9 +26,11 @@ import com.bsth.common.ResponseCode;
25 26 import com.bsth.entity.excep.Offline;
26 27 import com.bsth.entity.oil.Ylb;
27 28 import com.bsth.entity.oil.Ylxxb;
  29 +import com.bsth.entity.oil.YlxxbUpdate;
28 30 import com.bsth.entity.search.CustomerSpecs;
29 31 import com.bsth.repository.oil.YlbRepository;
30 32 import com.bsth.repository.oil.YlxxbRepository;
  33 +import com.bsth.repository.oil.YlxxbUpdateRepository;
31 34 import com.bsth.service.impl.BaseServiceImpl;
32 35 import com.bsth.service.oil.YlxxbService;
33 36 import com.bsth.util.PageHelper;
... ... @@ -40,6 +43,8 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
40 43 @Autowired
41 44 YlxxbRepository repository;
42 45 @Autowired
  46 + YlxxbUpdateRepository updateRepository;
  47 + @Autowired
43 48 YlbRepository ylbRepository;
44 49 @Autowired
45 50 JdbcTemplate jdbcTemplate;
... ... @@ -53,7 +58,7 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
53 58 String sql=" select * from ("
54 59 + "select *,CONCAT(nbbm,jsy) as nj "
55 60 + " from bsth_c_ylxxb where yyrq='"+rq+"' "
56   - + " and gsdm ='"+gsdm+"' and jylx ='0') x where x.nj not in ("
  61 + + " and gsdm ='"+gsdm+"' and jylx !='1') x where x.nj not in ("
57 62 + " select CONCAT(nbbm,jsy) from bsth_c_ylb "
58 63 + " where rq='"+rq+"'"
59 64 + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"')"
... ... @@ -61,7 +66,7 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
61 66 + " where rq='"+rq+"'"
62 67 + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"') "
63 68 + " and x.nbbm not in (select nbbm from bsth_c_ylxxb"
64   - + " where yyrq='"+rq+"' and gsdm ='"+gsdm+"' AND jylx ='1')";
  69 + + " where yyrq='"+rq+"' and gsdm ='"+gsdm+"' AND jylx !='0')";
65 70  
66 71  
67 72 /*String sql= "select v.*,u.jsy as ldgh from "
... ... @@ -179,7 +184,7 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
179 184 Ylxxb ylxxb=repository.findOne(id);
180 185 if(!ylxxb.getJsy().equals(jsy)){
181 186 ylxxb.setJsy(jsy);
182   - ylxxb.setJylx(1);
  187 + ylxxb.setJylx(3);
183 188 repository.save(ylxxb);
184 189 }
185 190 }
... ... @@ -191,5 +196,87 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
191 196 }
192 197 return newMap;
193 198 }
  199 + @Override
  200 + public List<Ylxxb> Pagequery_nbbm(Map<String, Object> map) {
  201 + // TODO Auto-generated method stub
  202 + String rq=map.get("yyrq").toString();
  203 + String gsdm=map.get("gsdm_like").toString();
  204 + String nbbm=map.get("nbbm").toString();
  205 +
  206 + String sql="select * from (select *,CONCAT(t.nbbm,'_',t.jsy,'_',t.jzl) as tj "
  207 + + " from bsth_c_ylxxb t where t.yyrq='"+rq+"' and t.gsdm='"+gsdm+"' and "
  208 + + " t.nylx=0 and t.jylx=0 and t.nbbm like '%"+nbbm+"%') y "
  209 + + " where y.nbbm not in (select c.inside_code from bsth_c_cars c "
  210 + + " where c.business_code ='05' and c.sfdc=0) and y.tj not in ("
  211 + + " select x.tj from bsth_c_ylxxb_update x)";
  212 +
  213 + //根具条件查询指定日期Ylb的数据
  214 +// List<Ylb> ylbIterator=ylbRepository.checkYl(rq,gsdm,fgsdm);
  215 + List<Ylxxb> list=jdbcTemplate.query(sql,
  216 + new RowMapper<Ylxxb>(){
  217 + @Override
  218 + public Ylxxb mapRow(ResultSet rs, int rowNum) throws SQLException {
  219 + Ylxxb s = new Ylxxb();
  220 + s.setId(rs.getInt("id"));
  221 + s.setYyrq(rs.getDate("yyrq"));
  222 + s.setNbbm(rs.getString("nbbm"));
  223 + s.setGsdm(rs.getString("gsdm"));
  224 + s.setJsy(rs.getString("jsy"));
  225 + s.setJzl(rs.getDouble("jzl"));
  226 + s.setStationid(rs.getString("stationid"));
  227 + s.setNylx(rs.getInt("nylx"));
  228 + s.setJyggh(rs.getString("jyggh"));
  229 + s.setYj(rs.getDouble("yj"));
  230 +// s.setLdgh(rs.getString("ldgh"));
  231 + s.setBz(rs.getString("bz"));
  232 + return s;
  233 + }
  234 + });
  235 + return list;
  236 + }
194 237  
195   -}
196 238 \ No newline at end of file
  239 +
  240 + @Transactional
  241 + @Override
  242 + public Map<String, Object> checkNbbm(Map<String, Object> map) throws Exception{
  243 + Map<String, Object> newMap=new HashMap<String,Object>();
  244 + // TODO Auto-generated method stub
  245 + try {
  246 +// int id=Integer.parseInt(map.get("id").toString());
  247 +// String jsy=map.get("jsy").toString();
  248 +// Ylxxb ylxxb=repository.findOne(id);
  249 +// ylxxb.setJsy(jsy);
  250 +// repository.save(ylxxb);
  251 + String json =StringEscapeUtils.unescapeHtml4(map.get("ylbList").toString());
  252 + JSONArray jsonArray=JSONArray.parseArray(json);
  253 + JSONObject jsonObject;
  254 + for (int x = 0; x < jsonArray.size(); x++) {
  255 + jsonObject=jsonArray.getJSONObject(x);
  256 + Integer id =jsonObject.getInteger("id");
  257 + String nbbm =jsonObject.getString("nbbm").trim();
  258 + Ylxxb ylxxb=repository.findOne(id);
  259 + if(!ylxxb.getNbbm().equals(nbbm)){
  260 + ylxxb.setNbbm(nbbm);
  261 + ylxxb.setJylx(2);
  262 + repository.save(ylxxb);
  263 + YlxxbUpdate ylxxbUpdate=new YlxxbUpdate();
  264 + ylxxbUpdate.setGsdm(ylxxb.getGsdm());
  265 + ylxxbUpdate.setJsy(ylxxb.getJsy());
  266 + ylxxbUpdate.setJzl(ylxxb.getJzl());
  267 + ylxxbUpdate.setJlrq(ylxxb.getJlrq());
  268 + ylxxbUpdate.setNbbm(ylxxb.getNbbm());
  269 + ylxxbUpdate.setYyrq(ylxxb.getYyrq());
  270 + ylxxbUpdate.setCreatetime(new Date());
  271 + ylxxbUpdate.setTj(nbbm+"_"+ylxxb.getJsy()+"_"+ylxxb.getJzl());
  272 + updateRepository.save(ylxxbUpdate);
  273 + }
  274 + }
  275 + newMap.put("status", ResponseCode.SUCCESS);
  276 + }catch(Exception e){
  277 + newMap.put("status", ResponseCode.ERROR);
  278 + logger.error("save erro.", e);
  279 + throw e;
  280 + }
  281 + return newMap;
  282 + }
  283 +}
... ...
src/main/java/com/bsth/service/schedule/rules/validate/ValidWholeRerunBcFunction.java
1   -package com.bsth.service.schedule.rules.validate;
2   -
3   -import com.bsth.entity.schedule.SchedulePlanInfo;
4   -import org.kie.api.runtime.rule.AccumulateFunction;
5   -
6   -import java.io.*;
7   -import java.text.SimpleDateFormat;
8   -import java.util.ArrayList;
9   -import java.util.HashMap;
10   -import java.util.List;
11   -import java.util.Map;
12   -
13   -/**
14   - * 验证完全套跑路牌班次正确性。
15   - * 完全套跑路牌班次指此路牌下的所有班次由其他线路完成。
16   - * 记录漏掉的班次,并给出警告信息。
17   - */
18   -public class ValidWholeRerunBcFunction implements AccumulateFunction {
19   - @Override
20   - public void writeExternal(ObjectOutput out) throws IOException {
21   - }
22   -
23   - @Override
24   - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
25   -
26   - }
27   -
28   - protected static class RerunBcInfo implements Externalizable {
29   - /** 错误描述 */
30   - public List<ValidateResults_output.ValidInfo> validInfoList = new ArrayList<>();
31   - /** 内部计数Map,key:{路牌Id}_{发车时间},value:个数 */
32   - public Map<String, Integer> lpBcFcsjCount = new HashMap<>();
33   -
34   - public RerunBcInfo() {
35   - }
36   -
37   - @Override
38   - public void writeExternal(ObjectOutput out) throws IOException {
39   - out.writeObject(validInfoList);
40   - }
41   -
42   - @Override
43   - public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
44   - validInfoList = (List<ValidateResults_output.ValidInfo>) in.readObject();
45   - }
46   - }
47   -
48   - @Override
49   - public Serializable createContext() {
50   -// System.out.println("create");
51   - return new RerunBcInfo();
52   - }
53   -
54   - @Override
55   - public void init(Serializable serializable) throws Exception {
56   - // TODO:
57   -// System.out.println("init");
58   - }
59   -
60   - @Override
61   - public void accumulate(Serializable context, Object o) {
62   - RerunBcInfo rerunBcInfo = (RerunBcInfo) context;
63   - SchedulePlanInfo schedulePlanInfo = (SchedulePlanInfo) o;
64   -
65   - String key = schedulePlanInfo.getLp() + "_" + schedulePlanInfo.getFcsj();
66   - SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");
67   - String infoformat = "日期(%s),路牌(%s)完全套跑,班次(%s),在套跑规则中未指定";
68   -
69   - if (schedulePlanInfo.getCl() == null) {
70   - rerunBcInfo.lpBcFcsjCount.put(key, 1);
71   -
72   - ValidateResults_output.ValidInfo validInfo = new ValidateResults_output.ValidInfo();
73   - validInfo.setSd(schedulePlanInfo.getScheduleDate());
74   - validInfo.setDesc(String.format(
75   - infoformat,
76   - sf.format(schedulePlanInfo.getScheduleDate()),
77   - schedulePlanInfo.getLpName(),
78   - schedulePlanInfo.getFcsj(),
79   - 1));
80   -
81   - rerunBcInfo.validInfoList.add(validInfo);
82   - }
83   - }
84   -
85   - @Override
86   - public boolean supportsReverse() {
87   - return true;
88   - }
89   -
90   - @Override
91   - public void reverse(Serializable context, Object o) throws Exception {
92   - RerunBcInfo rerunBcInfo = (RerunBcInfo) context;
93   - SchedulePlanInfo schedulePlanInfo = (SchedulePlanInfo) o;
94   -
95   - String key = schedulePlanInfo.getLp() + "_" + schedulePlanInfo.getFcsj();
96   - rerunBcInfo.lpBcFcsjCount.remove(key);
97   -
98   - if (!rerunBcInfo.validInfoList.isEmpty()) { // 全部清空
99   - rerunBcInfo.validInfoList.clear();
100   - }
101   - }
102   -
103   - @Override
104   - public Class<?> getResultType() {
105   - return List.class;
106   - }
107   -
108   - @Override
109   - public Object getResult(Serializable context) throws Exception {
110   - RerunBcInfo rerunBcInfo = (RerunBcInfo) context;
111   - return rerunBcInfo.validInfoList;
112   - }
113   -}
  1 +package com.bsth.service.schedule.rules.validate;
  2 +
  3 +import com.bsth.entity.schedule.SchedulePlanInfo;
  4 +import org.kie.api.runtime.rule.AccumulateFunction;
  5 +
  6 +import java.io.*;
  7 +import java.text.SimpleDateFormat;
  8 +import java.util.ArrayList;
  9 +import java.util.HashMap;
  10 +import java.util.List;
  11 +import java.util.Map;
  12 +
  13 +/**
  14 + * 验证完全套跑路牌班次正确性。
  15 + * 完全套跑路牌班次指此路牌下的所有班次由其他线路完成。
  16 + * 记录漏掉的班次,并给出警告信息。
  17 + */
  18 +public class ValidWholeRerunBcFunction implements AccumulateFunction {
  19 + @Override
  20 + public void writeExternal(ObjectOutput out) throws IOException {
  21 + }
  22 +
  23 + @Override
  24 + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
  25 +
  26 + }
  27 +
  28 + protected static class RerunBcInfo implements Externalizable {
  29 + /** 错误描述 */
  30 + public List<ValidateResults_output.ValidInfo> validInfoList = new ArrayList<>();
  31 + /** 内部计数Map,key:{路牌Id}_{发车时间},value:个数 */
  32 + public Map<String, Integer> lpBcFcsjCount = new HashMap<>();
  33 +
  34 + public RerunBcInfo() {
  35 + }
  36 +
  37 + @Override
  38 + public void writeExternal(ObjectOutput out) throws IOException {
  39 + out.writeObject(validInfoList);
  40 + }
  41 +
  42 + @Override
  43 + public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
  44 + validInfoList = (List<ValidateResults_output.ValidInfo>) in.readObject();
  45 + }
  46 + }
  47 +
  48 + @Override
  49 + public Serializable createContext() {
  50 +// System.out.println("create");
  51 + return new RerunBcInfo();
  52 + }
  53 +
  54 + @Override
  55 + public void init(Serializable serializable) throws Exception {
  56 + // TODO:
  57 +// System.out.println("init");
  58 + }
  59 +
  60 + @Override
  61 + public void accumulate(Serializable context, Object o) {
  62 + RerunBcInfo rerunBcInfo = (RerunBcInfo) context;
  63 + SchedulePlanInfo schedulePlanInfo = (SchedulePlanInfo) o;
  64 +
  65 + String key = schedulePlanInfo.getLp() + "_" + schedulePlanInfo.getFcsj();
  66 + SimpleDateFormat sf = new SimpleDateFormat("yyyy年MM月dd日");
  67 + String infoformat = "日期(%s),路牌(%s)完全套跑,班次(%s),在套跑规则中未指定";
  68 +
  69 + if (schedulePlanInfo.getCl() == null) {
  70 + rerunBcInfo.lpBcFcsjCount.put(key, 1);
  71 +
  72 + ValidateResults_output.ValidInfo validInfo = new ValidateResults_output.ValidInfo();
  73 + validInfo.setSd(schedulePlanInfo.getScheduleDate());
  74 + validInfo.setDesc(String.format(
  75 + infoformat,
  76 + sf.format(schedulePlanInfo.getScheduleDate()),
  77 + schedulePlanInfo.getLpName(),
  78 + schedulePlanInfo.getFcsj(),
  79 + 1));
  80 +
  81 + rerunBcInfo.validInfoList.add(validInfo);
  82 + }
  83 + }
  84 +
  85 + @Override
  86 + public boolean supportsReverse() {
  87 + return true;
  88 + }
  89 +
  90 + @Override
  91 + public void reverse(Serializable context, Object o) throws Exception {
  92 + RerunBcInfo rerunBcInfo = (RerunBcInfo) context;
  93 + SchedulePlanInfo schedulePlanInfo = (SchedulePlanInfo) o;
  94 +
  95 + String key = schedulePlanInfo.getLp() + "_" + schedulePlanInfo.getFcsj();
  96 + rerunBcInfo.lpBcFcsjCount.remove(key);
  97 +
  98 + if (!rerunBcInfo.validInfoList.isEmpty()) { // 全部清空
  99 + rerunBcInfo.validInfoList.clear();
  100 + }
  101 + }
  102 +
  103 + @Override
  104 + public Class<?> getResultType() {
  105 + return List.class;
  106 + }
  107 +
  108 + @Override
  109 + public Object getResult(Serializable context) throws Exception {
  110 + RerunBcInfo rerunBcInfo = (RerunBcInfo) context;
  111 + return rerunBcInfo.validInfoList;
  112 + }
  113 +}
... ...