Commit 67a99dff157f7a0e348201570de4e7a5d29f146e

Authored by 徐烜
2 parents 33038a9b e12399e3

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

Showing 29 changed files with 1662 additions and 1299 deletions

Too many changes to show.

To preserve performance only 29 of 37 files are displayed.

src/main/java/com/bsth/controller/forms/ExportController.java
... ... @@ -82,7 +82,7 @@ public class ExportController {
82 82 }
83 83  
84 84 // 班次车辆人员日统计
85   - @RequestMapping(value = "/shifdayExport", method = RequestMethod.POST)
  85 + @RequestMapping(value = "/shifdayExport", method = RequestMethod.GET)
86 86 public List<Map<String, Object>> shifdayExport(@RequestParam Map<String, Object> map) {
87 87 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd");
88 88 List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
... ... @@ -122,7 +122,7 @@ public class ExportController {
122 122 }
123 123  
124 124 // 班次车辆人员月统计
125   - @RequestMapping(value = "/shiftuehiclemanthExport", method = RequestMethod.POST)
  125 + @RequestMapping(value = "/shiftuehiclemanthExport", method = RequestMethod.GET)
126 126 public List<Map<String, Object>> shiftuehiclemanthExport(@RequestParam Map<String, Object> map) {
127 127 SimpleDateFormat sdfMonth = new SimpleDateFormat("yyyy-MM-dd"), sdfSimple = new SimpleDateFormat("yyyyMMdd");
128 128 List<Iterator<?>> listI = new ArrayList<Iterator<?>>();
... ... @@ -147,12 +147,18 @@ public class ExportController {
147 147 }
148 148  
149 149 try {
  150 + String mouldurl = null;
  151 + if(map.get("empnames").equals("驾驶员")){
  152 + mouldurl="mould/shiftuehiclemanth.xls";
  153 + }else if(map.get("empnames").equals("售票员")){
  154 + mouldurl="mould/shiftuehiclemanthspy.xls";
  155 + }else if(map.get("empnames").equals("路牌")){
  156 + mouldurl="mould/shiftuehiclemanthlp.xls";
  157 + }
150 158 listI.add(resList.iterator());
151   -
152 159 String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
153   - ee.excelReplace(listI, new Object[] { map }, path + "mould/shiftuehiclemanth.xls", path
154   - + "export/班次车辆人员月报表" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
155   -
  160 + ee.excelReplace(listI, new Object[] { map }, path +mouldurl,
  161 + path + "export/班次车辆人员月报表" + sdfSimple.format(sdfMonth.parse(map.get("startDate").toString())) + ".xls");
156 162 } catch (Exception e) {
157 163 e.printStackTrace();
158 164 }
... ...
src/main/java/com/bsth/controller/forms/MCY_FormsController.java
... ... @@ -52,14 +52,14 @@ public class MCY_FormsController {
52 52 }
53 53  
54 54 // 班次车辆人员月报表
55   - @RequestMapping(value = "/shiftuehiclemanth", method = RequestMethod.POST)
  55 + @RequestMapping(value = "/shiftuehiclemanth", method = RequestMethod.GET)
56 56 public List<Shiftuehiclemanth> shiftuehiclemanth(@RequestParam Map<String, Object> map) {
57 57  
58 58 return formsService.shiftuehiclemanth(map);
59 59 }
60 60  
61 61 // 班次车辆人员日统计
62   - @RequestMapping(value = "/shifday", method = RequestMethod.POST)
  62 + @RequestMapping(value = "/shifday", method = RequestMethod.GET)
63 63 public List<Shifday> shifday(@RequestParam Map<String, Object> map) {
64 64  
65 65 return formsService.shifday(map);
... ...
src/main/java/com/bsth/controller/realcontrol/ScheduleRealInfoController.java
... ... @@ -369,8 +369,35 @@ public class ScheduleRealInfoController extends BaseController&lt;ScheduleRealInfo,
369 369 }
370 370  
371 371 @RequestMapping(value="/statisticsDailyTj")
372   - public List<Map<String,Object>> statisticsDailyTj(@RequestParam String gsdm,@RequestParam String fgsdm, @RequestParam String line, @RequestParam String date,
373   - @RequestParam String date2,@RequestParam String xlName, @RequestParam String type){
  372 + public List<Map<String,Object>> statisticsDailyTj(@RequestParam Map<String, Object> map){
  373 + String gsdm="";
  374 + if(map.get("gsdm")!=null){
  375 + gsdm=map.get("gsdm").toString();
  376 + }
  377 + String fgsdm="";
  378 + if(map.get("fgsdm")!=null){
  379 + fgsdm=map.get("fgsdm").toString();
  380 + }
  381 + String line="";
  382 + if(map.get("line")!=null){
  383 + line=map.get("line").toString();
  384 + }
  385 + String date="";
  386 + if(map.get("date")!=null){
  387 + date=map.get("date").toString();
  388 + }
  389 + String date2="";
  390 + if(map.get("date2")!=null){
  391 + date2=map.get("date2").toString();
  392 + }
  393 + String xlName="";
  394 + if(map.get("xlName")!=null){
  395 + xlName=map.get("xlName").toString();
  396 + }
  397 + String type="";
  398 + if(map.get("type")!=null){
  399 + type=map.get("type").toString();
  400 + }
374 401 return scheduleRealInfoService.statisticsDailyTj(gsdm,fgsdm,line, date,date2, xlName, type);
375 402 }
376 403  
... ...
src/main/java/com/bsth/data/gpsdata/arrival/handlers/InOutStationSignalHandle.java
... ... @@ -155,12 +155,32 @@ public class InOutStationSignalHandle extends SignalHandle{
155 155 }
156 156 else if(sch.getBcType().equals("out")){
157 157 ScheduleRealInfo next = dayOfSchedule.nextSame(sch);
  158 + //如果下一个班次是区间,并且是环线
  159 + if(next != null && next.getBcType().equals("region")){
  160 + next = dayOfSchedule.nextSame(next);
  161 + if(next == null || !next.getQdzName().equals(next.getZdzName())){
  162 + return;
  163 + }
  164 + }
158 165 if(next != null && prev.getStopNo().equals(next.getQdzCode())){
159 166 //发下一个班次
160 167 dayOfSchedule.addExecPlan(next);
161 168 outStation(gps, prev);
162 169 }
163 170 }
  171 + //当前班次是区间
  172 + else if(sch.getBcType().equals("region")){
  173 + ScheduleRealInfo next = dayOfSchedule.nextSame(sch);
  174 + if(next==null || !next.getQdzName().equals(next.getZdzName())){
  175 + return;
  176 + }
  177 + //是环线
  178 + if(prev.getStopNo().equals(next.getQdzCode())){
  179 + //发下一个班次
  180 + dayOfSchedule.addExecPlan(next);
  181 + outStation(gps, prev);
  182 + }
  183 + }
164 184 }
165 185  
166 186  
... ...
src/main/java/com/bsth/data/gpsdata/recovery/GpsDataRecovery.java
... ... @@ -60,7 +60,7 @@ public class GpsDataRecovery implements ApplicationContextAware {
60 60 for (String nbbm : keys) {
61 61 Collections.sort(listMap.get(nbbm), comp);
62 62 threadPool.execute(new RecoveryThread(listMap.get(nbbm), count));
63   - /*if(nbbm.equals("SXC-YD012"))
  63 + /*if(nbbm.equals("W9G-013"))
64 64 new RecoveryThread(listMap.get(nbbm), count).run();*/
65 65 }
66 66  
... ... @@ -150,6 +150,8 @@ public class GpsDataRecovery implements ApplicationContextAware {
150 150 CircleQueue<GpsEntity> prevs;
151 151 boolean task;
152 152 for (GpsEntity gps : list) {
  153 + /*if(gps.getTimestamp() > 1491951840000L)
  154 + System.out.print("");*/
153 155  
154 156 //是否有任务
155 157  
... ...
src/main/java/com/bsth/data/safe_driv/SafeDrivCenter.java
... ... @@ -46,8 +46,8 @@ public class SafeDrivCenter implements CommandLineRunner,ApplicationContextAware
46 46 if(sd.getYczltype().indexOf("A") == -1)
47 47 sd.setYczltype("A" + sd.getYczltype());
48 48  
49   - SafeDriv old = safeMap.get(sd.getClzbh());
50   - if(old == null || sd.getTs() > old.getTs()){
  49 + //SafeDriv old = safeMap.get(sd.getClzbh());
  50 + if(!data.contains(sd)){
51 51 //通知客户端
52 52 sendUtils.sendSafeDriv(sd);
53 53 data.add(sd);
... ... @@ -67,7 +67,7 @@ public class SafeDrivCenter implements CommandLineRunner,ApplicationContextAware
67 67 @Override
68 68 public void run(String... strings) throws Exception {
69 69 //定时加载安全驾驶数据
70   - //Application.mainServices.scheduleWithFixedDelay(safeDrivDataLoadThread, 60, 60, TimeUnit.SECONDS);
  70 + //Application.mainServices.scheduleWithFixedDelay(safeDrivDataLoadThread, 60, 4, TimeUnit.SECONDS);
71 71 }
72 72  
73 73 @Override
... ...
src/main/java/com/bsth/data/schedule/thread/CalcOilThread.java
1 1 package com.bsth.data.schedule.thread;
2 2  
  3 +import com.bsth.service.oil.DlbService;
3 4 import com.bsth.data.safe_driv.SafeDrivCenter;
4 5 import com.bsth.service.oil.YlbService;
5 6 import org.slf4j.Logger;
... ... @@ -16,7 +17,8 @@ public class CalcOilThread extends Thread{
16 17  
17 18 @Autowired
18 19 YlbService ylbService;
19   -
  20 + @Autowired
  21 + DlbService dlbService;
20 22 Logger logger = LoggerFactory.getLogger(this.getClass());
21 23  
22 24 @Override
... ... @@ -24,6 +26,7 @@ public class CalcOilThread extends Thread{
24 26 try{
25 27 logger.info("开始计算路单里程加注量....");
26 28 ylbService.obtainDsq();
  29 + dlbService.obtainDsq();
27 30 logger.info("计算路单里程加注量结束!");
28 31  
29 32 //清除安全驾驶数据 先临时蹭这个线程
... ...
src/main/java/com/bsth/repository/realcontrol/ScheduleRealInfoRepository.java
... ... @@ -155,8 +155,13 @@ public interface ScheduleRealInfoRepository extends BaseRepository&lt;ScheduleRealI
155 155 List<ScheduleRealInfo> scheduleByDateAndLineTj(String line,String date,String date2,String gsdm,String fgsdm);
156 156  
157 157 //按照时间段统计
158   - @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm")
159   - List<ScheduleRealInfo> scheduleByDateAndLineTj2(String line,String date,String date2);
  158 + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
  159 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 and s.bcType not in ('in','out') order by s.xlBm")
  160 + List<ScheduleRealInfo> scheduleByDateAndLineTj2(String line,String date,String date2);
  161 + //月报表
  162 + @EntityGraph(value = "scheduleRealInfo_cTasks", type = EntityGraph.EntityGraphType.FETCH)
  163 + @Query(value="select DISTINCT s from ScheduleRealInfo s where s.xlBm = ?1 and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') between ?2 and ?3 order by s.xlBm")
  164 + List<ScheduleRealInfo> scheduleByDateAndLineYbb(String line,String date,String date2);
160 165  
161 166 @Query(value="select new map(s.scheduleDate as scheduleDate,s.xlBm as xlBm,s.clZbh as clZbh,s.jGh as jGh,min(s.fcsj) as fcsj ) from ScheduleRealInfo s where s.xlBm like %?1% and DATE_FORMAT(s.scheduleDate,'%Y-%m-%d') = ?2 and s.gsBm like %?3% and s.fgsBm like %?4% GROUP BY xlBm,clZbh,jGh,scheduleDate,jGh ORDER BY clZbh,fcsj")
162 167 List<Map<String,Object>> yesterdayDataList(String line,String date,String gsbm,String fgsbm);
... ...
src/main/java/com/bsth/service/forms/impl/FormsServiceImpl.java
... ... @@ -147,59 +147,94 @@ public class FormsServiceImpl implements FormsService {
147 147  
148 148 @Override
149 149 public List<Shiftuehiclemanth> shiftuehiclemanth(Map<String, Object> map) {
150   - String sql = "select r.j_name,r.cl_zbh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type "
  150 + final String empnames=map.get("empnames").toString();
  151 + String gsdmManth="";
  152 + String fgsdmManth="";
  153 + if(map.containsKey("gsdmManth")){
  154 + gsdmManth=map.get("gsdmManth").toString();
  155 + }
  156 + if(map.containsKey("fgsdmManth")){
  157 + fgsdmManth=map.get("fgsdmManth").toString();
  158 + }
  159 + String sql = "select r.j_name,r.cl_zbh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type,r.s_name,r.lp_name "
151 160 + " from bsth_c_s_sp_info_real r "
152 161 + " where 1=1 ";
153   - if(map.get("startDate").toString()!=""){
  162 + if(map.get("startDate")!=null&&!map.get("startDate").equals("")){
154 163 sql+=" and to_days(r.schedule_date_str) BETWEEN to_days('" + map.get("startDate").toString() + "') ";
155 164 }
156 165  
157   - if(map.get("endDate").toString()!=""){
  166 + if(map.get("endDate")!=null&&!map.get("endDate").equals("")){
158 167 sql+=" and to_days('" + map.get("endDate").toString() + "') ";
159 168 }
160   - if( map.get("line").toString()!=""){
  169 + if(map.get("line")!=null&&!map.get("line").equals("")){
161 170 sql+=" and r.xl_bm='"+ map.get("line").toString() + "' ";
162 171 }
163 172 sql+= " AND r.gs_bm is not null and r.bc_type not in('in','out')";
164   - if(map.get("gsdmManth").toString()!=""){
  173 + if(map.get("gsdmManth")!=null&&!map.get("gsdmManth").equals("")){
165 174 sql+=" and r.gs_bm='"+map.get("gsdmManth").toString()+"' ";
166 175 }
167   - if(map.get("fgsdmManth").toString()!=""){
  176 + if(map.get("fgsdmManth")!=null&&!map.get("fgsdmManth").equals("")){
168 177 sql+=" and r.fgs_bm='"+map.get("fgsdmManth").toString()+"' ";
169 178 }
  179 + if(empnames.equals("售票员")){
  180 + sql+="and r.s_name is not null AND r.s_name !=''";
  181 + }
170 182 sql += " GROUP BY r.j_name,r.cl_zbh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type ";
171 183  
172   - startDate = map.get("startDate").toString();
173   - endDate = map.get("endDate").toString();
  184 +
174 185 List<Shiftuehiclemanth> list = jdbcTemplate.query(sql, new RowMapper<Shiftuehiclemanth>() {
175   -
  186 +
176 187 @Override
177 188 public Shiftuehiclemanth mapRow(ResultSet arg0, int arg1) throws SQLException {
178 189 Shiftuehiclemanth shif = new Shiftuehiclemanth();
179   - shif.setjName(arg0.getString("j_name"));
  190 + if(empnames.equals("驾驶员")){
  191 + shif.setjName(arg0.getString("j_name"));
  192 + }else if(empnames.equals("售票员")){
  193 + shif.setjName(arg0.getString("s_name")==null ? "":arg0.getString("s_name"));
  194 + }else if(empnames.equals("路牌")){
  195 + shif.setjName(arg0.getString("lp_name"));
  196 + }
  197 +
180 198 shif.setJgh(arg0.getString("j_gh"));
181 199 shif.setZbh(arg0.getString("cl_zbh"));
182 200 return shif;
183 201 }
184 202 });
185 203  
  204 + List<ScheduleRealInfo> sList;
  205 + List<ScheduleRealInfo> lists=scheduleRealInfoRepository.scheduleByDateAndLineYbb(map.get("line").toString(), map.get("startDate").toString(), map.get("endDate").toString());
186 206 for(int i=0;i<list.size();i++){
187   - Shiftuehiclemanth s=list.get(i);
188   - Map<String, Object> maps = new HashMap<>();
189   -
190   - maps = commonService.findKMBC1(s.getjName(),s.getZbh(), startDate,
191   - endDate);
192   -
193   - s.setJhlc(maps.get("jhlc").toString());
194   - s.setEmptMileage(maps.get("ksgl").toString());
195   - s.setRemMileage(maps.get("remMileage").toString());
196   - s.setAddMileage(maps.get("addMileage").toString());
197   - s.setTotalm(maps.get("realMileage").toString());
198   - s.setCjbc(maps.get("cjbc").toString());
199   - s.setLjbc(maps.get("ljbc").toString());
200   - s.setSjbc(maps.get("sjbc").toString());
201   -
  207 + sList =new ArrayList<ScheduleRealInfo>();
  208 + Shiftuehiclemanth d=list.get(i);
  209 + for (int j = 0; j < lists.size(); j++) {
  210 + ScheduleRealInfo s=lists.get(j);
  211 + if(d.getJgh().equals(s.getjGh()) && d.getZbh().equals(s.getClZbh())){
  212 + sList.add(s);
  213 + }
  214 + }
  215 +
  216 + double ksgl=culateMileageService.culateKsgl(sList);
  217 + double jccgl=culateMileageService.culateJccgl(sList);
  218 + double zksgl=Arith.add(ksgl, jccgl);
  219 + double ljgl=culateMileageService.culateLjgl(sList);
  220 + double sjgl=culateMileageService.culateSjgl(sList);
  221 + double zyygl=Arith.add(ljgl, sjgl);
  222 + double cjbc=culateMileageService.culateLbbc(sList);
  223 + double Ljbc=culateMileageService.culateLjbc(sList,"");
  224 + double cjgl=culateMileageService.culateLbgl(sList);
  225 + double zjgl=culateMileageService.culateLjgl(sList);
  226 + d.setEmptMileage(String.valueOf(zksgl));//空驶公里
  227 + d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里
  228 + d.setSjbc(String.valueOf(culateMileageService.culateSjbc(sList, "")+culateMileageService.culateLjbc(sList, "")));
  229 + d.setJhlc(String.valueOf(zyygl));//运营里程
  230 + d.setCjbc(String.valueOf(cjbc));//抽检班次
  231 + d.setLjbc(String.valueOf(Ljbc));//增加班次
  232 + d.setRemMileage(String.valueOf(cjgl));//抽检里程
  233 + d.setAddMileage(String.valueOf(zjgl));//增加里程
  234 +
202 235 }
  236 +
  237 +
203 238 return list;
204 239 }
205 240  
... ... @@ -207,32 +242,30 @@ public class FormsServiceImpl implements FormsService {
207 242 @Override
208 243 public List<Shifday> shifday(Map<String, Object> map) {
209 244  
210   - String sql ="select t.* from (select r.schedule_date,r.j_name,IFNULL(r.s_name,'')as s_name,"
211   - + " r.cl_zbh,r.xl_bm, r.j_gh,r.gs_bm,r.fgs_bm FROM bsth_c_s_sp_info_real r where 1=1 "
212   - + " and to_days(r.schedule_date)=to_days('"+ map.get("date").toString() + "') "
213   - + " and r.xl_bm like '%"+map.get("line").toString()+"%' "
214   - + " and r.gs_bm='"+map.get("gsdmShif").toString()+"' "
215   - + " and r.fgs_bm='"+map.get("fgsdmShif").toString()+"' ) t"
216   - + " GROUP BY t.schedule_date,t.j_name,t.s_name, t.cl_zbh,t.xl_bm,t.j_gh,t.gs_bm,t.fgs_bm ";
217   - /*String sql = " select r.schedule_date,r.lp_name,r.xl_name,r.j_name,r.s_name, r.cl_zbh,r.xl_bm,"
218   - + " r.cl_zbh,r.j_gh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name,r.bc_type "
219   - + " FROM bsth_c_s_sp_info_real r "
220   - + " where 1=1 ";
221   - if(map.get("date").toString()!=""){
222   - sql+=" and to_days(r.schedule_date)=to_days('"+ map.get("date").toString() + "') ";
  245 + String line="";
  246 + String date="";
  247 + String gsdmShif="";
  248 + String fgsdmShif="";
  249 + if(map.get("line")!=null&&!map.get("line").equals("")){
  250 + line =map.get("line").toString();
223 251 }
224   - if( map.get("line").toString()!=""){
225   - sql+=" and r.xl_bm=" + map.get("line").toString();
  252 + if(map.get("date")!=null&&!map.get("date").equals("")){
  253 + date =map.get("date").toString();
226 254 }
227   - sql+= " and r.bc_type not in('in','out')";
228   - if(map.get("gsdmShif").toString()!=""){
229   - sql+=" and r.gs_bm='"+map.get("gsdmShif").toString()+"'";
  255 + if(map.get("gsdmShif")!=null&&!map.get("gsdmShif").equals("")){
  256 + gsdmShif =map.get("gsdmShif").toString();
230 257 }
231   - if(map.get("fgsdmShif").toString()!=""){
232   - sql+=" and r.fgs_bm='"+map.get("fgsdmShif").toString()+"'";
233   - }
234   - sql += " GROUP BY r.schedule_date,r.lp_name,r.xl_name,r.j_name,r.s_name, r.cl_zbh,r.xl_bm,r.cl_zbh,r.j_gh,r.j_gh,r.gs_bm,r.gs_name,r.fgs_bm,r.fgs_name "
235   - + " ORDER BY r.lp_name asc";*/
  258 + if(map.get("fgsdmShif")!=null&&!map.get("fgsdmShif").equals("")){
  259 + fgsdmShif =map.get("fgsdmShif").toString();
  260 + }
  261 + String sql ="select t.* from (select r.schedule_date,r.j_name,IFNULL(r.s_name,'')as s_name,"
  262 + + " r.cl_zbh,r.xl_bm, r.j_gh,r.gs_bm,r.fgs_bm,r.lp_name FROM bsth_c_s_sp_info_real r where 1=1 "
  263 + + " and to_days(r.schedule_date)=to_days('"+date + "') "
  264 + + " and r.xl_bm like '%"+line+"%' "
  265 + + " and r.gs_bm like '%"+gsdmShif+"%' "
  266 + + " and r.fgs_bm like '%"+fgsdmShif+"%' ) t"
  267 + + " GROUP BY t.schedule_date,t.j_name,t.s_name, t.cl_zbh,t.xl_bm,t.j_gh,t.gs_bm,t.fgs_bm ";
  268 +
236 269  
237 270 List<Shifday> list = jdbcTemplate.query(sql, new RowMapper<Shifday>() {
238 271  
... ... @@ -244,31 +277,48 @@ public class FormsServiceImpl implements FormsService {
244 277 shifday.setsName(arg0.getString("s_name") == null ? "" : arg0.getString("s_name").toString());
245 278 shifday.setCarPlate(arg0.getString("cl_zbh").toString());
246 279 shifday.setJgh(arg0.getString("j_gh"));
  280 + shifday.setLpName(arg0.getString("lp_name")== null ? "" : arg0.getString("lp_name").toString());
247 281 return shifday;
248 282 }
249 283  
250 284 });
251   -
  285 + List<ScheduleRealInfo> sList;
  286 + List<ScheduleRealInfo> lists=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(map.get("line").toString(), map.get("date").toString());
252 287 for(int i=0;i<list.size();i++){
253   - Shifday shi=list.get(i);
254   - Map<String, Object> maps = new HashMap<>();
255   - maps = commonService.findKMBC2(shi.getJgh(), shi.getCarPlate(),
256   - shi.getRq());
257   - shi.setJhlc(maps.get("jhlc").toString());// 计划里程
258   - //shifday.setSjjhlc(map.get("remMileage").toString());//实际计划里程
259   - shi.setYygl(maps.get("yygl").toString());// 营运里程
260   - shi.setEmptMileage(maps.get("ksgl").toString());// 空驶里程
261   - shi.setRemMileage(maps.get("remMileage").toString());// 抽减里程
262   - shi.setAddMileage(maps.get("addMileage").toString());// 增加里程
263   - shi.setTotalm(maps.get("realMileage").toString());// 总里程
264   - shi.setJhbc(maps.get("jhbc").toString());// 计划班次
265   - //shifday.setSjjhbc(map.get("sjjhbc").toString());//实际计划班次
266   - shi.setCjbc(maps.get("cjbc").toString());// 抽减班次
267   - shi.setLjbc(maps.get("ljbc").toString());// 增加班次
268   - shi.setSjbc(maps.get("sjbc").toString());// 实际班次
269   -
270   - }
271   -
  288 + sList =new ArrayList<ScheduleRealInfo>();
  289 + Shifday d=list.get(i);
  290 + for (int j = 0; j < lists.size(); j++) {
  291 + ScheduleRealInfo s=lists.get(j);
  292 + if(d.getJgh().equals(s.getjGh()) && d.getCarPlate().equals(s.getClZbh())){
  293 + sList.add(s);
  294 + }
  295 + }
  296 +
  297 + double ksgl=culateMileageService.culateKsgl(sList);
  298 + double jccgl=culateMileageService.culateJccgl(sList);
  299 + double zksgl=Arith.add(ksgl, jccgl);
  300 + double ljgl=culateMileageService.culateLjgl(sList);
  301 + double sjgl=culateMileageService.culateSjgl(sList);
  302 + double zyygl=Arith.add(ljgl, sjgl);
  303 + double jhgl=culateMileageService.culateJhgl(sList);
  304 + double cjgl=culateMileageService.culateLbgl(sList);
  305 + double jhbc =culateMileageService.culateJhbc(sList,"");
  306 + double cjbc=culateMileageService.culateLbbc(sList);
  307 + double Ljbc=culateMileageService.culateLjbc(sList,"");
  308 + double zjgl=culateMileageService.culateLjgl(sList);
  309 + d.setEmptMileage(String.valueOf(zksgl));//空驶公里
  310 + d.setTotalm(String.valueOf(Arith.add(zksgl, zyygl)));//总公里
  311 + d.setSjbc(String.valueOf(culateMileageService.culateSjbc(sList, "")+culateMileageService.culateLjbc(sList, "")));
  312 + d.setJhlc(String.valueOf(jhgl));//计划里程
  313 + d.setYygl(String.valueOf(zyygl));//运营公里
  314 + d.setSjjhlc(String.valueOf(sjgl));//实际计划里程
  315 + d.setRemMileage(String.valueOf(cjgl));//抽减里程
  316 + d.setJhbc(String.valueOf(jhbc));//计划班次
  317 + d.setCjbc(String.valueOf(cjbc));//抽检班次
  318 + d.setLjbc(String.valueOf(Ljbc));//增加班次
  319 + d.setAddMileage(String.valueOf(zjgl));//增加公里
  320 + d.setSjjhbc(String.valueOf(culateMileageService.culateSjbc(sList, "")));//实际计划班次
  321 + }
272 322 return list;
273 323 }
274 324  
... ...
src/main/java/com/bsth/service/oil/DlbService.java
... ... @@ -18,4 +18,6 @@ public interface DlbService extends BaseService&lt;Dlb, Integer&gt;{
18 18 Map<String, Object> sumYlb(Map<String, Object> map);
19 19  
20 20 Map<String, Object> saveDlbList(Map<String, Object> map) throws Exception;
  21 +
  22 + String obtainDsq() throws Exception;
21 23 }
... ...
src/main/java/com/bsth/service/oil/impl/DlbServiceImpl.java
... ... @@ -6,6 +6,7 @@ import java.text.DecimalFormat;
6 6 import java.text.ParseException;
7 7 import java.text.SimpleDateFormat;
8 8 import java.util.ArrayList;
  9 +import java.util.Calendar;
9 10 import java.util.Date;
10 11 import java.util.HashMap;
11 12 import java.util.Iterator;
... ... @@ -70,8 +71,144 @@ public class DlbServiceImpl extends BaseServiceImpl&lt;Dlb,Integer&gt; implements DlbS
70 71 JdbcTemplate jdbcTemplate;
71 72  
72 73 Logger logger = LoggerFactory.getLogger(this.getClass());
  74 +
  75 + @Transactional
  76 + @Override
  77 + public String obtainDsq() throws Exception{
  78 + String result = "failure";
  79 + List<Cars> carsList=carsRepository.findCars();
  80 + Map<String, Boolean> carsMap=new HashMap<String, Boolean>();
  81 + for (int i = 0; i < carsList.size(); i++) {
  82 + Cars c=carsList.get(i);
  83 + carsMap.put(c.getInsideCode(), c.getSfdc());
  84 + }
  85 + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
  86 + Date dNow = new Date(); //当前时间
  87 + Date dBefore = new Date();
  88 + Calendar calendar = Calendar.getInstance(); //得到日历
  89 + calendar.setTime(dNow);//把当前时间赋给日历
  90 + calendar.add(Calendar.DAY_OF_MONTH, -1); //设置为前一天
  91 + dBefore = calendar.getTime(); //得到前一天的时间
  92 + String rq=sdf.format(dBefore);
  93 + String line="";
  94 + //保留两位小数
  95 + DecimalFormat df = new DecimalFormat("#.00");
  96 + // TODO Auto-generated method stub
  97 + Map<String, Object> newMap=new HashMap<String,Object>();
  98 + //当天DLB信息
  99 + List<Dlb> dlList=repository.obtainDl(rq, "", "", line, "", "nbbm");
  100 + //当天YLXXB信息
  101 + List<Ylxxb> ylxxList=ylxxbRepository.obtainYlxx(rq,1,"");
  102 + //当天加电信息表
  103 + List<Jdl> jdlList=jdlRepository.JdlList(rq);
  104 + //前一天所有车辆最后进场班次信息
  105 + List<Dlb> dlListBe=repository.obtainYlbefore(rq, "", "", "", "");
  106 + List<Cdl> cdyList=cdlRepository.obtainCdl();
  107 + //从排班表中计算出行驶的总里程
  108 + List<Map<String,Object>> listpb=scheduleRealInfoService.yesterdayDataList(line,rq,"","","","");
  109 + List<Ylb> addList=new ArrayList<Ylb>();
  110 + List<Ylb> updateList=new ArrayList<Ylb>();
  111 + for(int x=0;x<listpb.size();x++){
  112 + String type="add";
  113 + boolean sfdc=false;
  114 + Map<String, Object> map=listpb.get(x);
  115 + if (carsMap.get(map.get("clZbh").toString())!=null) {
  116 + sfdc= carsMap.get(map.get("clZbh").toString());
  117 + }else{
  118 + sfdc=false;
  119 + }
  120 + if(sfdc){
  121 + //判断驾驶员驾驶的该车辆是否已经存入了(查出的结果集中日期是相同的,根据驾驶员、内部编号、线路编码判断)
  122 + Dlb t=new Dlb();
  123 + for(int k=0;k<dlList.size();k++){
  124 + Dlb t1=dlList.get(k);
  125 + if(t1.getNbbm().equals(map.get("clZbh").toString())
  126 + &&t1.getJsy().equals(map.get("jGh").toString())
  127 + &&t1.getXlbm().equals(map.get("xlBm").toString()))
  128 + {
  129 + t=t1;
  130 + type="update";
  131 + }
  132 + }
  133 + try {
  134 + //当日的第一个班次,出场油量等于前一天的最后一个班次的进场油量
  135 + Double jzl=0.0;
  136 + if(map.get("seqNumber").toString().equals("1")){
  137 + boolean fage=true;
  138 + for (int i = 0; i < dlListBe.size(); i++) {
  139 + Dlb dlb=dlListBe.get(i);
  140 + if(map.get("clZbh").toString().equals(dlb.getNbbm())){
  141 + t.setCzcd(dlb.getJzcd());
  142 + fage=false;
  143 + break;
  144 + }
  145 + }
  146 + if(fage){
  147 + for (int y = 0; y < cdyList.size(); y++) {
  148 + Cdl cdl=cdyList.get(y);
  149 + if(map.get("clZbh").toString().equals(cdl.getNbbm())){
  150 + t.setCzcd(cdl.getClcd()==null?0:cdl.getClcd());
  151 + fage=false;
  152 + break;
  153 + }
  154 + }
  155 + }
  156 + if(fage){
  157 + t.setCzcd(0.0);
  158 + }
  159 +
  160 + //手动导入没有驾驶员工号
  161 + for (int i = 0; i < jdlList.size(); i++) {
  162 + Jdl jdl=jdlList.get(i);
  163 + if(map.get("clZbh").toString().equals(jdl.getNbbm()) ){
  164 + jzl+=jdl.getJdl();
  165 + }
  166 + }
  167 + }
  168 +
  169 +
  170 + //把当天的YLXXB的加注量设置为当天YLB的加注量(根据车号,驾驶员判断)
  171 + for(int j=0;j<ylxxList.size();j++){
  172 + Ylxxb ylxxb= ylxxList.get(j);
  173 + if(map.get("clZbh").toString().equals(ylxxb.getNbbm()) &&map.get("jGh").toString().equals(ylxxb.getJsy())){
  174 + jzl+=ylxxb.getJzl();
  175 + }
  176 + }
  177 +
  178 + t.setCdl(jzl);
  179 + if(type.equals("add")){
  180 + t.setHd(jzl);
  181 + t.setJzcd(t.getCzcd());
  182 + }
  183 +
  184 + t.setNbbm(map.get("clZbh").toString());
  185 + t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
  186 + t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
  187 + t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());
  188 + t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
  189 + t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());
  190 + t.setFgsdm(map.get("bCompany")==null?"":map.get("bCompany").toString());
  191 + t.setJhsj(map.get("fcsj")==null?"":map.get("fcsj").toString());
  192 + t.setRq(sdf.parse(rq));
  193 + t.setCreatetime(new Date());
  194 + /*if(type.equals("add")){
  195 + addList.add(t);
  196 + }else{
  197 + updateList.add(t);
  198 + }*/
  199 + repository.save(t);
  200 + newMap.put("status", ResponseCode.SUCCESS);
  201 + } catch (ParseException e) {
  202 + // TODO Auto-generated catch block
  203 + newMap.put("status", ResponseCode.ERROR);
  204 + e.printStackTrace();
  205 + }
  206 + }
  207 + }
  208 + return result;
  209 + }
73 210 /**
74   - * 获取进存信息
  211 + * 获取进存信息
75 212 * @Transactional 回滚事物
76 213 */
77 214 @Transactional
... ...
src/main/java/com/bsth/service/oil/impl/YlbServiceImpl.java
... ... @@ -172,7 +172,7 @@ public class YlbServiceImpl extends BaseServiceImpl&lt;Ylb,Integer&gt; implements YlbS
172 172 t.setJzl(jzl);*/
173 173 t.setNbbm(map.get("clZbh").toString());
174 174 t.setJsy(map.get("jGh")==null?"":map.get("jGh").toString());
175   - t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(df.format(Double.parseDouble(map.get("totalKilometers").toString()))));
  175 + t.setZlc(map.get("totalKilometers")==null?0.0:Double.parseDouble(map.get("totalKilometers").toString()));
176 176 t.setXlbm(map.get("xlBm")==null?"":map.get("xlBm").toString());
177 177 t.setJcsx(Integer.parseInt(map.get("seqNumber").toString()));
178 178 t.setSsgsdm(map.get("company")==null?"":map.get("company").toString());
... ...
src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
... ... @@ -581,62 +581,20 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
581 581 List<Iterator<?>> list = new ArrayList<Iterator<?>>();
582 582 List<ScheduleRealInfo> scheduleRealInfos = scheduleRealInfoRepository.queryListWaybill(jName, clZbh, lpName, date, line);
583 583 List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
584   -
  584 +// List<ScheduleRealInfo> scheduleRealInfos=scheduleRealInfoRepository.queryListWaybillXcld(jName, clZbh, lpName, date, line);
  585 + List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>();
  586 + for (int i = 0; i < scheduleRealInfos.size(); i++) {
  587 + ScheduleRealInfo s=scheduleRealInfos.get(i);
  588 + if(s.getZdsjActual()!=null){
  589 + lists.add(s);
  590 + }
  591 + }
585 592 DecimalFormat format = new DecimalFormat("0.00");
586 593 // int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
587 594 // int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
588   - int jhbc = 0, cjbc = 0, ljbc = 0;
589   - double jhlc = 0, yygl = 0, ksgl = 0, tempJhlc = 0;
590   - float addMileage = 0l, remMileage = 0l;
591 595  
592 596 Map<String, Object> map;
593 597 for (ScheduleRealInfo scheduleRealInfo : scheduleRealInfos) {
594   - if (scheduleRealInfo != null) {
595   - //计算计划里程(主任务过滤掉临加班次),烂班里程,临加里程,计划班次,烂班班次,增加班次
596   - if (scheduleRealInfo != null) {
597   - //计划里程(主任务过滤掉临加班次),
598   - //烂班里程(主任务烂班),
599   - //临加里程(主任务临加),
600   - //计划班次,烂班班次,增加班次
601   - tempJhlc = scheduleRealInfo.getJhlc() == null ? 0 : scheduleRealInfo.getJhlc();
602   - if (scheduleRealInfo.isSflj()) {
603   - ljbc++;
604   - } else {
605   - jhlc += tempJhlc;
606   - jhbc++;
607   - if (scheduleRealInfo.getStatus() == -1) {
608   - remMileage += tempJhlc;
609   - cjbc++;
610   - }
611   - }
612   - Set<ChildTaskPlan> childTaskPlans = scheduleRealInfo.getcTasks();
613   - //计算营运里程,空驶里程
614   - if (childTaskPlans.isEmpty()) {
615   - if (scheduleRealInfo.getBcType().equals("in") || scheduleRealInfo.getBcType().equals("out")
616   - ) {
617   - ksgl += tempJhlc;
618   - } else {
619   - yygl += tempJhlc;
620   - }
621   - } else {
622   - Iterator<ChildTaskPlan> it = childTaskPlans.iterator();
623   - while (it.hasNext()) {
624   - ChildTaskPlan childTaskPlan = it.next();
625   - if (childTaskPlan.getMileageType().equals("empty")) {
626   - if (scheduleRealInfo.isSflj()) {
627   - addMileage += tempJhlc;
628   - }
629   - ksgl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();
630   - } else {
631   - if (scheduleRealInfo.isSflj()) {
632   - addMileage += tempJhlc;
633   - }
634   - yygl += childTaskPlan.getMileage() == null ? 0 : childTaskPlan.getMileage();
635   - }
636   - }
637   - }
638   - }
639   -
640 598 map = new HashMap<String, Object>();
641 599 try {
642 600 scheduleRealInfo.setjName(scheduleRealInfo.getjGh() + scheduleRealInfo.getjName());
... ... @@ -661,21 +619,23 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
661 619 } catch (Exception e) {
662 620 e.printStackTrace();
663 621 }
664   - }
665 622 }
666 623  
667 624 //计算里程和班次数,并放入Map里
668 625 map = new HashMap<String, Object>();
669   - map.put("jhlc", format.format(jhlc));
670   - map.put("remMileage", format.format(remMileage));
671   - map.put("addMileage", format.format(addMileage));
672   - map.put("yygl", format.format(yygl));
673   - map.put("ksgl", format.format(ksgl));
674   - map.put("realMileage", format.format(yygl + ksgl));
675   - map.put("jhbc", jhbc);
676   - map.put("cjbc", cjbc);
677   - map.put("ljbc", ljbc);
678   - map.put("sjbc", jhbc - cjbc + ljbc);
  626 + map.put("jhlc", culateMieageService.culateJhgl(scheduleRealInfos));
  627 + map.put("remMileage",culateMieageService.culateLbgl(lists));
  628 + map.put("addMileage", culateMieageService.culateLjgl(lists));
  629 + double yygl=Arith.add(culateMieageService.culateSjgl(lists),culateMieageService.culateLjgl(lists));
  630 + map.put("yygl", yygl);
  631 + double ksgl=Arith.add(culateMieageService.culateKsgl(lists),culateMieageService.culateJccgl(lists));
  632 + map.put("ksgl",ksgl);
  633 + map.put("realMileage", Arith.add(yygl ,ksgl));
  634 + map.put("jhbc", culateMieageService.culateJhgl(scheduleRealInfos));
  635 + map.put("cjbc", culateMieageService.culateLbbc(lists));
  636 + map.put("ljbc", culateMieageService.culateLjbc(lists, ""));
  637 + int sjbc =culateMieageService.culateLjbc(lists, "")+culateMieageService.culateSjbc(lists, "");
  638 + map.put("sjbc", sjbc);
679 639  
680 640 String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
681 641  
... ... @@ -1414,19 +1374,27 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1414 1374 public Map<String, Object> findKMBC(String jGh, String clZbh,
1415 1375 String lpName, String date, String line) {
1416 1376 Map<String, Object> map = new HashMap<String, Object>();
1417   - List<ScheduleRealInfo> lists=scheduleRealInfoRepository.queryListWaybillXcld(jGh, clZbh, lpName, date, line);
  1377 + List<ScheduleRealInfo> list=scheduleRealInfoRepository.queryListWaybillXcld(jGh, clZbh, lpName, date, line);
  1378 + List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>();
  1379 + for (int i = 0; i < list.size(); i++) {
  1380 + ScheduleRealInfo s=list.get(i);
  1381 + if(s.getZdsjActual()!=null){
  1382 + lists.add(s);
  1383 + }
  1384 + }
1418 1385 double ksgl=culateService.culateKsgl(lists);
1419 1386 double sjgl=culateService.culateSjgl(lists);
1420 1387 double jccgl=culateService.culateJccgl(lists);
1421 1388 double ljgl=culateService.culateLjgl(lists);
1422   - map.put("jhlc", culateService.culateJhgl(lists)); //计划里程
  1389 +
  1390 + map.put("jhlc", culateService.culateJhgl(list)); //计划里程
1423 1391 map.put("remMileage", culateService.culateLbgl(lists)); //烂班公里
1424 1392 map.put("addMileage", ljgl); //临加公里
1425 1393 map.put("yygl",Arith.add(sjgl,ljgl)); //实际公里
1426 1394 map.put("ksgl", ksgl);//空驶公里
1427 1395 map.put("realMileage",Arith.add(Arith.add(ksgl,jccgl ),Arith.add(sjgl,ljgl)));
1428 1396 // map.put("realMileage", format.format(yygl + ksgl + jcclc+addMileage));
1429   - map.put("jhbc", culateService.culateJhbc(lists,""));
  1397 + map.put("jhbc", culateService.culateJhbc(list,""));
1430 1398 map.put("cjbc", culateService.culateLbbc(lists));
1431 1399 map.put("ljbc", culateService.culateLjbc(lists,""));
1432 1400 map.put("sjbc", culateService.culateJhbc(lists,"") - culateService.culateLbbc(lists) + culateService.culateLjbc(lists,""));
... ... @@ -1670,7 +1638,11 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
1670 1638 map.put("ssgl_kx", culateService.culateCJLC(lists, "客稀"));
1671 1639 map.put("ssgl_qh", culateService.culateCJLC(lists, "气候"));
1672 1640 map.put("ssgl_yw", culateService.culateCJLC(lists, "援外"));
1673   - map.put("ssgl_other", culateService.culateCJLC(lists, "其他"));
  1641 + double ssgl_pc=culateService.culateCJLC(lists, "配车");
  1642 + double ssgl_by=culateService.culateCJLC(lists, "保养");
  1643 + double ssgl_cj=culateService.culateCJLC(lists, "抽减");
  1644 + double ssgl_qt=culateService.culateCJLC(lists, "其他");
  1645 + map.put("ssgl_other", Arith.add(Arith.add(ssgl_pc, ssgl_by),Arith.add(ssgl_cj, ssgl_qt)));
1674 1646 map.put("ssbc", culateService.culateLbbc(lists));
1675 1647 map.put("ljgl", culateService.culateLjgl(lists));
1676 1648 map.put("jhbc", culateService.culateJhbc(lists,""));
... ... @@ -3793,6 +3765,76 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3793 3765 return new ArrayList<Map<String, Object>>();
3794 3766 }
3795 3767  
  3768 + public List<ScheduleRealInfo> exportWaybill_pl(List<ScheduleRealInfo> listpl,String date,String jName, String clZbh,String lpName) {
  3769 + ReportUtils ee = new ReportUtils();
  3770 + ReportRelatedUtils rru = new ReportRelatedUtils();
  3771 + List<Iterator<?>> list = new ArrayList<Iterator<?>>();
  3772 + List<ScheduleRealInfo> scheduleRealInfos = listpl;
  3773 + List<Map<String, Object>> listMap = new ArrayList<Map<String, Object>>();
  3774 +// List<ScheduleRealInfo> scheduleRealInfos=scheduleRealInfoRepository.queryListWaybillXcld(jName, clZbh, lpName, date, line);
  3775 + List<ScheduleRealInfo> lists=new ArrayList<ScheduleRealInfo>();
  3776 + for (int i = 0; i < scheduleRealInfos.size(); i++) {
  3777 + ScheduleRealInfo s=scheduleRealInfos.get(i);
  3778 + if(s.getZdsjActual()!=null){
  3779 + lists.add(s);
  3780 + }
  3781 + }
  3782 + DecimalFormat format = new DecimalFormat("0.00");
  3783 +// int cjbc = scheduleRealInfoRepository.findCjbc(jName, clZbh, lpName);
  3784 +// int ljbc = scheduleRealInfoRepository.findLjbc(jName, clZbh, lpName);
  3785 +
  3786 + Map<String, Object> map;
  3787 + for (ScheduleRealInfo scheduleRealInfo : scheduleRealInfos) {
  3788 + map = new HashMap<String, Object>();
  3789 + try {
  3790 + scheduleRealInfo.setjName(scheduleRealInfo.getjGh() + scheduleRealInfo.getjName());
  3791 + scheduleRealInfo.setsName(scheduleRealInfo.getsGh() + scheduleRealInfo.getsName());
  3792 + map = rru.getMapValue(scheduleRealInfo);
  3793 + String zdsj = scheduleRealInfo.getZdsj();
  3794 + String zdsjActual = scheduleRealInfo.getZdsjActual();
  3795 + if (zdsj != null && zdsjActual != null &&
  3796 + !zdsj.equals(zdsjActual)) {
  3797 + if (zdsj.compareTo(zdsjActual) > 0) {
  3798 + map.put("fast", TimeUtils.getTimeDifference(zdsj, zdsjActual));
  3799 + map.put("slow", "");
  3800 + } else {
  3801 + map.put("fast", "");
  3802 + map.put("slow", TimeUtils.getTimeDifference(zdsj, zdsjActual));
  3803 + }
  3804 + } else {
  3805 + map.put("fast", "");
  3806 + map.put("slow", "");
  3807 + }
  3808 + listMap.add(map);
  3809 + } catch (Exception e) {
  3810 + e.printStackTrace();
  3811 + }
  3812 + }
  3813 +
  3814 + //计算里程和班次数,并放入Map里
  3815 + map = new HashMap<String, Object>();
  3816 + map.put("jhlc", culateMieageService.culateJhgl(scheduleRealInfos));
  3817 + map.put("remMileage",culateMieageService.culateLbgl(lists));
  3818 + map.put("addMileage", culateMieageService.culateLjgl(lists));
  3819 + double yygl=Arith.add(culateMieageService.culateSjgl(lists),culateMieageService.culateLjgl(lists));
  3820 + map.put("yygl", yygl);
  3821 + double ksgl=Arith.add(culateMieageService.culateKsgl(lists),culateMieageService.culateJccgl(lists));
  3822 + map.put("ksgl",ksgl);
  3823 + map.put("realMileage", Arith.add(yygl ,ksgl));
  3824 + map.put("jhbc", culateMieageService.culateJhgl(scheduleRealInfos));
  3825 + map.put("cjbc", culateMieageService.culateLbbc(lists));
  3826 + map.put("ljbc", culateMieageService.culateLjbc(lists, ""));
  3827 + int sjbc =culateMieageService.culateLjbc(lists, "")+culateMieageService.culateSjbc(lists, "");
  3828 + map.put("sjbc", sjbc);
  3829 +
  3830 + String path = this.getClass().getResource("/").getPath() + "static/pages/forms/";
  3831 +
  3832 + list.add(listMap.iterator());
  3833 + ee.excelReplace(list, new Object[]{scheduleRealInfos.get(0), map}, path + "mould/waybill_minhang.xls",
  3834 + path + "export/" + date + "-" + jName + "-" + clZbh + "-" + lpName + "-行车路单.xls");
  3835 + return scheduleRealInfos;
  3836 + }
  3837 +
3796 3838 @Override
3797 3839 public Map<String, Object> exportWaybillMore(Map<String, Object> map) {
3798 3840 String date = map.get("date").toString();
... ... @@ -3814,12 +3856,19 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl&lt;ScheduleRealInf
3814 3856 }
3815 3857 }
3816 3858 file.mkdirs();
3817   -
  3859 + List<ScheduleRealInfo> lists_line=scheduleRealInfoRepository.scheduleByDateAndLineTjrb(line, date);
3818 3860 for (List<String> list : lists) {
  3861 + List<ScheduleRealInfo> newList=new ArrayList<ScheduleRealInfo>();
3819 3862 String jName = list.get(0);
3820 3863 String clZbh = list.get(1);
3821 3864 String lpName = list.get(2);
3822   - this.exportWaybill(jName, clZbh, lpName, date, line);
  3865 + for (int i = 0; i < lists_line.size(); i++) {
  3866 + ScheduleRealInfo s=lists_line.get(i);
  3867 + if(s.getjName().equals(jName) && s.getClZbh().equals(clZbh) && s.getLpName().equals(lpName)){
  3868 + newList.add(s);
  3869 + }
  3870 + }
  3871 + this.exportWaybill_pl(newList, date, jName, clZbh, lpName);
3823 3872 File temp = new File(path + date + "-" + jName + "-" + clZbh + "-" + lpName + "-行车路单.xls");
3824 3873 String fileName = file.getName();
3825 3874 temp.renameTo(new File(path + fileName + "/" + temp.getName()));
... ...
src/main/resources/datatools/ktrs/guideboardDataInput.ktr
1   -<?xml version="1.0" encoding="UTF-8"?>
2   -<transformation>
3   - <info>
4   - <name>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
5   - <description>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
6   - <extended_description>&#x7ebf;&#x8def;&#x8fd0;&#x8425;&#x7684;&#x8def;&#x724c;&#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 17&#x3a;00&#x3a;01.094</created_date>
81   - <modified_user>-</modified_user>
82   - <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</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>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x8f93;&#x5165;&#xff0c;&#x8def;&#x724c;&#x540d;&#x5b57;&#x662f;&#x4e0d;&#x80fd;&#x91cd;&#x590d;&#x7684;&#xa;&#x4e00;&#x822c;&#x6765;&#x8bf4;&#xff0c;&#x5e94;&#x8be5;&#x662f;&#x5bfc;&#x5165;&#x65f6;&#x523b;&#x6570;&#x636e;&#x81ea;&#x52a8;&#x751f;&#x6210;&#x7684;&#xff0c;&#x8fd9;&#x4e2a;&#x518d;&#x8bae;&#xa;&#xa;</note>
89   - <xloc>57</xloc>
90   - <yloc>291</yloc>
91   - <width>298</width>
92   - <heigth>74</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>&#x5b57;&#x6bb5;&#x6539;&#x540d;</from><to>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
272   - <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
273   - <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x6539;&#x540d;</to><enabled>Y</enabled> </hop>
274   - <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
275   - <hop> <from>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
276   - <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</to><enabled>Y</enabled> </hop>
277   - </order>
278   - <step>
279   - <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
280   - <type>ExcelInput</type>
281   - <description/>
282   - <distribute>Y</distribute>
283   - <custom_distribution/>
284   - <copies>1</copies>
285   - <partitioning>
286   - <method>none</method>
287   - <schema_name/>
288   - </partitioning>
289   - <header>Y</header>
290   - <noempty>Y</noempty>
291   - <stoponempty>N</stoponempty>
292   - <filefield/>
293   - <sheetfield/>
294   - <sheetrownumfield/>
295   - <rownumfield/>
296   - <sheetfield/>
297   - <filefield/>
298   - <limit>0</limit>
299   - <encoding/>
300   - <add_to_result_filenames>Y</add_to_result_filenames>
301   - <accept_filenames>Y</accept_filenames>
302   - <accept_field>filepath_</accept_field>
303   - <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
304   - <file>
305   - <name/>
306   - <filemask/>
307   - <exclude_filemask/>
308   - <file_required>N</file_required>
309   - <include_subfolders>N</include_subfolders>
310   - </file>
311   - <fields>
312   - <field>
313   - <name>&#x7ebf;&#x8def;</name>
314   - <type>String</type>
315   - <length>-1</length>
316   - <precision>-1</precision>
317   - <trim_type>none</trim_type>
318   - <repeat>N</repeat>
319   - <format/>
320   - <currency/>
321   - <decimal/>
322   - <group/>
323   - </field>
324   - <field>
325   - <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
326   - <type>String</type>
327   - <length>-1</length>
328   - <precision>-1</precision>
329   - <trim_type>none</trim_type>
330   - <repeat>N</repeat>
331   - <format>&#x23;</format>
332   - <currency/>
333   - <decimal/>
334   - <group/>
335   - </field>
336   - <field>
337   - <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
338   - <type>String</type>
339   - <length>-1</length>
340   - <precision>-1</precision>
341   - <trim_type>none</trim_type>
342   - <repeat>N</repeat>
343   - <format>&#x23;</format>
344   - <currency/>
345   - <decimal/>
346   - <group/>
347   - </field>
348   - <field>
349   - <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
350   - <type>String</type>
351   - <length>-1</length>
352   - <precision>-1</precision>
353   - <trim_type>none</trim_type>
354   - <repeat>N</repeat>
355   - <format/>
356   - <currency/>
357   - <decimal/>
358   - <group/>
359   - </field>
360   - </fields>
361   - <sheets>
362   - <sheet>
363   - <name>&#x5de5;&#x4f5c;&#x8868;1</name>
364   - <startrow>0</startrow>
365   - <startcol>0</startcol>
366   - </sheet>
367   - </sheets>
368   - <strict_types>N</strict_types>
369   - <error_ignored>N</error_ignored>
370   - <error_line_skipped>N</error_line_skipped>
371   - <bad_line_files_destination_directory/>
372   - <bad_line_files_extension>warning</bad_line_files_extension>
373   - <error_line_files_destination_directory/>
374   - <error_line_files_extension>error</error_line_files_extension>
375   - <line_number_files_destination_directory/>
376   - <line_number_files_extension>line</line_number_files_extension>
377   - <shortFileFieldName/>
378   - <pathFieldName/>
379   - <hiddenFieldName/>
380   - <lastModificationTimeFieldName/>
381   - <uriNameFieldName/>
382   - <rootUriNameFieldName/>
383   - <extensionFieldName/>
384   - <sizeFieldName/>
385   - <spreadsheet_type>JXL</spreadsheet_type>
386   - <cluster_schema/>
387   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
388   - <xloc>150</xloc>
389   - <yloc>68</yloc>
390   - <draw>Y</draw>
391   - </GUI>
392   - </step>
393   -
394   - <step>
395   - <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
396   - <type>Constant</type>
397   - <description/>
398   - <distribute>Y</distribute>
399   - <custom_distribution/>
400   - <copies>1</copies>
401   - <partitioning>
402   - <method>none</method>
403   - <schema_name/>
404   - </partitioning>
405   - <fields>
406   - <field>
407   - <name>isCancel</name>
408   - <type>Integer</type>
409   - <format/>
410   - <currency/>
411   - <decimal/>
412   - <group/>
413   - <nullif>0</nullif>
414   - <length>-1</length>
415   - <precision>-1</precision>
416   - <set_empty_string>N</set_empty_string>
417   - </field>
418   - </fields>
419   - <cluster_schema/>
420   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
421   - <xloc>544</xloc>
422   - <yloc>70</yloc>
423   - <draw>Y</draw>
424   - </GUI>
425   - </step>
426   -
427   - <step>
428   - <name>&#x5b57;&#x6bb5;&#x6539;&#x540d;</name>
429   - <type>SelectValues</type>
430   - <description/>
431   - <distribute>Y</distribute>
432   - <custom_distribution/>
433   - <copies>1</copies>
434   - <partitioning>
435   - <method>none</method>
436   - <schema_name/>
437   - </partitioning>
438   - <fields> <select_unspecified>N</select_unspecified>
439   - <meta> <name>&#x7ebf;&#x8def;</name>
440   - <rename>xl</rename>
441   - <type>String</type>
442   - <length>-2</length>
443   - <precision>-2</precision>
444   - <conversion_mask/>
445   - <date_format_lenient>false</date_format_lenient>
446   - <date_format_locale/>
447   - <date_format_timezone/>
448   - <lenient_string_to_number>false</lenient_string_to_number>
449   - <encoding/>
450   - <decimal_symbol/>
451   - <grouping_symbol/>
452   - <currency_symbol/>
453   - <storage_type/>
454   - </meta> <meta> <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
455   - <rename>lpno</rename>
456   - <type>Integer</type>
457   - <length>-2</length>
458   - <precision>-2</precision>
459   - <conversion_mask/>
460   - <date_format_lenient>false</date_format_lenient>
461   - <date_format_locale/>
462   - <date_format_timezone/>
463   - <lenient_string_to_number>false</lenient_string_to_number>
464   - <encoding/>
465   - <decimal_symbol/>
466   - <grouping_symbol/>
467   - <currency_symbol/>
468   - <storage_type/>
469   - </meta> <meta> <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
470   - <rename>lpname</rename>
471   - <type>String</type>
472   - <length>-2</length>
473   - <precision>-2</precision>
474   - <conversion_mask/>
475   - <date_format_lenient>false</date_format_lenient>
476   - <date_format_locale/>
477   - <date_format_timezone/>
478   - <lenient_string_to_number>false</lenient_string_to_number>
479   - <encoding/>
480   - <decimal_symbol/>
481   - <grouping_symbol/>
482   - <currency_symbol/>
483   - <storage_type/>
484   - </meta> <meta> <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
485   - <rename>lptype</rename>
486   - <type>String</type>
487   - <length>-2</length>
488   - <precision>-2</precision>
489   - <conversion_mask/>
490   - <date_format_lenient>false</date_format_lenient>
491   - <date_format_locale/>
492   - <date_format_timezone/>
493   - <lenient_string_to_number>false</lenient_string_to_number>
494   - <encoding/>
495   - <decimal_symbol/>
496   - <grouping_symbol/>
497   - <currency_symbol/>
498   - <storage_type/>
499   - </meta> </fields> <cluster_schema/>
500   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
501   - <xloc>295</xloc>
502   - <yloc>68</yloc>
503   - <draw>Y</draw>
504   - </GUI>
505   - </step>
506   -
507   - <step>
508   - <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</name>
509   - <type>InsertUpdate</type>
510   - <description/>
511   - <distribute>Y</distribute>
512   - <custom_distribution/>
513   - <copies>1</copies>
514   - <partitioning>
515   - <method>none</method>
516   - <schema_name/>
517   - </partitioning>
518   - <connection>bus_control_variable</connection>
519   - <commit>100</commit>
520   - <update_bypassed>N</update_bypassed>
521   - <lookup>
522   - <schema/>
523   - <table>bsth_c_s_gbi</table>
524   - <key>
525   - <name>xlid</name>
526   - <field>xl</field>
527   - <condition>&#x3d;</condition>
528   - <name2/>
529   - </key>
530   - <key>
531   - <name>lpname</name>
532   - <field>lp_name</field>
533   - <condition>&#x3d;</condition>
534   - <name2/>
535   - </key>
536   - <key>
537   - <name>isCancel</name>
538   - <field>is_cancel</field>
539   - <condition>&#x3d;</condition>
540   - <name2/>
541   - </key>
542   - <value>
543   - <name>xl</name>
544   - <rename>xlid</rename>
545   - <update>Y</update>
546   - </value>
547   - <value>
548   - <name>lp_no</name>
549   - <rename>lpno</rename>
550   - <update>Y</update>
551   - </value>
552   - <value>
553   - <name>lp_name</name>
554   - <rename>lpname</rename>
555   - <update>Y</update>
556   - </value>
557   - <value>
558   - <name>lp_type</name>
559   - <rename>lptype</rename>
560   - <update>Y</update>
561   - </value>
562   - <value>
563   - <name>is_cancel</name>
564   - <rename>isCancel</rename>
565   - <update>Y</update>
566   - </value>
567   - </lookup>
568   - <cluster_schema/>
569   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
570   - <xloc>545</xloc>
571   - <yloc>184</yloc>
572   - <draw>Y</draw>
573   - </GUI>
574   - </step>
575   -
576   - <step>
577   - <name>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
578   - <type>DBLookup</type>
579   - <description/>
580   - <distribute>Y</distribute>
581   - <custom_distribution/>
582   - <copies>1</copies>
583   - <partitioning>
584   - <method>none</method>
585   - <schema_name/>
586   - </partitioning>
587   - <connection>bus_control_variable</connection>
588   - <cache>Y</cache>
589   - <cache_load_all>Y</cache_load_all>
590   - <cache_size>0</cache_size>
591   - <lookup>
592   - <schema/>
593   - <table>bsth_c_line</table>
594   - <orderby/>
595   - <fail_on_multiple>N</fail_on_multiple>
596   - <eat_row_on_failure>N</eat_row_on_failure>
597   - <key>
598   - <name>xl</name>
599   - <field>name</field>
600   - <condition>&#x3d;</condition>
601   - <name2/>
602   - </key>
603   - <value>
604   - <name>id</name>
605   - <rename>xlid</rename>
606   - <default/>
607   - <type>Integer</type>
608   - </value>
609   - </lookup>
610   - <cluster_schema/>
611   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
612   - <xloc>428</xloc>
613   - <yloc>69</yloc>
614   - <draw>Y</draw>
615   - </GUI>
616   - </step>
617   -
618   - <step>
619   - <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
620   - <type>GetVariable</type>
621   - <description/>
622   - <distribute>Y</distribute>
623   - <custom_distribution/>
624   - <copies>1</copies>
625   - <partitioning>
626   - <method>none</method>
627   - <schema_name/>
628   - </partitioning>
629   - <fields>
630   - <field>
631   - <name>filepath_</name>
632   - <variable>&#x24;&#x7b;filepath&#x7d;</variable>
633   - <type>String</type>
634   - <format/>
635   - <currency/>
636   - <decimal/>
637   - <group/>
638   - <length>-1</length>
639   - <precision>-1</precision>
640   - <trim_type>none</trim_type>
641   - </field>
642   - <field>
643   - <name>erroroutputdir_</name>
644   - <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
645   - <type>String</type>
646   - <format/>
647   - <currency/>
648   - <decimal/>
649   - <group/>
650   - <length>-1</length>
651   - <precision>-1</precision>
652   - <trim_type>none</trim_type>
653   - </field>
654   - </fields>
655   - <cluster_schema/>
656   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
657   - <xloc>152</xloc>
658   - <yloc>193</yloc>
659   - <draw>Y</draw>
660   - </GUI>
661   - </step>
662   -
663   - <step>
664   - <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
665   - <type>ExcelOutput</type>
666   - <description/>
667   - <distribute>Y</distribute>
668   - <custom_distribution/>
669   - <copies>1</copies>
670   - <partitioning>
671   - <method>none</method>
672   - <schema_name/>
673   - </partitioning>
674   - <header>Y</header>
675   - <footer>N</footer>
676   - <encoding>UTF-8</encoding>
677   - <append>N</append>
678   - <add_to_result_filenames>Y</add_to_result_filenames>
679   - <file>
680   - <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8def;&#x724c;_&#x9519;&#x8bef;</name>
681   - <extention>xls</extention>
682   - <do_not_open_newfile_init>N</do_not_open_newfile_init>
683   - <create_parent_folder>N</create_parent_folder>
684   - <split>N</split>
685   - <add_date>N</add_date>
686   - <add_time>N</add_time>
687   - <SpecifyFormat>N</SpecifyFormat>
688   - <date_time_format/>
689   - <sheetname>Sheet1</sheetname>
690   - <autosizecolums>N</autosizecolums>
691   - <nullisblank>N</nullisblank>
692   - <protect_sheet>N</protect_sheet>
693   - <password>Encrypted </password>
694   - <splitevery>0</splitevery>
695   - <usetempfiles>N</usetempfiles>
696   - <tempdirectory/>
697   - </file>
698   - <template>
699   - <enabled>N</enabled>
700   - <append>N</append>
701   - <filename>template.xls</filename>
702   - </template>
703   - <fields>
704   - <field>
705   - <name>filepath_</name>
706   - <type>String</type>
707   - <format/>
708   - </field>
709   - <field>
710   - <name>erroroutputdir_</name>
711   - <type>String</type>
712   - <format/>
713   - </field>
714   - <field>
715   - <name>xl</name>
716   - <type>String</type>
717   - <format/>
718   - </field>
719   - <field>
720   - <name>lpno</name>
721   - <type>Integer</type>
722   - <format/>
723   - </field>
724   - <field>
725   - <name>lpname</name>
726   - <type>String</type>
727   - <format/>
728   - </field>
729   - <field>
730   - <name>lptype</name>
731   - <type>String</type>
732   - <format/>
733   - </field>
734   - <field>
735   - <name>xlid</name>
736   - <type>Integer</type>
737   - <format/>
738   - </field>
739   - <field>
740   - <name>isCancel</name>
741   - <type>Integer</type>
742   - <format/>
743   - </field>
744   - <field>
745   - <name>error_count</name>
746   - <type>Integer</type>
747   - <format/>
748   - </field>
749   - <field>
750   - <name>error_desc</name>
751   - <type>String</type>
752   - <format/>
753   - </field>
754   - <field>
755   - <name>error_column1</name>
756   - <type>String</type>
757   - <format/>
758   - </field>
759   - <field>
760   - <name>error_column2</name>
761   - <type>String</type>
762   - <format/>
763   - </field>
764   - </fields>
765   - <custom>
766   - <header_font_name>arial</header_font_name>
767   - <header_font_size>10</header_font_size>
768   - <header_font_bold>N</header_font_bold>
769   - <header_font_italic>N</header_font_italic>
770   - <header_font_underline>no</header_font_underline>
771   - <header_font_orientation>horizontal</header_font_orientation>
772   - <header_font_color>black</header_font_color>
773   - <header_background_color>none</header_background_color>
774   - <header_row_height>255</header_row_height>
775   - <header_alignment>left</header_alignment>
776   - <header_image/>
777   - <row_font_name>arial</row_font_name>
778   - <row_font_size>10</row_font_size>
779   - <row_font_color>black</row_font_color>
780   - <row_background_color>none</row_background_color>
781   - </custom>
782   - <cluster_schema/>
783   - <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
784   - <xloc>545</xloc>
785   - <yloc>307</yloc>
786   - <draw>Y</draw>
787   - </GUI>
788   - </step>
789   -
790   - <step_error_handling>
791   - <error>
792   - <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step>
793   - <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
794   - <is_enabled>Y</is_enabled>
795   - <nr_valuename>error_count</nr_valuename>
796   - <descriptions_valuename>error_desc</descriptions_valuename>
797   - <fields_valuename>error_column1</fields_valuename>
798   - <codes_valuename>error_column2</codes_valuename>
799   - <max_errors/>
800   - <max_pct_errors/>
801   - <min_pct_rows/>
802   - </error>
803   - </step_error_handling>
804   - <slave-step-copy-partition-distribution>
805   -</slave-step-copy-partition-distribution>
806   - <slave_transformation>N</slave_transformation>
807   -
808   -</transformation>
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<transformation>
  3 + <info>
  4 + <name>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</name>
  5 + <description>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x5bfc;&#x5165;</description>
  6 + <extended_description>&#x7ebf;&#x8def;&#x8fd0;&#x8425;&#x7684;&#x8def;&#x724c;&#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 17&#x3a;00&#x3a;01.094</created_date>
  81 + <modified_user>-</modified_user>
  82 + <modified_date>2016&#x2f;06&#x2f;29 17&#x3a;00&#x3a;01.094</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>&#x8def;&#x724c;&#x4fe1;&#x606f;&#x8f93;&#x5165;&#xff0c;&#x8def;&#x724c;&#x540d;&#x5b57;&#x662f;&#x4e0d;&#x80fd;&#x91cd;&#x590d;&#x7684;&#xa;&#x4e00;&#x822c;&#x6765;&#x8bf4;&#xff0c;&#x5e94;&#x8be5;&#x662f;&#x5bfc;&#x5165;&#x65f6;&#x523b;&#x6570;&#x636e;&#x81ea;&#x52a8;&#x751f;&#x6210;&#x7684;&#xff0c;&#x8fd9;&#x4e2a;&#x518d;&#x8bae;&#xa;&#xa;</note>
  89 + <xloc>57</xloc>
  90 + <yloc>291</yloc>
  91 + <width>298</width>
  92 + <heigth>74</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>&#x5b57;&#x6bb5;&#x6539;&#x540d;</from><to>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</to><enabled>Y</enabled> </hop>
  272 + <hop> <from>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</from><to>&#x9519;&#x8bef;&#x8f93;&#x51fa;</to><enabled>Y</enabled> </hop>
  273 + <hop> <from>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</from><to>&#x5b57;&#x6bb5;&#x6539;&#x540d;</to><enabled>Y</enabled> </hop>
  274 + <hop> <from>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</from><to>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</to><enabled>Y</enabled> </hop>
  275 + <hop> <from>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</from><to>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</to><enabled>Y</enabled> </hop>
  276 + <hop> <from>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</from><to>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</to><enabled>Y</enabled> </hop>
  277 + </order>
  278 + <step>
  279 + <name>&#x539f;&#x59cb;&#x7cfb;&#x7edf;&#x5bfc;&#x51fa;&#x7684;Excel&#x8f93;&#x5165;</name>
  280 + <type>ExcelInput</type>
  281 + <description/>
  282 + <distribute>Y</distribute>
  283 + <custom_distribution/>
  284 + <copies>1</copies>
  285 + <partitioning>
  286 + <method>none</method>
  287 + <schema_name/>
  288 + </partitioning>
  289 + <header>Y</header>
  290 + <noempty>Y</noempty>
  291 + <stoponempty>N</stoponempty>
  292 + <filefield/>
  293 + <sheetfield/>
  294 + <sheetrownumfield/>
  295 + <rownumfield/>
  296 + <sheetfield/>
  297 + <filefield/>
  298 + <limit>0</limit>
  299 + <encoding/>
  300 + <add_to_result_filenames>Y</add_to_result_filenames>
  301 + <accept_filenames>Y</accept_filenames>
  302 + <accept_field>filepath_</accept_field>
  303 + <accept_stepname>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</accept_stepname>
  304 + <file>
  305 + <name/>
  306 + <filemask/>
  307 + <exclude_filemask/>
  308 + <file_required>N</file_required>
  309 + <include_subfolders>N</include_subfolders>
  310 + </file>
  311 + <fields>
  312 + <field>
  313 + <name>&#x7ebf;&#x8def;</name>
  314 + <type>String</type>
  315 + <length>-1</length>
  316 + <precision>-1</precision>
  317 + <trim_type>none</trim_type>
  318 + <repeat>N</repeat>
  319 + <format/>
  320 + <currency/>
  321 + <decimal/>
  322 + <group/>
  323 + </field>
  324 + <field>
  325 + <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
  326 + <type>String</type>
  327 + <length>-1</length>
  328 + <precision>-1</precision>
  329 + <trim_type>none</trim_type>
  330 + <repeat>N</repeat>
  331 + <format>&#x23;</format>
  332 + <currency/>
  333 + <decimal/>
  334 + <group/>
  335 + </field>
  336 + <field>
  337 + <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
  338 + <type>String</type>
  339 + <length>-1</length>
  340 + <precision>-1</precision>
  341 + <trim_type>none</trim_type>
  342 + <repeat>N</repeat>
  343 + <format>&#x23;</format>
  344 + <currency/>
  345 + <decimal/>
  346 + <group/>
  347 + </field>
  348 + <field>
  349 + <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
  350 + <type>String</type>
  351 + <length>-1</length>
  352 + <precision>-1</precision>
  353 + <trim_type>none</trim_type>
  354 + <repeat>N</repeat>
  355 + <format/>
  356 + <currency/>
  357 + <decimal/>
  358 + <group/>
  359 + </field>
  360 + </fields>
  361 + <sheets>
  362 + <sheet>
  363 + <name>&#x5de5;&#x4f5c;&#x8868;1</name>
  364 + <startrow>0</startrow>
  365 + <startcol>0</startcol>
  366 + </sheet>
  367 + </sheets>
  368 + <strict_types>N</strict_types>
  369 + <error_ignored>N</error_ignored>
  370 + <error_line_skipped>N</error_line_skipped>
  371 + <bad_line_files_destination_directory/>
  372 + <bad_line_files_extension>warning</bad_line_files_extension>
  373 + <error_line_files_destination_directory/>
  374 + <error_line_files_extension>error</error_line_files_extension>
  375 + <line_number_files_destination_directory/>
  376 + <line_number_files_extension>line</line_number_files_extension>
  377 + <shortFileFieldName/>
  378 + <pathFieldName/>
  379 + <hiddenFieldName/>
  380 + <lastModificationTimeFieldName/>
  381 + <uriNameFieldName/>
  382 + <rootUriNameFieldName/>
  383 + <extensionFieldName/>
  384 + <sizeFieldName/>
  385 + <spreadsheet_type>JXL</spreadsheet_type>
  386 + <cluster_schema/>
  387 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  388 + <xloc>150</xloc>
  389 + <yloc>68</yloc>
  390 + <draw>Y</draw>
  391 + </GUI>
  392 + </step>
  393 +
  394 + <step>
  395 + <name>&#x542f;&#x7528;&#x88ab;&#x6570;&#x636e;flag</name>
  396 + <type>Constant</type>
  397 + <description/>
  398 + <distribute>Y</distribute>
  399 + <custom_distribution/>
  400 + <copies>1</copies>
  401 + <partitioning>
  402 + <method>none</method>
  403 + <schema_name/>
  404 + </partitioning>
  405 + <fields>
  406 + <field>
  407 + <name>isCancel</name>
  408 + <type>Integer</type>
  409 + <format/>
  410 + <currency/>
  411 + <decimal/>
  412 + <group/>
  413 + <nullif>0</nullif>
  414 + <length>-1</length>
  415 + <precision>-1</precision>
  416 + <set_empty_string>N</set_empty_string>
  417 + </field>
  418 + </fields>
  419 + <cluster_schema/>
  420 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  421 + <xloc>544</xloc>
  422 + <yloc>70</yloc>
  423 + <draw>Y</draw>
  424 + </GUI>
  425 + </step>
  426 +
  427 + <step>
  428 + <name>&#x5b57;&#x6bb5;&#x6539;&#x540d;</name>
  429 + <type>SelectValues</type>
  430 + <description/>
  431 + <distribute>Y</distribute>
  432 + <custom_distribution/>
  433 + <copies>1</copies>
  434 + <partitioning>
  435 + <method>none</method>
  436 + <schema_name/>
  437 + </partitioning>
  438 + <fields> <select_unspecified>N</select_unspecified>
  439 + <meta> <name>&#x7ebf;&#x8def;</name>
  440 + <rename>xl</rename>
  441 + <type>String</type>
  442 + <length>-2</length>
  443 + <precision>-2</precision>
  444 + <conversion_mask/>
  445 + <date_format_lenient>false</date_format_lenient>
  446 + <date_format_locale/>
  447 + <date_format_timezone/>
  448 + <lenient_string_to_number>false</lenient_string_to_number>
  449 + <encoding/>
  450 + <decimal_symbol/>
  451 + <grouping_symbol/>
  452 + <currency_symbol/>
  453 + <storage_type/>
  454 + </meta> <meta> <name>&#x8def;&#x724c;&#x7f16;&#x53f7;</name>
  455 + <rename>lpno</rename>
  456 + <type>Integer</type>
  457 + <length>-2</length>
  458 + <precision>-2</precision>
  459 + <conversion_mask/>
  460 + <date_format_lenient>false</date_format_lenient>
  461 + <date_format_locale/>
  462 + <date_format_timezone/>
  463 + <lenient_string_to_number>false</lenient_string_to_number>
  464 + <encoding/>
  465 + <decimal_symbol/>
  466 + <grouping_symbol/>
  467 + <currency_symbol/>
  468 + <storage_type/>
  469 + </meta> <meta> <name>&#x8def;&#x724c;&#x540d;&#x79f0;</name>
  470 + <rename>lpname</rename>
  471 + <type>String</type>
  472 + <length>-2</length>
  473 + <precision>-2</precision>
  474 + <conversion_mask/>
  475 + <date_format_lenient>false</date_format_lenient>
  476 + <date_format_locale/>
  477 + <date_format_timezone/>
  478 + <lenient_string_to_number>false</lenient_string_to_number>
  479 + <encoding/>
  480 + <decimal_symbol/>
  481 + <grouping_symbol/>
  482 + <currency_symbol/>
  483 + <storage_type/>
  484 + </meta> <meta> <name>&#x8def;&#x724c;&#x7c7b;&#x578b;</name>
  485 + <rename>lptype</rename>
  486 + <type>String</type>
  487 + <length>-2</length>
  488 + <precision>-2</precision>
  489 + <conversion_mask/>
  490 + <date_format_lenient>false</date_format_lenient>
  491 + <date_format_locale/>
  492 + <date_format_timezone/>
  493 + <lenient_string_to_number>false</lenient_string_to_number>
  494 + <encoding/>
  495 + <decimal_symbol/>
  496 + <grouping_symbol/>
  497 + <currency_symbol/>
  498 + <storage_type/>
  499 + </meta> </fields> <cluster_schema/>
  500 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  501 + <xloc>295</xloc>
  502 + <yloc>68</yloc>
  503 + <draw>Y</draw>
  504 + </GUI>
  505 + </step>
  506 +
  507 + <step>
  508 + <name>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</name>
  509 + <type>InsertUpdate</type>
  510 + <description/>
  511 + <distribute>Y</distribute>
  512 + <custom_distribution/>
  513 + <copies>1</copies>
  514 + <partitioning>
  515 + <method>none</method>
  516 + <schema_name/>
  517 + </partitioning>
  518 + <connection>bus_control_variable</connection>
  519 + <commit>100</commit>
  520 + <update_bypassed>N</update_bypassed>
  521 + <lookup>
  522 + <schema/>
  523 + <table>bsth_c_s_gbi</table>
  524 + <key>
  525 + <name>xlid</name>
  526 + <field>xl</field>
  527 + <condition>&#x3d;</condition>
  528 + <name2/>
  529 + </key>
  530 + <key>
  531 + <name>lpname</name>
  532 + <field>lp_name</field>
  533 + <condition>&#x3d;</condition>
  534 + <name2/>
  535 + </key>
  536 + <key>
  537 + <name>isCancel</name>
  538 + <field>is_cancel</field>
  539 + <condition>&#x3d;</condition>
  540 + <name2/>
  541 + </key>
  542 + <value>
  543 + <name>xl</name>
  544 + <rename>xlid</rename>
  545 + <update>Y</update>
  546 + </value>
  547 + <value>
  548 + <name>lp_no</name>
  549 + <rename>lpno</rename>
  550 + <update>Y</update>
  551 + </value>
  552 + <value>
  553 + <name>lp_name</name>
  554 + <rename>lpname</rename>
  555 + <update>Y</update>
  556 + </value>
  557 + <value>
  558 + <name>lp_type</name>
  559 + <rename>lptype</rename>
  560 + <update>Y</update>
  561 + </value>
  562 + <value>
  563 + <name>is_cancel</name>
  564 + <rename>isCancel</rename>
  565 + <update>Y</update>
  566 + </value>
  567 + </lookup>
  568 + <cluster_schema/>
  569 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  570 + <xloc>545</xloc>
  571 + <yloc>184</yloc>
  572 + <draw>Y</draw>
  573 + </GUI>
  574 + </step>
  575 +
  576 + <step>
  577 + <name>&#x67e5;&#x8be2;&#x7ebf;&#x8def;&#x5173;&#x8054;</name>
  578 + <type>DBLookup</type>
  579 + <description/>
  580 + <distribute>Y</distribute>
  581 + <custom_distribution/>
  582 + <copies>1</copies>
  583 + <partitioning>
  584 + <method>none</method>
  585 + <schema_name/>
  586 + </partitioning>
  587 + <connection>bus_control_variable</connection>
  588 + <cache>Y</cache>
  589 + <cache_load_all>Y</cache_load_all>
  590 + <cache_size>0</cache_size>
  591 + <lookup>
  592 + <schema/>
  593 + <table>bsth_c_line</table>
  594 + <orderby/>
  595 + <fail_on_multiple>N</fail_on_multiple>
  596 + <eat_row_on_failure>N</eat_row_on_failure>
  597 + <key>
  598 + <name>xl</name>
  599 + <field>name</field>
  600 + <condition>&#x3d;</condition>
  601 + <name2/>
  602 + </key>
  603 + <value>
  604 + <name>id</name>
  605 + <rename>xlid</rename>
  606 + <default/>
  607 + <type>Integer</type>
  608 + </value>
  609 + </lookup>
  610 + <cluster_schema/>
  611 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  612 + <xloc>428</xloc>
  613 + <yloc>69</yloc>
  614 + <draw>Y</draw>
  615 + </GUI>
  616 + </step>
  617 +
  618 + <step>
  619 + <name>&#x83b7;&#x53d6;&#x53d8;&#x91cf;</name>
  620 + <type>GetVariable</type>
  621 + <description/>
  622 + <distribute>Y</distribute>
  623 + <custom_distribution/>
  624 + <copies>1</copies>
  625 + <partitioning>
  626 + <method>none</method>
  627 + <schema_name/>
  628 + </partitioning>
  629 + <fields>
  630 + <field>
  631 + <name>filepath_</name>
  632 + <variable>&#x24;&#x7b;filepath&#x7d;</variable>
  633 + <type>String</type>
  634 + <format/>
  635 + <currency/>
  636 + <decimal/>
  637 + <group/>
  638 + <length>-1</length>
  639 + <precision>-1</precision>
  640 + <trim_type>none</trim_type>
  641 + </field>
  642 + <field>
  643 + <name>erroroutputdir_</name>
  644 + <variable>&#x24;&#x7b;erroroutputdir&#x7d;</variable>
  645 + <type>String</type>
  646 + <format/>
  647 + <currency/>
  648 + <decimal/>
  649 + <group/>
  650 + <length>-1</length>
  651 + <precision>-1</precision>
  652 + <trim_type>none</trim_type>
  653 + </field>
  654 + </fields>
  655 + <cluster_schema/>
  656 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  657 + <xloc>152</xloc>
  658 + <yloc>193</yloc>
  659 + <draw>Y</draw>
  660 + </GUI>
  661 + </step>
  662 +
  663 + <step>
  664 + <name>&#x9519;&#x8bef;&#x8f93;&#x51fa;</name>
  665 + <type>ExcelOutput</type>
  666 + <description/>
  667 + <distribute>Y</distribute>
  668 + <custom_distribution/>
  669 + <copies>1</copies>
  670 + <partitioning>
  671 + <method>none</method>
  672 + <schema_name/>
  673 + </partitioning>
  674 + <header>Y</header>
  675 + <footer>N</footer>
  676 + <encoding>UTF-8</encoding>
  677 + <append>N</append>
  678 + <add_to_result_filenames>Y</add_to_result_filenames>
  679 + <file>
  680 + <name>&#x24;&#x7b;erroroutputdir&#x7d;&#x2f;&#x8def;&#x724c;_&#x9519;&#x8bef;</name>
  681 + <extention>xls</extention>
  682 + <do_not_open_newfile_init>N</do_not_open_newfile_init>
  683 + <create_parent_folder>N</create_parent_folder>
  684 + <split>N</split>
  685 + <add_date>N</add_date>
  686 + <add_time>N</add_time>
  687 + <SpecifyFormat>N</SpecifyFormat>
  688 + <date_time_format/>
  689 + <sheetname>Sheet1</sheetname>
  690 + <autosizecolums>N</autosizecolums>
  691 + <nullisblank>N</nullisblank>
  692 + <protect_sheet>N</protect_sheet>
  693 + <password>Encrypted </password>
  694 + <splitevery>0</splitevery>
  695 + <usetempfiles>N</usetempfiles>
  696 + <tempdirectory/>
  697 + </file>
  698 + <template>
  699 + <enabled>N</enabled>
  700 + <append>N</append>
  701 + <filename>template.xls</filename>
  702 + </template>
  703 + <fields>
  704 + <field>
  705 + <name>filepath_</name>
  706 + <type>String</type>
  707 + <format/>
  708 + </field>
  709 + <field>
  710 + <name>erroroutputdir_</name>
  711 + <type>String</type>
  712 + <format/>
  713 + </field>
  714 + <field>
  715 + <name>xl</name>
  716 + <type>String</type>
  717 + <format/>
  718 + </field>
  719 + <field>
  720 + <name>lpno</name>
  721 + <type>Integer</type>
  722 + <format/>
  723 + </field>
  724 + <field>
  725 + <name>lpname</name>
  726 + <type>String</type>
  727 + <format/>
  728 + </field>
  729 + <field>
  730 + <name>lptype</name>
  731 + <type>String</type>
  732 + <format/>
  733 + </field>
  734 + <field>
  735 + <name>xlid</name>
  736 + <type>Integer</type>
  737 + <format/>
  738 + </field>
  739 + <field>
  740 + <name>isCancel</name>
  741 + <type>Integer</type>
  742 + <format/>
  743 + </field>
  744 + <field>
  745 + <name>error_count</name>
  746 + <type>Integer</type>
  747 + <format/>
  748 + </field>
  749 + <field>
  750 + <name>error_desc</name>
  751 + <type>String</type>
  752 + <format/>
  753 + </field>
  754 + <field>
  755 + <name>error_column1</name>
  756 + <type>String</type>
  757 + <format/>
  758 + </field>
  759 + <field>
  760 + <name>error_column2</name>
  761 + <type>String</type>
  762 + <format/>
  763 + </field>
  764 + </fields>
  765 + <custom>
  766 + <header_font_name>arial</header_font_name>
  767 + <header_font_size>10</header_font_size>
  768 + <header_font_bold>N</header_font_bold>
  769 + <header_font_italic>N</header_font_italic>
  770 + <header_font_underline>no</header_font_underline>
  771 + <header_font_orientation>horizontal</header_font_orientation>
  772 + <header_font_color>black</header_font_color>
  773 + <header_background_color>none</header_background_color>
  774 + <header_row_height>255</header_row_height>
  775 + <header_alignment>left</header_alignment>
  776 + <header_image/>
  777 + <row_font_name>arial</row_font_name>
  778 + <row_font_size>10</row_font_size>
  779 + <row_font_color>black</row_font_color>
  780 + <row_background_color>none</row_background_color>
  781 + </custom>
  782 + <cluster_schema/>
  783 + <remotesteps> <input> </input> <output> </output> </remotesteps> <GUI>
  784 + <xloc>545</xloc>
  785 + <yloc>307</yloc>
  786 + <draw>Y</draw>
  787 + </GUI>
  788 + </step>
  789 +
  790 + <step_error_handling>
  791 + <error>
  792 + <source_step>&#x63d2;&#x5165;&#x2f;&#x66f4;&#x65b0;bsth_c_s_gbi</source_step>
  793 + <target_step>&#x9519;&#x8bef;&#x8f93;&#x51fa;</target_step>
  794 + <is_enabled>Y</is_enabled>
  795 + <nr_valuename>error_count</nr_valuename>
  796 + <descriptions_valuename>error_desc</descriptions_valuename>
  797 + <fields_valuename>error_column1</fields_valuename>
  798 + <codes_valuename>error_column2</codes_valuename>
  799 + <max_errors/>
  800 + <max_pct_errors/>
  801 + <min_pct_rows/>
  802 + </error>
  803 + </step_error_handling>
  804 + <slave-step-copy-partition-distribution>
  805 +</slave-step-copy-partition-distribution>
  806 + <slave_transformation>N</slave_transformation>
  807 +
  808 +</transformation>
... ...
src/main/resources/static/pages/base/timesmodel/js/raty/lib/jquery.raty.min.js
1   -/*!
2   - * jQuery Raty - A Star Rating Plugin
3   - *
4   - * Licensed under The MIT License
5   - *
6   - * @version 2.5.2
7   - * @author Washington Botelho
8   - * @documentation wbotelhos.com/raty
9   - *
10   - */
11   -
12   -;(function(b){var a={init:function(c){return this.each(function(){a.destroy.call(this);this.opt=b.extend(true,{},b.fn.raty.defaults,c);var e=b(this),g=["number","readOnly","score","scoreName"];a._callback.call(this,g);if(this.opt.precision){a._adjustPrecision.call(this);}this.opt.number=a._between(this.opt.number,0,this.opt.numberMax);this.opt.path=this.opt.path||"";if(this.opt.path&&this.opt.path.slice(this.opt.path.length-1,this.opt.path.length)!=="/"){this.opt.path+="/";}this.stars=a._createStars.call(this);this.score=a._createScore.call(this);a._apply.call(this,this.opt.score);var f=this.opt.space?4:0,d=this.opt.width||(this.opt.number*this.opt.size+this.opt.number*f);if(this.opt.cancel){this.cancel=a._createCancel.call(this);d+=(this.opt.size+f);}if(this.opt.readOnly){a._lock.call(this);}else{e.css("cursor","pointer");a._binds.call(this);}if(this.opt.width!==false){e.css("width",d);}a._target.call(this,this.opt.score);e.data({settings:this.opt,raty:true});});},_adjustPrecision:function(){this.opt.targetType="score";this.opt.half=true;},_apply:function(c){if(c&&c>0){c=a._between(c,0,this.opt.number);this.score.val(c);}a._fill.call(this,c);if(c){a._roundStars.call(this,c);}},_between:function(e,d,c){return Math.min(Math.max(parseFloat(e),d),c);},_binds:function(){if(this.cancel){a._bindCancel.call(this);}a._bindClick.call(this);a._bindOut.call(this);a._bindOver.call(this);},_bindCancel:function(){a._bindClickCancel.call(this);a._bindOutCancel.call(this);a._bindOverCancel.call(this);},_bindClick:function(){var c=this,d=b(c);c.stars.on("click.raty",function(e){c.score.val((c.opt.half||c.opt.precision)?d.data("score"):this.alt);if(c.opt.click){c.opt.click.call(c,parseFloat(c.score.val()),e);}});},_bindClickCancel:function(){var c=this;c.cancel.on("click.raty",function(d){c.score.removeAttr("value");if(c.opt.click){c.opt.click.call(c,null,d);}});},_bindOut:function(){var c=this;b(this).on("mouseleave.raty",function(d){var e=parseFloat(c.score.val())||undefined;a._apply.call(c,e);a._target.call(c,e,d);if(c.opt.mouseout){c.opt.mouseout.call(c,e,d);}});},_bindOutCancel:function(){var c=this;c.cancel.on("mouseleave.raty",function(d){b(this).attr("src",c.opt.path+c.opt.cancelOff);if(c.opt.mouseout){c.opt.mouseout.call(c,c.score.val()||null,d);}});},_bindOverCancel:function(){var c=this;c.cancel.on("mouseover.raty",function(d){b(this).attr("src",c.opt.path+c.opt.cancelOn);c.stars.attr("src",c.opt.path+c.opt.starOff);a._target.call(c,null,d);if(c.opt.mouseover){c.opt.mouseover.call(c,null);}});},_bindOver:function(){var c=this,d=b(c),e=c.opt.half?"mousemove.raty":"mouseover.raty";c.stars.on(e,function(g){var h=parseInt(this.alt,10);if(c.opt.half){var f=parseFloat((g.pageX-b(this).offset().left)/c.opt.size),j=(f>0.5)?1:0.5;h=h-1+j;a._fill.call(c,h);if(c.opt.precision){h=h-j+f;}a._roundStars.call(c,h);d.data("score",h);}else{a._fill.call(c,h);}a._target.call(c,h,g);if(c.opt.mouseover){c.opt.mouseover.call(c,h,g);}});},_callback:function(c){for(i in c){if(typeof this.opt[c[i]]==="function"){this.opt[c[i]]=this.opt[c[i]].call(this);}}},_createCancel:function(){var e=b(this),c=this.opt.path+this.opt.cancelOff,d=b("<img />",{src:c,alt:"x",title:this.opt.cancelHint,"class":"raty-cancel"});if(this.opt.cancelPlace=="left"){e.prepend("&#160;").prepend(d);}else{e.append("&#160;").append(d);}return d;},_createScore:function(){return b("<input />",{type:"hidden",name:this.opt.scoreName}).appendTo(this);},_createStars:function(){var e=b(this);for(var c=1;c<=this.opt.number;c++){var f=a._getHint.call(this,c),d=(this.opt.score&&this.opt.score>=c)?"starOn":"starOff";d=this.opt.path+this.opt[d];b("<img />",{src:d,alt:c,title:f}).appendTo(this);if(this.opt.space){e.append((c<this.opt.number)?"&#160;":"");}}return e.children("img");},_error:function(c){b(this).html(c);b.error(c);},_fill:function(d){var m=this,e=0;for(var f=1;f<=m.stars.length;f++){var g=m.stars.eq(f-1),l=m.opt.single?(f==d):(f<=d);if(m.opt.iconRange&&m.opt.iconRange.length>e){var j=m.opt.iconRange[e],h=j.on||m.opt.starOn,c=j.off||m.opt.starOff,k=l?h:c;if(f<=j.range){g.attr("src",m.opt.path+k);}if(f==j.range){e++;}}else{var k=l?"starOn":"starOff";g.attr("src",this.opt.path+this.opt[k]);}}},_getHint:function(d){var c=this.opt.hints[d-1];return(c==="")?"":(c||d);},_lock:function(){var d=parseInt(this.score.val(),10),c=d?a._getHint.call(this,d):this.opt.noRatedMsg;b(this).data("readonly",true).css("cursor","").attr("title",c);this.score.attr("readonly","readonly");this.stars.attr("title",c);if(this.cancel){this.cancel.hide();}},_roundStars:function(e){var d=(e-Math.floor(e)).toFixed(2);if(d>this.opt.round.down){var c="starOn";if(this.opt.halfShow&&d<this.opt.round.up){c="starHalf";}else{if(d<this.opt.round.full){c="starOff";}}this.stars.eq(Math.ceil(e)-1).attr("src",this.opt.path+this.opt[c]);}},_target:function(f,d){if(this.opt.target){var e=b(this.opt.target);if(e.length===0){a._error.call(this,"Target selector invalid or missing!");}if(this.opt.targetFormat.indexOf("{score}")<0){a._error.call(this,'Template "{score}" missing!');}var c=d&&d.type=="mouseover";if(f===undefined){f=this.opt.targetText;}else{if(f===null){f=c?this.opt.cancelHint:this.opt.targetText;}else{if(this.opt.targetType=="hint"){f=a._getHint.call(this,Math.ceil(f));}else{if(this.opt.precision){f=parseFloat(f).toFixed(1);}}if(!c&&!this.opt.targetKeep){f=this.opt.targetText;}}}if(f){f=this.opt.targetFormat.toString().replace("{score}",f);}if(e.is(":input")){e.val(f);}else{e.html(f);}}},_unlock:function(){b(this).data("readonly",false).css("cursor","pointer").removeAttr("title");this.score.removeAttr("readonly","readonly");for(var c=0;c<this.opt.number;c++){this.stars.eq(c).attr("title",a._getHint.call(this,c+1));}if(this.cancel){this.cancel.css("display","");}},cancel:function(c){return this.each(function(){if(b(this).data("readonly")!==true){a[c?"click":"score"].call(this,null);this.score.removeAttr("value");}});},click:function(c){return b(this).each(function(){if(b(this).data("readonly")!==true){a._apply.call(this,c);if(!this.opt.click){a._error.call(this,'You must add the "click: function(score, evt) { }" callback.');}this.opt.click.call(this,c,{type:"click"});a._target.call(this,c);}});},destroy:function(){return b(this).each(function(){var d=b(this),c=d.data("raw");if(c){d.off(".raty").empty().css({cursor:c.style.cursor,width:c.style.width}).removeData("readonly");}else{d.data("raw",d.clone()[0]);}});},getScore:function(){var d=[],c;b(this).each(function(){c=this.score.val();d.push(c?parseFloat(c):undefined);});return(d.length>1)?d:d[0];},readOnly:function(c){return this.each(function(){var d=b(this);if(d.data("readonly")!==c){if(c){d.off(".raty").children("img").off(".raty");a._lock.call(this);}else{a._binds.call(this);a._unlock.call(this);}d.data("readonly",c);}});},reload:function(){return a.set.call(this,{});},score:function(){return arguments.length?a.setScore.apply(this,arguments):a.getScore.call(this);},set:function(c){return this.each(function(){var e=b(this),f=e.data("settings"),d=b.extend({},f,c);e.raty(d);});},setScore:function(c){return b(this).each(function(){if(b(this).data("readonly")!==true){a._apply.call(this,c);a._target.call(this,c);}});}};b.fn.raty=function(c){if(a[c]){return a[c].apply(this,Array.prototype.slice.call(arguments,1));}else{if(typeof c==="object"||!c){return a.init.apply(this,arguments);}else{b.error("Method "+c+" does not exist!");}}};b.fn.raty.defaults={cancel:false,cancelHint:"Cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",click:undefined,half:false,halfShow:true,hints:["bad","poor","regular","good","gorgeous"],iconRange:undefined,mouseout:undefined,mouseover:undefined,noRatedMsg:"Not rated yet!",number:5,numberMax:20,path:"",precision:false,readOnly:false,round:{down:0.25,full:0.6,up:0.76},score:undefined,scoreName:"score",single:false,size:16,space:true,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",target:undefined,targetFormat:"{score}",targetKeep:false,targetText:"",targetType:"hint",width:undefined};})(jQuery);
  1 +/*!
  2 + * jQuery Raty - A Star Rating Plugin
  3 + *
  4 + * Licensed under The MIT License
  5 + *
  6 + * @version 2.5.2
  7 + * @author Washington Botelho
  8 + * @documentation wbotelhos.com/raty
  9 + *
  10 + */
  11 +
  12 +;(function(b){var a={init:function(c){return this.each(function(){a.destroy.call(this);this.opt=b.extend(true,{},b.fn.raty.defaults,c);var e=b(this),g=["number","readOnly","score","scoreName"];a._callback.call(this,g);if(this.opt.precision){a._adjustPrecision.call(this);}this.opt.number=a._between(this.opt.number,0,this.opt.numberMax);this.opt.path=this.opt.path||"";if(this.opt.path&&this.opt.path.slice(this.opt.path.length-1,this.opt.path.length)!=="/"){this.opt.path+="/";}this.stars=a._createStars.call(this);this.score=a._createScore.call(this);a._apply.call(this,this.opt.score);var f=this.opt.space?4:0,d=this.opt.width||(this.opt.number*this.opt.size+this.opt.number*f);if(this.opt.cancel){this.cancel=a._createCancel.call(this);d+=(this.opt.size+f);}if(this.opt.readOnly){a._lock.call(this);}else{e.css("cursor","pointer");a._binds.call(this);}if(this.opt.width!==false){e.css("width",d);}a._target.call(this,this.opt.score);e.data({settings:this.opt,raty:true});});},_adjustPrecision:function(){this.opt.targetType="score";this.opt.half=true;},_apply:function(c){if(c&&c>0){c=a._between(c,0,this.opt.number);this.score.val(c);}a._fill.call(this,c);if(c){a._roundStars.call(this,c);}},_between:function(e,d,c){return Math.min(Math.max(parseFloat(e),d),c);},_binds:function(){if(this.cancel){a._bindCancel.call(this);}a._bindClick.call(this);a._bindOut.call(this);a._bindOver.call(this);},_bindCancel:function(){a._bindClickCancel.call(this);a._bindOutCancel.call(this);a._bindOverCancel.call(this);},_bindClick:function(){var c=this,d=b(c);c.stars.on("click.raty",function(e){c.score.val((c.opt.half||c.opt.precision)?d.data("score"):this.alt);if(c.opt.click){c.opt.click.call(c,parseFloat(c.score.val()),e);}});},_bindClickCancel:function(){var c=this;c.cancel.on("click.raty",function(d){c.score.removeAttr("value");if(c.opt.click){c.opt.click.call(c,null,d);}});},_bindOut:function(){var c=this;b(this).on("mouseleave.raty",function(d){var e=parseFloat(c.score.val())||undefined;a._apply.call(c,e);a._target.call(c,e,d);if(c.opt.mouseout){c.opt.mouseout.call(c,e,d);}});},_bindOutCancel:function(){var c=this;c.cancel.on("mouseleave.raty",function(d){b(this).attr("src",c.opt.path+c.opt.cancelOff);if(c.opt.mouseout){c.opt.mouseout.call(c,c.score.val()||null,d);}});},_bindOverCancel:function(){var c=this;c.cancel.on("mouseover.raty",function(d){b(this).attr("src",c.opt.path+c.opt.cancelOn);c.stars.attr("src",c.opt.path+c.opt.starOff);a._target.call(c,null,d);if(c.opt.mouseover){c.opt.mouseover.call(c,null);}});},_bindOver:function(){var c=this,d=b(c),e=c.opt.half?"mousemove.raty":"mouseover.raty";c.stars.on(e,function(g){var h=parseInt(this.alt,10);if(c.opt.half){var f=parseFloat((g.pageX-b(this).offset().left)/c.opt.size),j=(f>0.5)?1:0.5;h=h-1+j;a._fill.call(c,h);if(c.opt.precision){h=h-j+f;}a._roundStars.call(c,h);d.data("score",h);}else{a._fill.call(c,h);}a._target.call(c,h,g);if(c.opt.mouseover){c.opt.mouseover.call(c,h,g);}});},_callback:function(c){for(i in c){if(typeof this.opt[c[i]]==="function"){this.opt[c[i]]=this.opt[c[i]].call(this);}}},_createCancel:function(){var e=b(this),c=this.opt.path+this.opt.cancelOff,d=b("<img />",{src:c,alt:"x",title:this.opt.cancelHint,"class":"raty-cancel"});if(this.opt.cancelPlace=="left"){e.prepend("&#160;").prepend(d);}else{e.append("&#160;").append(d);}return d;},_createScore:function(){return b("<input />",{type:"hidden",name:this.opt.scoreName}).appendTo(this);},_createStars:function(){var e=b(this);for(var c=1;c<=this.opt.number;c++){var f=a._getHint.call(this,c),d=(this.opt.score&&this.opt.score>=c)?"starOn":"starOff";d=this.opt.path+this.opt[d];b("<img />",{src:d,alt:c,title:f}).appendTo(this);if(this.opt.space){e.append((c<this.opt.number)?"&#160;":"");}}return e.children("img");},_error:function(c){b(this).html(c);b.error(c);},_fill:function(d){var m=this,e=0;for(var f=1;f<=m.stars.length;f++){var g=m.stars.eq(f-1),l=m.opt.single?(f==d):(f<=d);if(m.opt.iconRange&&m.opt.iconRange.length>e){var j=m.opt.iconRange[e],h=j.on||m.opt.starOn,c=j.off||m.opt.starOff,k=l?h:c;if(f<=j.range){g.attr("src",m.opt.path+k);}if(f==j.range){e++;}}else{var k=l?"starOn":"starOff";g.attr("src",this.opt.path+this.opt[k]);}}},_getHint:function(d){var c=this.opt.hints[d-1];return(c==="")?"":(c||d);},_lock:function(){var d=parseInt(this.score.val(),10),c=d?a._getHint.call(this,d):this.opt.noRatedMsg;b(this).data("readonly",true).css("cursor","").attr("title",c);this.score.attr("readonly","readonly");this.stars.attr("title",c);if(this.cancel){this.cancel.hide();}},_roundStars:function(e){var d=(e-Math.floor(e)).toFixed(2);if(d>this.opt.round.down){var c="starOn";if(this.opt.halfShow&&d<this.opt.round.up){c="starHalf";}else{if(d<this.opt.round.full){c="starOff";}}this.stars.eq(Math.ceil(e)-1).attr("src",this.opt.path+this.opt[c]);}},_target:function(f,d){if(this.opt.target){var e=b(this.opt.target);if(e.length===0){a._error.call(this,"Target selector invalid or missing!");}if(this.opt.targetFormat.indexOf("{score}")<0){a._error.call(this,'Template "{score}" missing!');}var c=d&&d.type=="mouseover";if(f===undefined){f=this.opt.targetText;}else{if(f===null){f=c?this.opt.cancelHint:this.opt.targetText;}else{if(this.opt.targetType=="hint"){f=a._getHint.call(this,Math.ceil(f));}else{if(this.opt.precision){f=parseFloat(f).toFixed(1);}}if(!c&&!this.opt.targetKeep){f=this.opt.targetText;}}}if(f){f=this.opt.targetFormat.toString().replace("{score}",f);}if(e.is(":input")){e.val(f);}else{e.html(f);}}},_unlock:function(){b(this).data("readonly",false).css("cursor","pointer").removeAttr("title");this.score.removeAttr("readonly","readonly");for(var c=0;c<this.opt.number;c++){this.stars.eq(c).attr("title",a._getHint.call(this,c+1));}if(this.cancel){this.cancel.css("display","");}},cancel:function(c){return this.each(function(){if(b(this).data("readonly")!==true){a[c?"click":"score"].call(this,null);this.score.removeAttr("value");}});},click:function(c){return b(this).each(function(){if(b(this).data("readonly")!==true){a._apply.call(this,c);if(!this.opt.click){a._error.call(this,'You must add the "click: function(score, evt) { }" callback.');}this.opt.click.call(this,c,{type:"click"});a._target.call(this,c);}});},destroy:function(){return b(this).each(function(){var d=b(this),c=d.data("raw");if(c){d.off(".raty").empty().css({cursor:c.style.cursor,width:c.style.width}).removeData("readonly");}else{d.data("raw",d.clone()[0]);}});},getScore:function(){var d=[],c;b(this).each(function(){c=this.score.val();d.push(c?parseFloat(c):undefined);});return(d.length>1)?d:d[0];},readOnly:function(c){return this.each(function(){var d=b(this);if(d.data("readonly")!==c){if(c){d.off(".raty").children("img").off(".raty");a._lock.call(this);}else{a._binds.call(this);a._unlock.call(this);}d.data("readonly",c);}});},reload:function(){return a.set.call(this,{});},score:function(){return arguments.length?a.setScore.apply(this,arguments):a.getScore.call(this);},set:function(c){return this.each(function(){var e=b(this),f=e.data("settings"),d=b.extend({},f,c);e.raty(d);});},setScore:function(c){return b(this).each(function(){if(b(this).data("readonly")!==true){a._apply.call(this,c);a._target.call(this,c);}});}};b.fn.raty=function(c){if(a[c]){return a[c].apply(this,Array.prototype.slice.call(arguments,1));}else{if(typeof c==="object"||!c){return a.init.apply(this,arguments);}else{b.error("Method "+c+" does not exist!");}}};b.fn.raty.defaults={cancel:false,cancelHint:"Cancel this rating!",cancelOff:"cancel-off.png",cancelOn:"cancel-on.png",cancelPlace:"left",click:undefined,half:false,halfShow:true,hints:["bad","poor","regular","good","gorgeous"],iconRange:undefined,mouseout:undefined,mouseover:undefined,noRatedMsg:"Not rated yet!",number:5,numberMax:20,path:"",precision:false,readOnly:false,round:{down:0.25,full:0.6,up:0.76},score:undefined,scoreName:"score",single:false,size:16,space:true,starHalf:"star-half.png",starOff:"star-off.png",starOn:"star-on.png",target:undefined,targetFormat:"{score}",targetKeep:false,targetText:"",targetType:"hint",width:undefined};})(jQuery);
... ...
src/main/resources/static/pages/forms/mould/shiftuehiclemanthlp.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/mould/shiftuehiclemanthspy.xls 0 → 100644
No preview for this file type
src/main/resources/static/pages/forms/statement/scheduleDaily.html
... ... @@ -401,7 +401,6 @@
401 401 $('#forms .scheduleDaily_1').html(scheduleDaily_1);
402 402 });
403 403 $.get('/realSchedule/queryUserInfo',{line:line,date:date,state:2,type:"query"},function(result){
404   - console.log(result);
405 404 var scheduleDaily_2 = template('scheduleDaily_2',{list:result});
406 405 $('#forms .scheduleDaily_2').html(scheduleDaily_2);
407 406 });
... ... @@ -541,9 +540,18 @@
541 540 <td>{{obj.fast}}</td>
542 541 <td>{{obj.slow}}</td>
543 542 <td>{{obj.fcsj}}</td>
544   - <td>{{obj.fcsjActual}}</td>
  543 + <td>{{obj.fcsjActual}}
  544 + {{if obj.bcType== "in"}}
  545 + (进)
  546 + {{/if}}
  547 + {{if obj.bcType== "out"}}
  548 + (出)
  549 + {{/if}}
  550 + </td>
545 551 <td>{{obj.fast0}}</td>
546   - <td>{{obj.slow0}}</td>
  552 + <td>{{obj.slow0}}
  553 +
  554 + </td>
547 555 <td colspan="2">{{obj.remarks}}</td>
548 556 {{if (i+1)%3 == 0}}
549 557 <td>&nbsp;</td>
... ...
src/main/resources/static/pages/forms/statement/statisticsDaily.html
... ... @@ -247,8 +247,15 @@
247 247 if(date==null || date =="" ||date2==null || date2 ==""){
248 248 layer.msg('请选择时间段.');
249 249 }else{
250   -
251   - $get('/realSchedule/statisticsDailyTj',{gsdm:gsdm,fgsdm:fgsdm,line:line,date:date,date2:date2,xlName:xlName,type:"query"},function(result){
  250 + var params = {};
  251 + params['gsdm'] = gsdm;
  252 + params['fgsdm'] =fgsdm ;
  253 + params['line'] = line;
  254 + params['date'] = date;
  255 + params['date2'] = date2;
  256 + params['xlName'] = xlName;
  257 + params['type'] = "query";
  258 + $get('/realSchedule/statisticsDailyTj',params,function(result){
252 259 // 把数据填充到模版中
253 260 var tbodyHtml = template('statisticsDaily',{list:result});
254 261 // 把渲染好的模版html文本追加到表格中
... ... @@ -264,7 +271,15 @@
264 271 });
265 272  
266 273 $("#export").on("click",function(){
267   - $get('/realSchedule/statisticsDailyTj',{gsdm:gsdm,fgsdm:fgsdm,line:line,date:date,date2:date2,xlName:xlName,type:"export"},function(result){
  274 + var params = {};
  275 + params['gsdm'] = gsdm;
  276 + params['fgsdm'] =fgsdm ;
  277 + params['line'] = line;
  278 + params['date'] = date;
  279 + params['date2'] = date2;
  280 + params['xlName'] = xlName;
  281 + params['type'] = "export";
  282 + $get('/realSchedule/statisticsDailyTj',params,function(result){
268 283 window.open("/downloadFile/download?fileName=统计日报"+moment(date).format("YYYYMMDD"));
269 284 });
270 285 });
... ...
src/main/resources/static/pages/forms/statement/waybill.html
... ... @@ -307,7 +307,7 @@
307 307 param[index][i] = $(this).text().split("\\")[0];
308 308 });
309 309 });
310   - $post('/realSchedule/exportWaybillMore',{date:date,line:line,strs:JSON.stringify(param)},function(result){
  310 + $get('/realSchedule/exportWaybillMore',{date:date,line:line,strs:JSON.stringify(param)},function(result){
311 311 window.open("/downloadFile/downloadList?fileName="+result.fileName);
312 312 });
313 313 });
... ... @@ -435,7 +435,7 @@
435 435 <td>{{obj.fast}}</td>
436 436 <td>{{obj.slow}}</td>
437 437 <td>
438   - {{if obj.fcsjActual !=null || obj.zdsjActual!=null}}
  438 + {{if obj.zdsjActual!=null}}
439 439 {{obj.jhlc}}
440 440 {{/if}}
441 441 </td>
... ...
src/main/resources/static/pages/mforms/shifdays/shifday.html
... ... @@ -27,7 +27,7 @@
27 27 <div class="col-md-12">
28 28 <div class="portlet light porttlet-fit bordered">
29 29 <div class="portlet-title">
30   - <form class="form-inline" action="" method="post">
  30 + <form class="form-inline" action="" method="get">
31 31 <div style="display: inline-block; margin-left: 33px;" id="gsdmDiv_shif">
32 32 <span class="item-label" style="width: 80px;">公司: </span>
33 33 <select class="form-control" name="company" id="gsdmShif" style="width: 140px;"></select>
... ... @@ -104,8 +104,12 @@ $(function(){
104 104 format : 'YYYY-MM-DD',
105 105 locale : 'zh-cn'
106 106 });
107   -
  107 + var fage=false;
108 108 var obj = [];
  109 + var xlList;
  110 +
  111 + $.get('/report/lineList',function(result){
  112 + xlList=result;
109 113 $.get('/user/companyData', function(result){
110 114 obj = result;
111 115 var options = '';
... ... @@ -124,7 +128,7 @@ $(function(){
124 128 $('#gsdmShif').html(options);
125 129 updateCompany();
126 130 });
127   -
  131 + })
128 132 $("#gsdmShif").on("change",updateCompany);
129 133 function updateCompany(){
130 134 var company = $('#gsdmShif').val();
... ... @@ -138,28 +142,60 @@ $(function(){
138 142 }
139 143 }
140 144 $('#fgsdmShif').html(options);
  145 + initXl();
141 146 }
142 147  
143 148  
144   - $.get('/basic/lineCode2Name',function(result){
145   - var data=[];
  149 +// $.get('/basic/lineCode2Name',function(result){
  150 +// var data=[];
  151 +
  152 +// for(var code in result){
  153 +// data.push({id: code, text: result[code]});
  154 +// }
  155 +// initPinYinSelect2('#line',data,'');
146 156  
147   - for(var code in result){
148   - data.push({id: code, text: result[code]});
  157 +// })
  158 +
  159 + $("#fgsdmShif").on("change",initXl);
  160 + function initXl(){
  161 + var data=[];
  162 + if(fage){
  163 + $("#line").select2("destroy").html('');
  164 + }
  165 + var fgs=$('#fgsdmShif').val();
  166 + var gs=$('#gsdmShif').val();
  167 + for(var i=0;i<xlList.length;i++){
  168 + if(gs!=""){
  169 + if(fgs!=""){
  170 + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
  171 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  172 + }
  173 + }else{
  174 + if(xlList[i]["gsbm"]==gs){
  175 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  176 + }
  177 + }
  178 + }
149 179 }
150 180 initPinYinSelect2('#line',data,'');
151   -
152   - })
  181 + fage=true;
  182 + }
  183 +
153 184  
154 185 $("#query").on("click",function(){
155 186 var line = $("#line").val();
156 187 var date = $("#date").val();
157 188 var gsdmShif = $("#gsdmShif").val();
158 189 var fgsdmShif = $("#fgsdmShif").val();
  190 + var params = {};
  191 + params.fgsdmShif =fgsdmShif;
  192 + params.date =date;
  193 + params.gsdmShif =gsdmShif;
  194 + params.line =line;
159 195 if(date=="" || date ==null){
160 196 layer.msg('请选择日期.');
161 197 }else{
162   - $post('/mcy_forms/shifday',{gsdmShif:gsdmShif,fgsdmShif:fgsdmShif, line:line,date:date},function(result){
  198 + $get('/mcy_forms/shifday',params,function(result){
163 199 $.each(result, function(i, obj) {
164 200 obj.requestType = reqCodeMap[obj.requestType];
165 201 });
... ... @@ -175,8 +211,14 @@ $(function(){
175 211 var line = $("#line").val();
176 212 var date = $("#date").val();
177 213 var gsdmShif = $("#gsdmShif").val();
178   - var fgsdmShif = $("#fgsdmShif").val();
179   - $post('/mcy_export/shifdayExport',{gsdmShif:gsdmShif,fgsdmShif:fgsdmShif,line:line,date:date,type:'export'},function(result){
  214 + var fgsdmShif = $("#fgsdmShif").val();
  215 + var params = {};
  216 + params.fgsdmShif =fgsdmShif;
  217 + params.date =date;
  218 + params.gsdmShif =gsdmShif;
  219 + params.line =line;
  220 + params.type='export';
  221 + $get('/mcy_export/shifdayExport',params,function(result){
180 222 window.open("/downloadFile/download?fileName=班次车辆人员日报表"+moment(date).format("YYYYMMDD"));
181 223 });
182 224 });
... ...
src/main/resources/static/pages/mforms/shiftuehiclemanths/shiftuehiclemanth.html
... ... @@ -53,6 +53,11 @@
53 53 </div>
54 54 <div style="display: inline-block;margin-left: 15px">
55 55 <span class="item-label" style="width: 150px;">统计: </span>
  56 + <select class="form-control" style="width: 136px;" id='empnames'>
  57 + <option value="驾驶员">驾驶员</option>
  58 + <option value="售票员">售票员</option>
  59 + <option value="路牌">路牌</option>
  60 + </select>
56 61 </div>
57 62 <div class="form-group">
58 63 <input class="btn btn-default" type="button" id="query" value="筛选"/>
... ... @@ -66,7 +71,7 @@
66 71 <thead>
67 72 <tr>
68 73 <th>序号</th>
69   - <th>驾驶员</th>
  74 + <th id='empname'>驾驶员</th>
70 75 <th>运营里程</th>
71 76 <th>空驶里程</th>
72 77 <th>抽减里程</th>
... ... @@ -97,8 +102,11 @@
97 102 format : 'YYYY-MM-DD',
98 103 locale : 'zh-cn'
99 104 });
100   -
  105 + var fage=false;
101 106 var obj = [];
  107 + var xlList;
  108 + $.get('/report/lineList',function(result){
  109 + xlList=result;
102 110 $.get('/user/companyData', function(result){
103 111 obj = result;
104 112 var options = '';
... ... @@ -117,7 +125,7 @@
117 125 $('#gsdmManth').html(options);
118 126 updateCompany();
119 127 });
120   -
  128 + })
121 129 $("#gsdmManth").on("change",updateCompany);
122 130 function updateCompany(){
123 131 var company = $('#gsdmManth').val();
... ... @@ -131,64 +139,43 @@
131 139 }
132 140 }
133 141 $('#fgsdmManth').html(options);
  142 + initXl();
134 143 }
135   -
136   -
137   - $.get('/basic/lineCode2Name',function(result){
  144 + $("#fgsdmManth").on("change",initXl);
  145 + function initXl(){
138 146 var data=[];
139   -
140   - for(var code in result){
141   - data.push({id: code, text: result[code]});
  147 + if(fage){
  148 + $("#line").select2("destroy").html('');
  149 + }
  150 + var fgs=$('#fgsdmManth').val();
  151 + var gs=$('#gsdmManth').val();
  152 + for(var i=0;i<xlList.length;i++){
  153 + if(gs!=""){
  154 + if(fgs!=""){
  155 + if(xlList[i]["fgsbm"]==fgs && xlList[i]["gsbm"]==gs){
  156 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  157 + }
  158 + }else{
  159 + if(xlList[i]["gsbm"]==gs){
  160 + data.push({id: xlList[i]["xlbm"], text: xlList[i]["xlname"]});
  161 + }
  162 + }
  163 + }
142 164 }
143 165 initPinYinSelect2('#line',data,'');
144   -
145   - })
146   - $('#lpName').select2({
147   - ajax: {
148   - url: '/realSchedule/findLpName',
149   - type: 'post',
150   - dataType: 'json',
151   - delay: 150,
152   - data: function(params){
153   - return{lpName: params.term};
154   - },
155   - processResults: function (data) {
156   - return {
157   - results: data
158   - };
159   - },
160   - cache: true
161   - },
162   - templateResult: function(repo){
163   - if (repo.loading) return repo.text;
164   - var h = '<span>'+repo.text+'</span>';
165   - return h;
166   - },
167   - escapeMarkup: function (markup) { return markup; },
168   - minimumInputLength: 1,
169   - templateSelection: function(repo){
170   - return repo.text;
171   - },
172   - language: {
173   - noResults: function(){
174   - return '<span style="color:red;font-size: 12px;">没有搜索到路牌!</span>';
175   - },
176   - inputTooShort : function(e) {
177   - return '<span style="color:gray;font-size: 12px;"><i class="fa fa-search"></i> 输入路牌搜索路牌</span>';
178   - },
179   - searching : function() {
180   - return '<span style="color:gray;font-size: 12px;"> 正在搜索路牌...</span>';
181   - }
182   - }
183   - });
  166 + fage=true;
  167 + }
184 168 $("#query").on("click",function(){
185   - var line = $("#line").val();
186   - var startDate = $("#startDate").val();
187   - var endDate = $("#endDate").val();
188   - var lpName = $("#lpName").val();
189   - var gsdmManth= $("#gsdmManth").val();
190   - var fgsdmManth= $("#fgsdmManth").val();
191   - $post("/mcy_forms/shiftuehiclemanth",{gsdmManth:gsdmManth,fgsdmManth:fgsdmManth, line:line,startDate:startDate,endDate:endDate ,lpName:lpName},function(result){
  169 + $("#empname").html($("#empnames").val())
  170 + var params={};
  171 + params.empnames=$("#empnames").val();
  172 + params.line = $("#line").val();
  173 + params.startDate = $("#startDate").val();
  174 + params.endDate = $("#endDate").val();
  175 + params.lpName = $("#lpName").val();
  176 + params.gsdmManth= $("#gsdmManth").val();
  177 + params.fgsdmManth= $("#fgsdmManth").val();
  178 + $get("/mcy_forms/shiftuehiclemanth",params,function(result){
192 179 $("#sDate").text(startDate);
193 180 $("#eDate").text(endDate);
194 181 var temp = {};
... ... @@ -209,18 +196,28 @@
209 196 });
210 197  
211 198 $("#export").on("click",function(){
212   - var line = $("#line").val();
213   - var startDate = $("#startDate").val();
214   - var endDate = $("#endDate").val();
215   - var lpName = $("#lpName").val();
216   - var gsdmManth= $("#gsdmManth").val();
217   - var fgsdmManth= $("#fgsdmManth").val();
218   - $post('/mcy_export/shiftuehiclemanthExport',{gsdmManth:gsdmManth,fgsdmManth:fgsdmManth,line:line,startDate:startDate,endDate:endDate,type:'export'},function(result){
219   - window.open("/downloadFile/download?fileName=班次车辆人员月报表"+moment(startDate).format("YYYYMMDD"));
  199 + var params={};
  200 + params.empnames=$("#empnames").val();
  201 + params.line = $("#line").val();
  202 + params.startDate = $("#startDate").val();
  203 + params.endDate = $("#endDate").val();
  204 + params.lpName = $("#lpName").val();
  205 + params.gsdmManth= $("#gsdmManth").val();
  206 + params.fgsdmManth= $("#fgsdmManth").val();
  207 + params.type='export';
  208 + $get('/mcy_export/shiftuehiclemanthExport',params,function(result){
  209 + window.open("/downloadFile/download?fileName=班次车辆人员月报表"+moment($("#startDate").val()).format("YYYYMMDD"));
220 210 });
221 211 });
222 212  
223   - });
  213 + });
  214 +
  215 +// $("#empnames").change(function(){
  216 +// $("#empname").html($("#empnames").val())
  217 +// // $("#query").click();
  218 +
  219 +// });
  220 +
224 221 </script>
225 222 <script type="text/html" id="list_shiftuehiclemanth">
226 223 {{each list as obj i}}
... ...
src/main/resources/static/real_control_v2/assets/plugins/uikit-2.27.1/components/lightbox.min.js
1   -/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
  1 +/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2 2 !function(i){var t;window.UIkit&&(t=i(UIkit)),"function"==typeof define&&define.amd&&define("uikit-lightbox",["uikit"],function(){return t||i(UIkit)})}(function(i){"use strict";function t(t){if(e)return e.lightbox=t,e;e=i.$(['<div class="uk-modal">','<div class="uk-modal-dialog uk-modal-dialog-lightbox uk-slidenav-position" style="margin-left:auto;margin-right:auto;width:200px;height:200px;top:'+Math.abs(window.innerHeight/2-200)+'px;">','<a href="#" class="uk-modal-close uk-close uk-close-alt"></a>','<div class="uk-lightbox-content"></div>','<div class="uk-modal-spinner uk-hidden"></div>',"</div>","</div>"].join("")).appendTo("body"),e.dialog=e.find(".uk-modal-dialog:first"),e.content=e.find(".uk-lightbox-content:first"),e.loader=e.find(".uk-modal-spinner:first"),e.closer=e.find(".uk-close.uk-close-alt"),e.modal=i.modal(e,{modal:!1}),e.on("swipeRight swipeLeft",function(i){e.lightbox["swipeLeft"==i.type?"next":"previous"]()}).on("click","[data-lightbox-previous], [data-lightbox-next]",function(t){t.preventDefault(),e.lightbox[i.$(this).is("[data-lightbox-next]")?"next":"previous"]()}),e.on("hide.uk.modal",function(){e.content.html("")});var o={w:window.innerWidth,h:window.innerHeight};return i.$win.on("load resize orientationchange",i.Utils.debounce(function(){o.w!==window.innerWidth&&e.is(":visible")&&!i.Utils.isFullscreen()&&e.lightbox.fitSize(),o={w:window.innerWidth,h:window.innerHeight}},100)),e.lightbox=t,e}var e,o={};return i.component("lightbox",{defaults:{allowfullscreen:!0,duration:400,group:!1,keyboard:!0},index:0,items:!1,boot:function(){i.$html.on("click","[data-uk-lightbox]",function(t){t.preventDefault();var e=i.$(this);e.data("lightbox")||i.lightbox(e,i.Utils.options(e.attr("data-uk-lightbox"))),e.data("lightbox").show(e)}),i.$doc.on("keyup",function(i){if(e&&e.is(":visible")&&e.lightbox.options.keyboard)switch(i.preventDefault(),i.keyCode){case 37:e.lightbox.previous();break;case 39:e.lightbox.next()}})},init:function(){var t=[];if(this.index=0,this.siblings=[],this.element&&this.element.length){var e=this.options.group?i.$(['[data-uk-lightbox*="'+this.options.group+'"]',"[data-uk-lightbox*='"+this.options.group+"']"].join(",")):this.element;e.each(function(){var e=i.$(this);t.push({source:e.attr("href"),title:e.attr("data-title")||e.attr("title"),type:e.attr("data-lightbox-type")||"auto",link:e})}),this.index=e.index(this.element),this.siblings=t}else this.options.group&&this.options.group.length&&(this.siblings=this.options.group);this.trigger("lightbox-init",[this])},show:function(e){this.modal=t(this),this.modal.dialog.stop(),this.modal.content.stop();var o,n,s=this,h=i.$.Deferred();e=e||0,"object"==typeof e&&this.siblings.forEach(function(i,t){e[0]===i.link[0]&&(e=t)}),0>e?e=this.siblings.length-e:this.siblings[e]||(e=0),n=this.siblings[e],o={lightbox:s,source:n.source,type:n.type,index:e,promise:h,title:n.title,item:n,meta:{content:"",width:null,height:null}},this.index=e,this.modal.content.empty(),this.modal.is(":visible")||(this.modal.content.css({width:"",height:""}).empty(),this.modal.modal.show()),this.modal.loader.removeClass("uk-hidden"),h.promise().done(function(){s.data=o,s.fitSize(o)}).fail(function(){o.meta.content='<div class="uk-position-cover uk-flex uk-flex-middle uk-flex-center"><strong>Loading resource failed!</strong></div>',o.meta.width=400,o.meta.height=300,s.data=o,s.fitSize(o)}),s.trigger("showitem.uk.lightbox",[o])},fitSize:function(){var t=this,e=this.data,o=this.modal.dialog.outerWidth()-this.modal.dialog.width(),n=parseInt(this.modal.dialog.css("margin-top"),10),s=parseInt(this.modal.dialog.css("margin-bottom"),10),h=n+s,a=e.meta.content,l=t.options.duration;this.siblings.length>1&&(a=[a,'<a href="#" class="uk-slidenav uk-slidenav-contrast uk-slidenav-previous uk-hidden-touch" data-lightbox-previous></a>','<a href="#" class="uk-slidenav uk-slidenav-contrast uk-slidenav-next uk-hidden-touch" data-lightbox-next></a>'].join(""));var d,r,u=i.$("<div>&nbsp;</div>").css({opacity:0,position:"absolute",top:0,left:0,width:"100%","max-width":t.modal.dialog.css("max-width"),padding:t.modal.dialog.css("padding"),margin:t.modal.dialog.css("margin")}),c=e.meta.width,g=e.meta.height;u.appendTo("body").width(),d=u.width(),r=window.innerHeight-h,u.remove(),this.modal.dialog.find(".uk-modal-caption").remove(),e.title&&(this.modal.dialog.append('<div class="uk-modal-caption">'+e.title+"</div>"),r-=this.modal.dialog.find(".uk-modal-caption").outerHeight()),d<e.meta.width&&(g=Math.floor(g*(d/c)),c=d),g>r&&(g=Math.floor(r),c=Math.ceil(e.meta.width*(r/e.meta.height))),this.modal.content.css("opacity",0).width(c).html(a),"iframe"==e.type&&this.modal.content.find("iframe:first").height(g);var m=g+o,p=Math.floor(window.innerHeight/2-m/2)-h;0>p&&(p=0),this.modal.closer.addClass("uk-hidden"),t.modal.data("mwidth")==c&&t.modal.data("mheight")==g&&(l=0),this.modal.dialog.animate({width:c+o,height:g+o,top:p},l,"swing",function(){t.modal.loader.addClass("uk-hidden"),t.modal.content.css({width:""}).animate({opacity:1},function(){t.modal.closer.removeClass("uk-hidden")}),t.modal.data({mwidth:c,mheight:g})})},next:function(){this.show(this.siblings[this.index+1]?this.index+1:0)},previous:function(){this.show(this.siblings[this.index-1]?this.index-1:this.siblings.length-1)}}),i.plugin("lightbox","image",{init:function(i){i.on("showitem.uk.lightbox",function(i,t){if("image"==t.type||t.source&&t.source.match(/\.(jpg|jpeg|png|gif|svg)$/i)){var e=function(i,e,o){t.meta={content:'<img class="uk-responsive-width" width="'+e+'" height="'+o+'" src ="'+i+'">',width:e,height:o},t.type="image",t.promise.resolve()};if(o[t.source])e(t.source,o[t.source].width,o[t.source].height);else{var n=new Image;n.onerror=function(){t.promise.reject("Loading image failed")},n.onload=function(){o[t.source]={width:n.width,height:n.height},e(t.source,o[t.source].width,o[t.source].height)},n.src=t.source}}})}}),i.plugin("lightbox","youtube",{init:function(i){var t=/(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,n=/youtu\.be\/(.*)/;i.on("showitem.uk.lightbox",function(i,s){var h,a,l=function(i,t,o){s.meta={content:'<iframe src="//www.youtube.com/embed/'+i+'" width="'+t+'" height="'+o+'" style="max-width:100%;"'+(e.lightbox.options.allowfullscreen?" allowfullscreen":"")+"></iframe>",width:t,height:o},s.type="iframe",s.promise.resolve()};if((a=s.source.match(t))&&(h=a[2]),(a=s.source.match(n))&&(h=a[1]),h){if(o[h])l(h,o[h].width,o[h].height);else{var d=new Image,r=!1;d.onerror=function(){o[h]={width:640,height:320},l(h,o[h].width,o[h].height)},d.onload=function(){120==d.width&&90==d.height?r?(o[h]={width:640,height:320},l(h,o[h].width,o[h].height)):(r=!0,d.src="//img.youtube.com/vi/"+h+"/0.jpg"):(o[h]={width:d.width,height:d.height},l(h,d.width,d.height))},d.src="//img.youtube.com/vi/"+h+"/maxresdefault.jpg"}i.stopImmediatePropagation()}})}}),i.plugin("lightbox","vimeo",{init:function(t){var n,s=/(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/;t.on("showitem.uk.lightbox",function(t,h){var a,l=function(i,t,o){h.meta={content:'<iframe src="//player.vimeo.com/video/'+i+'" width="'+t+'" height="'+o+'" style="width:100%;box-sizing:border-box;"'+(e.lightbox.options.allowfullscreen?" allowfullscreen":"")+"></iframe>",width:t,height:o},h.type="iframe",h.promise.resolve()};(n=h.source.match(s))&&(a=n[2],o[a]?l(a,o[a].width,o[a].height):i.$.ajax({type:"GET",url:"//vimeo.com/api/oembed.json?url="+encodeURI(h.source),jsonp:"callback",dataType:"jsonp",success:function(i){o[a]={width:i.width,height:i.height},l(a,o[a].width,o[a].height)}}),t.stopImmediatePropagation())})}}),i.plugin("lightbox","video",{init:function(t){t.on("showitem.uk.lightbox",function(t,e){var n=function(i,t,o){e.meta={content:'<video class="uk-responsive-width" src="'+i+'" width="'+t+'" height="'+o+'" controls></video>',width:t,height:o},e.type="video",e.promise.resolve()};if("video"==e.type||e.source.match(/\.(mp4|webm|ogv)$/i))if(o[e.source])n(e.source,o[e.source].width,o[e.source].height);else var s=i.$('<video style="position:fixed;visibility:hidden;top:-10000px;"></video>').attr("src",e.source).appendTo("body"),h=setInterval(function(){s[0].videoWidth&&(clearInterval(h),o[e.source]={width:s[0].videoWidth,height:s[0].videoHeight},n(e.source,o[e.source].width,o[e.source].height),s.remove())},20)})}}),UIkit.plugin("lightbox","iframe",{init:function(i){i.on("showitem.uk.lightbox",function(t,o){var n=function(i,t,n){o.meta={content:'<iframe class="uk-responsive-width" src="'+i+'" width="'+t+'" height="'+n+'"'+(e.lightbox.options.allowfullscreen?" allowfullscreen":"")+"></iframe>",width:t,height:n},o.type="iframe",o.promise.resolve()};("iframe"===o.type||o.source.match(/\.(html|php)$/))&&n(o.source,i.options.width||800,i.options.height||600)})}}),i.lightbox.create=function(t,e){if(t){var o,n=[];return t.forEach(function(t){n.push(i.$.extend({source:"",title:"",type:"auto",link:!1},"string"==typeof t?{source:t}:t))}),o=i.lightbox(i.$.extend({},e,{group:n}))}},i.lightbox});
3 3 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css
1   -/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
  1 +/*! UIkit 2.27.1 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
2 2 .uk-slidenav{display:inline-block;box-sizing:border-box;width:60px;height:60px;line-height:60px;color:rgba(50,50,50,.4);font-size:60px;text-align:center}.uk-slidenav:focus,.uk-slidenav:hover{outline:0;text-decoration:none;color:rgba(50,50,50,.7);cursor:pointer}.uk-slidenav:active{color:rgba(50,50,50,.9)}.uk-slidenav-previous:before{content:"\f104";font-family:FontAwesome}.uk-slidenav-next:before{content:"\f105";font-family:FontAwesome}.uk-slidenav-position{position:relative}.uk-slidenav-position .uk-slidenav{display:none;position:absolute;top:50%;z-index:1;margin-top:-30px}.uk-slidenav-position:hover .uk-slidenav{display:block}.uk-slidenav-position .uk-slidenav-previous{left:20px}.uk-slidenav-position .uk-slidenav-next{right:20px}.uk-slidenav-contrast{color:rgba(255,255,255,.5)}.uk-slidenav-contrast:focus,.uk-slidenav-contrast:hover{color:rgba(255,255,255,.7)}.uk-slidenav-contrast:active{color:rgba(255,255,255,.9)}
3 3 \ No newline at end of file
... ...
src/main/resources/static/real_control_v2/css/north.css
... ... @@ -291,7 +291,7 @@
291 291 }
292 292  
293 293 .uk-form-icon i{
294   - z-index: 999 !important;
  294 + z-index: 98 !important;
295 295 }
296 296  
297 297 .uk-form-icon .uk-autocomplete input{
... ...
src/main/resources/static/real_control_v2/fragments/line_schedule/context_menu/lj_zrw.html
... ... @@ -424,7 +424,7 @@
424 424 name: '加油'
425 425 },
426 426 'add_sub_task_in': {
427   - name: '场'
  427 + name: '场'
428 428 },
429 429 'add_sub_task_out': {
430 430 name: '出场'
... ...
src/main/resources/static/real_control_v2/fragments/north/nav/safeDriving.html
1   -<div class="uk-modal ct_move_modal" id="safe_dring_list-modal" style="z-index: 99;">
2   - <div class="uk-modal-dialog" style="width: 1100px;">
3   - <a href="" class="uk-modal-close uk-close"></a>
4   - <div class="uk-modal-header">
5   - <h2>安全驾驶图像信息(当日)</h2></div>
6   -
7   - <div class="uk-panel uk-panel-box uk-panel-box-primary">
8   - <form class="uk-form search-form">
9   - <fieldset data-uk-margin>
10   - <legend>
11   - 数据检索
12   - </legend>
13   - <span class="horizontal-field">车辆</span>
14   - <div class="uk-autocomplete uk-form autocomplete-cars" >
15   - <input type="text" name="clzbh" placeholder="车辆自编号">
16   - </div>
17   - <span class="horizontal-field">异常类型</span>
18   - <select name="yczltype">
19   - <option value="">全部</option>
20   - <option value="A1">手部离开方向盘</option>
21   - <option value="A2">摄像头异常</option>
22   - <option value="A3">未戴安全带</option>
23   - <option value="A4">未戴袖章</option>
24   - <option value="A5">眨眼/疲劳驾驶</option>
25   - <option value="A6">打哈欠/打瞌睡</option>
26   - <option value="A7">行驶中与人交谈</option>
27   - </select>
28   - <button class="uk-button">检索</button>
29   - </fieldset>
30   - </form>
31   - </div>
32   - <div style="height: 495px;margin:5px 0 -18px;">
33   - <table class="ct-fixed-table uk-table uk-table-hover">
34   - <thead>
35   - <tr>
36   - <th style="width: 12%;">线路</th>
37   - <th style="width: 13%;">车辆自编号</th>
38   - <th style="width: 13%;">设备</th>
39   - <th style="width: 13%;">异常类型</th>
40   - <th style="width: 17%;">时间</th>
41   - <th style="width: 11%;">检查属性</th>
42   - <th style="width: 11%;">图像</th>
43   - <th>视频</th>
44   - </tr>
45   - </thead>
46   - <tbody data-uk-observe>
47   - </tbody>
48   - </table>
49   - </div>
50   -
51   - <div class="uk-modal-footer uk-text-right pagination-wrap">
52   - </div>
53   - </div>
54   -
55   - <script id="all-safe_dring-table-temp" type="text/html">
56   - {{each array as sd i}}
57   - <tr>
58   - <td style="width: 14%;">{{sd.xlmc}}</td>
59   - <td style="width: 14%;">{{sd.clzbh}}</td>
60   - <td style="width: 13%;">{{sd.sbbh}}</td>
61   - <td style="width: 13%;">{{sd.yczlText}}</td>
62   - <td style="width: 10%;">{{sd.timeStr}}</td>
63   - <td style="width: 10%;">
64   - {{if sd.yczltype=='A1'}}
65   - {{if sd.jctype==0}}
66   - 双脱手
67   - {{else if sd.jctype==1}}
68   - 单脱手
69   - {{/if}}
70   - {{/if}}
71   - </td>
72   - <td style="width: 10%;">
73   - <a class="image_link" href="{{sd.url}}.jpg" data-uk-lightbox="{group:'jpg_group1'}" title="{{sd.title}}">JPG</a>
74   - </td>
75   - <td>
76   - <a class="image_link" href="{{sd.url}}.gif" data-uk-lightbox="{group:'gif_group2'}" title="{{sd.title}}">查看视频</a>
77   - </td>
78   - </tr>
79   - {{/each}}
80   - </script>
81   -
82   - <script>
83   - (function() {
84   - var modal = '#safe_dring_list-modal';
85   - var form = $('.search-form', modal);
86   - var page = 0;
87   - var pageSize = 12;
88   -
89   - $(modal).on('init', function(e, data) {
90   - e.stopPropagation();
91   -
92   - query();
93   - });
94   -
95   - //sumit event
96   - form.on('submit', function(e) {
97   - e.preventDefault();
98   - resetPagination = true;
99   - page=0;
100   - query();
101   - });
102   -
103   - var query = function() {
104   - scanFlag = false;
105   - var data = form.serializeJSON();
106   - data.page = page;
107   - data.size = pageSize;
108   -
109   - gb_common.$get('/gps/safeDriv', data, function (rs) {
110   - //数据转换
111   - var code2Name=gb_data_basic.lineCode2NameAll(), url,stm, p;
112   - $.each(rs.list, function(){
113   - if(this.xlbm)
114   - this.xlmc=code2Name[this.xlbm];
115   - else
116   - this.xlmc='';
117   - stm = moment(this.ts);
118   - this.timeStr = stm.format('YYYY-MM-DD HH:mm:ss');
119   - this.yczlText= gb_safe_driv.safeCode[this.yczltype];
120   - //拼接图片地址
121   - p = (this.sbbh+'_'+this.yczltype+'_'+stm.format('YYYYMMDDHHmmss'));
122   - url = stm.format('YYYYMMDD')+'/'+p+'/'+p;
123   - this.url = gb_safe_driv.urlPath + url;
124   - //title
125   - this.title = this.clzbh+' '+stm.format('HH时mm分ss秒')+' '+this.yczlText;
126   - });
127   -
128   - var bodyHtml = template('all-safe_dring-table-temp', {
129   - array: rs.list
130   - });
131   - $('table tbody', modal).html(bodyHtml);
132   - if (resetPagination)
133   - pagination(rs.totalPages + 1, rs.page);
134   -
135   - //扫描图片是否存在
136   - scanFlag = true;
137   - scanImgIsExist();
138   - });
139   - };
140   -
141   - var scanFlag;
142   - var scanImgIsExist = function () {
143   - var array = $('table tbody a.image_link', modal);
144   - var i = 0;
145   - //匿名函数递归
146   - (function () {
147   - //计数
148   - if(i >= array.length || !scanFlag){
149   - console.log('扫描图片结束');
150   - return;
151   - }
152   - var f = arguments.callee;
153   - var $a = $(array[i]);
154   - i ++;
155   - var img = new Image();
156   - img.onerror = function(){
157   - $a.removeAttr('href').removeAttr('data-uk-lightbox').text('无').css('color', '#b8b8b8');
158   - f();
159   - };
160   - img.onload = function(){
161   - f();
162   - };
163   - img.src=$a.attr('href');
164   - })();
165   - };
166   -
167   - var resetPagination = true;
168   - var pagination = function(pages, currentPage) {
169   - var wrap = $('.pagination-wrap', modal).empty()
170   - ,e = $('<ul class="uk-pagination"></ul>').appendTo(wrap);
171   -
172   - var pagination = UIkit.pagination(e, {
173   - pages: pages,
174   - currentPage: currentPage
175   - });
176   -
177   - e.on('select.uk.pagination', function(e, pageIndex){
178   - page = pageIndex;
179   - query();
180   - });
181   -
182   - resetPagination = false;
183   - };
184   - })();
185   - </script>
186   -</div>
  1 +<div class="uk-modal ct_move_modal" id="safe_dring_list-modal" style="z-index: 99;">
  2 + <div class="uk-modal-dialog" style="width: 1100px;">
  3 + <a href="" class="uk-modal-close uk-close"></a>
  4 + <div class="uk-modal-header">
  5 + <h2>安全驾驶图像信息(当日)</h2></div>
  6 +
  7 + <div class="uk-panel uk-panel-box uk-panel-box-primary">
  8 + <form class="uk-form search-form">
  9 + <fieldset data-uk-margin>
  10 + <legend>
  11 + 数据检索
  12 + </legend>
  13 + <span class="horizontal-field">车辆</span>
  14 + <div class="uk-autocomplete uk-form autocomplete-cars" >
  15 + <input type="text" name="clzbh" placeholder="车辆自编号">
  16 + </div>
  17 + <span class="horizontal-field">异常类型</span>
  18 + <select name="yczltype">
  19 + <option value="">全部</option>
  20 + <option value="A1">手部离开方向盘</option>
  21 + <option value="A2">摄像头异常</option>
  22 + <option value="A3">未戴安全带</option>
  23 + <option value="A4">未戴袖章</option>
  24 + <option value="A5">眨眼/疲劳驾驶</option>
  25 + <option value="A6">打哈欠/打瞌睡</option>
  26 + <option value="A7">行驶中与人交谈</option>
  27 + </select>
  28 + <button class="uk-button">检索</button>
  29 + </fieldset>
  30 + </form>
  31 + </div>
  32 + <div style="height: 495px;margin:5px 0 -18px;">
  33 + <table class="ct-fixed-table uk-table uk-table-hover">
  34 + <thead>
  35 + <tr>
  36 + <th style="width: 12%;">线路</th>
  37 + <th style="width: 13%;">车辆自编号</th>
  38 + <th style="width: 13%;">设备</th>
  39 + <th style="width: 13%;">异常类型</th>
  40 + <th style="width: 17%;">时间</th>
  41 + <th style="width: 11%;">检查属性</th>
  42 + <th style="width: 11%;">图像</th>
  43 + <th>视频</th>
  44 + </tr>
  45 + </thead>
  46 + <tbody data-uk-observe>
  47 + </tbody>
  48 + </table>
  49 + </div>
  50 +
  51 + <div class="uk-modal-footer uk-text-right pagination-wrap">
  52 + </div>
  53 + </div>
  54 +
  55 + <script id="all-safe_dring-table-temp" type="text/html">
  56 + {{each array as sd i}}
  57 + <tr>
  58 + <td style="width: 14%;">{{sd.xlmc}}</td>
  59 + <td style="width: 14%;">{{sd.clzbh}}</td>
  60 + <td style="width: 13%;">{{sd.sbbh}}</td>
  61 + <td style="width: 13%;">{{sd.yczlText}}</td>
  62 + <td style="width: 10%;">{{sd.timeStr}}</td>
  63 + <td style="width: 10%;">
  64 + {{if sd.yczltype=='A1'}}
  65 + {{if sd.jctype==0}}
  66 + 双脱手
  67 + {{else if sd.jctype==1}}
  68 + 单脱手
  69 + {{/if}}
  70 + {{/if}}
  71 + </td>
  72 + <td style="width: 10%;">
  73 + <a class="image_link" href="{{sd.url}}.jpg" data-uk-lightbox="{group:'jpg_group1'}" title="{{sd.title}}">JPG</a>
  74 + </td>
  75 + <td>
  76 + <a class="image_link" href="{{sd.url}}.gif" data-uk-lightbox="{group:'gif_group2'}" title="{{sd.title}}">查看视频</a>
  77 + </td>
  78 + </tr>
  79 + {{/each}}
  80 + </script>
  81 +
  82 + <script>
  83 + (function() {
  84 + var modal = '#safe_dring_list-modal';
  85 + var form = $('.search-form', modal);
  86 + var page = 0;
  87 + var pageSize = 12;
  88 +
  89 + $(modal).on('init', function(e, data) {
  90 + e.stopPropagation();
  91 +
  92 + query();
  93 + });
  94 +
  95 + //sumit event
  96 + form.on('submit', function(e) {
  97 + e.preventDefault();
  98 + resetPagination = true;
  99 + page=0;
  100 + query();
  101 + });
  102 +
  103 + var query = function() {
  104 + scanFlag = false;
  105 + var data = form.serializeJSON();
  106 + data.page = page;
  107 + data.size = pageSize;
  108 +
  109 + gb_common.$get('/gps/safeDriv', data, function (rs) {
  110 + //数据转换
  111 + var code2Name=gb_data_basic.lineCode2NameAll(), url,stm, p;
  112 + $.each(rs.list, function(){
  113 + if(this.xlbm)
  114 + this.xlmc=code2Name[this.xlbm];
  115 + else
  116 + this.xlmc='';
  117 + stm = moment(this.ts);
  118 + this.timeStr = stm.format('YYYY-MM-DD HH:mm:ss');
  119 + this.yczlText= gb_safe_driv.safeCode[this.yczltype];
  120 + //拼接图片地址
  121 + p = (this.sbbh+'_'+this.yczltype+'_'+stm.format('YYYYMMDDHHmmss'));
  122 + url = stm.format('YYYYMMDD')+'/'+p+'/'+p;
  123 + this.url = gb_safe_driv.urlPath + url;
  124 + //title
  125 + this.title = this.clzbh+' '+stm.format('HH时mm分ss秒')+' '+this.yczlText;
  126 + });
  127 +
  128 + var bodyHtml = template('all-safe_dring-table-temp', {
  129 + array: rs.list
  130 + });
  131 + $('table tbody', modal).html(bodyHtml);
  132 + if (resetPagination)
  133 + pagination(rs.totalPages + 1, rs.page);
  134 +
  135 + //扫描图片是否存在
  136 + scanFlag = true;
  137 + scanImgIsExist();
  138 + });
  139 + };
  140 +
  141 + var scanFlag;
  142 + var scanImgIsExist = function () {
  143 + var array = $('table tbody a.image_link', modal);
  144 + var i = 0;
  145 + //匿名函数递归
  146 + (function () {
  147 + //计数
  148 + if(i >= array.length || !scanFlag){
  149 + console.log('扫描图片结束');
  150 + return;
  151 + }
  152 + var f = arguments.callee;
  153 + var $a = $(array[i]);
  154 + i ++;
  155 + var img = new Image();
  156 + img.onerror = function(){
  157 + $a.removeAttr('href').removeAttr('data-uk-lightbox').text('无').css('color', '#b8b8b8');
  158 + f();
  159 + };
  160 + img.onload = function(){
  161 + f();
  162 + };
  163 + img.src=$a.attr('href');
  164 + })();
  165 + };
  166 +
  167 + var resetPagination = true;
  168 + var pagination = function(pages, currentPage) {
  169 + var wrap = $('.pagination-wrap', modal).empty()
  170 + ,e = $('<ul class="uk-pagination"></ul>').appendTo(wrap);
  171 +
  172 + var pagination = UIkit.pagination(e, {
  173 + pages: pages,
  174 + currentPage: currentPage
  175 + });
  176 +
  177 + e.on('select.uk.pagination', function(e, pageIndex){
  178 + page = pageIndex;
  179 + query();
  180 + });
  181 +
  182 + resetPagination = false;
  183 + };
  184 + })();
  185 + </script>
  186 +</div>
... ...
src/main/resources/static/real_control_v2/js/line_schedule/context_menu.js
... ... @@ -227,7 +227,7 @@ var gb_schedule_context_menu = (function () {
227 227 name: '(子任务)加油'
228 228 },
229 229 'add_sub_task_in': {
230   - name: '(子任务)场'
  230 + name: '(子任务)场'
231 231 },
232 232 'add_sub_task_out': {
233 233 name: '(子任务)出场'
... ...
src/main/resources/static/real_control_v2/main.html
... ... @@ -5,27 +5,27 @@
5 5 <meta charset="UTF-8">
6 6 <title>线路调度 v2.0</title>
7 7 <!-- uikit core style-->
8   - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css"/>
9   - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css"/>
10   - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css"/>
  8 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" merge="uikit"/>
  9 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="uikit"/>
  10 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="uikit"/>
11 11 <link rel="stylesheet"
12   - href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css"/>
13   - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css"/>
14   - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css"/>
  12 + href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="uikit"/>
  13 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css" merge="uikit"/>
  14 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css" merge="uikit"/>
15 15  
16 16 <!-- main style -->
17   - <link rel="stylesheet" href="/real_control_v2/css/main.css"/>
  17 + <link rel="stylesheet" href="/real_control_v2/css/main.css" merge="custom_style"/>
18 18 <!-- north style -->
19   - <link rel="stylesheet" href="/real_control_v2/css/north.css"/>
  19 + <link rel="stylesheet" href="/real_control_v2/css/north.css" merge="custom_style"/>
20 20 <!-- home style -->
21   - <link rel="stylesheet" href="/real_control_v2/css/home.css"/>
  21 + <link rel="stylesheet" href="/real_control_v2/css/home.css" merge="custom_style"/>
22 22 <!-- line style -->
23   - <link rel="stylesheet" href="/real_control_v2/css/line_schedule.css"/>
24   - <link rel="stylesheet" href="/real_control_v2/css/sch_autocomp_result.css"/>
  23 + <link rel="stylesheet" href="/real_control_v2/css/line_schedule.css" merge="custom_style"/>
  24 + <link rel="stylesheet" href="/real_control_v2/css/sch_autocomp_result.css" merge="custom_style"/>
25 25 <!-- custom table -->
26   - <link rel="stylesheet" href="/real_control_v2/css/ct_table.css"/>
  26 + <link rel="stylesheet" href="/real_control_v2/css/ct_table.css" merge="custom_style"/>
27 27 <!-- jquery contextMenu style -->
28   - <link rel="stylesheet" href="/real_control_v2/assets/css/jquery.contextMenu.min.css"/>
  28 + <link rel="stylesheet" href="/real_control_v2/assets/css/jquery.contextMenu.min.css" />
29 29 <!-- formvalidation style -->
30 30 <link rel="stylesheet" href="/real_control_v2/assets/plugins/formvalidation/formValidation.min.css"/>
31 31 <!-- js tree -->
... ... @@ -34,7 +34,7 @@
34 34 <link rel="stylesheet" href="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.css"/>
35 35 <link rel="stylesheet" href="/real_control_v2/css/pace.css"/>
36 36  
37   - <link rel="stylesheet" href="/real_control_v2/css/modal_extend.css"/>
  37 + <link rel="stylesheet" href="/real_control_v2/css/modal_extend.css" merge="custom_style"/>
38 38 </head>
39 39  
40 40 <body>
... ... @@ -116,14 +116,14 @@
116 116 <!-- main js -->
117 117 <script src="/real_control_v2/js/main.js"></script>
118 118 <!-- uikit core -->
119   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/uikit.min.js"></script>
120   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.min.js"></script>
121   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js"></script>
122   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js"></script>
123   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.min.js"></script>
124   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.min.js"></script>
125   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/timepicker.min.js"></script>
126   -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/lightbox.min.js"></script>
  119 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>
  120 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>
  121 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>
  122 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>
  123 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.min.js" merge="uikit_js"></script>
  124 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/accordion.min.js" merge="uikit_js"></script>
  125 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/timepicker.min.js" merge="uikit_js"></script>
  126 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/lightbox.min.js" merge="uikit_js"></script>
127 127  
128 128 <!-- jquery contextMenu -->
129 129 <script src="/real_control_v2/assets/js/jquery.contextMenu.min.js"></script>
... ... @@ -140,52 +140,52 @@
140 140 <script src="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.js"></script>
141 141  
142 142 <!-- 数据 -->
143   -<script src="/real_control_v2/js/data/data_basic.js"></script>
144   -<script src="/real_control_v2/js/data/data_gps.js"></script>
145   -<script src="/real_control_v2/js/data/gps_abnormal.js"></script>
  143 +<script src="/real_control_v2/js/data/data_basic.js" merge="custom_js"></script>
  144 +<script src="/real_control_v2/js/data/data_gps.js" merge="custom_js"></script>
  145 +<script src="/real_control_v2/js/data/gps_abnormal.js" merge="custom_js"></script>
146 146 <!-- 线路模拟图 -->
147   -<script src="/real_control_v2/js/utils/svg_chart.js"></script>
148   -<script src="/real_control_v2/js/utils/svg_data_convert.js"></script>
149   -<script src="/real_control_v2/js/utils/svg_chart_tooltip.js"></script>
150   -<script src="/real_control_v2/js/utils/svg_chart_map.js"></script>
  147 +<script src="/real_control_v2/js/utils/svg_chart.js" merge="custom_js"></script>
  148 +<script src="/real_control_v2/js/utils/svg_data_convert.js" merge="custom_js"></script>
  149 +<script src="/real_control_v2/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>
  150 +<script src="/real_control_v2/js/utils/svg_chart_map.js" merge="custom_js"></script>
151 151  
152 152 <!-- custom table js -->
153   -<script src="/real_control_v2/js/utils/ct_table.js"></script>
  153 +<script src="/real_control_v2/js/utils/ct_table.js" merge="custom_js"></script>
154 154 <!-- north js -->
155   -<script src="/real_control_v2/js/north/toolbar.js"></script>
156   -<script src="/real_control_v2/js/north/tabs.js"></script>
  155 +<script src="/real_control_v2/js/north/toolbar.js" merge="custom_js"></script>
  156 +<script src="/real_control_v2/js/north/tabs.js" merge="custom_js"></script>
157 157 <!-- home js -->
158   -<script src="/real_control_v2/js/home/layout.js"></script>
159   -<script src="/real_control_v2/js/home/line_panel.js"></script>
160   -<script src="/real_control_v2/js/home/context_menu.js"></script>
  158 +<script src="/real_control_v2/js/home/layout.js" merge="custom_js"></script>
  159 +<script src="/real_control_v2/js/home/line_panel.js" merge="custom_js"></script>
  160 +<script src="/real_control_v2/js/home/context_menu.js" merge="custom_js"></script>
161 161 <!-- line schedule js -->
162   -<script src="/real_control_v2/js/line_schedule/legend.js"></script>
163   -<script src="/real_control_v2/js/line_schedule/layout.js"></script>
164   -<script src="/real_control_v2/js/line_schedule/sch_table.js"></script>
165   -<script src="/real_control_v2/js/line_schedule/context_menu.js"></script>
166   -<script src="/real_control_v2/js/line_schedule/dbclick.js"></script>
167   -<script src="/real_control_v2/js/line_schedule/search.js"></script>
  162 +<script src="/real_control_v2/js/line_schedule/legend.js" merge="custom_js"></script>
  163 +<script src="/real_control_v2/js/line_schedule/layout.js" merge="custom_js"></script>
  164 +<script src="/real_control_v2/js/line_schedule/sch_table.js" merge="custom_js"></script>
  165 +<script src="/real_control_v2/js/line_schedule/context_menu.js" merge="custom_js"></script>
  166 +<script src="/real_control_v2/js/line_schedule/dbclick.js" merge="custom_js"></script>
  167 +<script src="/real_control_v2/js/line_schedule/search.js" merge="custom_js"></script>
168 168  
169 169 <!-- 字典相关 -->
170   -<script src="/assets/js/dictionary.js"></script>
  170 +<script src="/assets/js/dictionary.js" merge="custom_js"></script>
171 171 <!-- websocket -->
172 172 <script src="/assets/js/sockjs.min.js"></script>
173   -<script src="/real_control_v2/js/websocket/sch_websocket.js"></script>
  173 +<script src="/real_control_v2/js/websocket/sch_websocket.js" merge="custom_js"></script>
174 174 <!-- tts -->
175   -<script src="/real_control_v2/js/utils/tts.js"></script>
  175 +<script src="/real_control_v2/js/utils/tts.js" merge="custom_js"></script>
176 176  
177 177 <!-- echart -->
178 178 <script src="/real_control_v2/assets/echarts-3/echarts.js"></script>
179 179 <!-- Geolib -->
180 180 <script src="/real_control_v2/geolib/geolib.js"></script>
181 181  
182   -<script src="/real_control_v2/js/signal_state/signal_state.js"></script>
183   -<script src="/real_control_v2/js/utils/dispatch_pattern.js"></script>
  182 +<script src="/real_control_v2/js/signal_state/signal_state.js" merge="custom_js"></script>
  183 +<script src="/real_control_v2/js/utils/dispatch_pattern.js" merge="custom_js"></script>
184 184  
185 185 <!-- 处理表单片段嵌入问题 -->
186   -<script src="/real_control_v2/js/forms/form_embed.js"></script>
  186 +<script src="/real_control_v2/js/forms/form_embed.js" merge="custom_js"></script>
187 187 <!-- 模态框扩展 -->
188   -<script src="/real_control_v2/js/modal_extend.js"></script>
  188 +<script src="/real_control_v2/js/modal_extend.js" merge="custom_js"></script>
189 189  
190 190 <!-- #### 安全驾驶 start ### -->
191 191 <div class="safe_driv_pop_wrap" ></div>
... ... @@ -199,7 +199,7 @@
199 199 </div>
200 200 </script>
201 201  
202   -<script src="/real_control_v2/js/safe_driv/safeDriv.js" ></script>
  202 +<script src="/real_control_v2/js/safe_driv/safeDriv.js" merge="custom_js"></script>
203 203 <!-- #### 安全驾驶 end ### -->
204 204 </body>
205 205  
... ...