Commit ac11d6f1746daf88d800e6080fdf4ea29335990d

Authored by 廖磊
1 parent 62a338a8

车卡不符添加分公司查询

事后修改路单自动计算油账
src/main/java/com/bsth/controller/oil/YlbController.java
@@ -288,4 +288,22 @@ public class YlbController extends BaseController<Ylb, Integer>{ @@ -288,4 +288,22 @@ public class YlbController extends BaseController<Ylb, Integer>{
288 return resList; 288 return resList;
289 289
290 } 290 }
  291 +
  292 + /*
  293 + * 历史修改行车路单后重新统计油量信息 (传参:line --线路编码 date --日期)
  294 + */
  295 +
  296 + @RequestMapping(value = "/updateHistory",method = RequestMethod.POST)
  297 + public Map<String, Object> updateHistory(@RequestParam Map<String, Object> map) throws Exception{
  298 + Map<String, Object> list =new HashMap<String, Object>();
  299 + try {
  300 + list = yblService.updateHistory(map);
  301 + } catch (Exception e) {
  302 + // TODO Auto-generated catch block
  303 + throw e;
  304 + }
  305 + return list;
  306 + }
  307 +
  308 +
291 } 309 }
src/main/java/com/bsth/entity/oil/YlxxbUpdate.java
@@ -31,6 +31,7 @@ public class YlxxbUpdate { @@ -31,6 +31,7 @@ public class YlxxbUpdate {
31 private Date xgrq; 31 private Date xgrq;
32 private String xgr; 32 private String xgr;
33 private String tj; 33 private String tj;
  34 + private Integer zt;
34 public Integer getId() { 35 public Integer getId() {
35 return id; 36 return id;
36 } 37 }
@@ -103,8 +104,11 @@ public class YlxxbUpdate { @@ -103,8 +104,11 @@ public class YlxxbUpdate {
103 public void setTj(String tj) { 104 public void setTj(String tj) {
104 this.tj = tj; 105 this.tj = tj;
105 } 106 }
106 -  
107 -  
108 - 107 + public Integer getZt() {
  108 + return zt;
  109 + }
  110 + public void setZt(Integer zt) {
  111 + this.zt = zt;
  112 + }
109 113
110 } 114 }
src/main/java/com/bsth/service/oil/DlbService.java
@@ -26,6 +26,8 @@ public interface DlbService extends BaseService&lt;Dlb, Integer&gt;{ @@ -26,6 +26,8 @@ public interface DlbService extends BaseService&lt;Dlb, Integer&gt;{
26 Map<String, Object> saveDlb(Dlb t); 26 Map<String, Object> saveDlb(Dlb t);
27 27
28 Map<String, Object> deleteIds(Map<String, Object> map) throws Exception; 28 Map<String, Object> deleteIds(Map<String, Object> map) throws Exception;
29 - 29 +
  30 + Map<String, List<Dlb>> updeteHistory(List<Map<String, Object>> list,String date,
  31 + String gsdm,String fgsdm,String line) ;
30 32
31 } 33 }
src/main/java/com/bsth/service/oil/YlbService.java
@@ -25,4 +25,7 @@ public interface YlbService extends BaseService&lt;Ylb, Integer&gt;{ @@ -25,4 +25,7 @@ public interface YlbService extends BaseService&lt;Ylb, Integer&gt;{
25 25
26 Map<String, Object> deleteIds(Map<String, Object> map) throws Exception; 26 Map<String, Object> deleteIds(Map<String, Object> map) throws Exception;
27 27
  28 + Map<String, Object> updateHistory(Map<String, Object> map) throws Exception;
  29 +
  30 +
28 } 31 }
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
@@ -214,181 +214,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -214,181 +214,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
214 } 214 }
215 return result; 215 return result;
216 } 216 }
217 - /**  
218 - * 获取进存电信息  
219 - * @Transactional 回滚事物  
220 - */  
221 - /*@Transactional  
222 - @Override  
223 - public Map<String, Object> obtain(Map<String, Object> map2) {  
224 - List<Cars> carsList=carsRepository.findCars();  
225 - Map<String, Boolean> carsMap=new HashMap<String, Boolean>();  
226 - for (int i = 0; i < carsList.size(); i++) {  
227 - Cars c=carsList.get(i);  
228 - carsMap.put(c.getInsideCode(), c.getSfdc());  
229 - }  
230 - String gsbm="";  
231 - if(map2.get("ssgsdm_like")!=null){  
232 - gsbm=map2.get("ssgsdm_like").toString();  
233 - }  
234 -  
235 - String nbbm="";  
236 - if(map2.get("nbbm_eq")!=null){  
237 - nbbm=map2.get("nbbm_eq").toString();  
238 - }  
239 - String fgsbm="";  
240 - if(map2.get("fgsdm_like")!=null){  
241 - fgsbm=map2.get("fgsdm_like").toString();  
242 - }  
243 -  
244 - String rq=map2.get("rq").toString();  
245 - String line="";  
246 - if(map2.get("xlbm_eq")!=null){  
247 - line=map2.get("xlbm_eq").toString();  
248 - }  
249 -  
250 - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");  
251 - //保留两位小数  
252 - DecimalFormat df = new DecimalFormat("#.00");  
253 - // TODO Auto-generated method stub  
254 - Map<String, Object> newMap=new HashMap<String,Object>();  
255 - //当天DLB信息  
256 - List<Dlb> dlList=repository.obtainDl(rq, gsbm, fgsbm, line, nbbm, "nbbm");  
257 - //当天YLXXB信息  
258 - List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq,1,gsbm);  
259 - //当天加电信息表  
260 - List<Jdl> jdlList=jdlRepository.JdlList(rq);  
261 - //前一天所有车辆最后进场班次信息  
262 - List<Dlb> dlListBe=repository.obtainYlbefore(rq, gsbm, fgsbm, line, nbbm);  
263 - List<Cdl> cdyList=cdlRepository.obtainCdl();  
264 - //从排班表中计算出行驶的总里程  
265 - List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line, rq, gsbm, fgsbm, "", nbbm);  
266 - List<Dlb> addList=new ArrayList<Dlb>();  
267 - List<Dlb> updateList=new ArrayList<Dlb>();  
268 - for(int x=0;x<listpb.size();x++){  
269 - String type="add";  
270 - boolean sfdc=false;  
271 - Map<String, Object> map=listpb.get(x);  
272 - if (carsMap.get(map.get("clZbh").toString())!=null) {  
273 - sfdc= carsMap.get(map.get("clZbh").toString());  
274 - }else{  
275 - sfdc=false;  
276 - }  
277 - if(sfdc){  
278 - //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)  
279 - Dlb t=new Dlb();  
280 - for(int k=0;k<dlList.size();k++){  
281 - Dlb t1=dlList.get(k);  
282 - if(t1.getNbbm().equals(map.get("clZbh").toString())  
283 - &&t1.getJsy().equals(map.get("jGh").toString())  
284 - &&t1.getXlbm().equals(map.get("xlBm").toString()))  
285 - {  
286 - t=t1;  
287 - type="update";  
288 - }  
289 - }  
290 - try {  
291 - //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量  
292 - Double jzl=0.0;  
293 - if(map.get("seqNumber").toString().equals("1")){  
294 - boolean fage=true;  
295 - for (int i = 0; i < dlListBe.size(); i++) {  
296 - Dlb dlb=dlListBe.get(i);  
297 - if(map.get("clZbh").toString().equals(dlb.getNbbm())){  
298 - t.setCzcd(dlb.getJzcd());  
299 - fage=false;  
300 - break;  
301 - }  
302 - }  
303 - if(fage){  
304 - for (int y = 0; y < cdyList.size(); y++) {  
305 - Cdl cdl=cdyList.get(y);  
306 - if(map.get("clZbh").toString().equals(cdl.getNbbm())){  
307 - t.setCzcd(cdl.getClcd()==null?0:cdl.getClcd());  
308 - fage=false;  
309 - break;  
310 - }  
311 - }  
312 - }  
313 - if(fage){  
314 - t.setCzcd(0.0);  
315 - }  
316 -  
317 - //  
318 - for (int i = 0; i < jdlList.size(); i++) {  
319 - Jdl jdl=jdlList.get(i);  
320 - if(map.get("clZbh").toString().equals(jdl.getNbbm())  
321 - &&map.get("jGh").toString().equals(jdl.getJsy())  
322 - &&map.get("bCompany").toString().equals(jdl.getFgsBm())){  
323 - jzl+=jdl.getJdl();  
324 - }  
325 - }  
326 - }  
327 -  
328 -  
329 - //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)  
330 - for(int j=0;j<ylxxList.size();j++){  
331 - Ylxxb ylxxb= ylxxList.get(j);  
332 - if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){  
333 - jzl+=ylxxb.getJzl();  
334 - }  
335 - }  
336 -  
337 - t.setCdl(jzl);  
338 -// if(type.equals("add")){  
339 - t.setHd(jzl);  
340 - t.setJzcd(t.getCzcd());  
341 -// }  
342 -  
343 - t.setNbbm(map.get("clZbh").toString());  
344 - t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());  
345 - t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));  
346 - t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());  
347 - t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));  
348 - t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());  
349 - t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());  
350 - t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());  
351 - t.setRq(sdf.parse(rq));  
352 - t.setCreatetime(new Date());  
353 - if(type.equals("add")){  
354 - addList.add(t);  
355 - }else{  
356 - updateList.add(t);  
357 - }  
358 - newMap.put("status", ResponseCode.SUCCESS);  
359 - } catch (ParseException e) {  
360 - // TODO Auto-generated catch block  
361 - newMap.put("status", ResponseCode.ERROR);  
362 - e.printStackTrace();  
363 - }  
364 - }  
365 - }  
366 - try {  
367 - if(addList.size()>0){  
368 - try{  
369 - new BatchSaveUtils<Dlb>().saveList(addList, Dlb.class);  
370 - } catch (Exception e) {  
371 - // TODO: handle exception  
372 - if(e.getMessage().indexOf("PK_DLB_UK")>0){  
373 - newMap.put("fage", "存在相同数据,数据已经过滤");  
374 - logger.info("获取:存在相同数据,数据已经过滤");  
375 - }  
376 - }  
377 - }  
378 -  
379 - if(updateList.size()>0){  
380 - for (int i = 0; i < updateList.size(); i++) {  
381 - repository.save(updateList.get(i));  
382 - }  
383 - }  
384 - newMap.put("status", ResponseCode.SUCCESS);  
385 - }  
386 - catch (Exception e) {  
387 - // TODO: handle exception  
388 - newMap.put("status", ResponseCode.ERROR);  
389 - }  
390 - return newMap;  
391 - }*/  
392 217
393 /** 218 /**
394 * 获取进存油信息 219 * 获取进存油信息
@@ -640,6 +465,7 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -640,6 +465,7 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
640 t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString()); 465 t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
641 t.setRq(sdf.parse(rq)); 466 t.setRq(sdf.parse(rq));
642 t.setLp(map.get("lpName").toString()); 467 t.setLp(map.get("lpName").toString());
  468 + t.setCdl(Arith.add(t.getCdl(), t.getSh()));
643 if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){ 469 if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
644 if(type.equals("add")){ 470 if(type.equals("add")){
645 t.setCreatetime(date); 471 t.setCreatetime(date);
@@ -649,7 +475,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -649,7 +475,6 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
649 updateList.add(t); 475 updateList.add(t);
650 } 476 }
651 } 477 }
652 - t.setCdl(Arith.add(t.getCdl(), t.getSh()));  
653 newMap.put("status", ResponseCode.SUCCESS); 478 newMap.put("status", ResponseCode.SUCCESS);
654 } 479 }
655 } 480 }
@@ -1143,6 +968,208 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS @@ -1143,6 +968,208 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
1143 } 968 }
1144 return maps; 969 return maps;
1145 } 970 }
  971 +
  972 + @Override
  973 + public Map<String, List<Dlb>> updeteHistory(List<Map<String, Object>> listpbDc,String date,
  974 + String gsdm,String fgsdm,String line) {
  975 + // TODO Auto-generated method stub
  976 + Map<String, List<Dlb>> mapList=new HashMap<String,List<Dlb>>();
  977 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  978 + // 保留两位小数
  979 + DecimalFormat df = new DecimalFormat("#.00");
  980 + List<Dlb> dlbList=this.listOrderBy(date,gsdm,fgsdm,line,"","nbbm");
  981 + List<Dlb> dlbList_upd=new ArrayList<Dlb>();
  982 + List<Dlb> dlbList_del=new ArrayList<Dlb>();
  983 + try{
  984 + for (int j = 0; j < dlbList.size(); j++) {
  985 + Dlb t=dlbList.get(j);
  986 + boolean fage=true;
  987 + for (int i = 0; i < listpbDc.size(); i++) {
  988 + Map<String, Object> m = listpbDc.get(i);
  989 + if(t.getNbbm().equals(m.get("clZbh").toString())
  990 + &&t.getJsy().equals(m.get("jGh").toString())
  991 + &&t.getXlbm().equals(m.get("xlBm").toString())
  992 + &&t.getLp().equals(m.get("lpName").toString())){
  993 + //该条记录不用删除
  994 + fage =false;
  995 + dlbList_upd.add(t);
  996 + }
  997 + }
  998 + if(fage){
  999 + dlbList_del.add(t);
  1000 + }
  1001 + }
  1002 + mapList.put("delList", dlbList_del);
  1003 + Map<String, Double> lcMap=new HashMap<String,Double>();
  1004 + for (int i = 0; i < listpbDc.size(); i++) {
  1005 + String cl=listpbDc.get(i).get("clZbh").toString();
  1006 + Double lc= listpbDc.get(i).get("totalKilometers") == null ? 0.0
  1007 + : Double.parseDouble(listpbDc.get(i).get("totalKilometers").toString());
  1008 + if(lcMap.get(cl)==null){
  1009 + lcMap.put(cl, lc);
  1010 + }else{
  1011 + double lc_=lcMap.get(cl);
  1012 + lcMap.remove(cl);
  1013 + lcMap.put(cl, Arith.add(lc, lc_));
  1014 + }
  1015 + }
  1016 + Map<String, Double> shMap=new HashMap<String,Double>();
  1017 + for (int i = 0; i < dlbList_upd.size(); i++) {
  1018 + Dlb dlb=dlbList_upd.get(i);
  1019 + String cl=dlb.getNbbm();
  1020 + if(shMap.get(cl)==null){
  1021 + shMap.put(cl, dlb.getSh());
  1022 + }else{
  1023 + double sh=shMap.get(cl);
  1024 + shMap.remove(cl);
  1025 + shMap.put(cl, Arith.add(sh, dlb.getSh()));
  1026 + }
  1027 + }
  1028 + List<Jdl> jdlList=jdlRepository.JdlList(date);
  1029 + List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(date, 0,gsdm);
  1030 + Map<String, Object> newMap_=new HashMap<String,Object>();
  1031 + Map<String, Object> cMap=new HashMap<String, Object>();
  1032 + List<Map<String, Object>> listpb_=listpbDc;
  1033 + Collections.sort(listpbDc,new NbbmJcsxMap());
  1034 + List<Dlb> updateDlb=new ArrayList<Dlb>();
  1035 + for (int x = 0; x < listpb_.size(); x++) {
  1036 + String type = "add";
  1037 + Map<String, Object> map_ = listpb_.get(x);
  1038 + if(newMap_.get(map_.get("clZbh").toString())==null){
  1039 + newMap_.put(map_.get("clZbh").toString(), map_.get("clZbh").toString());
  1040 + //车辆总里程
  1041 + double zlc =lcMap.get(map_.get("clZbh").toString());
  1042 + //车辆总加电量
  1043 + double zjzl = 0.0;
  1044 + for (int j = 0; j < ylxxList.size(); j++) {
  1045 + Ylxxb ylxxb = ylxxList.get(j);
  1046 + if (map_.get("clZbh").toString().equals(ylxxb.getNbbm())
  1047 + && map_.get("company").toString().equals(ylxxb.getGsdm())) {
  1048 + zjzl = Arith.add(zjzl, ylxxb.getJzl());
  1049 + }
  1050 + }
  1051 + for (int i = 0; i < jdlList.size(); i++) {
  1052 + Jdl jdl=jdlList.get(i);
  1053 + if(map_.get("clZbh").toString().equals(jdl.getNbbm())
  1054 + &&map_.get("company").toString().equals(jdl.getGsBm())
  1055 + &&map_.get("bCompany").toString().equals(jdl.getFgsBm())){
  1056 + zjzl = Arith.add(zjzl,jdl.getJdl());
  1057 + }
  1058 + }
  1059 + double clsh=0.0;
  1060 + if(shMap.get(map_.get("clZbh").toString())==null){
  1061 + clsh=0.0;
  1062 + }else{
  1063 + clsh=shMap.get(map_.get("clZbh").toString());
  1064 + }
  1065 + zjzl =Arith.sub(zjzl, clsh);
  1066 + Double nextJzyl = 0.0;
  1067 + for (int i = 0; i < listpbDc.size(); i++) {
  1068 + Map<String, Object> map = listpbDc.get(i);
  1069 + if(map_.get("clZbh").toString().equals(map.get("clZbh").toString())){
  1070 + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  1071 + Dlb t = new Dlb();
  1072 + for (int k = 0; k < dlbList_upd.size(); k++) {
  1073 + Dlb t1 = dlbList_upd.get(k);
  1074 + if (t1.getNbbm().equals(map.get("clZbh").toString())
  1075 + && t1.getJsy().equals(map.get("jGh").toString())
  1076 + && t1.getXlbm().equals(map.get("xlBm").toString())
  1077 + && t1.getLp().equals(map.get("lpName").toString())) {
  1078 + t = t1;
  1079 + type = "update";
  1080 + }
  1081 +
  1082 + }
  1083 + Double lc= Double.parseDouble(map.get("totalKilometers").toString());
  1084 + if(map.get("seqNumber").toString().equals("1")){
  1085 + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  1086 + Double dh=0.0;
  1087 + if(zlc>0){
  1088 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  1089 + }
  1090 + nextJzyl =Arith.sub(zjzl,dh);
  1091 + if(zlc>0){
  1092 + long l=Math.round(nextJzyl);
  1093 + double ylxs=l*100/100;
  1094 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  1095 + if(dh<0){
  1096 + t.setHd(dh);
  1097 + t.setCdl(dh);
  1098 + nextJzyl=Arith.add(ylxs, dh);
  1099 + }else{
  1100 + t.setHd(dh);
  1101 + t.setCdl(dh);
  1102 + nextJzyl=ylxs;
  1103 + }
  1104 + }else{
  1105 + t.setHd(0.0);
  1106 + t.setCdl(0.0);
  1107 + }
  1108 + }else{
  1109 + Double dh=0.0;
  1110 + if(zlc>0){
  1111 + dh = Double.parseDouble(df.format(zjzl * (lc / zlc)));
  1112 + }
  1113 + nextJzyl =Arith.sub( nextJzyl,dh);
  1114 + if(zlc>0){
  1115 + long l=0l;
  1116 + double ylxs=0.0;
  1117 + if(i==listpbDc.size()-1){
  1118 +// ylxs=czyl;
  1119 + }else{
  1120 + if(listpbDc.get(i+1).get("clZbh").toString().equals(map.get("clZbh").toString())){
  1121 + l=Math.round(nextJzyl);
  1122 + ylxs=l*100/100;
  1123 + }
  1124 +
  1125 + }
  1126 + dh=Arith.add(dh, Arith.sub(nextJzyl,ylxs));
  1127 + if(dh<0){
  1128 + t.setHd(dh);
  1129 + t.setCdl(dh);
  1130 + nextJzyl=Arith.add(ylxs, dh);
  1131 + }else{
  1132 + t.setHd(dh);
  1133 + t.setCdl(dh);
  1134 + nextJzyl=ylxs;
  1135 + }
  1136 + }else{
  1137 + t.setHd(0.0);
  1138 + t.setCdl(0.0);
  1139 + }
  1140 + }
  1141 + t.setCzcd(100.0);
  1142 + t.setJzcd(100.0);
  1143 + t.setNbbm(map.get("clZbh").toString());
  1144 + t.setJsy(map.get("jGh") == null ? "" : map.get("jGh").toString());
  1145 + t.setZlc(map.get("totalKilometers") == null ? 0.0
  1146 + : Double.parseDouble(map.get("totalKilometers").toString()));
  1147 + t.setXlbm(map.get("xlBm") == null ? "" : map.get("xlBm").toString());
  1148 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  1149 + t.setSsgsdm(map.get("company") == null ? "" : map.get("company").toString());
  1150 + t.setFgsdm(map.get("bCompany") == null ? "" : map.get("bCompany").toString());
  1151 + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
  1152 + t.setRq(sdf.parse(date));
  1153 + t.setLp(map.get("lpName").toString());
  1154 + t.setCdl(Arith.add(t.getCdl(), t.getSh()));
  1155 + if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
  1156 + if(type.equals("add")){
  1157 + t.setCreatetime(new Date());
  1158 + }else{
  1159 + t.setUpdatetime(new Date());
  1160 + }
  1161 + }
  1162 + updateDlb.add(t);
  1163 + }
  1164 + }
  1165 + }
  1166 + }
  1167 + mapList.put("updList", updateDlb);
  1168 + }catch(Exception e){
  1169 + logger.error("save erro.", e);
  1170 + }
  1171 + return mapList;
  1172 + }
1146 1173
1147 } 1174 }
1148 1175
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
@@ -33,14 +33,17 @@ import com.bsth.entity.Cars; @@ -33,14 +33,17 @@ import com.bsth.entity.Cars;
33 import com.bsth.entity.Line; 33 import com.bsth.entity.Line;
34 import com.bsth.entity.mcy_forms.Daily; 34 import com.bsth.entity.mcy_forms.Daily;
35 import com.bsth.entity.oil.Cyl; 35 import com.bsth.entity.oil.Cyl;
  36 +import com.bsth.entity.oil.Dlb;
36 import com.bsth.entity.oil.Ylb; 37 import com.bsth.entity.oil.Ylb;
37 import com.bsth.entity.oil.Ylxxb; 38 import com.bsth.entity.oil.Ylxxb;
38 import com.bsth.entity.search.CustomerSpecs; 39 import com.bsth.entity.search.CustomerSpecs;
39 import com.bsth.repository.CarsRepository; 40 import com.bsth.repository.CarsRepository;
40 import com.bsth.repository.oil.CylRepository; 41 import com.bsth.repository.oil.CylRepository;
  42 +import com.bsth.repository.oil.DlbRepository;
41 import com.bsth.repository.oil.YlbRepository; 43 import com.bsth.repository.oil.YlbRepository;
42 import com.bsth.repository.oil.YlxxbRepository; 44 import com.bsth.repository.oil.YlxxbRepository;
43 import com.bsth.service.impl.BaseServiceImpl; 45 import com.bsth.service.impl.BaseServiceImpl;
  46 +import com.bsth.service.oil.DlbService;
44 import com.bsth.service.oil.YlbService; 47 import com.bsth.service.oil.YlbService;
45 import com.bsth.service.realcontrol.ScheduleRealInfoService; 48 import com.bsth.service.realcontrol.ScheduleRealInfoService;
46 import com.bsth.util.Arith; 49 import com.bsth.util.Arith;
@@ -48,6 +51,8 @@ import com.bsth.util.BatchSaveUtils; @@ -48,6 +51,8 @@ import com.bsth.util.BatchSaveUtils;
48 import com.bsth.util.ReportUtils; 51 import com.bsth.util.ReportUtils;
49 import com.github.abel533.echarts.code.Y; 52 import com.github.abel533.echarts.code.Y;
50 53
  54 +import javassist.bytecode.stackmap.BasicBlock.Catch;
  55 +
51 @Service 56 @Service
52 public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbService{ 57 public class YlbServiceImpl extends BaseServiceImpl<Ylb,Integer> implements YlbService{
53 @Autowired 58 @Autowired
@@ -55,6 +60,12 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -55,6 +60,12 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
55 60
56 @Autowired 61 @Autowired
57 YlxxbRepository ylxxbRepository; 62 YlxxbRepository ylxxbRepository;
  63 +
  64 + @Autowired
  65 + DlbService dlbService;
  66 +
  67 + @Autowired
  68 + DlbRepository dlbRepository;
58 69
59 @Autowired 70 @Autowired
60 CylRepository cylRepository; 71 CylRepository cylRepository;
@@ -168,16 +179,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -168,16 +179,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
168 t.setCzyl(0.0); 179 t.setCzyl(0.0);
169 } 180 }
170 } 181 }
171 -  
172 - /*Double jzl=0.0;  
173 - //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)  
174 - for(int j=0;j<ylxxList.size();j++){  
175 - Ylxxb ylxxb= ylxxList.get(j);  
176 - if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){  
177 - jzl+=ylxxb.getJzl();  
178 - }  
179 - }  
180 - t.setJzl(jzl);*/  
181 t.setNbbm(map.get("clZbh").toString()); 182 t.setNbbm(map.get("clZbh").toString());
182 t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString()); 183 t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
183 t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString())); 184 t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString()));
@@ -212,7 +213,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -212,7 +213,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
212 logger.info("定时器:存在相同数据,数据已经过滤"); 213 logger.info("定时器:存在相同数据,数据已经过滤");
213 } 214 }
214 } 215 }
215 -// new BatchSaveUtils<Ylb>().saveList(addList, Ylb.class);  
216 } 216 }
217 result = "success"; 217 result = "success";
218 }catch (Exception e) { 218 }catch (Exception e) {
@@ -670,15 +670,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -670,15 +670,6 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
670 } 670 }
671 } 671 }
672 repository.save(t); 672 repository.save(t);
673 - /*for (int z = 0; z < cylList.size(); z++) {  
674 - Cyl cyl = cylList.get(z);  
675 - if (t.getNbbm().equals(cyl.getNbbm())) {  
676 - cyl.setCyl(t.getJzyl());  
677 - cyl.setUpdatetime(t.getRq());  
678 - break;  
679 - }  
680 - cylRepository.save(cyl);  
681 - }*/  
682 } 673 }
683 map2.put("status", ResponseCode.SUCCESS); 674 map2.put("status", ResponseCode.SUCCESS);
684 } 675 }
@@ -770,63 +761,67 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -770,63 +761,67 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
770 return s; 761 return s;
771 } 762 }
772 }); 763 });
  764 + Map<String, Object> m=new HashMap<String,Object>();
