Commit e4acdc1f7972687a7fe82144c6f28869bd9c346e

Authored by 廖磊
1 parent d044b837

报表,油量

src/main/java/com/bsth/controller/oil/YlbController.java
... ... @@ -50,8 +50,14 @@ public class YlbController extends BaseController<Ylb, Integer>{
50 50 * @return
51 51 */
52 52 @RequestMapping(value = "/obtain",method = RequestMethod.GET)
53   - public Map<String, Object> obtain(@RequestParam Map<String, Object> map){
54   - Map<String, Object> list=yblService.obtain(map);
  53 + public Map<String, Object> obtain(@RequestParam Map<String, Object> map) throws Exception{
  54 + Map<String, Object> list =new HashMap<String, Object>();
  55 + try {
  56 + list = yblService.obtain(map);
  57 + } catch (Exception e) {
  58 + // TODO Auto-generated catch block
  59 + throw e;
  60 + }
55 61 System.out.println();
56 62 return list;
57 63 }
... ... @@ -73,8 +79,14 @@ public class YlbController extends BaseController&lt;Ylb, Integer&gt;{
73 79 * @return
74 80 */
75 81 @RequestMapping(value = "/outAndIn",method = RequestMethod.GET)
76   - public Map<String, Object> outAndIn(@RequestParam Map<String, Object> map){
77   - Map<String, Object> list=yblService.outAndIn(map);
  82 + public Map<String, Object> outAndIn(@RequestParam Map<String, Object> map) throws Exception{
  83 + Map<String, Object> list=new HashMap<String, Object>();
  84 + try {
  85 + list=yblService.outAndIn(map);
  86 + } catch (Exception e) {
  87 + // TODO: handle exception
  88 + }
  89 +
78 90 return list;
79 91 }
80 92  
... ...
src/main/java/com/bsth/repository/oil/CylRepository.java
... ... @@ -15,6 +15,6 @@ import com.bsth.repository.BaseRepository;
15 15 public interface CylRepository extends BaseRepository<Cyl, Integer>{
16 16 @Transactional
17 17 @Modifying
18   - @Query(value="SELECT * FROM bsth_c_cyl ",nativeQuery=true)
19   - List<Cyl> obtainCyl();
  18 + @Query(value="SELECT * FROM bsth_c_cyl where nbbm like %?1% and gsdm like %?2%",nativeQuery=true)
  19 + List<Cyl> obtainCyl(String nbbm,String gsdm);
20 20 }
... ...
src/main/java/com/bsth/repository/oil/YlbRepository.java
... ... @@ -33,8 +33,10 @@ public interface YlbRepository extends BaseRepository&lt;Ylb, Integer&gt;{
33 33 */
34 34 @Transactional
35 35 @Modifying
36   - @Query(value="SELECT * FROM bsth_c_ylb where to_days(?)=to_days(rq)",nativeQuery=true)
37   - List<Ylb> obtainYl(String rq);
  36 + @Query(value="SELECT * FROM bsth_c_ylb where to_days(?1)=to_days(rq) and ssgsdm like %?2% "
  37 + + " and fgsdm like %?3%"
  38 + + " and xlbm like %?4% and nbbm like %?5% order by ?6 asc ",nativeQuery=true)
  39 + List<Ylb> obtainYl(String rq,String gsdm,String fgsdm,String xlbm,String nbbm,String px);
38 40  
39 41  
40 42 @Transactional
... ... @@ -48,6 +50,6 @@ public interface YlbRepository extends BaseRepository&lt;Ylb, Integer&gt;{
48 50 */
49 51 @Transactional
50 52 @Modifying
51   - @Query(value="select sum(jzl) as jzl,sum(zlc) as zlc from bsth_c_ylb where nbbm=?1 and rq=?2",nativeQuery=true)
  53 + @Query(value="select sum(jzl) as jzl,sum(zlc) as zlc ,sum(sh) as sh from bsth_c_ylb where nbbm=?1 and rq=?2",nativeQuery=true)
52 54 List<Object[]> sumLcYl(String nbbm,Date rq);
53 55 }
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -2,6 +2,7 @@ package com.bsth.service.forms.impl;
2 2  
3 3 import java.sql.ResultSet;
4 4 import java.sql.SQLException;
  5 +import java.text.DecimalFormat;
5 6 import java.text.NumberFormat;
6 7 import java.text.ParseException;
7 8 import java.text.SimpleDateFormat;
... ... @@ -23,6 +24,7 @@ import com.bsth.entity.mcy_forms.Singledata;
23 24 import com.bsth.entity.mcy_forms.Turnoutrate;
24 25 import com.bsth.entity.mcy_forms.Vehicleloading;
25 26 import com.bsth.entity.mcy_forms.Waybillday;
  27 +import com.bsth.data.BasicData;
26 28 import com.bsth.entity.mcy_forms.Allline;
27 29 import com.bsth.entity.mcy_forms.Changetochange;
28 30 import com.bsth.entity.mcy_forms.Daily;
... ... @@ -341,33 +343,28 @@ public class FormsServiceImpl implements FormsService {
341 343 String rq3 = sdf1.format(d1);
342 344  
343 345 rq = rq2 + "-" + rq3;
344   -
345   - String sql = " SELECT r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name "
346   - + " FROM bsth_c_s_sp_info_real r "
347   - + " left join bsth_c_ylb y"
348   - + " ON r.cl_zbh = y.nbbm "
349   - + " where r.schedule_date_str BETWEEN '" + map.get("startDate").toString() + "'"
350   - + " and '"+ map.get("endDate").toString() + "'"
351   - + " and r.xl_bm='" + map.get("line").toString() + "'"
352   - + " AND r.gs_bm is not null";
353   -
354   - if(map.get("gsdmSing").toString()!=""){
355   - sql+=" and r.gs_bm='"+map.get("gsdmSing").toString()+"'";
356   - }
357   - if(map.get("fgsdmSing").toString()!=""){
358   - sql+=" and r.fgs_bm='"+map.get("fgsdmSing").toString()+"'";
359   - }
360   - sql += " GROUP BY r.xl_bm,r.cl_zbh,r.j_gh,r.j_name,y.YH,y.JZL,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name ";
361   -
362 346 startDate = map.get("startDate").toString();
363 347 endDate = map.get("endDate").toString();
  348 + String sql = "select t.*,y.yh,y.jzl from ("
  349 + + " select r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm"
  350 + + " from bsth_c_s_sp_info_real r where r.schedule_date_str "
  351 + + " BETWEEN '"+startDate+"' and '"+endDate+"' and r.xl_bm='"+map.get("line").toString()+"' "
  352 + + " AND r.gs_bm is not null and r.gs_bm='"+map.get("gsdmSing").toString()+"' "
  353 + + " and r.fgs_bm='"+map.get("fgsdmSing").toString()+"' "
  354 + + " group by r.xl_bm,r.xl_name,r.cl_zbh,r.j_gh,r.j_name,r.gs_bm,r.fgs_bm) t "
  355 + + " LEFT JOIN (select a.nbbm,a.jsy,SUM(a.yh) as yh,SUM(a.jzl) as jzl "
  356 + + " from bsth_c_ylb a where a.rq BETWEEN '"+startDate+"' and '"+endDate+"'and "
  357 + + " a.ssgsdm='"+map.get("gsdmSing").toString()+"' and a.fgsdm='"+map.get("fgsdmSing").toString()+"' "
  358 + + "group by a.nbbm,a.jsy) y"
  359 + + " on y.nbbm=t.cl_zbh and y.jsy= t.j_gh";
  360 +
364 361 List<Singledata> list = jdbcTemplate.query(sql, new RowMapper<Singledata>() {
365 362 //SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
366 363 @Override
367 364 public Singledata mapRow(ResultSet arg0, int arg1) throws SQLException {
368 365 Singledata sin = new Singledata();
369 366 sin.setrQ(rq);
370   - sin.setgS(arg0.getString("gs_name"));
  367 + sin.setgS(arg0.getString("gs_bm"));
371 368 sin.setxL(arg0.getString("xl_name"));
372 369 sin.setClzbh(arg0.getString("cl_zbh"));
373 370 sin.setJsy(arg0.getString("j_gh"));
... ... @@ -380,8 +377,13 @@ public class FormsServiceImpl implements FormsService {
380 377 return sin;
381 378 }
382 379 });
  380 + DecimalFormat df = new DecimalFormat("0.00");
383 381 for(int i=0;i<list.size();i++){
  382 +
384 383 Singledata si=list.get(i);
  384 + si.setgS(BasicData.businessCodeNameMap.get(si.getgS()));
  385 + si.setJzl(df.format(Double.parseDouble(si.getJzl())));
  386 + si.setHyl(df.format(Double.parseDouble(si.getHyl())));
385 387 Map<String, Object> maps = new HashMap<>();
386 388 maps = commonService.findKMBC1(si.getjName(),si.getClzbh(), startDate,
387 389 endDate);
... ...
src/main/java/com/bsth/service/impl/BusIntervalServiceImpl.java
... ... @@ -1345,8 +1345,8 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1345 1345 Collections.sort(keyMap1.get(key), new Comparator<Map<String, Object>>() {
1346 1346  
1347 1347 public int compare(Map<String, Object> o1, Map<String, Object> o2) {
1348   - Integer a;
1349   - Integer b;
  1348 + Long a;
  1349 + Long b;
1350 1350 String lp1 = o1.get("lp").toString();
1351 1351 String lp2 = o2.get("lp").toString();
1352 1352 String str1 = "";
... ... @@ -1358,8 +1358,8 @@ public class BusIntervalServiceImpl implements BusIntervalService {
1358 1358 str2 += (int)lp2.charAt(i);
1359 1359 }
1360 1360  
1361   - a = Integer.valueOf(str1);
1362   - b = Integer.valueOf(str2);
  1361 + a = Long.valueOf(str1);
  1362 + b = Long.valueOf(str2);
1363 1363  
1364 1364 // 升序
1365 1365 return a.compareTo(b);
... ...
src/main/java/com/bsth/service/oil/YlbService.java
... ... @@ -7,11 +7,11 @@ import com.bsth.entity.oil.Ylb;
7 7 import com.bsth.service.BaseService;
8 8  
9 9 public interface YlbService extends BaseService<Ylb, Integer>{
10   - Map<String, Object> obtain(Map<String, Object> map);
11   - String obtainDsq();
  10 + Map<String, Object> obtain(Map<String, Object> map) throws Exception;
  11 + String obtainDsq() throws Exception;
12 12 Map<String, Object> sort(Map<String, Object> map);
13 13  
14   - Map<String, Object> outAndIn(Map<String, Object> map);
  14 + Map<String, Object> outAndIn(Map<String, Object> map) throws Exception;
15 15  
16 16 Map<String, Object> checkYl(Map<String, Object> map);
17 17  
... ...
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
... ... @@ -71,109 +71,113 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
71 71 */
72 72 @Transactional
73 73 @Override
74   - public String obtainDsq() {
75   - List<Cars> carsList=carsRepository.findCars();
76   - Map<String, Boolean> carsMap=new HashMap<String, Boolean>();
77   - for (int i = 0; i < carsList.size(); i++) {
78   - Cars c=carsList.get(i);
79   - carsMap.put(c.getInsideCode(), c.getSfdc());
80   - }
  74 + public String obtainDsq() throws Exception{
81 75 String result = "failure";
82   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
83   - Date dNow = new Date(); //当前时间
84   - Date dBefore = new Date();
85   - Calendar calendar = Calendar.getInstance(); //得到日历
86   - calendar.setTime(dNow);//把当前时间赋给日历
87   - calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
88   - dBefore = calendar.getTime(); //得到前一天的时间
89   - String rq=sdf.format(dBefore);
90   - //保留两位小数
91   - DecimalFormat df = new DecimalFormat("#.00");
92   - // TODO Auto-generated method stub
93   - Map<String, Object> newMap=new HashMap<String,Object>();
94   - //当天YLB信息
95   - List<Ylb> ylList=repository.obtainYl(rq);
96   - //当天YLXXB信息
97   -// List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq);
98   - //前一天所有车辆最后进场班次信息
99   - List<Ylb> ylListBe=repository.obtainYlbefore(rq);
100   - List<Cyl> clyList=cylRepository.obtainCyl();
101   - //从排班表中计算出行驶的总里程
102   - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("",rq);
103   -
104   - for(int x=0;x<listpb.size();x++){
105   - boolean sfdc=true;
106   - Map<String, Object> map=listpb.get(x);
107   - if (carsMap.get(map.get("clZbh").toString())!=null) {
108   - sfdc= carsMap.get(map.get("clZbh").toString());
109   - }else{
110   - sfdc=true;
  76 + try {
  77 + List<Cars> carsList=carsRepository.findCars();
  78 + Map<String, Boolean> carsMap=new HashMap<String, Boolean>();
  79 + for (int i = 0; i < carsList.size(); i++) {
  80 + Cars c=carsList.get(i);
  81 + carsMap.put(c.getInsideCode(), c.getSfdc());
111 82 }
112   - if(!sfdc){
113   - //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
114   - Ylb t=new Ylb();
115   - for(int k=0;k<ylList.size();k++){
116   - Ylb t1=ylList.get(k);
117   - if(t1.getNbbm().equals(map.get("clZbh").toString())
118   - &&t1.getJsy().equals(map.get("jGh").toString())
119   - &&t1.getXlbm().equals(map.get("xlBm").toString()))
120   - {
121   - t=t1;
122   - }
  83 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  84 + Date dNow = new Date(); //当前时间
  85 + Date dBefore = new Date();
  86 + Calendar calendar = Calendar.getInstance(); //得到日历
  87 + calendar.setTime(dNow);//把当前时间赋给日历
  88 + calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
  89 + dBefore = calendar.getTime(); //得到前一天的时间
  90 + String rq=sdf.format(dBefore);
  91 + //保留两位小数
  92 + DecimalFormat df = new DecimalFormat("#.00");
  93 + // TODO Auto-generated method stub
  94 + Map<String, Object> newMap=new HashMap<String,Object>();
  95 + //当天YLB信息
  96 + List<Ylb> ylList=repository.obtainYl(rq,"","","","","nbbm");
  97 + //当天YLXXB信息
  98 + // List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq);
  99 + //前一天所有车辆最后进场班次信息
  100 + List<Ylb> ylListBe=repository.obtainYlbefore(rq);
  101 + List<Cyl> clyList=cylRepository.obtainCyl("","");
  102 + //从排班表中计算出行驶的总里程
  103 + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList("",rq);
  104 +
  105 + for(int x=0;x<listpb.size();x++){
  106 + boolean sfdc=true;
  107 + Map<String, Object> map=listpb.get(x);
  108 + if (carsMap.get(map.get("clZbh").toString())!=null) {
  109 + sfdc= carsMap.get(map.get("clZbh").toString());
  110 + }else{
  111 + sfdc=true;
123 112 }
124   - try {
125   - //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
126   - if(map.get("seqNumber").toString().equals("1")){
127   - boolean fage=true;
128   - for (int i = 0; i < ylListBe.size(); i++) {
129   - Ylb ylb=ylListBe.get(i);
130   - if(map.get("clZbh").toString().equals(ylb.getNbbm())){
131   - t.setCzyl(ylb.getJzyl());
132   - fage=false;
133   - break;
134   - }
  113 + if(!sfdc){
  114 + //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  115 + Ylb t=new Ylb();
  116 + for(int k=0;k<ylList.size();k++){
  117 + Ylb t1=ylList.get(k);
  118 + if(t1.getNbbm().equals(map.get("clZbh").toString())
  119 + &&t1.getJsy().equals(map.get("jGh").toString())
  120 + &&t1.getXlbm().equals(map.get("xlBm").toString()))
  121 + {
  122 + t=t1;
135 123 }
136   - if(fage){
137   - for (int y = 0; y < clyList.size(); y++) {
138   - Cyl cyl=clyList.get(y);
139   - if(map.get("clZbh").toString().equals(cyl.getNbbm())){
140   - t.setCzyl(cyl.getCyl());
141   - fage=false;
142   - break;
  124 + }
  125 +
  126 + //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  127 + if(map.get("seqNumber").toString().equals("1")){
  128 + boolean fage=true;
  129 + for (int i = 0; i < ylListBe.size(); i++) {
  130 + Ylb ylb=ylListBe.get(i);
  131 + if(map.get("clZbh").toString().equals(ylb.getNbbm())){
  132 + if(ylb.getJzyl()>0){
  133 + t.setCzyl(ylb.getJzyl());
  134 + fage=false;
  135 + break;
  136 + }
143 137 }
144 138 }
  139 + if(fage){
  140 + for (int y = 0; y < clyList.size(); y++) {
  141 + Cyl cyl=clyList.get(y);
  142 + if(map.get("clZbh").toString().equals(cyl.getNbbm())){
  143 + t.setCzyl(cyl.getCyl());
  144 + fage=false;
  145 + break;
  146 + }
  147 + }
  148 + }
  149 + if(fage){
  150 + t.setCzyl(0.0);
  151 + }
145 152 }
146   - if(fage){
147   - t.setCzyl(0.0);
148   - }
149   - }
150   -
151   - /*Double jzl=0.0;
152   - //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
153   - for(int j=0;j<ylxxList.size();j++){
154   - Ylxxb ylxxb= ylxxList.get(j);
155   - if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){
156   - jzl+=ylxxb.getJzl();
  153 +
  154 + /*Double jzl=0.0;
  155 + //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
  156 + for(int j=0;j<ylxxList.size();j++){
  157 + Ylxxb ylxxb= ylxxList.get(j);
  158 + if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){
  159 + jzl+=ylxxb.getJzl();
  160 + }
157 161 }
158   - }
159   - t.setJzl(jzl);*/
160   - t.setNbbm(map.get("clZbh").toString());
161   - t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
162   - t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
163   - t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());
164   - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
165   - t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());
166   - t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());
167   - t.setRq(sdf.parse(rq));
168   - repository.save(t);
169   - result = "success";
170   - } catch (Exception e) {
171   - // TODO Auto-generated catch block
172   - e.printStackTrace();
173   - }finally{
174   - logger.info("setDDRB:"+result);
175   - }
  162 + t.setJzl(jzl);*/
  163 + t.setNbbm(map.get("clZbh").toString());
  164 + t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
  165 + t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
  166 + t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());
  167 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  168 + t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());
  169 + t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());
  170 + t.setRq(sdf.parse(rq));
  171 + repository.save(t);
  172 +
176 173 }
  174 + result = "success";
  175 + }
  176 + }catch (Exception e) {
  177 + // TODO Auto-generated catch block
  178 + throw e;
  179 + }finally{
  180 + logger.info("setDDRB:"+result);
177 181 }
178 182  
179 183 return result;
... ... @@ -185,129 +189,152 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
185 189 */
186 190 @Transactional
187 191 @Override
188   - public Map<String, Object> obtain(Map<String, Object> map2) {
189   - List<Cars> carsList=carsRepository.findCars();
190   - Map<String, Boolean> carsMap=new HashMap<String, Boolean>();
191   - for (int i = 0; i < carsList.size(); i++) {
192   - Cars c=carsList.get(i);
193   - carsMap.put(c.getInsideCode(), c.getSfdc());
194   - }
195   - String rq=map2.get("rq").toString();
196   - String line="";
197   - if(map2.get("xlbm_eq")!=null){
198   - line=map2.get("xlbm_eq").toString();
199   - }
200   -
201   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
202   - //保留两位小数
203   - DecimalFormat df = new DecimalFormat("#.00");
204   - // TODO Auto-generated method stub
205   - Map<String, Object> newMap=new HashMap<String,Object>();
206   - //当天YLB信息
207   - List<Ylb> ylList=repository.obtainYl(rq);
208   - //当天YLXXB信息
209   - List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq,0);
210   - //前一天所有车辆最后进场班次信息
211   - List<Ylb> ylListBe=repository.obtainYlbefore(rq);
212   - List<Cyl> clyList=cylRepository.obtainCyl();
213   - //从排班表中计算出行驶的总里程
214   - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq);
215   - List<Ylb> addList=new ArrayList<Ylb>();
216   - List<Ylb> updateList=new ArrayList<Ylb>();
217   - for(int x=0;x<listpb.size();x++){
218   - String type="add";
219   - boolean sfdc=true;
220   - Map<String, Object> map=listpb.get(x);
221   - if (carsMap.get(map.get("clZbh").toString())!=null) {
222   - sfdc= carsMap.get(map.get("clZbh").toString());
223   - }else{
224   - sfdc=true;
  192 + public Map<String, Object> obtain(Map<String, Object> map2) throws Exception{
  193 + Map<String, Object> newMap = new HashMap<String, Object>();
  194 + try {
  195 + List<Cars> carsList = carsRepository.findCars();
  196 + Map<String, Boolean> carsMap = new HashMap<String, Boolean>();
  197 + for (int i = 0; i < carsList.size(); i++) {
  198 + Cars c = carsList.get(i);
  199 + carsMap.put(c.getInsideCode(), c.getSfdc());
225 200 }
226   - if(!sfdc){
227   - //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
228   - Ylb t=new Ylb();
229   - for(int k=0;k<ylList.size();k++){
230   - Ylb t1=ylList.get(k);
231   - if(t1.getNbbm().equals(map.get("clZbh").toString())
232   - &&t1.getJsy().equals(map.get("jGh").toString())
233   - &&t1.getXlbm().equals(map.get("xlBm").toString()))
234   - {
235   - t=t1;
236   - type="update";
237   - }
  201 + String rq = map2.get("rq").toString();
  202 + String line = "";
  203 + if (map2.get("xlbm_like") != null) {
  204 + line = map2.get("xlbm_like").toString().trim();
  205 + }
  206 + String gsbm="";
  207 + if(map2.get("ssgsdm_like")!=null){
  208 + gsbm=map2.get("ssgsdm_like").toString();
  209 + }
  210 + String fgsbm="";
  211 + if(map2.get("fgsdm_like")!=null){
  212 + fgsbm=map2.get("fgsdm_like").toString();
  213 + }
  214 + String nbbm="";
  215 + if(map2.get("nbbm_eq")!=null){
  216 + nbbm=map2.get("nbbm_eq").toString();
  217 + }
  218 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  219 + // 保留两位小数
  220 + DecimalFormat df = new DecimalFormat("#.00");
  221 + // TODO Auto-generated method stub
  222 + // 当天YLB信息
  223 + List<Ylb> ylList = repository.obtainYl(rq,gsbm,fgsbm,line,nbbm,"nbbm");
  224 + // 当天YLXXB信息
  225 + List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0);
  226 + // 前一天所有车辆最后进场班次信息
  227 + List<Ylb> ylListBe = repository.obtainYlbefore(rq);
  228 + List<Cyl> clyList = cylRepository.obtainCyl(nbbm,gsbm);
  229 + // 从排班表中计算出行驶的总里程
  230 + List<Map<String, Object>> listpb = scheduleRealInfoService.yesterdayDataList(line, rq);
  231 + List<Ylb> addList = new ArrayList<Ylb>();
  232 + List<Ylb> updateList = new ArrayList<Ylb>();
  233 + for (int x = 0; x < listpb.size(); x++) {
  234 + String type = "add";
  235 + boolean sfdc = true;
  236 + Map<String, Object> map = listpb.get(x);
  237 + if (carsMap.get(map.get("clZbh").toString()) != null) {
  238 + sfdc = carsMap.get(map.get("clZbh").toString());
  239 + } else {
  240 + sfdc = true;
238 241 }
239   - try {
240   - //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
241   - if(map.get("seqNumber").toString().equals("1")){
242   - boolean fage=true;
  242 + if (!sfdc) {
  243 + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  244 + Ylb t = new Ylb();
  245 + for (int k = 0; k < ylList.size(); k++) {
  246 + Ylb t1 = ylList.get(k);
  247 + if (t1.getNbbm().equals(map.get("clZbh").toString())
  248 + && t1.getJsy().equals(map.get("jGh").toString())
  249 + && t1.getXlbm().equals(map.get("xlBm").toString())) {
  250 + t = t1;
  251 + type = "update";
  252 + }
  253 + }
  254 +
  255 + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  256 + if (map.get("seqNumber").toString().equals("1")) {
  257 + boolean fage = true;
243 258 for (int i = 0; i < ylListBe.size(); i++) {
244   - Ylb ylb=ylListBe.get(i);
245   - if(map.get("clZbh").toString().equals(ylb.getNbbm())){
246   - t.setCzyl(ylb.getJzyl());
247   - fage=false;
248   - break;
  259 + Ylb ylb = ylListBe.get(i);
  260 + if (map.get("clZbh").toString().equals(ylb.getNbbm())) {
  261 + if(ylb.getJzyl()>0){
  262 + t.setCzyl(ylb.getJzyl());
  263 + fage = false;
  264 + break;
  265 + }
  266 +
249 267 }
250 268 }
251   - if(fage){
  269 + if (fage) {
252 270 for (int y = 0; y < clyList.size(); y++) {
253   - Cyl cyl=clyList.get(y);
254   - if(map.get("clZbh").toString().equals(cyl.getNbbm())){
255   - t.setCzyl(cyl.getCyl());
256   - fage=false;
257   - break;
  271 + Cyl cyl = clyList.get(y);
  272 + if (map.get("clZbh").toString().equals(cyl.getNbbm())) {
  273 + if(cyl.getCyl()>0){
  274 + t.setCzyl(cyl.getCyl());
  275 + fage = false;
  276 + break;
  277 + }else {
  278 + if(cyl.getCxrl()!=null){
  279 + if(cyl.getCxrl()>0){
  280 + t.setCzyl(cyl.getCxrl());
  281 + fage = false;
  282 + break;
  283 + }
  284 + }
  285 +
  286 + }
  287 +
258 288 }
259 289 }
260 290 }
261   - if(fage){
  291 + if (fage) {
262 292 t.setCzyl(0.0);
263 293 }
264 294 }
265   -
266   - Double jzl=0.0;
267   - //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
268   - for(int j=0;j<ylxxList.size();j++){
269   - Ylxxb ylxxb= ylxxList.get(j);
270   - if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){
271   - jzl+=ylxxb.getJzl();
  295 +
  296 + Double jzl = 0.0;
  297 + // 把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
  298 + for (int j = 0; j < ylxxList.size(); j++) {
  299 + Ylxxb ylxxb = ylxxList.get(j);
  300 + if (map.get("clZbh").toString().equals(ylxxb.getNbbm())
  301 + && map.get("jGh").toString().equals(ylxxb.getJsy())) {
  302 + jzl += ylxxb.getJzl();
272 303 }
273 304 }
274 305 t.setJzl(jzl);
275 306 t.setNbbm(map.get("clZbh").toString());
276   - t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
277   - t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
278   - t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());
  307 + t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());
  308 + t.setZlc(map.get("totalKilometers") == null ? 0.0
  309 + : Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
  310 + t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());
279 311 t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
280   - t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());
281   - t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());
  312 + t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());
  313 + t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());
282 314 t.setRq(sdf.parse(rq));
283   - /*if(type.equals("add")){
284   - addList.add(t);
285   - }else{
286   - updateList.add(t);
287   - }*/
  315 + /*
  316 + * if(type.equals("add")){ addList.add(t); }else{
  317 + * updateList.add(t); }
  318 + */
288 319 repository.save(t);
289 320 newMap.put("status", ResponseCode.SUCCESS);
290   - } catch (ParseException e) {
291   - // TODO Auto-generated catch block
292   - newMap.put("status", ResponseCode.ERROR);
293   - e.printStackTrace();
  321 +
294 322 }
295 323 }
296   - }
297   - /* try {
298   - if(addList.size()>0){
299   - new BatchSaveUtils<Ylb>().saveList(addList, Ylb.class);
300   - }
301   -
302   - if(updateList.size()>0){
303   -
304   - }
305   - newMap.put("status", ResponseCode.SUCCESS);
306   - }
307   - catch (Exception e) {
308   - // TODO: handle exception
  324 + } catch (ParseException e) {
  325 + // TODO Auto-generated catch block
309 326 newMap.put("status", ResponseCode.ERROR);
310   - }*/
  327 + throw e;
  328 + }
  329 + /*
  330 + * try { if(addList.size()>0){ new
  331 + * BatchSaveUtils<Ylb>().saveList(addList, Ylb.class); }
  332 + *
  333 + * if(updateList.size()>0){
  334 + *
  335 + * } newMap.put("status", ResponseCode.SUCCESS); } catch (Exception e) {
  336 + * // TODO: handle exception newMap.put("status", ResponseCode.ERROR); }
  337 + */
311 338 return newMap;
312 339 }
313 340  
... ... @@ -317,104 +344,121 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
317 344 */
318 345 @Transactional
319 346 @Override
320   - public Map<String, Object> outAndIn(Map<String, Object> map){
  347 + public Map<String, Object> outAndIn(Map<String, Object> map) throws Exception{
321 348 // TODO Auto-generated method stub
  349 + String xlbm="";
  350 + if(map.get("xlbm_like")!=null){
  351 + xlbm= map.get("xlbm_like").toString().trim();
  352 + }
  353 + String gsbm="";
  354 + if(map.get("ssgsdm_like")!=null){
  355 + gsbm=map.get("ssgsdm_like").toString();
  356 + }
  357 + String fgsbm="";
  358 + if(map.get("fgsdm_like")!=null){
  359 + fgsbm=map.get("fgsdm_like").toString();
  360 + }
  361 + String rq = map.get("rq").toString();
  362 + String nbbm="";
  363 + if(map.get("nbbm_eq")!=null){
  364 + nbbm=map.get("nbbm_eq").toString();
  365 + }
  366 +
322 367 Map<String, Object> newMap=new HashMap<String,Object>();
323 368 Map<String, Object> map2=new HashMap<String,Object>();
324   - String rq=map.get("rq").toString();
325   - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
326   -
327 369 try {
  370 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  371 +
328 372 map.put("rq_eq", sdf.parse(rq));
329   - } catch (ParseException e1) {
330   - // TODO Auto-generated catch block
331   - e1.printStackTrace();
332   - }
333   - //获取车辆存油信息
334   - List<Cyl> cylList=cylRepository.findAll(new CustomerSpecs<Cyl>(newMap));
335   - //指定日期YLB信息
336   - Iterator<Ylb> iterator= repository.findAll(new CustomerSpecs<Ylb>(map)).iterator();
337   - while(iterator.hasNext()){
338   - Ylb ylb=iterator.next();
339   - //判断是否已经计算过
340   - if(newMap.get("nbbm"+ylb.getNbbm())==null){
341   - String nbbm_eq=ylb.getNbbm();
342   - Date rq_eq=ylb.getRq();
343   - //得到一天总的加油和里程(根据车,时间)
344   - List<Object[]> sumList=repository.sumLcYl(nbbm_eq, rq_eq);
345   - //保存总的加油量
346   - Double jzl=Double.valueOf(sumList.get(0)[0].toString());
347   - //保存总的里程
348   - Double zlc=Double.valueOf(sumList.get(0)[1].toString());
349   - //保留两位小数
350   - DecimalFormat df = new DecimalFormat("#.00");
351   - Double zyl=0.0;
352   - Double nextJzyl=0.0;
  373 +// List<Cyl> clyList = cylRepository.obtainCyl();
  374 + // 获取车辆存油信息
  375 + List<Cyl> cylList = cylRepository.obtainCyl(nbbm,gsbm);
  376 + // 指定日期YLB信息
  377 + List<Ylb> ylbList =repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm");
  378 + List<Ylb> iterator2=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
  379 + for (int i=0;i<ylbList.size();i++) {
  380 + Ylb ylb = ylbList.get(i);
  381 + // 判断是否已经计算过
  382 + if (newMap.get("nbbm" + ylb.getNbbm()) == null) {
  383 + String nbbm_eq = ylb.getNbbm();
  384 + Date rq_eq = ylb.getRq();
  385 + // 得到一天总的加油和里程(根据车,时间)
  386 + List<Object[]> sumList = repository.sumLcYl(nbbm_eq, rq_eq);
  387 + // 保存总的加油量
  388 + Double jzl = Double.valueOf(sumList.get(0)[0].toString());
  389 + // 保存总的里程
  390 + Double zlc = Double.valueOf(sumList.get(0)[1].toString());
353 391  
354   - //保存已经计算过的车辆,相同车辆编号的车不在计算
355   - newMap.put("nbbm"+ylb.getNbbm(), ylb.getNbbm());
  392 + Double zsh = Double.valueOf(sumList.get(0)[2].toString());
356 393  
357   - //查询指定车辆,设置进、存、耗油量
  394 + jzl=jzl-zsh;
  395 + // 保留两位小数
  396 + DecimalFormat df = new DecimalFormat("#.00");
  397 + Double zyl = 0.0;
  398 + Double nextJzyl = 0.0;
  399 + // 保存已经计算过的车辆,相同车辆编号的车不在计算
  400 + newMap.put("nbbm" + ylb.getNbbm(), ylb.getNbbm());
  401 +
  402 + // 查询指定车辆,设置进、存、耗油量
358 403 map.remove("nbbm_eq");
359 404 map.put("nbbm_eq", ylb.getNbbm());
360   - Iterator<Ylb> iterator2= repository.findAll(new CustomerSpecs<Ylb>(map),new Sort(Direction.ASC, "jcsx")).iterator();
361   - while(iterator2.hasNext()){
362   - try{
363   - Ylb t = iterator2.next();
364   - if(t.getJcsx()==1){
365   - //进场等于出场的操作 既 最后进场存油量等于第一次的出场存油量
366   - Double yl=t.getCzyl();
367   - Double jcyl=t.getCzyl();
368   - zyl=jcyl+jzl-yl;
369   - Double yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  405 + map.put("xlbm_like", ylb.getXlbm());
  406 +// Iterator<Ylb> iterator2 = repository
  407 +// .findAll(new CustomerSpecs<Ylb>(map), new Sort(Direction.ASC, "jcsx")).iterator();
  408 + for (int j = 0; j < iterator2.size(); j++) {
  409 +
  410 + Ylb t = iterator2.get(j);
  411 + if(t.getNbbm().equals(ylb.getNbbm())){
  412 + if (t.getJcsx() == 1) {
  413 + // 进场等于出场的操作 既 最后进场存油量等于第一次的出场存油量
  414 + Double yl = t.getCzyl();
  415 + Double jcyl = t.getCzyl();
  416 + zyl = jcyl + jzl - yl;
  417 + Double yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
370 418 t.setYh(yh);
371   - nextJzyl=t.getJzl()+t.getCzyl()-yh;
  419 + nextJzyl = t.getJzl() + t.getCzyl() - yh;
372 420 t.setJzyl(Double.parseDouble(df.format(nextJzyl)));
373   - }else{
  421 + } else {
374 422 t.setCzyl(Double.parseDouble(df.format(nextJzyl)));
375   - Double yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  423 + Double yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
376 424 t.setYh(yh);
377   - nextJzyl=t.getJzl()+nextJzyl-yh;
  425 + nextJzyl = t.getJzl() + nextJzyl - yh;
378 426 t.setJzyl(Double.parseDouble(df.format(nextJzyl)));
379 427 }
380   -
381 428 repository.save(t);
382   - //设置存油量
383   - Cyl cyl=null;
384   - boolean fage=false;
385   - for(int z=0;z<cylList.size();z++){
386   - cyl=cylList.get(z);
387   - if(t.getNbbm().equals(cyl.getNbbm())){
388   - cyl.setCyl(t.getJzyl());
389   - cyl.setUpdatetime(t.getRq());
390   - fage=true;
391   - break;
392   - }
393   - }
394   -
395   - if(fage){
396   - cylRepository.save(cyl);
397   - }else{
398   - cyl=new Cyl();
399   - cyl.setNbbm(t.getNbbm());
  429 + }
  430 +
  431 + // 设置存油量
  432 + Cyl cyl = null;
  433 + boolean fage = false;
  434 + for (int z = 0; z < cylList.size(); z++) {
  435 + cyl = cylList.get(z);
  436 + if (t.getNbbm().equals(cyl.getNbbm())) {
400 437 cyl.setCyl(t.getJzyl());
401   - cyl.setGsdm(t.getSsgsdm());
402 438 cyl.setUpdatetime(t.getRq());
403   - cylRepository.save(cyl);
  439 + fage = true;
  440 + break;
404 441 }
405   -
406   -
407   - map2.put("status", ResponseCode.SUCCESS);
408   - }catch(Exception e){
409   - map2.put("status", ResponseCode.ERROR);
410   - logger.error("save erro.", e);
411 442 }
  443 + if (fage) {
  444 + cylRepository.save(cyl);
  445 + } else {
  446 + cyl = new Cyl();
  447 + cyl.setNbbm(t.getNbbm());
  448 + cyl.setCyl(t.getJzyl());
  449 + cyl.setGsdm(t.getSsgsdm());
  450 + cyl.setUpdatetime(t.getRq());
  451 + cylRepository.save(cyl);
  452 + }
  453 + map2.put("status", ResponseCode.SUCCESS);
412 454 }
413   -
414   -
415 455 }
  456 + }
  457 + } catch (Exception e) {
  458 + map2.put("status", ResponseCode.ERROR);
  459 + logger.error("save erro.", e);
  460 + throw e;
416 461 }
417   -
418 462 return map2;
419 463 }
420 464  
... ... @@ -426,82 +470,107 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
426 470 public Map<String, Object> sort(Map<String, Object> map) {
427 471 // TODO Auto-generated method stub
428 472 Map<String, Object> newMap = new HashMap<String, Object>();
429   - //获取车辆存油信息
430   - List<Cyl> cylList=cylRepository.findAll(new CustomerSpecs<Cyl>(newMap));
431   - int id=Integer.parseInt(map.get("id").toString());
432   - //最后存油量
433   - Double yl=Double.parseDouble(map.get("jzyl").toString());
434   - Ylb ylb=repository.findOne(id);
435   - String nbbm_eq=ylb.getNbbm();
436   - Date rq_eq=ylb.getRq();
437   - //得到一天总的加油和里程(根据车,时间)
438   - List<Object[]> sumList=repository.sumLcYl(nbbm_eq, rq_eq);
439   - //保存总的加油量
440   - Double jzl=Double.valueOf(sumList.get(0)[0].toString());
441   - //保存总的里程
442   - Double zlc=Double.valueOf(sumList.get(0)[1].toString());
443   - map.put("nbbm_eq", nbbm_eq);
444   - map.put("rq_eq",rq_eq);
445   - Iterator<Ylb> iterator= repository.findAll(new CustomerSpecs<Ylb>(map),new Sort(Direction.ASC, "jcsx")).iterator();
446   - //根据jcyl排序1为该车当日第一个出场,出场油量为前一天的存油
447   - //保留两位小数
448   - DecimalFormat df = new DecimalFormat("#.00");
449   - Double zyl=0.0;
450   - Double nextJzyl=0.0;
451   - //车的,进,出油量及耗油
452   - while(iterator.hasNext()){
453   - try{
454   - Ylb t = iterator.next();
455   - if(t.getJcsx()==1){
456   - Double jcyl=t.getCzyl();
457   - zyl=jcyl+jzl-yl;
458   - Double yh=0.0;
459   - if(zlc>0&&t.getZlc()>0){
460   - yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  473 + SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd");
  474 + try {
  475 + // 获取车辆存油信息
  476 + List<Cyl> cylList = cylRepository.findAll(new CustomerSpecs<Cyl>(newMap));
  477 + int id = Integer.parseInt(map.get("id").toString());
  478 + // 最后存油量
  479 + Double yl = Double.parseDouble(map.get("jzyl").toString());
  480 + Double sh= Double.parseDouble(map.get("sh").toString());
  481 + String shyy=map.get("shyy").toString();
  482 + Ylb ylb = repository.findOne(id);
  483 +
  484 + String nbbm_eq = ylb.getNbbm();
  485 + Date rq_eq = ylb.getRq();
  486 + // 得到一天总的加油和里程(根据车,时间)
  487 + List<Object[]> sumList = repository.sumLcYl(nbbm_eq, rq_eq);
  488 + // 保存总的加油量
  489 + Double jzl = Double.valueOf(sumList.get(0)[0].toString());
  490 + // 保存总的里程
  491 + Double zlc = Double.valueOf(sumList.get(0)[1].toString());
  492 + // 保存总的损耗
  493 + Double zsh = Double.valueOf(sumList.get(0)[2].toString());
  494 +
  495 + //新的 损耗不等于 旧的损耗 总损耗从新算
  496 + if(ylb.getSh() - sh >0.0000001 || ylb.getSh()-sh <0.00000001){
  497 + zsh =zsh-ylb.getSh()+sh;
  498 + jzl =jzl-zsh;
  499 + }else{
  500 + jzl=jzl-zsh;
  501 + }
  502 + map.put("nbbm_eq", nbbm_eq);
  503 + map.put("rq_eq", rq_eq);
  504 + List<Ylb> iterator2=repository.obtainYl(sdf.format(rq_eq),ylb.getSsgsdm(),ylb.getFgsdm(),ylb.getXlbm(),
  505 + ylb.getNbbm(),"jcsx");
  506 +// Iterator<Ylb> iterator = repository.findAll(new CustomerSpecs<Ylb>(map), new Sort(Direction.ASC, "jcsx"))
  507 +// .iterator();
  508 + // 根据jcyl排序1为该车当日第一个出场,出场油量为前一天的存油
  509 + // 保留两位小数
  510 + DecimalFormat df = new DecimalFormat("#.00");
  511 + Double zyl = 0.0;
  512 + Double nextJzyl = 0.0;
  513 + // 车的,进,出油量及耗油
  514 + for (int i = 0; i < iterator2.size(); i++) {
  515 + Ylb t = iterator2.get(i);
  516 + if (t.getJcsx() == 1) {
  517 + if(t.getId()==id){
  518 + t.setSh(sh);
  519 + t.setShyy(shyy);
  520 + }
  521 + Double jcyl = t.getCzyl();
  522 + zyl = jcyl + jzl - yl;
  523 + Double yh = 0.0;
  524 + if (zlc > 0 && t.getZlc() > 0) {
  525 + yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
461 526 }
462 527 t.setYh(yh);
463   - nextJzyl=t.getJzl()+t.getCzyl()-yh;
  528 + nextJzyl = t.getJzl() + t.getCzyl() - yh-t.getSh();
464 529 t.setJzyl(Double.parseDouble(df.format(nextJzyl)));
465   - }else{
466   - if(t.getZlc()!=0){
  530 + } else {
  531 + if(t.getId()==id){
  532 + t.setSh(sh);
  533 + t.setShyy(shyy);
  534 + }
  535 + if (t.getZlc() != 0) {
467 536 t.setCzyl(Double.parseDouble(df.format(nextJzyl)));
468   - Double yh=Double.parseDouble(df.format(zyl*(t.getZlc()/zlc)));
  537 + Double yh = Double.parseDouble(df.format(zyl * (t.getZlc() / zlc)));
469 538 t.setYh(yh);
470   - nextJzyl=t.getJzl()+nextJzyl-yh;
  539 + nextJzyl = t.getJzl() + nextJzyl - yh-t.getSh();
471 540 t.setJzyl(Double.parseDouble(df.format(nextJzyl)));
472 541 }
473   -
  542 +
474 543 }
475 544 repository.save(t);
476   -
477   - //设置存油量
478   - Cyl cyl=null;
479   - boolean fage=false;
480   - for(int z=0;z<cylList.size();z++){
481   - cyl=cylList.get(z);
482   - if(t.getNbbm().equals(cyl.getNbbm())){
  545 +
  546 + // 设置存油量
  547 + Cyl cyl = null;
  548 + boolean fage = false;
  549 + for (int z = 0; z < cylList.size(); z++) {
  550 + cyl = cylList.get(z);
  551 + if (t.getNbbm().equals(cyl.getNbbm())) {
483 552 cyl.setCyl(t.getJzyl());
484 553 cyl.setUpdatetime(t.getRq());
485   - fage=true;
  554 + fage = true;
486 555 break;
487 556 }
488 557 }
489   - if(fage){
  558 + if (fage) {
490 559 cylRepository.save(cyl);
491   - }else{
492   - cyl=new Cyl();
  560 + } else {
  561 + cyl = new Cyl();
493 562 cyl.setNbbm(t.getNbbm());
494 563 cyl.setCyl(t.getJzyl());
495 564 cyl.setGsdm(t.getSsgsdm());
496 565 cyl.setUpdatetime(t.getRq());
497 566 cylRepository.save(cyl);
498 567 }
499   -
  568 +
500 569 newMap.put("status", ResponseCode.SUCCESS);
501   - }catch(Exception e){
502   - newMap.put("status", ResponseCode.ERROR);
503   - logger.error("save erro.", e);
504 570 }
  571 + } catch (Exception e) {
  572 + newMap.put("status", ResponseCode.ERROR);
  573 + logger.error("save erro.", e);
505 574 }
506 575 return newMap;
507 576 }
... ... @@ -515,13 +584,32 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
515 584 @Override
516 585 public Map<String, Object> checkYl(Map<String, Object> map) {
517 586 Map<String, Object> newMap=new HashMap<String,Object>();
518   - String xlbm=map.get("xlbm_eq").toString();
  587 +// String xlbm="";
  588 +// if(map.get("xlbm_like")!=null){
  589 +// xlbm=map.get("xlbm_like").toString();
  590 +// }
519 591 // TODO Auto-generated method stub
520 592 try{
521 593 //获取车辆存油信息
522 594 List<Cyl> cylList=cylRepository.findAll(new CustomerSpecs<Cyl>(newMap));
523 595 String rq=map.get("rq").toString();
524   - List<Ylb> ylbList=repository.obtainYl(rq);
  596 + String xlbm="";
  597 + if(map.get("xlbm_like")!=null){
  598 + xlbm= map.get("xlbm_like").toString().trim();
  599 + }
  600 + String gsbm="";
  601 + if(map.get("ssgsdm_like")!=null){
  602 + gsbm=map.get("ssgsdm_like").toString();
  603 + }
  604 + String fgsbm="";
  605 + if(map.get("fgsdm_like")!=null){
  606 + fgsbm=map.get("fgsdm_like").toString();
  607 + }
  608 + String nbbm="";
  609 + if(map.get("nbbm_eq")!=null){
  610 + nbbm=map.get("nbbm_eq").toString();
  611 + }
  612 + List<Ylb> ylbList=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm");
525 613 List<Ylxxb> ylxxbList=ylxxbRepository.obtainYlxx(rq,0);
526 614 for (int i = 0; i < ylxxbList.size(); i++) {
527 615 Boolean fage=true;
... ... @@ -574,6 +662,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
574 662 }catch(Exception e){
575 663 newMap.put("status", ResponseCode.ERROR);
576 664 logger.error("save erro.", e);
  665 + throw e;
577 666 }
578 667  
579 668 return newMap;
... ...
src/main/java/com/bsth/service/schedule/PeopleCarPlanServiceImpl.java
... ... @@ -229,22 +229,22 @@ public class PeopleCarPlanServiceImpl implements PeopleCarPlanService {
229 229 temp.get(key).add(m);
230 230 }
231 231 for(String key : temp.keySet()){
232   - Map<Integer, List<Map<String, Object>>> tempList = new HashMap<Integer, List<Map<String,Object>>>();
233   - List<Integer> keyList = new ArrayList<Integer>();
  232 + Map<Long, List<Map<String, Object>>> tempList = new HashMap<Long, List<Map<String,Object>>>();
  233 + List<Long> keyList = new ArrayList<Long>();
234 234 for(Map<String, Object> m : temp.get(key)){
235 235 String lp = m.get("lp").toString();
236 236 String str = "";
237 237 for(int i = 0; i < lp.length(); i++){
238 238 str += (int)lp.charAt(i);
239 239 }
240   - int i = Integer.valueOf(str);
  240 + Long i = Long.valueOf(str);
241 241 if(!tempList.containsKey(i))
242 242 tempList.put(i, new ArrayList<Map<String, Object>>());
243 243 tempList.get(i).add(m);
244 244 keyList.add(i);
245 245 }
246 246 Collections.sort(keyList);
247   - for(Integer i : keyList){
  247 + for(Long i : keyList){
248 248 for(Map<String, Object> m : tempList.get(i)){
249 249 resList.add(m);
250 250 }
... ...
src/main/resources/static/pages/electricity/list/list.html
... ... @@ -16,7 +16,7 @@
16 16 <div class="portlet light portlet-fit portlet-datatable bordered">
17 17 <div class="portlet-title">
18 18 <div class="caption">
19   - <i class="fa fa-fire-extinguisher"></i> <span
  19 + <i class="fa fa-battery-quarter"></i> <span
20 20 class="caption-subject font-dark sbold uppercase">进出场存电量表</span>
21 21 </div>
22 22 <div class="actions">
... ...
src/main/resources/static/pages/forms/statement/lineTimeAnaly.html
... ... @@ -288,6 +288,7 @@
288 288 params['type'] = "query";
289 289 $("#forms .hidden").removeClass("hidden");
290 290 $get('/busInterval/lineTimeAnaliy', params, function(result){
  291 + console.log(result);
291 292 // 把数据填充到模版中
292 293 var tbodyHtml = template('list_lineTimeAnaly',{list:result});
293 294 // 把渲染好的模版html文本追加到表格中
... ...
src/main/resources/static/pages/mforms/changetochanges/changetochange.html
... ... @@ -59,6 +59,7 @@
59 59 <span class="item-label" style="width: 80px;">线路: </span> <select
60 60 class="form-control" name="line" id="line" style="width: 180px;"></select>
61 61 </div>
  62 + <div style="margin-top: 10px"></div>
62 63 <div style="display: inline-block; margin-left: 15px;">
63 64 <span class="item-label" style="width: 80px;">开始时间: </span> <input
64 65 class="form-control" type="text" id="startDate"
... ...
src/main/resources/static/pages/mforms/singledatas/singledata.html
... ... @@ -40,6 +40,7 @@
40 40 <span class="item-label" style="width: 80px;">线路: </span>
41 41 <select class="form-control" name="line" id="line" style="width: 136px;"></select>
42 42 </div>
  43 + <div style="margin-top: 10px"></div>
43 44 <div style="display: inline-block;margin-left: 15px;">
44 45 <span class="item-label" style="width: 80px;">开始时间: </span>
45 46 <input class="form-control" type="text" id="startDate" style="width: 120px;"/>
... ...
src/main/resources/static/pages/mforms/turnoutrates/turnoutrate.html
... ... @@ -183,7 +183,9 @@
183 183 gsdmTurn=$("#gsdmTurn").val();
184 184 fgsdmTurn=$("#fgsdmTurn").val();
185 185 if(startDate1!=''&&endDate1!=''){
186   - $post('/mcy_forms/turnoutrate',{ gsdmTurn:gsdmTurn,fgsdmTurn:fgsdmTurn, line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){
  186 +// $post('/mcy_forms/turnoutrate',
  187 +// { gsdmTurn:gsdmTurn,fgsdmTurn:fgsdmTurn, line:line,startDate:$("#startDate").val(),endDate:$("#endDate").val(),type:'query'},function(result){
  188 + var result=[];
187 189 // 把数据填充到模版中
188 190 var tbodyHtml = template('turnoutrate',{list:result});
189 191 // 把渲染好的模版html文本追加到表格中
... ... @@ -235,7 +237,7 @@
235 237 obj.updateDate = moment(obj.startDate).format("YYYY-MM-DD HH:mm:ss");
236 238 });
237 239  
238   - })
  240 +// })
239 241  
240 242 }else{
241 243 alert("请选择时间范围!");
... ...
src/main/resources/static/pages/oil/list_ph.html
... ... @@ -81,25 +81,30 @@
81 81 <td >
82 82 线路:
83 83 </td>
84   - <td colspan="3">
85   - <select class="form-control" name="xlbm_eq" id="xlbm" style="width: 120px;"></select>
86   - <input type="hidden" name="xlbm_like" value=""/>
87   - &nbsp;
  84 + <td colspan="2">
  85 + <select class="form-control" name="xlbm_like" id="xlbm" style="width: 120px;"></select>
88 86 </td>
89 87 <td >
90 88 内部编码:
91 89 </td>
92   - <td colspan="3">
  90 + <td colspan="4">
  91 + <div style="float:left;">
93 92 <select class="form-control" name="nbbm_eq" id="nbbm" style="width: 120px;"></select>
  93 + </div>
  94 + <div style="float:left;">
  95 + <button class="btn btn-sm #000 btn-outline filter-cancel" style="margin-right:0px">
  96 + <i class="fa fa-times"></i>
  97 + </button>
  98 + </div>
94 99 </td>
95   - <td colspan="4">
  100 + <td colspan="1">
96 101 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px">
97 102 <i class="fa fa-search"></i> 搜索
98 103 </button>
99 104  
100   - <button class="btn btn-sm red btn-outline filter-cancel" style="margin-right:0px">
101   - <i class="fa fa-times"></i> 重置
102   - </button>
  105 +<!-- <button class="btn btn-sm red btn-outline filter-cancel" style="margin-right:0px"> -->
  106 +<!-- <i class="fa fa-times"></i> 重置 -->
  107 +<!-- </button> -->
103 108  
104 109 </td>
105 110 </tr>
... ... @@ -111,8 +116,6 @@
111 116 <th width="5%">自编号</th>
112 117 <th width="6%">驾驶员</th>
113 118 <th width="4%">加油量</th>
114   - <th width="5%">出场公里</th>
115   - <th width="4%">进场公里</th>
116 119 <th width="4%">出场存油</th>
117 120 <th width="4%">进场存油</th>
118 121 <th width="5%">油耗</th>
... ... @@ -123,7 +126,7 @@
123 126 <th width="5%">当日总里程</th>
124 127 <th width="5%">数据类型</th>
125 128 <th width="5%">百公里油耗</th>
126   - <!-- <th width="5%">操作</th> -->
  129 +<!-- <th width="5%">操作</th> -->
127 130 </tr>
128 131 </thead>
129 132 <tbody></tbody>
... ... @@ -163,12 +166,6 @@
163 166 {{obj.jzl}}
164 167 </td>
165 168 <td>
166   - {{obj.czlc}}
167   - </td>
168   - <td>
169   - {{obj.jzlc}}
170   - </td>
171   - <td>
172 169 {{obj.czyl}}
173 170 </td>
174 171 <td>
... ... @@ -186,10 +183,22 @@
186 183 {{obj.ns}}
187 184 </td>
188 185 <td>
189   - {{obj.shyy}}
  186 + <select data-id="{{obj.id}}" class="in_carpark_shyy">
  187 + <option value='0' {{if obj.shyy==0}} selected = 'selected' {{/if}}>请选择</option>
  188 + <option value='1' {{if obj.shyy==1}} selected = 'selected' {{/if}}>票务用油</option>
  189 + <option value='2' {{if obj.shyy==2}} selected = 'selected' {{/if}}>保养用油</option>
  190 + <option value='3' {{if obj.shyy==3}} selected = 'selected' {{/if}}>报废车用油</option>
  191 + <option value='4' {{if obj.shyy==4}} selected = 'selected' {{/if}}>其它用油</option>
  192 + <option value='5' {{if obj.shyy==5}} selected = 'selected' {{/if}}>人保部</option>
  193 + <option value='6' {{if obj.shyy==6}} selected = 'selected' {{/if}}>车队</option>
  194 + <option value='7' {{if obj.shyy==7}} selected = 'selected' {{/if}}>车间(高保)</option>
  195 + <option value='8' {{if obj.shyy==8}} selected = 'selected' {{/if}}>车间(小修)</option>
  196 + </select>
190 197 </td>
191 198 <td>
192   - {{obj.sh}}
  199 + <a data-id="{{obj.id}}" href="javascript:;" class="in_carpark_shyl">
  200 + {{obj.sh}}
  201 + </a>
193 202 </td>
194 203 <td>
195 204 {{obj.zlc}}
... ... @@ -200,14 +209,11 @@
200 209 <td>
201 210 {{obj.bglyh}}
202 211 </td>
203   - <td>
204   - <!--<a class="btn btn-sm blue btn-outline" href="edit.html?no={{obj.id}}" data-pjax><i class="fa fa-edit"></i> 编辑</a>-->
205   - </td>
206 212 </tr>
207 213 {{/each}}
208 214 {{if list.length == 0}}
209 215 <tr>
210   - <td colspan=20><h6 class="muted">没有找到相关数据</h6></td>
  216 + <td colspan=17><h6 class="muted">没有找到相关数据</h6></td>
211 217 </tr>
212 218 {{/if}}
213 219 </script>
... ... @@ -277,11 +283,15 @@
277 283 } else {
278 284 //获取输入的进场存油
279 285 var jzyl = $('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').html();
  286 + var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').html();
  287 + var shyy = $('.in_carpark_shyy[data-id='+id+']', '#ll_oil_list').val();
280 288 // $("#jzyl" + id).html();
281 289 var params = {};
282 290 params['jzyl'] = jzyl;
  291 + params['sh'] =sh;
  292 + params['shyy']=shyy;
283 293 params['id'] = id;
284   - var i = layer.load(2);
  294 + var i = layer.load(2);
285 295 $get('/ylb/sort', params, function () {
286 296 layer.close(i);
287 297 var cells = $('tr.filter')[0].cells
... ... @@ -297,7 +307,7 @@
297 307 }
298 308 });
299 309 jsDoQuery(params1, true);
300   - });
  310 + });
301 311  
302 312 }
303 313 } else {
... ... @@ -343,7 +353,7 @@
343 353  
344 354 //重置
345 355 $('tr.filter .filter-cancel').on('click', function () {
346   - $('tr.filter input, select').val('').change();
  356 + $('tr.filter , #nbbm').val('').change();
347 357 });
348 358  
349 359 //提交
... ... @@ -444,7 +454,7 @@
444 454 params['fgsdm_in']=fgsqx1;
445 455 }
446 456 } */
447   - var i = layer.load(2);
  457 + var l = layer.load(2);
448 458 $get('/ylb', params, function (data) {
449 459 $.each(data.content, function (i, obj) {
450 460 obj.rq = moment(obj.rq).format("YYYY-MM-DD");
... ... @@ -459,9 +469,10 @@
459 469 initPagination = true;
460 470 showPagination(data);
461 471 }
462   - layer.close(i);
  472 + layer.close(l);
463 473  
464 474 startOptJzylLink($('#ll_oil_list .in_carpark_jzyl'));
  475 + startOptShylLink($('#ll_oil_list .in_carpark_shyl'));
465 476 });
466 477 }
467 478  
... ... @@ -487,6 +498,27 @@
487 498 });
488 499 }
489 500  
  501 + //改变状态
  502 + function startOptShylLink(es) {
  503 + es.editable({
  504 + type: 'text',
  505 + placement: 'right',
  506 + width: 100,
  507 + display: false,
  508 + validate: function (value) {
  509 + if (!value)
  510 + return '值不能为空!';
  511 + if (isNaN(value))
  512 + return '只能为数字!';
  513 + if (value < 0)
  514 + return '值不能小于0!';
  515 + },
  516 + inputclass: 'form-control input-medium input-edtable-sm'
  517 + })
  518 + .on('save', function (e, params) {
  519 + $(this).text(params.newValue);
  520 + });
  521 + }
490 522 function iCheckChange() {
491 523 var tr = $(this).parents('tr');
492 524 if (this.checked)
... ... @@ -550,14 +582,14 @@
550 582 //搜索线路
551 583 $.get('/basic/lineCode2Name',function(result){
552 584 var data=[];
553   -// data.push({id: " ", text: "全部线路"});
  585 + data.push({id: " ", text: "全部线路"});
554 586 for(var code in result){
555 587 data.push({id: code, text: result[code]});
556 588 }
557 589 initPinYinSelect2('#xlbm',data,'');
558 590  
559 591 })
560   -
  592 +
561 593 $('#nbbm').select2({
562 594 placeholder: '搜索车辆...',
563 595 ajax: {
... ... @@ -598,8 +630,7 @@
598 630 return '<span style="color:gray;font-size: 12px;"> 正在搜索车辆...</span>';
599 631 }
600 632 }
601   - })
602   -
  633 + });
603 634  
604 635 //导出
605 636  
... ...