Commit aa93fdafa0d70cbe5bee0d52f835350ddc18536d

Authored by 娄高锋
1 parent 3461e564

油电氢修改:改为不按车队导入,默认以全部车队获取加存量。

src/main/java/com/bsth/repository/oil/JdlRepository.java
@@ -25,10 +25,15 @@ public interface JdlRepository extends BaseRepository<Jdl, Integer>{ @@ -25,10 +25,15 @@ public interface JdlRepository extends BaseRepository<Jdl, Integer>{
25 @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% " ,nativeQuery=true) 25 @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% " ,nativeQuery=true)
26 List<Jdl> query(String gsbm, String fgsbm, String rq, String nbbm); 26 List<Jdl> query(String gsbm, String fgsbm, String rq, String nbbm);
27 27
  28 + @Query(value="SELECT * FROM bsth_c_jdl where gs_bm = ?1 and rq = ?2 and nbbm like %?3% " ,nativeQuery=true)
  29 + List<Jdl> query(String gsbm, String rq, String nbbm);
28 30
29 @Query(value="SELECT * FROM bsth_c_jdl where rq = ?",nativeQuery=true) 31 @Query(value="SELECT * FROM bsth_c_jdl where rq = ?",nativeQuery=true)
30 List<Jdl> JdlList( String rq); 32 List<Jdl> JdlList( String rq);
31 33
  34 + @Query(value="SELECT * FROM bsth_c_jdl where rq = ?1 and gs_bm like %?2% and fgs_bm like %?3%",nativeQuery=true)
  35 + List<Jdl> JdlList_1( String rq, String gsbm, String fgsbm);
  36 +
32 @Query(value="SELECT jdl FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 ",nativeQuery=true) 37 @Query(value="SELECT jdl FROM bsth_c_jdl where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 ",nativeQuery=true)
33 List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm); 38 List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm);
34 39
src/main/java/com/bsth/repository/oil/JqlRepository.java
@@ -25,10 +25,15 @@ public interface JqlRepository extends BaseRepository&lt;Jql, Integer&gt;{ @@ -25,10 +25,15 @@ public interface JqlRepository extends BaseRepository&lt;Jql, Integer&gt;{
25 @Query(value="SELECT * FROM bsth_c_jql where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% " ,nativeQuery=true) 25 @Query(value="SELECT * FROM bsth_c_jql where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm like %?4% " ,nativeQuery=true)
26 List<Jql> query(String gsbm, String fgsbm, String rq, String nbbm); 26 List<Jql> query(String gsbm, String fgsbm, String rq, String nbbm);
27 27
  28 + @Query(value="SELECT * FROM bsth_c_jql where gs_bm = ?1 and rq = ?2 and nbbm like %?3% " ,nativeQuery=true)
  29 + List<Jql> query(String gsbm, String rq, String nbbm);
28 30
29 @Query(value="SELECT * FROM bsth_c_jql where rq = ?",nativeQuery=true) 31 @Query(value="SELECT * FROM bsth_c_jql where rq = ?",nativeQuery=true)
30 List<Jql> JqlList( String rq); 32 List<Jql> JqlList( String rq);
31 33
  34 + @Query(value="SELECT * FROM bsth_c_jql where rq = ?1 and gs_bm like %?2% and fgs_bm like %?3%",nativeQuery=true)
  35 + List<Jql> JqlList_1( String rq, String gsbm, String fgsbm);
  36 +
32 @Query(value="SELECT jql FROM bsth_c_jql where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 ",nativeQuery=true) 37 @Query(value="SELECT jql FROM bsth_c_jql where gs_bm = ?1 and fgs_bm = ?2 and rq = ?3 and nbbm = ?4 ",nativeQuery=true)
33 List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm); 38 List<Double> queryBySame(String gsbm, String fgsbm, String rq, String nbbm);
34 39
src/main/java/com/bsth/service/oil/impl/CwjyServiceImpl.java
@@ -57,125 +57,6 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw @@ -57,125 +57,6 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw
57 @Autowired 57 @Autowired
58 JdbcTemplate jdbcTemplate; 58 JdbcTemplate jdbcTemplate;
59 Logger logger = LoggerFactory.getLogger(this.getClass()); 59 Logger logger = LoggerFactory.getLogger(this.getClass());
60 - /*@SuppressWarnings("unchecked")  
61 - public PageObject<Ylxxb> Pagequery(Map<String, Object> map) {  
62 - int page=Integer.parseInt(map.get("page").toString());  
63 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
64 -  
65 - String rq=map.get("rq").toString();  
66 - String nbbm="";  
67 - if(map.get("nbbh")!=null){  
68 - nbbm=map.get("nbbh").toString();  
69 - }  
70 -  
71 - Object gsdmIn=map.get("gsdm_in");  
72 - Object fgsdmIn=map.get("fgsdm_in");  
73 - String addSql="";  
74 - String gsdmLike="";  
75 - String fgsdmLike="";  
76 -  
77 - //选择了公司  
78 - if(gsdmIn==null){  
79 - gsdmLike=map.get("gsdm_like").toString();  
80 - addSql += " and a.gsdm = '"+gsdmLike+ "' ";  
81 -  
82 - //选择了分公司  
83 - if(fgsdmIn==null){  
84 - fgsdmLike=map.get("fgsdm_like").toString();;  
85 - addSql += " and a.fgsdm = '"+fgsdmLike+ "' ";  
86 - }else{  
87 - String fgsdmIns[]= fgsdmIn.toString().split(",");  
88 - addSql +=" and a.fgsdm in (";  
89 - for(int i=0;i<fgsdmIns.length;i++){  
90 - addSql +="'"+fgsdmIns[i]+"'";  
91 - if(i<fgsdmIns.length-1){  
92 - addSql +=",";  
93 - }  
94 - }  
95 - addSql +=")";  
96 - }  
97 - }else{  
98 - //没有选择公司 (分公司也没有选择)  
99 - String gsdmIns[]=gsdmIn.toString().split(",");  
100 - addSql += " and a.gsdm in (";  
101 - for(int i=0;i<gsdmIns.length;i++){  
102 - addSql +="'" +gsdmIns[i]+"'";  
103 - if(i<gsdmIns.length-1){  
104 - addSql+=",";  
105 - }  
106 - }  
107 - addSql +=")";  
108 - String fgsdmIns[]= fgsdmIn.toString().split(",");  
109 - addSql +=" and a.fgsdm in (";  
110 - for(int i=0;i<fgsdmIns.length;i++){  
111 - addSql +="'"+fgsdmIns[i]+"'";  
112 - if(i<fgsdmIns.length-1){  
113 - addSql +=",";  
114 - }  
115 - }  
116 - addSql +=")";  
117 -  
118 -  
119 - }  
120 - String countSql="SELECT ifnull(count(*),0) as countTs FROM bsth_c_cwjy a "+  
121 - " left join ( select * from bsth_c_ylxxb b where to_days(b.yyrq)=to_days('"+rq+"') and jylx=1) b " +  
122 - " on a.nbbm=b.nbbm left join (select nbbm,group_concat(jsy) as jsy "  
123 - + "from bsth_c_ylb where to_days(rq)= to_days('"+rq+"' ) group by nbbm "+  
124 - " ) c on a.nbbm=c.nbbm where a.nbbm like '%"+nbbm+"%' " +addSql ;  
125 - int listsize=jdbcTemplate.queryForObject(countSql, Integer.class);  
126 - // TODO Auto-generated method stub  
127 - String sql="SELECT a.gsdm as gsdm,a.fgsdm as fgsdm,a.nbbm as nbbm,b.jsy as jsy,b.jzl as jzl ,b.stationid as stationid,"  
128 - + "b.nylx as nylx,b.yj as yj,b.bz as bz,c.jsy as ldgh FROM bsth_c_cwjy a "+  
129 - " left join ( select * from bsth_c_ylxxb b where to_days(b.yyrq)=to_days('"+rq+"') and jylx=1) b " +  
130 - " on a.nbbm=b.nbbm left join (select nbbm,group_concat(jsy) as jsy "  
131 - + "from bsth_c_ylb where to_days(rq)= to_days('"+rq+"' ) group by nbbm "+  
132 - " ) c on a.nbbm=c.nbbm where a.nbbm like '%"+nbbm+"%' " +addSql+ " limit "+page*10+","+10;  
133 -  
134 -  
135 - List<Ylxxb> yList= jdbcTemplate.query(sql,  
136 - new RowMapper<Ylxxb>(){  
137 - @Override  
138 - public Ylxxb mapRow(ResultSet rs, int rowNum) throws SQLException {  
139 - Ylxxb t=new Ylxxb();  
140 - t.setGsdm(rs.getString("gsdm"));  
141 - t.setFgsdm(rs.getString("fgsdm"));  
142 - t.setNbbm(rs.getString("nbbm"));  
143 - t.setJsy(rs.getString("jsy"));  
144 - t.setJzl(rs.getDouble("jzl"));  
145 - t.setStationid(rs.getString("stationid"));  
146 - t.setNylx(rs.getInt("nylx"));  
147 - t.setYj(rs.getDouble("yj"));  
148 - t.setBz(rs.getString("bz"));  
149 - t.setLdgh(rs.getString("ldgh"));  
150 - return t;  
151 - }  
152 - });  
153 - List<Object[]> list=repository.obtainCwjycl(rq,nbbm);  
154 - for (int i = 0; i < list.size(); i++) {  
155 - Ylxxb y=new Ylxxb();  
156 - y.setGsdm(list.get(i)[0]==null?"":list.get(i)[0].toString());  
157 - y.setNbbm(list.get(i)[1]==null?"":list.get(i)[1].toString());  
158 - y.setJsy(list.get(i)[2]==null?"":list.get(i)[2].toString());  
159 - y.setJzl(list.get(i)[3]==null?0.0:Double.parseDouble(list.get(i)[3].toString()));  
160 - y.setStationid(list.get(i)[4]==null?"":list.get(i)[4].toString());  
161 - y.setNylx(list.get(i)[5]==null?0:Integer.parseInt(list.get(i)[5].toString()));  
162 - y.setYj(list.get(i)[6]==null?0.0:Double.parseDouble(list.get(i)[6].toString()));  
163 - y.setBz(list.get(i)[7]==null?"":list.get(i)[7].toString());  
164 - y.setLdgh(list.get(i)[8]==null?"":list.get(i)[8].toString());  
165 - try {  
166 - y.setYyrq(sdf.parse(rq));  
167 - } catch (ParseException e) {  
168 - // TODO Auto-generated catch block  
169 - e.printStackTrace();  
170 - }  
171 - yList.add(y);  
172 - }  
173 - PageHelper pageHelper = new PageHelper(listsize, map);  
174 - pageHelper.getMap();  
175 - PageObject<Ylxxb> pageObject=pageHelper.getPageObject();  
176 - pageObject.setDataList(yList);  
177 - return pageObject;  
178 - }*/  
179 60
180 @Override 61 @Override
181 public Ylxxb bynbbm(Map<String, Object> map) { 62 public Ylxxb bynbbm(Map<String, Object> map) {
@@ -216,17 +97,8 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw @@ -216,17 +97,8 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw
216 Map<String, Object> map=new HashMap<String,Object>(); 97 Map<String, Object> map=new HashMap<String,Object>();
217 try { 98 try {
218 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 99 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
219 -// String rq = sdf.format(t.getYyrq());  
220 -// String nbbm=t.getNbbm();  
221 -// List<Ylxxb> yList=ylxxbRepository.obtainYlxx2(rq,nbbm);  
222 -// if(yList.size()>0){  
223 -// t.setId(yList.get(0).getId());  
224 -// ylxxbRepository.save(t);  
225 -// }else{  
226 -// ylxxbRepository.save(t);  
227 -// }  
228 String gsbm=maps.get("gsbm").toString(); 100 String gsbm=maps.get("gsbm").toString();
229 - String fgsbm=maps.get("fgsbm").toString(); 101 +// String fgsbm=maps.get("fgsbm").toString();
230 String rq=maps.get("rq").toString(); 102 String rq=maps.get("rq").toString();
231 Date date=sdf.parse(rq); 103 Date date=sdf.parse(rq);
232 String json =StringEscapeUtils.unescapeHtml4(maps.get("ylbList").toString()); 104 String json =StringEscapeUtils.unescapeHtml4(maps.get("ylbList").toString());
@@ -294,20 +166,6 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw @@ -294,20 +166,6 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw
294 166
295 String fgsdm=map.get("fgsdm_like").toString(); 167 String fgsdm=map.get("fgsdm_like").toString();
296 String line =map.get("line_like").toString().trim(); 168 String line =map.get("line_like").toString().trim();
297 - /*String sql="SELECT a.gsdm as gsdm,a.fgsdm as fgsdm,a.nbbm as nbbm,"  
298 - + "b.jyggh as jyggh,b.jzl as jzl ,b.stationid as stationid,b.jsy as jsy,"  
299 - + "b.nylx as nylx,b.yj as yj,b.bz as bz,b.id as id ,c.jsy as ldgh FROM bsth_c_cwjy a "+  
300 - " left join ("  
301 - + " select * from bsth_c_ylxxb b "  
302 - + "where to_days(b.yyrq)=to_days('"+rq+"') and jylx=1 "  
303 - + " and gsdm = '"+gsdm+"') b " +  
304 - " on a.nbbm=b.nbbm "  
305 - + "left join (select nbbm,group_concat(jsy) as jsy "  
306 - + "from bsth_c_ylb where to_days(rq)= to_days('"+rq+"' ) "  
307 - + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"' group by nbbm "+  
308 - " ) c on a.nbbm=c.nbbm "  
309 - + "where a.nbbm like '%"+nbbm+"%' and a.gsdm='"+gsdm+"' and a.fgsdm ='"+fgsdm+"'"  
310 - + " order by a.nbbm";*/  
311 String sql= " select * from bsth_c_ylxxb b " 169 String sql= " select * from bsth_c_ylxxb b "
312 + "where to_days(b.yyrq)=to_days('"+rq+"') and jylx=1 " 170 + "where to_days(b.yyrq)=to_days('"+rq+"') and jylx=1 "
313 + " and gsdm = '"+gsdm+"'"; 171 + " and gsdm = '"+gsdm+"'";
@@ -411,24 +269,24 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw @@ -411,24 +269,24 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw
411 String nbbm=map.get("nbbh").toString(); 269 String nbbm=map.get("nbbh").toString();
412 String gsdm=map.get("gsdm_like").toString(); 270 String gsdm=map.get("gsdm_like").toString();
413 271
414 - String fgsdm=map.get("fgsdm_like").toString(); 272 +// String fgsdm=map.get("fgsdm_like").toString();
415 String line =map.get("line_like").toString().trim(); 273 String line =map.get("line_like").toString().trim();
416 boolean type=false; 274 boolean type=false;
417 if(map.get("type")!=null){ 275 if(map.get("type")!=null){
418 type=true; 276 type=true;
419 } 277 }
420 - String sql="select a.nbbm,a.gsdm,a.fgsdm,IFNULL(b.id,0) as id,IFNULL(b.jzl,0) as jzl," 278 + String sql="select a.nbbm,a.gsdm,IFNULL(b.id,0) as id,IFNULL(b.jzl,0) as jzl,"
421 + " IFNULL(b.jyggh,0) as jyggh,IFNULL(b.jsy,0) as jsy,IFNULL(b.stationid,0) as stationid ," 279 + " IFNULL(b.jyggh,0) as jyggh,IFNULL(b.jsy,0) as jsy,IFNULL(b.stationid,0) as stationid ,"
422 + " IFNULL(b.yj,0) as yj,IFNULL(b.nylx,0) as nylx,IFNULL(b.bz,'') as bz,IFNULL(c.jsy,'') as ldgh ," 280 + " IFNULL(b.yj,0) as yj,IFNULL(b.nylx,0) as nylx,IFNULL(b.bz,'') as bz,IFNULL(c.jsy,'') as ldgh ,"
423 + " IFNULL(c.xlname,c.linename) as xlname from " 281 + " IFNULL(c.xlname,c.linename) as xlname from "
424 - + " (select * from bsth_c_cwjy where gsdm='"+gsdm+"' and fgsdm='"+fgsdm+"') a " 282 + + " (select nbbm,gsdm from bsth_c_cwjy where gsdm='"+gsdm+"' group by nbbm,gsdm) a "
425 + " left join (select * from bsth_c_ylxxb where yyrq='"+rq+"' and gsdm='"+gsdm+"' and jylx=1) b" 283 + " left join (select * from bsth_c_ylxxb where yyrq='"+rq+"' and gsdm='"+gsdm+"' and jylx=1) b"
426 + " on a.nbbm=b.nbbm LEFT JOIN (select u.nbbm,u.jsy,v.linename,v.xlname,v.xlbm from(select a.nbbm,GROUP_CONCAT(a.jsy) as jsy " 284 + " on a.nbbm=b.nbbm LEFT JOIN (select u.nbbm,u.jsy,v.linename,v.xlname,v.xlbm from(select a.nbbm,GROUP_CONCAT(a.jsy) as jsy "
427 + " from (select nbbm,jsy from bsth_c_ylb x where x.rq='"+rq+"' " 285 + " from (select nbbm,jsy from bsth_c_ylb x where x.rq='"+rq+"' "
428 - + " and x.ssgsdm='"+gsdm+"' and x.fgsdm='"+fgsdm+"' group by nbbm,jsy ) a group by a.nbbm) u" 286 + + " and x.ssgsdm='"+gsdm+"' group by nbbm,jsy ) a group by a.nbbm) u"
429 + " LEFT JOIN(select o.nbbm,GROUP_CONCAT(o.xlbm) xlbm ,GROUP_CONCAT(o.linename) as xlname," 287 + " LEFT JOIN(select o.nbbm,GROUP_CONCAT(o.xlbm) xlbm ,GROUP_CONCAT(o.linename) as xlname,"
430 + " GROUP_CONCAT(p.`name`) as linename from (select nbbm,xlbm,linename from bsth_c_ylb " 288 + " GROUP_CONCAT(p.`name`) as linename from (select nbbm,xlbm,linename from bsth_c_ylb "
431 - + " where rq='"+rq+"' and ssgsdm='"+gsdm+"' and fgsdm='"+fgsdm+"' group by nbbm,xlbm,linename) o " 289 + + " where rq='"+rq+"' and ssgsdm='"+gsdm+"' group by nbbm,xlbm,linename) o "
432 + " LEFT JOIN bsth_c_line p on o.xlbm=p.line_code group by o.nbbm ) v on u.nbbm=v.nbbm) c " 290 + " LEFT JOIN bsth_c_line p on o.xlbm=p.line_code group by o.nbbm ) v on u.nbbm=v.nbbm) c "
433 + " on a.nbbm=c.nbbm where 1=1 "; 291 + " on a.nbbm=c.nbbm where 1=1 ";
434 if(!nbbm.equals("")){ 292 if(!nbbm.equals("")){
@@ -448,7 +306,7 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw @@ -448,7 +306,7 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw
448 Ylxxb t=new Ylxxb(); 306 Ylxxb t=new Ylxxb();
449 t.setId(rs.getInt("id")); 307 t.setId(rs.getInt("id"));
450 t.setGsdm(rs.getString("gsdm")); 308 t.setGsdm(rs.getString("gsdm"));
451 - t.setFgsdm(rs.getString("fgsdm")); 309 +// t.setFgsdm(rs.getString("fgsdm"));
452 t.setNbbm(rs.getString("nbbm")); 310 t.setNbbm(rs.getString("nbbm"));
453 t.setJyggh(rs.getString("jyggh")); 311 t.setJyggh(rs.getString("jyggh"));
454 t.setJsy(rs.getString("jsy")); 312 t.setJsy(rs.getString("jsy"));
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
1 -package com.bsth.service.oil.impl;  
2 -  
3 -  
4 -  
5 -import java.sql.ResultSet;  
6 -import java.sql.SQLException;  
7 -import java.text.DecimalFormat;  
8 -import java.text.ParseException;  
9 -import java.text.SimpleDateFormat;  
10 -import java.util.ArrayList;  
11 -import java.util.Calendar;  
12 -import java.util.Collections;  
13 -import java.util.Comparator;  
14 -import java.util.Date;  
15 -import java.util.HashMap;  
16 -import java.util.Iterator;  
17 -import java.util.List;  
18 -import java.util.Map;  
19 -  
20 -import javax.transaction.Transactional;  
21 -  
22 -import org.apache.commons.lang3.StringEscapeUtils;  
23 -import org.apache.commons.lang3.StringUtils;  
24 -import org.slf4j.Logger;  
25 -import org.slf4j.LoggerFactory;  
26 -import org.springframework.beans.factory.annotation.Autowired;  
27 -import org.springframework.data.domain.Sort;  
28 -import org.springframework.data.domain.Sort.Direction;  
29 -import org.springframework.jdbc.core.JdbcTemplate;  
30 -import org.springframework.jdbc.core.RowMapper;  
31 -import org.springframework.stereotype.Service;  
32 -  
33 -import com.alibaba.fastjson.JSONArray;  
34 -import com.alibaba.fastjson.JSONObject;  
35 -import com.bsth.common.ResponseCode;  
36 -import com.bsth.data.BasicData;  
37 -import com.bsth.entity.Cars;  
38 -import com.bsth.entity.Line;  
39 -import com.bsth.entity.oil.Cdl;  
40 -import com.bsth.entity.oil.Cyl;  
41 -import com.bsth.entity.oil.Dlb;  
42 -import com.bsth.entity.oil.Jdl;  
43 -import com.bsth.entity.oil.Nylog;  
44 -import com.bsth.entity.oil.Ylxxb;  
45 -import com.bsth.entity.search.CustomerSpecs;  
46 -import com.bsth.entity.sys.SysUser;  
47 -import com.bsth.repository.CarsRepository;  
48 -import com.bsth.repository.oil.CdlRepository;  
49 -import com.bsth.repository.oil.CylRepository;  
50 -import com.bsth.repository.oil.DlbRepository;  
51 -import com.bsth.repository.oil.JdlRepository;  
52 -import com.bsth.repository.oil.NylogRepository;  
53 -import com.bsth.repository.oil.YlbRepository;  
54 -import com.bsth.repository.oil.YlxxbRepository;  
55 -import com.bsth.security.util.SecurityUtils;  
56 -import com.bsth.service.impl.BaseServiceImpl;  
57 -import com.bsth.service.oil.DlbService;  
58 -import com.bsth.service.realcontrol.ScheduleRealInfoService;  
59 -import com.bsth.util.Arith;  
60 -import com.bsth.util.BatchSaveUtils;  
61 -  
62 -@Service  
63 -public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbService{  
64 - @Autowired  
65 - DlbRepository repository;  
66 - @Autowired  
67 - NylogRepository nylogRepository;  
68 - @Autowired  
69 - YlxxbRepository ylxxbRepository;  
70 -  
71 - @Autowired  
72 - CdlRepository cdlRepository;  
73 - @Autowired  
74 - JdlRepository jdlRepository;  
75 - @Autowired  
76 - CarsRepository carsRepository;  
77 -  
78 - @Autowired  
79 - ScheduleRealInfoService scheduleRealInfoService;  
80 -  
81 - @Autowired  
82 - JdbcTemplate jdbcTemplate;  
83 -  
84 - Logger logger = LoggerFactory.getLogger(this.getClass());  
85 -  
86 - @Transactional  
87 - @Override  
88 - public String obtainDsq() throws Exception{  
89 - String result = "failure";  
90 - List<Cars> carsList=carsRepository.findCars();  
91 - Map<String, Boolean> carsMap=new HashMap<String, Boolean>();  
92 - for (int i = 0; i < carsList.size(); i++) {  
93 - Cars c=carsList.get(i);  
94 - carsMap.put(c.getInsideCode(), c.getSfdc());  
95 - }  
96 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
97 - Date dNow = new Date(); //当前时间  
98 - Date dBefore = new Date();  
99 - Calendar calendar = Calendar.getInstance(); //得到日历  
100 - calendar.setTime(dNow);//把当前时间赋给日历  
101 - calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天  
102 - dBefore = calendar.getTime(); //得到前一天的时间  
103 - String rq=sdf.format(dBefore);  
104 -// String rq="2017-11-02";  
105 - String line="";  
106 - //保留两位小数  
107 - DecimalFormat df = new DecimalFormat("#.00");  
108 - // TODO Auto-generated method stub  
109 - Map<String, Object> newMap=new HashMap<String,Object>();  
110 - //当天DLB信息  
111 - List<Dlb> dlList=repository.obtainDl(rq, "", "", line, "", "nbbm");  
112 - //当天YLXXB信息  
113 - List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq,1,"");  
114 - //当天加电信息表  
115 - List<Jdl> jdlList=jdlRepository.JdlList(rq);  
116 - //前一天所有车辆最后进场班次信息  
117 -// List<Dlb> dlListBe=repository.obtainYlbefore(rq, "", "", "", "");  
118 - List<Cdl> cdyList=cdlRepository.obtainCdl();  
119 - //从排班表中计算出行驶的总里程  
120 - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq,"","","","");  
121 - for(int x=0;x<listpb.size();x++){  
122 - String type="add";  
123 - boolean sfdc=false;  
124 - Map<String, Object> map=listpb.get(x);  
125 - if (carsMap.get(map.get("clZbh").toString())!=null) {  
126 - sfdc= carsMap.get(map.get("clZbh").toString());  
127 - }else{  
128 - sfdc=false;  
129 - }  
130 - if(sfdc){  
131 - //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)  
132 - Dlb t=new Dlb();  
133 - for(int k=0;k<dlList.size();k++){  
134 - Dlb t1=dlList.get(k);  
135 - if(t1.getNbbm().equals(map.get("clZbh").toString())  
136 - &&t1.getJsy().equals(map.get("jGh").toString())  
137 - &&t1.getXlbm().equals(map.get("xlBm").toString())  
138 - &&t1.getLp().equals(map.get("lpName").toString()))  
139 - {  
140 - t=t1;  
141 - type="update";  
142 - }  
143 - }  
144 - try {  
145 - //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量  
146 - Double jzl=0.0;  
147 - if(map.get("seqNumber").toString().equals("1")){  
148 - boolean fage=true;  
149 -// for (int i = 0; i < dlListBe.size(); i++) {  
150 -// Dlb dlb=dlListBe.get(i);  
151 -// if(map.get("clZbh").toString().equals(dlb.getNbbm())){  
152 -// t.setCzcd(dlb.getJzcd());  
153 -// fage=false;  
154 -// break;  
155 -// }  
156 -// }  
157 - if(fage){  
158 - for (int y = 0; y < cdyList.size(); y++) {  
159 - Cdl cdl=cdyList.get(y);  
160 - if(map.get("clZbh").toString().equals(cdl.getNbbm())){  
161 - t.setCzcd(cdl.getClcd()==null?0:cdl.getClcd());  
162 - fage=false;  
163 - break;  
164 - }  
165 - }  
166 - }  
167 - if(fage){  
168 - t.setCzcd(0.0);  
169 - }  
170 -  
171 - //手动导入没有驾驶员工号  
172 - for (int i = 0; i < jdlList.size(); i++) {  
173 - Jdl jdl=jdlList.get(i);  
174 - if(map.get("clZbh").toString().equals(jdl.getNbbm())  
175 - &&map.get("jGh").toString().equals(jdl.getJsy())){  
176 - jzl+=jdl.getJdl();  
177 - }  
178 - }  
179 - }  
180 -  
181 -  
182 - //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)  
183 - for(int j=0;j<ylxxList.size();j++){  
184 - Ylxxb ylxxb= ylxxList.get(j);  
185 - if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){  
186 - jzl+=ylxxb.getJzl();  
187 - }  
188 - }  
189 -  
190 - t.setCdl(jzl);  
191 - if(type.equals("add")){  
192 - t.setHd(jzl);  
193 - t.setJzcd(t.getCzcd());  
194 - }  
195 -  
196 - t.setNbbm(map.get("clZbh").toString());  
197 - t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());  
198 - t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));  
199 - t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());  
200 - t.setLinename(map.get("lineName")==null?"":map.get("lineName").toString());  
201 - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));  
202 - t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());  
203 - t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());  
204 - t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());  
205 - t.setLp(map.get("lpName").toString());  
206 - t.setRq(sdf.parse(rq));  
207 - t.setCreatetime(new Date());  
208 - t.setJname(map.get("jName").toString());  
209 - /*if(type.equals("add")){  
210 - addList.add(t);  
211 - }else{  
212 - updateList.add(t);  
213 - }*/  
214 - repository.save(t);  
215 - newMap.put("status", ResponseCode.SUCCESS);  
216 - } catch (ParseException e) {  
217 - // TODO Auto-generated catch block  
218 - newMap.put("status", ResponseCode.ERROR);  
219 - e.printStackTrace();  
220 - }  
221 - }  
222 - }  
223 - return result;  
224 - }  
225 -  
226 - /**  
227 - * 获取进存油信息  
228 - * @Transactional 回滚事物  
229 - */  
230 - @Transactional  
231 - @Override  
232 - public Map<String, Object> obtain(Map<String, Object> map2) throws Exception{  
233 - Map<String, Object> newMap = new HashMap<String, Object>();  
234 - try {  
235 - Date date=new Date();  
236 - List<Cars> carsList = carsRepository.findCars();  
237 - Map<String, Boolean> carsMap = new HashMap<String, Boolean>();  
238 - for (int i = 0; i < carsList.size(); i++) {  
239 - Cars c = carsList.get(i);  
240 - carsMap.put(c.getInsideCode(), c.getSfdc());  
241 - }  
242 - String rq = map2.get("rq").toString();  
243 - String line = "";  
244 - if (map2.get("xlbm_like") != null) {  
245 - line = map2.get("xlbm_like").toString().trim();  
246 - }  
247 - String gsbm="";  
248 - if(map2.get("ssgsdm_like")!=null){  
249 - gsbm=map2.get("ssgsdm_like").toString();  
250 - }  
251 - String fgsbm="";  
252 - if(map2.get("fgsdm_like")!=null){  
253 - fgsbm=map2.get("fgsdm_like").toString();  
254 - }  
255 - String nbbm="";  
256 - if(map2.get("nbbm_eq")!=null){  
257 - nbbm=map2.get("nbbm_eq").toString();  
258 - }  
259 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  
260 - // 保留两位小数  
261 - DecimalFormat df = new DecimalFormat("#.00");  
262 - // TODO Auto-generated method stub  
263 - // 当天DLB信息  
264 - List<Dlb> dlList = this.listOrderBy(rq,gsbm,fgsbm,"",nbbm,"nbbm");  
265 - // 当天YLXXB信息  
266 - List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm);  
267 - // 从排班表中计算出行驶的总里程  
268 - List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>();  
269 - List<Map<String, Object>> listpbs=scheduleRealInfoService.yesterdayDataList("", rq, gsbm, fgsbm, "", nbbm);  
270 - Map<String, Double> lcMap=new HashMap<String,Double>();  
271 - for (int i = 0; i < listpbs.size(); i++) {  
272 - String cl=listpbs.get(i).get("clZbh").toString();  
273 - Double lc= listpbs.get(i).get("totalKilometers") == null ? 0.0  
274 - : Double.parseDouble(listpbs.get(i).get("totalKilometers").toString());  
275 - if(lcMap.get(cl)==null){  
276 - lcMap.put(cl, lc);  
277 - }else{  
278 - double lc_=lcMap.get(cl);  
279 - lcMap.remove(cl);  
280 - lcMap.put(cl, Arith.add(lc, lc_));  
281 - }  
282 - }  
283 -  
284 -// Map<String, Double> shMap=new HashMap<String,Double>();  
285 -// for (int i = 0; i < dlList.size(); i++) {  
286 -// Dlb dlb=dlList.get(i);  
287 -// String cl=dlb.getNbbm();  
288 -// if(shMap.get(cl)==null){  
289 -// shMap.put(cl, dlb.getSh());  
290 -// }else{  
291 -// double sh=shMap.get(cl);  
292 -// shMap.remove(cl);  
293 -// shMap.put(cl, Arith.add(sh, dlb.getSh()));  
294 -// }  
295 -// }  
296 - List<Jdl> jdlList=jdlRepository.JdlList(rq);  
297 - String sxtj=map2.get("sxtj").toString();  
298 - if(sxtj.equals("0")){  
299 - listpb=listpbs;  
300 - }else{  
301 - List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, "",nbbm);  
302 - List<String> stringList=new ArrayList<String>();  
303 - for (int i = 0; i < objectLists.size(); i++) {  
304 - String clbm=objectLists.get(i)[0].toString();  
305 - int cs=Integer.parseInt(objectLists.get(i)[1].toString());  
306 - //一车一单  
307 - if(sxtj.equals("1")){  
308 - if(cs==1){  
309 - stringList.add(clbm);  
310 - }  
311 - }  
312 - //一车多单  
313 - if(sxtj.equals("2")){  
314 - if(cs>1){  
315 - stringList.add(clbm);  
316 - }  
317 - }  
318 - }  
319 -  
320 - for (int i = 0; i < stringList.size(); i++) {  
321 - String strNbbm=stringList.get(i);  
322 - for (int j = 0; j < listpbs.size(); j++) {  
323 - Map<String, Object> map = listpbs.get(j);  
324 - String mapNbbm=map.get("clZbh").toString();  
325 - if(strNbbm.equals(mapNbbm)){  
326 - listpb.add(map);  
327 - }  
328 - }  
329 - }  
330 - }  
331 - Map<String, Object> newMap_=new HashMap<String,Object>();  
332 - List<Dlb> addList = new ArrayList<Dlb>();  
333 - List<Dlb> updateList = new ArrayList<Dlb>();  
334 - Map<String, Object> cMap=new HashMap<String, Object>();  
335 - List<Map<String, Object>> listpb_=listpb;  
336 - Collections.sort(listpb,new NbbmJcsxMap());  
337 - for (int x = 0; x < listpb_.size(); x++) {  
338 - String type = "add";  
339 - boolean sfdc = false;  
340 - Map<String, Object> map_ = listpb_.get(x);  
341 - if (carsMap.get(map_.get("clZbh").toString()) != null) {  
342 - sfdc = carsMap.get(map_.get("clZbh").toString());  
343 - } else {  
344 - sfdc = false;  
345 - }  
346 - if (sfdc) {  
347 - if(newMap_.get(map_.get("clZbh").toString())==null){  
348 - newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString());  
349 - //车辆总里程  
350 - double zlc =lcMap.get(map_.get("clZbh").toString());  
351 - //车辆总加电量  
352 - double zjzl = 0.0;  
353 - for (int j = 0; j < ylxxList.size(); j++) {  
354 - Ylxxb ylxxb = ylxxList.get(j);  
355 - if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())  
356 - && map_.get("company").toString().equals(ylxxb.getGsdm())) {  
357 - zjzl = Arith.add(zjzl, ylxxb.getJzl());  
358 - }  
359 - }  
360 - for (int i = 0; i < jdlList.size(); i++) {  
361 - Jdl jdl=jdlList.get(i);  
362 - if(map_.get("clZbh").toString().equals(jdl.getNbbm())  
363 - &&map_.get("company").toString().equals(jdl.getGsBm())  
364 - &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){  
365 - zjzl = Arith.add(zjzl,jdl.getJdl());  
366 - }  
367 - }  
368 -// double clsh=0.0;  
369 -// if(shMap.get(map_.get("clZbh").toString())==null){  
370 -// clsh=0.0;  
371 -// }else{  
372 -// clsh=shMap.get(map_.get("clZbh").toString());  
373 -// }  
374 -// zjzl =Arith.sub(zjzl, clsh);  
375 - Double nextJzyl = 0.0;  
376 - for (int i = 0; i < listpb.size(); i++) {  
377 - Map<String, Object> map = listpb.get(i);  
378 - if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){  
379 - // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)  
380 - Dlb t = new Dlb();  
381 - for (int k = 0; k < dlList.size(); k++) {  
382 - Dlb t1 = dlList.get(k);  
383 - if (t1.getNbbm().equals(map.get("clZbh").toString())  
384 - && t1.getJsy().equals(map.get("jGh").toString())  
385 - && t1.getXlbm().equals(map.get("xlBm").toString())) {  
386 - if(t1.getLp()==null){  
387 - //同人同车同线路不同路牌的过滤 (考虑到历史数据)  
388 - if (cMap.get(map.get("clZbh").toString()+map.get("jGh").toString()+map.get("xlBm").toString())==null) {  
389 - t = t1;  
390 - type = "update";  
391 - cMap.put(map.get("clZbh").toString()+map.get("jGh").toString()+map.get("xlBm").toString(),  
392 - map.get("clZbh").toString());  
393 - }  
394 - }else{  
395 - if(t1.getLp().equals(map.get("lpName").toString())){  
396 - t = t1;  
397 - type = "update";  
398 - }  
399 -  
400 - }  
401 - }  
402 - }  
403 - Double lc= Double.parseDouble(map.get("totalKilometers").toString());  
404 - if(map.get("seqNumber").toString().equals("1")){  
405 - // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量  
406 - Double dh=0.0;  
407 - if(zlc>0){  
408 - dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));  
409 - }  
410 - nextJzyl =Arith.sub(zjzl,dh);  
411 - if(zlc>0){  
412 -// long l=Math.round(nextJzyl);  
413 - double ylxs=nextJzyl;  
414 - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));  
415 - if(dh<0){  
416 - t.setHd(0.0);  
417 - t.setCdl(0.0);  
418 - nextJzyl=Arith.add(ylxs, dh);  
419 - }else{  
420 - t.setHd(dh);  
421 - t.setCdl(dh);  
422 - nextJzyl=ylxs;  
423 - }  
424 - }else{  
425 - t.setHd(0.0);  
426 - t.setCdl(0.0);  
427 - }  
428 - }else{  
429 - Double dh=0.0;  
430 - if(zlc>0){  
431 - dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));  
432 - }  
433 - nextJzyl =Arith.sub( nextJzyl,dh);  
434 - if(zlc>0){  
435 -// long l=0l;  
436 - double ylxs=0.0;  
437 - if(i==listpb.size()-1){  
438 -// ylxs=czyl;  
439 - }else{  
440 - if(listpb.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){  
441 -// l=Math.round(nextJzyl);  
442 - ylxs=nextJzyl;  
443 - }  
444 -  
445 - }  
446 - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));  
447 - if(dh<0){  
448 - t.setHd(0.0);  
449 - t.setCdl(0.0);  
450 - nextJzyl=Arith.add(ylxs, dh);  
451 - }else{  
452 - t.setHd(dh);  
453 - t.setCdl(dh);  
454 - nextJzyl=ylxs;  
455 - }  
456 - }else{  
457 - t.setHd(0.0);  
458 - t.setCdl(0.0);  
459 - }  
460 - }  
461 - t.setCzcd(100.0);  
462 - t.setJzcd(100.0);  
463 - t.setNbbm(map.get("clZbh").toString());  
464 - t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());  
465 - t.setZlc(map.get("totalKilometers") == null ? 0.0  
466 - : Double.parseDouble(map.get("totalKilometers").toString()));  
467 - t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());  
468 - t.setLinename(map.get("lineName")==null?"":map.get("lineName").toString());  
469 - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));  
470 - t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());  
471 - t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());  
472 - t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());  
473 - t.setRq(sdf.parse(rq));  
474 - t.setLp(map.get("lpName").toString());  
475 - t.setJname(map.get("jName").toString());  
476 - if (!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))) {  
477 - if (t.getHd() < 0) {  
478 - t.setHd(0.0);  
479 - }  
480 - if (t.getCdl() < 0) {  
481 - t.setCdl(0.0);  
482 - }  
483 - if (type.equals("add")) {  
484 - t.setCreatetime(date);  
485 - addList.add(t);  
486 - } else {  
487 - t.setUpdatetime(date);  
488 - updateList.add(t);  
489 - }  
490 - }  
491 - newMap.put("status", ResponseCode.SUCCESS);  
492 - }  
493 - }  
494 - }  
495 - }  
496 - }  
497 - if(addList.size()>0){  
498 - try {  
499 - new BatchSaveUtils<Dlb>().saveList2(addList, Dlb.class);  
500 - } catch (Exception e) {  
501 - // TODO: handle exception  
502 - if(e.getMessage().indexOf("PK_DLB_UK")>0){  
503 - newMap.put("fage", "存在相同数据,数据已经过滤");  
504 - logger.info("获取:存在相同数据,数据已经过滤");  
505 - }  
506 - }  
507 -  
508 - }  
509 -  
510 - if(updateList.size()>0){  
511 - for (int i = 0; i < updateList.size(); i++) {  
512 - repository.save(updateList.get(i));  
513 - }  
514 - }  
515 - SysUser user = SecurityUtils.getCurrentUser();  
516 - Nylog nylog=new Nylog();  
517 - nylog.setCreatedate(new Date());  
518 - nylog.setCzmc("获取");  
519 - nylog.setNylx("电");  
520 - nylog.setUserid(user.getUserName());  
521 - nylog.setUsername(user.getName());  
522 - nylog.setCxtj(line+"-"+ date+"-"+gsbm+"-"+fgsbm);  
523 - nylogRepository.save(nylog);  
524 - newMap.put("status", ResponseCode.SUCCESS);  
525 - } catch (Exception e) {  
526 - // TODO Auto-generated catch block  
527 - newMap.put("status", ResponseCode.ERROR);  
528 - throw e;  
529 - }  
530 -  
531 - return newMap;  
532 - }  
533 -  
534 - /**  
535 - * 拆分  
536 - */  
537 - @Transactional  
538 - @Override  
539 - public Map<String, Object> sort(Map<String, Object> map) {  
540 - // TODO Auto-generated method stub  
541 - Map<String, Object> newMap = new HashMap<String, Object>();  
542 - try{  
543 - int id=Integer.parseInt(map.get("id").toString());  
544 - //最后存油量  
545 - Double jzdl=Double.parseDouble(map.get("jzdl").toString());  
546 - Double hdl=Double.parseDouble(map.get("hdl").toString());  
547 - Dlb dlb=repository.findById(id).get();  
548 - dlb.setJzcd(jzdl);  
549 - dlb.setHd(hdl);  
550 - repository.save(dlb);  
551 - newMap.put("status", ResponseCode.SUCCESS);  
552 - }catch(Exception e){  
553 - newMap.put("status", ResponseCode.ERROR);  
554 - logger.error("save erro.", e);  
555 - }  
556 - return newMap;  
557 - }  
558 -  
559 -  
560 - /**  
561 - * 核对,有加注没里程  
562 - * @param map  
563 - * @return  
564 - */  
565 - @Transactional  
566 - @Override  
567 - public Map<String, Object> checkDl(Map<String, Object> map) {  
568 - Map<String, Object> newMap=new HashMap<String,Object>();  
569 -// String xlbm="";  
570 -// if(map.get("xlbm_like")!=null){  
571 -// xlbm=map.get("xlbm_like").toString();  
572 -// }  
573 - // TODO Auto-generated method stub  
574 -  
575 - List<Cars> carsList = carsRepository.findCars();  
576 - Map<String, String> carsMap = new HashMap<String, String>();  
577 - for (int i = 0; i < carsList.size(); i++) {  
578 - Cars c = carsList.get(i);  
579 - carsMap.put(c.getInsideCode(), c.getBrancheCompanyCode()==null?"":c.getBrancheCompanyCode());  
580 - }  
581 -  
582 - try{  
583 - //获取车辆存油信息  
584 -  
585 - String rq=map.get("rq").toString();  
586 - String xlbm="";  
587 - if(map.get("xlbm_like")!=null){  
588 - xlbm= map.get("xlbm_like").toString().trim();  
589 - }  
590 - String gsbm="";  
591 - if(map.get("ssgsdm_like")!=null){  
592 - gsbm=map.get("ssgsdm_like").toString();  
593 - }  
594 - String fgsbm="";  
595 - if(map.get("fgsdm_like")!=null){  
596 - fgsbm=map.get("fgsdm_like").toString();  
597 - }  
598 - String nbbm="";  
599 - if(map.get("nbbm_eq")!=null){  
600 - nbbm=map.get("nbbm_eq").toString();  
601 - }  
602 -  
603 - String sql="select * from bsth_c_jdl j where j.gs_bm ='"+gsbm+"' "  
604 - + " and j.fgs_bm ='"+fgsbm+"' and rq ='"+rq+"' "  
605 - + "and nbbm not in (select nbbm from bsth_c_dlb d"  
606 - + " where ssgsdm ='"+gsbm+"' and fgsdm ='"+fgsbm+"'"  
607 - + " and rq='"+rq+"')";  
608 - List<Jdl> listJdl=jdbcTemplate.query(sql,  
609 - new RowMapper<Jdl>(){  
610 - @Override  
611 - public Jdl mapRow(ResultSet rs, int rowNum) throws SQLException {  
612 - Jdl s = new Jdl();  
613 - s.setNbbm(rs.getString("nbbm"));  
614 - s.setGsBm(rs.getString("gs_bm"));  
615 - s.setFgsBm(rs.getString("fgs_bm"));  
616 - s.setJdl(rs.getDouble("jdl"));  
617 - s.setRq(rs.getDate("rq"));  
618 - return s;  
619 - }  
620 - });  
621 - for (int i = 0; i < listJdl.size(); i++) {  
622 - Jdl j=listJdl.get(i);  
623 - Dlb t=new Dlb();  
624 - Line line= BasicData.nbbm2LineMap.get(j.getNbbm());  
625 - if(null !=line){  
626 - t.setCdl(j.getJdl());  
627 - t.setNbbm(j.getNbbm());  
628 - t.setRq(j.getRq());  
629 - t.setJsy("");  
630 - t.setCdl(j.getJdl());  
631 - t.setSsgsdm(j.getGsBm());  
632 - t.setFgsdm(j.getFgsBm());  
633 - t.setJzcd(100.0);  
634 - t.setCzcd(100.0);  
635 - t.setHd(0.0);  
636 - t.setJcsx(1);  
637 - t.setXlbm(line.getLineCode());  
638 - t.setLp("");  
639 - repository.save(t);  
640 - }  
641 - }  
642 -  
643 - SysUser user = SecurityUtils.getCurrentUser();  
644 - Nylog nylog=new Nylog();  
645 - nylog.setCreatedate(new Date());  
646 - nylog.setCzmc("核对");  
647 - nylog.setNylx("电");  
648 - nylog.setUserid(user.getUserName());  
649 - nylog.setUsername(user.getName());  
650 - nylog.setCxtj(xlbm+"-"+ rq+"-"+gsbm+"-"+fgsbm);  
651 - nylogRepository.save(nylog);  
652 - newMap.put("status", ResponseCode.SUCCESS);  
653 - }catch(Exception e){  
654 - newMap.put("status", ResponseCode.ERROR);  
655 - logger.error("save erro.", e);  
656 - throw e;  
657 - }  
658 -  
659 - return newMap;  
660 - }  
661 -  
662 - @Override  
663 - public List<Dlb> listDlb(Map<String, Object> map) {  
664 - // TODO Auto-generated method stub  
665 - List<Dlb> listDlb = new ArrayList<Dlb>();  
666 - List<String> stringList = new ArrayList<String>();  
667 - String rq = map.get("rq").toString();  
668 - String gsbm = map.get("ssgsdm_like").toString();  
669 - String fgsbm = map.get("fgsdm_like").toString();  
670 - String xlbm = map.get("xlbm_like").toString().trim();  
671 - String nbbm = map.get("nbbm_eq").toString();  
672 - String sxtj = map.get("sxtj").toString();  
673 - String type = map.get("type").toString();  
674 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
675 - try {  
676 - if (nbbm.trim() != "") {  
677 - stringList.add(nbbm);  
678 - if (type.equals("1"))  
679 - listDlb = repository.listDlb(rq, gsbm, fgsbm, xlbm, stringList);  
680 - else  
681 - listDlb = repository.listDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);  
682 -  
683 - } else {  
684 - // 全部  
685 - if (sxtj.equals("0")) {  
686 - List<Object[]> objectLists = repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm, nbbm);  
687 - for (int i = 0; i < objectLists.size(); i++) {  
688 - String clbm = objectLists.get(i)[0].toString();  
689 - stringList.add(clbm);  
690 - }  
691 - if (stringList.size() > 0) {  
692 - if (type.equals("1"))  
693 - listDlb = repository.listDlb(rq, gsbm, fgsbm, xlbm, stringList);  
694 - else  
695 - listDlb = repository.listDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);  
696 - }  
697 - } else {  
698 - List<Object[]> objectLists;  
699 - if (sxtj.equals("3")) {  
700 - // 有加油没里程  
701 - objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);  
702 - for (int i = 0; i < objectLists.size(); i++) {  
703 - String clbm = objectLists.get(i)[0].toString();  
704 - double jzl = Double.parseDouble(objectLists.get(i)[1].toString());  
705 - double zlc = Double.parseDouble(objectLists.get(i)[2].toString());  
706 - if (jzl > 0 && zlc <= 0) {  
707 - stringList.add(clbm);  
708 - }  
709 -  
710 - }  
711 -  
712 - } else if (sxtj.equals("4")) {  
713 - // 有里程没加油  
714 - objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);  
715 - for (int i = 0; i < objectLists.size(); i++) {  
716 - String clbm = objectLists.get(i)[0].toString();  
717 - double jzl = Double.parseDouble(objectLists.get(i)[1].toString());  
718 - double zlc = Double.parseDouble(objectLists.get(i)[2].toString());  
719 - if (zlc > 0 && jzl <= 0) {  
720 - stringList.add(clbm);  
721 - }  
722 -  
723 - }  
724 - } else {  
725 - objectLists = repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm, nbbm);  
726 - for (int i = 0; i < objectLists.size(); i++) {  
727 - String clbm = objectLists.get(i)[0].toString();  
728 - int cs = Integer.parseInt(objectLists.get(i)[1].toString());  
729 - // 一车一单  
730 - if (sxtj.equals("1")) {  
731 - if (cs == 1) {  
732 - stringList.add(clbm);  
733 - }  
734 - }  
735 - // 一车多单  
736 - if (sxtj.equals("2")) {  
737 - if (cs > 1) {  
738 - stringList.add(clbm);  
739 - }  
740 - }  
741 - }  
742 - }  
743 -  
744 - if (stringList.size() > 0) {  
745 - if (type.equals("1"))  
746 - listDlb = repository.listDlb(rq, gsbm, fgsbm, xlbm, stringList);  
747 - else  
748 - listDlb = repository.listDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);  
749 - }  
750 - }  
751 - }  
752 - } catch (ParseException e) {  
753 - // TODO Auto-generated catch block  
754 - e.printStackTrace();  
755 - }  
756 - return listDlb;  
757 - }  
758 -  
759 - @Override  
760 - public Map<String, Object> sumYlb(Map<String, Object> map) {  
761 - // TODO Auto-generated method stub  
762 - List<String> stringList = new ArrayList<String>();  
763 - String rq = map.get("rq").toString();  
764 - String gsbm = map.get("ssgsdm_like").toString();  
765 - String fgsbm = map.get("fgsdm_like").toString();  
766 - String xlbm = map.get("xlbm_like").toString().trim();  
767 - String nbbm = map.get("nbbm_eq").toString();  
768 - String sxtj = map.get("sxtj").toString();  
769 - String type = map.get("type").toString();  
770 - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
771 - List<Object[]> sumYlbList = new ArrayList<Object[]>();  
772 - try {  
773 - if (nbbm.trim() != "") {  
774 - stringList.add(nbbm);  
775 - } else {  
776 - if (!sxtj.equals("0")) {  
777 - List<Object[]> objectLists;  
778 - if (sxtj.equals("3")) {  
779 - // 有加油没里程  
780 - objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);  
781 - for (int i = 0; i < objectLists.size(); i++) {  
782 - String clbm = objectLists.get(i)[0].toString();  
783 - double jzl = Double.parseDouble(objectLists.get(i)[1].toString());  
784 - double zlc = Double.parseDouble(objectLists.get(i)[2].toString());  
785 - if (jzl > 0 && zlc <= 0) {  
786 - stringList.add(clbm);  
787 - }  
788 -  
789 - }  
790 -  
791 - } else if (sxtj.equals("4")) {  
792 - // 有里程没加油  
793 - objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);  
794 - for (int i = 0; i < objectLists.size(); i++) {  
795 - String clbm = objectLists.get(i)[0].toString();  
796 - double jzl = Double.parseDouble(objectLists.get(i)[1].toString());  
797 - double zlc = Double.parseDouble(objectLists.get(i)[2].toString());  
798 - if (zlc > 0 && jzl <= 0) {  
799 - stringList.add(clbm);  
800 - }  
801 -  
802 - }  
803 - } else {  
804 - objectLists = repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm, nbbm);  
805 - for (int i = 0; i < objectLists.size(); i++) {  
806 - String clbm = objectLists.get(i)[0].toString();  
807 - int cs = Integer.parseInt(objectLists.get(i)[1].toString());  
808 - // 一车一单  
809 -  
810 - if (sxtj.equals("1")) {  
811 - if (cs == 1) {  
812 - stringList.add(clbm);  
813 - }  
814 - }  
815 - // 一车多单  
816 - if (sxtj.equals("2")) {  
817 - if (cs > 1) {  
818 - stringList.add(clbm);  
819 - }  
820 - }  
821 - }  
822 - }  
823 - }  
824 - }  
825 - if (sxtj.equals("0")) {  
826 - sumYlbList = repository.sumDlb2(rq, gsbm, fgsbm, xlbm, nbbm);  
827 - } else {  
828 - if (stringList.size() > 0) {  
829 -  
830 - // String strings[]=new String[stringList.size()];  
831 - // for(int i=0;i<stringList.size();i++){  
832 - // strings[i]=stringList.get(i);  
833 - // }  
834 - if (type.equals("1"))  
835 - sumYlbList = repository.sumDlb(rq, gsbm, fgsbm, xlbm, stringList);  
836 - else  
837 - sumYlbList = repository.sumDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);  
838 -  
839 - }  
840 - // else {  
841 - // sumYlbList = repository.sumDlb2(rq, gsbm, fgsbm, xlbm, nbbm);  
842 - // }  
843 - }  
844 - } catch (ParseException e) {  
845 - // TODO Auto-generated catch block  
846 - e.printStackTrace();  
847 - }  
848 - Double jzl = 0.0, yh = 0.0, sh = 0.0;  
849 - for (int i = 0; i < sumYlbList.size(); i++) {  
850 - jzl = Arith.add(jzl, Double.valueOf(sumYlbList.get(i)[0].toString()));  
851 - yh = Arith.add(yh, Double.valueOf(sumYlbList.get(i)[1].toString()));  
852 - sh = Arith.add(sh, Double.valueOf(sumYlbList.get(i)[2].toString()));  
853 - }  
854 -  
855 - Map<String, Object> sumMap = new HashMap<String, Object>();  
856 - sumMap.put("jzl", jzl);  
857 - sumMap.put("yh", yh);  
858 - sumMap.put("sh", sh);  
859 - return sumMap;  
860 - }  
861 -  
862 -  
863 - @Transactional  
864 - @Override  
865 - public Map<String, Object> saveDlbList(Map<String, Object> map) throws Exception {  
866 - // TODO Auto-generated method stub  
867 - Map<String, Object> newMap=new HashMap<String,Object>();  
868 - try{  
869 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
870 - String json =StringEscapeUtils.unescapeHtml4(map.get("dlbList").toString());  
871 - JSONArray jsonArray=JSONArray.parseArray(json);  
872 - JSONObject jsonObject;  
873 - // 获取车辆存油信息  
874 -// List<Cyl> cylList = cylRepository.obtainCyl("","");  
875 - for (int i = 0; i < jsonArray.size(); i++) {  
876 -// Ylb t=new Ylb();  
877 - jsonObject=jsonArray.getJSONObject(i);  
878 - double czcd = jsonObject.getDoubleValue("czcd");  
879 - double cdl =jsonObject.getDoubleValue("cdl");  
880 - double jzcd =jsonObject.getDoubleValue("jzcd");  
881 - double sh =jsonObject.getDoubleValue("sh");  
882 - String shyy =jsonObject.getString("shyy");  
883 - double hd = jsonObject.getDoubleValue("hd");  
884 - int yhlx =jsonObject.getIntValue("yhlx");  
885 - Integer id =jsonObject.getInteger("id");  
886 -// String nbbm =jsonObject.getString("nbbm");  
887 -// String rq=jsonObject.getString("rq");  
888 - repository.dlbUpdate(id, czcd, jzcd, hd, sh, shyy, yhlx);  
889 -  
890 - }  
891 -  
892 - SysUser user = SecurityUtils.getCurrentUser();  
893 - Nylog nylog=new Nylog();  
894 - nylog.setCreatedate(new Date());  
895 - nylog.setCzmc("保存全部");  
896 - nylog.setNylx("电");  
897 - nylog.setUserid(user.getUserName());  
898 - nylog.setUsername(user.getName());  
899 - nylog.setCxtj("");  
900 - nylogRepository.save(nylog);  
901 - newMap.put("status", ResponseCode.SUCCESS);  
902 - }catch(Exception e){  
903 - newMap.put("status", ResponseCode.ERROR);  
904 - logger.error("save erro.", e);  
905 - throw e;  
906 - }  
907 - return newMap;  
908 - }  
909 -  
910 - public List<Dlb> listOrderBy(String rq,String gsdm,  
911 - String fgsdm,String xlbm,String nbbm,  
912 - String px) {  
913 - // TODO Auto-generated method stub  
914 - String sql="SELECT * FROM bsth_c_dlb "  
915 - + " where rq='"+rq+"' and ssgsdm like '%"+gsdm+"%' "  
916 - + " and fgsdm like '%"+fgsdm+"%'";  
917 - if(xlbm.equals("")){  
918 - sql+= " and xlbm like '%"+xlbm+"%' ";  
919 - }else{  
920 - sql+= " and xlbm = '"+xlbm+"' ";  
921 - }  
922 -  
923 - sql += "and nbbm like '%"+nbbm+"%' order by "+px+" asc ";  
924 -  
925 - List<Dlb> list = jdbcTemplate.query(sql, new RowMapper<Dlb>() {  
926 - @Override  
927 - public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException {  
928 - Dlb y = new Dlb();  
929 - y.setId(arg0.getInt("id"));  
930 - return y;  
931 - }  
932 - });  
933 - List<Dlb> lists=new ArrayList<Dlb>();  
934 - List<Dlb> dlbLists=repository.obtainDl(rq,gsdm,fgsdm,xlbm,nbbm,"jcsx");  
935 - for (int i = 0; i < list.size(); i++) {  
936 - Dlb t=list.get(i);  
937 - for (int j = 0; j < dlbLists.size(); j++) {  
938 - Dlb t2=dlbLists.get(j);  
939 - if(t.getId().intValue()==t2.getId().intValue()){  
940 - lists.add(t2);  
941 - break;  
942 - }  
943 - }  
944 - }  
945 -  
946 - return lists;  
947 - }  
948 -  
949 -  
950 - @Override  
951 - public String checkJsy(Map<String, Object> map) {  
952 - // TODO Auto-generated method stub  
953 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
954 - String rq=map.get("date").toString();  
955 - String nbbm=map.get("nbbm").toString();  
956 - String jsy =map.get("jsy").toString();  
957 - String xlbm=map.get("xlbm").toString();  
958 - List<Dlb> list= repository.queryListDlb(rq, nbbm, jsy, xlbm);  
959 - String type="1";  
960 - if(list.size()>0){  
961 - type="0";  
962 - }  
963 - return type;  
964 - }  
965 -  
966 - @Override  
967 - public Map<String, Object> saveDlb(Dlb t) {  
968 - // TODO Auto-generated method stub  
969 - Map<String, Object> map = new HashMap<>();  
970 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
971 - String rq=sdf.format(t.getRq());  
972 - String gsdm=t.getSsgsdm();  
973 - String fgsdm=t.getFgsdm();  
974 - String xlbm=t.getXlbm();  
975 - String jhsj=t.getJhsj();  
976 - String jsy=t.getJsy();  
977 - String nbbm=t.getNbbm();  
978 - int sfkt=t.getSfkt();  
979 - t.setCreatetime(new Date());  
980 - String[] jhsjStr = jhsj.split(":");  
981 - long fcsjL= Long.parseLong(jhsjStr[0])*60+Long.parseLong(jhsjStr[1]);  
982 - List<Dlb> list=this.listOrderBy(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj");  
983 -// repository.obtainYl(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj");  
984 - int jcsx=1;  
985 - if(list.size()>0){  
986 - for (int i = 0; i < list.size(); i++) {  
987 - Dlb y=list.get(i);  
988 - String[] fcsjStr = y.getJhsj().split(":");  
989 - long fcsj=Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]);  
990 - if(fcsjL>fcsj){  
991 - jcsx=jcsx+y.getJcsx();  
992 - }else{  
993 - y.setJcsx(y.getJcsx()+1);  
994 - repository.save(y);  
995 - }  
996 - }  
997 -  
998 - }  
999 - t.setJcsx(jcsx);  
1000 - repository.save(t);  
1001 -  
1002 - SysUser user = SecurityUtils.getCurrentUser();  
1003 - Nylog nylog=new Nylog();  
1004 - nylog.setCreatedate(new Date());  
1005 - nylog.setCzmc("手动添加");  
1006 - nylog.setNylx("电");  
1007 - nylog.setUserid(user.getUserName());  
1008 - nylog.setUsername(user.getName());  
1009 - nylog.setCxtj("");  
1010 - nylogRepository.save(nylog);  
1011 - map.put("status", ResponseCode.SUCCESS);  
1012 - map.put("t", t);  
1013 - return map;  
1014 - }  
1015 -  
1016 - @Transactional  
1017 - @Override  
1018 - public Map<String, Object> deleteIds(Map<String, Object> map) throws Exception{  
1019 - // TODO Auto-generated method stub  
1020 - Map<String, Object> maps = new HashMap<>();  
1021 - try{  
1022 - String json =StringEscapeUtils.unescapeHtml4(map.get("ids").toString());  
1023 - JSONArray jsonArray=JSONArray.parseArray(json);  
1024 - JSONObject jsonObject;  
1025 - for (int x = 0; x < jsonArray.size(); x++) {  
1026 - jsonObject=jsonArray.getJSONObject(x);  
1027 - Integer id =jsonObject.getInteger("id");  
1028 - repository.deleteById(id);  
1029 - }  
1030 -  
1031 - SysUser user = SecurityUtils.getCurrentUser();  
1032 - Nylog nylog=new Nylog();  
1033 - nylog.setCreatedate(new Date());  
1034 - nylog.setCzmc("删除");  
1035 - nylog.setNylx("电");  
1036 - nylog.setUserid(user.getUserName());  
1037 - nylog.setUsername(user.getName());  
1038 - nylog.setCxtj("");  
1039 - nylogRepository.save(nylog);  
1040 - maps.put("status", ResponseCode.SUCCESS);  
1041 - } catch (Exception e) {  
1042 - maps.put("status", ResponseCode.ERROR);  
1043 - logger.error("save erro.", e);  
1044 - throw e;  
1045 - }  
1046 - return maps;  
1047 - }  
1048 -  
1049 - @Override  
1050 - public Map<String, List<Dlb>> updeteHistory(List<Map<String, Object>> listpbDc,String date,  
1051 - String gsdm,String fgsdm,String line) {  
1052 - // TODO Auto-generated method stub  
1053 - Map<String, List<Dlb>> mapList=new HashMap<String,List<Dlb>>();  
1054 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
1055 - // 保留两位小数  
1056 - DecimalFormat df = new DecimalFormat("#.00");  
1057 - List<Dlb> dlbList=this.listOrderBy(date,gsdm,fgsdm,"","","nbbm");  
1058 - List<Dlb> dlbList_upd=new ArrayList<Dlb>();  
1059 - List<Dlb> dlbList_del=new ArrayList<Dlb>();  
1060 - try{  
1061 - for (int j = 0; j < dlbList.size(); j++) {  
1062 - Dlb t=dlbList.get(j);  
1063 - boolean fage=true;  
1064 - if(StringUtils.isEmpty(t.getLp())){  
1065 - fage=false;  
1066 - }else{  
1067 - for (int i = 0; i < listpbDc.size(); i++) {  
1068 - Map<String, Object> m = listpbDc.get(i);  
1069 - if(t.getNbbm().equals(m.get("clZbh").toString())  
1070 - &&t.getJsy().equals(m.get("jGh").toString())  
1071 - &&t.getXlbm().equals(m.get("xlBm").toString())  
1072 - &&t.getLp().equals(m.get("lpName").toString())){  
1073 - //该条记录不用删除  
1074 - fage =false;  
1075 - dlbList_upd.add(t);  
1076 - }  
1077 - }  
1078 - }  
1079 -  
1080 - if(fage){  
1081 - if(t.getXlbm().equals(line)){  
1082 - dlbList_del.add(t);  
1083 - }  
1084 - }  
1085 - }  
1086 - mapList.put("delList", dlbList_del);  
1087 - Map<String, Double> lcMap=new HashMap<String,Double>();  
1088 - for (int i = 0; i < listpbDc.size(); i++) {  
1089 - String cl=listpbDc.get(i).get("clZbh").toString();  
1090 - Double lc= listpbDc.get(i).get("totalKilometers") == null ? 0.0  
1091 - : Double.parseDouble(listpbDc.get(i).get("totalKilometers").toString());  
1092 - if(lcMap.get(cl)==null){  
1093 - lcMap.put(cl, lc);  
1094 - }else{  
1095 - double lc_=lcMap.get(cl);  
1096 - lcMap.remove(cl);  
1097 - lcMap.put(cl, Arith.add(lc, lc_));  
1098 - }  
1099 - }  
1100 - Map<String, Double> shMap=new HashMap<String,Double>();  
1101 - for (int i = 0; i < dlbList_upd.size(); i++) {  
1102 - Dlb dlb=dlbList_upd.get(i);  
1103 - String cl=dlb.getNbbm();  
1104 - if(shMap.get(cl)==null){  
1105 - shMap.put(cl, dlb.getSh());  
1106 - }else{  
1107 - double sh=shMap.get(cl);  
1108 - shMap.remove(cl);  
1109 - shMap.put(cl, Arith.add(sh, dlb.getSh()));  
1110 - }  
1111 - }  
1112 - List<Jdl> jdlList=jdlRepository.JdlList(date);  
1113 - List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(date, 0,gsdm);  
1114 - Map<String, Object> newMap_=new HashMap<String,Object>();  
1115 - Map<String, Object> cMap=new HashMap<String, Object>();  
1116 - List<Map<String, Object>> listpb_=listpbDc;  
1117 - Collections.sort(listpbDc,new NbbmJcsxMap());  
1118 - List<Dlb> updateDlb=new ArrayList<Dlb>();  
1119 - for (int x = 0; x < listpb_.size(); x++) {  
1120 - String type = "add";  
1121 - Map<String, Object> map_ = listpb_.get(x);  
1122 - if(newMap_.get(map_.get("clZbh").toString())==null){  
1123 - newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString());  
1124 - //车辆总里程  
1125 - double zlc =lcMap.get(map_.get("clZbh").toString());  
1126 - //车辆总加电量  
1127 - double zjzl = 0.0;  
1128 - for (int j = 0; j < ylxxList.size(); j++) {  
1129 - Ylxxb ylxxb = ylxxList.get(j);  
1130 - if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())  
1131 - && map_.get("company").toString().equals(ylxxb.getGsdm())) {  
1132 - zjzl = Arith.add(zjzl, ylxxb.getJzl());  
1133 - }  
1134 - }  
1135 - for (int i = 0; i < jdlList.size(); i++) {  
1136 - Jdl jdl=jdlList.get(i);  
1137 - if(map_.get("clZbh").toString().equals(jdl.getNbbm())  
1138 - &&map_.get("company").toString().equals(jdl.getGsBm())  
1139 - &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){  
1140 - zjzl = Arith.add(zjzl,jdl.getJdl());  
1141 - }  
1142 - }  
1143 - double clsh=0.0;  
1144 - if(shMap.get(map_.get("clZbh").toString())==null){  
1145 - clsh=0.0;  
1146 - }else{  
1147 - clsh=shMap.get(map_.get("clZbh").toString());  
1148 - }  
1149 - zjzl =Arith.sub(zjzl, clsh);  
1150 - Double nextJzyl = 0.0;  
1151 - for (int i = 0; i < listpbDc.size(); i++) {  
1152 - Map<String, Object> map = listpbDc.get(i);  
1153 - if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){  
1154 - // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)  
1155 - Dlb t = new Dlb();  
1156 - for (int k = 0; k < dlbList_upd.size(); k++) {  
1157 - Dlb t1 = dlbList_upd.get(k);  
1158 - if (t1.getNbbm().equals(map.get("clZbh").toString())  
1159 - && t1.getJsy().equals(map.get("jGh").toString())  
1160 - && t1.getXlbm().equals(map.get("xlBm").toString())  
1161 - && t1.getLp().equals(map.get("lpName").toString())) {  
1162 - t = t1;  
1163 - type = "update";  
1164 - }  
1165 -  
1166 - }  
1167 - Double lc= Double.parseDouble(map.get("totalKilometers").toString());  
1168 - if(map.get("seqNumber").toString().equals("1")){  
1169 - // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量  
1170 - Double dh=0.0;  
1171 - if(zlc>0){  
1172 - dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));  
1173 - }  
1174 - nextJzyl =Arith.sub(zjzl,dh);  
1175 - if(zlc>0){  
1176 -// long l=Math.round(nextJzyl);  
1177 - double ylxs=nextJzyl;  
1178 - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));  
1179 - if(dh<0){  
1180 - t.setHd(0.0);  
1181 - t.setCdl(0.0);  
1182 - nextJzyl=Arith.add(ylxs, dh);  
1183 - }else{  
1184 - t.setHd(dh);  
1185 - t.setCdl(dh);  
1186 - nextJzyl=ylxs;  
1187 - }  
1188 - }else{  
1189 - t.setHd(0.0);  
1190 - t.setCdl(0.0);  
1191 - }  
1192 - }else{  
1193 - Double dh=0.0;  
1194 - if(zlc>0){  
1195 - dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));  
1196 - }  
1197 - nextJzyl =Arith.sub( nextJzyl,dh);  
1198 - if(zlc>0){  
1199 -// long l=0l;  
1200 - double ylxs=0.0;  
1201 - if(i==listpbDc.size()-1){  
1202 -// ylxs=czyl;  
1203 - }else{  
1204 - if(listpbDc.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){  
1205 -// l=Math.round(nextJzyl);  
1206 - ylxs=nextJzyl;  
1207 - }  
1208 -  
1209 - }  
1210 - dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));  
1211 - if(dh<0){  
1212 - t.setHd(0.0);  
1213 - t.setCdl(0.0);  
1214 - nextJzyl=Arith.add(ylxs, dh);  
1215 - }else{  
1216 - t.setHd(dh);  
1217 - t.setCdl(dh);  
1218 - nextJzyl=ylxs;  
1219 - }  
1220 - }else{  
1221 - t.setHd(0.0);  
1222 - t.setCdl(0.0);  
1223 - }  
1224 - }  
1225 - t.setCzcd(100.0);  
1226 - t.setJzcd(100.0);  
1227 - t.setNbbm(map.get("clZbh").toString());  
1228 - t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());  
1229 - t.setZlc(map.get("totalKilometers") == null ? 0.0  
1230 - : Double.parseDouble(map.get("totalKilometers").toString()));  
1231 - t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());  
1232 - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));  
1233 - t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());  
1234 - t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());  
1235 - t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());  
1236 - t.setRq(sdf.parse(date));  
1237 - t.setLp(map.get("lpName").toString());  
1238 - t.setCdl(Arith.add(t.getCdl(), t.getSh()));  
1239 - if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){  
1240 - if(type.equals("add")){  
1241 - t.setCreatetime(new Date());  
1242 - }else{  
1243 - t.setUpdatetime(new Date());  
1244 - }  
1245 - }  
1246 -  
1247 - if(t.getHd()<0){  
1248 - t.setHd(0.0);  
1249 - }  
1250 - if(t.getCdl()<0){  
1251 - t.setCdl(0.0);  
1252 - }  
1253 - updateDlb.add(t);  
1254 - }  
1255 - }  
1256 - }  
1257 - }  
1258 - mapList.put("updList", updateDlb);  
1259 - }catch(Exception e){  
1260 - logger.error("save erro.", e);  
1261 - }  
1262 - return mapList;  
1263 - }  
1264 -  
1265 - @Override  
1266 - public Map<String, Object> update(Map<String, Object> map) {  
1267 - if(map.get("id")!=null){  
1268 - if(map.get("id").toString().length()>0){  
1269 - Integer id=Integer.parseInt(map.get("id").toString());  
1270 - String jsy=map.get("jsy").toString();  
1271 - Dlb t=repository.findById(id).get();  
1272 - t.setJsy(jsy);  
1273 - repository.save(t);  
1274 - map.put("status", ResponseCode.SUCCESS);  
1275 - }  
1276 - }  
1277 - return map;  
1278 - }  
1279 -  
1280 -}  
1281 -  
1282 -class NbbmJcsxMap implements Comparator<Map<String, Object>>{  
1283 - @Override  
1284 - public int compare(Map<String, Object> o1, Map<String, Object> o2) {  
1285 - // TODO Auto-generated method stub  
1286 - return (o1.get("clZbh").toString()+o1.get("seqNumber").toString()).compareTo((o2.get("clZbh").toString()+o1.get("seqNumber").toString()));  
1287 - }  
1288 -} 1 +package com.bsth.service.oil.impl;
  2 +
  3 +
  4 +
  5 +import java.sql.ResultSet;
  6 +import java.sql.SQLException;
  7 +import java.text.DecimalFormat;
  8 +import java.text.ParseException;
  9 +import java.text.SimpleDateFormat;
  10 +import java.util.ArrayList;
  11 +import java.util.Calendar;
  12 +import java.util.Collections;
  13 +import java.util.Comparator;
  14 +import java.util.Date;
  15 +import java.util.HashMap;
  16 +import java.util.Iterator;
  17 +import java.util.List;
  18 +import java.util.Map;
  19 +
  20 +import javax.transaction.Transactional;
  21 +
  22 +import org.apache.commons.lang3.StringEscapeUtils;
  23 +import org.apache.commons.lang3.StringUtils;
  24 +import org.slf4j.Logger;
  25 +import org.slf4j.LoggerFactory;
  26 +import org.springframework.beans.factory.annotation.Autowired;
  27 +import org.springframework.data.domain.Sort;
  28 +import org.springframework.data.domain.Sort.Direction;
  29 +import org.springframework.jdbc.core.JdbcTemplate;
  30 +import org.springframework.jdbc.core.RowMapper;
  31 +import org.springframework.stereotype.Service;
  32 +
  33 +import com.alibaba.fastjson.JSONArray;
  34 +import com.alibaba.fastjson.JSONObject;
  35 +import com.bsth.common.ResponseCode;
  36 +import com.bsth.data.BasicData;
  37 +import com.bsth.entity.Cars;
  38 +import com.bsth.entity.Line;
  39 +import com.bsth.entity.oil.Cdl;
  40 +import com.bsth.entity.oil.Cyl;
  41 +import com.bsth.entity.oil.Dlb;
  42 +import com.bsth.entity.oil.Jdl;
  43 +import com.bsth.entity.oil.Nylog;
  44 +import com.bsth.entity.oil.Ylxxb;
  45 +import com.bsth.entity.search.CustomerSpecs;
  46 +import com.bsth.entity.sys.SysUser;
  47 +import com.bsth.repository.CarsRepository;
  48 +import com.bsth.repository.oil.CdlRepository;
  49 +import com.bsth.repository.oil.CylRepository;
  50 +import com.bsth.repository.oil.DlbRepository;
  51 +import com.bsth.repository.oil.JdlRepository;
  52 +import com.bsth.repository.oil.NylogRepository;
  53 +import com.bsth.repository.oil.YlbRepository;
  54 +import com.bsth.repository.oil.YlxxbRepository;
  55 +import com.bsth.security.util.SecurityUtils;
  56 +import com.bsth.service.impl.BaseServiceImpl;
  57 +import com.bsth.service.oil.DlbService;
  58 +import com.bsth.service.realcontrol.ScheduleRealInfoService;
  59 +import com.bsth.util.Arith;
  60 +import com.bsth.util.BatchSaveUtils;
  61 +
  62 +@Service
  63 +public class DlbServiceImpl extends BaseServiceImpl<Dlb,Integer> implements DlbService{
  64 + @Autowired
  65 + DlbRepository repository;
  66 + @Autowired
  67 + NylogRepository nylogRepository;
  68 + @Autowired
  69 + YlxxbRepository ylxxbRepository;
  70 +
  71 + @Autowired
  72 + CdlRepository cdlRepository;
  73 + @Autowired
  74 + JdlRepository jdlRepository;
  75 + @Autowired
  76 + CarsRepository carsRepository;
  77 +
  78 + @Autowired
  79 + ScheduleRealInfoService scheduleRealInfoService;
  80 +
  81 + @Autowired
  82 + JdbcTemplate jdbcTemplate;
  83 +
  84 + Logger logger = LoggerFactory.getLogger(this.getClass());
  85 +
  86 + @Transactional
  87 + @Override
  88 + public String obtainDsq() throws Exception{
  89 + String result = "failure";
  90 + List<Cars> carsList=carsRepository.findCars();
  91 + Map<String, Boolean> carsMap=new HashMap<String, Boolean>();
  92 + for (int i = 0; i < carsList.size(); i++) {
  93 + Cars c=carsList.get(i);
  94 + carsMap.put(c.getInsideCode(), c.getSfdc());
  95 + }
  96 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  97 + Date dNow = new Date(); //当前时间
  98 + Date dBefore = new Date();
  99 + Calendar calendar = Calendar.getInstance(); //得到日历
  100 + calendar.setTime(dNow);//把当前时间赋给日历
  101 + calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
  102 + dBefore = calendar.getTime(); //得到前一天的时间
  103 + String rq=sdf.format(dBefore);
  104 +// String rq="2017-11-02";
  105 + String line="";
  106 + //保留两位小数
  107 + DecimalFormat df = new DecimalFormat("#.00");
  108 + // TODO Auto-generated method stub
  109 + Map<String, Object> newMap=new HashMap<String,Object>();
  110 + //当天DLB信息
  111 + List<Dlb> dlList=repository.obtainDl(rq, "", "", line, "", "nbbm");
  112 + //当天YLXXB信息
  113 + List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq,1,"");
  114 + //当天加电信息表
  115 + List<Jdl> jdlList=jdlRepository.JdlList(rq);
  116 + //前一天所有车辆最后进场班次信息
  117 +// List<Dlb> dlListBe=repository.obtainYlbefore(rq, "", "", "", "");
  118 + List<Cdl> cdyList=cdlRepository.obtainCdl();
  119 + //从排班表中计算出行驶的总里程
  120 + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq,"","","","");
  121 + for(int x=0;x<listpb.size();x++){
  122 + String type="add";
  123 + boolean sfdc=false;
  124 + Map<String, Object> map=listpb.get(x);
  125 + if (carsMap.get(map.get("clZbh").toString())!=null) {
  126 + sfdc= carsMap.get(map.get("clZbh").toString());
  127 + }else{
  128 + sfdc=false;
  129 + }
  130 + if(sfdc){
  131 + //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  132 + Dlb t=new Dlb();
  133 + for(int k=0;k<dlList.size();k++){
  134 + Dlb t1=dlList.get(k);
  135 + if(t1.getNbbm().equals(map.get("clZbh").toString())
  136 + &&t1.getJsy().equals(map.get("jGh").toString())
  137 + &&t1.getXlbm().equals(map.get("xlBm").toString())
  138 + &&t1.getLp().equals(map.get("lpName").toString()))
  139 + {
  140 + t=t1;
  141 + type="update";
  142 + }
  143 + }
  144 + try {
  145 + //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  146 + Double jzl=0.0;
  147 + if(map.get("seqNumber").toString().equals("1")){
  148 + boolean fage=true;
  149 +// for (int i = 0; i < dlListBe.size(); i++) {
  150 +// Dlb dlb=dlListBe.get(i);
  151 +// if(map.get("clZbh").toString().equals(dlb.getNbbm())){
  152 +// t.setCzcd(dlb.getJzcd());
  153 +// fage=false;
  154 +// break;
  155 +// }
  156 +// }
  157 + if(fage){
  158 + for (int y = 0; y < cdyList.size(); y++) {
  159 + Cdl cdl=cdyList.get(y);
  160 + if(map.get("clZbh").toString().equals(cdl.getNbbm())){
  161 + t.setCzcd(cdl.getClcd()==null?0:cdl.getClcd());
  162 + fage=false;
  163 + break;
  164 + }
  165 + }
  166 + }
  167 + if(fage){
  168 + t.setCzcd(0.0);
  169 + }
  170 +
  171 + //手动导入没有驾驶员工号
  172 + for (int i = 0; i < jdlList.size(); i++) {
  173 + Jdl jdl=jdlList.get(i);
  174 + if(map.get("clZbh").toString().equals(jdl.getNbbm())
  175 + &&map.get("jGh").toString().equals(jdl.getJsy())){
  176 + jzl+=jdl.getJdl();
  177 + }
  178 + }
  179 + }
  180 +
  181 +
  182 + //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
  183 + for(int j=0;j<ylxxList.size();j++){
  184 + Ylxxb ylxxb= ylxxList.get(j);
  185 + if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){
  186 + jzl+=ylxxb.getJzl();
  187 + }
  188 + }
  189 +
  190 + t.setCdl(jzl);
  191 + if(type.equals("add")){
  192 + t.setHd(jzl);
  193 + t.setJzcd(t.getCzcd());
  194 + }
  195 +
  196 + t.setNbbm(map.get("clZbh").toString());
  197 + t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
  198 + t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
  199 + t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());
  200 + t.setLinename(map.get("lineName")==null?"":map.get("lineName").toString());
  201 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  202 + t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());
  203 + t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());
  204 + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
  205 + t.setLp(map.get("lpName").toString());
  206 + t.setRq(sdf.parse(rq));
  207 + t.setCreatetime(new Date());
  208 + t.setJname(map.get("jName").toString());
  209 + /*if(type.equals("add")){
  210 + addList.add(t);
  211 + }else{
  212 + updateList.add(t);
  213 + }*/
  214 + repository.save(t);
  215 + newMap.put("status", ResponseCode.SUCCESS);
  216 + } catch (ParseException e) {
  217 + // TODO Auto-generated catch block
  218 + newMap.put("status", ResponseCode.ERROR);
  219 + e.printStackTrace();
  220 + }
  221 + }
  222 + }
  223 + return result;
  224 + }
  225 +
  226 + /**
  227 + * 获取进存油信息
  228 + * @Transactional 回滚事物
  229 + */
  230 + @Transactional
  231 + @Override
  232 + public Map<String, Object> obtain(Map<String, Object> map2) throws Exception{
  233 + Map<String, Object> newMap = new HashMap<String, Object>();
  234 + try {
  235 + Date date=new Date();
  236 + List<Cars> carsList = carsRepository.findCars();
  237 + Map<String, Boolean> carsMap = new HashMap<String, Boolean>();
  238 + for (int i = 0; i < carsList.size(); i++) {
  239 + Cars c = carsList.get(i);
  240 + carsMap.put(c.getInsideCode(), c.getSfdc());
  241 + }
  242 + String rq = map2.get("rq").toString();
  243 + String line = "";
  244 + if (map2.get("xlbm_like") != null) {
  245 + line = map2.get("xlbm_like").toString().trim();
  246 + }
  247 + String gsbm="";
  248 + if(map2.get("ssgsdm_like")!=null){
  249 + gsbm=map2.get("ssgsdm_like").toString();
  250 + }
  251 + String fgsbm="";
  252 + if(map2.get("fgsdm_like")!=null){
  253 + fgsbm=map2.get("fgsdm_like").toString();
  254 + }
  255 + String nbbm="";
  256 + if(map2.get("nbbm_eq")!=null){
  257 + nbbm=map2.get("nbbm_eq").toString();
  258 + }
  259 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  260 + // 保留两位小数
  261 + DecimalFormat df = new DecimalFormat("#.00");
  262 + // TODO Auto-generated method stub
  263 + // 当天DLB信息
  264 + List<Dlb> dlList = this.listOrderBy(rq,gsbm,fgsbm,"",nbbm,"nbbm");
  265 + // 当天YLXXB信息
  266 + List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(rq, 0,gsbm);
  267 + // 从排班表中计算出行驶的总里程
  268 + List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>();
  269 + List<Map<String, Object>> listpbs=scheduleRealInfoService.yesterdayDataList("", rq, gsbm, fgsbm, "", nbbm);
  270 + Map<String, Double> lcMap=new HashMap<String,Double>();
  271 + for (int i = 0; i < listpbs.size(); i++) {
  272 + String cl=listpbs.get(i).get("clZbh").toString();
  273 + Double lc= listpbs.get(i).get("totalKilometers") == null ? 0.0
  274 + : Double.parseDouble(listpbs.get(i).get("totalKilometers").toString());
  275 + if(lcMap.get(cl)==null){
  276 + lcMap.put(cl, lc);
  277 + }else{
  278 + double lc_=lcMap.get(cl);
  279 + lcMap.remove(cl);
  280 + lcMap.put(cl, Arith.add(lc, lc_));
  281 + }
  282 + }
  283 +
  284 + List<Jdl> jdlList=jdlRepository.JdlList(rq);
  285 + List<Jdl> jdlList_1=jdlRepository.JdlList_1(rq, gsbm, "-1");
  286 + String sxtj=map2.get("sxtj").toString();
  287 + if(sxtj.equals("0")){
  288 + listpb=listpbs;
  289 + }else{
  290 + List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, "", nbbm);
  291 + List<String> stringList=new ArrayList<String>();
  292 + for (int i = 0; i < objectLists.size(); i++) {
  293 + String clbm=objectLists.get(i)[0].toString();
  294 + int cs=Integer.parseInt(objectLists.get(i)[1].toString());
  295 + //一车一单
  296 + if(sxtj.equals("1")){
  297 + if(cs==1){
  298 + stringList.add(clbm);
  299 + }
  300 + }
  301 + //一车多单
  302 + if(sxtj.equals("2")){
  303 + if(cs>1){
  304 + stringList.add(clbm);
  305 + }
  306 + }
  307 + }
  308 +
  309 + for (int i = 0; i < stringList.size(); i++) {
  310 + String strNbbm=stringList.get(i);
  311 + for (int j = 0; j < listpbs.size(); j++) {
  312 + Map<String, Object> map = listpbs.get(j);
  313 + String mapNbbm=map.get("clZbh").toString();
  314 + if(strNbbm.equals(mapNbbm)){
  315 + listpb.add(map);
  316 + }
  317 + }
  318 + }
  319 + }
  320 + Map<String, Object> newMap_=new HashMap<String,Object>();
  321 + List<Dlb> addList = new ArrayList<Dlb>();
  322 + List<Dlb> updateList = new ArrayList<Dlb>();
  323 + Map<String, Object> cMap=new HashMap<String, Object>();
  324 + List<Map<String, Object>> listpb_=listpb;
  325 + Collections.sort(listpb,new NbbmJcsxMap());
  326 +
  327 + Map<String, String> clFgs=new HashMap<String, String>(); // 电车当天在哪几个公司运营了
  328 + for(int x = 0; x < listpb_.size(); x++){
  329 + boolean sfdc = false;
  330 + Map<String, Object> map_ = listpb_.get(x);
  331 + String clZbh = map_.get("clZbh").toString();
  332 + if (carsMap.get(clZbh) != null) {
  333 + sfdc = carsMap.get(clZbh);
  334 + } else {
  335 + sfdc = false;
  336 + }
  337 + if (sfdc) {
  338 + if(clFgs.get(clZbh)==null){
  339 + clFgs.put(clZbh, "");
  340 + }
  341 + String gsFgs = map_.get("company").toString() + "_" + map_.get("bCompany").toString();
  342 + if(!(clFgs.get(clZbh).contains(gsFgs))){
  343 + clFgs.put(clZbh, clFgs.get(clZbh) + "/" + gsFgs);
  344 + }
  345 + }
  346 + }
  347 +
  348 + for (int x = 0; x < listpb_.size(); x++) {
  349 + String type = "add";
  350 + boolean sfdc = false;
  351 + Map<String, Object> map_ = listpb_.get(x);
  352 + if (carsMap.get(map_.get("clZbh").toString()) != null) {
  353 + sfdc = carsMap.get(map_.get("clZbh").toString());
  354 + } else {
  355 + sfdc = false;
  356 + }
  357 + if (sfdc) {
  358 + if(newMap_.get(map_.get("clZbh").toString())==null){
  359 + newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString());
  360 + //车辆总里程
  361 + double zlc =lcMap.get(map_.get("clZbh").toString());
  362 + //车辆总加电量
  363 + double zjzl = 0.0, zjzl_1 = 0.0;
  364 + for (int j = 0; j < ylxxList.size(); j++) {
  365 + Ylxxb ylxxb = ylxxList.get(j);
  366 + if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
  367 + && map_.get("company").toString().equals(ylxxb.getGsdm())) {
  368 + zjzl = Arith.add(zjzl, ylxxb.getJzl());
  369 + }
  370 + }
  371 + for (int i = 0; i < jdlList.size(); i++) {
  372 + Jdl jdl=jdlList.get(i);
  373 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())
  374 + &&clFgs.get(map_.get("clZbh").toString()).contains(jdl.getGsBm()+"_"+jdl.getFgsBm())){
  375 + zjzl = Arith.add(zjzl,jdl.getJdl());
  376 + }
  377 + }
  378 + int num = 0; // 2022年12月20号要求不按车队导入,这之后导入的加注量将覆盖原加注量
  379 + for (int i = 0; i < jdlList_1.size(); i++) {
  380 + Jdl jdl=jdlList_1.get(i);
  381 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())
  382 + &&map_.get("company").toString().equals(jdl.getGsBm())){
  383 + zjzl_1 = Arith.add(zjzl_1,jdl.getJdl());
  384 + num++;
  385 + }
  386 + }
  387 + if(num > 0){
  388 + zjzl = zjzl_1;
  389 + }
  390 +
  391 +// double clsh=0.0;
  392 +// if(shMap.get(map_.get("clZbh").toString())==null){
  393 +// clsh=0.0;
  394 +// }else{
  395 +// clsh=shMap.get(map_.get("clZbh").toString());
  396 +// }
  397 +// zjzl =Arith.sub(zjzl, clsh);
  398 + Double nextJzyl = 0.0;
  399 + for (int i = 0; i < listpb.size(); i++) {
  400 + Map<String, Object> map = listpb.get(i);
  401 + if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){
  402 + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  403 + Dlb t = new Dlb();
  404 + for (int k = 0; k < dlList.size(); k++) {
  405 + Dlb t1 = dlList.get(k);
  406 + if (t1.getNbbm().equals(map.get("clZbh").toString())
  407 + && t1.getJsy().equals(map.get("jGh").toString())
  408 + && t1.getXlbm().equals(map.get("xlBm").toString())) {
  409 + if(t1.getLp()==null){
  410 + //同人同车同线路不同路牌的过滤 (考虑到历史数据)
  411 + if (cMap.get(map.get("clZbh").toString()+map.get("jGh").toString()+map.get("xlBm").toString())==null) {
  412 + t = t1;
  413 + type = "update";
  414 + cMap.put(map.get("clZbh").toString()+map.get("jGh").toString()+map.get("xlBm").toString(),
  415 + map.get("clZbh").toString());
  416 + }
  417 + }else{
  418 + if(t1.getLp().equals(map.get("lpName").toString())){
  419 + t = t1;
  420 + type = "update";
  421 + }
  422 +
  423 + }
  424 + }
  425 + }
  426 + Double lc= Double.parseDouble(map.get("totalKilometers").toString());
  427 + if(map.get("seqNumber").toString().equals("1")){
  428 + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  429 + Double dh=0.0;
  430 + if(zlc>0){
  431 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  432 + }
  433 + nextJzyl =Arith.sub(zjzl,dh);
  434 + if(zlc>0){
  435 +// long l=Math.round(nextJzyl);
  436 + double ylxs=nextJzyl;
  437 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  438 + if(dh<0){
  439 + t.setHd(0.0);
  440 + t.setCdl(0.0);
  441 + nextJzyl=Arith.add(ylxs, dh);
  442 + }else{
  443 + t.setHd(dh);
  444 + t.setCdl(dh);
  445 + nextJzyl=ylxs;
  446 + }
  447 + }else{
  448 + t.setHd(0.0);
  449 + t.setCdl(0.0);
  450 + }
  451 + }else{
  452 + Double dh=0.0;
  453 + if(zlc>0){
  454 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  455 + }
  456 + nextJzyl =Arith.sub( nextJzyl,dh);
  457 + if(zlc>0){
  458 +// long l=0l;
  459 + double ylxs=0.0;
  460 + if(i==listpb.size()-1){
  461 +// ylxs=czyl;
  462 + }else{
  463 + if(listpb.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){
  464 +// l=Math.round(nextJzyl);
  465 + ylxs=nextJzyl;
  466 + }
  467 +
  468 + }
  469 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  470 + if(dh<0){
  471 + t.setHd(0.0);
  472 + t.setCdl(0.0);
  473 + nextJzyl=Arith.add(ylxs, dh);
  474 + }else{
  475 + t.setHd(dh);
  476 + t.setCdl(dh);
  477 + nextJzyl=ylxs;
  478 + }
  479 + }else{
  480 + t.setHd(0.0);
  481 + t.setCdl(0.0);
  482 + }
  483 + }
  484 + t.setCzcd(100.0);
  485 + t.setJzcd(100.0);
  486 + t.setNbbm(map.get("clZbh").toString());
  487 + t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());
  488 + t.setZlc(map.get("totalKilometers") == null ? 0.0
  489 + : Double.parseDouble(map.get("totalKilometers").toString()));
  490 + t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());
  491 + t.setLinename(map.get("lineName")==null?"":map.get("lineName").toString());
  492 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  493 + t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());
  494 + t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());
  495 + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
  496 + t.setRq(sdf.parse(rq));
  497 + t.setLp(map.get("lpName").toString());
  498 + t.setJname(map.get("jName").toString());
  499 + if (!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))) {
  500 + if (t.getHd() < 0) {
  501 + t.setHd(0.0);
  502 + }
  503 + if (t.getCdl() < 0) {
  504 + t.setCdl(0.0);
  505 + }
  506 + if (type.equals("add")) {
  507 + t.setCreatetime(date);
  508 + addList.add(t);
  509 + } else {
  510 + t.setUpdatetime(date);
  511 + updateList.add(t);
  512 + }
  513 + }
  514 + newMap.put("status", ResponseCode.SUCCESS);
  515 + }
  516 + }
  517 + }
  518 + }
  519 + }
  520 + if(addList.size()>0){
  521 + try {
  522 + new BatchSaveUtils<Dlb>().saveList2(addList, Dlb.class);
  523 + } catch (Exception e) {
  524 + // TODO: handle exception
  525 + if(e.getMessage().indexOf("PK_DLB_UK")>0){
  526 + newMap.put("fage", "存在相同数据,数据已经过滤");
  527 + logger.info("获取:存在相同数据,数据已经过滤");
  528 + }
  529 + }
  530 +
  531 + }
  532 +
  533 + if(updateList.size()>0){
  534 + for (int i = 0; i < updateList.size(); i++) {
  535 + repository.save(updateList.get(i));
  536 + }
  537 + }
  538 + SysUser user = SecurityUtils.getCurrentUser();
  539 + Nylog nylog=new Nylog();
  540 + nylog.setCreatedate(new Date());
  541 + nylog.setCzmc("获取");
  542 + nylog.setNylx("电");
  543 + nylog.setUserid(user.getUserName());
  544 + nylog.setUsername(user.getName());
  545 + nylog.setCxtj(line+"-"+ date+"-"+gsbm+"-"+fgsbm);
  546 + nylogRepository.save(nylog);
  547 + newMap.put("status", ResponseCode.SUCCESS);
  548 + } catch (Exception e) {
  549 + // TODO Auto-generated catch block
  550 + newMap.put("status", ResponseCode.ERROR);
  551 + throw e;
  552 + }
  553 +
  554 + return newMap;
  555 + }
  556 +
  557 + /**
  558 + * 拆分
  559 + */
  560 + @Transactional
  561 + @Override
  562 + public Map<String, Object> sort(Map<String, Object> map) {
  563 + // TODO Auto-generated method stub
  564 + Map<String, Object> newMap = new HashMap<String, Object>();
  565 + try{
  566 + int id=Integer.parseInt(map.get("id").toString());
  567 + //最后存油量
  568 + Double jzdl=Double.parseDouble(map.get("jzdl").toString());
  569 + Double hdl=Double.parseDouble(map.get("hdl").toString());
  570 + Dlb dlb=repository.findById(id).get();
  571 + dlb.setJzcd(jzdl);
  572 + dlb.setHd(hdl);
  573 + repository.save(dlb);
  574 + newMap.put("status", ResponseCode.SUCCESS);
  575 + }catch(Exception e){
  576 + newMap.put("status", ResponseCode.ERROR);
  577 + logger.error("save erro.", e);
  578 + }
  579 + return newMap;
  580 + }
  581 +
  582 +
  583 + /**
  584 + * 核对,有加注没里程
  585 + * @param map
  586 + * @return
  587 + */
  588 + @Transactional
  589 + @Override
  590 + public Map<String, Object> checkDl(Map<String, Object> map) {
  591 + Map<String, Object> newMap=new HashMap<String,Object>();
  592 +// String xlbm="";
  593 +// if(map.get("xlbm_like")!=null){
  594 +// xlbm=map.get("xlbm_like").toString();
  595 +// }
  596 + // TODO Auto-generated method stub
  597 +
  598 + List<Cars> carsList = carsRepository.findCars();
  599 + Map<String, String> carsMap = new HashMap<String, String>();
  600 + for (int i = 0; i < carsList.size(); i++) {
  601 + Cars c = carsList.get(i);
  602 + carsMap.put(c.getInsideCode(), c.getBrancheCompanyCode()==null?"":c.getBrancheCompanyCode());
  603 + }
  604 +
  605 + try{
  606 + //获取车辆存油信息
  607 +
  608 + String rq=map.get("rq").toString();
  609 + String xlbm="";
  610 + if(map.get("xlbm_like")!=null){
  611 + xlbm= map.get("xlbm_like").toString().trim();
  612 + }
  613 + String gsbm="";
  614 + if(map.get("ssgsdm_like")!=null){
  615 + gsbm=map.get("ssgsdm_like").toString();
  616 + }
  617 + String fgsbm="";
  618 + if(map.get("fgsdm_like")!=null){
  619 + fgsbm=map.get("fgsdm_like").toString();
  620 + }
  621 + String nbbm="";
  622 + if(map.get("nbbm_eq")!=null){
  623 + nbbm=map.get("nbbm_eq").toString();
  624 + }
  625 +
  626 + String sql="select * from bsth_c_jdl j where j.gs_bm ='"+gsbm+"' "
  627 + + " and j.fgs_bm ='"+fgsbm+"' and rq ='"+rq+"' "
  628 + + "and nbbm not in (select nbbm from bsth_c_dlb d"
  629 + + " where ssgsdm ='"+gsbm+"' and fgsdm ='"+fgsbm+"'"
  630 + + " and rq='"+rq+"')";
  631 + List<Jdl> listJdl=jdbcTemplate.query(sql,
  632 + new RowMapper<Jdl>(){
  633 + @Override
  634 + public Jdl mapRow(ResultSet rs, int rowNum) throws SQLException {
  635 + Jdl s = new Jdl();
  636 + s.setNbbm(rs.getString("nbbm"));
  637 + s.setGsBm(rs.getString("gs_bm"));
  638 + s.setFgsBm(rs.getString("fgs_bm"));
  639 + s.setJdl(rs.getDouble("jdl"));
  640 + s.setRq(rs.getDate("rq"));
  641 + return s;
  642 + }
  643 + });
  644 + for (int i = 0; i < listJdl.size(); i++) {
  645 + Jdl j=listJdl.get(i);
  646 + Dlb t=new Dlb();
  647 + Line line= BasicData.nbbm2LineMap.get(j.getNbbm());
  648 + if(null !=line){
  649 + t.setCdl(j.getJdl());
  650 + t.setNbbm(j.getNbbm());
  651 + t.setRq(j.getRq());
  652 + t.setJsy("");
  653 + t.setCdl(j.getJdl());
  654 + t.setSsgsdm(j.getGsBm());
  655 + t.setFgsdm(j.getFgsBm());
  656 + t.setJzcd(100.0);
  657 + t.setCzcd(100.0);
  658 + t.setHd(0.0);
  659 + t.setJcsx(1);
  660 + t.setXlbm(line.getLineCode());
  661 + t.setLp("");
  662 + repository.save(t);
  663 + }
  664 + }
  665 +
  666 + SysUser user = SecurityUtils.getCurrentUser();
  667 + Nylog nylog=new Nylog();
  668 + nylog.setCreatedate(new Date());
  669 + nylog.setCzmc("核对");
  670 + nylog.setNylx("电");
  671 + nylog.setUserid(user.getUserName());
  672 + nylog.setUsername(user.getName());
  673 + nylog.setCxtj(xlbm+"-"+ rq+"-"+gsbm+"-"+fgsbm);
  674 + nylogRepository.save(nylog);
  675 + newMap.put("status", ResponseCode.SUCCESS);
  676 + }catch(Exception e){
  677 + newMap.put("status", ResponseCode.ERROR);
  678 + logger.error("save erro.", e);
  679 + throw e;
  680 + }
  681 +
  682 + return newMap;
  683 + }
  684 +
  685 + @Override
  686 + public List<Dlb> listDlb(Map<String, Object> map) {
  687 + // TODO Auto-generated method stub
  688 + List<Dlb> listDlb = new ArrayList<Dlb>();
  689 + List<String> stringList = new ArrayList<String>();
  690 + String rq = map.get("rq").toString();
  691 + String gsbm = map.get("ssgsdm_like").toString();
  692 + String fgsbm = map.get("fgsdm_like").toString();
  693 + String xlbm = map.get("xlbm_like").toString().trim();
  694 + String nbbm = map.get("nbbm_eq").toString();
  695 + String sxtj = map.get("sxtj").toString();
  696 + String type = map.get("type").toString();
  697 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  698 + try {
  699 + if (nbbm.trim() != "") {
  700 + stringList.add(nbbm);
  701 + if (type.equals("1"))
  702 + listDlb = repository.listDlb(rq, gsbm, fgsbm, xlbm, stringList);
  703 + else
  704 + listDlb = repository.listDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);
  705 +
  706 + } else {
  707 + // 全部
  708 + if (sxtj.equals("0")) {
  709 + List<Object[]> objectLists = repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm, nbbm);
  710 + for (int i = 0; i < objectLists.size(); i++) {
  711 + String clbm = objectLists.get(i)[0].toString();
  712 + stringList.add(clbm);
  713 + }
  714 + if (stringList.size() > 0) {
  715 + if (type.equals("1"))
  716 + listDlb = repository.listDlb(rq, gsbm, fgsbm, xlbm, stringList);
  717 + else
  718 + listDlb = repository.listDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);
  719 + }
  720 + } else {
  721 + List<Object[]> objectLists;
  722 + if (sxtj.equals("3")) {
  723 + // 有加油没里程
  724 + objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);
  725 + for (int i = 0; i < objectLists.size(); i++) {
  726 + String clbm = objectLists.get(i)[0].toString();
  727 + double jzl = Double.parseDouble(objectLists.get(i)[1].toString());
  728 + double zlc = Double.parseDouble(objectLists.get(i)[2].toString());
  729 + if (jzl > 0 && zlc <= 0) {
  730 + stringList.add(clbm);
  731 + }
  732 +
  733 + }
  734 +
  735 + } else if (sxtj.equals("4")) {
  736 + // 有里程没加油
  737 + objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);
  738 + for (int i = 0; i < objectLists.size(); i++) {
  739 + String clbm = objectLists.get(i)[0].toString();
  740 + double jzl = Double.parseDouble(objectLists.get(i)[1].toString());
  741 + double zlc = Double.parseDouble(objectLists.get(i)[2].toString());
  742 + if (zlc > 0 && jzl <= 0) {
  743 + stringList.add(clbm);
  744 + }
  745 +
  746 + }
  747 + } else {
  748 + objectLists = repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm, nbbm);
  749 + for (int i = 0; i < objectLists.size(); i++) {
  750 + String clbm = objectLists.get(i)[0].toString();
  751 + int cs = Integer.parseInt(objectLists.get(i)[1].toString());
  752 + // 一车一单
  753 + if (sxtj.equals("1")) {
  754 + if (cs == 1) {
  755 + stringList.add(clbm);
  756 + }
  757 + }
  758 + // 一车多单
  759 + if (sxtj.equals("2")) {
  760 + if (cs > 1) {
  761 + stringList.add(clbm);
  762 + }
  763 + }
  764 + }
  765 + }
  766 +
  767 + if (stringList.size() > 0) {
  768 + if (type.equals("1"))
  769 + listDlb = repository.listDlb(rq, gsbm, fgsbm, xlbm, stringList);
  770 + else
  771 + listDlb = repository.listDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);
  772 + }
  773 + }
  774 + }
  775 + } catch (ParseException e) {
  776 + // TODO Auto-generated catch block
  777 + e.printStackTrace();
  778 + }
  779 + return listDlb;
  780 + }
  781 +
  782 + @Override
  783 + public Map<String, Object> sumYlb(Map<String, Object> map) {
  784 + // TODO Auto-generated method stub
  785 + List<String> stringList = new ArrayList<String>();
  786 + String rq = map.get("rq").toString();
  787 + String gsbm = map.get("ssgsdm_like").toString();
  788 + String fgsbm = map.get("fgsdm_like").toString();
  789 + String xlbm = map.get("xlbm_like").toString().trim();
  790 + String nbbm = map.get("nbbm_eq").toString();
  791 + String sxtj = map.get("sxtj").toString();
  792 + String type = map.get("type").toString();
  793 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  794 + List<Object[]> sumYlbList = new ArrayList<Object[]>();
  795 + try {
  796 + if (nbbm.trim() != "") {
  797 + stringList.add(nbbm);
  798 + } else {
  799 + if (!sxtj.equals("0")) {
  800 + List<Object[]> objectLists;
  801 + if (sxtj.equals("3")) {
  802 + // 有加油没里程
  803 + objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);
  804 + for (int i = 0; i < objectLists.size(); i++) {
  805 + String clbm = objectLists.get(i)[0].toString();
  806 + double jzl = Double.parseDouble(objectLists.get(i)[1].toString());
  807 + double zlc = Double.parseDouble(objectLists.get(i)[2].toString());
  808 + if (jzl > 0 && zlc <= 0) {
  809 + stringList.add(clbm);
  810 + }
  811 +
  812 + }
  813 +
  814 + } else if (sxtj.equals("4")) {
  815 + // 有里程没加油
  816 + objectLists = repository.checkNbmmDl(rq, gsbm, fgsbm, xlbm, nbbm);
  817 + for (int i = 0; i < objectLists.size(); i++) {
  818 + String clbm = objectLists.get(i)[0].toString();
  819 + double jzl = Double.parseDouble(objectLists.get(i)[1].toString());
  820 + double zlc = Double.parseDouble(objectLists.get(i)[2].toString());
  821 + if (zlc > 0 && jzl <= 0) {
  822 + stringList.add(clbm);
  823 + }
  824 +
  825 + }
  826 + } else {
  827 + objectLists = repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm, nbbm);
  828 + for (int i = 0; i < objectLists.size(); i++) {
  829 + String clbm = objectLists.get(i)[0].toString();
  830 + int cs = Integer.parseInt(objectLists.get(i)[1].toString());
  831 + // 一车一单
  832 +
  833 + if (sxtj.equals("1")) {
  834 + if (cs == 1) {
  835 + stringList.add(clbm);
  836 + }
  837 + }
  838 + // 一车多单
  839 + if (sxtj.equals("2")) {
  840 + if (cs > 1) {
  841 + stringList.add(clbm);
  842 + }
  843 + }
  844 + }
  845 + }
  846 + }
  847 + }
  848 + if (sxtj.equals("0")) {
  849 + sumYlbList = repository.sumDlb2(rq, gsbm, fgsbm, xlbm, nbbm);
  850 + } else {
  851 + if (stringList.size() > 0) {
  852 +
  853 + // String strings[]=new String[stringList.size()];
  854 + // for(int i=0;i<stringList.size();i++){
  855 + // strings[i]=stringList.get(i);
  856 + // }
  857 + if (type.equals("1"))
  858 + sumYlbList = repository.sumDlb(rq, gsbm, fgsbm, xlbm, stringList);
  859 + else
  860 + sumYlbList = repository.sumDlb_s(sdf.parse(rq + " 00:00:00"), gsbm, fgsbm, xlbm, stringList);
  861 +
  862 + }
  863 + // else {
  864 + // sumYlbList = repository.sumDlb2(rq, gsbm, fgsbm, xlbm, nbbm);
  865 + // }
  866 + }
  867 + } catch (ParseException e) {
  868 + // TODO Auto-generated catch block
  869 + e.printStackTrace();
  870 + }
  871 + Double jzl = 0.0, yh = 0.0, sh = 0.0;
  872 + for (int i = 0; i < sumYlbList.size(); i++) {
  873 + jzl = Arith.add(jzl, Double.valueOf(sumYlbList.get(i)[0].toString()));
  874 + yh = Arith.add(yh, Double.valueOf(sumYlbList.get(i)[1].toString()));
  875 + sh = Arith.add(sh, Double.valueOf(sumYlbList.get(i)[2].toString()));
  876 + }
  877 +
  878 + Map<String, Object> sumMap = new HashMap<String, Object>();
  879 + sumMap.put("jzl", jzl);
  880 + sumMap.put("yh", yh);
  881 + sumMap.put("sh", sh);
  882 + return sumMap;
  883 + }
  884 +
  885 +
  886 + @Transactional
  887 + @Override
  888 + public Map<String, Object> saveDlbList(Map<String, Object> map) throws Exception {
  889 + // TODO Auto-generated method stub
  890 + Map<String, Object> newMap=new HashMap<String,Object>();
  891 + try{
  892 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  893 + String json =StringEscapeUtils.unescapeHtml4(map.get("dlbList").toString());
  894 + JSONArray jsonArray=JSONArray.parseArray(json);
  895 + JSONObject jsonObject;
  896 + // 获取车辆存油信息
  897 +// List<Cyl> cylList = cylRepository.obtainCyl("","");
  898 + for (int i = 0; i < jsonArray.size(); i++) {
  899 +// Ylb t=new Ylb();
  900 + jsonObject=jsonArray.getJSONObject(i);
  901 + double czcd = jsonObject.getDoubleValue("czcd");
  902 + double cdl =jsonObject.getDoubleValue("cdl");
  903 + double jzcd =jsonObject.getDoubleValue("jzcd");
  904 + double sh =jsonObject.getDoubleValue("sh");
  905 + String shyy =jsonObject.getString("shyy");
  906 + double hd = jsonObject.getDoubleValue("hd");
  907 + int yhlx =jsonObject.getIntValue("yhlx");
  908 + Integer id =jsonObject.getInteger("id");
  909 +// String nbbm =jsonObject.getString("nbbm");
  910 +// String rq=jsonObject.getString("rq");
  911 + repository.dlbUpdate(id, czcd, jzcd, hd, sh, shyy, yhlx);
  912 +
  913 + }
  914 +
  915 + SysUser user = SecurityUtils.getCurrentUser();
  916 + Nylog nylog=new Nylog();
  917 + nylog.setCreatedate(new Date());
  918 + nylog.setCzmc("保存全部");
  919 + nylog.setNylx("电");
  920 + nylog.setUserid(user.getUserName());
  921 + nylog.setUsername(user.getName());
  922 + nylog.setCxtj("");
  923 + nylogRepository.save(nylog);
  924 + newMap.put("status", ResponseCode.SUCCESS);
  925 + }catch(Exception e){
  926 + newMap.put("status", ResponseCode.ERROR);
  927 + logger.error("save erro.", e);
  928 + throw e;
  929 + }
  930 + return newMap;
  931 + }
  932 +
  933 + public List<Dlb> listOrderBy(String rq,String gsdm,
  934 + String fgsdm,String xlbm,String nbbm,
  935 + String px) {
  936 + // TODO Auto-generated method stub
  937 + String sql="SELECT * FROM bsth_c_dlb "
  938 + + " where rq='"+rq+"' and ssgsdm like '%"+gsdm+"%' "
  939 + + " and fgsdm like '%"+fgsdm+"%'";
  940 + if(xlbm.equals("")){
  941 + sql+= " and xlbm like '%"+xlbm+"%' ";
  942 + }else{
  943 + sql+= " and xlbm = '"+xlbm+"' ";
  944 + }
  945 +
  946 + sql += "and nbbm like '%"+nbbm+"%' order by "+px+" asc ";
  947 +
  948 + List<Dlb> list = jdbcTemplate.query(sql, new RowMapper<Dlb>() {
  949 + @Override
  950 + public Dlb mapRow(ResultSet arg0, int arg1) throws SQLException {
  951 + Dlb y = new Dlb();
  952 + y.setId(arg0.getInt("id"));
  953 + return y;
  954 + }
  955 + });
  956 + List<Dlb> lists=new ArrayList<Dlb>();
  957 + List<Dlb> dlbLists=repository.obtainDl(rq,gsdm,fgsdm,xlbm,nbbm,"jcsx");
  958 + for (int i = 0; i < list.size(); i++) {
  959 + Dlb t=list.get(i);
  960 + for (int j = 0; j < dlbLists.size(); j++) {
  961 + Dlb t2=dlbLists.get(j);
  962 + if(t.getId().intValue()==t2.getId().intValue()){
  963 + lists.add(t2);
  964 + break;
  965 + }
  966 + }
  967 + }
  968 +
  969 + return lists;
  970 + }
  971 +
  972 +
  973 + @Override
  974 + public String checkJsy(Map<String, Object> map) {
  975 + // TODO Auto-generated method stub
  976 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  977 + String rq=map.get("date").toString();
  978 + String nbbm=map.get("nbbm").toString();
  979 + String jsy =map.get("jsy").toString();
  980 + String xlbm=map.get("xlbm").toString();
  981 + List<Dlb> list= repository.queryListDlb(rq, nbbm, jsy, xlbm);
  982 + String type="1";
  983 + if(list.size()>0){
  984 + type="0";
  985 + }
  986 + return type;
  987 + }
  988 +
  989 + @Override
  990 + public Map<String, Object> saveDlb(Dlb t) {
  991 + // TODO Auto-generated method stub
  992 + Map<String, Object> map = new HashMap<>();
  993 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  994 + String rq=sdf.format(t.getRq());
  995 + String gsdm=t.getSsgsdm();
  996 + String fgsdm=t.getFgsdm();
  997 + String xlbm=t.getXlbm();
  998 + String jhsj=t.getJhsj();
  999 + String jsy=t.getJsy();
  1000 + String nbbm=t.getNbbm();
  1001 + int sfkt=t.getSfkt();
  1002 + t.setCreatetime(new Date());
  1003 + String[] jhsjStr = jhsj.split(":");
  1004 + long fcsjL= Long.parseLong(jhsjStr[0])*60+Long.parseLong(jhsjStr[1]);
  1005 + List<Dlb> list=this.listOrderBy(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj");
  1006 +// repository.obtainYl(rq, gsdm, fgsdm, xlbm, nbbm, "jhsj");
  1007 + int jcsx=1;
  1008 + if(list.size()>0){
  1009 + for (int i = 0; i < list.size(); i++) {
  1010 + Dlb y=list.get(i);
  1011 + String[] fcsjStr = y.getJhsj().split(":");
  1012 + long fcsj=Long.parseLong(fcsjStr[0])*60+Long.parseLong(fcsjStr[1]);
  1013 + if(fcsjL>fcsj){
  1014 + jcsx=jcsx+y.getJcsx();
  1015 + }else{
  1016 + y.setJcsx(y.getJcsx()+1);
  1017 + repository.save(y);
  1018 + }
  1019 + }
  1020 +
  1021 + }
  1022 + t.setJcsx(jcsx);
  1023 + repository.save(t);
  1024 +
  1025 + SysUser user = SecurityUtils.getCurrentUser();
  1026 + Nylog nylog=new Nylog();
  1027 + nylog.setCreatedate(new Date());
  1028 + nylog.setCzmc("手动添加");
  1029 + nylog.setNylx("电");
  1030 + nylog.setUserid(user.getUserName());
  1031 + nylog.setUsername(user.getName());
  1032 + nylog.setCxtj("");
  1033 + nylogRepository.save(nylog);
  1034 + map.put("status", ResponseCode.SUCCESS);
  1035 + map.put("t", t);
  1036 + return map;
  1037 + }
  1038 +
  1039 + @Transactional
  1040 + @Override
  1041 + public Map<String, Object> deleteIds(Map<String, Object> map) throws Exception{
  1042 + // TODO Auto-generated method stub
  1043 + Map<String, Object> maps = new HashMap<>();
  1044 + try{
  1045 + String json =StringEscapeUtils.unescapeHtml4(map.get("ids").toString());
  1046 + JSONArray jsonArray=JSONArray.parseArray(json);
  1047 + JSONObject jsonObject;
  1048 + for (int x = 0; x < jsonArray.size(); x++) {
  1049 + jsonObject=jsonArray.getJSONObject(x);
  1050 + Integer id =jsonObject.getInteger("id");
  1051 + repository.deleteById(id);
  1052 + }
  1053 +
  1054 + SysUser user = SecurityUtils.getCurrentUser();
  1055 + Nylog nylog=new Nylog();
  1056 + nylog.setCreatedate(new Date());
  1057 + nylog.setCzmc("删除");
  1058 + nylog.setNylx("电");
  1059 + nylog.setUserid(user.getUserName());
  1060 + nylog.setUsername(user.getName());
  1061 + nylog.setCxtj("");
  1062 + nylogRepository.save(nylog);
  1063 + maps.put("status", ResponseCode.SUCCESS);
  1064 + } catch (Exception e) {
  1065 + maps.put("status", ResponseCode.ERROR);
  1066 + logger.error("save erro.", e);
  1067 + throw e;
  1068 + }
  1069 + return maps;
  1070 + }
  1071 +
  1072 + @Override
  1073 + public Map<String, List<Dlb>> updeteHistory(List<Map<String, Object>> listpbDc,String date,
  1074 + String gsdm,String fgsdm,String line) {
  1075 + // TODO Auto-generated method stub
  1076 + Map<String, List<Dlb>> mapList=new HashMap<String,List<Dlb>>();
  1077 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  1078 + // 保留两位小数
  1079 + DecimalFormat df = new DecimalFormat("#.00");
  1080 + List<Dlb> dlbList=this.listOrderBy(date,gsdm,fgsdm,"","","nbbm");
  1081 + List<Dlb> dlbList_upd=new ArrayList<Dlb>();
  1082 + List<Dlb> dlbList_del=new ArrayList<Dlb>();
  1083 + try{
  1084 + for (int j = 0; j < dlbList.size(); j++) {
  1085 + Dlb t=dlbList.get(j);
  1086 + boolean fage=true;
  1087 + if(StringUtils.isEmpty(t.getLp())){
  1088 + fage=false;
  1089 + }else{
  1090 + for (int i = 0; i < listpbDc.size(); i++) {
  1091 + Map<String, Object> m = listpbDc.get(i);
  1092 + if(t.getNbbm().equals(m.get("clZbh").toString())
  1093 + &&t.getJsy().equals(m.get("jGh").toString())
  1094 + &&t.getXlbm().equals(m.get("xlBm").toString())
  1095 + &&t.getLp().equals(m.get("lpName").toString())){
  1096 + //该条记录不用删除
  1097 + fage =false;
  1098 + dlbList_upd.add(t);
  1099 + }
  1100 + }
  1101 + }
  1102 +
  1103 + if(fage){
  1104 + if(t.getXlbm().equals(line)){
  1105 + dlbList_del.add(t);
  1106 + }
  1107 + }
  1108 + }
  1109 + mapList.put("delList", dlbList_del);
  1110 + Map<String, Double> lcMap=new HashMap<String,Double>();
  1111 + for (int i = 0; i < listpbDc.size(); i++) {
  1112 + String cl=listpbDc.get(i).get("clZbh").toString();
  1113 + Double lc= listpbDc.get(i).get("totalKilometers") == null ? 0.0
  1114 + : Double.parseDouble(listpbDc.get(i).get("totalKilometers").toString());
  1115 + if(lcMap.get(cl)==null){
  1116 + lcMap.put(cl, lc);
  1117 + }else{
  1118 + double lc_=lcMap.get(cl);
  1119 + lcMap.remove(cl);
  1120 + lcMap.put(cl, Arith.add(lc, lc_));
  1121 + }
  1122 + }
  1123 + Map<String, Double> shMap=new HashMap<String,Double>();
  1124 + for (int i = 0; i < dlbList_upd.size(); i++) {
  1125 + Dlb dlb=dlbList_upd.get(i);
  1126 + String cl=dlb.getNbbm();
  1127 + if(shMap.get(cl)==null){
  1128 + shMap.put(cl, dlb.getSh());
  1129 + }else{
  1130 + double sh=shMap.get(cl);
  1131 + shMap.remove(cl);
  1132 + shMap.put(cl, Arith.add(sh, dlb.getSh()));
  1133 + }
  1134 + }
  1135 + List<Jdl> jdlList=jdlRepository.JdlList(date);
  1136 + List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(date, 0,gsdm);
  1137 + Map<String, Object> newMap_=new HashMap<String,Object>();
  1138 + Map<String, Object> cMap=new HashMap<String, Object>();
  1139 + List<Map<String, Object>> listpb_=listpbDc;
  1140 + Collections.sort(listpbDc,new NbbmJcsxMap());
  1141 + List<Dlb> updateDlb=new ArrayList<Dlb>();
  1142 + for (int x = 0; x < listpb_.size(); x++) {
  1143 + String type = "add";
  1144 + Map<String, Object> map_ = listpb_.get(x);
  1145 + if(newMap_.get(map_.get("clZbh").toString())==null){
  1146 + newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString());
  1147 + //车辆总里程
  1148 + double zlc =lcMap.get(map_.get("clZbh").toString());
  1149 + //车辆总加电量
  1150 + double zjzl = 0.0;
  1151 + for (int j = 0; j < ylxxList.size(); j++) {
  1152 + Ylxxb ylxxb = ylxxList.get(j);
  1153 + if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
  1154 + && map_.get("company").toString().equals(ylxxb.getGsdm())) {
  1155 + zjzl = Arith.add(zjzl, ylxxb.getJzl());
  1156 + }
  1157 + }
  1158 + for (int i = 0; i < jdlList.size(); i++) {
  1159 + Jdl jdl=jdlList.get(i);
  1160 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())
  1161 + &&map_.get("company").toString().equals(jdl.getGsBm())
  1162 + &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){
  1163 + zjzl = Arith.add(zjzl,jdl.getJdl());
  1164 + }
  1165 + }
  1166 + double clsh=0.0;
  1167 + if(shMap.get(map_.get("clZbh").toString())==null){
  1168 + clsh=0.0;
  1169 + }else{
  1170 + clsh=shMap.get(map_.get("clZbh").toString());
  1171 + }
  1172 + zjzl =Arith.sub(zjzl, clsh);
  1173 + Double nextJzyl = 0.0;
  1174 + for (int i = 0; i < listpbDc.size(); i++) {
  1175 + Map<String, Object> map = listpbDc.get(i);
  1176 + if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){
  1177 + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  1178 + Dlb t = new Dlb();
  1179 + for (int k = 0; k < dlbList_upd.size(); k++) {
  1180 + Dlb t1 = dlbList_upd.get(k);
  1181 + if (t1.getNbbm().equals(map.get("clZbh").toString())
  1182 + && t1.getJsy().equals(map.get("jGh").toString())
  1183 + && t1.getXlbm().equals(map.get("xlBm").toString())
  1184 + && t1.getLp().equals(map.get("lpName").toString())) {
  1185 + t = t1;
  1186 + type = "update";
  1187 + }
  1188 +
  1189 + }
  1190 + Double lc= Double.parseDouble(map.get("totalKilometers").toString());
  1191 + if(map.get("seqNumber").toString().equals("1")){
  1192 + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  1193 + Double dh=0.0;
  1194 + if(zlc>0){
  1195 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  1196 + }
  1197 + nextJzyl =Arith.sub(zjzl,dh);
  1198 + if(zlc>0){
  1199 +// long l=Math.round(nextJzyl);
  1200 + double ylxs=nextJzyl;
  1201 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  1202 + if(dh<0){
  1203 + t.setHd(0.0);
  1204 + t.setCdl(0.0);
  1205 + nextJzyl=Arith.add(ylxs, dh);
  1206 + }else{
  1207 + t.setHd(dh);
  1208 + t.setCdl(dh);
  1209 + nextJzyl=ylxs;
  1210 + }
  1211 + }else{
  1212 + t.setHd(0.0);
  1213 + t.setCdl(0.0);
  1214 + }
  1215 + }else{
  1216 + Double dh=0.0;
  1217 + if(zlc>0){
  1218 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  1219 + }
  1220 + nextJzyl =Arith.sub( nextJzyl,dh);
  1221 + if(zlc>0){
  1222 +// long l=0l;
  1223 + double ylxs=0.0;
  1224 + if(i==listpbDc.size()-1){
  1225 +// ylxs=czyl;
  1226 + }else{
  1227 + if(listpbDc.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){
  1228 +// l=Math.round(nextJzyl);
  1229 + ylxs=nextJzyl;
  1230 + }
  1231 +
  1232 + }
  1233 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  1234 + if(dh<0){
  1235 + t.setHd(0.0);
  1236 + t.setCdl(0.0);
  1237 + nextJzyl=Arith.add(ylxs, dh);
  1238 + }else{
  1239 + t.setHd(dh);
  1240 + t.setCdl(dh);
  1241 + nextJzyl=ylxs;
  1242 + }
  1243 + }else{
  1244 + t.setHd(0.0);
  1245 + t.setCdl(0.0);
  1246 + }
  1247 + }
  1248 + t.setCzcd(100.0);
  1249 + t.setJzcd(100.0);
  1250 + t.setNbbm(map.get("clZbh").toString());
  1251 + t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());
  1252 + t.setZlc(map.get("totalKilometers") == null ? 0.0
  1253 + : Double.parseDouble(map.get("totalKilometers").toString()));
  1254 + t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());
  1255 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  1256 + t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());
  1257 + t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());
  1258 + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
  1259 + t.setRq(sdf.parse(date));
  1260 + t.setLp(map.get("lpName").toString());
  1261 + t.setCdl(Arith.add(t.getCdl(), t.getSh()));
  1262 + if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
  1263 + if(type.equals("add")){
  1264 + t.setCreatetime(new Date());
  1265 + }else{
  1266 + t.setUpdatetime(new Date());
  1267 + }
  1268 + }
  1269 +
  1270 + if(t.getHd()<0){
  1271 + t.setHd(0.0);
  1272 + }
  1273 + if(t.getCdl()<0){
  1274 + t.setCdl(0.0);
  1275 + }
  1276 + updateDlb.add(t);
  1277 + }
  1278 + }
  1279 + }
  1280 + }
  1281 + mapList.put("updList", updateDlb);
  1282 + }catch(Exception e){
  1283 + logger.error("save erro.", e);
  1284 + }
  1285 + return mapList;
  1286 + }
  1287 +
  1288 + @Override
  1289 + public Map<String, Object> update(Map<String, Object> map) {
  1290 + if(map.get("id")!=null){
  1291 + if(map.get("id").toString().length()>0){
  1292 + Integer id=Integer.parseInt(map.get("id").toString());
  1293 + String jsy=map.get("jsy").toString();
  1294 + Dlb t=repository.findById(id).get();
  1295 + t.setJsy(jsy);
  1296 + repository.save(t);
  1297 + map.put("status", ResponseCode.SUCCESS);
  1298 + }
  1299 + }
  1300 + return map;
  1301 + }
  1302 +
  1303 +}
  1304 +
  1305 +class NbbmJcsxMap implements Comparator<Map<String, Object>>{
  1306 + @Override
  1307 + public int compare(Map<String, Object> o1, Map<String, Object> o2) {
  1308 + // TODO Auto-generated method stub
  1309 + return (o1.get("clZbh").toString()+o1.get("seqNumber").toString()).compareTo((o2.get("clZbh").toString()+o1.get("seqNumber").toString()));
  1310 + }
  1311 +}