773 for (int i = 0; i < ylxxbList.size(); i++) { 765 for (int i = 0; i < ylxxbList.size(); i++) {
774 Boolean fage=false; 766 Boolean fage=false;
775 Ylxxb y1=ylxxbList.get(i); 767 Ylxxb y1=ylxxbList.get(i);
776 - Line line=BasicData.nbbm2LineMap.get(y1.getNbbm());  
777 - if(null !=line){  
778 - if(!xlbm.equals("")){  
779 - if(line.getLineCode().equals(xlbm)){ 768 + if(m.get(y1.getNbbm())!=null){
  769 + Line line=BasicData.nbbm2LineMap.get(y1.getNbbm());
  770 + if(null !=line){
  771 + if(!xlbm.equals("")){
  772 + if(line.getLineCode().equals(xlbm)){
  773 + fage=true;
  774 + }
  775 + }else{
780 fage=true; 776 fage=true;
781 } 777 }
782 - }else{  
783 - fage=true;  
784 - }  
785 - }  
786 -  
787 - if(fage){  
788 - Ylb t=new Ylb();  
789 - t.setNbbm(y1.getNbbm());  
790 - t.setRq(y1.getYyrq());  
791 - t.setJsy(y1.getJsy());  
792 - t.setJzl(y1.getJzl());  
793 - t.setSsgsdm(y1.getGsdm());  
794 - String fgsdm="";  
795 - if(null !=carsMap.get(y1.getNbbm())){  
796 - fgsdm=carsMap.get(y1.getNbbm());  
797 } 778 }
798 - t.setFgsdm(fgsdm);  
799 - t.setJcsx(1);  
800 - if(null !=line){  
801 - t.setXlbm(line.getLineCode());  
802 - }else{  
803 - t.setXlbm("");  
804 - }  
805 - t.setJcsx(1);  
806 - boolean status=true;  
807 - for (int j = 0; j < ylListBe.size(); j++) {  
808 - Ylb b=ylListBe.get(j);  
809 - if(b.getNbbm().equals(y1.getNbbm())){  
810 - t.setCzyl(b.getJzyl());  
811 - status=false;  
812 - break; 779 +
  780 + if(fage){
  781 + Ylb t=new Ylb();
  782 + t.setNbbm(y1.getNbbm());
  783 + t.setRq(y1.getYyrq());
  784 + t.setJsy(y1.getJsy());
  785 + t.setJzl(y1.getJzl());
  786 + t.setSsgsdm(y1.getGsdm());
  787 + String fgsdm="";
  788 + if(null !=carsMap.get(y1.getNbbm())){
  789 + fgsdm=carsMap.get(y1.getNbbm());
813 } 790 }
814 - }  
815 - if(status){  
816 - t.setCzyl(0.0);  
817 - }  
818 -// double jzyl=Arith.add(t.getJzl(), t.getCzyl());  
819 - t.setJzyl(Arith.add(t.getJzl(), t.getCzyl()));  
820 - t.setYh(0.0);  
821 - if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){  
822 - t.setCreatetime(new Date());  
823 - try {  
824 - repository.save(t);  
825 - } catch (Exception e) {  
826 - // TODO: handle exception  
827 - if(e.getMessage().indexOf("PK_YLB_UK")>0){  
828 - newMap.put("fage", "存在相同数据,数据已经过滤");  
829 - logger.info("核对有存油没里程:存在相同数据,数据已经过滤"); 791 + t.setFgsdm(fgsdm);
  792 + t.setJcsx(1);
  793 + if(null !=line){
  794 + t.setXlbm(line.getLineCode());
  795 + }else{
  796 + t.setXlbm("");
  797 + }
  798 + t.setJcsx(1);
  799 + boolean status=true;
  800 + for (int j = 0; j < ylListBe.size(); j++) {
  801 + Ylb b=ylListBe.get(j);
  802 + if(b.getNbbm().equals(y1.getNbbm())){
  803 + t.setCzyl(b.getJzyl());
  804 + status=false;
  805 + break;
  806 + }
  807 + }
  808 + if(status){
  809 + t.setCzyl(0.0);
  810 + }
  811 +// double jzyl=Arith.add(t.getJzl(), t.getCzyl());
  812 + t.setJzyl(Arith.add(t.getJzl(), t.getCzyl()));
  813 + t.setYh(0.0);
  814 + if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
  815 + t.setCreatetime(new Date());
  816 + try {
  817 + repository.save(t);
  818 + m.put(t.getName(), t.getName());
  819 + } catch (Exception e) {
  820 + // TODO: handle exception
  821 + if(e.getMessage().indexOf("PK_YLB_UK")>0){
  822 + newMap.put("fage", "存在相同数据,数据已经过滤");
  823 + logger.info("核对有存油没里程:存在相同数据,数据已经过滤");
  824 + }
830 } 825 }
831 } 826 }
832 } 827 }
@@ -1439,4 +1434,228 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -1439,4 +1434,228 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
1439 1434
1440 return lists; 1435 return lists;
1441 } 1436 }
  1437 +
  1438 + @Override
  1439 + public Map<String, Object> updateHistory(Map<String, Object> map) throws Exception {
  1440 + // TODO Auto-generated method stub
  1441 + Map<String, Object> newMap = new HashMap<String, Object>();
  1442 +
  1443 + List<Cars> carsList = carsRepository.findCars();
  1444 + Map<String, Boolean> carsMap = new HashMap<String, Boolean>();
  1445 + for (int i = 0; i < carsList.size(); i++) {
  1446 + Cars c = carsList.get(i);
  1447 + carsMap.put(c.getInsideCode(), c.getSfdc());
  1448 + }
  1449 + try{
  1450 + String date = map.get("date").toString();
  1451 + String line = map.get("line").toString();
  1452 + String gsdm = map.get("gsdm").toString();
  1453 + String fgsdm = map.get("fgsdm").toString();
  1454 +
  1455 + List<Map<String, Object>> listpbYc=new ArrayList<Map<String, Object>>();//油车数据
  1456 + List<Map<String, Object>> listpbDc=new ArrayList<Map<String, Object>>();//电车数据
  1457 + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line, date,gsdm, fgsdm, "", "");
  1458 + for (int i = 0; i < listpb.size(); i++) {
  1459 + boolean sfdc=true;
  1460 + Map<String, Object> m = listpb.get(i);
  1461 + if (carsMap.get(m.get("clZbh").toString()) != null) {
  1462 + sfdc = carsMap.get(m.get("clZbh").toString());
  1463 + } else {
  1464 + sfdc = true;
  1465 + }
  1466 + if(sfdc){
  1467 + listpbDc.add(m);
  1468 + }else{
  1469 + listpbYc.add(m);
  1470 + }
  1471 + }
  1472 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  1473 + //初始存油量
  1474 + List<Cyl> clyList = cylRepository.obtainCyl("",gsdm);
  1475 + List<Ylxxb> ylxxList = ylxxbRepository.obtainYlxx(date, 0,gsdm);
  1476 + //重新统计油车数据开始
  1477 + List<Ylb> ylListBe =repository.listMaxRqJcsx(date, gsdm, fgsdm, line, "");
  1478 + List<Ylb> ylbList=this.listOrderBy(date,gsdm,fgsdm,line,"","nbbm");
  1479 + List<Ylb> ylbList_upd=new ArrayList<Ylb>();
  1480 + List<Ylb> ylbList_del=new ArrayList<Ylb>();
  1481 +
  1482 + for (int j = 0; j < ylbList.size(); j++) {
  1483 + Ylb t=ylbList.get(j);
  1484 + boolean fage=true;
  1485 + for (int i = 0; i < listpbYc.size(); i++) {
  1486 + Map<String, Object> m = listpbYc.get(i);
  1487 + if(t.getNbbm().equals(m.get("clZbh").toString())
  1488 + &&t.getJsy().equals(m.get("jGh").toString())
  1489 + &&t.getXlbm().equals(m.get("xlBm").toString())
  1490 + &&t.getLp().equals(m.get("lpName").toString())){
  1491 + //该条记录不用删除
  1492 + fage =false;
  1493 + ylbList_upd.add(t);
  1494 + }
  1495 + }
  1496 + if(fage){
  1497 + ylbList_del.add(t);
  1498 + }
  1499 +
  1500 + }
  1501 +
  1502 + List<Ylb> list=new ArrayList<Ylb>();
  1503 + /*
  1504 + * 第一步 修改车辆里程 和加注量
  1505 + */
  1506 + Map<String, Object> ylMap=new HashMap<String, Object>();
  1507 + for (int x = 0; x < listpbYc.size(); x++) {
  1508 + String type = "add";
  1509 + Map<String, Object> maps = listpb.get(x);
  1510 + // 判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  1511 + Ylb t = new Ylb();
  1512 + for (int k = 0; k < ylbList_upd.size(); k++) {
  1513 + Ylb t1 = ylbList_upd.get(k);
  1514 + if (t1.getNbbm().equals(maps.get("clZbh").toString())
  1515 + && t1.getJsy().equals(maps.get("jGh").toString())
  1516 + && t1.getXlbm().equals(maps.get("xlBm").toString())
  1517 + && t1.getLp().equals(maps.get("lpName").toString())) {
  1518 + t = t1;
  1519 + type = "update";
  1520 + }
  1521 + }
  1522 + // 当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  1523 + if (maps.get("seqNumber").toString().equals("1")) {
  1524 + boolean fage = true;
  1525 + for (int i = 0; i < ylListBe.size(); i++) {
  1526 + Ylb ylb = ylListBe.get(i);
  1527 + if (maps.get("clZbh").toString().equals(ylb.getNbbm())) {
  1528 + if(ylb.getJzyl()>0){
  1529 + t.setCzyl(ylb.getJzyl());
  1530 + fage = false;
  1531 + break;
  1532 + }
  1533 + }
  1534 + }
  1535 + if (fage) {
  1536 + for (int y = 0; y < clyList.size(); y++) {
  1537 + Cyl cyl = clyList.get(y);
  1538 + if (maps.get("clZbh").toString().equals(cyl.getNbbm())) {
  1539 + if(cyl!=null){
  1540 + if(cyl.getCyl()>=0){
  1541 + t.setCzyl(cyl.getCyl());
  1542 + fage = false;
  1543 + break;
  1544 + }else {
  1545 + if(cyl.getCxrl()!=null){
  1546 + if(cyl.getCxrl()>0){
  1547 + t.setCzyl(cyl.getCxrl());
  1548 + fage = false;
  1549 + break;
  1550 + }
  1551 + }
  1552 + }
  1553 + }
  1554 + }
  1555 + }
  1556 + }
  1557 + if (fage) {
  1558 + t.setCzyl(0.0);
  1559 + }
  1560 + }
  1561 +
  1562 + Double jzl = 0.0;
  1563 + //一人一车加注量只匹配一次
  1564 + if(ylMap.get(maps.get("clZbh").toString()+"_"+ maps.get("jGh").toString())!=null){
  1565 + }else{
  1566 + boolean fage2=false;
  1567 + for (int i = 0; i < ylxxList.size(); i++) {
  1568 + Ylxxb ylxxb = ylxxList.get(i);
  1569 + if (maps.get("clZbh").toString().equals(ylxxb.getNbbm())
  1570 + && maps.get("jGh").toString().equals(ylxxb.getJsy())
  1571 + && ylxxb.getJylx()>0) {
  1572 + if(ylxxb.getJzl()>0){
  1573 + fage2=true;
  1574 + }
  1575 + }
  1576 + }
  1577 + //车辆的加注量如果有任工干预,略接口过来 数据
  1578 + if(fage2){
  1579 + // 把当天手工输入的的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断,加油类型为1)
  1580 + for (int j = 0; j < ylxxList.size(); j++) {
  1581 + Ylxxb ylxxb = ylxxList.get(j);
  1582 + if (maps.get("clZbh").toString().equals(ylxxb.getNbbm())
  1583 + && maps.get("jGh").toString().equals(ylxxb.getJsy())
  1584 + && ylxxb.getJylx()>0) {
  1585 + jzl =Arith.add(jzl, ylxxb.getJzl());
  1586 + }
  1587 + }
  1588 + ylMap.put(maps.get("clZbh").toString()+"_"+ maps.get("jGh").toString(),maps.get("xlBm") == null ? "" : maps.get("xlBm").toString());
  1589 + }else{
  1590 + // 把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
  1591 + for (int j = 0; j < ylxxList.size(); j++) {
  1592 + Ylxxb ylxxb = ylxxList.get(j);
  1593 + if (maps.get("clZbh").toString().equals(ylxxb.getNbbm())
  1594 + && maps.get("jGh").toString().equals(ylxxb.getJsy())) {
  1595 + jzl =Arith.add(jzl, ylxxb.getJzl());
  1596 + }
  1597 + }
  1598 + ylMap.put(maps.get("clZbh").toString()+"_"+ maps.get("jGh").toString(),maps.get("xlBm") == null ? "" : maps.get("xlBm").toString());
  1599 + }
  1600 + }
  1601 + t.setJzl(jzl);
  1602 + t.setNbbm(maps.get("clZbh").toString());
  1603 + t.setJsy(maps.get("jGh") == null ? "" : maps.get("jGh").toString());
  1604 + t.setZlc(maps.get("totalKilometers") == null ? 0.0
  1605 + : Double.parseDouble(maps.get("totalKilometers").toString()));
  1606 + t.setXlbm(maps.get("xlBm") == null ? "" : maps.get("xlBm").toString());
  1607 + t.setJcsx(Integer.parseInt(maps.get("seqNumber").toString()));
  1608 + t.setSsgsdm(maps.get("company") == null ? "" : maps.get("company").toString());
  1609 + t.setFgsdm(maps.get("bCompany") == null ? "" : maps.get("bCompany").toString());
  1610 + t.setJhsj(maps.get("fcsj")==null?"":maps.get("fcsj").toString());
  1611 + t.setRq(sdf.parse(date));
  1612 + t.setLp(maps.get("lpName")==null?"":maps.get("lpName").toString());
  1613 + if(!(t.getSsgsdm().equals("") || t.getFgsdm().equals(""))){
  1614 + if(type.equals("add")){
  1615 + t.setCreatetime(new Date());
  1616 + }else{
  1617 + t.setUpdatetime(new Date());
  1618 + }
  1619 + }
  1620 + repository.save(t);
  1621 +
  1622 + }
  1623 +
  1624 + for (int i = 0; i < ylbList_del.size(); i++) {
  1625 + Ylb y=ylbList_del.get(i);
  1626 + repository.delete(y.getId());
  1627 + }
  1628 + //重新统计油车数据结束
  1629 +
  1630 +
  1631 +
  1632 + //重新获取电耗数据开始
  1633 + Map<String, List<Dlb>> mapList=dlbService.updeteHistory(listpbDc, date, gsdm, fgsdm, line);
  1634 + List<Dlb> delDlb=mapList.get("delList");
  1635 + for (int i = 0; i < delDlb.size(); i++) {
  1636 + Dlb d=delDlb.get(i);
  1637 + dlbRepository.delete(d.getId());
  1638 + }
  1639 + List<Dlb> updDlb=mapList.get("updList");
  1640 + for (int i = 0; i < updDlb.size(); i++) {
  1641 + Dlb d=updDlb.get(i);
  1642 + dlbRepository.save(d);
  1643 + }
  1644 + //重新获取电耗数据结束
  1645 + newMap.put("status", ResponseCode.SUCCESS);
  1646 + }catch(Exception e){
  1647 + // TODO Auto-generated catch block
  1648 + newMap.put("status", ResponseCode.ERROR);
  1649 + throw e;
  1650 + }
  1651 +
  1652 +
  1653 + return newMap;
  1654 + }
  1655 +
  1656 + public List<Ylb> listByRqJcsx(String rq,String gsdm,String fgsdm,String xlbm,String nbbm,
  1657 + String px) {
  1658 +
  1659 + return null;
  1660 + }
