Commit 33f20edbc48c746b99d7c72c6c1aa80513252461

Authored by 潘钊
2 parents ae3cab80 31ad6156

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

src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
... ... @@ -262,6 +262,12 @@ public class ScheduleRealInfoController extends BaseController<ScheduleRealInfo,
262 262 @RequestParam String date,@RequestParam String state) {
263 263 return scheduleRealInfoService.queryUserInfo(line, date,state);
264 264 }
  265 +
  266 + @RequestMapping(value = "/queryUserInfoPx")
  267 + public List<ScheduleRealInfo> queryUserInfoPx(@RequestParam String line,
  268 + @RequestParam String date,@RequestParam String state,@RequestParam String type) {
  269 + return scheduleRealInfoService.queryUserInfoPx(line, date,state,type);
  270 + }
265 271  
266 272 @RequestMapping(value = "/exportWaybill")
267 273 public List<ScheduleRealInfo> exportWaybill(@RequestParam String jName, @RequestParam String clZbh,
... ... @@ -368,6 +374,11 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
368 374 return scheduleRealInfoService.realScheduleList(line,date);
369 375 }
370 376  
  377 + @RequestMapping(value="/realScheduleListQp")
  378 + public List<ScheduleRealInfo> realScheduleListQp(@RequestParam String line,@RequestParam String date){
  379 + return scheduleRealInfoService.realScheduleListQp(line,date);
  380 + }
  381 +
371 382 @RequestMapping(value="/multi_tzrc", method=RequestMethod.POST)
372 383 public Map<String, Object> multi_tzrc(@RequestParam String cpcsJson){
373 384 cpcsJson = StringEscapeUtils.unescapeHtml4(cpcsJson);
... ...
src/main/java/com/bsth/repository/oil/JdlRepository.java
... ... @@ -20,7 +20,7 @@ public interface JdlRepository extends BaseRepository&lt;Jdl, Integer&gt;{
20 20 "gs_bm, gs_name, fgs_bm, fgs_name, rq, nbbm, jdl, jdz, remarks, creater_date)" +
21 21 " VALUES(" +
22 22 "?1,?2,?3,?4,str_to_date(?5,'%Y-%m-%d'),?6,?7,?8,?9,str_to_date(?10,'%Y-%m-%d %H:%i:%s'))", nativeQuery=true)
23   - void insertData(String gsbm, String gsName, String fgsbm, String fgsName, String rq, String nbbm, Double jdl, String jdz, String remarks, String createrDate);
  23 + void insertData(String gsbm, String gsName, String fgsbm, String fgsName, String rq, String nbbm, String jdl, String jdz, String remarks, String createrDate);
24 24  
25 25 @Transactional
26 26 @Modifying
... ... @@ -35,6 +35,6 @@ public interface JdlRepository extends BaseRepository&lt;Jdl, Integer&gt;{
35 35 @Transactional
36 36 @Modifying
37 37 @Query(value="UPDATE bsth_c_jdl set jdl = ?1 where gs_bm = ?2 and fgs_bm = ?3 and rq = ?4 and nbbm = ?5 and jdz = ?6",nativeQuery=true)
38   - void UpdateJdl(Double jdl, String gsbm, String fgsbm, String rq, String nbbm, String jdz);
  38 + void UpdateJdl(String jdl, String gsbm, String fgsbm, String rq, String nbbm, String jdz);
39 39  
40 40 }
... ...
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
... ... @@ -30,6 +30,12 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
30 30  
31 31 @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName,s.sGh,s.sName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName,s.sGh,s.sName order by (lpName+1)")
32 32 List<ScheduleRealInfo> queryUserInfo2(String line,String date);
  33 +
  34 + @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName,s.sGh,s.sName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName,s.sGh,s.sName order by ?3 desc")
  35 + List<ScheduleRealInfo> queryUserInfoPxDesc(String line,String date,String state);
  36 +
  37 + @Query(value="select min(s.id), s.jGh,s.clZbh,s.lpName,s.jName,s.sGh,s.sName from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.jGh,s.clZbh,s.lpName ,s.jName,s.sGh,s.sName order by ?3 asc")
  38 + List<ScheduleRealInfo> queryUserInfoPxAsc(String line,String date,String state);
33 39  
34 40 @Query(value="select min(s.id), s.clZbh from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 GROUP BY s.clZbh ")
35 41 List<ScheduleRealInfo> queryUserInfo3(String line,String date);
... ... @@ -114,9 +120,12 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
114 120 void deleteByLineCodeAndDate(String xlBm, String schDate);
115 121  
116 122 //去掉了 xlBm is not null
117   - @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by (s.lpName+1), s.realExecDate,s.fcsj")
  123 + @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by s.realExecDate,s.fcsj, (s.lpName+1)")
118 124 List<ScheduleRealInfo> scheduleByDateAndLine(String line,String date);
119 125  
  126 + @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 order by (s.lpName+1), s.realExecDate,s.fcsj")
  127 + List<ScheduleRealInfo> scheduleByDateAndLineQp(String line,String date);
  128 +
120 129 @Query(value="select s from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.bcType not in ('in','out') order by s.xlBm")
121 130 List<ScheduleRealInfo> scheduleByDateAndLine2(String line,String date);
122 131  
... ...
src/main/java/com/bsth/service/oil/impl/JdlServiceImpl.java
... ... @@ -2,6 +2,7 @@ package com.bsth.service.oil.impl;
2 2  
3 3 import java.io.File;
4 4 import java.io.FileInputStream;
  5 +import java.text.DecimalFormat;
5 6 import java.text.SimpleDateFormat;
6 7 import java.util.ArrayList;
7 8 import java.util.Date;
... ... @@ -34,6 +35,7 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
34 35 public String importExcel(File file, String gsbm, String gsName, String fgsbm, String fgsName) {
35 36 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
36 37 SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  38 + DecimalFormat df = new DecimalFormat("######0.00");
37 39 List<String> textList = new ArrayList<String>();
38 40 try {
39 41 POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
... ... @@ -84,10 +86,10 @@ public class JdlServiceImpl extends BaseServiceImpl&lt;Jdl, Integer&gt; implements Jdl
84 86  
85 87 if(jdl_.size() == 0){
86 88 repository.insertData(gsbm, gsName, fgsbm, fgsName, rq, nbbm,
87   - jdl, jdz, remarks, sd.format(new Date()));
  89 + df.format(jdl), jdz, remarks, sd.format(new Date()));
88 90 }else{
89 91 jdl += jdl_.get(0);
90   - repository.UpdateJdl(jdl, gsbm, fgsbm, rq, nbbm, jdz);
  92 + repository.UpdateJdl(df.format(jdl), gsbm, fgsbm, rq, nbbm, jdz);
91 93 }
92 94 }
93 95 wb.close();
... ...
src/main/java/com/bsth/service/realcontrol/ScheduleRealInfoService.java
... ... @@ -62,6 +62,8 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
62 62  
63 63 List<ScheduleRealInfo> queryUserInfo(String line,String date,String state);
64 64  
  65 + List<ScheduleRealInfo> queryUserInfoPx(String line,String date,String state,String type);
  66 +
65 67 List<ScheduleRealInfo> exportWaybill(String jName,String clZbh,String lpName,String date,String line);
66 68  
67 69 List<ScheduleRealInfo> exportWaybillQp(String clZbh,String date,String line);
... ... @@ -122,7 +124,7 @@ public interface ScheduleRealInfoService extends BaseService&lt;ScheduleRealInfo, L
122 124 Map<String,Object> scheduleDaily(String line,String date);
123 125  
124 126 List<ScheduleRealInfo> realScheduleList(String line,String date);
125   -
  127 + List<ScheduleRealInfo> realScheduleListQp(String line,String date);
126 128  
127 129 List<Map<String,Object>> yesterdayDataList(String line,String date);
128 130  
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -56,9 +56,13 @@ import org.joda.time.format.DateTimeFormatter;
56 56 import org.slf4j.Logger;
57 57 import org.slf4j.LoggerFactory;
58 58 import org.springframework.beans.factory.annotation.Autowired;
  59 +import org.springframework.jdbc.core.JdbcTemplate;
  60 +import org.springframework.jdbc.core.RowMapper;
59 61 import org.springframework.stereotype.Service;
60 62  
61 63 import java.io.*;
  64 +import java.sql.ResultSet;
  65 +import java.sql.SQLException;
62 66 import java.text.DecimalFormat;
63 67 import java.text.ParseException;
64 68 import java.text.SimpleDateFormat;
... ... @@ -69,7 +73,8 @@ import java.util.zip.ZipOutputStream;
69 73 @Service
70 74 public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInfo, Long>
71 75 implements ScheduleRealInfoService {
72   -
  76 + @Autowired
  77 + JdbcTemplate jdbcTemplate;
73 78 @Autowired
74 79 ScheduleRealInfoRepository scheduleRealInfoRepository;
75 80  
... ... @@ -448,6 +453,33 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
448 453 }
449 454  
450 455 }
  456 +
  457 + @Override
  458 + public List<ScheduleRealInfo> queryUserInfoPx(String line, String date, String state,String type) {
  459 +// List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>();
  460 + String sqlPlan="select min(s.id) as id,s.j_Gh as jGh,s.cl_Zbh as clZbh,"
  461 + + " s.lp_Name as lpName,s.j_Name as jName,s.s_Gh as sGh,s.s_Name as sName"
  462 + + " from bsth_c_s_sp_info_real s "
  463 + + " where s.xl_Bm = '"+line+"' and DATE_FORMAT(s.schedule_Date,'%Y-%m-%d') ='"+date+"' "
  464 + + " GROUP BY s.j_Gh,s.cl_Zbh,s.lp_Name ,s.j_Name,s.s_Gh,"
  465 + + " s.s_Name order by "+state+" "+type;
  466 + List<ScheduleRealInfo> list= jdbcTemplate.query(sqlPlan,
  467 + new RowMapper<ScheduleRealInfo>(){
  468 + @Override
  469 + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  470 + ScheduleRealInfo t=new ScheduleRealInfo();
  471 + t.setId(rs.getLong("id"));
  472 + t.setjGh(rs.getString("jGh"));
  473 + t.setClZbh(rs.getString("clZbh"));
  474 + t.setLpName(rs.getString("lpName"));
  475 + t.setjName(rs.getString("jName"));
  476 + t.setsGh(rs.getString("sGh"));
  477 + t.setsName(rs.getString("sName"));
  478 + return t;
  479 + }
  480 + });
  481 + return list;
  482 + }
451 483  
452 484 /**
453 485 *
... ... @@ -1361,39 +1393,50 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1361 1393 if (s.getRemarks() != null) {
1362 1394 remarks += s.getRemarks();
1363 1395 }
1364   -
  1396 +
1365 1397 Set<ChildTaskPlan> childTaskPlans = s.getcTasks();
1366   - if (childTaskPlans.isEmpty()) {
1367   - if(s.getStatus()==-1){
1368   - if(remarks.indexOf("烂班")>-1){
1369   - remarks +="(烂班)";
1370   - }
1371   - s.setRemarks(remarks);
1372   - }
1373   -
1374   - }else{
  1398 + if (!childTaskPlans.isEmpty()) {
  1399 + s.setFcsjActual("");
  1400 + s.setZdsjActual("");
  1401 + }
  1402 +
  1403 + if(s.isDestroy()){
1375 1404 s.setFcsjActual("");
1376 1405 s.setZdsjActual("");
  1406 + s.setJhlc(0.0);
  1407 + remarks +="(烂班)";
  1408 + s.setRemarks(remarks);
1377 1409 }
1378 1410 listSchedule.add(s);
1379   - if(!childTaskPlans.isEmpty()){
1380   - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
1381   - while (it.hasNext()) {
1382   - ChildTaskPlan c = it.next();
1383   - if(!c.isDestroy()){
1384   - ScheduleRealInfo t=new ScheduleRealInfo();
1385   - t.setFcsjActual(c.getStartDate());
1386   - t.setZdsjActual(c.getEndDate());
1387   - t.setQdzName(c.getStartStationName());
1388   - t.setZdzName(c.getEndStationName());
1389   - t.setJhlc( Double.parseDouble(String.valueOf(c.getMileage())));
1390   - t.setRemarks(c.getRemarks());
1391   - t.setAdjustExps("子");
1392   - listSchedule.add(t);
1393   - }
1394   - }
  1411 + //计算营运里程,空驶里程
  1412 + if (!childTaskPlans.isEmpty()) {
  1413 + String sqlPc="select * from bsth_c_s_child_task where schedule="+s.getId() +" order by start_date ";
  1414 + List<ScheduleRealInfo> lists= jdbcTemplate.query(sqlPc,
  1415 + new RowMapper<ScheduleRealInfo>(){
  1416 + @Override
  1417 + public ScheduleRealInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
  1418 + ScheduleRealInfo t=new ScheduleRealInfo();
  1419 + if(rs.getInt("destroy")==0){
  1420 + t.setFcsjActual(rs.getString("start_date"));
  1421 + t.setZdsjActual(rs.getString("end_date"));
  1422 + t.setJhlc(rs.getDouble("mileage"));
  1423 + }else{
  1424 + t.setFcsjActual("");
  1425 + t.setZdsjActual("");
  1426 + t.setJhlc(0.0);
  1427 + }
  1428 + t.setQdzName(rs.getString("start_station_name"));
  1429 + t.setZdzName(rs.getString("end_station_name"));
  1430 + t.setRemarks(rs.getString("remarks"));
  1431 + t.setAdjustExps("子");
  1432 + return t;
  1433 + }
  1434 + });
  1435 + for (int j = 0; j < lists.size(); j++) {
  1436 + ScheduleRealInfo t=lists.get(j);
  1437 + listSchedule.add(t);
  1438 + }
1395 1439 }
1396   -
1397 1440 }
1398 1441  
1399 1442 return listSchedule;
... ... @@ -2004,7 +2047,99 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2004 2047 String zdsjActual="";
2005 2048 String zdsj1="";
2006 2049 String zdsjActual1="";
2007   - List<ScheduleRealInfo> listInfo=scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
  2050 + List<ScheduleRealInfo> listInfo=scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date);
  2051 + for (int i = 0; i < listInfo.size(); i++) {
  2052 + ScheduleRealInfo t=listInfo.get(i);
  2053 + if(!lpName.equals(t.getLpName())){
  2054 + zdsjActual=t.getZdsjActual();
  2055 + zdsj=t.getZdsj();
  2056 + t.setZdsjActual("");
  2057 + t.setZdsj("");
  2058 + }else{
  2059 + zdsj1=t.getZdsj();
  2060 + zdsjActual1=t.getZdsjActual();
  2061 + t.setZdsjActual(zdsjActual);
  2062 + t.setZdsj(zdsj);
  2063 + zdsj=zdsj1;
  2064 + zdsjActual=zdsjActual1;
  2065 + }
  2066 + lpName=t.getLpName();
  2067 + list.add(t);
  2068 + }
  2069 +
  2070 + List<ScheduleRealInfo> listInfo2=scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
  2071 + List<ScheduleRealInfo> xList=new ArrayList<ScheduleRealInfo>();
  2072 + List<ScheduleRealInfo> yList=new ArrayList<ScheduleRealInfo>();
  2073 + List<ScheduleRealInfo> zList=new ArrayList<ScheduleRealInfo>();
  2074 + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
  2075 + if(listInfo2.size()>0){
  2076 + int a=listInfo2.size()%3;
  2077 + int b=listInfo2.size()/3;
  2078 + int x = 0,y=0;
  2079 + if(a==2){
  2080 + x=b+1;y=x*2;;
  2081 + }else if(b==1){
  2082 + x=b+1;y=x*2-1;;
  2083 + }else{
  2084 + x=b;
  2085 + y=2*x;
  2086 +
  2087 + }
  2088 + for (int i = 0; i < listInfo2.size(); i++) {
  2089 + ScheduleRealInfo s=listInfo2.get(i);
  2090 + if(i+1<=x){
  2091 + xList.add(s);
  2092 + }else if((i+1)>x&&(i+1)<=y){
  2093 + yList.add(s);
  2094 + }else{
  2095 + zList.add(s);
  2096 + }
  2097 + }
  2098 + for (int i = 0; i < x; i++) {
  2099 + newList.add(xList.get(i));
  2100 + if(yList.size()>i){
  2101 + newList.add(yList.get(i));
  2102 + }else{
  2103 + newList.add(new ScheduleRealInfo());
  2104 + }
  2105 + if(zList.size()>i){
  2106 + newList.add(zList.get(i));
  2107 + }else{
  2108 + newList.add(new ScheduleRealInfo());
  2109 + }
  2110 +
  2111 + }
  2112 + }
  2113 + for (int i = 0; i < newList.size(); i++) {
  2114 + ScheduleRealInfo t1=newList.get(i);
  2115 + for (int j = 0; j < list.size(); j++) {
  2116 + ScheduleRealInfo t2=list.get(j);
  2117 + if(t1.getId()==t2.getId()){
  2118 + t1=t2;
  2119 + }
  2120 + }
  2121 + }
  2122 + return newList;
  2123 + }
  2124 +
  2125 + @Override
  2126 + public List<ScheduleRealInfo> realScheduleListQp(String line, String date) {
  2127 + /*List<ScheduleRealInfo> listInfo = scheduleRealInfoRepository.queryUserInfo(line, date);
  2128 + List<ScheduleRealInfo> listTotal = scheduleRealInfoRepository.scheduleByDateAndLine(line, date);
  2129 + for(ScheduleRealInfo info:listInfo){
  2130 + for(ScheduleRealInfo total:listTotal){
  2131 + if(info.getjGh().equals(total.getjGh()) && info.getLpName().equals(total.getLpName()) && info.getClZbh().equals(total.getClZbh())){
  2132 +
  2133 + }
  2134 + }
  2135 + }*/
  2136 + List<ScheduleRealInfo> list=new ArrayList<ScheduleRealInfo>();
  2137 + String lpName="lpName";
  2138 + String zdsj="";
  2139 + String zdsjActual="";
  2140 + String zdsj1="";
  2141 + String zdsjActual1="";
  2142 + List<ScheduleRealInfo> listInfo=scheduleRealInfoRepository.scheduleByDateAndLineQp(line, date);
