Commit 168352fcd6e3e5ab0953c96a4b5f487c9870d3d3

Authored by 潘钊
2 parents 791d1557 bd01e897

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

src/main/java/com/bsth/entity/oil/Ylxxb.java
@@ -45,6 +45,9 @@ public class Ylxxb { @@ -45,6 +45,9 @@ public class Ylxxb {
45 @Transient 45 @Transient
46 private String fgsname; 46 private String fgsname;
47 47
  48 + @Transient
  49 + private Double zjzl;
  50 +
48 51
49 public Integer getId() { 52 public Integer getId() {
50 return id; 53 return id;
@@ -184,5 +187,13 @@ public class Ylxxb { @@ -184,5 +187,13 @@ public class Ylxxb {
184 public void setFgsname(String fgsname) { 187 public void setFgsname(String fgsname) {
185 this.fgsname = fgsname; 188 this.fgsname = fgsname;
186 } 189 }
  190 + public Double getZjzl() {
  191 + return zjzl;
  192 + }
  193 + public void setZjzl(Double zjzl) {
  194 + this.zjzl = zjzl;
  195 + }
  196 +
  197 +
187 198
188 } 199 }
src/main/java/com/bsth/repository/oil/YlxxbRepository.java
@@ -20,7 +20,7 @@ public interface YlxxbRepository extends BaseRepository<Ylxxb, Integer>{ @@ -20,7 +20,7 @@ public interface YlxxbRepository extends BaseRepository<Ylxxb, Integer>{
20 @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and nylx=?2 and gsdm like %?3%",nativeQuery=true) 20 @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and nylx=?2 and gsdm like %?3%",nativeQuery=true)
21 List<Ylxxb> obtainYlxx(String rq,int nylx,String gsdm); 21 List<Ylxxb> obtainYlxx(String rq,int nylx,String gsdm);
22 22
23 - @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and ssgs=?2",nativeQuery=true) 23 + @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and gsdm=?2",nativeQuery=true)
24 List<Ylxxb> checkYlxx(String rq,String gs); 24 List<Ylxxb> checkYlxx(String rq,String gs);
25 25
26 @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and nbbm =?2 and jylx=1",nativeQuery=true) 26 @Query(value="SELECT * FROM bsth_c_ylxxb where to_days(?1)=to_days(yyrq) and nbbm =?2 and jylx=1",nativeQuery=true)
src/main/java/com/bsth/service/impl/StationServiceImpl.java
@@ -335,7 +335,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem @@ -335,7 +335,7 @@ public class StationServiceImpl extends BaseServiceImpl&lt;Station, Integer&gt; implem
335 arg0.setDestroy(destroy); 335 arg0.setDestroy(destroy);
336 // 版本号 336 // 版本号
337 arg0.setVersions(versions); 337 arg0.setVersions(versions);
338 - /*arg0.setbJwpoints(bJwpoints);*/ 338 + arg0.setbJwpoints(bJwpoints);
339 // 插入站点信息 339 // 插入站点信息
340 repository.save(arg0); 340 repository.save(arg0);
341 341
src/main/java/com/bsth/service/oil/impl/CwjyServiceImpl.java
@@ -31,6 +31,7 @@ import com.bsth.repository.oil.CwjyRepository; @@ -31,6 +31,7 @@ import com.bsth.repository.oil.CwjyRepository;
31 import com.bsth.repository.oil.YlxxbRepository; 31 import com.bsth.repository.oil.YlxxbRepository;
32 import com.bsth.service.impl.BaseServiceImpl; 32 import com.bsth.service.impl.BaseServiceImpl;
33 import com.bsth.service.oil.CwjyService; 33 import com.bsth.service.oil.CwjyService;
  34 +import com.bsth.util.Arith;
34 import com.bsth.util.PageHelper; 35 import com.bsth.util.PageHelper;
35 import com.bsth.util.PageObject; 36 import com.bsth.util.PageObject;
36 37
@@ -314,7 +315,19 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw @@ -314,7 +315,19 @@ public class CwjyServiceImpl extends BaseServiceImpl&lt;Cwjy,Integer&gt; implements Cw
314 return t; 315 return t;
315 } 316 }
316 }); 317 });
317 - 318 + List<Ylxxb> list= ylxxbRepository.checkYlxx(rq, gsdm);
  319 + for (int i = 0; i < yList.size(); i++) {
  320 + Ylxxb t=yList.get(i);
  321 + Double zjzl=0.0;
  322 + for (int j = 0; j < list.size(); j++) {
  323 + Ylxxb y=list.get(j);
  324 + if(t.getNbbm().equals(y.getNbbm())){
  325 + zjzl=Arith.add(zjzl, y.getJzl());
  326 + }
  327 +
  328 + }
  329 + t.setZjzl(zjzl);
  330 + }
318 return yList; 331 return yList;
319 } 332 }
320 333
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
@@ -266,7 +266,44 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -266,7 +266,44 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
266 List<Ylb> ylListBe =repository.listMaxRqJcsx(rq, gsbm, fgsbm, line, nbbm); 266 List<Ylb> ylListBe =repository.listMaxRqJcsx(rq, gsbm, fgsbm, line, nbbm);
267 List<Cyl> clyList = cylRepository.obtainCyl(nbbm,gsbm); 267 List<Cyl> clyList = cylRepository.obtainCyl(nbbm,gsbm);
268 // 从排班表中计算出行驶的总里程 268 // 从排班表中计算出行驶的总里程
269 - List<Map<String, Object>> listpb = scheduleRealInfoService.yesterdayDataList(line, rq, gsbm, fgsbm, "", nbbm); 269 + List<Map<String, Object>> listpb =new ArrayList<Map<String, Object>>();
  270 + List<Map<String, Object>> listpbs=scheduleRealInfoService.yesterdayDataList(line, rq, gsbm, fgsbm, "", nbbm);
  271 +
  272 + String sxtj=map2.get("sxtj").toString();
  273 + if(sxtj.equals("0")){
  274 + listpb=listpbs;
  275 + }else{
  276 + List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, line,nbbm);
  277 + List<String> stringList=new ArrayList<String>();
  278 + for (int i = 0; i < objectLists.size(); i++) {
  279 + String clbm=objectLists.get(i)[0].toString();
  280 + int cs=Integer.parseInt(objectLists.get(i)[1].toString());
  281 + //一车一单
  282 + if(sxtj.equals("1")){
  283 + if(cs==1){
  284 + stringList.add(clbm);
  285 + }
  286 + }
  287 + //一车多单
  288 + if(sxtj.equals("2")){
  289 + if(cs>1){
  290 + stringList.add(clbm);
  291 + }
  292 + }
  293 + }
  294 +
  295 + for (int i = 0; i < stringList.size(); i++) {
  296 + String strNbbm=stringList.get(i);
  297 + for (int j = 0; j < listpbs.size(); j++) {
  298 + Map<String, Object> map = listpbs.get(j);
  299 + String mapNbbm=map.get("clZbh").toString();
  300 + if(strNbbm.equals(mapNbbm)){
  301 + listpb.add(map);
  302 + }
  303 + }
  304 + }
  305 + }
  306 +
270 List<Ylb> addList = new ArrayList<Ylb>(); 307 List<Ylb> addList = new ArrayList<Ylb>();
271 List<Ylb> updateList = new ArrayList<Ylb>(); 308 List<Ylb> updateList = new ArrayList<Ylb>();
272 String ins=""; 309 String ins="";
@@ -443,15 +480,53 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS @@ -443,15 +480,53 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
443 List<Cyl> cylList = cylRepository.obtainCyl(nbbm,gsbm); 480 List<Cyl> cylList = cylRepository.obtainCyl(nbbm,gsbm);
444 // 指定日期YLB信息 481 // 指定日期YLB信息
445 List<Ylb> ylbList =new ArrayList<Ylb>(); 482 List<Ylb> ylbList =new ArrayList<Ylb>();
  483 + List<Ylb> ylbLists =new ArrayList<Ylb>();
446 List<Ylb> iterator2=new ArrayList<Ylb>(); 484 List<Ylb> iterator2=new ArrayList<Ylb>();
447 if(xlbm.equals("")){ 485 if(xlbm.equals("")){
448 - ylbList=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); 486 + ylbLists=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
449 iterator2=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); 487 iterator2=repository.obtainYl(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");
450 }else{ 488 }else{
451 - ylbList=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx"); 489 + ylbLists=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"jcsx");
452 iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx"); 490 iterator2=repository.obtainYl_eq(rq,gsbm,fgsbm,xlbm,nbbm,"nbbm,jcsx");
453 } 491 }
454 492
  493 + // 从排班表中计算出行驶的总里程
  494 +
  495 + String sxtj=map.get("sxtj").toString();
  496 + if(sxtj.equals("0")){
  497 + ylbList=ylbLists;
  498 + }else{
  499 + List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm,nbbm);
  500 + List<String> stringList=new ArrayList<String>();
  501 + for (int i = 0; i < objectLists.size(); i++) {
  502 + String clbm=objectLists.get(i)[0].toString();
  503 + int cs=Integer.parseInt(objectLists.get(i)[1].toString());
  504 + //一车一单
  505 + if(sxtj.equals("1")){
  506 + if(cs==1){
  507 + stringList.add(clbm);
  508 + }
  509 + }
  510 + //一车多单
  511 + if(sxtj.equals("2")){
  512 + if(cs>1){
  513 + stringList.add(clbm);
  514 + }
  515 + }
  516 + }
  517 +
  518 + for (int i = 0; i < stringList.size(); i++) {
  519 + String strNbbm=stringList.get(i);
  520 + for (int j = 0; j < ylbLists.size(); j++) {
  521 + Ylb y = ylbLists.get(j);
  522 + String mapNbbm=y.getNbbm();
  523 + if(strNbbm.equals(mapNbbm)){
  524 + ylbList.add(y);
  525 + }
  526 + }
  527 + }
  528 + }
  529 +