1442 } 1661 }
src/main/java/com/bsth/service/oil/impl/YlxxbServiceImpl.java
@@ -56,7 +56,7 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements @@ -56,7 +56,7 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
56 String fgsdm=map.get("fgsdm_like").toString(); 56 String fgsdm=map.get("fgsdm_like").toString();
57 57
58 String sql=" select * from (" 58 String sql=" select * from ("
59 - + "select *,CONCAT(nbbm,jsy) as nj " 59 + + "select *,CONCAT(nbbm,jsy) as nj, CONCAT(nbbm,'_',jsy,'_',jzl) as njj "
60 + " from bsth_c_ylxxb where yyrq='"+rq+"' " 60 + " from bsth_c_ylxxb where yyrq='"+rq+"' "
61 + " and gsdm ='"+gsdm+"' and jylx !='1') x where x.nj not in (" 61 + " and gsdm ='"+gsdm+"' and jylx !='1') x where x.nj not in ("
62 + " select CONCAT(nbbm,jsy) from bsth_c_ylb " 62 + " select CONCAT(nbbm,jsy) from bsth_c_ylb "
@@ -65,35 +65,10 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements @@ -65,35 +65,10 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
65 + " and x.nbbm in (select nbbm from bsth_c_ylb " 65 + " and x.nbbm in (select nbbm from bsth_c_ylb "
66 + " where rq='"+rq+"'" 66 + " where rq='"+rq+"'"
67 + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"') " 67 + " and ssgsdm='"+gsdm+"' and fgsdm ='"+fgsdm+"') "
68 - + " and x.nbbm not in (select nbbm from bsth_c_ylxxb"  
69 - + " where yyrq='"+rq+"' and gsdm ='"+gsdm+"' AND jylx !='0')";  
70 -  
71 -  
72 - /*String sql= "select v.*,u.jsy as ldgh from "  
73 - + " ( select * from bsth_c_ylxxb x where "  
74 - + " DATE_FORMAT(x.yyrq,'%Y-%m-%d')='"+rq+"' and x.gsdm='"+gsdm+"'"  
75 - + " and x.jsy not in ("  
76 - + " select jsy from bsth_c_ylb "  
77 - + " where DATE_FORMAT(rq,'%Y-%m-%d')='"+rq+"' "  
78 - + " and ssgsdm='"+gsdm+"' and fgsdm='"+fgsdm+"')"  
79 - + " and x.nbbm in (select nbbm from bsth_c_ylb "  
80 - + " where DATE_FORMAT(rq,'%Y-%m-%d')='"+rq+"' "  
81 - + " and ssgsdm='"+gsdm+"' and fgsdm='"+fgsdm+"' )) v "  
82 - + " left join (select * from bsth_c_ylb "  
83 - + " where DATE_FORMAT(rq,'%Y-%m-%d')='"+rq+"'"  
84 - + " and ssgsdm='"+gsdm+"' and fgsdm='"+fgsdm+"' ) u "  
85 - + " on v.nbbm=u.nbbm ";*/  
86 -  
87 - //根具条件查询指定日期Ylxxb的数据  
88 -// List<Ylxxb> iterator=repository.checkYlxx(rq,gsdm);  
89 - /*if(map.get("gsdm_in")!=null){  
90 - map.put("ssgsdm_in", map.get("gsdm_in"));  
91 - map.remove("gsdm_in");  
92 -  
93 - }else{  
94 - map.put("ssgsdm_like", map.get("gsdm_like"));  
95 - map.remove("gsdm_like");  
96 - }*/ 68 + + " and x.nj not in (select CONCAT(nbbm,jsy) from bsth_c_ylxxb"
  69 + + " where yyrq='"+rq+"' and gsdm ='"+gsdm+"' AND jylx in (1,3))"
  70 + + " and x.njj not in (SELECT tj FROM bsth_c_ylxxb_update "
  71 + + " where yyrq='"+rq+"' and zt='3')";