2008 2143 for (int i = 0; i < listInfo.size(); i++) {
2009 2144 ScheduleRealInfo t=listInfo.get(i);
2010 2145 if(!lpName.equals(t.getLpName())){
... ... @@ -2039,7 +2174,6 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
2039 2174 return list;
2040 2175 }
2041 2176  
2042   -
2043 2177 public List<Map<String, Object>> yesterdayDataList(String line, String date) {
2044 2178 //前一天日期
2045 2179 // String date = sdfMonth.format(org.apache.commons.lang.time.DateUtils.addDays(new Date(), -1));
... ...
src/main/java/com/bsth/service/schedule/impl/SchedulePlanServiceImpl.java
... ... @@ -82,6 +82,7 @@ public class SchedulePlanServiceImpl extends BServiceImpl&lt;SchedulePlan, Long&gt; im
82 82 KieSession session = kieBase.newKieSession();
83 83 // 设置gloable对象,在drl中通过别名使用
84 84 session.setGlobal("scheduleResult", scheduleResults_output);
  85 + session.setGlobal("log", logger); // 设置日志
85 86  
86 87 // 载入数据
87 88 session.insert(scheduleCalcuParam_input);
... ...
src/main/resources/datatools/ktrs/test.ktr 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>employeesConfigDataInput</name>
  5 + <description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x4eba;&#x5458;&#x914d;&#x7f6e;&#x4fe1;&#x606f;</extended_description>
  7 + <trans_version/>
  8 + <trans_type>Normal</trans_type>
  9 + <trans_status>0</trans_status>
  10 + <directory>&#x2f;</directory>
  11 + <parameters>
  12 + <parameter>
  13 + <name>erroroutputdir</name>
  14 + <default_value/>
  15 + <description>ktr step&#x914d;&#x7f6e;&#x7684;&#x9519;&#x8bef;&#x8f93;&#x51fa;&#x76ee;&#x5f55;</description>
  16 + </parameter>
  17 + <parameter>
  18 + <name>filepath</name>
  19 + <default_value/>
  20 + <description>&#x5f85;&#x5904;&#x7406;&#x5bfc;&#x5165;&#x7684;excel&#x6587;&#x4ef6;</description>
  21 + </parameter>
  22 + </parameters>
  23 + <log>
  24 +<trans-log-table><connection/>
  25 +<schema/>
  26 +<table/>
  27 +<size_limit_lines/>
  28 +<interval/>
  29 +<timeout_days/>
  30 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STATUS</id><enabled>Y</enabled><name>STATUS</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name><subject/></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name><subject/></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name><subject/></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name><subject/></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name><subject/></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name><subject/></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>STARTDATE</id><enabled>Y</enabled><name>STARTDATE</name></field><field><id>ENDDATE</id><enabled>Y</enabled><name>ENDDATE</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>DEPDATE</id><enabled>Y</enabled><name>DEPDATE</name></field><field><id>REPLAYDATE</id><enabled>Y</enabled><name>REPLAYDATE</name></field><field><id>LOG_FIELD</id><enabled>Y</enabled><name>LOG_FIELD</name></field><field><id>EXECUTING_SERVER</id><enabled>N</enabled><name>EXECUTING_SERVER</name></field><field><id>EXECUTING_USER</id><enabled>N</enabled><name>EXECUTING_USER</name></field><field><id>CLIENT</id><enabled>N</enabled><name>CLIENT</name></field></trans-log-table>
  31 +<perf-log-table><connection/>
  32 +<schema/>
  33 +<table/>
  34 +<interval/>
  35 +<timeout_days/>
  36 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>SEQ_NR</id><enabled>Y</enabled><name>SEQ_NR</name></field><field><id>LOGDATE</id><enabled>Y</enabled><name>LOGDATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>INPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>INPUT_BUFFER_ROWS</name></field><field><id>OUTPUT_BUFFER_ROWS</id><enabled>Y</enabled><name>OUTPUT_BUFFER_ROWS</name></field></perf-log-table>
  37 +<channel-log-table><connection/>
  38 +<schema/>
  39 +<table/>
  40 +<timeout_days/>
  41 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>LOGGING_OBJECT_TYPE</id><enabled>Y</enabled><name>LOGGING_OBJECT_TYPE</name></field><field><id>OBJECT_NAME</id><enabled>Y</enabled><name>OBJECT_NAME</name></field><field><id>OBJECT_COPY</id><enabled>Y</enabled><name>OBJECT_COPY</name></field><field><id>REPOSITORY_DIRECTORY</id><enabled>Y</enabled><name>REPOSITORY_DIRECTORY</name></field><field><id>FILENAME</id><enabled>Y</enabled><name>FILENAME</name></field><field><id>OBJECT_ID</id><enabled>Y</enabled><name>OBJECT_ID</name></field><field><id>OBJECT_REVISION</id><enabled>Y</enabled><name>OBJECT_REVISION</name></field><field><id>PARENT_CHANNEL_ID</id><enabled>Y</enabled><name>PARENT_CHANNEL_ID</name></field><field><id>ROOT_CHANNEL_ID</id><enabled>Y</enabled><name>ROOT_CHANNEL_ID</name></field></channel-log-table>
  42 +<step-log-table><connection/>
  43 +<schema/>
  44 +<table/>
  45 +<timeout_days/>
  46 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>TRANSNAME</id><enabled>Y</enabled><name>TRANSNAME</name></field><field><id>STEPNAME</id><enabled>Y</enabled><name>STEPNAME</name></field><field><id>STEP_COPY</id><enabled>Y</enabled><name>STEP_COPY</name></field><field><id>LINES_READ</id><enabled>Y</enabled><name>LINES_READ</name></field><field><id>LINES_WRITTEN</id><enabled>Y</enabled><name>LINES_WRITTEN</name></field><field><id>LINES_UPDATED</id><enabled>Y</enabled><name>LINES_UPDATED</name></field><field><id>LINES_INPUT</id><enabled>Y</enabled><name>LINES_INPUT</name></field><field><id>LINES_OUTPUT</id><enabled>Y</enabled><name>LINES_OUTPUT</name></field><field><id>LINES_REJECTED</id><enabled>Y</enabled><name>LINES_REJECTED</name></field><field><id>ERRORS</id><enabled>Y</enabled><name>ERRORS</name></field><field><id>LOG_FIELD</id><enabled>N</enabled><name>LOG_FIELD</name></field></step-log-table>
  47 +<metrics-log-table><connection/>
  48 +<schema/>
  49 +<table/>
  50 +<timeout_days/>
  51 +<field><id>ID_BATCH</id><enabled>Y</enabled><name>ID_BATCH</name></field><field><id>CHANNEL_ID</id><enabled>Y</enabled><name>CHANNEL_ID</name></field><field><id>LOG_DATE</id><enabled>Y</enabled><name>LOG_DATE</name></field><field><id>METRICS_DATE</id><enabled>Y</enabled><name>METRICS_DATE</name></field><field><id>METRICS_CODE</id><enabled>Y</enabled><name>METRICS_CODE</name></field><field><id>METRICS_DESCRIPTION</id><enabled>Y</enabled><name>METRICS_DESCRIPTION</name></field><field><id>METRICS_SUBJECT</id><enabled>Y</enabled><name>METRICS_SUBJECT</name></field><field><id>METRICS_TYPE</id><enabled>Y</enabled><name>METRICS_TYPE</name></field><field><id>METRICS_VALUE</id><enabled>Y</enabled><name>METRICS_VALUE</name></field></metrics-log-table>
  52 + </log>
  53 + <maxdate>
  54 + <connection/>
  55 + <table/>
  56 + <field/>
  57 + <offset>0.0</offset>
  58 + <maxdiff>0.0</maxdiff>
  59 + </maxdate>
  60 + <size_rowset>10000</size_rowset>
  61 + <sleep_time_empty>50</sleep_time_empty>
  62 + <sleep_time_full>50</sleep_time_full>
  63 + <unique_connections>N</unique_connections>
  64 + <feedback_shown>Y</feedback_shown>
  65 + <feedback_size>50000</feedback_size>
  66 + <using_thread_priorities>Y</using_thread_priorities>
  67 + <shared_objects_file/>
  68 + <capture_step_performance>N</capture_step_performance>
  69 + <step_performance_capturing_delay>1000</step_performance_capturing_delay>
  70 + <step_performance_capturing_size_limit>100</step_performance_capturing_size_limit>
  71 + <dependencies>
  72 + </dependencies>
  73 + <partitionschemas>
  74 + </partitionschemas>
  75 + <slaveservers>
  76 + </slaveservers>
  77 + <clusterschemas>
  78 + </clusterschemas>
  79 + <created_user>-</created_user>
  80 + <created_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 15&#x3a;12&#x3a;27.273</modified_date>
  83 + <key_for_session_key>H4sIAAAAAAAAAAMAAAAAAAAAAAA&#x3d;</key_for_session_key>
  84 + <is_key_private>N</is_key_private>
  85 + </info>
  86 + <notepads>
  87 + <notepad>
  88 + <note>&#x8fd9;&#x91cc;&#x6709;&#x4e9b;&#x95ee;&#x9898;&#xa;&#x5728;window2012&#x7684;&#x73af;&#x5883;&#x4e0b;&#xff0c;&#xa;MySql&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x4e2d;&#x5982;&#x679c;&#x8fd4;&#x56de;&#x4e2d;&#x6587;&#x5185;&#x5bb9;&#x7684;&#x5b57;&#x6bb5;&#xff0c;&#x8fd9;&#x4e2a;&#x5185;&#x5bb9;&#x4e71;&#x7801;&#xa;&#x89e3;&#x51b3;&#x529e;&#x6cd5;&#xff0c;&#x5c31;&#x662f;&#x6570;&#x636e;&#x5e93;&#x67e5;&#x8be2;&#x5168;&#x90e8;&#x7f13;&#x5b58;&#xff0c;&#x5c31;&#x4e0d;&#x4e71;&#x7801;&#xa;linux&#x73af;&#x5883;&#x4e0b;&#x6ca1;&#x95ee;&#x9898;</note>
  89 + <xloc>101</xloc>
  90 + <yloc>264</yloc>
  91 + <width>333</width>
  92 + <heigth>90</heigth>
  93 + <fontname>YaHei Consolas Hybrid</fontname>
  94 + <fontsize>12</fontsize>
  95 + <fontbold>N</fontbold>
  96 + <fontitalic>N</fontitalic>
  97 + <fontcolorred>0</fontcolorred>
  98 + <fontcolorgreen>0</fontcolorgreen>
  99 + <fontcolorblue>0</fontcolorblue>
  100 + <backgroundcolorred>255</backgroundcolorred>
  101 + <backgroundcolorgreen>205</backgroundcolorgreen>
  102 + <backgroundcolorblue>112</backgroundcolorblue>
  103 + <bordercolorred>100</bordercolorred>
  104 + <bordercolorgreen>100</bordercolorgreen>
  105 + <bordercolorblue>100</bordercolorblue>
  106 + <drawshadow>Y</drawshadow>
  107 + </notepad>
  108 + </notepads>
  109 + <connection>
  110 + <name>bus_control_variable</name>
  111 + <server>&#x24;&#x7b;v_db_ip&#x7d;</server>
  112 + <type>MYSQL</type>
  113 + <access>Native</access>
  114 + <database>&#x24;&#x7b;v_db_dname&#x7d;</database>
  115 + <port>3306</port>
  116 + <username>&#x24;&#x7b;v_db_uname&#x7d;</username>
  117 + <password>&#x24;&#x7b;v_db_pwd&#x7d;</password>
  118 + <servername/>
  119 + <data_tablespace/>
  120 + <index_tablespace/>
  121 + <attributes>
  122 + <attribute><code>EXTRA_OPTION_MYSQL.characterEncoding</code><attribute>utf8</attribute></attribute>
  123 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  124 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  125 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  126 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  127 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  128 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  129 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  130 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  131 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  132 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  133 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  134 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  135 + </attributes>
  136 + </connection>
  137 + <connection>
  138 + <name>bus_control_&#x516c;&#x53f8;_201</name>
  139 + <server>localhost</server>
  140 + <type>MYSQL</type>
  141 + <access>Native</access>
  142 + <database>control</database>
  143 + <port>3306</port>
  144 + <username>root</username>
  145 + <password>Encrypted </password>
  146 + <servername/>
  147 + <data_tablespace/>
  148 + <index_tablespace/>
  149 + <attributes>
  150 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  151 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  152 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  153 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  154 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  155 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  156 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  157 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  158 + <attribute><code>STREAM_RESULTS</code><attribute>N</attribute></attribute>
  159 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  160 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  161 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  162 + </attributes>
  163 + </connection>
  164 + <connection>
  165 + <name>bus_control_&#x672c;&#x673a;</name>
  166 + <server>localhost</server>
  167 + <type>MYSQL</type>
  168 + <access>Native</access>
  169 + <database>control</database>
  170 + <port>3306</port>
  171 + <username>root</username>
  172 + <password>Encrypted </password>
  173 + <servername/>
  174 + <data_tablespace/>
  175 + <index_tablespace/>
  176 + <attributes>
  177 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  178 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  179 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  180 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  181 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  182 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  183 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  184 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  185 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  186 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  187 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  188 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  189 + </attributes>
  190 + </connection>
  191 + <connection>
  192 + <name>xlab_mysql_youle</name>
  193 + <server>101.231.124.8</server>
  194 + <type>MYSQL</type>
  195 + <access>Native</access>
  196 + <database>xlab_youle</database>
  197 + <port>45687</port>
  198 + <username>xlab-youle</username>
  199 + <password>Encrypted 2be98afc86aa78a88aa1be369d187a3df</password>
  200 + <servername/>
  201 + <data_tablespace/>
  202 + <index_tablespace/>
  203 + <attributes>
  204 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  205 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  206 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  207 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  208 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  209 + <attribute><code>PORT_NUMBER</code><attribute>45687</attribute></attribute>
  210 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  211 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  212 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  213 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  214 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  215 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  216 + </attributes>
  217 + </connection>
  218 + <connection>
  219 + <name>xlab_mysql_youle&#xff08;&#x672c;&#x673a;&#xff09;</name>
  220 + <server>localhost</server>
  221 + <type>MYSQL</type>
  222 + <access>Native</access>
  223 + <database>xlab_youle</database>
  224 + <port>3306</port>
  225 + <username>root</username>
  226 + <password>Encrypted </password>
  227 + <servername/>
  228 + <data_tablespace/>
  229 + <index_tablespace/>
  230 + <attributes>
  231 + <attribute><code>EXTRA_OPTION_MYSQL.defaultFetchSize</code><attribute>500</attribute></attribute>
  232 + <attribute><code>EXTRA_OPTION_MYSQL.useCursorFetch</code><attribute>true</attribute></attribute>
  233 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  234 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  235 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  236 + <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
  237 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  238 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  239 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  240 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>N</attribute></attribute>
  241 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>N</attribute></attribute>
  242 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  243 + </attributes>
  244 + </connection>
  245 + <connection>
  246 + <name>xlab_youle</name>
  247 + <server/>
  248 + <type>MYSQL</type>
  249 + <access>JNDI</access>
  250 + <database>xlab_youle</database>
  251 + <port>1521</port>
  252 + <username/>
  253 + <password>Encrypted </password>
  254 + <servername/>
  255 + <data_tablespace/>
  256 + <index_tablespace/>
  257 + <attributes>
  258 + <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
  259 + <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
  260 + <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
  261 + <attribute><code>PORT_NUMBER</code><attribute>1521</attribute></attribute>
  262 + <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>N</attribute></attribute>
  263 + <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
  264 + <attribute><code>STREAM_RESULTS</code><attribute>Y</attribute></attribute>
  265 + <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
  266 + <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
  267 + <attribute><code>USE_POOLING</code><attribute>N</attribute></attribute>
  268 + </attributes>
  269 + </connection>
  270 + <order>
  271 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  272 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  273 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  274 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</from><to>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
  277 + <hop> <from>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</from><to>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</to><enabled>Y</enabled> </hop>
  278 + <hop> <from>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</from><to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</to><enabled>Y</enabled> </hop>
  279 + <hop> <from>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</to><enabled>Y</enabled> </hop>
  280 + </order>
  281 + <step>
  282 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  283 + <type>ExcelInput</type>
  284 + <description/>
  285 + <distribute>Y</distribute>
  286 + <custom_distribution/>
  287 + <copies>1</copies>
  288 + <partitioning>
  289 + <method>none</method>
  290 + <schema_name/>
  291 + </partitioning>
  292 + <header>Y</header>
  293 + <noempty>Y</noempty>
  294 + <stoponempty>N</stoponempty>
  295 + <filefield/>
  296 + <sheetfield/>
  297 + <sheetrownumfield/>
  298 + <rownumfield/>
  299 + <sheetfield/>
  300 + <filefield/>
  301 + <limit>0</limit>
  302 + <encoding/>
  303 + <add_to_result_filenames>Y</add_to_result_filenames>
  304 + <accept_filenames>Y</accept_filenames>
  305 + <accept_field>filepath_</accept_field>
  306 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  307 + <file>
  308 + <name/>
  309 + <filemask/>
  310 + <exclude_filemask/>
  311 + <file_required>N</file_required>
  312 + <include_subfolders>N</include_subfolders>
  313 + </file>
  314 + <fields>
  315 + <field>
  316 + <name>&#x7ebf;&#x8def;</name>
  317 + <type>String</type>
  318 + <length>-1</length>
  319 + <precision>-1</precision>
  320 + <trim_type>none</trim_type>
  321 + <repeat>N</repeat>
  322 + <format/>
  323 + <currency/>
  324 + <decimal/>
  325 + <group/>
  326 + </field>
  327 + <field>
  328 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  329 + <type>String</type>
  330 + <length>-1</length>
  331 + <precision>-1</precision>
  332 + <trim_type>none</trim_type>
  333 + <repeat>N</repeat>
  334 + <format>&#x23;</format>
  335 + <currency/>
  336 + <decimal/>
  337 + <group/>
  338 + </field>
  339 + <field>
  340 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  341 + <type>String</type>
  342 + <length>-1</length>
  343 + <precision>-1</precision>
  344 + <trim_type>none</trim_type>
  345 + <repeat>N</repeat>
  346 + <format>&#x23;</format>
  347 + <currency/>
  348 + <decimal/>
  349 + <group/>
  350 + </field>
  351 + <field>
  352 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  353 + <type>String</type>
  354 + <length>-1</length>
  355 + <precision>-1</precision>
  356 + <trim_type>none</trim_type>
  357 + <repeat>N</repeat>
  358 + <format/>
  359 + <currency/>
  360 + <decimal/>
  361 + <group/>
  362 + </field>
  363 + <field>
  364 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  365 + <type>String</type>
  366 + <length>-1</length>
  367 + <precision>-1</precision>
  368 + <trim_type>none</trim_type>
  369 + <repeat>N</repeat>
  370 + <format>&#x23;</format>
  371 + <currency/>
  372 + <decimal/>
  373 + <group/>
  374 + </field>
  375 + <field>
  376 + <name>&#x552e;&#x7968;&#x5458;</name>
  377 + <type>String</type>
  378 + <length>-1</length>
  379 + <precision>-1</precision>
  380 + <trim_type>none</trim_type>
  381 + <repeat>N</repeat>
  382 + <format/>
  383 + <currency/>
  384 + <decimal/>
  385 + <group/>
  386 + </field>
  387 + </fields>
  388 + <sheets>
  389 + <sheet>
  390 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  391 + <startrow>0</startrow>
  392 + <startcol>0</startcol>
  393 + </sheet>
  394 + </sheets>
  395 + <strict_types>N</strict_types>
  396 + <error_ignored>N</error_ignored>
  397 + <error_line_skipped>N</error_line_skipped>
  398 + <bad_line_files_destination_directory/>
  399 + <bad_line_files_extension>warning</bad_line_files_extension>
  400 + <error_line_files_destination_directory/>
  401 + <error_line_files_extension>error</error_line_files_extension>
  402 + <line_number_files_destination_directory/>
  403 + <line_number_files_extension>line</line_number_files_extension>
  404 + <shortFileFieldName/>
  405 + <pathFieldName/>
  406 + <hiddenFieldName/>
  407 + <lastModificationTimeFieldName/>
  408 + <uriNameFieldName/>
  409 + <rootUriNameFieldName/>
  410 + <extensionFieldName/>
  411 + <sizeFieldName/>
  412 + <spreadsheet_type>JXL</spreadsheet_type>
  413 + <cluster_schema/>
  414 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  415 + <xloc>93</xloc>
  416 + <yloc>51</yloc>
  417 + <draw>Y</draw>
  418 + </GUI>
  419 + </step>
  420 +
  421 + <step>
  422 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  423 + <type>Constant</type>
  424 + <description/>
  425 + <distribute>Y</distribute>
  426 + <custom_distribution/>
  427 + <copies>1</copies>
  428 + <partitioning>
  429 + <method>none</method>
  430 + <schema_name/>
  431 + </partitioning>
  432 + <fields>
  433 + <field>
  434 + <name>isCancel</name>
  435 + <type>Integer</type>
  436 + <format/>
  437 + <currency/>
  438 + <decimal/>
  439 + <group/>
  440 + <nullif>0</nullif>
  441 + <length>-1</length>
  442 + <precision>-1</precision>
  443 + <set_empty_string>N</set_empty_string>
  444 + </field>
  445 + </fields>
  446 + <cluster_schema/>
  447 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  448 + <xloc>225</xloc>
  449 + <yloc>53</yloc>
  450 + <draw>Y</draw>
  451 + </GUI>
  452 + </step>
  453 +
  454 + <step>
  455 + <name>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</name>
  456 + <type>DBJoin</type>
  457 + <description/>
  458 + <distribute>Y</distribute>
  459 + <custom_distribution/>
  460 + <copies>1</copies>
  461 + <partitioning>
  462 + <method>none</method>
  463 + <schema_name/>
  464 + </partitioning>
  465 + <connection>bus_control_variable</connection>
  466 + <rowlimit>1</rowlimit>
  467 + <sql>select id as sid from bsth_c_personnel&#xa;where job_code &#x3d; &#x3f; and personnel_name &#x3d; &#x3f;</sql>
  468 + <outer_join>Y</outer_join>
  469 + <replace_vars>N</replace_vars>
  470 + <parameter>
  471 + <field>
  472 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  473 + <type>String</type>
  474 + </field>
  475 + <field>
  476 + <name>&#x552e;&#x7968;&#x5458;</name>
  477 + <type>String</type>
  478 + </field>
  479 + </parameter>
  480 + <cluster_schema/>
  481 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  482 + <xloc>673</xloc>
  483 + <yloc>47</yloc>
  484 + <draw>Y</draw>
  485 + </GUI>
  486 + </step>
  487 +
  488 + <step>
  489 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</name>
  490 + <type>InsertUpdate</type>
  491 + <description/>
  492 + <distribute>Y</distribute>
  493 + <custom_distribution/>
  494 + <copies>1</copies>
  495 + <partitioning>
  496 + <method>none</method>
  497 + <schema_name/>
  498 + </partitioning>
  499 + <connection>bus_control_variable</connection>
  500 + <commit>100</commit>
  501 + <update_bypassed>N</update_bypassed>
  502 + <lookup>
  503 + <schema/>
  504 + <table>bsth_c_s_ecinfo</table>
  505 + <key>
  506 + <name>xlid</name>
  507 + <field>xl</field>
  508 + <condition>&#x3d;</condition>
  509 + <name2/>
  510 + </key>
  511 + <key>
  512 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  513 + <field>dbbm</field>
  514 + <condition>&#x3d;</condition>
  515 + <name2/>
  516 + </key>
  517 + <value>
  518 + <name>xl</name>
  519 + <rename>xlid</rename>
  520 + <update>Y</update>
  521 + </value>
  522 + <value>
  523 + <name>dbbm</name>
  524 + <rename>&#x642d;&#x73ed;&#x7f16;&#x7801;</rename>
  525 + <update>Y</update>
  526 + </value>
  527 + <value>
  528 + <name>jsy</name>
  529 + <rename>jid</rename>
  530 + <update>Y</update>
  531 + </value>
  532 + <value>
  533 + <name>spy</name>
  534 + <rename>sid</rename>
  535 + <update>Y</update>
  536 + </value>
  537 + <value>
  538 + <name>is_cancel</name>
  539 + <rename>isCancel</rename>
  540 + <update>Y</update>
  541 + </value>
  542 + </lookup>
  543 + <cluster_schema/>
  544 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  545 + <xloc>676</xloc>
  546 + <yloc>200</yloc>
  547 + <draw>Y</draw>
  548 + </GUI>
  549 + </step>
  550 +
  551 + <step>
  552 + <name>&#x7ebf;&#x8def;id&#x67e5;&#x8be2;</name>
  553 + <type>DBLookup</type>
  554 + <description/>
  555 + <distribute>Y</distribute>
  556 + <custom_distribution/>
  557 + <copies>1</copies>
  558 + <partitioning>
  559 + <method>none</method>
  560 + <schema_name/>
  561 + </partitioning>
  562 + <connection>bus_control_variable</connection>
  563 + <cache>Y</cache>
  564 + <cache_load_all>Y</cache_load_all>
  565 + <cache_size>0</cache_size>
  566 + <lookup>
  567 + <schema/>
  568 + <table>bsth_c_line</table>
  569 + <orderby/>
  570 + <fail_on_multiple>N</fail_on_multiple>
  571 + <eat_row_on_failure>N</eat_row_on_failure>
  572 + <key>
  573 + <name>&#x7ebf;&#x8def;</name>
  574 + <field>name</field>
  575 + <condition>&#x3d;</condition>
  576 + <name2/>
  577 + </key>
  578 + <key>
  579 + <name>isCancel</name>
  580 + <field>destroy</field>
  581 + <condition>&#x3d;</condition>
  582 + <name2/>
  583 + </key>
  584 + <value>
  585 + <name>id</name>
  586 + <rename>xlid</rename>
  587 + <default/>
  588 + <type>Integer</type>
  589 + </value>
  590 + </lookup>
  591 + <cluster_schema/>
  592 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  593 + <xloc>397</xloc>
  594 + <yloc>144</yloc>
  595 + <draw>Y</draw>
  596 + </GUI>
  597 + </step>
  598 +
  599 + <step>
  600 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  601 + <type>GetVariable</type>
  602 + <description/>
  603 + <distribute>Y</distribute>
  604 + <custom_distribution/>
  605 + <copies>1</copies>
  606 + <partitioning>
  607 + <method>none</method>
  608 + <schema_name/>
  609 + </partitioning>
  610 + <fields>
  611 + <field>
  612 + <name>filepath_</name>
  613 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  614 + <type>String</type>
  615 + <format/>
  616 + <currency/>
  617 + <decimal/>
  618 + <group/>
  619 + <length>-1</length>
  620 + <precision>-1</precision>
  621 + <trim_type>none</trim_type>
  622 + </field>
  623 + <field>
  624 + <name>erroroutputdir_</name>
  625 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  626 + <type>String</type>
  627 + <format/>
  628 + <currency/>
  629 + <decimal/>
  630 + <group/>
  631 + <length>-1</length>
  632 + <precision>-1</precision>
  633 + <trim_type>none</trim_type>
  634 + </field>
  635 + </fields>
  636 + <cluster_schema/>
  637 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  638 + <xloc>94</xloc>
  639 + <yloc>178</yloc>
  640 + <draw>Y</draw>
  641 + </GUI>
  642 + </step>
  643 +
  644 + <step>
  645 + <name>&#x8fc7;&#x6ee4;&#x7ebf;&#x8def;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  646 + <type>FilterRows</type>
  647 + <description/>
  648 + <distribute>Y</distribute>
  649 + <custom_distribution/>
  650 + <copies>1</copies>
  651 + <partitioning>
  652 + <method>none</method>
  653 + <schema_name/>
  654 + </partitioning>
  655 +<send_true_to/>
  656 +<send_false_to/>
  657 + <compare>
  658 +<condition>
  659 + <negated>N</negated>
  660 + <leftvalue>xlid</leftvalue>
  661 + <function>IS NOT NULL</function>
  662 + <rightvalue/>
  663 + </condition>
  664 + </compare>
  665 + <cluster_schema/>
  666 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  667 + <xloc>395</xloc>
  668 + <yloc>49</yloc>
  669 + <draw>Y</draw>
  670 + </GUI>
  671 + </step>
  672 +
  673 + <step>
  674 + <name>&#x8fc7;&#x6ee4;&#x9a7e;&#x9a76;&#x5458;id&#x4e3a;&#x7a7a;&#x8bb0;&#x5f55;</name>
  675 + <type>FilterRows</type>
  676 + <description/>
  677 + <distribute>Y</distribute>
  678 + <custom_distribution/>
  679 + <copies>1</copies>
  680 + <partitioning>
  681 + <method>none</method>
  682 + <schema_name/>
  683 + </partitioning>
  684 +<send_true_to>&#x552e;&#x7968;&#x5458;id&#x67e5;&#x627e;</send_true_to>
  685 +<send_false_to/>
  686 + <compare>
  687 +<condition>
  688 + <negated>N</negated>
  689 + <leftvalue>jid</leftvalue>
  690 + <function>IS NOT NULL</function>
  691 + <rightvalue/>
  692 + </condition>
  693 + </compare>
  694 + <cluster_schema/>
  695 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  696 + <xloc>538</xloc>
  697 + <yloc>47</yloc>
  698 + <draw>Y</draw>
  699 + </GUI>
  700 + </step>
  701 +
  702 + <step>
  703 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  704 + <type>ExcelOutput</type>
  705 + <description/>
  706 + <distribute>Y</distribute>
  707 + <custom_distribution/>
  708 + <copies>1</copies>
  709 + <partitioning>
  710 + <method>none</method>
  711 + <schema_name/>
  712 + </partitioning>
  713 + <header>Y</header>
  714 + <footer>N</footer>
  715 + <encoding>UTF-8</encoding>
  716 + <append>N</append>
  717 + <add_to_result_filenames>Y</add_to_result_filenames>
  718 + <file>
  719 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x4eba;&#x5458;&#x914d;&#x7f6e;_&#x9519;&#x8bef;</name>
  720 + <extention>xls</extention>
  721 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  722 + <create_parent_folder>N</create_parent_folder>
  723 + <split>N</split>
  724 + <add_date>N</add_date>
  725 + <add_time>N</add_time>
  726 + <SpecifyFormat>N</SpecifyFormat>
  727 + <date_time_format/>
  728 + <sheetname>Sheet1</sheetname>
  729 + <autosizecolums>N</autosizecolums>
  730 + <nullisblank>N</nullisblank>
  731 + <protect_sheet>N</protect_sheet>
  732 + <password>Encrypted </password>
  733 + <splitevery>0</splitevery>
  734 + <usetempfiles>N</usetempfiles>
  735 + <tempdirectory/>
  736 + </file>
  737 + <template>
  738 + <enabled>N</enabled>
  739 + <append>N</append>
  740 + <filename>template.xls</filename>
  741 + </template>
  742 + <fields>
  743 + <field>
  744 + <name>&#x7ebf;&#x8def;</name>
  745 + <type>String</type>
  746 + <format/>
  747 + </field>
  748 + <field>
  749 + <name>&#x642d;&#x73ed;&#x7f16;&#x7801;</name>
  750 + <type>String</type>
  751 + <format/>
  752 + </field>
  753 + <field>
  754 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  755 + <type>String</type>
  756 + <format/>
  757 + </field>
  758 + <field>
  759 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  760 + <type>String</type>
  761 + <format/>
  762 + </field>
  763 + <field>
  764 + <name>&#x552e;&#x7968;&#x5458;&#x5de5;&#x53f7;</name>
  765 + <type>String</type>
  766 + <format/>
  767 + </field>
  768 + <field>
  769 + <name>&#x552e;&#x7968;&#x5458;</name>
  770 + <type>String</type>
  771 + <format/>
  772 + </field>
  773 + <field>
  774 + <name>isCancel</name>
  775 + <type>Integer</type>
  776 + <format/>
  777 + </field>
  778 + <field>
  779 + <name>xlid</name>
  780 + <type>Integer</type>
  781 + <format/>
  782 + </field>
  783 + <field>
  784 + <name>jid</name>
  785 + <type>Integer</type>
  786 + <format/>
  787 + </field>
  788 + <field>
  789 + <name>sid</name>
  790 + <type>Integer</type>
  791 + <format/>
  792 + </field>
  793 + <field>
  794 + <name>error_count</name>
  795 + <type>Integer</type>
  796 + <format/>
  797 + </field>
  798 + <field>
  799 + <name>error_desc</name>
  800 + <type>String</type>
  801 + <format/>
  802 + </field>
  803 + <field>
  804 + <name>error_column1</name>
  805 + <type>String</type>
  806 + <format/>
  807 + </field>
  808 + <field>
  809 + <name>error_column2</name>
  810 + <type>String</type>
  811 + <format/>
  812 + </field>
  813 + </fields>
  814 + <custom>
  815 + <header_font_name>arial</header_font_name>
  816 + <header_font_size>10</header_font_size>
  817 + <header_font_bold>N</header_font_bold>
  818 + <header_font_italic>N</header_font_italic>
  819 + <header_font_underline>no</header_font_underline>
  820 + <header_font_orientation>horizontal</header_font_orientation>
  821 + <header_font_color>black</header_font_color>
  822 + <header_background_color>none</header_background_color>
  823 + <header_row_height>255</header_row_height>
  824 + <header_alignment>left</header_alignment>
  825 + <header_image/>
  826 + <row_font_name>arial</row_font_name>
  827 + <row_font_size>10</row_font_size>
  828 + <row_font_color>black</row_font_color>
  829 + <row_background_color>none</row_background_color>
  830 + </custom>
  831 + <cluster_schema/>
  832 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  833 + <xloc>676</xloc>
  834 + <yloc>323</yloc>
  835 + <draw>Y</draw>
  836 + </GUI>
  837 + </step>
  838 +
  839 + <step>
  840 + <name>&#x9a7e;&#x9a76;&#x5458;id&#x67e5;&#x627e;</name>
  841 + <type>DBJoin</type>
  842 + <description/>
  843 + <distribute>Y</distribute>
  844 + <custom_distribution/>
  845 + <copies>1</copies>
  846 + <partitioning>
  847 + <method>none</method>
  848 + <schema_name/>
  849 + </partitioning>
  850 + <connection>bus_control_variable</connection>
  851 + <rowlimit>1</rowlimit>
  852 + <sql>select id as jid from bsth_c_personnel&#xa;where job_code &#x3d; &#x3f; and personnel_name &#x3d; &#x3f;</sql>
  853 + <outer_join>Y</outer_join>
  854 + <replace_vars>N</replace_vars>
  855 + <parameter>
  856 + <field>
  857 + <name>&#x9a7e;&#x9a76;&#x5458;&#x5de5;&#x53f7;</name>
  858 + <type>String</type>
  859 + </field>
  860 + <field>
  861 + <name>&#x9a7e;&#x9a76;&#x5458;</name>
  862 + <type>String</type>
  863 + </field>
  864 + </parameter>
  865 + <cluster_schema/>
  866 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  867 + <xloc>537</xloc>
  868 + <yloc>143</yloc>
  869 + <draw>Y</draw>
  870 + </GUI>
  871 + </step>
  872 +
  873 + <step_error_handling>
  874 + <error>
  875 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_ecinfo</source_step>
  876 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  877 + <is_enabled>Y</is_enabled>
  878 + <nr_valuename>error_count</nr_valuename>
  879 + <descriptions_valuename>error_desc</descriptions_valuename>
  880 + <fields_valuename>error_column1</fields_valuename>
  881 + <codes_valuename>error_column2</codes_valuename>
  882 + <max_errors/>
  883 + <max_pct_errors/>
  884 + <min_pct_rows/>
  885 + </error>
  886 + </step_error_handling>
  887 + <slave-step-copy-partition-distribution>
  888 +</slave-step-copy-partition-distribution>
  889 + <slave_transformation>N</slave_transformation>
  890 +
  891 +</transformation>
... ...
src/main/resources/rules/shiftloop.drl
... ... @@ -8,6 +8,10 @@ import com.bsth.service.schedule.rules.shiftloop.ScheduleRule_input;
8 8 import com.bsth.service.schedule.rules.shiftloop.ScheduleResult_output;
9 9 import com.bsth.service.schedule.rules.shiftloop.ScheduleResults_output;
10 10  
  11 +import org.slf4j.Logger;
  12 +
  13 +global Logger log;
  14 +
11 15 /*
12 16 TODO:规则说明,以后待说明
13 17 */
... ... @@ -30,7 +34,10 @@ end
30 34 rule "calcu_days_1"
31 35 salience 100
32 36 when
33   - ScheduleCalcuParam_input($fromDate : fromDate, $toDate : toDate, $fromDate.isBefore($toDate))
  37 + ScheduleCalcuParam_input(
  38 + $fromDate : fromDate,
  39 + $toDate : toDate,
  40 + $fromDate.isBefore($toDate) || $fromDate.isEqual($toDate))
34 41 ScheduleRule_input($ruleId : ruleId, $qyrq : qyrq)
35 42 eval($qyrq.isBefore($fromDate))
36 43 then
... ... @@ -44,8 +51,8 @@ rule &quot;calcu_days_1&quot;
44 51 cdr.setCalcu_start_date($fromDate);
45 52 cdr.setCalcu_end_date($toDate);
46 53  
47   - System.out.println("开始日期离启用日期的天数 qyrq_days=" + p1.getDays());
48   - System.out.println("总共需要排班的天数 sdays=" + (p2.getDays() + 1));
  54 + log.info("开始日期离启用日期的天数 qyrq_days={}", p1.getDays());
  55 + log.info("总共需要排班的天数 sdays={}", (p2.getDays() + 1));
49 56  
50 57 insert(cdr); // 插入fact数据,进入下一个阶段
51 58 end
... ... @@ -53,7 +60,10 @@ end
53 60 rule "calcu_days_2"
54 61 salience 100
55 62 when
56   - ScheduleCalcuParam_input($fromDate : fromDate, $toDate : toDate, $fromDate.isBefore($toDate))
  63 + ScheduleCalcuParam_input(
  64 + $fromDate : fromDate,
  65 + $toDate : toDate,
  66 + $fromDate.isBefore($toDate) || $fromDate.isEqual($toDate))
57 67 ScheduleRule_input($ruleId : ruleId, $qyrq : qyrq)
58 68 eval((!$qyrq.isBefore($fromDate)) && (!$qyrq.isAfter($toDate)))
59 69 then
... ... @@ -62,12 +72,12 @@ rule &quot;calcu_days_2&quot;
62 72 cdr.setRuleId($ruleId);
63 73 cdr.setQyrq_days(0);
64 74 Period p2 = new Period($qyrq, $toDate, PeriodType.days());
65   - cdr.setSdays(p2.getDays());
  75 + cdr.setSdays(Integer.valueOf(p2.getDays() + 1));
66 76 cdr.setCalcu_start_date($qyrq);
67 77 cdr.setCalcu_end_date($toDate);
68 78  
69   - System.out.println("开始日期离启用日期的天数 qyrq_days=0");
70   - System.out.println("总共需要排班的天数 sdays=" + (p2.getDays() + 1));
  79 + log.info("开始日期离启用日期的天数 qyrq_days=0");
  80 + log.info("总共需要排班的天数 sdays={}", (p2.getDays() + 1));
71 81  
72 82 insert(cdr); // 插入fact数据,进入下一个阶段
73 83 end
... ... @@ -130,7 +140,7 @@ rule &quot;calcu_guideboard_index_1&quot;
130 140 cgir.setRuleId($ruleId);
131 141 cgir.setCalcu_index($oindex);
132 142  
133   - System.out.println("guideboard ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  143 + log.info("guideboard ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
134 144  
135 145 insert(cgir);
136 146 end
... ... @@ -148,7 +158,7 @@ rule &quot;calcu_guideboard_index_2&quot;
148 158 cgip_1.setTemp(Integer.valueOf($rangesize) - 1 - $oindex);
149 159 cgip_1.setDays_temp($qyrq_days - cgip_1.getTemp());
150 160  
151   - System.out.println("guideboard ruleId=" + $ruleId + ", days_temp=" + cgip_1.getDays_temp());
  161 + log.info("guideboard ruleId={}, days_temp={}", $ruleId, cgip_1.getDays_temp());
152 162  
153 163 insert(cgip_1);
154 164 end
... ... @@ -165,7 +175,7 @@ rule &quot;calcu_guideboard_index_2_1_result&quot;
165 175 // cgir.setCalcu_index($oindex + $days_temp);
166 176 cgir.setCalcu_index($range_size - 1 + $days_temp);
167 177  
168   - System.out.println("guideboard ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  178 + log.info("guideboard ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
169 179  
170 180 insert(cgir);
171 181 end
... ... @@ -194,7 +204,7 @@ rule &quot;calcu_guideboard_index_2_2_1_result&quot;
194 204 cgir.setRuleId($ruleId);
195 205 cgir.setCalcu_index($y_value - 1);
196 206  
197   - System.out.println("guideboard ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  207 + log.info("guideboard ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
198 208  
199 209 insert(cgir);
200 210 end
... ... @@ -210,7 +220,7 @@ rule &quot;calcu_guideboard_index_2_2_2_result&quot;
210 220 cgir.setRuleId($ruleId);
211 221 cgir.setCalcu_index($rangesize - 1);
212 222  
213   - System.out.println("guideboard ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  223 + log.info("guideboard ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
214 224  
215 225 insert(cgir);
216 226 end
... ... @@ -243,7 +253,7 @@ rule &quot;calcu_employee_index_1&quot;
243 253 cgir.setRuleId($ruleId);
244 254 cgir.setCalcu_index($oindex);
245 255  
246   - System.out.println("employee ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  256 + log.info("employee ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
247 257  
248 258 insert(cgir);
249 259 end
... ... @@ -261,7 +271,7 @@ rule &quot;calcu_employee_index_2&quot;
261 271 cgip_1.setTemp(Integer.valueOf($rangesize) - 1 - $oindex);
262 272 cgip_1.setDays_temp($qyrq_days - cgip_1.getTemp());
263 273  
264   - System.out.println("employee ruleId=" + $ruleId + ", days_temp=" + cgip_1.getDays_temp());
  274 + log.info("employee ruleId={}, days_temp={}", $ruleId, cgip_1.getDays_temp());
265 275  
266 276 insert(cgip_1);
267 277 end
... ... @@ -278,7 +288,7 @@ rule &quot;calcu_employee_index_2_1_result&quot;
278 288 // cgir.setCalcu_index($oindex + $days_temp);
279 289 cgir.setCalcu_index($range_size - 1 + $days_temp);
280 290  
281   - System.out.println("employee ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  291 + log.info("employee ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
282 292  
283 293 insert(cgir);
284 294 end
... ... @@ -307,7 +317,7 @@ rule &quot;calcu_employee_index_2_2_1_result&quot;
307 317 cgir.setRuleId($ruleId);
308 318 cgir.setCalcu_index($y_value - 1);
309 319  
310   - System.out.println("employee ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  320 + log.info("employee ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
311 321  
312 322 insert(cgir);
313 323 end
... ... @@ -323,7 +333,7 @@ rule &quot;calcu_employee_index_2_2_2_result&quot;
323 333 cgir.setRuleId($ruleId);
324 334 cgir.setCalcu_index($rangesize - 1);
325 335  
326   - System.out.println("employee ruleId=" + $ruleId + ", calcu_index=" + cgir.getCalcu_index());
  336 + log.info("employee ruleId={}, calcu_index={}", $ruleId, cgir.getCalcu_index());
327 337  
328 338 insert(cgir);
329 339 end
... ... @@ -371,11 +381,13 @@ rule &quot;calcu_guideboard_range_loop_1_1&quot;
371 381 cgrlr.setRangeSize(0);
372 382 cgrlr.setLastLoopSize(0);
373 383  
374   - System.out.println("guideboard ruleId=" + $ruleId + ", " +
375   - "f=" + cgrlr.getFirstLoopSize() +
376   - ", m=" + cgrlr.getMiddelLoopCount() +
377   - ", m_r=" + cgrlr.getRangeSize() +
378   - ", l=" + cgrlr.getLastLoopSize());
  384 + log.info(
  385 + "guideboard ruleId={},f={},m={},m_r={},l={}",
  386 + $ruleId,
  387 + cgrlr.getFirstLoopSize(),
  388 + cgrlr.getMiddelLoopCount(),
  389 + cgrlr.getRangeSize(),
  390 + cgrlr.getLastLoopSize());
379 391  
380 392 insert(cgrlr);
381 393 end
... ... @@ -398,11 +410,13 @@ rule &quot;calcu_guideboard_range_loop_1_2&quot;
398 410 cgrlr.setRangeSize(new Integer($rangesize));
399 411 cgrlr.setLastLoopSize(gbd_days_temp_minus_yvalue);
400 412  
401   - System.out.println("guideboard ruleId=" + $ruleId + ", " +
402   - "f=" + cgrlr.getFirstLoopSize() +
403   - ", m=" + cgrlr.getMiddelLoopCount() +
404   - ", m_r=" + cgrlr.getRangeSize() +
405   - ", l=" + cgrlr.getLastLoopSize());
  413 + log.info(
  414 + "guideboard ruleId={},f={},m={},m_r={},l={}",
  415 + $ruleId,
  416 + cgrlr.getFirstLoopSize(),
  417 + cgrlr.getMiddelLoopCount(),
  418 + cgrlr.getRangeSize(),
  419 + cgrlr.getLastLoopSize());
406 420  
407 421 insert(cgrlr);
408 422 end
... ... @@ -448,11 +462,13 @@ rule &quot;calcu_employee_range_loop_1_1&quot;
448 462 cgrlr.setRangeSize(0);
449 463 cgrlr.setLastLoopSize(0);
450 464  
451   - System.out.println("employee ruleId=" + $ruleId + ", " +
452   - "f=" + cgrlr.getFirstLoopSize() +
453   - ", m=" + cgrlr.getMiddelLoopCount() +
454   - ", m_r=" + cgrlr.getRangeSize() +
455   - ", l=" + cgrlr.getLastLoopSize());
  465 + log.info(
  466 + "employee ruleId={},f={},m={},m_r={},l={}",
  467 + $ruleId,
  468 + cgrlr.getFirstLoopSize(),
  469 + cgrlr.getMiddelLoopCount(),
  470 + cgrlr.getRangeSize(),
  471 + cgrlr.getLastLoopSize());
456 472  
457 473 insert(cgrlr);
458 474 end
... ... @@ -475,11 +491,13 @@ rule &quot;calcu_employee_range_loop_1_2&quot;
475 491 cgrlr.setRangeSize(new Integer($rangesize));
476 492 cgrlr.setLastLoopSize(gbd_days_temp_minus_yvalue);
477 493  
478   - System.out.println("employee ruleId=" + $ruleId + ", " +
479   - "f=" + cgrlr.getFirstLoopSize() +
480   - ", m=" + cgrlr.getMiddelLoopCount() +
481   - ", m_r=" + cgrlr.getRangeSize() +
482   - ", l=" + cgrlr.getLastLoopSize());
  494 + log.info(
  495 + "employee ruleId={},f={},m={},m_r={},l={}",
  496 + $ruleId,
  497 + cgrlr.getFirstLoopSize(),
  498 + cgrlr.getMiddelLoopCount(),
  499 + cgrlr.getRangeSize(),
  500 + cgrlr.getLastLoopSize());
483 501  
484 502 insert(cgrlr);
485 503 end
... ... @@ -546,7 +564,7 @@ rule &quot;calcu_loop_guideboard&quot;
546 564 clgr.setRuleId($ruleId);
547 565 clgr.setGo_list(scheduleResult_outputs);
548 566  
549   - System.out.println(scheduleResult_outputs.size());
  567 + log.info(String.valueOf(scheduleResult_outputs.size()));
550 568  
551 569 insert(clgr);
552 570 end
... ... @@ -610,7 +628,7 @@ rule &quot;calcu_loop_employee&quot;
610 628 clgr.setRuleId($ruleId);
611 629 clgr.setEo_list(scheduleResult_outputs);
612 630  
613   - System.out.println(scheduleResult_outputs.size());
  631 + log.info(String.valueOf(scheduleResult_outputs.size()));
614 632  
615 633 insert(clgr);
616 634 end
... ...
src/main/resources/rules/ttinfo.drl
... ... @@ -34,7 +34,11 @@ end
34 34  
35 35 rule "calcu_days"
36 36 when
37   - TTInfoCalcuParam_input($fromDate : fromDate, $toDate : toDate, $fromDate.isBefore($toDate), $xlId : xlId)
  37 + TTInfoCalcuParam_input(
  38 + $fromDate : fromDate,
  39 + $toDate : toDate,
  40 + $xlId : xlId,
  41 + $fromDate.isBefore($toDate) || $fromDate.isEqual($toDate))
38 42 then
39 43 // 构造Calcu_days_result对象,进行下一阶段计算
40 44 Calcu_days_result cdr = new Calcu_days_result();
... ...
src/main/resources/static/pages/electricity/jdl/list.html
  1 +<style>
  2 +.blue{
  3 + background-color: #87CEFF
  4 +}
  5 +</style>
1 6 <div class="page-head">
2 7 <div class="page-title">
3 8 <h1>车辆充电量</h1>
... ...
src/main/resources/static/pages/forms/statement/scheduleDaily.html
... ... @@ -43,7 +43,7 @@
43 43 </form>
44 44 </div>
45 45 <div class="portlet-body">
46   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 906px;height: 400px">
  46 + <div class="table-container" id="ddrbBody" style="margin-top: 10px;overflow:auto;min-width: 906px">
47 47 <label>日期:<span id="rqxs"></span>&nbsp;&nbsp;&nbsp;&nbsp;早高峰:6:31~8:30&nbsp;&nbsp;&nbsp;&nbsp;晚高峰:16:01~18:00</label>
48 48 <table class="table table-bordered table-hover table-checkable" id="forms">
49 49 <thead>
... ... @@ -254,6 +254,7 @@
254 254  
255 255 <script>
256 256 $(function(){
  257 +
257 258 // 关闭左侧栏
258 259 if (!$('body').hasClass('page-sidebar-closed'))
259 260 $('.menu-toggler.sidebar-toggler').click();
... ... @@ -262,9 +263,17 @@
262 263 format : 'YYYY-MM-DD',
263 264 locale : 'zh-cn'
264 265 });
265   -
266   -
  266 + var d = new Date();
  267 + var year = d.getFullYear();
  268 + var month = d.getMonth() + 1;
  269 + var day = d.getDate();
  270 + if(month < 10)
  271 + month = "0" + month;
  272 + if(day < 10)
  273 + day = "0" + day;
  274 + $("#date").val(year + "-" + month + "-" + day);
267 275  
  276 + $("#ddrbBody").height($(window).height()-250);
268 277 $.get('/basic/lineCode2Name',function(result){
269 278 var data=[];
270 279  
... ...
src/main/resources/static/pages/forms/statement/scheduleDailyQp.html
... ... @@ -18,7 +18,7 @@
18 18  
19 19 <div class="page-head">
20 20 <div class="page-title">
21   - <h1>调度工作日报表</h1>
  21 + <h1>调度日报</h1>
22 22 </div>
23 23 </div>
24 24  
... ... @@ -26,252 +26,226 @@
26 26 <div class="col-md-12">
27 27 <div class="portlet light porttlet-fit bordered">
28 28 <div class="portlet-title">
29   - <form id="history" class="form-inline" action="">
30   - <div style="display: inline-block; margin-left: 10px;" id="company1">
31   - <span class="item-label" style="width: 80px;">公司: </span>
32   - <select class="form-control" name="company" id="company" style="width: 160px;"></select>
33   - </div>
34   - <div style="display: inline-block; margin-left: 10px;" id="subCompany1">
35   - <span class="item-label" style="width: 80px;">分公司: </span>
36   - <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select>
37   - </div>
38   - <div style="display: inline-block; margin-left: 10px;">
39   - <span class="item-label" style="width: 80px;">线路: </span>
40   - <select class="form-control" name="line" id="line" style="width: 180px;"></select>
41   - </div>
42   - <div style="display: inline-block;margin-left: 10px;">
43   - <span class="item-label" style="width: 80px;">时间: </span>
44   - <input class="form-control" type="text" id="date" style="width: 180px;"/>
45   - </div>
46   - <div class="form-group">
47   - <input class="btn btn-default" type="button" id="query" value="筛选"/>
48   - <input class="btn btn-default" type="button" id="export" value="导出"/>
49   - </div>
  29 + <form class="form-inline" action="">
  30 + <div style="display: inline-block;">
  31 + <span class="item-label" style="width: 80px;">线路: </span>
  32 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  33 + </div>
  34 + <div style="display: inline-block;margin-left: 15px;">
  35 + <span class="item-label" style="width: 80px;">时间: </span>
  36 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  37 + </div>
  38 + <div class="form-group">
  39 + <input class="btn btn-default" type="button" id="query" value="查询"/>
  40 + <input class="btn btn-default" type="button" id="month" value="按月查询"/>
  41 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  42 + </div>
50 43 </form>
51 44 </div>
52   - <div class="portlet-body" >
53   - <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 506px;height: 400px">
  45 + <div class="portlet-body">
  46 + <div class="table-container" id="ddrbBody" style="margin-top: 10px;overflow:auto;min-width: 906px">
  47 + <label>日期:<span id="rqxs"></span>&nbsp;&nbsp;&nbsp;&nbsp;早高峰:6:31~8:30&nbsp;&nbsp;&nbsp;&nbsp;晚高峰:16:01~18:00</label>
54 48 <table class="table table-bordered table-hover table-checkable" id="forms">
55   - <thead >
56   - <tr >
57   - <th style="text-align:center;vertical-align:middle;" rowspan="3">路牌</th>
58   - <th style="text-align:center;vertical-align:middle;"
59   - rowspan="2" colspan="2">车号</th>
60   - <th rowspan="3">班别</th>
61   - <th colspan="3" style="text-align:center;vertical-align:middle;">驾驶员</th>
62   - <th colspan="3" style="text-align:center;vertical-align:middle;">售票员</th>
63   - <th rowspan="3" style="text-align:center;vertical-align:middle;">路牌</th>
64   - <th rowspan="4" style="text-align:center;vertical-align:middle;">记录项目</th>
65   - <th colspan="3" style="text-align:center;vertical-align:middle;">1</th>
66   - <th colspan="3" style="text-align:center;vertical-align:middle;">2</th>
67   - <th colspan="3" style="text-align:center;vertical-align:middle;">3</th>
68   - <th colspan="3" style="text-align:center;vertical-align:middle;">4</th>
69   - <th colspan="3" style="text-align:center;vertical-align:middle;">5</th>
70   - <th colspan="3" style="text-align:center;vertical-align:middle;">6</th>
71   - <th colspan="3" style="text-align:center;vertical-align:middle;">7</th>
72   - <th colspan="3" style="text-align:center;vertical-align:middle;">8</th>
73   - <th colspan="3" style="text-align:center;vertical-align:middle;">9</th>
74   - <th colspan="3" style="text-align:center;vertical-align:middle;">10</th>
75   - <th colspan="3" style="text-align:center;vertical-align:middle;">11</th>
76   - <th colspan="3" style="text-align:center;vertical-align:middle;">12</th>
77   - <th colspan="3" style="text-align:center;vertical-align:middle;">13</th>
78   - <th colspan="3" style="text-align:center;vertical-align:middle;">14</th>
79   - <th colspan="3" style="text-align:center;vertical-align:middle;">15</th>
80   - <th colspan="3" style="text-align:center;vertical-align:middle;">16</th>
81   - <th colspan="3" style="text-align:center;vertical-align:middle;">17</th>
82   - <th colspan="3" style="text-align:center;vertical-align:middle;">18</th>
83   - <th colspan="3" style="text-align:center;vertical-align:middle;">19</th>
84   - <th colspan="3" style="text-align:center;vertical-align:middle;">20</th>
85   -
  49 + <thead>
  50 + <tr>
  51 + <th colspan="40">线路调度日报</th>
86 52 </tr>
87 53 <tr>
88   -
89   -
90   - <th colspan="3">职号/接班时间</th>
91   - <th colspan="3">职号/接班时间</th>
92   - <th rowspan="2">到达</th>
93   - <th rowspan="2">早/迟</th>
94   - <th rowspan="2">开出</th>
95   -
96   - <th rowspan="2">到达</th>
97   - <th rowspan="2">早/迟</th>
98   - <th rowspan="2">开出</th>
99   -
100   - <th rowspan="2">到达</th>
101   - <th rowspan="2">早/迟</th>
102   - <th rowspan="2">开出</th>
103   -
104   - <th rowspan="2">到达</th>
105   - <th rowspan="2">早/迟</th>
106   - <th rowspan="2">开出</th>
107   -
108   - <th rowspan="2">到达</th>
109   - <th rowspan="2">早/迟</th>
110   - <th rowspan="2">开出</th>
111   -
112   - <th rowspan="2">到达</th>
113   - <th rowspan="2">早/迟</th>
114   - <th rowspan="2">开出</th>
115   -
116   - <th rowspan="2">到达</th>
117   - <th rowspan="2">早/迟</th>
118   - <th rowspan="2">开出</th>
119   -
120   - <th rowspan="2">到达</th>
121   - <th rowspan="2">早/迟</th>
122   - <th rowspan="2">开出</th>
123   -
124   - <th rowspan="2">到达</th>
125   - <th rowspan="2">早/迟</th>
126   - <th rowspan="2">开出</th>
127   -
128   - <th rowspan="2">到达</th>
129   - <th rowspan="2">早/迟</th>
130   - <th rowspan="2">开出</th>
131   -
132   - <th rowspan="2">到达</th>
133   - <th rowspan="2">早/迟</th>
134   - <th rowspan="2">开出</th>
135   -
136   - <th rowspan="2">到达</th>
137   - <th rowspan="2">早/迟</th>
138   - <th rowspan="2">开出</th>
139   -
140   - <th rowspan="2">到达</th>
141   - <th rowspan="2">早/迟</th>
142   - <th rowspan="2">开出</th>
143   -
144   - <th rowspan="2">到达</th>
145   - <th rowspan="2">早/迟</th>
146   - <th rowspan="2">开出</th>
147   -
148   - <th rowspan="2">到达</th>
149   - <th rowspan="2">早/迟</th>
150   - <th rowspan="2">开出</th>
151   -
152   - <th rowspan="2">到达</th>
153   - <th rowspan="2">早/迟</th>
154   - <th rowspan="2">开出</th>
155   -
156   - <th rowspan="2">到达</th>
157   - <th rowspan="2">早/迟</th>
158   - <th rowspan="2">开出</th>
159   -
160   - <th rowspan="2">到达</th>
161   - <th rowspan="2">早/迟</th>
162   - <th rowspan="2">开出</th>
163   -
164   - <th rowspan="2">到达</th>
165   - <th rowspan="2">早/迟</th>
166   - <th rowspan="2">开出</th>
167   -
168   - <th rowspan="2">到达</th>
169   - <th rowspan="2">早/迟</th>
170   - <th rowspan="2">开出</th>
171   -
  54 + <td rowspan="3">路线别</td>
  55 + <td colspan="16"><c>全日</c>营运里程(公里)</td>
  56 + <td colspan="15"><c>全日</c>营运班次</td>
  57 + <td colspan="9">大间隔情况</td>
172 58 </tr>
173 59 <tr>
174   - <th>出场</th>
175   - <th>调换</th>
176   - <th>1</th>
177   - <th>2</th>
178   - <th>3</th>
179   - <th>1</th>
180   - <th>2</th>
181   - <th>3</th>
  60 + <td rowspan="2">计划</td>
  61 + <td rowspan="2">实驶</td>
  62 + <td rowspan="2">少驶公里</td>
  63 + <td rowspan="2">少驶班次</td>
  64 + <td colspan="11">少驶原因(公里)</td>
  65 + <td rowspan="2">临加公里</td>
  66 + <td colspan="3">计划班次</td>
  67 + <td colspan="3">实际班次</td>
  68 + <td colspan="3">临加班次</td>
  69 + <td colspan="3">放站班次</td>
  70 + <td colspan="3">调头班次</td>
  71 + <td colspan="3">发生次数</td>
  72 + <td rowspan="2">最大间隔时间(分)</td>
  73 + <td colspan="5" rowspan="2">原因</td>
182 74 </tr>
183   - </thead>
184   - <tbody >
185   - <tr >
186   - <td></td>
187   - <td>
188   -
189   - </td>
190   - <td>
191   -
192   - </td>
193   - <td>
194   -
195   - </td>
196   - <td>
197   -
198   - </td>
199   - <td >
200   -
201   - </td>
202   - <td></td>
203   - <td></td>
204   - <td></td>
205   - <td></td>
206   - <td></td>
207   - <td></td>
208   - <td></td>
209   - <td></td>
210   - <td></td>
211   - <td></td>
212   - <td></td>
213   - <td></td>
214   - <td></td>
215   - <td></td>
216   - <td></td>
217   - <td></td>
218   - <td></td>
219   - <td></td>
220   - <td></td>
221   - <td></td>
222   - <td></td>
223   - <td></td>
224   - <td></td>
225   - <td></td>
226   - <td></td>
227   - <td></td>
228   - <td></td>
229   - <td></td>
230   - <td></td>
231   - <td></td>
232   - <td></td>
233   - <td></td>
234   - <td></td>
235   - <td></td>
236   - <td></td>
237   - <td></td>
238   - <td></td>
239   - <td></td>
240   - <td></td>
241   - <td></td>
242   - <td></td>
243   - <td></td>
244   - <td></td>
245   - <td></td>
246   - <td></td>
247   - <td></td>
248   - <td></td>
249   - <td></td>
250   - <td></td>
251   - <td></td>
252   - <td></td>
253   - <td></td>
254   - <td></td>
255   - <td></td>
256   - <td></td>
257   - <td></td>
258   - <td></td>
259   - <td></td>
260   - <td></td>
261   - <td></td>
262   - <td></td>
263   - <td></td>
264   - <td></td>
265   - <td></td>
266   - <td></td>
267   - <td></td>
  75 + <tr>
  76 + <td>路阻</td>
  77 + <td>吊慢</td>
  78 + <td>故障</td>
  79 + <td>纠纷</td>
  80 + <td>肇事</td>
  81 + <td>缺人</td>
  82 + <td>缺车</td>
  83 + <td>客稀</td>
  84 + <td>气候</td>
  85 + <td>援外</td>
  86 + <td>其他</td>
  87 + <td><c>全日</c></td>
  88 + <td>早高峰</td>
  89 + <td>晚高峰</td>
  90 + <td><c>全日</c></td>
  91 + <td>早高峰</td>
  92 + <td>晚高峰</td>
  93 + <td><c>全日</c></td>
  94 + <td>早高峰</td>
  95 + <td>晚高峰</td>
  96 + <td><c>全日</c></td>
  97 + <td>早高峰</td>
  98 + <td>晚高峰</td>
  99 + <td><c>全日</c></td>
  100 + <td>早高峰</td>
  101 + <td>晚高峰</td>
  102 + <td><c>全日</c></td>
  103 + <td>早高峰</td>
  104 + <td>晚高峰</td>
268 105 </tr>
269   -
  106 + </thead>
  107 +
  108 + <tbody class="scheduleDaily_1">
  109 +
  110 + </tbody>
  111 + <tr>
  112 + <td colspan="40">&nbsp;</td>
  113 + </tr>
  114 + <!-- <tr>
  115 + <td colspan="40">合计</td>
  116 + </tr>
  117 + <tr>
  118 + <td>售票</td>
  119 + <td colspan="2">1元</td>
  120 + <td colspan="2">2元</td>
  121 + <td colspan="2">3元</td>
  122 + <td colspan="2">4元</td>
  123 + <td colspan="2">5元</td>
  124 + <td colspan="2">6元</td>
  125 + <td colspan="2">7元</td>
  126 + <td colspan="2">8元</td>
  127 + <td colspan="2">9元</td>
  128 + <td colspan="2">10元</td>
  129 + <td colspan="2">&nbsp;</td>
  130 + <td colspan="2">合计张数</td>
  131 + <td colspan="2">&nbsp;</td>
  132 + <td colspan="2">预售票</td>
  133 + <td colspan="2">1元</td>
  134 + <td colspan="2">1.5元</td>
  135 + <td colspan="2">合计张数</td>
  136 + <td colspan="5">&nbsp;</td>
  137 + </tr>
  138 + <tr>
  139 + <td>张数</td>
  140 + <td colspan="2">&nbsp;</td>
  141 + <td colspan="2">&nbsp;</td>
  142 + <td colspan="2">&nbsp;</td>
  143 + <td colspan="2">&nbsp;</td>
  144 + <td colspan="2">&nbsp;</td>
  145 + <td colspan="2">&nbsp;</td>
  146 + <td colspan="2">&nbsp;</td>
  147 + <td colspan="2">&nbsp;</td>
  148 + <td colspan="2">&nbsp;</td>
  149 + <td colspan="2">&nbsp;</td>
  150 + <td colspan="2">&nbsp;</td>
  151 + <td colspan="2">合计金额</td>
  152 + <td colspan="2">&nbsp;</td>
  153 + <td colspan="2">张数</td>
  154 + <td colspan="2">&nbsp;</td>
  155 + <td colspan="2">&nbsp;</td>
  156 + <td colspan="2">合计金额</td>
  157 + <td colspan="5">&nbsp;</td>
  158 + </tr>
  159 + <tr>
  160 + <td colspan="40">&nbsp;</td>
  161 + </tr> -->
  162 + <tr>
  163 + <td colspan="2">路牌</td>
  164 + <td colspan="2">车号</td>
  165 + <td>司早</td>
  166 + <td>售早</td>
  167 + <td>司晚</td>
  168 + <td>售晚</td>
  169 + <td colspan="2">路牌</td>
  170 + <td colspan="2">车号</td>
  171 + <td>司早</td>
  172 + <td>售早</td>
  173 + <td>司晚</td>
  174 + <td>售晚</td>
  175 + <td colspan="2">路牌</td>
  176 + <td colspan="2">车号</td>
  177 + <td>司早</td>
  178 + <td>售早</td>
  179 + <td>司晚</td>
  180 + <td>售晚</td>
  181 + <td colspan="2">路牌</td>
  182 + <td colspan="2">车号</td>
  183 + <td>司早</td>
  184 + <td>售早</td>
  185 + <td>司晚</td>
  186 + <td>售晚</td>
  187 + <td colspan="2">路牌</td>
  188 + <td colspan="2">车号</td>
  189 + <td>司早</td>
  190 + <td>售早</td>
  191 + <td>司晚</td>
  192 + <td>售晚</td>
  193 + </tr>
  194 + <tbody class="scheduleDaily_2">
  195 +
  196 + </tbody>
  197 + <tr>
  198 + <td colspan="40">&nbsp;</td>
  199 + </tr>
  200 + <tr>
  201 + <td rowspan="2">路牌</td>
  202 + <td colspan="2" rowspan="2">起点站</td>
  203 + <td colspan="4">到达时间</td>
  204 + <td colspan="4">发车时间</td>
  205 + <td colspan="2" rowspan="2">备注</td>
  206 + <td rowspan="2">路牌</td>
  207 + <td colspan="2" rowspan="2">起点站</td>
  208 + <td colspan="4">到达时间</td>
  209 + <td colspan="4">发车时间</td>
  210 + <td colspan="2" rowspan="2">备注</td>
  211 + <td rowspan="2">路牌</td>
  212 + <td colspan="2" rowspan="2">起点站</td>
  213 + <td colspan="4">到达时间</td>
  214 + <td colspan="4">发车时间</td>
  215 + <td colspan="2" rowspan="2">备注</td>
  216 + <td>&nbsp;</td>
  217 + </tr>
  218 + <tr>
  219 + <td>应到</td>
  220 + <td>实到</td>
  221 + <td>快</td>
  222 + <td>慢</td>
  223 + <td>应发</td>
  224 + <td>实发</td>
  225 + <td>快</td>
  226 + <td>慢</td>
  227 + <td>应到</td>
  228 + <td>实到</td>
  229 + <td>快</td>
  230 + <td>慢</td>
  231 + <td>应发</td>
  232 + <td>实发</td>
  233 + <td>快</td>
  234 + <td>慢</td>
  235 + <td>应到</td>
  236 + <td>实到</td>
  237 + <td>快</td>
  238 + <td>慢</td>
  239 + <td>应发</td>
  240 + <td>实发</td>
  241 + <td>快</td>
  242 + <td>慢</td>
  243 + <td>&nbsp;</td>
  244 + </tr>
  245 + <tbody class="scheduleDaily_3">
  246 +
270 247 </tbody>
271 248 </table>
272   - <div style="text-align: right;">
273   - <ul id="pagination" class="pagination"></ul>
274   - </div>
275 249 </div>
276 250 </div>
277 251 </div>
... ... @@ -290,104 +264,218 @@
290 264 locale : 'zh-cn'
291 265 });
292 266  
293   - var d = new Date();
294   - var year = d.getFullYear();
295   - var month = d.getMonth() + 1;
296   - var day = d.getDate();
297   - if(month < 10)
298   - month = "0" + month;
299   - if(day < 10)
300   - day = "0" + day;
301   - $("#date").val(year + "-" + month + "-" + day);
302   -
  267 +
  268 + $("#ddrbBody").height($(window).height()-300);
303 269 $.get('/basic/lineCode2Name',function(result){
304 270 var data=[];
305 271  
306   - data.push({id: " ", text: "全部线路"});
307 272 for(var code in result){
308 273 data.push({id: code, text: result[code]});
309 274 }
310 275 initPinYinSelect2('#line',data,'');
  276 +
311 277 })
312 278  
313   - var obj = [];
314   - $.get('/user/companyData', function(result){
315   - obj = result;
316   - var options = '';
317   - for(var i = 0; i < obj.length; i++){
318   - options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
319   - }
320   - if(obj.length == 1){
321   - $('#company1').hide();
322   - if(obj[0].children.length == 1)
323   - $('#subCompany1').hide();
324   - }
325   - $('#company').html(options);
326   - updateCompany();
327   - });
328   - $("#company").on("change",updateCompany);
329   - function updateCompany(){
330   - var company = $('#company').val();
331   - var options = '';
332   - for(var i = 0; i < obj.length; i++){
333   - if(obj[i].companyCode == company){
334   - var children = obj[i].children;
335   - for(var j = 0; j < children.length; j++){
336   - options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
337   - }
338   - }
339   - }
340   - $('#subCompany').html(options);
341   - }
  279 + $('#export').attr('disabled', "true");
342 280  
  281 + var line = $("#line").val();
  282 + var xlName = $("#select2-line-container").html();
  283 + var date = $("#date").val();
343 284  
  285 + function getTime(list){
  286 + $.each(list, function(i, obj) {
  287 + if(obj.zdsj != null && obj.zdsjActual != null ){
  288 + var zdsjActual = (obj.zdsjActual).split(":");
  289 + var zdsj = (obj.zdsj).split(":");
  290 + if(zdsjActual[0]*60+Number(zdsjActual[1]) > zdsj[0]*60+Number(zdsj[1])){
  291 + obj["slow"] = (zdsjActual[0]*60+Number(zdsjActual[1])) - (zdsj[0]*60+Number(zdsj[1]));
  292 + }
  293 + else if(zdsjActual[0]*60+Number(zdsjActual[1]) < zdsj[0]*60+Number(zdsj[1])){
  294 + obj["fast"] = (zdsj[0]*60+Number(zdsj[1])) - (zdsjActual[0]*60+Number(zdsjActual[1]));
  295 + }
  296 + }
  297 +
  298 + if(obj.fcsj != null && obj.fcsjActual != null ){
  299 + var fcsjActual = (obj.fcsjActual).split(":");
  300 + var fcsj = (obj.fcsj).split(":");
  301 + if(fcsjActual[0]*60+Number(fcsjActual[1]) > fcsj[0]*60+Number(fcsj[1])){
  302 + obj["slow0"] = (fcsjActual[0]*60+Number(fcsjActual[1])) - (fcsj[0]*60+Number(fcsj[1]));
  303 + }
  304 + else if(fcsjActual[0]*60+Number(fcsjActual[1]) < fcsj[0]*60+Number(fcsj[1])){
  305 + obj["fast0"] = (fcsj[0]*60+Number(fcsj[1])) - (fcsjActual[0]*60+Number(fcsjActual[1]));
  306 + }
  307 + }
  308 + });
  309 + }
344 310 //查询
345 311 $("#query").on('click',function(){
346   - var line = $("#line").val();
347   - var date = $("#date").val();
348   - $get('/realSchedule/scheduleDailyQp',{line:line,date:date},function(result){
349   - var mycars = new Array(20);
350   - var scheduleDaily_qp = template('scheduleDaily_qp',{list:result,lists:mycars});
351   - $('#forms tbody').html(scheduleDaily_qp);
  312 + line = $("#line").val();
  313 + xlName = $("#select2-line-container").html();
  314 + date = $("#date").val();
  315 + $("#rqxs").html(date);
  316 + if(date == null || date.length == 0){
  317 + layer.msg("请选择时间");
  318 + return;
  319 + }
  320 + $("c").html("全日");
  321 + $("#export").removeAttr("disabled");
  322 + $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName,type:"query"},function(result){
  323 + var scheduleDaily_1 = template('scheduleDaily_1',{list:result});
  324 + $('#forms .scheduleDaily_1').html(scheduleDaily_1);
352 325 });
  326 + $.get('/realSchedule/queryUserInfo',{line:line,date:date,state:2,type:"query"},function(result){
  327 + console.log(result);
  328 + var scheduleDaily_2 = template('scheduleDaily_2',{list:result});
  329 + $('#forms .scheduleDaily_2').html(scheduleDaily_2);
  330 + });
  331 + $.get('/realSchedule/realScheduleListQp',{line:line,date:date,type:"query"},function(result){
  332 + getTime(result);
  333 + var scheduleDaily_3 = template('scheduleDaily_3',{list:result});
  334 + $('#forms .scheduleDaily_3').html(scheduleDaily_3);
  335 + });
  336 +
  337 + });
  338 +
  339 + //按月查询
  340 + $("#month").on('click',function(){
  341 + line = $("#line").val();
  342 + xlName = $("#select2-line-container").html();
  343 + date = $("#date").val();
  344 + if(date == null || date.length == 0){
  345 + layer.msg("请选择时间");
  346 + return;
  347 + }
  348 + date = date.substring(0, 7);
  349 + $("c").html("全月");
  350 + $("#export").removeAttr("disabled");
  351 + $get('/realSchedule/statisticsDaily',{line:line,date:date,xlName:xlName,type:"query"},function(result){
  352 + var scheduleDaily_1 = template('scheduleDaily_1',{list:result});
  353 + $('#forms .scheduleDaily_1').html(scheduleDaily_1);
  354 + });
  355 + $('#forms .scheduleDaily_2').html("");
  356 + $('#forms .scheduleDaily_3').html("");
  357 +
353 358 });
354 359  
355 360 $("#export").on("click",function(){
356   - $get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){
357   - window.open("/downloadFile/download?fileName=营运服务日报表"+moment(date).format("YYYYMMDD"));
  361 + var params = {};
  362 + if(date == null || date.length == 0){
  363 + layer.msg("请选择时间");
  364 + return;
  365 + }
  366 + params['line'] = line;
  367 + params['date'] = date;
  368 + params['xlName'] = xlName;
  369 + params['type'] = "export";
  370 + params['state'] = '2';
  371 + $get('/realSchedule/scheduleDailyExport', params, function(result){
  372 + if(date.length == 10)
  373 + window.open("/downloadFile/download?fileName=调度日报"+moment(date).format("YYYYMMDD"));
  374 + else
  375 + window.open("/downloadFile/download?fileName=调度日报"+moment(date).format("YYYYMM"));
358 376 });
359 377 });
360 378  
361   -
362 379 });
363   -
364 380 </script>
365   -<script type="text/html" id="scheduleDaily_qp">
  381 +<script type="text/html" id="scheduleDaily_1">
366 382 {{each list as obj i}}
367 383 <tr>
368   - <td>{{obj.lp}}</td>
369   - <td>{{obj.cccl}}</td>
370   - <td>{{obj.thclzbh}}</td>
371   - <td>&nbsp;</td>
372   - <td>{{obj.jjb1}}</td>
373   - <td>{{obj.jjb2}}</td>
374   - <td>{{obj.jjb3}}</td>
375   - <td>{{obj.sjb1}}</td>
376   - <td>{{obj.sjb2}}</td>
377   - <td>{{obj.sjb3}}</td>
378   - <td>{{obj.lp}}</td>
379   - <td>&nbsp;</td>
380   - {{each lists as o j}}
381   - <td>{{obj['dd'+(j+1)]}}</td>
382   - <td>{{obj['cz'+(j+1)]}}</td>
383   - <td>{{obj['kc'+(j+1)]}}</td>
384   - {{/each}}
385   -
  384 + <td>{{obj.xlName}}</td>
  385 + <td>{{obj.jhlc}}</td>
  386 + <td>{{obj.sjgl}}</td>
  387 + <td>{{obj.ssgl}}</td>
  388 + <td>{{obj.ssbc}}</td>
  389 + <td>{{obj.ssgl_lz}}</td>
  390 + <td>{{obj.ssgl_dm}}</td>
  391 + <td>{{obj.ssgl_gz}}</td>
  392 + <td>{{obj.ssgl_jf}}</td>
  393 + <td>{{obj.ssgl_zs}}</td>
  394 + <td>{{obj.ssgl_qr}}</td>
  395 + <td>{{obj.ssgl_qc}}</td>
  396 + <td>{{obj.ssgl_kx}}</td>
  397 + <td>{{obj.ssgl_qh}}</td>
  398 + <td>{{obj.ssgl_yw}}</td>
  399 + <td>{{obj.ssgl_other}}</td>
  400 + <td>{{obj.ljgl}}</td>
  401 + <td>{{obj.jhbc}}</td>
  402 + <td>{{obj.jhbc_m}}</td>
  403 + <td>{{obj.jhbc_a}}</td>
  404 + <td>{{obj.sjbc}}</td>
  405 + <td>{{obj.sjbc_m}}</td>
  406 + <td>{{obj.sjbc_a}}</td>
  407 + <td>{{obj.ljbc}}</td>
  408 + <td>{{obj.ljbc_m}}</td>
  409 + <td>{{obj.ljbc_a}}</td>
  410 + <td>{{obj.fzbc}}</td>
  411 + <td>{{obj.fzbc_m}}</td>
  412 + <td>{{obj.fzbc_a}}</td>
  413 + <td>{{obj.dtbc}}</td>
  414 + <td>{{obj.dtbc_m}}</td>
  415 + <td>{{obj.dtbc_a}}</td>
  416 + <td>{{obj.djg}}</td>
  417 + <td>{{obj.djg_m}}</td>
  418 + <td>{{obj.djg_a}}</td>
  419 + <td>{{obj.djg_time}}</td>
  420 + <td colspan="5">&nbsp;</td>
  421 + </tr>
  422 + {{/each}}
  423 + {{if list.length == 0}}
  424 + <tr>
  425 + <td colspan="40"><h6 class="muted">没有找到相关数据</h6></td>
  426 + </tr>
  427 + {{/if}}
  428 +</script>
  429 +<script type="text/html" id="scheduleDaily_2">
  430 + {{each list as obj i}}
  431 + {{if i%5 == 0}}
  432 + <tr>
  433 + {{/if}}
  434 + <td colspan="2">{{obj[3]}}</td>
  435 + <td colspan="2">{{obj[2]}}</td>
  436 + <td>{{obj[1]}}/{{obj[4]}}</td>
  437 + <td>{{if obj[5] !=null}}
  438 + {{obj[5]}}/
  439 + {{obj[6]}}
386 440  
  441 + {{/if}}
  442 + </td>
  443 + <td>&nbsp;</td>
  444 + <td>&nbsp;</td>
  445 + {{if (i+1)%5 == 0}}
  446 + </tr>
  447 + {{/if}}
387 448 {{/each}}
388 449 {{if list.length == 0}}
389 450 <tr>
390   - <td colspan="17"><h6 class="muted">没有找到相关数据</h6></td>
  451 + <td colspan="40"><h6 class="muted">没有找到相关数据</h6></td>
391 452 </tr>
392 453 {{/if}}
393 454 </script>
  455 +<script type="text/html" id="scheduleDaily_3">
  456 + {{each list as obj i}}
  457 + {{if i%3 == 0}}
  458 + <tr>
  459 + {{/if}}
  460 + <td>{{obj.lpName}}</td>
  461 + <td colspan="2">{{obj.qdzName}}</td>
  462 + <td>{{obj.zdsj}}</td>
  463 + <td>{{obj.zdsjActual}}</td>
  464 + <td>{{obj.fast}}</td>
  465 + <td>{{obj.slow}}</td>
  466 + <td>{{obj.fcsj}}</td>
  467 + <td>{{obj.fcsjActual}}</td>
  468 + <td>{{obj.fast0}}</td>
  469 + <td>{{obj.slow0}}</td>
  470 + <td colspan="2">{{obj.remarks}}</td>
  471 + {{if (i+1)%3 == 0}}
  472 + <td>&nbsp;</td>
  473 + </tr>
  474 + {{/if}}
  475 + {{/each}}
  476 + {{if list.length == 0}}
  477 + <tr>
  478 + <td colspan="40"><h6 class="muted">没有找到相关数据</h6></td>
  479 + </tr>
  480 + {{/if}}
  481 +</script>
394 482 \ No newline at end of file
... ...
src/main/resources/static/pages/forms/statement/scheduleDailyQp2.html 0 → 100644
  1 +<style type="text/css">
  2 + .table-bordered {
  3 + border: 1px solid; }
  4 + .table-bordered > thead > tr > th,
  5 + .table-bordered > thead > tr > td,
  6 + .table-bordered > tbody > tr > th,
  7 + .table-bordered > tbody > tr > td,
  8 + .table-bordered > tfoot > tr > th,
  9 + .table-bordered > tfoot > tr > td {
  10 + border: 1px solid; }
  11 + .table-bordered > thead > tr > th,
  12 + .table-bordered > thead > tr > td {
  13 + border-bottom-width: 2px; }
  14 +
  15 + .table > tbody + tbody {
  16 + border-top: 1px solid; }
  17 +</style>
  18 +
  19 +<div class="page-head">
  20 + <div class="page-title">
  21 + <h1>调度工作日报表</h1>
  22 + </div>
  23 +</div>
  24 +
  25 +<div class="row">
  26 + <div class="col-md-12">
  27 + <div class="portlet light porttlet-fit bordered">
  28 + <div class="portlet-title">
  29 + <form id="history" class="form-inline" action="">
  30 + <div style="display: inline-block; margin-left: 10px;" id="company1">
  31 + <span class="item-label" style="width: 80px;">公司: </span>
  32 + <select class="form-control" name="company" id="company" style="width: 160px;"></select>
  33 + </div>
  34 + <div style="display: inline-block; margin-left: 10px;" id="subCompany1">
  35 + <span class="item-label" style="width: 80px;">分公司: </span>
  36 + <select class="form-control" name="subCompany" id="subCompany" style="width: 160px;"></select>
  37 + </div>
  38 + <div style="display: inline-block; margin-left: 10px;">
  39 + <span class="item-label" style="width: 80px;">线路: </span>
  40 + <select class="form-control" name="line" id="line" style="width: 180px;"></select>
  41 + </div>
  42 + <div style="display: inline-block;margin-left: 10px;">
  43 + <span class="item-label" style="width: 80px;">时间: </span>
  44 + <input class="form-control" type="text" id="date" style="width: 180px;"/>
  45 + </div>
  46 + <div class="form-group">
  47 + <input class="btn btn-default" type="button" id="query" value="筛选"/>
  48 + <input class="btn btn-default" type="button" id="export" value="导出"/>
  49 + </div>
  50 + </form>
  51 + </div>
  52 + <div class="portlet-body" >
  53 + <div class="table-container" style="margin-top: 10px;overflow:auto;min-width: 506px;height: 400px">
  54 + <table class="table table-bordered table-hover table-checkable" id="forms">
  55 + <thead >
  56 + <tr >
  57 + <th style="text-align:center;vertical-align:middle;" rowspan="3">路牌</th>
  58 + <th style="text-align:center;vertical-align:middle;"
  59 + rowspan="2" colspan="2">车号</th>
  60 + <th rowspan="3">班别</th>
  61 + <th colspan="3" style="text-align:center;vertical-align:middle;">驾驶员</th>
  62 + <th colspan="3" style="text-align:center;vertical-align:middle;">售票员</th>
  63 + <th rowspan="3" style="text-align:center;vertical-align:middle;">路牌</th>
  64 + <th rowspan="4" style="text-align:center;vertical-align:middle;">记录项目</th>
  65 + <th colspan="3" style="text-align:center;vertical-align:middle;">1</th>
  66 + <th colspan="3" style="text-align:center;vertical-align:middle;">2</th>
  67 + <th colspan="3" style="text-align:center;vertical-align:middle;">3</th>
  68 + <th colspan="3" style="text-align:center;vertical-align:middle;">4</th>
  69 + <th colspan="3" style="text-align:center;vertical-align:middle;">5</th>
  70 + <th colspan="3" style="text-align:center;vertical-align:middle;">6</th>
  71 + <th colspan="3" style="text-align:center;vertical-align:middle;">7</th>
  72 + <th colspan="3" style="text-align:center;vertical-align:middle;">8</th>
  73 + <th colspan="3" style="text-align:center;vertical-align:middle;">9</th>
  74 + <th colspan="3" style="text-align:center;vertical-align:middle;">10</th>
  75 + <th colspan="3" style="text-align:center;vertical-align:middle;">11</th>
  76 + <th colspan="3" style="text-align:center;vertical-align:middle;">12</th>
  77 + <th colspan="3" style="text-align:center;vertical-align:middle;">13</th>
  78 + <th colspan="3" style="text-align:center;vertical-align:middle;">14</th>
  79 + <th colspan="3" style="text-align:center;vertical-align:middle;">15</th>
  80 + <th colspan="3" style="text-align:center;vertical-align:middle;">16</th>
  81 + <th colspan="3" style="text-align:center;vertical-align:middle;">17</th>
  82 + <th colspan="3" style="text-align:center;vertical-align:middle;">18</th>
  83 + <th colspan="3" style="text-align:center;vertical-align:middle;">19</th>
  84 + <th colspan="3" style="text-align:center;vertical-align:middle;">20</th>
  85 +
  86 + </tr>
  87 + <tr>
  88 +
  89 +
  90 + <th colspan="3">职号/接班时间</th>
  91 + <th colspan="3">职号/接班时间</th>
  92 + <th rowspan="2">到达</th>
  93 + <th rowspan="2">早/迟</th>
  94 + <th rowspan="2">开出</th>
  95 +
  96 + <th rowspan="2">到达</th>
  97 + <th rowspan="2">早/迟</th>
  98 + <th rowspan="2">开出</th>
  99 +
  100 + <th rowspan="2">到达</th>
  101 + <th rowspan="2">早/迟</th>
  102 + <th rowspan="2">开出</th>
  103 +
  104 + <th rowspan="2">到达</th>
  105 + <th rowspan="2">早/迟</th>
  106 + <th rowspan="2">开出</th>
  107 +
  108 + <th rowspan="2">到达</th>
  109 + <th rowspan="2">早/迟</th>
  110 + <th rowspan="2">开出</th>
  111 +
  112 + <th rowspan="2">到达</th>
  113 + <th rowspan="2">早/迟</th>
  114 + <th rowspan="2">开出</th>
  115 +
  116 + <th rowspan="2">到达</th>
  117 + <th rowspan="2">早/迟</th>
  118 + <th rowspan="2">开出</th>
  119 +
  120 + <th rowspan="2">到达</th>
  121 + <th rowspan="2">早/迟</th>
  122 + <th rowspan="2">开出</th>
  123 +
  124 + <th rowspan="2">到达</th>
  125 + <th rowspan="2">早/迟</th>
  126 + <th rowspan="2">开出</th>
  127 +
  128 + <th rowspan="2">到达</th>
  129 + <th rowspan="2">早/迟</th>
  130 + <th rowspan="2">开出</th>
  131 +
  132 + <th rowspan="2">到达</th>
  133 + <th rowspan="2">早/迟</th>
  134 + <th rowspan="2">开出</th>
  135 +
  136 + <th rowspan="2">到达</th>
  137 + <th rowspan="2">早/迟</th>
  138 + <th rowspan="2">开出</th>
  139 +
  140 + <th rowspan="2">到达</th>
  141 + <th rowspan="2">早/迟</th>
  142 + <th rowspan="2">开出</th>
  143 +
  144 + <th rowspan="2">到达</th>
  145 + <th rowspan="2">早/迟</th>
  146 + <th rowspan="2">开出</th>
  147 +
  148 + <th rowspan="2">到达</th>
  149 + <th rowspan="2">早/迟</th>
  150 + <th rowspan="2">开出</th>
  151 +
  152 + <th rowspan="2">到达</th>
  153 + <th rowspan="2">早/迟</th>
  154 + <th rowspan="2">开出</th>
  155 +
  156 + <th rowspan="2">到达</th>
  157 + <th rowspan="2">早/迟</th>
  158 + <th rowspan="2">开出</th>
  159 +
  160 + <th rowspan="2">到达</th>
  161 + <th rowspan="2">早/迟</th>
  162 + <th rowspan="2">开出</th>
  163 +
  164 + <th rowspan="2">到达</th>
  165 + <th rowspan="2">早/迟</th>
  166 + <th rowspan="2">开出</th>
  167 +
  168 + <th rowspan="2">到达</th>
  169 + <th rowspan="2">早/迟</th>
  170 + <th rowspan="2">开出</th>
  171 +
  172 + </tr>
  173 + <tr>
  174 + <th>出场</th>
  175 + <th>调换</th>
  176 + <th>1</th>
  177 + <th>2</th>
  178 + <th>3</th>
  179 + <th>1</th>
  180 + <th>2</th>
  181 + <th>3</th>
  182 + </tr>
  183 + </thead>
  184 + <tbody >
  185 + <tr >
  186 + <td></td>
  187 + <td>
  188 +
  189 + </td>
  190 + <td>
  191 +
  192 + </td>
  193 + <td>
  194 +
  195 + </td>
  196 + <td>
  197 +
  198 + </td>
  199 + <td >
  200 +
  201 + </td>
  202 + <td></td>
  203 + <td></td>
  204 + <td></td>
  205 + <td></td>
  206 + <td></td>
  207 + <td></td>
  208 + <td></td>
  209 + <td></td>
  210 + <td></td>
  211 + <td></td>
  212 + <td></td>
  213 + <td></td>
  214 + <td></td>
  215 + <td></td>
  216 + <td></td>
  217 + <td></td>
  218 + <td></td>
  219 + <td></td>
  220 + <td></td>
  221 + <td></td>
  222 + <td></td>
  223 + <td></td>
  224 + <td></td>
  225 + <td></td>
  226 + <td></td>
  227 + <td></td>
  228 + <td></td>
  229 + <td></td>
  230 + <td></td>
  231 + <td></td>
  232 + <td></td>
  233 + <td></td>
  234 + <td></td>
  235 + <td></td>
  236 + <td></td>
  237 + <td></td>
  238 + <td></td>
  239 + <td></td>
  240 + <td></td>
  241 + <td></td>
  242 + <td></td>
  243 + <td></td>
  244 + <td></td>
  245 + <td></td>
  246 + <td></td>
  247 + <td></td>
  248 + <td></td>
  249 + <td></td>
  250 + <td></td>
  251 + <td></td>
  252 + <td></td>
  253 + <td></td>
  254 + <td></td>
  255 + <td></td>
  256 + <td></td>
  257 + <td></td>
  258 + <td></td>
  259 + <td></td>
  260 + <td></td>
  261 + <td></td>
  262 + <td></td>
  263 + <td></td>
  264 + <td></td>
  265 + <td></td>
  266 + <td></td>
  267 + <td></td>
  268 + </tr>
  269 +
  270 + </tbody>
  271 + </table>
  272 + <div style="text-align: right;">
  273 + <ul id="pagination" class="pagination"></ul>
  274 + </div>
  275 + </div>
  276 + </div>
  277 + </div>
  278 + </div>
  279 +</div>
  280 +
  281 +<script>
  282 + $(function(){
  283 +
  284 + // 关闭左侧栏
  285 + if (!$('body').hasClass('page-sidebar-closed'))
  286 + $('.menu-toggler.sidebar-toggler').click();
  287 +
  288 + $("#date").datetimepicker({
  289 + format : 'YYYY-MM-DD',
  290 + locale : 'zh-cn'
  291 + });
  292 +
  293 + var d = new Date();
  294 + var year = d.getFullYear();
  295 + var month = d.getMonth() + 1;
  296 + var day = d.getDate();
  297 + if(month < 10)
  298 + month = "0" + month;
  299 + if(day < 10)
  300 + day = "0" + day;
  301 + $("#date").val(year + "-" + month + "-" + day);
  302 +
  303 + $.get('/basic/lineCode2Name',function(result){
  304 + var data=[];
  305 +
  306 + data.push({id: " ", text: "全部线路"});
  307 + for(var code in result){
  308 + data.push({id: code, text: result[code]});
  309 + }
  310 + initPinYinSelect2('#line',data,'');
  311 + })
  312 +
  313 + var obj = [];
  314 + $.get('/user/companyData', function(result){
  315 + obj = result;
  316 + var options = '';
  317 + for(var i = 0; i < obj.length; i++){
  318 + options += '<option value="'+obj[i].companyCode+'">'+obj[i].companyName+'</option>';
  319 + }
  320 + if(obj.length == 1){
  321 + $('#company1').hide();
  322 + if(obj[0].children.length == 1)
  323 + $('#subCompany1').hide();
  324 + }
  325 + $('#company').html(options);
  326 + updateCompany();
  327 + });
  328 + $("#company").on("change",updateCompany);
  329 + function updateCompany(){
  330 + var company = $('#company').val();
  331 + var options = '';
  332 + for(var i = 0; i < obj.length; i++){
  333 + if(obj[i].companyCode == company){
  334 + var children = obj[i].children;
  335 + for(var j = 0; j < children.length; j++){
  336 + options += '<option value="'+children[j].code+'">'+children[j].name+'</option>';
  337 + }
  338 + }
  339 + }
  340 + $('#subCompany').html(options);
  341 + }
  342 +
  343 +
  344 + //查询
  345 + $("#query").on('click',function(){
  346 + var line = $("#line").val();
  347 + var date = $("#date").val();
  348 + $get('/realSchedule/scheduleDailyQp',{line:line,date:date},function(result){
  349 + var mycars = new Array(20);
  350 + var scheduleDaily_qp = template('scheduleDaily_qp',{list:result,lists:mycars});
  351 + $('#forms tbody').html(scheduleDaily_qp);
  352 + });
  353 + });
  354 +
  355 + $("#export").on("click",function(){
  356 + $get('/pcpc/workDaily',{line:line,date:date,type:'export'},function(result){
  357 + window.open("/downloadFile/download?fileName=营运服务日报表"+moment(date).format("YYYYMMDD"));
  358 + });
  359 + });
  360 +
  361 +
  362 + });
  363 +
  364 +</script>
  365 +<script type="text/html" id="scheduleDaily_qp">
  366 + {{each list as obj i}}
  367 + <tr>
  368 + <td>{{obj.lp}}</td>
  369 + <td>{{obj.cccl}}</td>
  370 + <td>{{obj.thclzbh}}</td>
  371 + <td>&nbsp;</td>
  372 + <td>{{obj.jjb1}}</td>
  373 + <td>{{obj.jjb2}}</td>
  374 + <td>{{obj.jjb3}}</td>
  375 + <td>{{obj.sjb1}}</td>
  376 + <td>{{obj.sjb2}}</td>
  377 + <td>{{obj.sjb3}}</td>
  378 + <td>{{obj.lp}}</td>
  379 + <td>&nbsp;</td>
  380 + {{each lists as o j}}
  381 + <td>{{obj['dd'+(j+1)]}}</td>
  382 + <td>{{obj['cz'+(j+1)]}}</td>
  383 + <td>{{obj['kc'+(j+1)]}}</td>
  384 + {{/each}}
  385 +
  386 +
  387 + {{/each}}
  388 + {{if list.length == 0}}
  389 + <tr>
  390 + <td colspan="17"><h6 class="muted">没有找到相关数据</h6></td>
  391 + </tr>
  392 + {{/if}}
  393 +</script>
... ...
src/main/resources/static/pages/forms/statement/waybill.html
... ... @@ -50,9 +50,9 @@
50 50 <table class="table table-bordered table-hover table-checkable pre-scrollable" id="info">
51 51 <thead>
52 52 <tr class="hidden">
53   - <th>人员</th>
54   - <th>自编号</th>
55   - <th>路牌</th>
  53 + <th class="rypx" style="cursor:pointer ">人员</th>
  54 + <th class="zbhpx" style="cursor:pointer ">自编号</th>
  55 + <th class="lppx" style="cursor:pointer ">路牌</th>
56 56 </tr>
57 57 </thead>
58 58 <tbody>
... ... @@ -95,7 +95,16 @@
95 95 format : 'YYYY-MM-DD',
96 96 locale : 'zh-cn'
97 97 });
98   -
  98 +
  99 + var d = new Date();
  100 + var year = d.getFullYear();
  101 + var month = d.getMonth() + 1;
  102 + var day = d.getDate();
  103 + if(month < 10)
  104 + month = "0" + month;
  105 + if(day < 10)
  106 + day = "0" + day;
  107 + $("#date").val(year + "-" + month + "-" + day);
99 108 $.get('/basic/lineCode2Name',function(result){
100 109 var data=[];
101 110  
... ... @@ -159,6 +168,57 @@
159 168 $('#info tbody').html(tbodyHtml);
160 169 });
161 170 });
  171 + var type="desc";
  172 + $(".rypx").on("click",function(){
  173 + line = $("#line").val();
  174 + date = $("#date").val();
  175 + $(".hidden").removeClass("hidden");
  176 + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"j_Gh",type:type},function(result){
  177 + if(type=="desc"){
  178 + type ="asc";
  179 + }else{
  180 + type ="desc";
  181 + }
  182 + // 把数据填充到模版中
  183 + var tbodyHtml = template('list_info_px',{list:result});
  184 + // 把渲染好的模版html文本追加到表格中
  185 + $('#info tbody').html(tbodyHtml);
  186 + });
  187 + })
  188 +
  189 + $(".zbhpx").on("click",function(){
  190 + line = $("#line").val();
  191 + date = $("#date").val();
  192 + $(".hidden").removeClass("hidden");
  193 + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"clZbh",type:type},function(result){
  194 + if(type=="desc"){
  195 + type ="asc";
  196 + }else{
  197 + type ="desc";
  198 + }
  199 + // 把数据填充到模版中
  200 + var tbodyHtml = template('list_info_px',{list:result});
  201 + // 把渲染好的模版html文本追加到表格中
  202 + $('#info tbody').html(tbodyHtml);
  203 + });
  204 + })
  205 +
  206 + $(".lppx").on("click",function(){
  207 + line = $("#line").val();
  208 + date = $("#date").val();
  209 + $(".hidden").removeClass("hidden");
  210 + $get('/realSchedule/queryUserInfoPx',{line:line,date:date,state:"(lpName+1)",type:type},function(result){
  211 + if(type=="desc"){
  212 + type ="asc";
  213 + }else{
  214 + type ="desc";
  215 + }
  216 + // 把数据填充到模版中
  217 + var tbodyHtml = template('list_info_px',{list:result});
  218 + // 把渲染好的模版html文本追加到表格中
  219 + $('#info tbody').html(tbodyHtml);
  220 + });
  221 + })