455 for (int i=0;i<ylbList.size();i++) { 530 for (int i=0;i<ylbList.size();i++) {
456 Ylb ylb = ylbList.get(i); 531 Ylb ylb = ylbList.get(i);
457 // 判断是否已经计算过 532 // 判断是否已经计算过
src/main/java/com/bsth/service/report/impl/CulateMileageServiceImpl.java
@@ -529,11 +529,8 @@ public class CulateMileageServiceImpl implements CulateMileageService{ @@ -529,11 +529,8 @@ public class CulateMileageServiceImpl implements CulateMileageService{
529 if(!scheduleRealInfo.isSflj()){ 529 if(!scheduleRealInfo.isSflj()){
530 if (scheduleRealInfo.getBcType().equals("in") 530 if (scheduleRealInfo.getBcType().equals("in")
531 || scheduleRealInfo.getBcType().equals("out")|| scheduleRealInfo.getBcType().equals("ldks")) { 531 || scheduleRealInfo.getBcType().equals("out")|| scheduleRealInfo.getBcType().equals("ldks")) {
532 - double jhlcOrig=scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig();  
533 - if(jhlcOrig-scheduleRealInfo.getJhlc()>0){ 532 + if(!scheduleRealInfo.isSflj()){
534 jcclc =Arith.add(jcclc, scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig()); 533 jcclc =Arith.add(jcclc, scheduleRealInfo.getJhlcOrig()==null?0:scheduleRealInfo.getJhlcOrig());
535 - }else{  
536 - jcclc =Arith.add(jcclc, scheduleRealInfo.getJhlc()==null?0:scheduleRealInfo.getJhlc());  
537 } 534 }
538 } 535 }
539 } 536 }
src/main/java/com/bsth/service/schedule/datatools/TTInfoDetailDataToolsImpl.java
@@ -44,22 +44,24 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail @@ -44,22 +44,24 @@ public class TTInfoDetailDataToolsImpl implements DataToolsService, TTInfoDetail
44 try { 44 try {
45 // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1 45 // 对上传的excel文件做处理,将第一个sheet名字设定为工作表1
46 File file = dataToolsService.uploadFile(filename, filedata); 46 File file = dataToolsService.uploadFile(filename, filedata);
47 - Workbook workbook = Workbook.getWorkbook(file);  
48 - Sheet sheet = workbook.getSheet(0);  
49 -  
50 - File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls");  
51 - WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal);  
52 - WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0);  
53 - for (int i = 0; i < sheet.getRows(); i++) {  
54 - Cell[] cells = sheet.getRow(i);  
55 - for (int j = 0; j < cells.length; j++) {  
56 - writableSheet.addCell(new Label(j, i, cells[j].getContents()));  
57 - }  
58 - }  
59 - writableWorkbook.write();  
60 - writableWorkbook.close(); 47 +// Workbook workbook = Workbook.getWorkbook(file);
  48 +// Sheet sheet = workbook.getSheet(0);
  49 +//
  50 +// File fileCal = new File(file.getAbsolutePath() + "_sheetChange.xls");
  51 +// WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileCal);
  52 +// WritableSheet writableSheet = writableWorkbook.createSheet("工作表1", 0);
  53 +// for (int i = 0; i < sheet.getRows(); i++) {
  54 +// Cell[] cells = sheet.getRow(i);
  55 +// for (int j = 0; j < cells.length; j++) {
  56 +// writableSheet.addCell(new Label(j, i, cells[j].getContents()));
  57 +// }
  58 +// }
  59 +// writableWorkbook.write();
  60 +// writableWorkbook.close();
  61 +//
  62 +// return fileCal;
61 63
62 - return fileCal; 64 + return file;
63 65
64 } catch (Exception exp) { 66 } catch (Exception exp) {
65 throw new ScheduleException(exp); 67 throw new ScheduleException(exp);
src/main/java/com/bsth/util/ReportUtils.java
@@ -47,10 +47,12 @@ public class ReportUtils { @@ -47,10 +47,12 @@ public class ReportUtils {
47 POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream( 47 POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(
48 sourcePath)); 48 sourcePath));
49 HSSFWorkbook wb = new HSSFWorkbook(fs); 49 HSSFWorkbook wb = new HSSFWorkbook(fs);
50 - Map<String, Object> m = (Map<String, Object>)tArray[0];  
51 - if(m.containsKey("sheetName") && m.get("sheetName")!=null  
52 - && m.get("sheetName").toString().trim().length()!=0)  
53 - wb.setSheetName(0, m.get("sheetName").toString()); 50 + if(tArray.length != 0 && tArray[0] instanceof java.util.Map){
  51 + Map<String, Object> m = (Map<String, Object>)tArray[0];
  52 + if(m.containsKey("sheetName") && m.get("sheetName")!=null
  53 + && m.get("sheetName").toString().trim().length()!=0)
  54 + wb.setSheetName(0, m.get("sheetName").toString());
  55 + }
54 HSSFSheet sheet = wb.getSheetAt(0); 56 HSSFSheet sheet = wb.getSheetAt(0);
55 HSSFRow row; 57 HSSFRow row;
56 HSSFCell cell = null; 58 HSSFCell cell = null;
src/main/resources/fatso/handle_real_ctl.js
@@ -17,7 +17,7 @@ var pName = &#39;bsth_control&#39; @@ -17,7 +17,7 @@ var pName = &#39;bsth_control&#39;
17 , path = process.cwd() 17 , path = process.cwd()
18 //根目录 18 //根目录
19 , root = path.substr(0, path.indexOf(separator + 'src'+separator+'main')) 19 , root = path.substr(0, path.indexOf(separator + 'src'+separator+'main'))
20 - , workspace = root.substr(0, root.indexOf(separator + pName)) 20 + , workspace = root.substr(0, root.lastIndexOf(separator + pName))
21 //临时目录 21 //临时目录
22 , dest = (workspace + separator + pName + '@fatso_copy')//.replace(/\//g, '\\') 22 , dest = (workspace + separator + pName + '@fatso_copy')//.replace(/\//g, '\\')
23 , _static = separator + 'src'+separator+'main'+separator+'resources'+separator+'static'; 23 , _static = separator + 'src'+separator+'main'+separator+'resources'+separator+'static';
src/main/resources/fatso/start.js
@@ -22,7 +22,7 @@ var excludes = [&#39;scheduleApp&#39;, &#39;trafficManage&#39;, &#39;control&#39;] @@ -22,7 +22,7 @@ var excludes = [&#39;scheduleApp&#39;, &#39;trafficManage&#39;, &#39;control&#39;]
22 ,path = process.cwd() 22 ,path = process.cwd()
23 //根目录 23 //根目录
24 ,root = path.substr(0, path.indexOf(separator + 'src'+separator+'main')) 24 ,root = path.substr(0, path.indexOf(separator + 'src'+separator+'main'))
25 - ,workspace = root.substr(0, root.indexOf(separator + pName)) 25 + ,workspace = root.substr(0, root.lastIndexOf(separator + pName))
26 //临时目录 26 //临时目录
27 ,dest = (workspace + separator + pName+'@fatso_copy') 27 ,dest = (workspace + separator + pName+'@fatso_copy')
28 ,_static = separator + 'src'+separator+'main'+separator+'resources'+separator+'static' 28 ,_static = separator + 'src'+separator+'main'+separator+'resources'+separator+'static'
src/main/resources/static/pages/base/timesmodel/gantt.html
@@ -71,6 +71,11 @@ @@ -71,6 +71,11 @@
71 </a> 71 </a>
72 </li> 72 </li>
73 <li> 73 <li>
  74 + <a href="javascript:" class="tool-action editlp">
  75 + <i class="fa fa-pencil"></i>&nbsp;修改路牌
  76 + </a>
  77 + </li>
  78 + <li>
74 <a href="javascript:" class="tool-action addlp"> 79 <a href="javascript:" class="tool-action addlp">
75 <i class="fa fa-plus"></i>&nbsp;添加路牌 80 <i class="fa fa-plus"></i>&nbsp;添加路牌
76 </a> 81 </a>
src/main/resources/static/pages/base/timesmodel/js/base-fun.js
@@ -58,7 +58,7 @@ var BaseFun = function() { @@ -58,7 +58,7 @@ var BaseFun = function() {
58 var array = new Array(); 58 var array = new Array();
59 if(len>0) { 59 if(len>0) {
60 for(var y = 0; y<len; y++) { 60 for(var y = 0; y<len; y++) {
61 - array.push({lp:null,lpNo:y+1,lpName:y+1,lpType:'普通路牌'});//添加一个路牌对象 61 + array.push({lp:null,lpNo:y+1, parent :y+1, lpName:y+1,lpType:'普通路牌'});//添加一个路牌对象
62 }; 62 };
63 } 63 }
64 return array; 64 return array;
@@ -325,11 +325,9 @@ var BaseFun = function() { @@ -325,11 +325,9 @@ var BaseFun = function() {
325 }, 325 },
326 326
327 BXPplaceClassesTime01 : function(saa,cara,map,seMap,dataMap,lpNoA) { 327 BXPplaceClassesTime01 : function(saa,cara,map,seMap,dataMap,lpNoA) {
328 - var allJsonD = baseF.plgfbc(saa,cara,map,seMap,dataMap);  
329 - var jsonArray = baseF.tzsmbcsj01(baseF.setbcsAndfcno(allJsonD),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj),lpNoA,dataMap; 328 + var jsonArray = baseF.plgfbc(saa,cara,map,seMap,dataMap);
330 var list = baseF.splitBxRc(map.bxrc); 329 var list = baseF.splitBxRc(map.bxrc);
331 baseF.fprclp01(list,cara); 330 baseF.fprclp01(list,cara);
332 - console.log(list);  
333 var bxrclist = list.data; 331 var bxrclist = list.data;
334 var rs = new Array(),bxrcgs= new Array(); 332 var rs = new Array(),bxrcgs= new Array();
335 // 遍历已分配好路牌的班型人次数组. 333 // 遍历已分配好路牌的班型人次数组.
@@ -350,18 +348,33 @@ var BaseFun = function() { @@ -350,18 +348,33 @@ var BaseFun = function() {
350 // 遍历班次数. 348 // 遍历班次数.
351 for(var i =0 ; i <jsonArray.length; i++) { 349 for(var i =0 ; i <jsonArray.length; i++) {
352 // 判断当期遍历的班次是否属于当前的路牌. 350 // 判断当期遍历的班次是否属于当前的路牌.
353 - if(jsonArray[i].lpNo == lpNo) 351 + if(jsonArray[i].lpNo == lpNo) {
  352 + jsonArray[i].lpName = bxrclist[x].type + '_' + lpNo ;
354 lpbc.push(jsonArray[i]); 353 lpbc.push(jsonArray[i]);
  354 + }
  355 +
  356 + }
  357 + for(var l = 0 ; l <cara.length;l++ ) {
  358 + if(cara[l].lpNo == lpNo) {
  359 + cara[l].lpName = bxrclist[x].type + '_' + lpNo ;
  360 + }
355 } 361 }
356 // 按照发车序号顺序排序. 362 // 按照发车序号顺序排序.
357 lpbc.sort(function(a,b){return b.fcno-a.fcno}); 363 lpbc.sort(function(a,b){return b.fcno-a.fcno});
358 // 调整班次数.也就是说调整工时. 364 // 调整班次数.也就是说调整工时.
359 - baseF.tzlpgs01(lpbc,hoursV,map,dataMap,lpNo,saa);  
360 - rs = rs.concat(lpbc); 365 + rs = rs.concat(baseF.tzlpgs01(lpbc,hoursV,map,dataMap,lpNo,saa,bxrclist[x].type,lpNo,cara.length));
361 } 366 }
362 } 367 }
363 - var jar = baseF.tzsmbcsj01(baseF.setbcsAndfcno(rs),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj),lpNoA,dataMap;  
364 - //var jar = baseF.tzsmbcsj(baseF.setbcsAndfcno(rs),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj),lpNoA,dataMap; 368 + var jar01 = baseF.tzsmbcsj01(
  369 + baseF.setbcsAndfcno(
  370 + baseF.tzsztest(cara,
  371 + baseF.tzsmbcsj01(baseF.setbcsAndfcno(rs),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap),
  372 + dataMap)),
  373 + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);
  374 + baseF.jhfcjx01(jar01,dataMap);
  375 + var jar = baseF.tzsmbcsj01(
  376 + baseF.setbcsAndfcno(baseF.tzsmbcsj01(baseF.setbcsAndfcno(baseF.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap)),
  377 + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,saa[0].lbsj,dataMap);
365 var resultJA = new Array(); 378 var resultJA = new Array();
366 for(var m = 0 ; m < cara.length; m++) { 379 for(var m = 0 ; m < cara.length; m++) {
367 // 获取路牌编号. 380 // 获取路牌编号.
@@ -369,17 +382,140 @@ var BaseFun = function() { @@ -369,17 +382,140 @@ var BaseFun = function() {
369 // 定义路牌下的所有班次. 382 // 定义路牌下的所有班次.
370 var lpbc_ = new Array(); 383 var lpbc_ = new Array();
371 // 遍历班次数. 384 // 遍历班次数.
372 - for(var j =0 ; j <jar.length; j++) { 385 + for(var x =0 ; x <jar.length; x++) {
373 // 判断当期遍历的班次是否属于当前的路牌. 386 // 判断当期遍历的班次是否属于当前的路牌.
374 - if(jar[j].lpNo == lpNo_)  
375 - lpbc_.push(jar[j]); 387 + if(jar[x].lpNo == lpNo_) {
  388 + delete jar[x].fcint;
  389 + lpbc_.push(jar[x]);
  390 + }
376 } 391 }
377 // 按照发车序号顺序排序. 392 // 按照发车序号顺序排序.
378 lpbc_.sort(function(a,b){return a.fcno-b.fcno}); 393 lpbc_.sort(function(a,b){return a.fcno-b.fcno});
379 resultJA = resultJA.concat(baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map)); 394 resultJA = resultJA.concat(baseF.addjclbbc01(lpbc_,dataMap,saa[0].lbsj,map));
380 - // resultJA = resultJA.concat(lpbc_);  
381 } 395 }
382 - return {'json':resultJA,'bxrcgs':null}; 396 + return {'json':resultJA,'bxrcgs':bxrcgs};
  397 + },
  398 +
  399 + tzsztest : function(cara,tempa,dataMap) {
  400 + var jsrs = new Array();
  401 + for(var t = 0 ; t < cara.length; t++) {
  402 + var sslpbcA = new Array();
  403 + for(var j =0 ; j <tempa.length; j++) {
  404 + // 判断当期遍历的班次是否属于当前的路牌.
  405 + if(tempa[j].lpNo == cara[t].lpNo)
  406 + sslpbcA.push(tempa[j]);
  407 + }
  408 + sslpbcA.sort(function(a,b){return a.fcno-b.fcno});
  409 + baseF.isbczt(sslpbcA,dataMap);
  410 + baseF.istccf(sslpbcA,dataMap);
  411 + baseF.tztzsjInit01(sslpbcA,dataMap);
  412 + jsrs = jsrs.concat(sslpbcA);
  413 + }
  414 + return jsrs;
  415 + },
  416 +
  417 + isbczt : function(ar,dataMap) {
  418 + for(var r = 0 ; r< ar.length-1;r++) {
  419 + if(ar[r].bcType==dataMap.bcTypeArr.cf)
  420 + continue;
  421 + if(ar[r].xlDir == ar[r+1].xlDir) {
  422 + ar.splice(r, 1);
  423 + r--;
  424 + }
  425 +
  426 + }
  427 + },
  428 +
  429 + istccf : function(ar,dataMap) {
  430 + for(var r = 0 ; r < ar.length;r++) {
  431 + if(ar[r].bcType==dataMap.bcTypeArr.cf){
  432 + if(r == ar.length-1){
  433 + ar.splice(r, 1);
  434 + break;
  435 + }else {
  436 + var xbcsj = baseF.getDateTime(ar[r+1].fcsj);
  437 + if(dataMap.wgfsjd[0].st <= xbcsj && xbcsj <= dataMap.wgfsjd[0].ed) {
  438 + ar.splice(r, 1);
  439 + r--;
  440 + }
  441 + }
  442 + }
  443 + }
  444 +
  445 + },
  446 +
  447 + tztzsjInit01 : function(ar,dataMap) {
  448 + for(var r = 0 ; r< ar.length-1;r++) {
  449 + var sgbcfcsj = baseF.getDateTime(ar[r+1].fcsj),dqbcddsj = baseF.getDateTime(ar[r].ARRIVALTIME);
  450 + var dxmin = parseInt( (sgbcfcsj - dqbcddsj)/60000);
  451 + if(dxmin<0 || ar[r].STOPTIME<0) {
  452 + var cctag = baseF.dirDmToIndex(ar[r].xlDir);
  453 + dxmin = ar[r].bcType == dataMap.bcTypeArr.cf ? 0 : baseF.isgfsjd01(baseF.getDateTime(ar[r].fcsj),dataMap) ? dataMap.gftzsj[cctag] : dataMap.dgtzsj[cctag];
  454 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + dxmin);
  455 + ar[r+1].fcsj = baseF.getTimeStr(dqbcddsj);
  456 + dqbcddsj.setMinutes(dqbcddsj.getMinutes() + ar[r+1].bcsj);
  457 + ar[r+1].ARRIVALTIME = baseF.getTimeStr(dqbcddsj);
  458 + /*sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - dxmin);
  459 + ar[r].ARRIVALTIME = baseF.getTimeStr(sgbcfcsj);
  460 + sgbcfcsj.setMinutes(sgbcfcsj.getMinutes() - ar[r].bcsj);
  461 + ar[r].fcsj = baseF.getTimeStr(sgbcfcsj);*/
  462 + }
  463 + ar[r].STOPTIME = dxmin>180 ? 0 : dxmin;
  464 + }
  465 + },
  466 +
  467 + /**
  468 + * @description : (TODO) 均匀发车间隙
  469 + *
  470 + * @params : [arr--某个方向下的班次数组;dir--方向;zzsj--周转时间]
  471 + *
  472 + * @return : 返回一个数组.这里返回的是调整过后 发车间距均匀的班次数组
  473 + **/
  474 + jhfcjx01 : function(bcArr,dataMap) {
  475 + if(bcArr.length<=0)
  476 + return;
  477 + var dirA = dataMap.dira;
  478 + for(var d = 0 ; d < dirA.length; d++) {
  479 + var fxdm = dirA[d],fxbc = new Array();
  480 + var cctag = baseF.dirDmToIndex(fxdm);
  481 + for(var b = 0;b<bcArr.length ; b++) {
  482 + bcArr[b].fcint = baseF.getDateTime(bcArr[b].fcsj).getTime();
  483 + if(bcArr[b].xlDir == fxdm)
  484 + fxbc.push(bcArr[b]);
  485 + }
  486 + var kssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].kssj),// 开始时间.
  487 + jssj = baseF.getDateTime(dataMap.smbcsjArr[cctag].jssj);// 结束时间.
  488 + fxbc.sort(function(m,n){return m.fcint - n.fcint});
  489 + while(kssj<=jssj) {
  490 + var tagboolean = baseF.isgfsjd01(kssj,dataMap);
  491 + var zzsj = tagboolean ? dataMap.zzsj.gfzzsj : dataMap.zzsj.dgzzsj;
  492 + if(!tagboolean){
  493 + var temp = new Date();
  494 + temp.setHours(kssj.getHours());
  495 + temp.setMinutes(kssj.getMinutes()+zzsj);
  496 + var sjdbcArr = baseF.getObjRegion(kssj,temp,fxbc,dataMap);
  497 + var len_ = sjdbcArr.length;
  498 + var bcCount = baseF.getlpNum(sjdbcArr);// 定长度
  499 + if(len_>0 && bcCount > 0) {
  500 + var _fcjx = parseInt(Math.ceil(zzsj/bcCount));
  501 + var fcnosj = new Date(kssj);
  502 + for(var l = 0 ; l< len_ ; l++) {
  503 + sjdbcArr[l].fcsj = baseF.getTimeStr(fcnosj);
  504 + var _xxsj = baseF.getxssj(dataMap.zgfsjd,
  505 + dataMap.wgfsjd,fcnosj,dataMap.pcxssjArr,
  506 + dataMap.gfxxsjArr,baseF.dirDmToIndex(sjdbcArr[l].xlDir));// 获取行驶时间
  507 + sjdbcArr[l].bcsj = _xxsj;
  508 + var ddsj = new Date();
  509 + ddsj.setHours(fcnosj.getHours());
  510 + ddsj.setMinutes(fcnosj.getMinutes()+_xxsj);
  511 + sjdbcArr[l].ARRIVALTIME = baseF.getTimeStr(ddsj);
  512 + fcnosj.setMinutes(fcnosj.getMinutes() + _fcjx);
  513 + }
  514 + }
  515 + }
  516 + kssj = new Date(kssj.setMinutes(kssj.getMinutes() + zzsj));
  517 + }
  518 + }
383 }, 519 },
384 520
385 /** 521 /**
@@ -395,7 +531,7 @@ var BaseFun = function() { @@ -395,7 +531,7 @@ var BaseFun = function() {
395 var fcno = 0,dxfno = 0,stas = false; 531 var fcno = 0,dxfno = 0,stas = false;
396 for(var b = 0 ; b < bc.length;b++) { 532 for(var b = 0 ; b < bc.length;b++) {
397 var fxdm = baseF.dirDmToIndex(bc[b].xlDir); 533 var fxdm = baseF.dirDmToIndex(bc[b].xlDir);
398 - var car = {'lp':bc[b].lp, 'lpNo':bc[b].lpNo, 'lpName':bc[b].lpName, 'lpType':bc[b].lpType}; 534 + var car = {'lp':bc[b].lp, 'lpNo':bc[b].lpNo, 'lpName':bc[b].lpName, 'lpType':bc[b].lpType };
399 if(b==0) { 535 if(b==0) {
400 var dqbcfcsj = baseF.getDateTime(bc[b].fcsj); 536 var dqbcfcsj = baseF.getDateTime(bc[b].fcsj);
401 result.push(baseF.getbcObj( 537 result.push(baseF.getbcObj(
@@ -432,20 +568,10 @@ var BaseFun = function() { @@ -432,20 +568,10 @@ var BaseFun = function() {
432 * @param [arr--当前路牌下的班次数组;gs--当前路牌的总工时;dataMap--参数信息;lpNo--路牌编码;saa--参数信息] 568 * @param [arr--当前路牌下的班次数组;gs--当前路牌的总工时;dataMap--参数信息;lpNo--路牌编码;saa--参数信息]
433 * 569 *
434 * */ 570 * */
435 - tzlpgs01 : function(arr,gs,map,dataMap,lpNo,saa) { 571 + tzlpgs01 : function(arr,gs,map,dataMap,lpNo,saa,type,lpNo,cla) {
436 // 定义当前路牌的进场时间、早晚例保时间. 572 // 定义当前路牌的进场时间、早晚例保时间.
437 var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] + 573 var jczwsj = saa[0].lbsj*2 + dataMap.ccsjArr[baseF.dirDmToIndex(arr[0].xlDir)] +
438 dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)]; 574 dataMap.jcsjArr[baseF.dirDmToIndex(arr[arr.length-1].xlDir)];
439 - // 定义开始、结束时间.  
440 - //var st = null , ed = null;  
441 - // 根据路牌编码依次轮流取高峰之间和晚高峰之后的时间段.  
442 - /*if(lpNo%2!=0) {  
443 - st = dataMap.gfzjsjd[0].st;  
444 - ed = dataMap.gfzjsjd[0].ed;  
445 - }else {  
446 - st = dataMap.wgfzhsjd[0].st;  
447 - ed = dataMap.wgfzhsjd[0].ed;  
448 - }*/  
449 // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次. 575 // 定义路牌总工时.第一次切高峰之间和晚高峰之后的班次.
450 var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)); 576 var lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));
451 while(lpdqzgs>gs) { 577 while(lpdqzgs>gs) {
@@ -453,31 +579,66 @@ var BaseFun = function() { @@ -453,31 +579,66 @@ var BaseFun = function() {
453 // 得到当前路牌下的发车时间. 579 // 得到当前路牌下的发车时间.
454 var dqbcfcsj = baseF.getDateTime(arr[t].fcsj); 580 var dqbcfcsj = baseF.getDateTime(arr[t].fcsj);
455 // 判断时间范围. 581 // 判断时间范围.
456 - if(!baseF.isgfsjd01(dqbcfcsj,dataMap)) { 582 + if(!baseF.issplice(dqbcfcsj,dataMap,type,lpNo,cla)) {
457 arr.splice(t,1); 583 arr.splice(t,1);
458 break; 584 break;
459 } 585 }
460 } 586 }
461 lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2)); 587 lpdqzgs = parseFloat(((baseF.getlpzgs(arr) + jczwsj)/60).toFixed(2));
462 } 588 }
463 - // 判断总工时是否大于班型对应的工时.  
464 - /*if(lpdqzgs>gs) {  
465 - // 定义相差值.  
466 - var dx = parseFloat((lpdqzgs - gs).toFixed(2));  
467 - // 定义圈数.  
468 - var qs = Math.round(dx*60/70);  
469 - for(var t = 0 ; t<arr.length;t++) {  
470 - // 得到当前路牌下的发车时间.  
471 - var dqbcfcsj = baseF.getDateTime(arr[t].fcsj);  
472 - // 判断时间范围.  
473 - if(dqbcfcsj>st && dqbcfcsj<ed) {  
474 - arr[t-1].STOPTIME = 0;  
475 - // 切割.  
476 - arr.splice(t,qs*2);  
477 - break; 589 + for(var c = 0 ; c<arr.length;c++) {
  590 + var cfsjbc = baseF.getDateTime(arr[c].fcsj);
  591 + if(dataMap.gfzjsjd[0].st <= cfsjbc && cfsjbc <= dataMap.gfzjsjd[0].ed && arr[c].bcType == dataMap.bcTypeArr.cf )
  592 + gfzjst = baseF.getDateTime(arr[c].ARRIVALTIME);
  593 + }
  594 + gfzjst == null ? dataMap.gfzjsjd[0].st : gfzjst;
  595 + var gfzjbc = new Array(),wgfbc = new Array(),zgfbc = new Array();
  596 + for(var a = 0 ; a<arr.length;a++) {
  597 + var tmkssj = baseF.getDateTime(arr[a].fcsj)
  598 + if(gfzjst <= tmkssj && tmkssj <= dataMap.gfzjsjd[0].ed)
  599 + gfzjbc.push(arr[a]);
  600 + else if(dataMap.wgfsjd[0].st <= tmkssj && tmkssj <= dataMap.wgfsjd[0].ed)
  601 + wgfbc.push(arr[a]);
  602 + else
  603 + zgfbc.push(arr[a]);
  604 + }
  605 + gfzjbc.sort(function(a,b){return a.fcno-b.fcno});
  606 + wgfbc.sort(function(a,b){return a.fcno-b.fcno});
  607 + if(gfzjbc[gfzjbc.length-1].xlDir == wgfbc[0].xlDir)
  608 + gfzjbc.splice(gfzjbc.length-1,1);
  609 + if(type!='五工二休') {
  610 + var gfzjst = null;
  611 + var dxmin = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);
  612 + var addmin = parseInt(dxmin/gfzjbc.length);
  613 + for(var g = 0 ;g < gfzjbc.length;g++) {
  614 + if(gfzjbc[g].bcType != dataMap.bcTypeArr.cf)
  615 + gfzjbc[g].STOPTIME = gfzjbc[g].STOPTIME + addmin;
  616 + if(g==0) {
  617 + continue;
  618 + }else {
  619 + var tempd = baseF.getDateTime(gfzjbc[g-1].ARRIVALTIME);
  620 + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g-1].STOPTIME);
  621 + gfzjbc[g].fcsj = baseF.getTimeStr(tempd);
  622 + tempd.setMinutes(tempd.getMinutes() + gfzjbc[g].bcsj);
  623 + gfzjbc[g].ARRIVALTIME = baseF.getTimeStr(tempd);
478 } 624 }
479 } 625 }
480 - }*/ 626 + gfzjbc[gfzjbc.length-1].STOPTIME = parseInt((baseF.getDateTime(wgfbc[0].fcsj) - baseF.getDateTime(gfzjbc[gfzjbc.length-1].ARRIVALTIME))/60000);
  627 + }
  628 + return gfzjbc.concat(wgfbc).concat(zgfbc);
  629 + },
  630 +
  631 + issplice : function (kssj,dataMap,type,lpNo,cla){
  632 + var tag = false;
  633 + if(type=='五工二休' || lpNo <Math.round(cla/2)) {
  634 + if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) ||
  635 + ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed))
  636 + tag = true;
  637 + }else {
  638 + if(dataMap.zgfsjd[0].ed >= kssj || kssj >= dataMap.wgfsjd[0].st)
  639 + tag = true;
  640 + }
  641 + return tag;