97 72
98 //根具条件查询指定日期Ylb的数据 73 //根具条件查询指定日期Ylb的数据
99 // List<Ylb> ylbIterator=ylbRepository.checkYl(rq,gsdm,fgsdm); 74 // List<Ylb> ylbIterator=ylbRepository.checkYl(rq,gsdm,fgsdm);
@@ -135,25 +110,6 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements @@ -135,25 +110,6 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
135 list.get(i).setLdgh(ldgh); 110 list.get(i).setLdgh(ldgh);
136 111
137 } 112 }
138 - //正式使用用下面代码  
139 -// for (int i = 0; i < iterator.size(); i++) {  
140 -// Ylxxb y1=iterator.get(i);  
141 -// boolean fage=true;  
142 -// String ldgh="";  
143 -// for (int j = 0; j < ylbIterator.size(); j++) {  
144 -// Ylb y2 = ylbIterator.get(j);  
145 -// if(y1.getNbbm().equals(y2.getNbbm())){  
146 -// if(y1.getJsy().equals(y2.getJsy())){  
147 -// fage=false;  
148 -// }  
149 -// ldgh +=y2.getJsy()+"/";  
150 -// }  
151 -// }  
152 -// if(fage){  
153 -// y1.setLdgh(ldgh);  
154 -// list.add(y1);  
155 -// }  
156 -// }  
157 113
158 114
159 115
@@ -186,6 +142,17 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements @@ -186,6 +142,17 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
186 if(!lsjsy.equals(jsy)){ 142 if(!lsjsy.equals(jsy)){
187 if(ldgh.indexOf(jsy)>-1){ 143 if(ldgh.indexOf(jsy)>-1){
188 Ylxxb ylxxb=repository.findOne(id); 144 Ylxxb ylxxb=repository.findOne(id);
  145 + YlxxbUpdate ylxxbUpdate=new YlxxbUpdate();
  146 + ylxxbUpdate.setGsdm(ylxxb.getGsdm());
  147 + ylxxbUpdate.setJsy(ylxxb.getJsy());
  148 + ylxxbUpdate.setJzl(ylxxb.getJzl());
  149 + ylxxbUpdate.setJlrq(ylxxb.getJlrq());
  150 + ylxxbUpdate.setNbbm(ylxxb.getNbbm());
  151 + ylxxbUpdate.setYyrq(ylxxb.getYyrq());
  152 + ylxxbUpdate.setCreatetime(new Date());
  153 + ylxxbUpdate.setTj(ylxxb.getNbbm()+"_"+ylxxb.getJsy()+"_"+ylxxb.getJzl());
  154 + ylxxbUpdate.setZt(3);
  155 + updateRepository.save(ylxxbUpdate);
189 ylxxb.setJsy(jsy); 156 ylxxb.setJsy(jsy);
190 ylxxb.setJylx(3); 157 ylxxb.setJylx(3);
191 repository.save(ylxxb); 158 repository.save(ylxxb);
@@ -205,14 +172,26 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements @@ -205,14 +172,26 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
205 // TODO Auto-generated method stub 172 // TODO Auto-generated method stub
206 String rq=map.get("yyrq").toString(); 173 String rq=map.get("yyrq").toString();
207 String gsdm=map.get("gsdm_like").toString(); 174 String gsdm=map.get("gsdm_like").toString();
  175 + String fgsdm=map.get("fgsdm_like").toString();
  176 +
208 String nbbm=map.get("nbbm").toString(); 177 String nbbm=map.get("nbbm").toString();
209 178
210 - String sql="select * from (select *,CONCAT(t.nbbm,'_',t.jsy,'_',t.jzl) as tj "  
211 - + " from bsth_c_ylxxb t where t.yyrq='"+rq+"' and t.gsdm='"+gsdm+"' and "  
212 - + " t.nylx=0 and t.jylx=0 and t.nbbm like '%"+nbbm+"%') y "  
213 - + " where y.nbbm not in (select c.inside_code from bsth_c_cars c "  
214 - + " where c.business_code ='05' and c.sfdc=0) and y.tj not in ("  
215 - + " select x.tj from bsth_c_ylxxb_update x)"; 179 + String sql="select * from ("
  180 + + " select t.*,CONCAT(t.nbbm,'_',t.jsy,'_',t.jzl) as tj from bsth_c_ylxxb t where "
  181 + + " t.yyrq='"+rq+"' and t.gsdm='"+gsdm+"' and t.nylx=0 and t.jylx in(0,2) "
  182 + + " and t.nbbm in (select c.inside_code from bsth_c_cars c "
  183 + + " where c.business_code ='"+gsdm+"' and c.sfdc=0 and c.branche_company_code ='"+fgsdm+"')"
  184 + + " and t.nbbm not in (select nbbm from bsth_c_ylb y "
  185 + + " where y.rq= '"+rq+"' and ssgsdm='"+gsdm+"' and fgsdm='"+fgsdm+"') "
  186 + + " union "
  187 + + " select t.*,CONCAT(t.nbbm,'_',t.jsy,'_',t.jzl) as tj from bsth_c_ylxxb t where "
  188 + + " t.yyrq ='"+rq+"' and t.gsdm='"+gsdm+"' and t.nylx=0 and t.jylx in(0,2) "
  189 + + " and t.nbbm not in ( select c.inside_code from bsth_c_cars c "
  190 + + " where c.business_code ='"+gsdm+"' and c.sfdc=0 )"
  191 + + " ) z"
  192 + + " where z.tj not in ("
  193 + + " SELECT x.tj FROM bsth_c_ylxxb_update x where x.yyrq='"+rq+"' and zt=2"
  194 + + " ) and z.nbbm like '%"+nbbm+"%'";
216 195
217 //根具条件查询指定日期Ylb的数据 196 //根具条件查询指定日期Ylb的数据
218 // List<Ylb> ylbIterator=ylbRepository.checkYl(rq,gsdm,fgsdm); 197 // List<Ylb> ylbIterator=ylbRepository.checkYl(rq,gsdm,fgsdm);
@@ -268,10 +247,11 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements @@ -268,10 +247,11 @@ public class YlxxbServiceImpl extends BaseServiceImpl&lt;Ylxxb,Integer&gt; implements
268 ylxxbUpdate.setJsy(ylxxb.getJsy()); 247 ylxxbUpdate.setJsy(ylxxb.getJsy());
269 ylxxbUpdate.setJzl(ylxxb.getJzl()); 248 ylxxbUpdate.setJzl(ylxxb.getJzl());
270 ylxxbUpdate.setJlrq(ylxxb.getJlrq()); 249 ylxxbUpdate.setJlrq(ylxxb.getJlrq());
271 - ylxxbUpdate.setNbbm(ylxxb.getNbbm()); 250 + ylxxbUpdate.setNbbm(nbbm);
272 ylxxbUpdate.setYyrq(ylxxb.getYyrq()); 251 ylxxbUpdate.setYyrq(ylxxb.getYyrq());
273 ylxxbUpdate.setCreatetime(new Date()); 252 ylxxbUpdate.setCreatetime(new Date());
274 ylxxbUpdate.setTj(nbbm+"_"+ylxxb.getJsy()+"_"+ylxxb.getJzl()); 253 ylxxbUpdate.setTj(nbbm+"_"+ylxxb.getJsy()+"_"+ylxxb.getJzl());
  254 + ylxxbUpdate.setZt(2);
275 updateRepository.save(ylxxbUpdate); 255 updateRepository.save(ylxxbUpdate);
276 } 256 }
277 } 257 }
src/main/resources/static/pages/oil/checkNbbmList.html
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
34 <th width="3%">#</th> 34 <th width="3%">#</th>
35 <th width="10%">日期</th> 35 <th width="10%">日期</th>
36 <th width="10%">公司</th> 36 <th width="10%">公司</th>
  37 + <th width="10%">分公司</th>