162 222  
163 223 var params = new Array();
164 224 var jName = '';
... ... @@ -248,6 +308,20 @@
248 308 </tr>
249 309 {{/if}}
250 310 </script>
  311 +<script type="text/html" id="list_info_px">
  312 + {{each list as obj i}}
  313 + <tr>
  314 + <td width="45%">{{obj.jName}}\{{obj.jGh}}</td>
  315 + <td width="32%">{{obj.clZbh}}</td>
  316 + <td width="23%">{{obj.lpName}}<input type="hidden" id="{{obj.clZbh}}" value="{{obj.id}}"></td>
  317 + </tr>
  318 + {{/each}}
  319 + {{if list.length == 0}}
  320 + <tr>
  321 + <td colspan="3"><h6 class="muted">没有找到相关数据</h6></td>
  322 + </tr>
  323 + {{/if}}
  324 +</script>
251 325 <script type="text/html" id="ludan_1">
252 326 <tr>
253 327 <td colspan="14">行车路单</td>
... ...
src/main/resources/static/pages/forms/statement/waybillQp.html
... ... @@ -188,6 +188,7 @@
188 188 $('#forms .ludan_2').html(ludan_2);
189 189 });
190 190 $post('/realSchedule/findKMBCQp',{clZbh:params[0],date:date,line:line},function(result){
  191 + console.log(result);
191 192 var ludan_3 = template('ludan_3',{map:result});
192 193 $('#forms .ludan_3').html(ludan_3);
193 194 });
... ...
src/main/resources/static/pages/scheduleApp/module/core/ttInfoManage/detailedit/timeTableDetailManage_old.js
... ... @@ -470,7 +470,7 @@ angular.module(&#39;ScheduleApp&#39;).controller(
470 470 },
471 471 reSetModelValue: function(timeTableDetailForSave) {
472 472 var model = timeTableDetailForSave;
473   - if (model == "in") {
  473 + if (model.bcType == "in") {
474 474 model.qdz = this.qdz;
475 475 model.tcc = this.tcc;
476 476 } else if (model.bcType == "out") {
... ...