src/main/java/com/bsth/service/oil/impl/JdlServiceImpl.java
@@ -109,12 +109,16 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl @@ -109,12 +109,16 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
109 public Map<String, Object> query(Map<String, Object> map) { 109 public Map<String, Object> query(Map<String, Object> map) {
110 Map<String, Object> modelMap = new HashMap<String, Object>(); 110 Map<String, Object> modelMap = new HashMap<String, Object>();
111 String gsbm = map.get("gsbm").toString(); 111 String gsbm = map.get("gsbm").toString();
112 - String fgsbm = map.get("fgsbm").toString(); 112 + String fgsbm = map.get("fgsbm")!=null?map.get("fgsbm").toString().trim():"";
113 String rq = map.get("rq").toString(); 113 String rq = map.get("rq").toString();
114 String nbbm = map.get("nbbm").toString(); 114 String nbbm = map.get("nbbm").toString();
115 -// String jsy =map.get("jsy").toString();  
116 Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0"); 115 Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0");
117 - List<Jdl> query = repository.query(gsbm, fgsbm, rq, nbbm); 116 + List<Jdl> query = new ArrayList<Jdl>();
  117 + if(fgsbm.length() > 0){
  118 + query = repository.query(gsbm, fgsbm, rq, nbbm);
  119 + } else {
  120 + query = repository.query(gsbm, rq, nbbm);
  121 + }
118 122
119 if(!map.containsKey("type")){ 123 if(!map.containsKey("type")){
120 124
src/main/java/com/bsth/service/oil/impl/JqlServiceImpl.java
@@ -109,12 +109,16 @@ public class JqlServiceImpl extends BaseServiceImpl&lt;Jql, Integer&gt; implements Jql @@ -109,12 +109,16 @@ public class JqlServiceImpl extends BaseServiceImpl&lt;Jql, Integer&gt; implements Jql
109 public Map<String, Object> query(Map<String, Object> map) { 109 public Map<String, Object> query(Map<String, Object> map) {
110 Map<String, Object> modelMap = new HashMap<String, Object>(); 110 Map<String, Object> modelMap = new HashMap<String, Object>();
111 String gsbm = map.get("gsbm").toString(); 111 String gsbm = map.get("gsbm").toString();
112 - String fgsbm = map.get("fgsbm").toString(); 112 + String fgsbm = map.get("fgsbm")!=null?map.get("fgsbm").toString().trim():"";
113 String rq = map.get("rq").toString(); 113 String rq = map.get("rq").toString();
114 String nbbm = map.get("nbbm").toString(); 114 String nbbm = map.get("nbbm").toString();
115 -// String jsy =map.get("jsy").toString();  
116 Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0"); 115 Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0");
117 - List<Jql> query = repository.query(gsbm, fgsbm, rq, nbbm); 116 + List<Jql> query = new ArrayList<Jql>();
  117 + if(fgsbm.length() > 0){
  118 + query = repository.query(gsbm, fgsbm, rq, nbbm);
  119 + } else {
  120 + query = repository.query(gsbm, rq, nbbm);
  121 + }
118 122
119 if(!map.containsKey("type")){ 123 if(!map.containsKey("type")){
120 124
src/main/java/com/bsth/service/oil/impl/QlbServiceImpl.java
@@ -253,6 +253,7 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS @@ -253,6 +253,7 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS
253 } 253 }
254 254
255 List<Jql> jqlList=jqlRepository.JqlList(rq); 255 List<Jql> jqlList=jqlRepository.JqlList(rq);
  256 + List<Jql> jqlList_1=jqlRepository.JqlList_1(rq, gsbm, "-1");
256 String sxtj=map2.get("sxtj").toString(); 257 String sxtj=map2.get("sxtj").toString();
257 if(sxtj.equals("0")){ 258 if(sxtj.equals("0")){
258 listpb=listpbs; 259 listpb=listpbs;
@@ -293,6 +294,28 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS @@ -293,6 +294,28 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS
293 Map<String, Object> cMap=new HashMap<String, Object>(); 294 Map<String, Object> cMap=new HashMap<String, Object>();
294 List<Map<String, Object>> listpb_=listpb; 295 List<Map<String, Object>> listpb_=listpb;
295 Collections.sort(listpb,new NbbmJcsxMap2()); 296 Collections.sort(listpb,new NbbmJcsxMap2());
  297 +
  298 + Map<String, String> clFgs=new HashMap<String, String>(); // 电车当天在哪几个公司运营了
  299 + for(int x = 0; x < listpb_.size(); x++){
  300 + boolean sfHydrogen = false;
  301 + Map<String, Object> map_ = listpb_.get(x);
  302 + String clZbh = map_.get("clZbh").toString();
  303 + if (carsMap.get(clZbh) != null) {
  304 + sfHydrogen = carsMap.get(clZbh);
  305 + } else {
  306 + sfHydrogen = false;
  307 + }
  308 + if (sfHydrogen) {
  309 + if(clFgs.get(clZbh)==null){
  310 + clFgs.put(clZbh, "");
  311 + }
  312 + String gsFgs = map_.get("company").toString() + "_" + map_.get("bCompany").toString();
  313 + if(!(clFgs.get(clZbh).contains(gsFgs))){
  314 + clFgs.put(clZbh, clFgs.get(clZbh) + "/" + gsFgs);
  315 + }
  316 + }
  317 + }
  318 +
296 for (int x = 0; x < listpb_.size(); x++) { 319 for (int x = 0; x < listpb_.size(); x++) {
297 String type = "add"; 320 String type = "add";
298 boolean sfHydrogen = false; 321 boolean sfHydrogen = false;
@@ -308,7 +331,7 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS @@ -308,7 +331,7 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS
308 //车辆总里程 331 //车辆总里程
309 double zlc =lcMap.get(map_.get("clZbh").toString()); 332 double zlc =lcMap.get(map_.get("clZbh").toString());
310 //车辆总加氢量 333 //车辆总加氢量
311 - double zjzl = 0.0; 334 + double zjzl = 0.0, zjzl_1 = 0.0;
312 // for (int j = 0; j < ylxxList.size(); j++) { 335 // for (int j = 0; j < ylxxList.size(); j++) {
313 // Ylxxb ylxxb = ylxxList.get(j); 336 // Ylxxb ylxxb = ylxxList.get(j);
314 // if (map_.get("clZbh").toString().equals(ylxxb.getNbbm()) 337 // if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
@@ -319,11 +342,24 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS @@ -319,11 +342,24 @@ public class QlbServiceImpl extends BaseServiceImpl&lt;Qlb,Integer&gt; implements QlbS
319 for (int i = 0; i < jqlList.size(); i++) { 342 for (int i = 0; i < jqlList.size(); i++) {
320 Jql jql=jqlList.get(i); 343 Jql jql=jqlList.get(i);
321 if(map_.get("clZbh").toString().equals(jql.getNbbm()) 344 if(map_.get("clZbh").toString().equals(jql.getNbbm())
322 - &&map_.get("company").toString().equals(jql.getGsBm())  
323 - &&map_.get("bCompany").toString().equals(jql.getFgsBm())){ 345 + &&clFgs.get(map_.get("clZbh").toString()).contains(jql.getGsBm()+"_"+jql.getFgsBm())){
324 zjzl = Arith.add(zjzl,jql.getJql()); 346 zjzl = Arith.add(zjzl,jql.getJql());
325 } 347 }
326 } 348 }
  349 +
  350 + int num = 0; // 2022年12月20号要求不按车队导入,这之后导入的加注量将覆盖原加注量
  351 + for (int i = 0; i < jqlList_1.size(); i++) {
  352 + Jql jql=jqlList_1.get(i);
  353 + if(map_.get("clZbh").toString().equals(jql.getNbbm())
  354 + &&map_.get("company").toString().equals(jql.getGsBm())){
  355 + zjzl_1 = Arith.add(zjzl_1,jql.getJql());
  356 + num++;
  357 + }
  358 + }
  359 + if(num > 0){
  360 + zjzl = zjzl_1;
  361 + }
  362 +
327 Double nextJzyl = 0.0; 363 Double nextJzyl = 0.0;
328 for (int i = 0; i < listpb.size(); i++) { 364 for (int i = 0; i < listpb.size(); i++) {
329 Map<String, Object> map = listpb.get(i); 365 Map<String, Object> map = listpb.get(i);
src/main/resources/static/pages/electricity/jdl/list.html
@@ -39,24 +39,24 @@ @@ -39,24 +39,24 @@
39 id="datatable_dlb"> 39 id="datatable_dlb">
40 <thead> 40 <thead>
41 <tr role="row" class="filter"> 41 <tr role="row" class="filter">
42 - <td>公司:</td>  
43 - <td> 42 + <td width="80px">公司:</td>
  43 + <td width="160px">
44 <select class="form-control" id="gsbm" ></select> 44 <select class="form-control" id="gsbm" ></select>
45 </td> 45 </td>
46 - <td>分公司:</td>  
47 - <td>  
48 - <select class="form-control" id="fgsbm" ></select>  
49 - </td> 46 +<!-- <td>分公司:</td> -->
  47 +<!-- <td> -->
  48 +<!-- <select class="form-control" id="fgsbm" ></select> -->
  49 +<!-- </td> -->
50 <td>日期:</td> 50 <td>日期:</td>
51 - <td width="86px">  
52 - <input type="text" style="width: 80px" name="rq" id="rq"/> 51 + <td width="120px">
  52 + <input type="text" style="width: 100px" name="rq" id="rq"/>
53 </td> 53 </td>
54 - <td>内部编码:</td>  
55 - <td> 54 + <td colspan="2">内部编码:</td>
  55 + <td colspan="2">
56 <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select> 56 <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select>
57 </td> 57 </td>
58 -  
59 - <td width="20%"> 58 +
  59 + <td width="24%">
60 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px"> 60 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px">
61 <i class="fa fa-search"></i> 搜索 61 <i class="fa fa-search"></i> 搜索
62 </button> 62 </button>
@@ -104,7 +104,17 @@ @@ -104,7 +104,17 @@
104 $("#rq").datetimepicker({ 104 $("#rq").datetimepicker({
105 format: 'YYYY-MM-DD', 105 format: 'YYYY-MM-DD',
106 locale: 'zh-cn' 106 locale: 'zh-cn'
107 - }); 107 + });
  108 + var d = new Date();
  109 + d.setTime(d.getTime() - 1*1000*60*60*24);
  110 + var year = d.getFullYear();
  111 + var month = d.getMonth() + 1;
  112 + var day = d.getDate();
  113 + if(month < 10)
  114 + month = "0" + month;
  115 + if(day < 10)
  116 + day = "0" + day;
  117 + $("#rq").val(year + "-" + month + "-" + day);
108 118
109 var page = 0, initPagination; 119 var page = 0, initPagination;
110 var icheckOptions = { 120 var icheckOptions = {
@@ -120,12 +130,15 @@ @@ -120,12 +130,15 @@
120 //提交 130 //提交
121 $('tr.filter .filter-submit').on('click', function () { 131 $('tr.filter .filter-submit').on('click', function () {
122 var gsbm = $('#gsbm').val(); 132 var gsbm = $('#gsbm').val();
123 - var fgsbm = $('#fgsbm').val();  
124 - if ($("#rq").val() == "" || $("#rq").val() ==null){  
125 - layer.msg('请选择日期.');  
126 - }else if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){  
127 - layer.msg('请选择公司和分公司.');  
128 - }else { 133 +// var fgsbm = $('#fgsbm').val();
  134 + var fgsbm = -1;
  135 + if ($("#rq").val() == "" || $("#rq").val() ==null){
  136 + layer.msg('请选择日期.');
  137 +// }else if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){
  138 +// layer.msg('请选择公司和分公司.');
  139 + }else if(gsbm=="" || gsbm==null){
  140 + layer.msg('请选择公司.');
  141 + }else {
129 142
130 var params = getParams(); 143 var params = getParams();
131 144
@@ -331,9 +344,11 @@ @@ -331,9 +344,11 @@
331 $("#export").on("click", function () { 344 $("#export").on("click", function () {
332 if ($("#rq").val() != "") { 345 if ($("#rq").val() != "") {
333 var gsbm=$("#gsbm").val(); 346 var gsbm=$("#gsbm").val();
334 - var fgsbm=$("#fgsbm").val();  
335 - if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){  
336 - layer.msg('请选择公司和分公司.'); 347 +// var fgsbm=$("#fgsbm").val();
  348 +// if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){
  349 +// layer.msg('请选择公司和分公司.');
  350 + if(gsbm=="" || gsbm==null){
  351 + layer.msg('请选择公司.');
337 return; 352 return;
338 } 353 }
339 var params = getParams(); 354 var params = getParams();
@@ -348,13 +363,14 @@ @@ -348,13 +363,14 @@
348 }); 363 });
349 364
350 function getParams(){ 365 function getParams(){
351 - var gsbm=$("#gsbm").val();  
352 - var fgsbm=$("#fgsbm").val();  
353 - var cells = $('tr.filter')[0].cells 366 + var gsbm=$("#gsbm").val();
  367 +// var fgsbm=$("#fgsbm").val();
  368 + var cells = $('tr.filter')[0].cells
354 , params = {} 369 , params = {}
355 , name; 370 , name;
356 - params["gsbm"] = gsbm;  
357 - params["fgsbm"] = fgsbm; 371 + params["gsbm"] = gsbm;
  372 +// params["fgsbm"] = fgsbm;
  373 + params["fgsbm"] = '-1';
358 $.each(cells, function (i, cell) { 374 $.each(cells, function (i, cell) {
359 var items = $('input,select', cell); 375 var items = $('input,select', cell);
360 for (var j = 0, item; item = items[j++];) { 376 for (var j = 0, item; item = items[j++];) {
src/main/resources/static/pages/electricity/jdl/upload.html
@@ -48,19 +48,16 @@ @@ -48,19 +48,16 @@
48 48
49 $('#gsbm_').val($("#gsbm").val()); 49 $('#gsbm_').val($("#gsbm").val());
50 $('#gsName').val($("#gsbm").find("option:selected").text()); 50 $('#gsName').val($("#gsbm").find("option:selected").text());
51 - $('#fgsbm_').val($("#fgsbm").val());  
52 - $('#fgsName').val($("#fgsbm").find("option:selected").text()); 51 +// $('#fgsbm_').val($("#fgsbm").val());
  52 +// $('#fgsName').val($("#fgsbm").find("option:selected").text());
  53 + $('#fgsbm_').val('-1');
  54 + $('#fgsName').val('全部车队');
53 55
54 //modal 显示事件 56 //modal 显示事件
55 $('#uploadFile').on('show.bs.modal', function(){ 57 $('#uploadFile').on('show.bs.modal', function(){
56 }) 58 })
57 .modal('show'); 59 .modal('show');
58 60
59 - //提交  
60 -// $('#submit').on('click', function() {  
61 -// form.submit();  
62 -// });  
63 -  
64 $('#submit').on('click', function() { 61 $('#submit').on('click', function() {
65 var j = layer.load(2); 62 var j = layer.load(2);
66 var param = {}; 63 var param = {};
src/main/resources/static/pages/electricity/list/list.html
@@ -276,6 +276,21 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -276,6 +276,21 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
276 var fage=false; 276 var fage=false;
277 //var id = 15; 277 //var id = 15;
278 //$('.in_carpark_jzcd[data-id='+id+']', '#dl_oil_list') 278 //$('.in_carpark_jzcd[data-id='+id+']', '#dl_oil_list')
  279 +
  280 + $("#rq").datetimepicker({
  281 + format: 'YYYY-MM-DD',
  282 + locale: 'zh-cn'
  283 + });
  284 + var d = new Date();
  285 + d.setTime(d.getTime() - 1*1000*60*60*24);
  286 + var year = d.getFullYear();
  287 + var month = d.getMonth() + 1;
  288 + var day = d.getDate();
  289 + if(month < 10)
  290 + month = "0" + month;
  291 + if(day < 10)
  292 + day = "0" + day;
  293 + $("#rq").val(year + "-" + month + "-" + day);
279 294
280 $("#checkDl").on('click', function () { 295 $("#checkDl").on('click', function () {
281 if ($("#rq").val() != "") { 296 if ($("#rq").val() != "") {
@@ -449,8 +464,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -449,8 +464,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
449 if ($("#rq").val() != "") { 464 if ($("#rq").val() != "") {
450 var ylbGsdm=$("#ylbListGsdmId").val(); 465 var ylbGsdm=$("#ylbListGsdmId").val();
451 var ylbFgsdm=$("#ylbListFgsdmId").val(); 466 var ylbFgsdm=$("#ylbListFgsdmId").val();
452 - if(ylbGsdm=="" || ylbGsdm==null || ylbFgsdm=="" ||ylbFgsdm==null){  
453 - layer.msg('请选择公司和分公司.'); 467 +// if(ylbGsdm=="" || ylbGsdm==null || ylbFgsdm=="" ||ylbFgsdm==null){
  468 +// layer.msg('请选择公司和分公司.');
  469 + if(ylbGsdm=="" || ylbGsdm==null){
  470 + layer.msg('请选择公司.');
454 } else { 471 } else {
455 var params=getParamsList(); 472 var params=getParamsList();
456 var par={}; 473 var par={};
@@ -461,8 +478,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -461,8 +478,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
461 layer.msg('只能操作一天内数据.'); 478 layer.msg('只能操作一天内数据.');
462 }else{ 479 }else{
463 var i = layer.load(2); 480 var i = layer.load(2);
  481 + params["fgsdm_like"] = '';
464 $get('/dlb/obtain', params, function () { 482 $get('/dlb/obtain', params, function () {
465 layer.close(i); 483 layer.close(i);
  484 + params["fgsdm_like"] = ylbFgsdm;
466 jsDoQuery(params, true); 485 jsDoQuery(params, true);
467 }); 486 });
468 } 487 }
@@ -473,10 +492,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -473,10 +492,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
473 } 492 }
474 493
475 }) 494 })
476 - $("#rq").datetimepicker({  
477 - format: 'YYYY-MM-DD',  
478 - locale: 'zh-cn'  
479 - });  
480 495
481 var page = 0, initPagination; 496 var page = 0, initPagination;
482 var icheckOptions = { 497 var icheckOptions = {
@@ -553,7 +568,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -553,7 +568,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
553 $("#ylbListGsdmId").on("change",updateCompany); 568 $("#ylbListGsdmId").on("change",updateCompany);
554 function updateCompany(){ 569 function updateCompany(){
555 var company = $('#ylbListGsdmId').val(); 570 var company = $('#ylbListGsdmId').val();
556 - var options =""; 571 + var options = '<option value="">全部分公司</option>';
557 // = '<option value="">请选择</option>'; 572 // = '<option value="">请选择</option>';
558 for(var i = 0; i < obj.length; i++){ 573 for(var i = 0; i < obj.length; i++){
559 if(obj[i].companyCode == company){ 574 if(obj[i].companyCode == company){
@@ -563,7 +578,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -563,7 +578,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
563 } 578 }
564 } 579 }
565 } 580 }
566 - options += '<option value="">全部分公司</option>';  
567 $('#ylbListFgsdmId').html(options); 581 $('#ylbListFgsdmId').html(options);
568 initXl(); 582 initXl();
569 initCl(); 583 initCl();
src/main/resources/static/pages/forms/export/import_Jdl.xls
No preview for this file type
src/main/resources/static/pages/forms/export/import_Jql.xls
No preview for this file type
src/main/resources/static/pages/hydrogen/jql/list.html
@@ -39,24 +39,24 @@ @@ -39,24 +39,24 @@
39 id="datatable_qlb"> 39 id="datatable_qlb">
40 <thead> 40 <thead>
41 <tr role="row" class="filter"> 41 <tr role="row" class="filter">
42 - <td>公司:</td>  
43 - <td>  
44 - <select class="form-control" id="gsbm" ></select>  
45 - </td>  
46 - <td>分公司:</td>  
47 - <td>  
48 - <select class="form-control" id="fgsbm" ></select>  
49 - </td>  
50 - <td>日期:</td>  
51 - <td width="86px">  
52 - <input type="text" style="width: 80px" name="rq" id="rq"/>  
53 - </td>  
54 - <td>内部编码:</td>  
55 - <td>  
56 - <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select> 42 + <td width="80px">公司:</td>
  43 + <td width="160px">
  44 + <select class="form-control" id="gsbm" ></select>
57 </td> 45 </td>
58 -  
59 - <td width="20%"> 46 +<!-- <td>分公司:</td> -->
  47 +<!-- <td> -->
  48 +<!-- <select class="form-control" id="fgsbm" ></select> -->
  49 +<!-- </td> -->
  50 + <td>日期:</td>
  51 + <td width="120px">
  52 + <input type="text" style="width: 100px" name="rq" id="rq"/>
  53 + </td>
  54 + <td colspan="2">内部编码:</td>
  55 + <td colspan="2">
  56 + <select class="form-control" name="nbbm" id="nbbm" style="width: 120px;"></select>
  57 + </td>
  58 +
  59 + <td width="24%">
60 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px"> 60 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" style="margin-right:0px">
61 <i class="fa fa-search"></i> 搜索 61 <i class="fa fa-search"></i> 搜索
62 </button> 62 </button>
@@ -104,7 +104,17 @@ @@ -104,7 +104,17 @@
104 $("#rq").datetimepicker({ 104 $("#rq").datetimepicker({
105 format: 'YYYY-MM-DD', 105 format: 'YYYY-MM-DD',
106 locale: 'zh-cn' 106 locale: 'zh-cn'
107 - }); 107 + });
  108 + var d = new Date();
  109 + d.setTime(d.getTime() - 1*1000*60*60*24);
  110 + var year = d.getFullYear();
  111 + var month = d.getMonth() + 1;
  112 + var day = d.getDate();
  113 + if(month < 10)
  114 + month = "0" + month;
  115 + if(day < 10)
  116 + day = "0" + day;
  117 + $("#rq").val(year + "-" + month + "-" + day);
108 118
109 var page = 0, initPagination; 119 var page = 0, initPagination;
110 var icheckOptions = { 120 var icheckOptions = {
@@ -120,12 +130,15 @@ @@ -120,12 +130,15 @@
120 //提交 130 //提交
121 $('tr.filter .filter-submit').on('click', function () { 131 $('tr.filter .filter-submit').on('click', function () {
122 var gsbm = $('#gsbm').val(); 132 var gsbm = $('#gsbm').val();
123 - var fgsbm = $('#fgsbm').val();  
124 - if ($("#rq").val() == "" || $("#rq").val() ==null){  
125 - layer.msg('请选择日期.');  
126 - }else if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){  
127 - layer.msg('请选择公司和分公司.');  
128 - }else { 133 +// var fgsbm = $('#fgsbm').val();
  134 + var fgsbm = -1;
  135 + if ($("#rq").val() == "" || $("#rq").val() ==null){
  136 + layer.msg('请选择日期.');
  137 +// }else if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){
  138 +// layer.msg('请选择公司和分公司.');
  139 + }else if(gsbm=="" || gsbm==null){
  140 + layer.msg('请选择公司.');
  141 + }else {
129 142
130 var params = getParams(); 143 var params = getParams();
131 144
@@ -329,11 +342,13 @@ @@ -329,11 +342,13 @@
329 342
330 //导出 343 //导出
331 $("#export").on("click", function () { 344 $("#export").on("click", function () {
332 - if ($("#rq").val() != "") {  
333 - var gsbm=$("#gsbm").val();  
334 - var fgsbm=$("#fgsbm").val();  
335 - if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){  
336 - layer.msg('请选择公司和分公司.'); 345 + if ($("#rq").val() != "") {
  346 + var gsbm=$("#gsbm").val();
  347 + var fgsbm=$("#fgsbm").val();
  348 +// if(gsbm=="" || gsbm==null || fgsbm=="" ||fgsbm==null){
  349 +// layer.msg('请选择公司和分公司.');
  350 + if(gsbm=="" || gsbm==null){
  351 + layer.msg('请选择公司.');
337 return; 352 return;
338 } 353 }
339 var params = getParams(); 354 var params = getParams();
@@ -348,14 +363,15 @@ @@ -348,14 +363,15 @@
348 }); 363 });
349 364
350 function getParams(){ 365 function getParams(){
351 - var gsbm=$("#gsbm").val();  
352 - var fgsbm=$("#fgsbm").val();  
353 - var cells = $('tr.filter')[0].cells 366 + var gsbm=$("#gsbm").val();
  367 +// var fgsbm=$("#fgsbm").val();
  368 + var cells = $('tr.filter')[0].cells
354 , params = {} 369 , params = {}
355 , name; 370 , name;
356 - params["gsbm"] = gsbm;  
357 - params["fgsbm"] = fgsbm;  
358 - $.each(cells, function (i, cell) { 371 + params["gsbm"] = gsbm;
  372 +// params["fgsbm"] = fgsbm;
  373 + params["fgsbm"] = '-1';
  374 + $.each(cells, function (i, cell) {
359 var items = $('input,select', cell); 375 var items = $('input,select', cell);
360 for (var j = 0, item; item = items[j++];) { 376 for (var j = 0, item; item = items[j++];) {
361 name = $(item).attr('name'); 377 name = $(item).attr('name');
src/main/resources/static/pages/hydrogen/jql/upload.html
@@ -48,8 +48,10 @@ @@ -48,8 +48,10 @@
48 48
49 $('#gsbm_').val($("#gsbm").val()); 49 $('#gsbm_').val($("#gsbm").val());
50 $('#gsName').val($("#gsbm").find("option:selected").text()); 50 $('#gsName').val($("#gsbm").find("option:selected").text());
51 - $('#fgsbm_').val($("#fgsbm").val());  
52 - $('#fgsName').val($("#fgsbm").find("option:selected").text()); 51 +// $('#fgsbm_').val($("#fgsbm").val());
  52 +// $('#fgsName').val($("#fgsbm").find("option:selected").text());
  53 + $('#fgsbm_').val('-1');
  54 + $('#fgsName').val('全部车队');
53 55
54 //modal 显示事件 56 //modal 显示事件
55 $('#uploadFile').on('show.bs.modal', function(){ 57 $('#uploadFile').on('show.bs.modal', function(){
src/main/resources/static/pages/hydrogen/list/list.html
@@ -274,6 +274,21 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -274,6 +274,21 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
274 <script> 274 <script>
275 $(function () { 275 $(function () {
276 var fage=false; 276 var fage=false;
  277 +
  278 + $("#rq").datetimepicker({
  279 + format: 'YYYY-MM-DD',
  280 + locale: 'zh-cn'
  281 + });
  282 + var d = new Date();
  283 + d.setTime(d.getTime() - 1*1000*60*60*24);
  284 + var year = d.getFullYear();
  285 + var month = d.getMonth() + 1;
  286 + var day = d.getDate();
  287 + if(month < 10)
  288 + month = "0" + month;
  289 + if(day < 10)
  290 + day = "0" + day;
  291 + $("#rq").val(year + "-" + month + "-" + day);
277 292
278 $("#checkQl").on('click', function () { 293 $("#checkQl").on('click', function () {
279 if ($("#rq").val() != "") { 294 if ($("#rq").val() != "") {
@@ -387,8 +402,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -387,8 +402,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
387 if ($("#rq").val() != "") { 402 if ($("#rq").val() != "") {
388 var ylbGsdm=$("#ylbListGsdmId").val(); 403 var ylbGsdm=$("#ylbListGsdmId").val();
389 var ylbFgsdm=$("#ylbListFgsdmId").val(); 404 var ylbFgsdm=$("#ylbListFgsdmId").val();
390 - if(ylbGsdm=="" || ylbGsdm==null || ylbFgsdm=="" ||ylbFgsdm==null){  
391 - layer.msg('请选择公司和分公司.'); 405 +// if(ylbGsdm=="" || ylbGsdm==null || ylbFgsdm=="" ||ylbFgsdm==null){
  406 +// layer.msg('请选择公司和分公司.');
  407 + if(ylbGsdm=="" || ylbGsdm==null){
  408 + layer.msg('请选择公司.');
392 } else { 409 } else {
393 var params=getParamsList(); 410 var params=getParamsList();
394 $get('/ylb/checkDate',params,function(status){ 411 $get('/ylb/checkDate',params,function(status){
@@ -396,8 +413,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -396,8 +413,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
396 layer.msg('只能操作三天内数据.'); 413 layer.msg('只能操作三天内数据.');
397 }else{ 414 }else{
398 var i = layer.load(2); 415 var i = layer.load(2);
  416 + params["fgsdm_like"] = '';
399 $get('/qlb/obtain', params, function () { 417 $get('/qlb/obtain', params, function () {
400 layer.close(i); 418 layer.close(i);
  419 + params["fgsdm_like"] = ylbFgsdm;
401 jsDoQuery(params, true); 420 jsDoQuery(params, true);
402 }); 421 });
403 } 422 }
@@ -408,10 +427,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -408,10 +427,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
408 } 427 }
409 428
410 }) 429 })
411 - $("#rq").datetimepicker({  
412 - format: 'YYYY-MM-DD',  
413 - locale: 'zh-cn'  
414 - });  
415 430
416 var page = 0, initPagination; 431 var page = 0, initPagination;
417 var icheckOptions = { 432 var icheckOptions = {
@@ -486,7 +501,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -486,7 +501,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
486 $("#ylbListGsdmId").on("change",updateCompany); 501 $("#ylbListGsdmId").on("change",updateCompany);
487 function updateCompany(){ 502 function updateCompany(){
488 var company = $('#ylbListGsdmId').val(); 503 var company = $('#ylbListGsdmId').val();
489 - var options =""; 504 + var options = '<option value="">全部分公司</option>';
490 // = '<option value="">请选择</option>'; 505 // = '<option value="">请选择</option>';
491 for(var i = 0; i < obj.length; i++){ 506 for(var i = 0; i < obj.length; i++){
492 if(obj[i].companyCode == company){ 507 if(obj[i].companyCode == company){
@@ -496,7 +511,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -496,7 +511,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
496 } 511 }
497 } 512 }
498 } 513 }
499 - options += '<option value="">全部分公司</option>';  
500 $('#ylbListFgsdmId').html(options); 514 $('#ylbListFgsdmId').html(options);
501 initXl(); 515 initXl();
502 initCl(); 516 initCl();
src/main/resources/static/pages/oil/jyglList.html
@@ -27,29 +27,6 @@ @@ -27,29 +27,6 @@
27 </button> &nbsp;&nbsp; 27 </button> &nbsp;&nbsp;
28 <!-- <a class="btn btn-circle blue" href="cylAdd.html" data-pjax><i class="fa fa-plus"></i> 添加</a> --> 28 <!-- <a class="btn btn-circle blue" href="cylAdd.html" data-pjax><i class="fa fa-plus"></i> 添加</a> -->
29 <button type="button" class="btn btn-circle blue" id="saveButton"><i class="fa fa-minus-square"></i> 保存</button> 29 <button type="button" class="btn btn-circle blue" id="saveButton"><i class="fa fa-minus-square"></i> 保存</button>
30 - <!-- <button type="button" class="btn btn-circle red" disabled="disabled" id="removeButton"><i class="fa fa-trash"></i> 删除用户</button> -->  
31 - <!-- <div class="btn-group">  
32 - <a class="btn red btn-outline btn-circle" href="javascript:;"  
33 - data-toggle="dropdown"> <i class="fa fa-share"></i> <span  
34 - class="hidden-xs"> 系统工具 </span> <i class="fa fa-angle-down"></i>  
35 - </a>  
36 - <ul class="dropdown-menu pull-right" id="datatable_ajax_tools">  
37 - <li><a href="javascript:;" data-action="0"  
38 - class="tool-action"> <i class="fa fa-print"></i> 打印  
39 - </a></li>  
40 - <li><a href="javascript:;" data-action="1"  
41 - class="tool-action"> <i class="fa fa-copy"></i> 复制  
42 - </a></li>  
43 - <li><a href="javascript:;" data-action="3"  
44 - class="tool-action"> <i class="fa fa-file-excel-o"></i>  
45 - 导出Excel  
46 - </a></li>  
47 - <li class="divider"></li>  
48 - <li><a href="javascript:;" data-action="5"  
49 - class="tool-action"> <i class="fa fa-refresh"></i> 刷新数据  
50 - </a></li>  
51 - </ul>  
52 - </div> -->  
53 </div> 30 </div>
54 </div> 31 </div>
55 <div class="portlet-body"> 32 <div class="portlet-body">
@@ -62,7 +39,7 @@ @@ -62,7 +39,7 @@
62 <th width="2%">#</th> 39 <th width="2%">#</th>
63 <th width="10%">日期</th> 40 <th width="10%">日期</th>
64 <th width="8%">公司</th> 41 <th width="8%">公司</th>
65 - <th width="8%">分公司</th> 42 +<!-- <th width="8%">分公司</th> -->
66 <th width="8%">线路</th> 43 <th width="8%">线路</th>
67 <th width="8%">车辆</th> 44 <th width="8%">车辆</th>
68 <th width="14%">驾驶员</th> 45 <th width="14%">驾驶员</th>
@@ -82,9 +59,9 @@ @@ -82,9 +59,9 @@
82 <td> 59 <td>
83 <select class="form-control" name="gsdm_like" id="jyglListGsdmId" ></select> 60 <select class="form-control" name="gsdm_like" id="jyglListGsdmId" ></select>
84 </td> 61 </td>
85 - <td>  
86 - <select class="form-control" name="fgsdm_like" id="jyglListFgsdmId" ></select>  
87 - </td> 62 +<!-- <td> -->
  63 +<!-- <select class="form-control" name="fgsdm_like" id="jyglListFgsdmId" ></select> -->
  64 +<!-- </td> -->
88 <td> 65 <td>
89 <select class="form-control" name="line_like" id="line" style="width: 120px;"></select> 66 <select class="form-control" name="line_like" id="line" style="width: 120px;"></select>
90 </td> 67 </td>
@@ -94,9 +71,6 @@ @@ -94,9 +71,6 @@
94 <td></td> 71 <td></td>
95 <td></td> 72 <td></td>
96 <td></td> 73 <td></td>
97 -<!-- <td></td> -->  
98 -<!-- <td></td> -->  
99 -<!-- <td></td> -->  
100 <td></td> 74 <td></td>
101 <td> 75 <td>
102 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" > 76 <button class="btn btn-sm green btn-outline filter-submit margin-bottom" >
@@ -128,9 +102,6 @@ @@ -128,9 +102,6 @@
128 <td> 102 <td>
129 {{obj.gsname}} 103 {{obj.gsname}}
130 </td> 104 </td>
131 - <td>  
132 - {{obj.fgsname}}  
133 - </td>  
134 <td>{{obj.linename}}</td> 105 <td>{{obj.linename}}</td>
135 <td> 106 <td>
136 {{obj.nbbm}} 107 {{obj.nbbm}}
@@ -188,24 +159,18 @@ $(function(){ @@ -188,24 +159,18 @@ $(function(){
188 var id=$('.in_carpark_id[data-id='+nbbm+']', '#ll_jygl_list').val(); 159 var id=$('.in_carpark_id[data-id='+nbbm+']', '#ll_jygl_list').val();
189 var jsy=$('.in_carpark_jsy[data-id='+nbbm+']', '#ll_jygl_list').val(); 160 var jsy=$('.in_carpark_jsy[data-id='+nbbm+']', '#ll_jygl_list').val();
190 var jzl=$('.in_carpark_jzl[data-id='+nbbm+']','#ll_jygl_list').val(); 161 var jzl=$('.in_carpark_jzl[data-id='+nbbm+']','#ll_jygl_list').val();
191 - /* var stationid=$('.in_carpark_stationid[data-id='+nbbm+']','#ll_jygl_list').val();  
192 - var nylx=$('.in_carpark_nylx[data-id='+nbbm+']','#ll_jygl_list').val();  
193 - var jyggh=$('.in_carpark_jyggh[data-id='+nbbm+']','#ll_jygl_list').val(); */  
194 var bz=$('.in_carpark_bz[data-id='+nbbm+']','#ll_jygl_list').val(); 162 var bz=$('.in_carpark_bz[data-id='+nbbm+']','#ll_jygl_list').val();
195 map['nbbm']=nbbm; 163 map['nbbm']=nbbm;
196 map['id']=id; 164 map['id']=id;
197 map['jsy']=jsy; 165 map['jsy']=jsy;
198 map['jzl']=jzl; 166 map['jzl']=jzl;
199 -// map['stationid']=stationid;  
200 -// map['nylx']=nylx;  
201 -// map['jyggh']=jyggh;  
202 map['bz']=bz; 167 map['bz']=bz;
203 ylArray.push(map); 168 ylArray.push(map);
204 }) 169 })
205 var params = {}; 170 var params = {};
206 params['ylbList']=JSON.stringify(ylArray); 171 params['ylbList']=JSON.stringify(ylArray);
207 params['gsbm']=$("#jyglListGsdmId").val(); 172 params['gsbm']=$("#jyglListGsdmId").val();
208 - params['fgsbm']=$("#jyglListFgsdmId").val(); 173 +// params['fgsbm']=$("#jyglListFgsdmId").val();
209 params['rq']=$("#rq").val(); 174 params['rq']=$("#rq").val();
210 var i = layer.load(2); 175 var i = layer.load(2);
211 $post('/cwjy/savejzl', params, function(){ 176 $post('/cwjy/savejzl', params, function(){
@@ -230,6 +195,17 @@ $(function(){ @@ -230,6 +195,17 @@ $(function(){
230 format : 'YYYY-MM-DD', 195 format : 'YYYY-MM-DD',
231 locale : 'zh-cn' 196 locale : 'zh-cn'
232 }); 197 });
  198 + var d = new Date();
  199 + d.setTime(d.getTime() - 1*1000*60*60*24);
  200 + var year = d.getFullYear();
  201 + var month = d.getMonth() + 1;
  202 + var day = d.getDate();
  203 + if(month < 10)
  204 + month = "0" + month;
  205 + if(day < 10)
  206 + day = "0" + day;
  207 + $("#rq").val(year + "-" + month + "-" + day);
  208 +
233 var page = 0, initPagination; 209 var page = 0, initPagination;
234 var icheckOptions = { 210 var icheckOptions = {
235 radioClass: 'icheckbox_flat-blue', 211 radioClass: 'icheckbox_flat-blue',
@@ -308,11 +284,13 @@ $(function(){ @@ -308,11 +284,13 @@ $(function(){
308 //提交 284 //提交
309 $('tr.filter .filter-submit').on('click', function(){ 285 $('tr.filter .filter-submit').on('click', function(){
310 var jyglGsdm=$("#jyglListGsdmId").val(); 286 var jyglGsdm=$("#jyglListGsdmId").val();
311 - var jyglFgsdm=$("#jyglListFgsdmId").val(); 287 +// var jyglFgsdm=$("#jyglListFgsdmId").val();
312 if($("#rq").val()==""||$("#rq").val()==null){ 288 if($("#rq").val()==""||$("#rq").val()==null){
313 layer.msg('请选择日期.'); 289 layer.msg('请选择日期.');
314 - }else if(jyglGsdm=="" || jyglGsdm==null || jyglFgsdm=="" || jyglFgsdm==null){  
315 - layer.msg('请选择公司和分公司.'); 290 +// }else if(jyglGsdm=="" || jyglGsdm==null || jyglFgsdm=="" || jyglFgsdm==null){
  291 +// layer.msg('请选择公司和分公司.');
  292 + }else if(jyglGsdm=="" || jyglGsdm==null){
  293 + layer.msg('请选择公司.');
316 }else{ 294 }else{
317 var cells = $('tr.filter')[0].cells 295 var cells = $('tr.filter')[0].cells
318 ,params = {} 296 ,params = {}
@@ -326,6 +304,9 @@ $(function(){ @@ -326,6 +304,9 @@ $(function(){
326 } 304 }
327 } 305 }
328 }); 306 });
  307 +
  308 +// params['fgsdm_like'] = jyglFgsdm;
  309 +
329 page = 0; 310 page = 0;
330 jsDoQuery(params, true); 311 jsDoQuery(params, true);
331 } 312 }
@@ -343,27 +324,7 @@ $(function(){ @@ -343,27 +324,7 @@ $(function(){
343 params['order'] = 'nbbm'; 324 params['order'] = 'nbbm';
344 params['page'] = page; 325 params['page'] = page;
345 params['rq']=$("#rq").val(); 326 params['rq']=$("#rq").val();
346 -// params['type']='1';  
347 var i = layer.load(2); 327 var i = layer.load(2);
348 - /* var jyglGsdm=$("#jyglListGsdmId").val();  
349 - var jyglFgsdm=$("#jyglListFgsdmId").val();  
350 - if(jyglGsdm=="" || jyglGsdm==null){  
351 - params['gsdm_in']=gsqx;  
352 - params['fgsdm_in']=fgsqx;  
353 - }else{  
354 - if(jyglFgsdm==''||jyglFgsdm==null){  
355 - var fgsqx1='';  
356 - for(var i = 0; i < obj.length; i++){  
357 - if(obj[i].companyCode == jyglGsdm){  
358 - var children = obj[i].children;  
359 - for(var j = 0; j < children.length; j++){  
360 - fgsqx1 +=children[j].code+",";  
361 - }  
362 - }  
363 - }  
364 - params['fgsdm_in']=fgsqx1;  
365 - }  
366 - } */  
367 $get('/cwjy/cwjyList' ,params, function(data){ 328 $get('/cwjy/cwjyList' ,params, function(data){
368 $.each(data, function(i, obj) { 329 $.each(data, function(i, obj) {
369 obj.yyrq = $("#rq").val(); 330 obj.yyrq = $("#rq").val();
@@ -371,13 +332,6 @@ $(function(){ @@ -371,13 +332,6 @@ $(function(){
371 var bodyHtm = template('jygl_list_temp', {list: data}); 332 var bodyHtm = template('jygl_list_temp', {list: data});
372 $('#datatable_cwjy tbody').html(bodyHtm); 333 $('#datatable_cwjy tbody').html(bodyHtm);
373 iCheckChange(); 334 iCheckChange();
374 -// .find('.icheck').iCheck(icheckOptions)  
375 -// .on('ifChanged', iCheckChange);  
376 -// if(pagination && data.dataList.length > 0){  
377 -// //重新分页  
378 -// initPagination = true;  
379 -// showPagination(data);  
380 -// }  
381 layer.close(i); 335 layer.close(i);
382 }); 336 });
383 } 337 }
src/main/resources/static/pages/oil/list_ph.html
@@ -652,8 +652,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -652,8 +652,10 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
652 layer.msg('只能操作一天内数据.'); 652 layer.msg('只能操作一天内数据.');
653 }else{ 653 }else{
654 var i = layer.load(2); 654 var i = layer.load(2);
  655 + params["fgsdm_like"] = '';
655 $get('/ylb/obtain', params, function () { 656 $get('/ylb/obtain', params, function () {
656 layer.close(i); 657 layer.close(i);
  658 + params["fgsdm_like"] = $("#ylbListFgsdmId").val();
657 jsDoQuery(params, true); 659 jsDoQuery(params, true);
658 }); 660 });
659 } 661 }
@@ -667,6 +669,16 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -667,6 +669,16 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
667 format: 'YYYY-MM-DD', 669 format: 'YYYY-MM-DD',
668 locale: 'zh-cn' 670 locale: 'zh-cn'
669 }); 671 });
  672 + var d = new Date();
  673 + d.setTime(d.getTime() - 1*1000*60*60*24);
  674 + var year = d.getFullYear();
  675 + var month = d.getMonth() + 1;
  676 + var day = d.getDate();
  677 + if(month < 10)
  678 + month = "0" + month;
  679 + if(day < 10)
  680 + day = "0" + day;
  681 + $("#rq").val(year + "-" + month + "-" + day);
670 682
671 var page = 0, initPagination; 683 var page = 0, initPagination;
672 var icheckOptions = { 684 var icheckOptions = {
@@ -718,7 +730,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -718,7 +730,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
718 $("#ylbListGsdmId").on("change",updateCompany); 730 $("#ylbListGsdmId").on("change",updateCompany);
719 function updateCompany(){ 731 function updateCompany(){
720 var company = $('#ylbListGsdmId').val(); 732 var company = $('#ylbListGsdmId').val();
721 - var options =""; 733 + var options ='<option value="">全部分公司</option>';
722 for(var i = 0; i < obj.length; i++){ 734 for(var i = 0; i < obj.length; i++){
723 if(obj[i].companyCode == company){ 735 if(obj[i].companyCode == company){
724 var children = obj[i].children; 736 var children = obj[i].children;
@@ -727,7 +739,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -727,7 +739,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
727 } 739 }
728 } 740 }
729 } 741 }
730 - options += '<option value="">全部分公司</option>';  
731 $('#ylbListFgsdmId').html(options); 742 $('#ylbListFgsdmId').html(options);
732 initXl(); 743 initXl();
733 initCl(); 744 initCl();