37 <th width="15%">车辆</th> 38 <th width="15%">车辆</th>
38 <th width="12%">驾驶员</th> 39 <th width="12%">驾驶员</th>
39 <th width="4%">加注量</th> 40 <th width="4%">加注量</th>
@@ -52,6 +53,9 @@ @@ -52,6 +53,9 @@
52 <select class="form-control" name="gsdm_like" id="jyryListGsdmId" ></select> 53 <select class="form-control" name="gsdm_like" id="jyryListGsdmId" ></select>
53 </td> 54 </td>
54 <td> 55 <td>
  56 + <select class="form-control" name="fgsdm_like" id="jyryListFgsdmId" ></select>
  57 + </td>
  58 + <td>
55 <input type="text" id="nbbm" class="form-control form-filter input-sm" name="nbbm"> 59 <input type="text" id="nbbm" class="form-control form-filter input-sm" name="nbbm">
56 </td> 60 </td>
57 <td> 61 <td>
@@ -92,6 +96,8 @@ @@ -92,6 +96,8 @@
92 {{obj.gsname}} 96 {{obj.gsname}}
93 </td> 97 </td>
94 <td> 98 <td>
  99 + </td>
  100 + <td>
95 <input type="text" class="form-control in_carpark_nbbm" name="nbbm" id="nbbm{{obj.id}}" data-id="{{obj.id}}" value="{{obj.nbbm}}"/> 101 <input type="text" class="form-control in_carpark_nbbm" name="nbbm" id="nbbm{{obj.id}}" data-id="{{obj.id}}" value="{{obj.nbbm}}"/>
96 </td> 102 </td>
97 <td> 103 <td>
@@ -173,16 +179,26 @@ $(function(){ @@ -173,16 +179,26 @@ $(function(){
173 $.get('/user/companyData', function(result){ 179 $.get('/user/companyData', function(result){
174 obj = result; 180 obj = result;
175 var options = ''; 181 var options = '';
176 -// '<option value="">请选择</option>';  
177 for(var i = 0; i < obj.length; i++){ 182 for(var i = 0; i < obj.length; i++){
178 options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>'; 183 options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
179 -// setFgsqx(obj[i].companyCode);  
180 -// gsqx +=obj[i].companyCode+",";  
181 } 184 }
182 $('#jyryListGsdmId').html(options); 185 $('#jyryListGsdmId').html(options);
183 -// updateCompany(); 186 + updateCompany();
184 }); 187 });
185 - 188 + $("#jyryListGsdmId").on("change",updateCompany);
  189 + function updateCompany(){
  190 + var company = $('#jyryListGsdmId').val();
  191 + var options = '';
  192 + for(var i = 0; i < obj.length; i++){
  193 + if(obj[i].companyCode == company){
  194 + var children = obj[i].children;
  195 + for(var j = 0; j < children.length; j++){
  196 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  197 + }
  198 + }
  199 + }
  200 + $('#jyryListFgsdmId').html(options);
  201 + }
186 202
187 //提交 203 //提交
188 $('tr.filter .filter-submit').on('click', function(){ 204 $('tr.filter .filter-submit').on('click', function(){
src/main/resources/static/pages/oil/list_ph.html
@@ -327,7 +327,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -327,7 +327,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
327 layer.msg('请选择日期.'); 327 layer.msg('请选择日期.');
328 } 328 }
329 }) 329 })
330 -  
331 //进场等于出场 330 //进场等于出场
332 $("#outAndIn").on('click', function () { 331 $("#outAndIn").on('click', function () {
333 // console.log("进场油量等于出场油量"); 332 // console.log("进场油量等于出场油量");