481 }, 642 },
482 643
483 /** 644 /**
@@ -966,6 +1127,15 @@ var BaseFun = function() { @@ -966,6 +1127,15 @@ var BaseFun = function() {
966 return tag; 1127 return tag;
967 }, 1128 },
968 1129
  1130 + getcfdd : function(value,dirc) {
  1131 + var inv;
  1132 + if(value =='allYes')
  1133 + inv = parseInt(dirc);
  1134 + else
  1135 + inv = parseInt(value);
  1136 + return inv;
  1137 + },
  1138 +
969 plgfbc : function(saa , cara , map, seMap ,dataMap) { 1139 plgfbc : function(saa , cara , map, seMap ,dataMap) {
970 var len = cara.length,rs = new Array(); 1140 var len = cara.length,rs = new Array();
971 var lbsj = map.lb=='' ? 0:parseInt(map.lb); 1141 var lbsj = map.lb=='' ? 0:parseInt(map.lb);
@@ -982,14 +1152,16 @@ var BaseFun = function() { @@ -982,14 +1152,16 @@ var BaseFun = function() {
982 while(kssj<=endTime) { 1152 while(kssj<=endTime) {
983 cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag); 1153 cctag = map.linePlayType=='1' ? 0 : baseF.getfx(fxTagDm,cctag);
984 fxTagDm = 1; 1154 fxTagDm = 1;
  1155 + var cfdd = baseF.getcfdd(map.cfdd,cctag);
985 if(kssj> new Date (baseF.getCFDate(10,30)) && 1156 if(kssj> new Date (baseF.getCFDate(10,30)) &&
986 - kssj<new Date (baseF.getCFDate(12,0)) && $_cfn<1 ) { 1157 + kssj<new Date (baseF.getCFDate(11,30)) && $_cfn<1 && cfdd == cctag) {
987 $_cfn++; 1158 $_cfn++;
988 rs.push(baseF.getbcObj( 1159 rs.push(baseF.getbcObj(
989 kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf, 1160 kssj,dataMap.zwcArr[0],cara[c],dataMap.bcTypeArr.cf,
990 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次 1161 dataMap.dira[cctag],xhNo++,0,map,0,null,null,null,0,0));// 午餐班次
991 }else if(kssj> new Date (baseF.getCFDate(18,30)) && 1162 }else if(kssj> new Date (baseF.getCFDate(18,30)) &&
992 - kssj<new Date (baseF.getCFDate(20,0)) && $_cfw<1 ) { 1163 + kssj<new Date (baseF.getCFDate(19,30)) && $_cfw<1 && cfdd == cctag &&
  1164 + parseInt((endTime-kssj)/60000) > parseInt(dataMap.zwcArr[1])) {
993 $_cfw++; 1165 $_cfw++;
994 rs.push(baseF.getbcObj( 1166 rs.push(baseF.getbcObj(
995 kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf, 1167 kssj,dataMap.zwcArr[1],cara[c],dataMap.bcTypeArr.cf,
@@ -1009,8 +1181,7 @@ var BaseFun = function() { @@ -1009,8 +1181,7 @@ var BaseFun = function() {
1009 return rs; 1181 return rs;
1010 }, 1182 },
1011 1183
1012 - isgfsjd01 : function(kssj,dataMap) {  
1013 - 1184 + isgfsjd01 : function(kssj,dataMap,type) {
1014 var tag = false; 1185 var tag = false;
1015 if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) || ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed)) 1186 if((dataMap.zgfsjd[0].st <=kssj && kssj<= dataMap.zgfsjd[0].ed ) || ( dataMap.wgfsjd[0].st <= kssj && kssj <= dataMap.wgfsjd[0].ed))
1016 tag = true; 1187 tag = true;
@@ -1178,8 +1349,8 @@ var BaseFun = function() { @@ -1178,8 +1349,8 @@ var BaseFun = function() {
1178 * 1349 *
1179 * @return : 返回一个数组对象。这里返回的是时刻表明细数据 1350 * @return : 返回一个数组对象。这里返回的是时刻表明细数据
1180 **/ 1351 **/
1181 - tzsmbcsj01 : function(list,smbcsj,sj,cl,zd,lbsj) {  
1182 - var _obj = baseF.getsxAndxxbc(list); 1352 + tzsmbcsj01 : function(list,smbcsj,sj,cl,zd,lbsj,dm) {
  1353 + var _obj = baseF.getsxAndxxbc(list,dm);
1183 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次 1354 baseF.tcbc(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj ,_obj.xxbc);// 剔除上行不在时间范围内的班次
1184 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次 1355 baseF.tcbc(_obj.xxbc,smbcsj[1].kssj,smbcsj[1].jssj,_obj.sxbc);// 剔除下行不在时间范围内的班次
1185 baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间 1356 baseF.dzsmsj(_obj.sxbc,smbcsj[0].kssj,smbcsj[0].jssj,_obj.xxbc);// 调整上行首末班车时间
@@ -1191,7 +1362,7 @@ var BaseFun = function() { @@ -1191,7 +1362,7 @@ var BaseFun = function() {
1191 if(baseF.isDelete(baseF.getDateTime(kssj), 1362 if(baseF.isDelete(baseF.getDateTime(kssj),
1192 baseF.getDateTime(jssj), 1363 baseF.getDateTime(jssj),
1193 baseF.getDateTime(ar[s].fcsj))) { 1364 baseF.getDateTime(ar[s].fcsj))) {
1194 - var tempa = ar.concat(ppar),sslpA = new Array(); 1365 + /*var tempa = ar.concat(ppar),sslpA = new Array();
1195 for(var r = 0 ; r<tempa.length;r++) { 1366 for(var r = 0 ; r<tempa.length;r++) {
1196 if(tempa[r].lpNo == ar[s].lpNo) 1367 if(tempa[r].lpNo == ar[s].lpNo)
1197 sslpA.push(tempa[r]); 1368 sslpA.push(tempa[r]);
@@ -1211,7 +1382,7 @@ var BaseFun = function() { @@ -1211,7 +1382,7 @@ var BaseFun = function() {
1211 break; 1382 break;
1212 } 1383 }
1213 } 1384 }
1214 - } 1385 + }*/
1215 ar.splice(s, 1); 1386 ar.splice(s, 1);
1216 s--; 1387 s--;
1217 } 1388 }
@@ -1331,15 +1502,19 @@ var BaseFun = function() { @@ -1331,15 +1502,19 @@ var BaseFun = function() {
1331 return tag; 1502 return tag;
1332 }, 1503 },
1333 1504
1334 - getsxAndxxbc : function(json) { 1505 + getsxAndxxbc : function(json,dataMap) {
1335 var upArray = new Array(),downArray = new Array(),qt = new Array(); 1506 var upArray = new Array(),downArray = new Array(),qt = new Array();
1336 for(var j = 0 ; j< json.length ; j++) { 1507 for(var j = 0 ; j< json.length ; j++) {
1337 - if(json[j].bcType=='normal' || json[j].bcType=='region') { 1508 + //json[j].fcint = baseF.getDateTime(json[j].fcsj).getTime();
  1509 + if(json[j].bcType== dataMap.bcTypeArr.normal ||
  1510 + json[j].bcType== dataMap.bcTypeArr.region ||
  1511 + json[j].bcType== dataMap.bcTypeArr.major ||
  1512 + json[j].bcType== dataMap.bcTypeArr.venting) {
1338 if(json[j].xlDir == 'relationshipGraph-up') 1513 if(json[j].xlDir == 'relationshipGraph-up')
1339 upArray.push(json[j]); 1514 upArray.push(json[j]);
1340 else if(json[j].xlDir == 'relationshipGraph-down') 1515 else if(json[j].xlDir == 'relationshipGraph-down')
1341 downArray.push(json[j]); 1516 downArray.push(json[j]);
1342 - }else { 1517 + }else if(json[j].bcType == dataMap.bcTypeArr.cf) {
1343 qt.push(json[j]); 1518 qt.push(json[j]);
1344 } 1519 }
1345 } 1520 }
@@ -1676,24 +1851,26 @@ var BaseFun = function() { @@ -1676,24 +1851,26 @@ var BaseFun = function() {
1676 dqbcddsj.setMinutes(dqbcddsj.getMinutes() + _xxsj); 1851 dqbcddsj.setMinutes(dqbcddsj.getMinutes() + _xxsj);
1677 xgbc.ARRIVALTIME = baseF.getTimeStr(dqbcddsj);// 修改下个班次的到达时间 1852 xgbc.ARRIVALTIME = baseF.getTimeStr(dqbcddsj);// 修改下个班次的到达时间
1678 }, 1853 },
1679 - getObjRegion : function(t1,t2,arr) { 1854 + getObjRegion : function(t1,t2,arr,dataMap) {
1680 var _r = new Array(); 1855 var _r = new Array();
1681 for(var p= 0; p<arr.length ; p++) { 1856 for(var p= 0; p<arr.length ; p++) {
1682 var _t = baseF.getDateTime(arr[p].fcsj); 1857 var _t = baseF.getDateTime(arr[p].fcsj);
1683 - if(_t >= t1 && _t <= t2) 1858 + if(_t >= t1 && _t <= t2 && arr[p].bcType != dataMap.bcTypeArr.cf )
1684 _r.push(arr[p]); 1859 _r.push(arr[p]);
1685 } 1860 }
1686 - /*return baseF.sortDirArray(_r);*/  
1687 return _r.sort(function(a,b){return a.fcno-b.fcno}); 1861 return _r.sort(function(a,b){return a.fcno-b.fcno});
1688 }, 1862 },
1689 1863
1690 - getlpNum : function(arr) {  
1691 - var array = new Array();  
1692 - for(var r = 0 ; r < arr.length ; r++) {  
1693 - if(array.indexOf(arr[r].lpNo)<0)  
1694 - array.push(arr[r].lpNo); 1864 + getlpNum : function(sz) {
  1865 + var temparray = new Array(),len_ = 0;
  1866 + for(var r = 0 ; r <sz.length ; r++) {
  1867 + if(temparray.indexOf(sz[r].lpNo)<0){
  1868 + temparray.push(sz[r].lpNo);
  1869 + }
1695 } 1870 }
1696 - return (array.length-1); 1871 + len_ = temparray.length;
  1872 + temparray = null;
  1873 + return len_;
1697 }, 1874 },
1698 /** 1875 /**
1699 * @description : (TODO)更新进场与离场班次 1876 * @description : (TODO)更新进场与离场班次
src/main/resources/static/pages/base/timesmodel/js/d3.relationshipgraph.js
@@ -219,11 +219,11 @@ $(&#39;.updownread&#39;).on(&#39;click&#39;,function() { @@ -219,11 +219,11 @@ $(&#39;.updownread&#39;).on(&#39;click&#39;,function() {
219 // 执行选择框关闭函数. 219 // 执行选择框关闭函数.
220 RelationshipGraph.gClose(); 220 RelationshipGraph.gClose();
221 // 执行均匀发车间隙函数. 221 // 执行均匀发车间隙函数.
222 - RelationshipGraph.updownread(); 222 + RelationshipGraph.updownread01();
223 }); 223 });
224 }else { 224 }else {
225 // 执行均匀发车间隙函数 225 // 执行均匀发车间隙函数
226 - RelationshipGraph.updownread(); 226 + RelationshipGraph.updownread01();
227 } 227 }
228 }); 228 });
229 /************************************************************************************************************************************************/ 229 /************************************************************************************************************************************************/
@@ -245,17 +245,46 @@ $(&#39;.aboutread&#39;).on(&#39;click&#39;,function() { @@ -245,17 +245,46 @@ $(&#39;.aboutread&#39;).on(&#39;click&#39;,function() {
245 layer.closeAll(); 245 layer.closeAll();
246 // 执行选择框关闭函数. 246 // 执行选择框关闭函数.
247 RelationshipGraph.gClose(); 247 RelationshipGraph.gClose();
248 - // 执行均匀发车间隙函数. 248 + // 执行调整班次函数.
249 RelationshipGraph.aboutread(); 249 RelationshipGraph.aboutread();
250 }); 250 });
251 }else { 251 }else {
252 - // 执行均匀发车间隙函数 252 + // 执行调整班次函数
253 RelationshipGraph.aboutread(); 253 RelationshipGraph.aboutread();
254 } 254 }
255 }); 255 });
256 /************************************************************************************************************************************************/ 256 /************************************************************************************************************************************************/
257 257
258 /** 258 /**
  259 + * @description : (TODO) 修改路牌点击事件
  260 + *
  261 + * @status OK.
  262 + ************************************************************************************************************************************************/
  263 +$('.editlp').on('click',function() {
  264 + // 判断选择框是否存在.
  265 + if(RelationshipGraph.getFlagIndex()>0) {
  266 + // 关闭所有提示弹出层.
  267 + layer.closeAll();
  268 + layer.confirm('您正处于【批量班次操作】过程中...是否确定退出当前操作进行【修改路牌】!', {
  269 + btn : [ '确认提示并提交', '取消' ]
  270 + },function () {
  271 + // 关闭所有提示弹出层.
  272 + layer.closeAll();
  273 + // 执行选择框关闭函数.
  274 + RelationshipGraph.gClose();
  275 + // 执行修改路牌函数.
  276 + RelationshipGraph.editlpEvents();
  277 + });
  278 + }else {
  279 + // 执行修改路牌函数
  280 + RelationshipGraph.editlpEvents();
  281 + }
  282 +});
  283 +/************************************************************************************************************************************************/
  284 +
  285 +
  286 +
  287 +/**
259 * @description : (TODO) 监听保存数据事件. 288 * @description : (TODO) 监听保存数据事件.
260 * 289 *
261 * @status OK. 290 * @status OK.
@@ -438,7 +467,7 @@ var createTooltip = function createTooltip(self) { @@ -438,7 +467,7 @@ var createTooltip = function createTooltip(self) {
438 count = keys.length, 467 count = keys.length,
439 rows = []; 468 rows = [];
440 var showKeys = self.configuration.showKeys; 469 var showKeys = self.configuration.showKeys;
441 - var hiddenKeys = ['_PRIVATE_' ,'PARENTCOLOR', 'SETNODECOLOR', 'SETNODESTROKECOLOR','lpNo','lpName','lp','lpType', 470 + var hiddenKeys = ['_PRIVATE_' ,'PARENTCOLOR', 'SETNODECOLOR', 'SETNODESTROKECOLOR','lpNo','parent','lp','lpType',
442 'jhlc','tcc','ttinfo','xl','isfb','qdz','zdz','isSwitchXl','bz','bcs',/*'fcno'*/]; 471 'jhlc','tcc','ttinfo','xl','isfb','qdz','zdz','isSwitchXl','bz','bcs',/*'fcno'*/];
443 while (count--) { 472 while (count--) {
444 var element = keys[count]; 473 var element = keys[count];
@@ -459,7 +488,7 @@ var createTooltip = function createTooltip(self) { @@ -459,7 +488,7 @@ var createTooltip = function createTooltip(self) {
459 changeKey = '停息时间:'; 488 changeKey = '停息时间:';
460 else if(element=='xlDir') 489 else if(element=='xlDir')
461 changeKey = '行驶方向:'; 490 changeKey = '行驶方向:';
462 - else if(element=='parent') 491 + else if(element=='lpName')
463 changeKey = '当前路牌:'; 492 changeKey = '当前路牌:';
464 else if(element=='bcType') 493 else if(element=='bcType')
465 changeKey = '班次类型:'; 494 changeKey = '班次类型:';
@@ -607,7 +636,6 @@ var RelationshipGraph = function () { @@ -607,7 +636,6 @@ var RelationshipGraph = function () {
607 .attr('height', this.configuration.height + this.configuration.heightMargin) 636 .attr('height', this.configuration.height + this.configuration.heightMargin)
608 .attr('style', 'display: block') 637 .attr('style', 'display: block')
609 .append('g').attr("class", "gantt-chart"); 638 .append('g').attr("class", "gantt-chart");
610 -  
611 // 创建时间线性区域 639 // 创建时间线性区域
612 var x = d3.time 640 var x = d3.time
613 .scale() 641 .scale()
@@ -1197,6 +1225,7 @@ var RelationshipGraph = function () { @@ -1197,6 +1225,7 @@ var RelationshipGraph = function () {
1197 $_GlobalGraph.configuration.taskTypes.push({'lp':null,'lpName':len+1,'lpNo':len+1,'lpType':'普通路牌'}); 1225 $_GlobalGraph.configuration.taskTypes.push({'lp':null,'lpName':len+1,'lpNo':len+1,'lpType':'普通路牌'});
1198 // 添加路牌编码 1226 // 添加路牌编码
1199 $_GlobalGraph.configuration.lpNoA.push(len+1); 1227 $_GlobalGraph.configuration.lpNoA.push(len+1);
  1228 + $_GlobalGraph.configuration.lpNameA.push(len+1);
1200 // 修改图形高度 1229 // 修改图形高度
1201 $_GlobalGraph.configuration.height = $_GlobalGraph.configuration.lpNoA.length*60 + 240; 1230 $_GlobalGraph.configuration.height = $_GlobalGraph.configuration.lpNoA.length*60 + 240;
1202 // 修改初始化图形时间轴开始时间 1231 // 修改初始化图形时间轴开始时间
@@ -1226,6 +1255,43 @@ var RelationshipGraph = function () { @@ -1226,6 +1255,43 @@ var RelationshipGraph = function () {
1226 } 1255 }
1227 } 1256 }
1228 }, { 1257 }, {
  1258 + key : 'updownread01',
  1259 + value : function updownread01() {
  1260 + // 1、获取所有班次数.
  1261 + var list = $_GlobalGraph.getDataArray();
  1262 + var dataMap = $_GlobalGraph.configuration.dataMap;
  1263 + var rsmap = BaseFun.getsxAndxxbc(list,dataMap);
  1264 + var cara = $_GlobalGraph.configuration.taskTypes;
  1265 + var jar01 = rsmap.qt.concat(rsmap.sxbc).concat(rsmap.xxbc);
  1266 + BaseFun.jhfcjx01(jar01,dataMap);
  1267 + var jar = BaseFun.tzsmbcsj01(
  1268 + BaseFun.setbcsAndfcno(BaseFun.tzsmbcsj01(BaseFun.setbcsAndfcno(BaseFun.tzsztest(cara,jar01,dataMap)),dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap)),
  1269 + dataMap.smbcsjArr,dataMap.ccsjArr,dataMap.cclcArr,dataMap.qdzArr,dataMap.lbsj,dataMap);
  1270 + var resultJA = new Array();
  1271 + for(var m = 0 ; m < cara.length; m++) {
  1272 + // 获取路牌编号.
  1273 + var lpNo_ = cara[m].lpNo;
  1274 + // 定义路牌下的所有班次.
  1275 + var lpbc_ = new Array();
  1276 + // 遍历班次数.
  1277 + for(var x =0 ; x <jar.length; x++) {
  1278 + // 判断当期遍历的班次是否属于当前的路牌.
  1279 + if(jar[x].lpNo == lpNo_)
  1280 + lpbc_.push(jar[x]);
  1281 + }
  1282 + // 按照发车序号顺序排序.
  1283 + lpbc_.sort(function(a,b){return a.fcno-b.fcno});
  1284 + resultJA = resultJA.concat(BaseFun.addjclbbc01(lpbc_,dataMap,dataMap.lbsj,dataMap.map));
  1285 + }
  1286 + // 删除图形.
  1287 + $('svg.svg-chart').remove();
  1288 + // 重新创建图形.
  1289 + var graph_ = d3.select('#ganttSvg').relationshipGraph($_GlobalGraph.configuration);
  1290 + // 根据数据重新渲染图形.
  1291 + graph_.data(resultJA);
  1292 + $_GlobalGraph = graph_;
  1293 + }
  1294 + }, {
1229 key : 'updownread', 1295 key : 'updownread',
1230 value : function updownread() { 1296 value : function updownread() {
1231 //var index = layer.load(1, {shade: [0.1,'#fff'] });//0.1透明度的白色背景 1297 //var index = layer.load(1, {shade: [0.1,'#fff'] });//0.1透明度的白色背景
@@ -1337,6 +1403,15 @@ var RelationshipGraph = function () { @@ -1337,6 +1403,15 @@ var RelationshipGraph = function () {
1337 } 1403 }
1338 1404
1339 }, { 1405 }, {
  1406 + key : 'editlpEvents',
  1407 + value : function() {
  1408 + // 弹出层mobal页面
  1409 + $.get('/pages/base/timesmodel/editlp.html', function(m){
  1410 + $(pjaxContainer).append(m);
  1411 + $('#editlp_mobal').trigger('editlpMobal.show',[$_GlobalGraph,BaseFun]);
  1412 + });
  1413 + }
  1414 + }, {
1340 key : 'checkAdd', 1415 key : 'checkAdd',
1341 value : function checkAdd() { 1416 value : function checkAdd() {
1342 var xl = $_GlobalGraph.configuration.dataMap.map.lineName.split('_'); 1417 var xl = $_GlobalGraph.configuration.dataMap.map.lineName.split('_');
@@ -1483,7 +1558,8 @@ var RelationshipGraph = function () { @@ -1483,7 +1558,8 @@ var RelationshipGraph = function () {
1483 * */ 1558 * */
1484 key : 'setYValue', 1559 key : 'setYValue',
1485 value : function setYValue(obj) { 1560 value : function setYValue(obj) {
1486 - return $_GlobalGraph.configuration.y(obj.parent) + $_GlobalGraph.configuration.offsetY; 1561 + /*return $_GlobalGraph.configuration.y(obj.parent) + $_GlobalGraph.configuration.offsetY;*/
  1562 + return $_GlobalGraph.configuration.y(obj.lpName) + $_GlobalGraph.configuration.offsetY;
1487 } 1563 }
1488 }, { 1564 }, {
1489 /** 1565 /**
@@ -1710,7 +1786,8 @@ var RelationshipGraph = function () { @@ -1710,7 +1786,8 @@ var RelationshipGraph = function () {
1710 * */ 1786 * */
1711 key : 'setCirclecyV', 1787 key : 'setCirclecyV',
1712 value : function setCirclecyV(obj) { 1788 value : function setCirclecyV(obj) {
1713 - return $_GlobalGraph.configuration.y(obj.parent) + $_GlobalGraph.configuration.offsetY + 12; 1789 + /*return $_GlobalGraph.configuration.y(obj.parent) + $_GlobalGraph.configuration.offsetY + 12;*/
  1790 + return $_GlobalGraph.configuration.y(obj.lpName) + $_GlobalGraph.configuration.offsetY + 12;
1714 } 1791 }
1715 }, { 1792 }, {
1716 /** 1793 /**
@@ -1865,7 +1942,9 @@ var RelationshipGraph = function () { @@ -1865,7 +1942,9 @@ var RelationshipGraph = function () {
1865 * */ 1942 * */
1866 key : 'setText04YV', 1943 key : 'setText04YV',
1867 value : function setText04YV(obj) { 1944 value : function setText04YV(obj) {
1868 - return $_GlobalGraph.configuration.y(obj.parent) + $_GlobalGraph.configuration.offsetY + 16; 1945 + /*return $_GlobalGraph.configuration.y(obj.parent) + $_GlobalGraph.configuration.offsetY + 16;*/
  1946 + return $_GlobalGraph.configuration.y(obj.lpName) +$_GlobalGraph.configuration.offsetY + 16;
  1947 +
1869 } 1948 }
1870 }, { 1949 }, {
1871 /** 1950 /**
src/main/resources/static/pages/base/timesmodel/js/gantt.js
@@ -32,7 +32,6 @@ @@ -32,7 +32,6 @@
32 }); 32 });
33 $('.tipso-animation').tipso('show'); 33 $('.tipso-animation').tipso('show');
34 setTimeout(function(){$('.tipso-animation').tipso('hide');},4000); 34 setTimeout(function(){$('.tipso-animation').tipso('hide');},4000);
35 - console.log(map);  
36 //debugger; 35 //debugger;
37 // 1、定义开始与结束时间点字符串. 36 // 1、定义开始与结束时间点字符串.
38 var seMap = getStartAndEndDate(map); 37 var seMap = getStartAndEndDate(map);
@@ -379,7 +378,7 @@ @@ -379,7 +378,7 @@
379 ra.push(arr[i].lpNo); 378 ra.push(arr[i].lpNo);
380 name.push(arr[i].lpName); 379 name.push(arr[i].lpName);
381 } 380 }
382 - return {'lpNoA':ra,'lpNameA':name}; 381 + return {'lpNoA':ra,'lpNameA':name,};
383 } 382 }
384 /** 383 /**
385 * @description : (TODO) 获取甘特图参数配置信息. 384 * @description : (TODO) 获取甘特图参数配置信息.
src/main/resources/static/pages/base/timesmodel/tepms/bctype_temp.html
@@ -267,8 +267,8 @@ @@ -267,8 +267,8 @@
267 <div class="col-md-5"> 267 <div class="col-md-5">
268 <select type="text" class="form-control" name="cfdd" id="cfddSelect"> 268 <select type="text" class="form-control" name="cfdd" id="cfddSelect">
269 <option value="">请选择...</option> 269 <option value="">请选择...</option>
270 - <option value="{{map.line.startStationName}}">{{map.line.startStationName}}</option>  
271 - <option value="{{map.line.endStationName}}">{{map.line.endStationName}}</option> 270 + <option value="0">{{map.line.startStationName}}</option>
  271 + <option value="1">{{map.line.endStationName}}</option>
272 <option value="allYes">起终点站都可以</option> 272 <option value="allYes">起终点站都可以</option>
273 </select> 273 </select>
274 </div> 274 </div>
src/main/resources/static/pages/forms/statement/waybill.html
@@ -263,14 +263,13 @@ @@ -263,14 +263,13 @@
263 }); 263 });
264 jName = params[0].split("\\")[0]; 264 jName = params[0].split("\\")[0];
265 jGh = params[0].split("\\")[1]; 265 jGh = params[0].split("\\")[1];
266 - var id = $("#"+params[1]).val(); 266 + var id = params[3];
267 $get('/realSchedule/MapById',{id:id},function(result){ 267 $get('/realSchedule/MapById',{id:id},function(result){
268 result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD"); 268 result.scheduleDate = moment(result.scheduleDate).format("YYYY/MM/DD");
269 var ludan_1 = template('ludan_1',result); 269 var ludan_1 = template('ludan_1',result);
270 // 把渲染好的模版html文本追加到表格中 270 // 把渲染好的模版html文本追加到表格中
271 $('#forms .ludan_1').html(ludan_1); 271 $('#forms .ludan_1').html(ludan_1);
272 }); 272 });
273 - console.log(params);  
274 $get('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){ 273 $get('/realSchedule/queryListWaybill',{jName:jName,clZbh:params[1],lpName:params[2],date:date,line:line},function(result){
275 getTime(result); 274 getTime(result);
276 var ludan_2 = template('ludan_2',{list:result}); 275 var ludan_2 = template('ludan_2',{list:result});
@@ -336,7 +335,8 @@ @@ -336,7 +335,8 @@
336 <tr> 335 <tr>
337 <td width="45%">{{obj[4]}}\{{obj[1]}}</td> 336 <td width="45%">{{obj[4]}}\{{obj[1]}}</td>
338 <td width="32%">{{obj[2]}}</td> 337 <td width="32%">{{obj[2]}}</td>
339 - <td width="23%">{{obj[3]}}<input type="hidden" id="{{obj[2]}}" value="{{obj[0]}}"></td> 338 + <td width="20%">{{obj[3]}}</td>
  339 + <td width="3%" hidden="true">{{obj[0]}}</td>
340 </tr> 340 </tr>
341 {{/each}} 341 {{/each}}
342 {{if list.length == 0}} 342 {{if list.length == 0}}
@@ -348,9 +348,11 @@ @@ -348,9 +348,11 @@
348 <script type="text/html" id="list_info_px"> 348 <script type="text/html" id="list_info_px">
349 {{each list as obj i}} 349 {{each list as obj i}}
350 <tr> 350 <tr>
  351 +
351 <td width="45%">{{obj.jName}}\{{obj.jGh}}</td> 352 <td width="45%">{{obj.jName}}\{{obj.jGh}}</td>
352 <td width="32%">{{obj.clZbh}}</td> 353 <td width="32%">{{obj.clZbh}}</td>
353 - <td width="23%">{{obj.lpName}}<input type="hidden" id="{{obj.clZbh}}" value="{{obj.id}}"></td> 354 + <td width="23%">{{obj.lpName}}</td>
  355 + <td hidden="true">{{obj.id}}</td>
354 </tr> 356 </tr>
355 {{/each}} 357 {{/each}}
356 {{if list.length == 0}} 358 {{if list.length == 0}}
src/main/resources/static/pages/oil/add.html
@@ -259,7 +259,8 @@ @@ -259,7 +259,8 @@
259 return{nbbm: params.term, 259 return{nbbm: params.term,
260 gsbm:$('#ssgsdm').val(), 260 gsbm:$('#ssgsdm').val(),
261 fgsbm:$('#fgsdm').val(), 261 fgsbm:$('#fgsdm').val(),
262 - xlbm:$('#xlbm').val()}; 262 + xlbm:""
  263 + };
263 }, 264 },
264 processResults: function (data) { 265 processResults: function (data) {
265 return { 266 return {
src/main/resources/static/pages/oil/jyglList.html
@@ -69,7 +69,7 @@ @@ -69,7 +69,7 @@
69 <th width="3%">油价</th> 69 <th width="3%">油价</th>
70 <th width="4%">路单工号</th> 70 <th width="4%">路单工号</th>
71 <th width="4%">备注</th> 71 <th width="4%">备注</th>
72 - <th width="10%">操作</th> 72 + <th width="10%">总加注量</th>
73 </tr> 73 </tr>
74 <tr role="row" class="filter"> 74 <tr role="row" class="filter">
75 <td></td> 75 <td></td>
@@ -160,7 +160,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -160,7 +160,7 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
160 type="text" value="{{obj.bz}}" style=" width:45px" /> 160 type="text" value="{{obj.bz}}" style=" width:45px" />
161 </td> 161 </td>
162 <td> 162 <td>
163 - <!--<a class="btn btn-sm blue btn-outline" onclick="editCyjy('{{obj.nbbm}}')" data-pjax><i class="fa fa-edit"></i> 编辑</a>--> 163 + {{obj.zjzl}}
164 </td> 164 </td>
165 </tr> 165 </tr>
166 {{/each}} 166 {{/each}}
@@ -200,7 +200,6 @@ $(function(){ @@ -200,7 +200,6 @@ $(function(){
200 params['fgsbm']=$("#jyglListFgsdmId").val(); 200 params['fgsbm']=$("#jyglListFgsdmId").val();
201 params['rq']=$("#rq").val(); 201 params['rq']=$("#rq").val();
202 var i = layer.load(2); 202 var i = layer.load(2);
203 - console.log(params);  
204 $post('/cwjy/savejzl', params, function(){ 203 $post('/cwjy/savejzl', params, function(){
205 layer.close(i); 204 layer.close(i);
206 var cells = $('tr.filter')[0].cells 205 var cells = $('tr.filter')[0].cells
@@ -316,7 +315,7 @@ $(function(){ @@ -316,7 +315,7 @@ $(function(){
316 params['page'] = page; 315 params['page'] = page;
317 params['rq']=$("#rq").val(); 316 params['rq']=$("#rq").val();
318 317
319 - var i = 2; 318 + var i = layer.load(2);;
320 /* var jyglGsdm=$("#jyglListGsdmId").val(); 319 /* var jyglGsdm=$("#jyglListGsdmId").val();
321 var jyglFgsdm=$("#jyglListFgsdmId").val(); 320 var jyglFgsdm=$("#jyglListFgsdmId").val();
322 if(jyglGsdm=="" || jyglGsdm==null){ 321 if(jyglGsdm=="" || jyglGsdm==null){
@@ -340,7 +339,6 @@ $(function(){ @@ -340,7 +339,6 @@ $(function(){
340 $.each(data, function(i, obj) { 339 $.each(data, function(i, obj) {
341 obj.yyrq = $("#rq").val(); 340 obj.yyrq = $("#rq").val();
342 }); 341 });
343 - console.log(data)  
344 var bodyHtm = template('jygl_list_temp', {list: data}); 342 var bodyHtm = template('jygl_list_temp', {list: data});
345 $('#datatable_cwjy tbody').html(bodyHtm); 343 $('#datatable_cwjy tbody').html(bodyHtm);
346 iCheckChange(); 344 iCheckChange();
src/main/resources/static/pages/oil/list_ph.html
@@ -229,7 +229,9 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -229,7 +229,9 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
229 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"> 229 onafterpaste="this.value=this.value.replace(/[^(\d||/.)]/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')">
230 </td> 230 </td>
231 <td> 231 <td>
232 - {{obj.yh}} 232 +
  233 + <input data-id="{{obj.id}}" href="javascript:;" class="in_carpark_yh"
  234 + type="text" value="{{obj.yh}}" style=" width:50px" disabled="true" readOnly="true" />
233 </td> 235 </td>
234 <td> 236 <td>
235 <select data-id="{{obj.id}}" class="in_carpark_rylx" style=" width:80px" > 237 <select data-id="{{obj.id}}" class="in_carpark_rylx" style=" width:80px" >
@@ -319,7 +321,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -319,7 +321,6 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
319 } 321 }
320 }); 322 });
321 323
322 -  
323 //保存 324 //保存
324 $("#saveButton").on('click',function(){ 325 $("#saveButton").on('click',function(){
325 var ylArray = []; 326 var ylArray = [];
@@ -627,9 +628,83 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep @@ -627,9 +628,83 @@ onkeyup=&quot;this.value=this.value.replace(/[^(\d||/.)]/g,&#39;&#39;).replace(&#39;.&#39;,&#39;$#$&#39;).rep
627 }); 628 });
628 // startOptJzylLink($('#ll_oil_list .in_carpark_jzyl')); 629 // startOptJzylLink($('#ll_oil_list .in_carpark_jzyl'));
629 // startOptShylLink($('#ll_oil_list .in_carpark_shyl')); 630 // startOptShylLink($('#ll_oil_list .in_carpark_shyl'));
  631 + $('input').on('input propertychange',function(){
  632 + var id=$(this).data('id');
  633 + var jzl =$('.in_carpark_jzl[data-id='+id+']', '#ll_oil_list').html();
  634 + if(jzl=="" || jzl ==null){
  635 + jzl=0;
  636 + }
  637 + var czyl=$('.in_carpark_czyl[data-id='+id+']', '#ll_oil_list').val();
  638 + if(czyl=="" || czyl==null){
  639 + czyl=0;
  640 + }
  641 + var jzyl=$('.in_carpark_jzyl[data-id='+id+']', '#ll_oil_list').val();
  642 + if(jzyl=="" || jzyl==null){
  643 + jzyl=0;
  644 + }
  645 +
  646 + var sh = $('.in_carpark_shyl[data-id='+id+']', '#ll_oil_list').val();
  647 + if(sh=="" || sh==null){
  648 + sh=0;
  649 + }
  650 + var addNum=accAdd(jzl,czyl);
  651 + var subNum=accAdd(jzyl,sh);
  652 + var sub=numSubtr(addNum*1000,subNum*1000);
  653 + var subValue=0;
  654 + if(sub/1000>=0){
  655 + subValue=sub/1000;
  656 + }
  657 + $('.in_carpark_yh[data-id='+id+']', '#ll_oil_list').val(subValue);
  658 +
  659 + });
630 }); 660 });
631 } 661 }
  662 +
  663 + //页面计算防止精度丢失
  664 + var accAdd = function (a, b) {
  665 + var c, d, e;
  666 + try {
  667 + c = a.toString().split(".")[1].length;
  668 + } catch (f) {
  669 + c = 0;
  670 + }
  671 + try {
  672 + d = b.toString().split(".")[1].length;
  673 + } catch (f) {
  674 + d = 0;
  675 + }
  676 + return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
  677 + };
632 678
  679 + var numSubtr = function (a, b) {
  680 + var c, d, e;
  681 + try {
  682 + c = a.toString().split(".")[1].length;
  683 + } catch (f) {
  684 + c = 0;
  685 + }
  686 + try {
  687 + d = b.toString().split(".")[1].length;
  688 + } catch (f) {
  689 + d = 0;
  690 + }
  691 + return e = Math.pow(10, Math.max(c, d)), (a * e - b * e) / e;
  692 + };
  693 +
  694 + function mul(a, b) {
  695 + var c = 0,
  696 + d = a.toString(),
  697 + e = b.toString();
  698 + try {
  699 + c += d.split(".")[1].length;
  700 + } catch (f) {
  701 + }
  702 + try {
  703 + c += e.split(".")[1].length;
  704 + } catch (f) {
  705 + }
  706 + return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
  707 + }
633 //改变状态 708 //改变状态
634 function startOptJzylLink(es) { 709 function startOptJzylLink(es) {
635 es.editable({ 710 es.editable({